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())
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})
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())
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})
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})
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')
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})
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})
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})
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})
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})
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})
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})
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 })
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})
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})
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})
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})
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})
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 })
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})
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})
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 })
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})
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 })
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})
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 })
def custmoer(request, edit_id=None): obj = models.Customer.objects.filter(id=edit_id).first() 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() # 对要修改的实例进行修改 # 获取next next = request.GET.get('next') if next: return redirect(next) return redirect(reverse('custmoer')) return render(request, 'crm/consultant/custmoer.html', {"form_obj": form_obj, "edit_id": edit_id})
def stuAgreement(request, obj_id): '''学生同意合同''' # 列出已有文件 upload_files = [] agree_upload_dir = os.path.join(settings.CRM_FILE_UPLOAD_DIR, obj_id) if os.path.isdir(agree_upload_dir): upload_files = os.listdir(agree_upload_dir) stu_obj = models.StudentApply.objects.filter(id=obj_id)[0] if stu_obj.contract_agreed: return HttpResponse('合同已提交,正在积极审核,请耐心等待...') if request.method == 'POST': file_name = request.POST.get('file_name', '') if file_name: file_name = file_name.split(' ')[0] file_name_dir = os.path.join(agree_upload_dir, file_name) if os.path.exists(file_name_dir): # 如果文件存在 os.remove(file_name_dir) # 则删 return HttpResponse(json.dumps({'remove_file': 'ok'})) else: stu_forms = CustomerForm(instance=stu_obj.customer, data=request.POST) if stu_forms.is_valid(): #为了不让前端修改只读字段,第一种方法(不把只读字段保存) # datas = stu_forms.cleaned_data # for i in CustomerForm.Meta.readonly_fields: # datas.pop(i) # models.CustomerInfo.objects.filter(id=obj_id).update(**datas) #第二种(forms的clean方法) stu_forms.save() stu_obj.contract_agreed = True stu_obj.contract_agreed_date = datetime.datetime.now() stu_obj.save() return HttpResponse('你已报名成功,请等待合同审核通过!') else: stu_forms = CustomerForm(instance=stu_obj.customer) return render(request, 'crm/stu_agreement.html', locals())
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})
def customer_change(request, edit_id=None): obj = models.Customer.objects.filter(pk=edit_id).first() # 处理POST if request.method == 'POST': # 包含提交的数据 原始数据 form_obj = CustomerForm(request.POST, instance=obj) if form_obj.is_valid(): form_obj.save() # 保存修改 # 重定向到展示页面 next = request.GET.get('next') print('next>>>>>', next) return redirect(next) else: # 包含原始数据的form表单 form_obj = CustomerForm(instance=obj) title = '编辑客户' if edit_id else '添加客户' return render(request, 'customer_edit.html', { 'form_obj': form_obj, 'title': title })