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') })
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': '添加报名记录'})
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})
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})
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})
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})
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})
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})
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 })
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 })
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})
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})
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})
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})
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 })