Jalpesh Patel(OpenERP) has proposed merging
lp:~openerp-dev/openobject-addons/trunk-split-sale-atp-improve-sale-configuration-pja
into lp:~openerp-dev/openobject-addons/trunk-split-sale-atp.
Requested reviews:
Atul Patel(OpenERP) (atp-openerp)
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-split-sale-atp-improve-sale-configuration-pja/+merge/120967
Hello,
I have improve sale_stock configuration wizard and procurement.
Thanks,
pja
--
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-split-sale-atp-improve-sale-configuration-pja/+merge/120967
Your team OpenERP R&D Team is subscribed to branch
lp:~openerp-dev/openobject-addons/trunk-split-sale-atp.
=== modified file 'procurement/procurement.py'
--- procurement/procurement.py 2012-08-21 10:27:34 +0000
+++ procurement/procurement.py 2012-08-23 11:19:33 +0000
@@ -83,10 +83,6 @@
'product_uom': fields.many2one('product.uom', 'Product Unit of Measure', required=True, states={'draft':[('readonly',False)]}, readonly=True),
'product_uos_qty': fields.float('UoS Quantity', states={'draft':[('readonly',False)]}, readonly=True),
'product_uos': fields.many2one('product.uom', 'Product UoS', states={'draft':[('readonly',False)]}, readonly=True),
- 'procure_method': fields.selection([('make_to_stock','from stock'),('make_to_order','on order')], 'Procurement Method', states={'draft':[('readonly',False)], 'confirmed':[('readonly',False)]},
- readonly=True, required=True, help="If you encode manually a Procurement, you probably want to use" \
- " a make to order method."),
-
'message': fields.char('Latest error', size=124, help="Exception occurred while computing procurement orders."),
'state': fields.selection([
('draft','Draft'),
@@ -106,7 +102,6 @@
'state': 'draft',
'priority': '1',
'date_planned': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'),
- 'procure_method': 'make_to_order',
'company_id': lambda self, cr, uid, c: self.pool.get('res.company')._company_default_get(cr, uid, 'procurement.order', context=c)
}
=== modified file 'procurement/procurement_view.xml'
--- procurement/procurement_view.xml 2012-08-21 10:27:34 +0000
+++ procurement/procurement_view.xml 2012-08-23 11:19:33 +0000
@@ -16,7 +16,6 @@
<field name="product_id"/>
<field name="product_qty"/>
<field name="product_uom" string="Unit of Measure"/>
- <field name="procure_method"/>
<field name="state"/>
<field name="message"/>
<field name="name" invisible="1"/>
@@ -61,7 +60,6 @@
<group>
<group>
<field name="date_planned"/>
- <field name="procure_method"/>
<field name="priority"/>
</group>
<group>
=== modified file 'sale/res_config.py'
--- sale/res_config.py 2012-08-16 05:11:23 +0000
+++ sale/res_config.py 2012-08-23 11:19:33 +0000
@@ -27,9 +27,6 @@
_inherit = 'sale.config.settings'
_columns = {
- 'group_invoice_so_lines': fields.boolean('generate invoices based on the sale order',
- 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'."),
'timesheet': fields.boolean('prepare invoices based on timesheets',
help = """For modifying account analytic view to show important data to project manager of services companies.
You can also view the report of account analytic summary user-wise as well as month wise.
@@ -40,10 +37,6 @@
(650€/day for a developer), the duration (one year support contract).
You will be able to follow the progress of the contract and invoice automatically.
It installs the account_analytic_analysis module."""),
- 'default_order_policy': fields.selection(
- [('manual', 'Invoice Based on Sales Orders')],
- 'The default invoicing method is', default_model='sale.order',
- help="You can generate invoices based on sales orders."),
'time_unit': fields.many2one('product.uom', 'The default working time unit for services is'),
'group_sale_pricelist':fields.boolean("use pricelists to adapt your price per customers",
implied_group='product.group_sale_pricelist',
@@ -94,7 +87,6 @@
return ids and ids[0] or False
_defaults = {
- 'default_order_policy': 'manual',
'time_unit': _get_default_time_unit,
}
@@ -113,11 +105,6 @@
return {}
- def onchange_invoice_methods(self, cr, uid, ids, group_invoice_so_lines, context=None):
- if group_invoice_so_lines:
- return {'value': {'default_order_policy': 'manual'}}
- return {}
-
def onchange_task_work(self, cr, uid, ids, task_work, context=None):
return {'value': {
'module_project_timesheet': task_work,
=== modified file 'sale/res_config_view.xml'
--- sale/res_config_view.xml 2012-08-16 05:11:23 +0000
+++ sale/res_config_view.xml 2012-08-23 11:19:33 +0000
@@ -11,23 +11,15 @@
<group>
<label for="id" string="Invoicing Process"/>
<div>
- <div name="invoice_so_lines">
- <field name="group_invoice_so_lines" on_change="onchange_invoice_methods(group_invoice_so_lines)" class="oe_inline"/>
- <label for="group_invoice_so_lines"/>
- </div>
- <div>
+ <div name="timesheet">
<field name="timesheet" class="oe_inline" on_change="onchange_timesheet(timesheet)"/>
<label for="timesheet"/>
</div>
</div>
</group>
<group name='default_options'>
- <label for="id" string="Default Options" attrs="{'invisible':['|',('group_invoice_so_lines','=',False),('module_account_analytic_analysis','=',False)]}"/>
+ <label for="id" string="Default Options" attrs="{'invisible':[('module_account_analytic_analysis','=',False)]}"/>
<div>
- <div name='default_order_policy' attrs="{'invisible':[('group_invoice_so_lines','=',False)],'required': [('group_invoice_so_lines','=',True)]}">
- <label for="default_order_policy"/>
- <field name="default_order_policy" class="oe_inline"/>
- </div>
<div name='time_unit' attrs="{'invisible': [('module_account_analytic_analysis','=',False)],'required':[('module_account_analytic_analysis','=',True)]}">
<label for="time_unit"/>
<field name="time_unit" domain="[('category_id.name','=','Working Time')]" class="oe_inline"/>
=== modified file 'sale/sale_view.xml'
--- sale/sale_view.xml 2012-08-23 10:59:54 +0000
+++ sale/sale_view.xml 2012-08-23 11:19:33 +0000
@@ -526,7 +526,7 @@
groups="base.group_sale_salesman"/>
<menuitem id="base.menu_invoiced" name="Invoicing" parent="base.menu_base_partner" sequence="5"/>
- <menuitem id="menu_invoicing_sales_order_lines" parent="base.menu_invoiced" action="action_order_line_tree2" sequence="10" groups="sale.group_invoice_so_lines"/>
+ <menuitem id="menu_invoicing_sales_order_lines" parent="base.menu_invoiced" action="action_order_line_tree2" sequence="10"/>
</data>
</openerp>
=== modified file 'sale/security/sale_security.xml'
--- sale/security/sale_security.xml 2012-08-22 13:57:17 +0000
+++ sale/security/sale_security.xml 2012-08-23 11:19:33 +0000
@@ -20,12 +20,6 @@
<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_delivery_invoice_address" model="res.groups">
<field name="name">Addresses in Sale Orders</field>
<field name="category_id" ref="base.module_category_hidden"/>
=== modified file 'sale_stock/procurement.py'
--- sale_stock/procurement.py 2012-08-21 10:27:34 +0000
+++ sale_stock/procurement.py 2012-08-23 11:19:33 +0000
@@ -48,12 +48,17 @@
class procurement_order(osv.osv):
_inherit = "procurement.order"
_columns = {
- 'move_id': fields.many2one('stock.move', 'Reservation', ondelete='set null'),
+ 'move_id': fields.many2one('stock.move', 'Reservation', ondelete='set null'),
'close_move': fields.boolean('Close Move at end', required=True),
- 'location_id': fields.many2one('stock.location', 'Location', required=True, states={'draft':[('readonly',False)]}, readonly=True),
+ 'location_id': fields.many2one('stock.location', 'Location', required=True, states={'draft':[('readonly',False)]}, readonly=True),
+ 'procure_method': fields.selection([('make_to_stock','from stock'),('make_to_order','on order')], 'Procurement Method', states={'draft':[('readonly',False)], 'confirmed':[('readonly',False)]},
+ readonly=True, required=True, help="If you encode manually a Procurement, you probably want to use" \
+ " a make to order method."),
+
}
_default = {
'close_move': 0,
+ 'procure_method': 'make_to_order',
}
def check_move_cancel(self, cr, uid, ids, context=None):
=== modified file 'sale_stock/procurement_view.xml'
--- sale_stock/procurement_view.xml 2012-08-21 10:27:34 +0000
+++ sale_stock/procurement_view.xml 2012-08-23 11:19:33 +0000
@@ -23,6 +23,9 @@
<field name="location_id" domain="[('usage','=','internal')]"/>
</group>
</xpath>
+ <xpath expr="//field[@name='date_planned']" position="after">
+ <field name="procure_method"/>
+ </xpath>
</data>
</field>
</record>
=== modified file 'sale_stock/res_config.py'
--- sale_stock/res_config.py 2012-08-09 16:55:34 +0000
+++ sale_stock/res_config.py 2012-08-23 11:19:33 +0000
@@ -26,6 +26,9 @@
class sale_configuration(osv.osv_memory):
_inherit = 'sale.config.settings'
_columns = {
+ 'group_invoice_so_lines': fields.boolean('generate invoices based on the sale order',
+ implied_group='sale_stock.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('generate invoices after and based on delivery orders',
implied_group='sale_stock.group_invoice_deli_orders',
help="To allow your salesman to make invoices for Delivery Orders using the menu 'Deliveries to Invoice'."),
@@ -55,6 +58,10 @@
}
+ _defaults = {
+ 'default_order_policy': 'manual',
+ }
+
def default_get(self, cr, uid, fields, context=None):
res = super(sale_configuration, self).default_get(cr, uid, fields, context)
# task_work, time_unit depend on other fields
=== modified file 'sale_stock/res_config_view.xml'
--- sale_stock/res_config_view.xml 2012-08-09 18:22:14 +0000
+++ sale_stock/res_config_view.xml 2012-08-23 11:19:33 +0000
@@ -9,7 +9,11 @@
<field name="inherit_id" ref="sale.view_sales_config"/>
<field name="arch" type="xml">
<data>
- <xpath expr="//div[@name='invoice_so_lines']" position="after">
+ <xpath expr="//div[@name='timesheet']" position="before">
+ <div>
+ <field name="group_invoice_so_lines" on_change="onchange_invoice_methods(group_invoice_so_lines)" class="oe_inline"/>
+ <label for="group_invoice_so_lines"/>
+ </div>
<div>
<field name="group_invoice_deli_orders" class="oe_inline" on_change="onchange_invoice_methods(group_invoice_so_lines, group_invoice_deli_orders)"/>
<label for="group_invoice_deli_orders"/>
@@ -22,7 +26,11 @@
<xpath expr="//label[@string='Default Options']" position="replace">
<label for="id" string="Default Options" attrs="{'invisible':['|',('group_invoice_so_lines','=',False),('group_invoice_deli_orders','=',False),('group_invoice_so_lines','=',False), ('group_invoice_deli_orders','=',False),('task_work','=',False), ('module_account_analytic_analysis','=',False)]}"/>
</xpath>
- <xpath expr="//div[@name='default_order_policy']" position="after">
+ <xpath expr="//div[@name='time_unit']" position="before">
+ <div attrs="{'invisible':['|',('group_invoice_so_lines','=',False),('group_invoice_deli_orders','=',False)],'required': ['|',('group_invoice_so_lines','=',True),('group_invoice_deli_orders','=',True)]}">
+ <label for="default_order_policy"/>
+ <field name="default_order_policy" class="oe_inline"/>
+ </div>
<div attrs="{'invisible':[('group_invoice_so_lines','=',False), ('group_invoice_deli_orders','=',False)]}">
<field name="module_delivery" class="oe_inline"/>
<label for="module_delivery"/>
@@ -44,24 +52,15 @@
<label for="group_mrp_properties"/>
</div>
</div>
-
<xpath expr="//div[@name='Sale Features']/div[@name='module_sale_margin']" position="before">
<div>
<field name="group_multiple_shops" class="oe_inline"/>
<label for="group_multiple_shops"/>
</div>
</xpath>
-
<field name="group_invoice_so_lines" position="replace">
<field name="group_invoice_so_lines" on_change="onchange_invoice_methods(group_invoice_so_lines, group_invoice_deli_orders)" class="oe_inline"/>
</field>
-
- <xpath expr="//div[@name='default_order_policy']" position="replace">
- <div attrs="{'invisible':['|',('group_invoice_so_lines','=',False),('group_invoice_deli_orders','=',False)],'required': ['|',('group_invoice_so_lines','=',True),('group_invoice_deli_orders','=',True)]}">
- <label for="default_order_policy"/>
- <field name="default_order_policy" class="oe_inline"/>
- </div>
- </xpath>
<xpath expr="//div[@name='time_unit']" position="replace">
<div attrs="{'invisible': [('task_work','=',False), ('module_account_analytic_analysis','=',False)],'required': ['|', ('task_work','=',True), ('module_account_analytic_analysis','=',True)]}">
<label for="time_unit"/>
=== modified file 'sale_stock/security/sale_stock_security.xml'
--- sale_stock/security/sale_stock_security.xml 2012-08-22 13:57:17 +0000
+++ sale_stock/security/sale_stock_security.xml 2012-08-23 11:19:33 +0000
@@ -7,6 +7,11 @@
<field name="category_id" ref="base.module_category_hidden"/>
</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"/>
_______________________________________________
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