Turkesh Patel (openERP) has proposed merging 
lp:~openerp-dev/openobject-addons/trunk-v62_sale-tpa into 
lp:~openerp-dev/openobject-addons/trunk-v62_config_sale-uco.

Requested reviews:
  Ujjvala Collins (OpenERP) (uco-openerp)

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-v62_sale-tpa/+merge/96316

--> Improved code for set tax policy groups

--> Improved code for task_work field 

--> Imporved view
-- 
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-v62_sale-tpa/+merge/96316
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openobject-addons/trunk-v62_config_sale-uco.
=== modified file 'crm/res_config_view.xml'
--- crm/res_config_view.xml	2012-03-07 05:44:40 +0000
+++ crm/res_config_view.xml	2012-03-07 10:12:19 +0000
@@ -6,16 +6,9 @@
             <field name="name">Sales Application</field>
             <field name="model">res.config.settings</field>
             <field name="type">form</field>
-            <field name="inherit_id" ref="base.view_res_config_settings"/>
+            <field name="inherit_id" ref="mail.view_sales_config_plugin"/>
             <field name="arch" type="xml">
-                <xpath expr="//form/group[@name='crm']/group[@name='plugin']" position="inside">
-                    <group col="4" colspan="2">
-                        <separator string="Plugins" colspan="4"/>
-                        <newline/>
-                        <field name="module_plugin_thunderbird"/>
-                        <newline/>
-                        <field name="module_plugin_outlook"/>
-                    </group>
+                <xpath expr="//form/group[@name='crm']/group[@name='plugin']/group[@name='plugins']" position="after">
                     <group col="2" colspan="2" name="emails">
                         <separator string="Emails" colspan="2"/>
                         <field name="fetchmail_crm"/>
@@ -31,7 +24,7 @@
                         </group>
                     </group>
                 </xpath>
-                
+
                 <xpath expr="//form/group[@name='crm']/group[@name='plugin']" position="after">
                     <group colspan="4" col="4" name="synchronization">
                         <separator string="Import and Synchronize data from an other application" colspan="4"/>
@@ -60,7 +53,7 @@
                 </xpath>
             </field>
         </record>
-        
+
         <menuitem id="base.menu_sale_config" name="Sales" parent="base.menu_config" sequence="1" action="base.action_sale_config"/>
 
     </data>

=== modified file 'mail/res_config_view.xml'
--- mail/res_config_view.xml	2012-03-05 05:11:33 +0000
+++ mail/res_config_view.xml	2012-03-07 10:12:19 +0000
@@ -8,7 +8,7 @@
             <field name="inherit_id" ref="base.view_res_config_settings"/>
             <field name="arch" type="xml">
                 <xpath expr="//form/group[@name='crm']/group[@name='plugin']" position="inside">
-                    <group col="4" colspan="2">
+                    <group col="4" colspan="2" name="plugins">
                         <separator string="Plugins" colspan="4"/>
                         <newline/>
                         <field name="module_plugin_thunderbird"/>

=== modified file 'plugin_outlook/plugin_outlook.xml'
--- plugin_outlook/plugin_outlook.xml	2012-03-07 05:44:40 +0000
+++ plugin_outlook/plugin_outlook.xml	2012-03-07 10:12:19 +0000
@@ -53,7 +53,7 @@
             <field name="name">Sales Application</field>
             <field name="model">res.config.settings</field>
             <field name="type">form</field>
-            <field name="inherit_id" ref="mail.view_sale_config_settings"/>
+            <field name="inherit_id" ref="mail.view_sales_config_plugin"/>
             <field name="arch" type="xml">
                 <field name="module_plugin_outlook" position="after">
                     <button name="%(action_outlook_installer)d" type="action" string="Configure Outlook" icon="gtk-execute"/>

=== modified file 'plugin_thunderbird/plugin_thunderbird.xml'
--- plugin_thunderbird/plugin_thunderbird.xml	2012-03-07 05:44:40 +0000
+++ plugin_thunderbird/plugin_thunderbird.xml	2012-03-07 10:12:19 +0000
@@ -60,7 +60,7 @@
         <field name="name">Sales Application</field>
         <field name="model">res.config.settings</field>
         <field name="type">form</field>
-        <field name="inherit_id" ref="mail.view_sale_config_settings"/>
+        <field name="inherit_id" ref="mail.view_sales_config_plugin"/>
         <field name="arch" type="xml">
             <field name="module_plugin_thunderbird" position="after">
                 <button name="%(action_thunderbird_installer)d" type="action" string="Configure Thunderbird" icon="gtk-execute"/>

=== modified file 'sale/res_config.py'
--- sale/res_config.py	2012-03-07 05:44:40 +0000
+++ sale/res_config.py	2012-03-07 10:12:19 +0000
@@ -27,13 +27,13 @@
     _inherit = 'res.config.settings'
 
     _columns = {
-        'sale_orders': fields.boolean('Based on Sales Orders', 
+        '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."),
         '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 
+                                    the Timesheet line entries for particular date and particular user  with the effect of creating, editing and deleting either ways
                                     and to automatically creates project tasks from procurement lines.
                                     It installs the project_timesheet and project_mrp modules."""),
         'module_account_analytic_analysis': fields.boolean('Based on Timesheet',
@@ -43,7 +43,7 @@
         'default_order_policy': fields.selection([
                                 ('manual', 'Invoice Based on Sales Orders'),
                                 ('picking', 'Invoice Based on Deliveries'),
-                            ], 'Main Method Based On', required=True, default_model='sale.order', 
+                            ], 'Main Method Based On', required=True, default_model='sale.order',
                             help="You can generate invoices based on sales orders or based on shippings."),
         'module_delivery': fields.boolean('Do you charge the delivery?',
                                    help ="""
@@ -52,7 +52,7 @@
                                    It installs the delivery module.
                                    """),
         'time_unit': fields.many2one('product.uom','Working Time Unit'),
-        'default_picking_policy' : fields.boolean("Deliver all products at once?", default_model='sale.order', 
+        'default_picking_policy' : fields.boolean("Deliver all products at once?", default_model='sale.order',
                                                   help = "You can set picking policy on sale order that will allow you to deliver all products at once."),
         'group_sale_delivery_address':fields.boolean("Multiple Address", group='base.group_user', implied_group='base.group_sale_delivery_address',
                                                      help="Allows you to set different delivery address and invoice address. It assigns Multiple Address group to all employees."),
@@ -60,7 +60,7 @@
                                                              help="This allows you to apply discounts per sale order lines, it assigns Discounts per sale order lines group to all employees."),
         'module_sale_layout':fields.boolean("Notes & subtotals per line",help="Allows to format sale order lines using notes, separators, titles and subtotals. It installs the sale_layout module."),
         'module_warning': fields.boolean("Alerts by products or customers",
-                                  help="""To raise user specific warning messages on different products used in Sales Orders, Purchase Orders, Invoices and Deliveries. 
+                                  help="""To raise user specific warning messages on different products used in Sales Orders, Purchase Orders, Invoices and Deliveries.
                                   It installs the warning module."""),
         'module_sale_margin': fields.boolean("Display Margin For Users",
                         help="""This adds the 'Margin' on sales order.
@@ -71,7 +71,7 @@
                         It installs the sale_journal module."""),
         'module_analytic_user_function' : fields.boolean("User function by contracts",
                                     help="""Allows you to define what is the default function of a specific user on a given account.
-                                    This is mostly used when a user encodes his timesheet. The values are retrieved and the fields are auto-filled. 
+                                    This is mostly used when a user encodes his timesheet. The values are retrieved and the fields are auto-filled.
                                     But the possibility to change these values is still available.
                                     It installs analytic_user_function module."""),
         'module_analytic_journal_billing_rate' : fields.boolean("Billing rates by contracts",
@@ -82,13 +82,16 @@
                 ('no_tax', 'No Tax'),
                 ('global_on_order', 'Global On Order'),
                 ('on_order_line', 'On Order Lines'),
-            ], 'Taxes', required=True, 
+            ], 'Taxes', required=True,
             help="""
                 If you want to apply global tax on sale order then select 'Global On Order' it will add 'Global On Order' group to employees.
                 If you want to apply different taxes for sale order lines then select 'On Order Lines' it will add 'On Order Lines' group to employees.
             """),
         'group_sale_taxes_global_on_order':fields.boolean("Global on order", group='base.group_user', implied_group='base.group_sale_taxes_global_on_order'),
         'group_sale_taxes_on_order_line':fields.boolean("On order line", group='base.group_user', implied_group='base.group_sale_taxes_on_order_line'),
+        'module_project_timesheet': fields.boolean("Project Timesheet"),
+        'module_project_mrp': fields.boolean("Project mrp"),
+
     }
 
     def default_get(self, cr, uid, fields, context=None):
@@ -131,7 +134,7 @@
         'time_unit': lambda self, cr, uid, c: self.pool.get('product.uom').search(cr, uid, [('name', '=', _('Hour'))], context=c) and self.pool.get('product.uom').search(cr, uid, [('name', '=', _('Hour'))], context=c)[0] or False,
         'tax_policy': 'global_on_order',
     }
-    
+
     def _check_default_tax(self, cr, uid, context=None):
         ir_values_obj = self.pool.get('ir.values')
         for tax in ir_values_obj.get(cr, uid, 'default', False, ['product.product']):
@@ -156,7 +159,7 @@
             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')
 
@@ -171,7 +174,18 @@
             self.pool.get('res.company').write(cr, uid, [company_id], {
                 'project_time_mode_id': wizard.time_unit.id
             }, context=context)
-            
+
+        return res
+
+    def onchange_task_work(self, cr, uid, ids, task_work, context=None):
+        res = {'value': {}}
+        if task_work:
+            res['value'].update({'module_project_timesheet': True})
+            res['value'].update({'module_project_mrp': True})
+        else:
+            res['value'].update({'module_project_timesheet': False})
+            res['value'].update({'module_project_mrp': False})
+
         return res
 
     def onchange_tax_policy(self, cr, uid, ids, tax_policy, context=None):
@@ -180,12 +194,15 @@
             self.set_tax_policy(cr, uid, ids, context=context)
         if tax_policy == 'global_on_order':
             res['value'].update({'group_sale_taxes_global_on_order': True})
+            res['value'].update({'group_sale_taxes_on_order_line': False})
+
         elif tax_policy == 'on_order_line':
             res['value'].update({'group_sale_taxes_on_order_line': True})
+            res['value'].update({'group_sale_taxes_global_on_order': False})
         else:
             res['value'].update({'group_sale_taxes_on_order_line': False, 'group_sale_taxes_global_on_order': False})
         return res
-    
+
     def set_default_taxes(self, cr, uid, ids, context=None):
         ir_values_obj = self.pool.get('ir.values')
         taxes = self._check_default_tax(cr, uid, context=context)
@@ -193,40 +210,6 @@
             ir_values_obj.set(cr, uid, 'default', False, 'tax_id', ['sale.order'], taxes[0])
             ir_values_obj.set(cr, uid, 'default', False, 'tax_id', ['sale.order.line'], taxes)
             ir_values_obj.set(cr, uid, 'default', False, 'taxes_id', ['product.product'], taxes)
-    
-    #TODO: TO BE REMOVED
-#    def set_tax_policy(self, cr, uid, ids, context=None):
-#        data_obj = self.pool.get('ir.model.data')
-#        users_obj = self.pool.get('res.users')
-#        groups_obj = self.pool.get('res.groups')
-#        ir_values_obj = self.pool.get('ir.values')
-#        dummy,user_group_id = data_obj.get_object_reference(cr, uid, 'base', 'group_user')
-#        tax_policy = self.browse(cr, uid, ids[0], context=context).tax_policy
-#        order_group_id = data_obj.get_object(cr, uid, 'base', 'group_sale_taxes_global_on_order').id
-#        order_line_group_id = data_obj.get_object(cr, uid, 'base', 'group_sale_taxes_on_order_line').id
-#        group_id = False
-#        remove_group_id = False
-#
-#        if tax_policy == 'global_on_order':
-#            group_id = order_group_id
-#            remove_group_id = order_line_group_id
-#        elif tax_policy == 'on_order_line':
-#            group_id = order_line_group_id
-#            remove_group_id = order_group_id
-#
-#        if group_id:
-#            groups_obj.write(cr, uid, [user_group_id], {'implied_ids': [(4,group_id)]})
-#            users_obj.write(cr, uid, [uid], {'groups_id': [(4,group_id)]})
-#            ir_values_obj.set(cr, uid, 'default', False, 'groups_id', ['res.users'], [(4,group_id)])
-#            groups_obj.write(cr, uid, [user_group_id], {'implied_ids': [(3,remove_group_id)]})
-#            users_obj.write(cr, uid, [uid], {'groups_id': [(3,remove_group_id)]})
-#            ir_values_obj.set(cr, uid, 'default', False, 'groups_id', ['res.users'], [(3,remove_group_id)])
-#        else:
-#            groups = [order_group_id, order_line_group_id]
-#            for group_id in groups:
-#                groups_obj.write(cr, uid, [user_group_id], {'implied_ids': [(3,group_id)]})
-#                users_obj.write(cr, uid, [uid], {'groups_id': [(3,group_id)]})
-#                ir_values_obj.set(cr, uid, 'default', False, 'groups_id', ['res.users'], [(3,group_id)])
 
 sale_configuration()
 

=== modified file 'sale/res_config_view.xml'
--- sale/res_config_view.xml	2012-03-07 05:44:40 +0000
+++ sale/res_config_view.xml	2012-03-07 10:12:19 +0000
@@ -16,7 +16,9 @@
                            <newline/>
                            <field name="deli_orders"/>
                            <newline/>
-                           <field name="task_work"/>
+                           <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"/>
                            <newline/>
                            <field name="module_account_analytic_analysis"/>
                            <newline/>
@@ -40,6 +42,8 @@
                            <group col="2" colspan="1">
                                 <field name="tax_policy" on_change="onchange_tax_policy(tax_policy)"/>
                            </group>
+                           <field name="group_sale_taxes_global_on_order" invisible="1"/>
+                           <field name="group_sale_taxes_on_order_line" invisible="1"/>
                            <newline/>
                            <field name="module_sale_margin"/>
                            <newline/>
@@ -63,7 +67,7 @@
                 </group>
             </field>
         </record>
-        
+
         <menuitem id="base.menu_sale_config" name="Sales" parent="base.menu_config" sequence="1" action="base.action_sale_config"/>
 
     </data>

=== modified file 'sale/security/sale_security.xml'
--- sale/security/sale_security.xml	2012-03-02 11:39:31 +0000
+++ sale/security/sale_security.xml	2012-03-07 10:12:19 +0000
@@ -45,7 +45,6 @@
         ref('base.group_sale_delivery_address'),
         ref('base.group_sale_disc_per_sale_order_line'),
         ref('base.group_sale_taxes_global_on_order'),
-        ref('base.group_sale_taxes_on_order_line'),
         ])]"/>
     </record>
 

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to