Esempio n. 1
0
def customer_add_ajax(request):
    if request.method == 'POST':

        customer_form_obj = CustomerForm(request.POST)
        if customer_form_obj.is_valid():
            customer_form_obj.save()
            return JsonResponse({'status': True})
Esempio n. 2
0
    def post(self, request, *args, **kwargs):
        customer_id = request.POST.get('id')
        customer = get_object_or_404(Customer, id=customer_id)
        form = CustomerForm(request.POST, instance=customer)
        if not form.is_valid():
            errors = {key: invalid_msg.format(value[0]) for key, value in form.errors.items()}
            return render(request, self.template_name, {'error': errors, 'form': form})
        # 保存
        form.save()

        return redirect('crm:customer_index')
Esempio n. 3
0
def contract_approved(request, obj_id, class_id):
    '''合同审核'''
    enrollment_obj = models.StudentApply.objects.get(id=obj_id)
    if enrollment_obj.contract_approved:
        return redirect('/crm/stu_enrollment/%s/%s/contract_payment' %
                        (obj_id, class_id))
    if request.method == "POST":
        print(request.POST)
        approved_data = StudentApplyForm(instance=enrollment_obj,
                                         data=request.POST)
        if approved_data.is_valid():
            approved_data.save()
            enrollment_obj.contract_approved_date = datetime.datetime.now()
            enrollment_obj.save()
            enrollment_obj.customer.status = 1
            enrollment_obj.customer.save()
            stu_obj = models.Student.objects.get_or_create(
                customer=enrollment_obj.customer)
            stu_obj[0].class_grades.add(enrollment_obj.class_grade_id)
            stu_obj[0].save()
        return redirect('/crm/stu_enrollment/%s/%s/contract_payment' %
                        (obj_id, class_id))

    stu_forms = CustomerForm(instance=enrollment_obj.customer)
    contract_forms = StudentApplyForm(instance=enrollment_obj)
    return render(request, 'crm/contract_approved.html', locals())
Esempio n. 4
0
def enrollment(request, enrollment_id):
    """
    学员报名链接地址
    :param request:
    :return:
    """
    enrollment_obj = models.StudentEnrollment.objects.get(id=enrollment_id)

    # 如果学员已经报名并填写了合同,那么再访问这个页面时,应该显示
    if enrollment_obj.contract_agreed:
        return HttpResponse('你已经报名,你耐心等待审核!')

    if request.method == 'POST':
        customer_form = CustomerForm(instance=enrollment_obj.customer,
                                     data=request.POST)
        # print('form err', customer_form.errors, customer_form.cleaned_data)
        if customer_form.is_valid():
            customer_form.save()

            enrollment_obj.contract_agreed = True  # 合同协议变为 True
            enrollment_obj.contract_signed_date = datetime.now()  # 合同签署时间
            enrollment_obj.save()  # 保存

            return HttpResponse('你已成功提交报名表,请等待审核!')
        print('form err: ', customer_form.errors)

    else:
        customer_form = CustomerForm(instance=enrollment_obj.customer)

    return render(request, 'crm/enrollment.html', locals())
Esempio n. 5
0
def enrollment(request, enrollment_id):
    """学院在线报名表"""
    print('程序以及进入enrollment页面')
    enrollment_obj = models.StudentEnrollment.objects.get(id=enrollment_id)
    if enrollment_obj.contract_agreed == True:
        return HttpResponse('您已经提交了注册,申请正在审核中,请耐心等待!')
    if request.method == 'POST':
        print(request.POST)
        customers_form = CustomerForm(instance=enrollment_obj.customer,
                                      data=request.POST)
        if customers_form.is_valid():
            customers_form.save()
            enrollment_obj.contract_agreed = True
            enrollment_obj.contract_sign_date = datetime.datetime.now()
            enrollment_obj.save()
            return HttpResponse('你已经注册成功,请等待咨询顾问与你联系')
        else:
            print('验证失败:', customers_form.errors)
    else:
        customers_form = CustomerForm(instance=enrollment_obj.customer)

    upload_files = []
    conf_dir = conf.settings.CRM_FILE_UPLOADS_DIR[0]
    enrollment_upload_dir = os.path.join(conf_dir, enrollment_id)
    if os.path.isdir(enrollment_upload_dir):
        upload_files = os.listdir(enrollment_upload_dir)
    return render(request, 'crm/enrollment.html', locals())
Esempio n. 6
0
def signUp(request):
    is_customer = Permission.objects.get(codename = 'is_customer')
    if (request.POST):
        f = CustomerForm(request.POST)
        if (f.is_valid()):
            f.instance.set_password(f.cleaned_data['password'])
            f.save()
            f.instance.user_permissions.add(is_customer)

            MarketBasket.createForCustomer(f.instance)
            # name = f.instance.Get['first_name']
            # ren
            context = {'first_name': f.cleaned_data['first_name'], 'last_name': f.cleaned_data['last_name']}

            render_and_email([f.cleaned_data['email']], u'ثبت کاربر جدید', u"عضو شدید", 'crm/signUp_email.html',
                             context)
            return success(request)
    else:
        f = CustomerForm()
    return render(request, 'crm/signUp.html', {'CustomerForm': f})
Esempio n. 7
0
def customer_edit(request, pk):
    cur_obj = models.Customer.objects.filter(pk=pk).first()
    customer_form_obj = CustomerForm(request, instance=cur_obj)
    if request.method == 'POST':
        customer_form_obj = CustomerForm(request.POST, instance=cur_obj)
        if customer_form_obj.is_valid():
            customer_form_obj.save()
            return redirect('crm:customer_list')
    return render(request, 'consultant/customer_edit.html',
                  {'customer_form_obj': customer_form_obj})
Esempio n. 8
0
    def get(self, request, *args, **kwargs):
        customer_id = request.GET.get('id')
        customer = get_object_or_404(Customer, id=customer_id)
        form = CustomerForm(instance=customer)
        context = {
            'id': customer.id,
            'username': customer.username,
            'address': customer.address,
            'form': form
        }

        return render(request, self.template_name, context)
Esempio n. 9
0
def customer_add(request):
    customer_form_obj = CustomerForm(request)
    if request.method == 'POST':
        customer_form_obj = CustomerForm(request.POST)
        if customer_form_obj.is_valid():
            customer_form_obj.save()
            return redirect('crm:customer_list')

    return render(request, 'consultant/customer_add.html',
                  {'customer_form_obj': customer_form_obj})
Esempio n. 10
0
def edit_custmoer(request, edit_id):
    obj = models.Customer.objects.filter(id=edit_id).first()  # 根据id查出所需要编辑的客户
    form_obj = CustomerForm(instance=obj)  # 实例obj  用接收到的obj去CustomerForm里查询

    if request.method == 'POST':
        # 将提交的数据和要修改的实例交给form对象
        form_obj = CustomerForm(request.POST, instance=obj)
        if form_obj.is_valid():
            form_obj.save()  # 对要修改的实例进行修改
            return redirect(reverse('custmoer'))
    return render(request, 'crm/consultant/edit_custmoer.html', {"form_obj": form_obj})
Esempio n. 11
0
def customer_change(request, edit_id=None):
    obj = models.Customer.objects.filter(pk=edit_id).first()
    form_obj = CustomerForm(instance=obj)
    if request.method == 'POST':
        form_obj = CustomerForm(request.POST, instance=obj)
        if form_obj.is_valid():
            form_obj.save()  # 没有instance新增  有instance做修改
            # return redirect(reverse('customer_list'))
            # return redirect(reverse_url(request, 'customer_list'))
            return redirect(rev_url(request, 'customer_list'))
    return render(request, 'consultant/customer_change.html', {'form_obj': form_obj, 'edit_id': edit_id})
Esempio n. 12
0
def add_custmoer(request):
    form_obj = CustomerForm()  # 实例化
    if request.method == 'POST':
        # 实例化一个待提交的form对象
        form_obj = CustomerForm(request.POST)
        # 对提交数据进行校验
        if form_obj.is_valid():
            # 创建对象
            form_obj.save()
            return redirect(reverse('custmoer'))
    return render(request, 'crm/consultant/add_custmoer.html', {'form_obj': form_obj})
Esempio n. 13
0
def edit_customer(request, edit_id):
    # 根据id查出需要编辑的客户
    obj = models.Customer.objects.filter(id=edit_id).first()
    form_obj = CustomerForm(instance=obj)
    if request.method == "POST":
        # 将提交的数据和要修改的实例交给form
        form_obj = CustomerForm(request.POST, instance=obj)
        if form_obj.is_valid():
            form_obj.save()
            return redirect(reverse('customer'))
    return render(request, 'crm/consultant/edit_customer.html',
                  {"form_obj": form_obj})
Esempio n. 14
0
def edit_customer(request, edit_id):
    # 查询出要编辑的客户对象
    obj = models.Customer.objects.filter(pk=edit_id).first()
    form_obj = CustomerForm(instance=obj)
    if request.method == 'POST':
        form_obj = CustomerForm(request.POST, instance=obj)
        if form_obj.is_valid():
            form_obj.save()

            return redirect(reverse('customer_list'))

    return render(request, 'consultant/edit_customer.html', {'form_obj': form_obj})
Esempio n. 15
0
def modify_customer(request, pk=None):
    user_obj = models.Customer.objects.filter(pk=pk).first()
    obj = CustomerForm(instance=user_obj)
    if request.method == 'POST':
        obj = CustomerForm(data=request.POST, instance=user_obj)
        if obj.is_valid():
            obj.save()
            url = request.GET.get('next', '')
            url = url if url else 'list_customer'
            return redirect(url)
    title = '修改客户' if pk else '新增客户'
    return render(request, 'form.html', {'obj': obj, 'title': title})
Esempio n. 16
0
def customer_edit(request, edit_id):
    # 查询出要编辑的对象
    obj = models.Customer.objects.filter(pk=edit_id).first()
    form_obj = CustomerForm(instance=obj)
    if request.method == 'POST':
        # 把元数据和新的数据较给form
        form_obj = CustomerForm(request.POST, instance=obj)
        if form_obj.is_valid():
            form_obj.save()  # 对要修改的对象进行修改
            # 跳转至展示页面
            return redirect(reverse('customer_list'))
    return render(request, 'consultant/customer_edit.html', {'form_obj': form_obj})
Esempio n. 17
0
def customer_add(request):
    # 创建一个空的form对象
    form_obj = CustomerForm()
    if request.method == 'POST':
        # 创建一个包含提交数据的form对象
        form_obj = CustomerForm(request.POST)
        # 对提交的数据进行校验
        if form_obj.is_valid():
            # 保存数据
            form_obj.save()  # 新增
            # 跳转至展示页面
            return redirect(reverse('customer_list'))
    return render(request, 'consultant/customer_add.html', {'form_obj': form_obj})
Esempio n. 18
0
def add_customer(request):
    # 实例化一个空的form对象
    form_obj = CustomerForm()
    if request.method == 'POST':
        # 实例化一个带提交数据的form对象
        form_obj = CustomerForm(request.POST)
        # 对提交数据进行校验
        if form_obj.is_valid():
            # 创建对象
            form_obj.save()
            return redirect(reverse('customer'))

    return render(request, 'crm/add_customer.html', {"form_obj": form_obj})
Esempio n. 19
0
def modify_customer(request, pk=None):
    user_obj = models.Customer.objects.filter(pk=pk).first()
    obj = CustomerForm(instance=user_obj)
    if request.method == 'POST':
        obj = CustomerForm(data=request.POST, instance=user_obj)
        if obj.is_valid():
            obj.save()
            return redirect('show_customer')
    title = '修改客户' if pk else '新增客户'
    return render(request, 'modify_customer.html', {
        'obj': obj,
        'title': title
    })
Esempio n. 20
0
def customer(request,nid=None):
    obj = models.Customer.objects.filter(id=nid).first()
    form_obj = CustomerForm(instance=obj)#实例instance 把对象的内容实例
    if request.method=="POST":
        form_obj = CustomerForm(request.POST,instance=obj)
        if form_obj.is_valid():
            form_obj.save()
            return redirect(reverse('customer_list'))
    return render(request,'crm/customer.html',{'form_obj':form_obj,'nid':nid})

# users = [{'name':'yc{}'.format(i)} for i in range(1,302)]
# def user_list(request):
#     page =PageInfo(request.GET.get('page','1'),len(users),request.path_info,5,5)
#     return render(request,'user_list.html',{'data':users[page.start:page.end],'html_str':page.pager})
Esempio n. 21
0
def add_customer(request):
    # 创建一个没有数据的Form
    form_obj = CustomerForm()

    if request.method == 'POST':
        # 创建一个包含提交数据的Form
        form_obj = CustomerForm(request.POST)
        # 对数据进行校验
        if form_obj.is_valid():
            form_obj.save()  # 新增

            return redirect(reverse_url(request, 'customer_list'))

    return render(request, 'consultant/add_customer.html',
                  {'form_obj': form_obj})
Esempio n. 22
0
def modify_customer(request, edit_id=None):
    # 通过id获取对象
    obj = models.Customer.objects.filter(pk=edit_id).first()
    # 获取form对象, 发送给模板渲染,如果获取的是none,相当于新增
    form_obj = CustomerForm(instance=obj)
    # 接收到POST请求数据
    if request.method == 'POST':
        # 把POST请求的数据替换原来的数据. 如果原来的对象是None, 相当于新增
        form_obj = CustomerForm(request.POST, instance=obj)
        # 通过校验
        if form_obj.is_valid():
            form_obj.save()  # 没有instance新增,有instance做修改
            return redirect(rev_url(request, 'customer_list'))

    return render(request, 'consultant/modify_customer.html', {'form_obj': form_obj, 'edit_id': edit_id})
Esempio n. 23
0
def add_customer(request):
    # 实例化CustomerForm
    form_obj = CustomerForm()

    if request.method == 'POST':
        # 1. 将前端提交的数据交给CustomerForm对象 并实例化
        form_obj = CustomerForm(request.POST)
        # 2. 对数据进行校验
        if form_obj.is_valid():
            # 2.1 校验成功执行新增
            form_obj.save()
            # 2.2 新增成功跳转到客户展示页面
            return redirect(reverse_url(request, 'customer_list'))

    return render(request, 'consultant/add_customer.html', {'form_obj': form_obj})
Esempio n. 24
0
def customer(request, edit_id=None):
    customer_obj = Customer.objects.filter(id=edit_id).first()
    form_obj = CustomerForm(instance=customer_obj)
    if request.method == 'POST':
        form_obj = CustomerForm(request.POST, instance=customer_obj)
        if form_obj.is_valid():
            form_obj.save()
            next_url = request.GET.get('next')
            if next_url:
                return redirect(next_url)
            return redirect(reverse('crm:customer_list'))
    return render(request, 'crm/consult/customer.html', {
        'form_obj': form_obj,
        'edit_id': edit_id
    })
Esempio n. 25
0
def customer(request, edit_id=None):
    # 根据ID查出所需要编辑的客户对象
    obj = models.Customer.objects.filter(id=edit_id).first()
    form_obj = CustomerForm(instance=obj)
    if request.method == 'POST':
        # 将提交的数据和要修改的实例交给form对象
        form_obj = CustomerForm(request.POST, instance=obj)
        if form_obj.is_valid():
            form_obj.save()
            next = request.GET.get('next')
            if next:
                return redirect(next)
            return redirect(reverse('customer'))

    return render(request, 'crm/customer.html', {"form_obj": form_obj, "edit_id": edit_id})
Esempio n. 26
0
def add_customer(request):
    # 创建一个空的Form对象
    form_obj = CustomerForm()
    # 接收发送的POST请求数据
    if request.method == 'POST':
        # 创建一个包含提交数据的form对象
        form_obj = CustomerForm(request.POST)
        # 保存数据
        form_obj.save()
        return redirect(reverse('customer_list'))

    return render(request, 'consultant/add_customer.html', {'form_obj': form_obj})
Esempio n. 27
0
def customer(request, edit_id=None):
    obj = models.Customer.objects.filter(id=edit_id).first()
    form_obj = CustomerForm(instance=obj)
    if request.method == 'POST':
        form_obj = CustomerForm(request.POST, instance=obj)
        if form_obj.is_valid():
            form_obj.save()
            next = request.GET.get('next')
            if next:
                return redirect(next)
            return redirect(reverse('customer'))

    return render(request, 'crm/enroll_manage/customer.html', {
        'form_obj': form_obj,
        'edit_id': edit_id
    })
Esempio n. 28
0
def customer(request, edit_id=None):
    obj = models.Customer.objects.filter(id=edit_id).first()
    form_obj = CustomerForm(instance=obj)
    if request.method == 'POST':
        form_obj = CustomerForm(request.POST, instance=obj)
        if form_obj.is_valid():
            # 创建一个新的数据或修改原始数据
            form_obj.save()

            # 获取到next
            next = request.GET.get('next')
            if next:
                return redirect(next)
            return redirect(reverse('customer'))

    return render(request, 'crm/consultant/customer.html', {"form_obj": form_obj, "edit_id": edit_id})
Esempio n. 29
0
def customer_change(request, edit_id=None):
    obj = models.Customer.objects.filter(pk=edit_id).first()
    form_obj = CustomerForm(instance=obj)

    title = '编辑客户' if edit_id else '新增客户'
    if request.method == 'POST':
        # 有修改的数据和原始的数据
        form_obj = CustomerForm(request.POST, instance=obj)
        if form_obj.is_valid():
            form_obj.save()

            return redirect(reverse('customer_list'))

    return render(request, 'consultant/customer_change.html', {
        'form_obj': form_obj,
        'title': title
    })
Esempio n. 30
0
def customer(request, edit_id=None):
    # 根据id查出需要编辑的客户
    obj = models.Customer.objects.filter(id=edit_id).first()
    form_obj = CustomerForm(instance=obj)
    if request.method == "POST":
        form_obj = CustomerForm(request.POST, instance=obj)
        if form_obj.is_valid():
            form_obj.save()
            # 获取下一个跳转的地址
            next = request.GET.get('next')
            if next:
                return redirect(next)
            return redirect(reverse('customer'))
    return render(request, 'crm/consultant/customer.html', {
        "form_obj": form_obj,
        'edit_id': edit_id
    })
Esempio n. 31
0
def edit_customer(request, edit_id):
    # 1. 从数据库中查询出要修改的客户对象
    obj = models.Customer.objects.filter(pk=edit_id).first()
    # 2. 将客户交给Form对象并实例化(为了在编辑页面展示原始数据)
    form_obj = CustomerForm(instance=obj)

    if request.method == 'POST':
        # 3. 提交修改后数据的和原始的数据
        form_obj = CustomerForm(request.POST, instance=obj)
        # 4. 校验提交的数据
        if form_obj.is_valid():
            # 4.1 校验成功保存
            form_obj.save()
            # 4.2 跳转到客户展示页面
            return redirect(reverse_url(request, 'customer_list'))

    return render(request, 'consultant/edit_customer.html', {'form_obj': form_obj})