[IMP] sale.config.settings: define groups for enabling access to menus 'Lines to Invoice' and 'Deliveries to Invoice'
bzr revid: rco@openerp.com-20120321130121-94uhihyq5k0ve5w4
This commit is contained in:
parent
a9e02f7df1
commit
3cdec55f98
|
@ -27,10 +27,12 @@ class sale_configuration(osv.osv_memory):
|
|||
_inherit = 'sale.config.settings'
|
||||
|
||||
_columns = {
|
||||
'sale_orders': fields.boolean('Based on Sales Orders',
|
||||
help="To allow your salesman to make invoices for sale order lines using 'Lines to Invoice' menu."),
|
||||
'deli_orders': fields.boolean('Based on Delivery Orders',
|
||||
help="To allow your salesman to make invoices for Delivery Orders using 'Deliveries to Invoice' menu."),
|
||||
'group_invoice_so_lines': fields.boolean('Based on Sales Orders',
|
||||
implied_group='sale.group_invoice_so_lines',
|
||||
help="To allow your salesman to make invoices for sale order lines using the menu 'Lines to Invoice'."),
|
||||
'group_invoice_deli_orders': fields.boolean('Based on Delivery Orders',
|
||||
implied_group='sale.group_invoice_deli_orders',
|
||||
help="To allow your salesman to make invoices for Delivery Orders using the menu 'Deliveries to Invoice'."),
|
||||
'task_work': fields.boolean('Based on Tasks\' Work',
|
||||
help="""Lets you transfer the entries under tasks defined for Project Management to
|
||||
the Timesheet line entries for particular date and particular user with the effect of creating, editing and deleting either ways
|
||||
|
@ -116,15 +118,6 @@ class sale_configuration(osv.osv_memory):
|
|||
data_obj = self.pool.get('ir.model.data')
|
||||
menu_obj = self.pool.get('ir.ui.menu')
|
||||
result = {}
|
||||
invoicing_groups_id = [gid.id for gid in data_obj.get_object(cr, uid, 'sale', 'menu_invoicing_sales_order_lines').groups_id]
|
||||
picking_groups_id = [gid.id for gid in data_obj.get_object(cr, uid, 'sale', 'menu_action_picking_list_to_invoice').groups_id]
|
||||
group_id = data_obj.get_object(cr, uid, 'base', 'group_sale_salesman').id
|
||||
for menu in ir_values_obj.get(cr, uid, 'default', False, ['ir.ui.menu']):
|
||||
if menu[1] == 'groups_id' and group_id in menu[2][0]:
|
||||
if group_id in invoicing_groups_id:
|
||||
result['sale_orders'] = True
|
||||
if group_id in picking_groups_id:
|
||||
result['deli_orders'] = True
|
||||
for res in ir_values_obj.get(cr, uid, 'default', False, ['sale.order']):
|
||||
result[res[1]] = res[2]
|
||||
return result
|
||||
|
@ -150,16 +143,6 @@ class sale_configuration(osv.osv_memory):
|
|||
wizard = self.browse(cr, uid, ids)[0]
|
||||
group_id = data_obj.get_object(cr, uid, 'base', 'group_sale_salesman').id
|
||||
|
||||
if wizard.sale_orders:
|
||||
menu_id = data_obj.get_object(cr, uid, 'sale', 'menu_invoicing_sales_order_lines').id
|
||||
menu_obj.write(cr, uid, menu_id, {'groups_id':[(4,group_id)]})
|
||||
ir_values_obj.set(cr, uid, 'default', False, 'groups_id', ['ir.ui.menu'], [(4,group_id)])
|
||||
|
||||
if wizard.deli_orders:
|
||||
menu_id = data_obj.get_object(cr, uid, 'sale', 'menu_action_picking_list_to_invoice').id
|
||||
menu_obj.write(cr, uid, menu_id, {'groups_id':[(4,group_id)]})
|
||||
ir_values_obj.set(cr, uid, 'default', False, 'groups_id', ['ir.ui.menu'], [(4,group_id)])
|
||||
|
||||
if wizard.default_picking_policy:
|
||||
ir_values_obj.set(cr, uid, 'default', False, 'picking_policy', ['sale.order'], 'one')
|
||||
|
||||
|
|
|
@ -12,17 +12,17 @@
|
|||
<separator string="Picking and Invoice Policy" colspan="4"/>
|
||||
<group colspan="4">
|
||||
<group colspan="2" col="2">
|
||||
<field name="sale_orders"/>
|
||||
<field name="deli_orders"/>
|
||||
<field name="group_invoice_so_lines"/>
|
||||
<field name="group_invoice_deli_orders"/>
|
||||
<field name="task_work" on_change="onchange_task_work(task_work)"/>
|
||||
<field name="module_project_timesheet" invisible="1"/>
|
||||
<field name="module_project_mrp" invisible="1"/>
|
||||
<field name="module_account_analytic_analysis"/>
|
||||
</group>
|
||||
<group colspan="2" col="2">
|
||||
<field name="default_order_policy" attrs="{'invisible':['|',('sale_orders','=',False),('deli_orders','=',False)]}"/>
|
||||
<field name="module_delivery" attrs="{'invisible':[('sale_orders','=',False), ('deli_orders','=',False)]}"/>
|
||||
<field name="default_picking_policy" attrs="{'invisible':[('deli_orders','=',False)]}"/>
|
||||
<field name="default_order_policy" attrs="{'invisible':['|',('group_invoice_so_lines','=',False),('group_invoice_deli_orders','=',False)]}"/>
|
||||
<field name="module_delivery" attrs="{'invisible':[('group_invoice_so_lines','=',False), ('group_invoice_deli_orders','=',False)]}"/>
|
||||
<field name="default_picking_policy" attrs="{'invisible':[('group_invoice_deli_orders','=',False)]}"/>
|
||||
<field name="time_unit" domain="[('category_id.name','=','Working Time')]" attrs="{'invisible':[('task_work','=',False),('module_account_analytic_analysis','=',False)],'required': [('module_account_analytic_analysis','=',True)]}"/>
|
||||
</group>
|
||||
</group>
|
||||
|
|
|
@ -501,7 +501,7 @@
|
|||
groups="base.group_sale_salesman"/>
|
||||
|
||||
<menuitem id="base.menu_invoiced" name="Invoicing" parent="base.menu_base_partner" sequence="5" groups="base.group_extended"/>
|
||||
<menuitem id="menu_invoicing_sales_order_lines" parent="base.menu_invoiced" action="action_order_line_tree2" sequence="2" groups="base.group_no_one"/>
|
||||
<menuitem id="menu_invoicing_sales_order_lines" parent="base.menu_invoiced" action="action_order_line_tree2" sequence="2" groups="group_invoice_so_lines"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -20,6 +20,16 @@
|
|||
<field name="users" eval="[(4, ref('base.user_root'))]"/>
|
||||
</record>
|
||||
|
||||
<record id="group_invoice_so_lines" model="res.groups">
|
||||
<field name="name">Enable Invoicing Sale order lines</field>
|
||||
<field name="category_id" ref="base.module_category_hidden"/>
|
||||
</record>
|
||||
|
||||
<record id="group_invoice_deli_orders" model="res.groups">
|
||||
<field name="name">Enable Invoicing Delivery orders</field>
|
||||
<field name="category_id" ref="base.module_category_hidden"/>
|
||||
</record>
|
||||
|
||||
<record id="base.group_sale_delivery_address" model="res.groups">
|
||||
<field name="name">Addresses in Sale Orders</field>
|
||||
<field name="category_id" ref="base.module_category_hidden"/>
|
||||
|
|
|
@ -74,7 +74,7 @@
|
|||
<field name="context">{'default_type': 'out', 'contact_display': 'partner_address', 'search_default_to_invoice': 1, 'search_default_done': 1}</field>
|
||||
<field name="search_view_id" ref="stock.view_picking_out_search"/>
|
||||
</record>
|
||||
<menuitem action="outgoing_picking_list_to_invoice" id="menu_action_picking_list_to_invoice" parent="base.menu_invoiced" groups="base.group_no_one" sequence="20"/>
|
||||
<menuitem action="outgoing_picking_list_to_invoice" id="menu_action_picking_list_to_invoice" parent="base.menu_invoiced" groups="group_invoice_deli_orders" sequence="20"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
Loading…
Reference in New Issue