# kingadmin.py
# ————————04PerfectCRM实现King_admin注册功能————————
from crm import models
#print("kingadmin crm",models.Customer) # ————————05PerfectCRM实现King_admin注册功能获取内存————————
# from king_admin.base_admin import register,BaseAdmin
from king_admin.base_admin import site,BaseAdmin
# ————————05PerfectCRM实现King_admin注册功能获取内存———————— # ————————24PerfectCRM实现King_admin自定义操作数据————————
from django.shortcuts import render
# ————————24PerfectCRM实现King_admin自定义操作数据———————— # ————————28PerfectCRM实现King_admin编辑限制————————
from django.forms import ValidationError
from django.shortcuts import render,redirect
# ————————28PerfectCRM实现King_admin编辑限制———————— #04客户信息表
class CustomerAdmin(BaseAdmin):#定制Djanago admin
# ————————54PerfectCRM实现CRM客户报名链接————————
# list_display = ('id', 'qq', 'source', 'consultant', 'content', 'date') # 显示字段表头
list_display = ('id', 'qq', 'source', 'consultant', 'content', 'date','status','enroll') # 显示字段表头
# ————————54PerfectCRM实现CRM客户报名链接————————
# ————————11PerfectCRM实现King_admin分页显示条数————————
list_per_page = 2 #分页条数 # 默认分页条数10
# ————————11PerfectCRM实现King_admin分页显示条数————————
# ————————16PerfectCRM实现King_admin日期过滤————————
# ————————15PerfectCRM实现King_admin多条件过滤————————
# 过滤器(可以包含ManyToManyField) (注意加 逗号 , )
# list_filter = ('source','consultant','consult_courses',)
list_filter = ('date','source','consultant','consult_courses',)
# ————————15PerfectCRM实现King_admin多条件过滤————————
# ————————16PerfectCRM实现King_admin日期过滤————————
# ————————18PerfectCRM实现King_admin搜索关键字————————
#搜索(不能包含CharField)(注意加 逗号 , )
search_fields = ('name','qq',)
# ————————18PerfectCRM实现King_admin搜索关键字————————
# ————————26PerfectCRM实现King_admin自定义排序————————
ordering = '-qq' #自定义排序,默认'-id'
# ————————26PerfectCRM实现King_admin自定义排序————————
# ————————27PerfectCRM实现King_admin编辑复选框————————
filter_horizontal = ('tags',) #复选框
# ————————27PerfectCRM实现King_admin编辑复选框————————
# ————————33PerfectCRM实现King_admin编辑整张表限制————————
readonly_table=True#默认表单不锁定
# ————————33PerfectCRM实现King_admin编辑整张表限制———————— # ————————55PerfectCRM实现CRM客户报名状态颜色变化————————
colored_fields = {
'status':{'已报名':"rgba(145, 255, 0, 0.78)",
'未报名':"#ddd"},}
# ————————55PerfectCRM实现CRM客户报名状态颜色变化———————— # ————————54PerfectCRM实现CRM客户报名链接————————
def enroll(self):
'''报名'''
print("customize field enroll",self)
link_name = "报名"
if self.instance.status == 0:
link_name = "报名新课程"
return '''<a target="_blank" class="btn-link" href="/bpm/customer/%s/enrollment/">点击%s</a> ''' % (self.instance.id,link_name)
# url(r'^customer/(\d+)/enrollment/$', sales_views.enrollment, name="enrollment"), # 客户招生#报名流程一 下一步
# target属性用于表示所链接文件打开到的位置 #记住,“”内的文字只是表示一个对象的名子。
enroll.display_name = "报名链接"
# ————————54PerfectCRM实现CRM客户报名链接———————— # ————————24PerfectCRM实现King_admin自定义操作数据————————
# from django.shortcuts import render
actions = ['test_actions',]#定制功能 #测试返回到一个新页面
def test_actions(self,request,arg2):#对应的函数 #request类自己的请求 #arg2类的内容
return render(request,"king_admin/table_index.html")
test_actions.short_description = "测试显示中文"
# ————————24PerfectCRM实现King_admin自定义操作数据———————— # ————————28PerfectCRM实现King_admin编辑限制————————
# ————————31PerfectCRM实现King_admin编辑多对多限制————————
# readonly_fields = ('qq', 'consultant',) # 不可修改
readonly_fields = ('qq', 'consultant','tags',) # 不可修改
# ————————31PerfectCRM实现King_admin编辑多对多限制———————— # ————————29PerfectCRM实现King_admin编辑自定义限制————————
def default_form_validation(self,obj):
print('validation:制定的',obj.cleaned_data)
consult_course=obj.cleaned_data.get('content','')#自制验证字段
if len(consult_course)<10:
return ValidationError(#添加错误信息 返回
("该字段%(field)s 咨询内容记录不能少于10个字符"),
code='invalid',
params={'field':'content',},
)
# ————————29PerfectCRM实现King_admin编辑自定义限制———————— # ————————28PerfectCRM实现King_admin编辑限制———————— # ————————30PerfectCRM实现King_admin编辑自定义字段验证————————
def clean_name(self,obj,*args,**kwargs):#名称验证 单个
name=obj.cleaned_data['name']
if not name:
obj.add_error('name','不能为空!')
return ValidationError(#添加错误信息 返回
("%(field)s:该字段 不能为空"),
code='invalid',
params={'field':'name',},
)
elif len(name)<5:
obj.add_error('name','不能小于5个字符!')
#return ValidationError('',)
return ValidationError(#添加错误信息 返回
("%(field)s:该字段 不能小于5个字符!"),
code='invalid',
params={'field':'name',},
)
# ————————30PerfectCRM实现King_admin编辑自定义字段验证———————— # ————————34PerfectCRM实现CRM自定义用户————————
#10账号表
class UserProfileAdmin(BaseAdmin):#定制Djanago admin
list_display = ('id', 'email', 'name') # 显示字段表头 # ————————36PerfectCRM实现King_admin密码修改————————
readonly_fields = ('password',) # 不可修改,限制
filter_horizontal = ('user_permissions','groups') #复选框
modelform_exclude_fields=['last_login']#排除#不显示 #自增日期 #base_admin.py #forms.py
# ————————36PerfectCRM实现King_admin密码修改———————— site.register(models.UserProfile, UserProfileAdmin)
# ————————34PerfectCRM实现CRM自定义用户———————— # ————————05PerfectCRM实现King_admin注册功能获取内存————————
# register(models.Customer,CustomerAdmin)
# register(models.CourseRecord)
site.register(models.Customer,CustomerAdmin)
site.register(models.CourseRecord)
# ————————05PerfectCRM实现King_admin注册功能获取内存———————— # ————————04PerfectCRM实现King_admin注册功能———————— # ————————56PerfectCRM实现CRM客户报名缴费链接————————
# 06学员报名信息表
class EnrollmentAdmin(BaseAdmin): # 定制Djanago admin
list_display = ('id', 'customer', 'enrolled_class', 'consultant', 'Pay_cost', 'date', 'payment') # 显示字段表头
colored_fields = {
'Pay_cost': {True: "rgba(145, 255, 0, 0.78)",
False: "#ddd"}, }
def payment(self):
link_name = "增加缴费"
if self.instance.Pay_cost == False:
link_name = "缴费"
return '''<a target="_blank" class="btn-link" href="/bpm/payment/%s/" >点击%s</a> ''' % (self.instance.id, link_name)
# url(r'^payment/(\d+)/$', financial_views.payment, name="payment"), # 报名流程四 缴费 #财务
# target属性用于表示所链接文件打开到的位置 #记住,“”内的文字只是表示一个对象的名子。
payment.display_name = "缴费链接"
site.register(models.Enrollment, EnrollmentAdmin) # 06学员报名信息表
# ————————56PerfectCRM实现CRM客户报名缴费链接————————

# kingadmin.py

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

  1. 文献综述二十:基于UML技术的客户关系管理系统实现

    一.基本信息 标题:基于UML技术的客户关系管理系统实现 时间:2015 出版源:电子设计工程 文件分类:uml技术的研究 二.研究背景 设计出可应用与银行和储户之间沟通的客户关系管理系统,从而实现对 ...

  2. Django项目:CRM(客户关系管理系统)--84--74PerfectCRM实现CRM权限和权限组限制访问URL

    #models.py # ————————01PerfectCRM基本配置ADMIN———————— from django.db import models # Create your models ...

  3. Django项目:CRM(客户关系管理系统)--85--75PerfectCRM实现CRM扩展权限

    # sales_urls.py # ————————47PerfectCRM实现CRM客户报名流程———————— from django.conf.urls import url from bpm. ...

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

    #models.py # ————————01PerfectCRM基本配置ADMIN———————— from django.db import models # Create your models ...

  5. Django项目:CRM(客户关系管理系统)--65--55PerfectCRM实现CRM客户报名状态颜色变化

    # kingadmin.py # ————————04PerfectCRM实现King_admin注册功能———————— from crm import models #print("ki ...

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

    #urls.py """PerfectCRM URL Configuration The `urlpatterns` list routes URLs to views. ...

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

    # kingadmin.py # ————————04PerfectCRM实现King_admin注册功能———————— from crm import models #print("ki ...

  8. Django CRM客户关系管理系统

    CRM需求分析 随着信息化时代带来的科技创新,CRM客户关系管理系统带来的效益在已经成为很多企业提高竞争优势的一分部,CRM客户关系管理系统将企业管理和客户关系管理集成到统一的平台,其系统功能主要体现 ...

  9. Java高级项目实战02:客户关系管理系统CRM系统模块分析与介绍

    本文承接上一篇:Java高级项目实战之CRM系统01:CRM系统概念和分类.企业项目开发流程 先来CRM系统结构图: 每个模块作用介绍如下: 1.营销管理 营销机会管理:针对企业中客户的质询需求所建立 ...

随机推荐

  1. 线性dp——cf1012C好题

    比较套路的dp题 /* dp[i][j][0|1]:前i座山盖了j座房子,第i座不盖|盖 dp[i][j][0]=min( dp[i-1][j][0] , dp[i-1][j][1]+max(0,a[ ...

  2. Entity Framework Code First使用者的福音 --- EF Power Tool使用记之二(问题探究)

    转:http://www.cnblogs.com/LingzhiSun/archive/2011/06/13/EFPowerTool_2.html   上次为大家介绍EF Power Tool之后,不 ...

  3. VS2010-MFC(常用控件:编辑框Edit Control)

    转自:http://www.jizhuomi.com/software/181.html 编辑框(Edit Control)是一种很常用的控件,我们可以在编辑框中输入并编辑文本.在前面加法计算器的例子 ...

  4. yolo自己的数据集中LabelImg的安装出现No module named 'libs.resources'错误

    以下是完整的安装过程,如果出现No module named 'libs.resources',直接看第四点. 1.安装PyQt,在官网下载吧,否则pip install 要等好久 2.安装PyQtT ...

  5. niginx相关命令及代理配置

    安装 in mac https://www.cnblogs.com/meng1314-shuai/p/8335140.html Nginx相关命令 mac下启动: 通过brew 安装install 后 ...

  6. java web项目部署到云服务器

    第一步把java web项目打包 成war包 第二步:在Build选里选择build Artfacts->water:war->Build war包建立完毕. 第三步:在官网下载winsc ...

  7. Eclipse 中安装 CDT 插件编写 C/C++

    使用到的软件 1.Eclipse 开发工具 2.MinGW 编译器 一.Eclipse 中安装 CDT 插件 打开 Eclipse 插件市场 搜索 CDT,并找到如下的插件.插件的版本名字可能不太一样 ...

  8. 将本地数据库迁移到云端RDS数据库

  9. uboot 的移植过程

    1. 工作用户 uboot 2. u­boot 版本 1.1.4 3. 工具链 2.95.3 步骤 我们为开发板取名叫: crane2410, 并在 u­boot 中建立自己的开发板类型 修改 Mak ...

  10. Nand Flash 控制器工作原理

    对 Nand Flash 存储芯片进行操作, 必须通过 Nand Flash 控制器的专用寄存器才能完成.所以,不能对 Nand Flash 进行总线操作.而 Nand Flash 的写操作也必须块方 ...