工作流activity_全球第一免费开源ERP Odoo 最新版工作流审批定义详解

ODOO在10版本之后就删除了workflow。在11、12代码里,可以发现了其他实现工作流的方式。

拿PLM的工程变更单为例。

acdff94b3b1c76abb6170daccbb59af9.png

在每个阶段,我们都可以配置多个审批用户,而批准类型为三种:批准,但审批是可选的;必须批准;仅备注。

很好奇。看看代码。

阶段的对象为“mrp.eco.stage”:

class MrpEcoStage(models.Model): _name = 'mrp.eco.stage' _description = 'ECO Stage' _order = "sequence, id" _fold_name = 'folded' ... approval_template_ids = fields.One2many('mrp.eco.approval.template', 'stage_id', 'Approvals') ...

审核的对象“mrp.eco.approval.template”

class MrpEcoApprovalTemplate(models.Model): _name = "mrp.eco.approval.template" _order = "sequence" _description = 'ECO Approval Template' name = fields.Char('Role', required=True) ... # 三种审核类型: approval_type = fields.Selection([ ('optional', 'Approves, but the approval is optional'), ('mandatory', 'Is required to approve'), ('comment', 'Comments only')], 'Approval Type', default='mandatory', required=True) user_ids = fields.Many2many('res.users', string='Users', required=True) stage_id = fields.Many2one('mrp.eco.stage', 'Stage', required=True) ...

ECO里会有:

class MrpEco(models.Model): _name = 'mrp.eco' _description = 'Engineering Change Order (ECO)' _inherit = ['mail.thread', 'mail.activity.mixin'] ... stage_id = fields.Many2one( 'mrp.eco.stage', 'Stage', ondelete='restrict', copy=False, domain="[('type_id', '=', type_id)]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值