(1)学员提交报名信息后,把contract_agreed改为True,并保存提交的时间
(2)提交报名信息后,就应该是等待审核状态
(3)已经生产报名链接的,点“下一步”,跳转“合同审核”页面
- 没有生产报名链接的点“下一步”,生产报名连接
- 已经生成过的,点“下一步”,会报错,因为赢生成过了链接
- 所以在这里要抓住这个异常,生成过的点“下一步”,应该是跳到“合同审核”页面
抓住异常
@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 %}