odoo 工作流
odoo工作流
介绍
新版本的odoo开始减少workflow的使用,推荐使用workflow-ish的方式来处理工作流过程
很多模块中还是使用到工作流,这里我记录一个简单的实例,欢迎大家给出建议。
在本实例中工作流可以分为两个部分,一部分是“view视图”,一部分是“model方法”和相关的“流程字段”
定义流程流转字段
state = fields.Selection([
('draft', '草稿'),
('read', '已阅'),
('write', '已写心得'),
('submit', '已上传心得')],
string='Status', default='draft', readonly=True, copy=False, track_visibility='onchange')
- Selection 是一个多值选择的字段类型,里面可以定义一个数组集。
odoo工作流
String 是一个字段前台显示的值。
default 是一个默认的初始的状态新创建数据后会默认加载这个状态初始值。
track_visibility 流程变更可见性。
readonly 是定义改状态值是否只读。
定义工作流程的 def
@api.one
def button_done(self):
self.state = 'read'
self.message_post('变更——————草稿 ——> 已阅', subtype='mail.mt_note')
@api.one
def button_confirm(self):
self.state = 'submit'
self.message_post('变更——————已写心得 ——> 已上传心得', subtype='mail.mt_note')
for rel in self.employee_ids:
domain = [('id', '=', rel.id)]
employee = self.env['files.employee'].search(domain)
data = {
'name': employee.name,
'email': employee.work_email,
'event_id': self.id,
'wx_number': employee.wx_number,
}
self.env['activity.registration'].create(data)
定义页面的 View
<record model="ir.ui.view" id="view_activity_form">
<field name="name">activity.event.form</field>
<field name="model">activity.event</field>
<field name="arch" type="xml">
<form string="党员活动">
<header>
<button string="活动已阅" name="button_done" states="draft" type="object" class="oe_highlight" groups="base.group_user"/>
<button string="已上传活动心得" name="button_confirm" states="read" type="object" class="oe_highlight" groups="base.group_user"/>
<field name="state" widget="statusbar" statusbar_visible="draft,confirm,done"/>
</header>
<sheet>
states="draft" 是button显示与否的判断条件,如果值是这个值,则改button显示可见,即可用。
class="oe_highlight" 是引入的 button 的样式,可自定义样式并引入。
name="button_done" 是调用模型中的方法字段,如该方法调用后台 def button_done(self) 方法。
string="活动已阅" String是该状态按钮显示的值,最好定义为英文,然后进行国际化i18n翻译。
<field name="state"... 是工作流程流转的状态值显示,到哪个阶段显示到哪个阶段的值。
widget="statusbar" 样式效果展示。
odoo 工作流的更多相关文章
- Odoo工作流
转载请注明原文地址:https://www.cnblogs.com/cnodoo/p/9281264.html 一:工作流 工作流是与业务流程相关联的模型,可用于跟踪工序的动态演变过程. 工作流.活动 ...
- (09)odoo工作流
--------------修订时间14:54 2016-09-18 星期日21:59 2016-06-12 星期日10:06 2016-02-24 星期三17:14 2016-01-29 星期五-- ...
- odoo开发笔记--工作流
虽然odoo10里边取消了工作流 Odoo Workflow http://www.jeffzhang.cn/Odoo-Workflow-Notes/
- odoo 在原有工作流中添加审批流
odoo 在原有工作流中添加审批流 步骤: 1.加入所需的工作流节点以及相连的线(即所添加的审批流),代码如下: <?xml version="1.0" encoding=& ...
- 【转】Odoo开发之:工作流 workflow
在OpenERP中,工作流是管理一组“所做的事情”(与一些数据模型的记录关联)的人为现象.工作流提供了高级别的方式来组织记录要上做的事情. 具体地说,工作流是一个定向的路径,这里节点称为活动并且弧线称 ...
- Odoo Web Service API
来自 Odoo Web服务暴露出相关的服务,路由分别是 /xmlrpc/ /xmlrpc/2/ /jsonrpc 根据 services 调用 后端对应服务的 方法method [定义 openerp ...
- odoo模块
odoo模块包括 业务对象,web控制器,数据文件,前面2个是Python模块,而数据文件则是odoo特有的文件,例如,odoo数据文件,web数据.这些数据文件在 __odoo__.py 进行定义, ...
- 第三章 Odoo基本设置
登录 正常访问http://localhost:8069后,登录的界面如下: 这是Odoo默认的认证方式,也是我们最常见最熟悉的认证方式,7.0以前,数据库中的密码都是以明文方式存储,可以很轻松地在r ...
- Odoo 开发者模式
这里我们以Odoo V9介绍下Odoo的开发者模式: 进入开发者模式: 登录odoo系统后,点击右上角登陆账号下拉菜单,选择About,然后在弹出菜单里点击Activate the developer ...
随机推荐
- 洛谷_Cx的故事_解题报告_第四题70
1.并查集求最小生成树 Code: #include <stdio.h> #include <stdlib.h> struct node { long x,y,c; ...
- John:How JavaScript Timers Work
John大神的bolg链接:http://ejohn.org/blog/how-javascript-timers-work/ JavaScript中的定时器经常表现的跟我们想象的不同,我们用三个函数 ...
- react入门-组件方法、数据和生命周期
react组件也像vue一样,有data和methods,但是写法就很不同了: <!DOCTYPE html> <html lang="en"> <h ...
- DNA序列编码中Hairpin的定义和计算
DNA序列编码中Hairpin的定义和计算 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 [1] 张凯. DNA计算核酸编码优化及算法设计[D]. 2008. [2] Shin, ...
- Linux-Xshell会话保持
1.Xshell客户端设置 2.服务端设置 修改/etc/ssh/sshd_config文件,找到 ClientAliveInterval 0和ClientAliveCountMax 3并将注释符号( ...
- '增量赋值(augmented assignment)', 多么痛的领悟!
'增量赋值(augmented assignment)', 多么痛的领悟! 深刻理解x += a 与 x = x + a 的不同: 按理说上面的两条语句是等价的, 功能上完全一样的. 之所以说不同, ...
- go语言学习之路(一)Hello World
为什么要使用 Go 语言?Go 语言的优势在哪里? 1.部署简单. 2.并发性好. 3.良好的语言设计. 4.执行性能好. Go环境搭建 Golang下载 国外镜像 https://www.gola ...
- Linux - awk 文本处理工具一
AWK AWK是一个优良的文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一:awk经过改进生成的新的版本nawk,gawk,现在默认linux系统下日常使用的是gawk,用命 ...
- 第8月第21天 django lbforum项目记录
1. django-admin.py startproject lbforum01 ls cd lbforum01/ ls python manage.py startapp forum sudo p ...
- Informatica学习:3、用户创建与权限管理
环境:win7 下安装Informatica 9.6.1 服务器端与客户端作为学习之用,Linux大同小异 一.用户创建(服务器端) 1.登陆admin console (1)打开Admin Cons ...