Openerp 特定看板阶段组的看板视图只读
我正在OpenERP7中为餐厅模块开发看板视图, 该视图用于显示客户订购的食品状态。 目前的阶段是:Openerp 特定看板阶段组的看板视图只读,openerp,kanban,Openerp,Kanban,我正在OpenERP7中为餐厅模块开发看板视图, 该视图用于显示客户订购的食品状态。 目前的阶段是: 排队等候 进行中 准备好了吗 上菜 取消 我创建了两个组: 侍者 厨师 当用户组为waiters时,他/她只能在舞台“准备就绪”时修改记录。 对于厨师,他/她只能在“等待队列”或“进行中”阶段修改记录 我如何为这种情况设置域/访问权限? 这是我的看板视图的XML: <record model="ir.ui.view" id="inno_master_kitchen_kanban_
- 排队等候
- 进行中
- 准备好了吗
- 上菜
- 取消
- 侍者
- 厨师
对于厨师,他/她只能在“等待队列”或“进行中”阶段修改记录
我如何为这种情况设置域/访问权限? 这是我的看板视图的XML:
<record model="ir.ui.view" id="inno_master_kitchen_kanban_view">
<field name="name">Master Kitchen</field>
<field name="model">inno.master.kitchen</field>
<field name="arch" type="xml">
<kanban default_group_by="state" create="false">
<field name="state"/>
<field name="customer_id"/>
<field name="product_id"/>
<field name="product_qty"/>
<field name="table_name"/>
<field name="order_reference"/>
<templates>
<t t-name="kanban-box">
<div class="kitchen_kanban oe_kanban_color_0 oe_kanban_card">
<div class="oe_kanban_box_header ">
<b><field name="table_name"/></b>
</div>
<div class="oe_kanban_content">
<img style="float:left;" t-att-src="kanban_image('product.product', 'image_medium', record.product_id.raw_value)" class="oe_kanban_image" />
<div><b><field name="order_reference"/></b></div>
<div><field name="product_id"/></div>
<div>
<field name="product_qty"/>
<field name="product_uom"/>
</div>
<img style="float:right;" t-att-src="kanban_image('res.partner', 'image_small', record.customer_id.raw_value)" width="24" height="24" t-att-title="record.customer_id.value" class="oe_kanban_avatar" />
</div>
<div class="oe_clear"></div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
主厨房
主厨房
只需授予更新状态字段的正确权限即可
或
重写方法&执行正确的代码并发出消息,说明您无法执行此操作
希望这能帮助你工作!我从来没有想过写是在看板视图的变更状态下执行的,谢谢tejas@Edxz:请在snippetbucket.com/news上阅读更多文章,我相信这对您有很大帮助。
def write(self, cr, uid, ids, vals, context=None):
res = super(crm_lead, self).write(cr, uid, ids, vals, context)
warning = {}
if vals.get('stage_id'):
stage = self.pool.get('crm.case.stage').browse(cr, uid, vals['stage_id'], context=context)
if stage.name == 'Pre Sale':
#raise osv.except_osv(_('Error!'),_('You cannot confirm a sales order which has no line.'))
dummy,group_id = self.pool.get('ir.model.data').get_object_reference(cr, 1, 'base', 'group_sale_manager')
user_groups = self.pool.get('res.users').read(cr, uid, [uid], context)[0]['groups_id']
if group_id not in user_groups:
raise osv.except_osv(_('Warning!'), _('You are not a sales manager and so you are not allowed to win this thing'))
return res