Django项目:CRM(客户关系管理系统)--66--56PerfectCRM实现CRM客户报名缴费链接

Posted 颜言

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django项目:CRM(客户关系管理系统)--66--56PerfectCRM实现CRM客户报名缴费链接相关的知识,希望对你有一定的参考价值。

 

  1 # kingadmin.py
  2 # ————————04PerfectCRM实现King_admin注册功能————————
  3 from crm import models
  4 #print("kingadmin crm",models.Customer)
  5 
  6 # ————————05PerfectCRM实现King_admin注册功能获取内存————————
  7 # from king_admin.base_admin import register,BaseAdmin
  8 from king_admin.base_admin import site,BaseAdmin
  9 # ————————05PerfectCRM实现King_admin注册功能获取内存————————
 10 
 11 # ————————24PerfectCRM实现King_admin自定义操作数据————————
 12 from django.shortcuts import render
 13 # ————————24PerfectCRM实现King_admin自定义操作数据————————
 14 
 15 # ————————28PerfectCRM实现King_admin编辑限制————————
 16 from django.forms import ValidationError
 17 from django.shortcuts import render,redirect
 18 # ————————28PerfectCRM实现King_admin编辑限制————————
 19 
 20 #04客户信息表
 21 class CustomerAdmin(BaseAdmin):#定制Djanago admin
 22     # ————————54PerfectCRM实现CRM客户报名链接————————
 23     # list_display = (\'id\', \'qq\', \'source\', \'consultant\', \'content\', \'date\')  # 显示字段表头
 24     list_display = (\'id\', \'qq\', \'source\', \'consultant\', \'content\', \'date\',\'status\',\'enroll\')  # 显示字段表头
 25     # ————————54PerfectCRM实现CRM客户报名链接————————
 26     # ————————11PerfectCRM实现King_admin分页显示条数————————
 27     list_per_page = 2  #分页条数  # 默认分页条数10
 28     # ————————11PerfectCRM实现King_admin分页显示条数————————
 29     # ————————16PerfectCRM实现King_admin日期过滤————————
 30     # ————————15PerfectCRM实现King_admin多条件过滤————————
 31     # 过滤器(可以包含ManyToManyField) (注意加 逗号 , )
 32     # list_filter = (\'source\',\'consultant\',\'consult_courses\',)
 33     list_filter = (\'date\',\'source\',\'consultant\',\'consult_courses\',)
 34     # ————————15PerfectCRM实现King_admin多条件过滤————————
 35     # ————————16PerfectCRM实现King_admin日期过滤————————
 36     # ————————18PerfectCRM实现King_admin搜索关键字————————
 37     #搜索(不能包含CharField)(注意加 逗号 , )
 38     search_fields = (\'name\',\'qq\',)
 39     # ————————18PerfectCRM实现King_admin搜索关键字————————
 40     # ————————26PerfectCRM实现King_admin自定义排序————————
 41     ordering = \'-qq\'  #自定义排序,默认\'-id\'
 42     # ————————26PerfectCRM实现King_admin自定义排序————————
 43     # ————————27PerfectCRM实现King_admin编辑复选框————————
 44     filter_horizontal = (\'tags\',) #复选框
 45     # ————————27PerfectCRM实现King_admin编辑复选框————————
 46     # ————————33PerfectCRM实现King_admin编辑整张表限制————————
 47     readonly_table=True#默认表单不锁定
 48     # ————————33PerfectCRM实现King_admin编辑整张表限制————————
 49 
 50     # ————————55PerfectCRM实现CRM客户报名状态颜色变化————————
 51     colored_fields = {
 52         \'status\':{\'已报名\':"rgba(145, 255, 0, 0.78)",
 53                   \'未报名\':"#ddd"},}
 54     # ————————55PerfectCRM实现CRM客户报名状态颜色变化————————
 55 
 56     # ————————54PerfectCRM实现CRM客户报名链接————————
 57     def enroll(self):
 58         \'\'\'报名\'\'\'
 59         print("customize field enroll",self)
 60         link_name = "报名"
 61         if self.instance.status == 0:
 62             link_name = "报名新课程"
 63         return \'\'\'<a target="_blank" class="btn-link" href="/bpm/customer/%s/enrollment/">点击%s</a> \'\'\' % (self.instance.id,link_name)
 64                 # url(r\'^customer/(\\d+)/enrollment/$\', sales_views.enrollment, name="enrollment"),  # 客户招生#报名流程一 下一步
 65                 # target属性用于表示所链接文件打开到的位置 #记住,“”内的文字只是表示一个对象的名子。
 66     enroll.display_name = "报名链接"
 67     # ————————54PerfectCRM实现CRM客户报名链接————————
 68 
 69 
 70 
 71     # ————————24PerfectCRM实现King_admin自定义操作数据————————
 72     # from django.shortcuts import render
 73     actions = [\'test_actions\',]#定制功能    #测试返回到一个新页面
 74     def test_actions(self,request,arg2):#对应的函数 #request类自己的请求  #arg2类的内容
 75         return render(request,"king_admin/table_index.html")
 76     test_actions.short_description = "测试显示中文"
 77     # ————————24PerfectCRM实现King_admin自定义操作数据————————
 78 
 79     # ————————28PerfectCRM实现King_admin编辑限制————————
 80     # ————————31PerfectCRM实现King_admin编辑多对多限制————————
 81     # readonly_fields = (\'qq\', \'consultant\',)  # 不可修改
 82     readonly_fields = (\'qq\', \'consultant\',\'tags\',)  # 不可修改
 83     # ————————31PerfectCRM实现King_admin编辑多对多限制————————
 84 
 85     # ————————29PerfectCRM实现King_admin编辑自定义限制————————
 86     def default_form_validation(self,obj):
 87         print(\'validation:制定的\',obj.cleaned_data)
 88         consult_course=obj.cleaned_data.get(\'content\',\'\')#自制验证字段
 89         if len(consult_course)<10:
 90             return ValidationError(#添加错误信息 返回
 91                                 ("该字段%(field)s 咨询内容记录不能少于10个字符"),
 92                                 code=\'invalid\',
 93                                 params={\'field\':\'content\',},
 94                             )
 95     # ————————29PerfectCRM实现King_admin编辑自定义限制————————
 96 
 97     # ————————28PerfectCRM实现King_admin编辑限制————————
 98 
 99     # ————————30PerfectCRM实现King_admin编辑自定义字段验证————————
100     def clean_name(self,obj,*args,**kwargs):#名称验证 单个
101         name=obj.cleaned_data[\'name\']
102         if not name:
103             obj.add_error(\'name\',\'不能为空!\')
104             return ValidationError(#添加错误信息 返回
105                                 ("%(field)s:该字段 不能为空"),
106                                 code=\'invalid\',
107                                 params={\'field\':\'name\',},
108                             )
109         elif len(name)<5:
110             obj.add_error(\'name\',\'不能小于5个字符!\')
111             #return ValidationError(\'\',)
112             return ValidationError(#添加错误信息 返回
113                                 ("%(field)s:该字段 不能小于5个字符!"),
114                                 code=\'invalid\',
115                                 params={\'field\':\'name\',},
116                             )
117     # ————————30PerfectCRM实现King_admin编辑自定义字段验证————————
118 
119 # ————————34PerfectCRM实现CRM自定义用户————————
120 #10账号表
121 class UserProfileAdmin(BaseAdmin):#定制Djanago admin
122     list_display = (\'id\', \'email\', \'name\')  # 显示字段表头
123 
124     # ————————36PerfectCRM实现King_admin密码修改————————
125     readonly_fields = (\'password\',)   # 不可修改,限制
126     filter_horizontal = (\'user_permissions\',\'groups\') #复选框
127     modelform_exclude_fields=[\'last_login\']#排除#不显示 #自增日期 #base_admin.py #forms.py
128     # ————————36PerfectCRM实现King_admin密码修改————————
129 
130 site.register(models.UserProfile, UserProfileAdmin)
131 # ————————34PerfectCRM实现CRM自定义用户————————
132 
133 # ————————05PerfectCRM实现King_admin注册功能获取内存————————
134 # register(models.Customer,CustomerAdmin)
135 # register(models.CourseRecord)
136 site.register(models.Customer,CustomerAdmin)
137 site.register(models.CourseRecord)
138 # ————————05PerfectCRM实现King_admin注册功能获取内存————————
139 
140 # ————————04PerfectCRM实现King_admin注册功能————————
141 
142 
143 # ————————56PerfectCRM实现CRM客户报名缴费链接————————
144 # 06学员报名信息表
145 class EnrollmentAdmin(BaseAdmin):  # 定制Djanago admin
146     list_display = (\'id\', \'customer\', \'enrolled_class\', \'consultant\', \'Pay_cost\', \'date\', \'payment\')  # 显示字段表头
147     colored_fields = {
148         \'Pay_cost\': {True: "rgba(145, 255, 0, 0.78)",
149                      False: "#ddd"}, }
150     def payment(self):
151         link_name = "增加缴费"
152         if self.instance.Pay_cost == False:
153             link_name = "缴费"
154         return \'\'\'<a target="_blank" class="btn-link"  href="/bpm/payment/%s/" >点击%s</a> \'\'\' % (self.instance.id, link_name)
155         # url(r\'^payment/(\\d+)/$\', financial_views.payment, name="payment"),  # 报名流程四    缴费   #财务
156         # target属性用于表示所链接文件打开到的位置 #记住,“”内的文字只是表示一个对象的名子。
157     payment.display_name = "缴费链接"
158 site.register(models.Enrollment, EnrollmentAdmin)  # 06学员报名信息表
159 # ————————56PerfectCRM实现CRM客户报名缴费链接————————
# kingadmin.py

 

 

以上是关于Django项目:CRM(客户关系管理系统)--66--56PerfectCRM实现CRM客户报名缴费链接的主要内容,如果未能解决你的问题,请参考以下文章

Django项目:CRM(客户关系管理系统)--66--56PerfectCRM实现CRM客户首列进入更改页优化路径

Django CRM学员系统项目

Django项目:CRM(客户关系管理系统)--70--60PerfectCRM实现CRM学生上课记录

Django项目:CRM(客户关系管理系统)--72--62PerfectCRM实现CRM讲师讲课记录

Django项目:CRM(客户关系管理系统)--46--37PerfectCRM实现CRM用户注册

Django项目:CRM(客户关系管理系统)--64--54PerfectCRM实现CRM客户报名链接