合同审核(二十五)

(1)学员提交报名信息后,把contract_agreed改为True,并保存提交的时间

12206509-8753f7af99788c52.png
image

(2)提交报名信息后,就应该是等待审核状态

12206509-b7f78ab5f08a1789.png
image
12206509-088d65082ad018c5.png
image

(3)已经生产报名链接的,点“下一步”,跳转“合同审核”页面

  • 没有生产报名链接的点“下一步”,生产报名连接
  • 已经生成过的,点“下一步”,会报错,因为赢生成过了链接
  • 所以在这里要抓住这个异常,生成过的点“下一步”,应该是跳到“合同审核”页面
12206509-18cb307c89e7ba22.png
image

抓住异常

@login_required
def stu_enrollment(request):
    '''学员报名'''
    customers = models.CustomerInfo.objects.all()
    class_lists = models.ClassList.objects.all()

    if request.method == 'POST':
        #获取提交的客户id和班级id,然后生成报名链接
        customer_id = request.POST.get('customer_id')
        class_grade_id = request.POST.get('class_grade_id')
        try:
            enrollment_obj = models.StudentEnrollment.objects.create(
                customer_id = customer_id,
                class_grade_id = class_grade_id,
                consultant_id = request.user.userprofile.id
            )
        #已经生成过报名链接,就进入审核页面
        except IntegrityError as e:
            enrollment_obj = models.StudentEnrollment.objects.get(customer_id = customer_id,class_grade_id = class_grade_id)
            if enrollment_obj.contract_agreed:
                return redirect("/crm/stu_enrollment/%s/contract_audit/"% enrollment_obj.id)

        #生成链接返回到前端
        enrollment_link = "http://localhost:8000/crm/enrollment/%s"% enrollment_obj.id

    return render(request,'crm/stu_enrollment.html',locals())

合同审核

(4)crm/urls.py

#合同审核
    url(r'^stu_enrollment/(\d+)/contract_audit/$', views.contract_audit,name='contract_audit'),

(5)crm/views.py

获取到学员信息表单
勾选审核后,提交
后台:把学生加到对应班级里面
把学生的状态改成报名

@login_required
def contract_audit(request,enrollment_id):
    '''合同审核'''

    enrollment_obj = models.StudentEnrollment.objects.get(id=enrollment_id)
    if request.method == 'POST':
        enrollment_form = form.EnrollmentForm(instance=enrollment_obj,data=request.POST)
        if enrollment_form.is_valid():
            enrollment_form.save()
            stu_obj = models.Student.objects.get_or_create(customer=enrollment_obj.customer)[0]
            #m2m, 添加班级
            stu_obj.class_grades.add(enrollment_obj.class_grade_id)
            stu_obj.save()
            #改变报名
            enrollment_obj.customer.status = 1
            enrollment_obj.save()
            return redirect("/kingadmin/crm/customerinfo/%s/change"%enrollment_obj.customer.id)
    else:
        #拿到客户信息的表单
        customer_form = form.CustomerForm(instance=enrollment_obj.customer)
        enrollment_form = form.EnrollmentForm(instance=enrollment_obj)
    return render(request,'crm/contract_audit.html',locals())

(6)crm/contract_audit.html

{#crm/contract_audit.html#}

{% extends 'index.html' %}

{% block right-content-container %}
<h3>学员报名|合同审核</h3>

<form class="form-horizontal" method="post" onsubmit="BeforeFormSubmit(this)">{% csrf_token %}

    {{ customer_form }}
    {{ enrollment_form }}

  <input type="submit" class="btn btn-success pull-right"  value="审核通过" >

</form>

<script>
    function BeforeFormSubmit(ele) {
        $(":disabled").removeAttr("disabled");
    }

</script>
{% endblock %}

猜你喜欢

转载自blog.csdn.net/weixin_34234829/article/details/87636294