Exemple #1
0
def enrollment_add_or_edit(request, customer_id=None, edit_id=None):
    enrollment_obj = models.Enrollment.objects.filter(
        id=edit_id).first() or models.Enrollment(customer_id=customer_id)
    form_obj = EnrollmentForm(instance=enrollment_obj)

    if request.method == 'POST':
        form_obj = EnrollmentForm(request.POST, instance=enrollment_obj)
        # 如果客户同意协议内容, 则进行校验, 否则取消提交
        if request.POST.get('contract_agreed') == 'on':
            if form_obj.is_valid():
                # 保存报名记录
                obj = form_obj.save()
                # 将这个客户的状态改为已报名
                obj.customer.status = 'signed'
                obj.customer.save()

                next_url = request.GET.get('next')
                if next_url:
                    return redirect(next_url)
                else:
                    return redirect(reverse('enrollment', args=('0', )))

    return render(request, 'crm/sales/enrollment_add_or_edit.html', {
        'form_obj': form_obj,
        'next': request.GET.get('next')
    })
Exemple #2
0
def enrollment_change(request, pk=None, customer_id=None):
    ### 生成Enrollment对象, 前者携带客户的ID ,后者是根据PK主键查询.
    obj = models.Enrollment(
        customer_id=customer_id
    ) if customer_id else models.Enrollment.objects.filter(pk=pk).first()

    # print('执行到此处')
    # print(obj)

    # form_obj=EnrollmentFrom(customer_id,instance=obj)
    form_obj = EnrollmentFrom(instance=obj)

    if request.method == 'POST':

        form_obj = EnrollmentFrom(request.POST, instance=obj)

        if form_obj.is_valid():
            form_obj.save()
            next = request.GET.get('next')
            # print('next的参数:',next)
            if next:
                return redirect(next)
            return redirect('crm:enrollment_list')

    title = '新增报名表' if customer_id else '编辑报名表'
    return render(request, 'form.html', {'form_obj': form_obj, 'title': title})
def enrollment_add(request, customer_id):
    obj = models.Enrollment(customer_id=customer_id)
    form_obj = EnrollmentForm(instance=obj)
    if request.method == 'POST':
        form_obj = EnrollmentForm(request.POST, instance=obj)
        if form_obj.is_valid():
            form_obj.save()
            return redirect(reverse('enrollment_list', args=('0')))
    return render(request, 'form.html', {'form_obj': form_obj, 'title': '添加报名记录'})
Exemple #4
0
def enrollment_add(request, customer_id):
    obj = models.Enrollment(customer_id=customer_id)
    form_obj = forms.EnrollmentForm(instance=obj)
    if request.method == 'POST':
        form_obj = forms.EnrollmentForm(request.POST, instance=obj)
        if form_obj.is_valid():
            form_obj.save()
            return redirect(
                reverse('enrollment_list', kwargs={'customer_id': '0'}))

    return render(request, 'consultant/enrollment_add.html',
                  {'form_obj': form_obj})
Exemple #5
0
def enrollment_change(reqeust, pk=None, customer_id=None):
    # obj = models.Enrollment.objects.filter(pk=pk).first()
    obj = models.Enrollment(
        customer_id=customer_id
    ) if customer_id else models.Enrollment.objects.filter(pk=pk).first()
    form_obj = Enrollment_form(reqeust, instance=obj)
    if reqeust.method == 'POST':
        form_obj = Enrollment_form(reqeust, data=reqeust.POST, instance=obj)
        if form_obj.is_valid():
            form_obj.save()
            return redirect(reverse('enrollment_list'))
    title = '编辑客户' if pk else '添加客户'
    return render(reqeust, 'form.html', {'form_obj': form_obj, 'title': title})
Exemple #6
0
def modify_enrollment(request, pk=None, customer_id=None):
    user_obj = models.Enrollment(
        customer_id=customer_id
    ) if customer_id else models.Enrollment.objects.filter(
        customer_id=pk).first()
    obj = EnrollmentForm(instance=user_obj)
    if request.method == 'POST':
        obj = EnrollmentForm(data=request.POST, instance=user_obj)
        if obj.is_valid():
            obj.save()
            url = request.GET.get('next', '')
            return redirect(url if url else 'list_enrollment')
    return render(request, 'form.html', {'obj': obj})
Exemple #7
0
def enrollment_change(request, customer_id=None, enrollment_id=None):
    obj = models.Enrollment.objects.filter(
        pk=enrollment_id).first() if enrollment_id else models.Enrollment(
            customer_id=customer_id)

    form_obj = EnrollmentForm(instance=obj)
    if request.method == 'POST':
        form_obj = EnrollmentForm(request.POST, instance=obj)
        if form_obj.is_valid():
            form_obj.save()

            return redirect(reverse_url(request, 'enrollment_list'))
    title = '编辑报名记录' if enrollment_id else '新增报名记录'
    return render(request, 'form.html', {'form_obj': form_obj, 'title': title})
Exemple #8
0
def enrollment_change(request, customer_id=None, edit_id=None):
    obj = models.Enrollment(
        customer_id=customer_id
    ) if customer_id else models.Enrollment.objects.filter(pk=edit_id).first()
    form_obj = EnrollmentForm(instance=obj)
    title = '添加报名表' if customer_id else '编辑报名表'

    if request.method == 'POST':
        form_obj = EnrollmentForm(request.POST, instance=obj)
        if form_obj.is_valid():
            form_obj.save()
            next = request.GET.get('next')
            return redirect(next)

    return render(request, 'form.html', {'form_obj': form_obj, 'title': title})
Exemple #9
0
def enrollment_change(request, enrollment_id=None, customer_id=None):
    obj = models.Enrollment.objects.filter(
        pk=enrollment_id).first() if enrollment_id else models.Enrollment(
            customer_id=customer_id)
    form_obj = forms.EnrollmentForm(instance=obj)
    if request.method == 'POST':
        form_obj = forms.EnrollmentForm(request.POST, instance=obj)
        if form_obj.is_valid():
            form_obj.save()
            return redirect(
                reverse('enrollment_list', kwargs={'customer_id': '0'}))
    # return render(request, 'enrollment_edit.html' if enrollment_id else 'enrollment_add.html', {'form_obj': form_obj})
    return render(
        request, 'consultant/enrollment_edit.html' if enrollment_id else
        'consultant/enrollment_add.html', {'form_obj': form_obj})
Exemple #10
0
def enrollment(request, customer_id):

    customer_obj = models.Customer.objects.get(id=customer_id)
    msgs = {}
    if request.method == "POST":
        enroll_form = forms.EnrollmentModelForm(request.POST)

        if enroll_form.is_valid():
            msg = '''请将此链接发送给学员客户进行填写
            http://127.0.0.1:8000/crm/customer/registration/{enroll_obj_id}/{random_str}'''
            try:
                print("cleandata", enroll_form.cleaned_data)
                enroll_form.cleaned_data["customer"] = customer_obj
                #enroll_obj = models.Enrollment.objects.create(**enroll_form.cleaned_data)
                enroll_obj = models.Enrollment(**enroll_form.cleaned_data)
                enroll_obj.save()
                #print(enroll_obj)
                random_str = "".join(
                    random.sample(string.ascii_lowercase + string.digits, 6))
                cache.set(enroll_obj.id, random_str, 3000)
                msgs['msg'] = msg.format(enroll_obj_id=enroll_obj.id,
                                         random_str=random_str)

            except IntegrityError as e:
                print(enroll_form.cleaned_data)
                enroll_obj = models.Enrollment.objects.get(
                    customer_id=customer_obj.id,
                    enrolled_class_id=enroll_form.
                    cleaned_data['enrolled_class'])
                if enroll_obj.contrack_agreed:  #学生已经同意了,此时可以跳转到一个新的页面
                    return redirect("/crm/contract_review/%s/" % enroll_obj.id)

                enroll_form.add_error("__all__", "该用户的报名信息已存在,不能重复创建")

                random_str = "".join(
                    random.sample(string.ascii_lowercase + string.digits, 6))
                cache.set(enroll_obj.id, random_str, 3000)
                msgs['msg'] = msg.format(enroll_obj_id=enroll_obj.id,
                                         random_str=random_str)

    else:
        enroll_form = forms.EnrollmentModelForm()

    return render(request, "sales/enrollment.html", {
        "enroll_form": enroll_form,
        "customer_obj": customer_obj,
        "msgs": msgs
    })
Exemple #11
0
def enrollment(request, customer_id):
    customer_obj = models.Customer.objects.get(id=customer_id)
    random_str = "".join(
        random.sample(string.ascii_lowercase + string.digits, 8))

    msgs = {}

    if request.method == "POST":

        model_form = form.EnrollmentModel(request.POST)

        if model_form.is_valid():
            msg = '''请将此链接发送给客户进行填写:
                            http://localhost:8000/crm/customer/registration/{enroll_obj_id}/{random_str}/'''
            try:

                model_form.cleaned_data["customer"] = customer_obj
                print("model_form_clean)", model_form.cleaned_data)
                #enroll_obj=models.Enrollment.objects.create(**model_form.cleaned_data)#虽然会创建失败,但会增加id
                enroll_obj = models.Enrollment(**model_form.cleaned_data)
                enroll_obj.save()  #虽然会创建失败,但会增加id
                #print("enroll_obj.id", enroll_obj.id)
                cache.set(enroll_obj.id, random_str, 30000)
                msgs["msg"] = msg.format(enroll_obj_id=enroll_obj.id,
                                         random_str=random_str)

            except IntegrityError as e:
                enroll_obj = models.Enrollment.objects.get(
                    customer_id=customer_obj.id,
                    enrolled_class_id=model_form.
                    cleaned_data["enrolled_class"].id)

                if enroll_obj.contract_agreed:
                    return redirect("/crm/contract_review/%s/" % enroll_obj.id)
                model_form.add_error("__all__", "obj  aleardy exist")
                cache.set(enroll_obj.id, random_str, 30000)

                msgs["msg"] = msg.format(enroll_obj_id=enroll_obj.id,
                                         random_str=random_str)

    else:
        model_form = form.EnrollmentModel()

    return render(request, "sales/enrollment.html", {
        "modelobj": model_form,
        "customer": customer_obj,
        "msgs": msgs
    })
Exemple #12
0
def enrollment(request, record_id=None, customer_id=None):
    if customer_id:
        obj = models.Enrollment(customer_id=customer_id)
        title = '添加报名记录'
    else:
        obj = models.Enrollment.objects.filter(pk=record_id).first()
        title = '编辑报名记录'
    # obj = models.Enrollment(customer_id=customer_id) if customer_id else models.Enrollment.objects.filter(pk=record_id).first()
    form_obj = EnrollmentForm(instance=obj)
    if request.method == 'POST':
        form_obj = EnrollmentForm(request.POST, instance=obj)
        if form_obj.is_valid():
            form_obj.save()
            return redirect(reverse('enrollment_list', args=('0')))
    # return render(request, 'form.html', {'form_obj': form_obj, 'title': '添加报名记录' if customer_id else '编辑报名记录'})
    return render(request, 'form.html', {'form_obj': form_obj, 'title': title})
Exemple #13
0
def enrollment_change(request, customer_id=None, enrollment_id=None):
    # obj = models.Enrollment(customer_id=customer_id)
    #
    # obj = models.Enrollment.objects.filter(pk=enrollment_id)

    obj = models.Enrollment(customer_id=customer_id) if customer_id else models.Enrollment.objects.filter(
        pk=enrollment_id).first()
    title = '新增报名' if customer_id else '编辑报名'
    form_obj = form.EnrollmentForm(instance=obj)
    if request.method == 'POST':
        form_obj = form.EnrollmentForm(request.POST, instance=obj)
        if form_obj.is_valid():
            form_obj.save()
            # next = request.GET.get('next')
            next = request.GET.get("next")
            return redirect(next)
    return render(request, 'froms.html', {'form_obj': form_obj, "title": title})
Exemple #14
0
def enrollment(request, customer_id=None, edit_id=None):
    obj = models.Enrollment.objects.filter(
        id=edit_id).first() or models.Enrollment(customer_id=customer_id)
    form_obj = EnrollmentForm(instance=obj)
    if request.method == 'POST':
        form_obj = EnrollmentForm(request.POST, instance=obj)
        if form_obj.is_valid():
            enrollment_obj = form_obj.save()
            # 修改客户的状态
            enrollment_obj.customer.status = 'signed'
            enrollment_obj.customer.save()
            next = request.GET.get('next')
            if next:
                return redirect(next)
            else:
                return redirect(reverse('my_customer'))
    return render(request, 'crm/consultant/enrollment.html',
                  {'form_obj': form_obj})
Exemple #15
0
def enrollment(request, customer_id):

    obj = models.Enrollment(customer_id=customer_id)
    form_obj = EnrollmentForm(instance=obj)
    if request.method == 'POST':
        form_obj = EnrollmentForm(request.POST, instance=obj)
        if form_obj.is_valid():
            enrollment_obj = form_obj.save()

            # 修改客户状态变成已报名
            enrollment_obj.customer.status = 'signed'
            # 保存修改之后的状态
            enrollment_obj.customer.save()

            next = request.GET.get('next')
            if next:
                return redirect(next)
            else:
                return redirect(reverse('my_customer'))
    return render(request, 'crm/consultant/enrollment.html', {"form_obj": form_obj})
Exemple #16
0
def enrollment_change(request, customer_id=None, enrollment_id=None):
    if customer_id:
        obj = models.Enrollment(customer_id=customer_id)
        title = '添加报名'
        form_obj = EnrollmentForm(instance=obj)
    else:
        obj = models.Enrollment.objects.filter(id=enrollment_id).first()
        form_obj = EnrollmentForm(instance=obj)
        title = '编辑报名'
    if request.method == 'POST':
        form_obj = EnrollmentForm(request.POST, instance=obj)
        if form_obj.is_valid():
            enrollment_obj = form_obj.save()
            if enrollment_obj.contract_approved:
                cla = enrollment_obj.enrolment_class
                enrollment_obj.customer.class_list.add(cla)
                models.Customer.objects.filter(
                    qq=enrollment_obj.customer.qq).update(status='signed')
            return redirect(reverse('enrollment_list'))

    return render(request, 'enrollment/enrollment_change.html', {
        'form_obj': form_obj,
        'title': title
    })