Django项目:CRM(客户关系管理系统)--69--59PerfectCRM实现king_admin批量生成上课记录

  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 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     enroll.display_name = "报名链接"
 66     # ————————54PerfectCRM实现CRM客户报名链接————————
 67
 68
 69
 70     # ————————24PerfectCRM实现King_admin自定义操作数据————————
 71     # from django.shortcuts import render
 72     actions = [‘test_actions‘,]#定制功能    #测试返回到一个新页面
 73     def test_actions(self,request,arg2):#对应的函数 #request类自己的请求  #arg2类的内容
 74         return render(request,"king_admin/table_index.html")
 75     test_actions.short_description = "测试显示中文"
 76     # ————————24PerfectCRM实现King_admin自定义操作数据————————
 77
 78     # ————————28PerfectCRM实现King_admin编辑限制————————
 79     # ————————31PerfectCRM实现King_admin编辑多对多限制————————
 80     # readonly_fields = (‘qq‘, ‘consultant‘,)  # 不可修改
 81     readonly_fields = (‘qq‘, ‘consultant‘,‘tags‘,)  # 不可修改
 82     # ————————31PerfectCRM实现King_admin编辑多对多限制————————
 83
 84     # ————————29PerfectCRM实现King_admin编辑自定义限制————————
 85     def default_form_validation(self,obj):
 86         print(‘validation:制定的‘,obj.cleaned_data)
 87         consult_course=obj.cleaned_data.get(‘content‘,‘‘)#自制验证字段
 88         if len(consult_course)<10:
 89             return ValidationError(#添加错误信息 返回
 90                                 ("该字段%(field)s 咨询内容记录不能少于10个字符"),
 91                                 code=‘invalid‘,
 92                                 params={‘field‘:‘content‘,},
 93                             )
 94     # ————————29PerfectCRM实现King_admin编辑自定义限制————————
 95
 96     # ————————28PerfectCRM实现King_admin编辑限制————————
 97
 98     # ————————30PerfectCRM实现King_admin编辑自定义字段验证————————
 99     def clean_name(self,obj,*args,**kwargs):#名称验证 单个
100         name=obj.cleaned_data[‘name‘]
101         if not name:
102             obj.add_error(‘name‘,‘不能为空!‘)
103             return ValidationError(#添加错误信息 返回
104                                 ("%(field)s:该字段 不能为空"),
105                                 code=‘invalid‘,
106                                 params={‘field‘:‘name‘,},
107                             )
108         elif len(name)<5:
109             obj.add_error(‘name‘,‘不能小于5个字符!‘)
110             #return ValidationError(‘‘,)
111             return ValidationError(#添加错误信息 返回
112                                 ("%(field)s:该字段 不能小于5个字符!"),
113                                 code=‘invalid‘,
114                                 params={‘field‘:‘name‘,},
115                             )
116     # ————————30PerfectCRM实现King_admin编辑自定义字段验证————————
117
118 # ————————34PerfectCRM实现CRM自定义用户————————
119 #10账号表
120 class UserProfileAdmin(BaseAdmin):#定制Djanago admin
121     list_display = (‘id‘, ‘email‘, ‘name‘)  # 显示字段表头
122
123     # ————————36PerfectCRM实现King_admin密码修改————————
124     readonly_fields = (‘password‘,)   # 不可修改,限制
125     filter_horizontal = (‘user_permissions‘,‘groups‘) #复选框
126     modelform_exclude_fields=[‘last_login‘]#排除#不显示 #自增日期 #base_admin.py #forms.py
127     # ————————36PerfectCRM实现King_admin密码修改————————
128
129 site.register(models.UserProfile, UserProfileAdmin)
130 # ————————34PerfectCRM实现CRM自定义用户————————
131
132 # ————————05PerfectCRM实现King_admin注册功能获取内存————————
133 # register(models.Customer,CustomerAdmin)
134 # register(models.CourseRecord)
135 site.register(models.Customer,CustomerAdmin)
136
137 # ————————59PerfectCRM实现king_admin批量生成上课记录————————
138 # site.register(models.CourseRecord)
139 # ————————59PerfectCRM实现king_admin批量生成上课记录————————
140
141 # ————————05PerfectCRM实现King_admin注册功能获取内存————————
142 # ————————04PerfectCRM实现King_admin注册功能————————
143
144
145 # ————————57PerfectCRM实现CRM客户报名缴费链接————————
146 #06学员报名信息表
147 class EnrollmentAdmin(BaseAdmin):#定制Djanago admin
148     list_display = (‘id‘, ‘customer‘, ‘enrolled_class‘,‘consultant‘, ‘Pay_cost‘, ‘date‘,‘payment‘)  # 显示字段表头
149     # ————————59PerfectCRM实现king_admin批量生成上课记录————————
150     list_filter = (‘enrolled_class‘,‘consultant‘, ‘Pay_cost‘,) # 过滤器(可以包含ManyToManyField) (注意加 逗号 , )
151     # ————————59PerfectCRM实现king_admin批量生成上课记录————————
152     colored_fields = {
153                 ‘Pay_cost‘:{True:"rgba(145, 255, 0, 0.78)",
154                               False:"#ddd"},}
155
156     def payment(self):
157         link_name = "增加缴费"
158         if self.instance.Pay_cost == False:
159             link_name = "缴费"
160         return ‘‘‘<a class="btn-link" href="/bpm/payment/%s/">点击%s</a> ‘‘‘ % (self.instance.id,link_name)
161                      #url(r‘^payment/(\d+)/$‘, financial_views.payment, name="payment"),  # 报名流程四    缴费   #财务
162     payment.display_name = "缴费链接"
163 site.register(models.Enrollment,EnrollmentAdmin)              #06学员报名信息表
164 # ————————57PerfectCRM实现CRM客户报名缴费链接————————
165
166
167 # ————————59PerfectCRM实现king_admin批量生成上课记录————————
168 from django.shortcuts import render,HttpResponse,redirect
169 #上课记录 讲师
170 class CourseRecordAdmin(BaseAdmin):
171     list_display = [‘id‘,‘from_class‘,‘day_num‘,‘teacher‘,‘has_homework‘,‘homework_title‘,‘homework_content‘,‘outline‘,‘date‘]  #显示字段表头
172     list_filter = (‘from_class‘,‘teacher‘,‘date‘) # 过滤器(可以包含ManyToManyField) (注意加 逗号 , )
173     def initialize_studyrecords(self,request,queryset):#制定功能
174         print(‘initialize_studyrecords‘,self,request,queryset)
175         if len(queryset)>1:
176             return HttpResponse("同时只能选择一个班级!")
177         print(‘获取对应的学员‘,queryset[0].from_class.enrollment_set.all()) # _set反向查询
178         new_obj_list=[]#用于批量创建事务  #防止数据库事物回滚
179         for enrll_obj in queryset[0].from_class.enrollment_set.all():#创建学习记录
180         #     models.StudyRecord.objects.get_or_create(       #get_or_ #防止报错
181         #         student=enrll_obj,#对应学员
182         #         course_record=queryset[0],
183         #         attendance=0,#签到状态,默认签到,
184         #         score=0,#成绩
185         #     )
186
187                 #防止数据库事物回滚    #"""09学习纪录"""
188             new_obj_list.append(models.StudyRecord(
189                 student=enrll_obj,#对应学员
190                 course_record=queryset[0],  #班级#节课
191                 attendance=0,#签到状态,默认签到,
192                 score=0,#成绩
193             ))
194         try:
195             models.StudyRecord.objects.bulk_create(new_obj_list)#bulk_create批量创建数据库事物 #统一最后保存
196         except Exception as e:
197             return HttpResponse(‘批量创建失败,本节课可能有相应的上课记录‘)
198         return redirect("/king_admin/crm/studyrecord/?course_record=%s"%queryset[0].id)#学习记录 #加上过滤
199     actions = [‘initialize_studyrecords‘,]
200     initialize_studyrecords.short_description = "创建班级本节上课记录"#显示别名
201 site.register(models.CourseRecord,CourseRecordAdmin)##课程上课记录表
202 # ————————59PerfectCRM实现king_admin批量生成上课记录————————
203 # ————————59PerfectCRM实现king_admin批量生成上课记录————————
204 class StudyRecordAdmin(BaseAdmin):
205     list_display = [‘id‘,‘student‘,‘course_record‘,‘attendance‘,‘score‘,‘date‘]
206     list_filter =[‘course_record‘,‘attendance‘,‘score‘,‘student‘]# 过滤器(可以包含ManyToManyField) (注意加 逗号 , )
207     list_editable = [‘score‘,‘attendance‘]#可编辑
208 site.register(models.StudyRecord,StudyRecordAdmin)#09学习纪录
209 # ————————59PerfectCRM实现king_admin批量生成上课记录————————

# kingadmin.py

原文地址:https://www.cnblogs.com/ujq3/p/8984756.html

时间: 2024-07-31 11:47:08

Django项目:CRM(客户关系管理系统)--69--59PerfectCRM实现king_admin批量生成上课记录的相关文章

Django项目:CRM(客户关系管理系统)--82--72PerfectCRM实现CRM动态菜单和角色

1 #models.py 2 3 # --------01PerfectCRM基本配置ADMIN-------- 4 5 from django.db import models 6 # Create your models here. 7 8 """ 9 #运行 Terminal 10 # 生成 数据表 11 # python manage.py makemigrations 12 # 数据表 迁移 13 # python manage.py migrate 14 &quo

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

1 #urls.py 2 3 """PerfectCRM URL Configuration 4 5 The `urlpatterns` list routes URLs to views. For more information please see: 6 https://docs.djangoproject.com/en/2.0/topics/http/urls/ 7 Examples: 8 Function views 9 1. Add an import: from

Django项目:CRM(客户关系管理系统)--71--61PerfectCRM实现CRM学生上传作业

1 # student_urls.py 2 # --------60PerfectCRM实现CRM学生上课记录-------- 3 from django.conf.urls import url 4 from bpm.student import student_views 5 6 urlpatterns = [ 7 url(r'^student_course/$', student_views.student_course, name='student_course'), #学生报名的课程

Django CRM客户关系管理系统

CRM需求分析 随着信息化时代带来的科技创新,CRM客户关系管理系统带来的效益在已经成为很多企业提高竞争优势的一分部,CRM客户关系管理系统将企业管理和客户关系管理集成到统一的平台,其系统功能主要体现在企业与客户之间的业务和企业内部之前部门之间的业务.因此CRM客户关系管理系统不但可以记录企业自内部信息,对于客户信息存储也是可以做到的,其中还涉及市场竞争对手的情报资料,还包括了企业进行营销.销售及支持服务所需的各种数据. 功能实现 (1)建议统一的信息编码系统; (2)设计能够良好反映事物特性的

CRM客户关系管理系统商业项目

本课程共33讲,购买课程后,可以下载项目需求分析文档,数据库设计文档,完整的项目源代码,数据库文件等资料,系统采用jsp,servlet,js,ajax,jquery,easyui,mysql数据库等相关技术实现,所有代码均为原生态,无第三方插件,系统稳定,高效,快捷,本系统是专门针对各种中小型企业量身定做的CRM客户关系管理系统,为企业管客户,管商机,管销售,从而推动业务进展,提高工作效率,管理大数据. 项目主要功能有客户管理,合同管理,合同附件管理,合同预览(放大缩小),订单管理,商务洽谈,

CRM客户关系管理系统商业项目视频课程

本课程共33讲,购买课程后,可以下载项目需求分析文档,数据库设计文档,完整的项目源代码,数据库文件等资料,系统采用jsp,servlet,js,ajax,jquery,easyui,mysql数据库等相关技术实现,所有代码均为原生态,无第三方插件,系统稳定,高效,快捷,本系统是专门针对各种中小型企业量身定做的CRM客户关系管理系统,为企业管客户,管商机,管销售,从而推动业务进展,提高工作效率,管理大数据. 项目主要功能有客户管理,合同管理,合同附件管理,合同预览(放大缩小),订单管理,商务洽谈,

CRM客户关系管理系统需求分析文档

系统简介 本软件采用现在流行的WEB架构开发,主要针对中小型公司.管销售,管客户,管商机:可以在任何能上网的地方登录使用,使用简单,功能强大,方便快捷,丰富完善的报表功能,极大的提高公司的运营效率,不会因为人员的变动而导致数据的丢失,对公司的日常业务,问题追责等提供详细数据,对于公司领导可以做到"一表知天下",具体功能如下:1.客户管理:1.1.有非常完善的客户资料信息,对不同的客户进行分类管理,如普通客户,VIP客户,成交客户和潜在客户等1.2.对客户的每次来电,拜访情况可以做详细的

crm客户关系管理系统大约多少钱?

随着CRM在企业中的应用普遍化,不少人相信对CRM系统并不陌生,但是更多人关注的还是CRM客户关系管理系统价格如何. 其实CRM价格并不是固定的,毕竟市面上CRM系统种类众多,种类不同,价格不一样,功能不同,价格也不一样,所以CRM客户关系管理系统价格是由多方面因素影响的. 其实不同的CRM都有不同的价格,况且现在很多CRM都分模块或分版本销售,所以会出现不同的需求不同的价格.当然了选择CRM不仅仅要看价格,而且要看这套CRM是否符合自己公司的具体需求.可以尝试多去试用,多去对比,找出适合自己企

最好用的CRM客户关系管理系统

佳网CRM客户关系管理系统我们致力于解决企业客户管理,提高企业的办事效率,为企业提供一站式服务化繁为简: 统一管理,不再分散 解决客户资料分散于业务员个人的问题,现在每个人一个帐号,客户资料统一管理 权限设置细化明确 不同部门设置不同的菜单权限,不同的员工级别设置不同的操作权限 精准定位,多条件查找 根据级别.合同状态.所属业务员.跟单状态等不同条件快速查找客户资料 客户资料随身而行 移动端全功能支持,随时随地看客户.跟单.订单.合同资料 实时消息提醒 第一时间通知与您相关的新消息,即刻加入企业