[MERGE] sale fixes
bzr revid: fp@openerp.com-20120916144529-ho1p72gtake7j2in
This commit is contained in:
commit
260f175a36
|
@ -299,7 +299,7 @@
|
||||||
<field name="inherit_id" ref="analytic.view_account_analytic_account_form"/>
|
<field name="inherit_id" ref="analytic.view_account_analytic_account_form"/>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<notebook position="inside">
|
<notebook position="inside">
|
||||||
<page string="Budget Lines">
|
<page string="Budget Lines" groups="account.group_account_user">
|
||||||
<field name="crossovered_budget_line" widget="one2many_list" colspan="4" nolabel="1" mode="tree,graph">
|
<field name="crossovered_budget_line" widget="one2many_list" colspan="4" nolabel="1" mode="tree,graph">
|
||||||
<tree string="Budget Lines" editable="top">
|
<tree string="Budget Lines" editable="top">
|
||||||
<field name="crossovered_budget_id"/>
|
<field name="crossovered_budget_id"/>
|
||||||
|
|
|
@ -4,4 +4,4 @@ access_account_budget_post,account.budget.post,model_account_budget_post,account
|
||||||
access_account_budget_post_accountant,account.budget.post accountant,model_account_budget_post,account.group_account_user,1,1,1,1
|
access_account_budget_post_accountant,account.budget.post accountant,model_account_budget_post,account.group_account_user,1,1,1,1
|
||||||
access_crossovered_budget_accountant,crossovered.budget accountant,model_crossovered_budget,account.group_account_user,1,1,1,1
|
access_crossovered_budget_accountant,crossovered.budget accountant,model_crossovered_budget,account.group_account_user,1,1,1,1
|
||||||
access_crossovered_budget_lines_accountant,crossovered.budget.lines accountant,model_crossovered_budget_lines,account.group_account_user,1,1,1,1
|
access_crossovered_budget_lines_accountant,crossovered.budget.lines accountant,model_crossovered_budget_lines,account.group_account_user,1,1,1,1
|
||||||
access_budget,crossovered.budget.lines manager,model_crossovered_budget_lines,base.group_user,1,0,0,0
|
access_budget,crossovered.budget.lines manager,model_crossovered_budget_lines,base.group_user,1,1,1,0
|
||||||
|
|
|
|
@ -32,12 +32,6 @@
|
||||||
</div>
|
</div>
|
||||||
</group>
|
</group>
|
||||||
</div>
|
</div>
|
||||||
<div name="Customer Features" position="inside">
|
|
||||||
<div>
|
|
||||||
<field name="module_google_map" class="oe_inline"/>
|
|
||||||
<label for="module_google_map"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
|
|
@ -3,18 +3,21 @@
|
||||||
<data noupdate="0">
|
<data noupdate="0">
|
||||||
|
|
||||||
<record id="base.group_sale_salesman" model="res.groups">
|
<record id="base.group_sale_salesman" model="res.groups">
|
||||||
<field name="name">User - Own Leads Only</field>
|
<field name="name">User: Own Leads Only</field>
|
||||||
<field name="category_id" ref="base.module_category_sales_management"/>
|
<field name="category_id" ref="base.module_category_sales_management"/>
|
||||||
|
<field name="comment">the user will have access to his own data in the sales application.</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="base.group_sale_salesman_all_leads" model="res.groups">
|
<record id="base.group_sale_salesman_all_leads" model="res.groups">
|
||||||
<field name="name">User - All Leads</field>
|
<field name="name">User: All Leads</field>
|
||||||
<field name="category_id" ref="base.module_category_sales_management"/>
|
<field name="category_id" ref="base.module_category_sales_management"/>
|
||||||
<field name="implied_ids" eval="[(4, ref('base.group_sale_salesman'))]"/>
|
<field name="implied_ids" eval="[(4, ref('base.group_sale_salesman'))]"/>
|
||||||
|
<field name="comment">the user will have access to all records of everyone in the sales application.</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="base.group_sale_manager" model="res.groups">
|
<record id="base.group_sale_manager" model="res.groups">
|
||||||
<field name="name">Manager</field>
|
<field name="name">Manager</field>
|
||||||
|
<field name="comment">the user will have an access to the sales configuration as well as statistic reports.</field>
|
||||||
<field name="category_id" ref="base.module_category_sales_management"/>
|
<field name="category_id" ref="base.module_category_sales_management"/>
|
||||||
<field name="implied_ids" eval="[(4, ref('base.group_sale_salesman_all_leads'))]"/>
|
<field name="implied_ids" eval="[(4, ref('base.group_sale_salesman_all_leads'))]"/>
|
||||||
<field name="users" eval="[(4, ref('base.user_root'))]"/>
|
<field name="users" eval="[(4, ref('base.user_root'))]"/>
|
||||||
|
|
|
@ -582,6 +582,12 @@ class sale_order(osv.osv):
|
||||||
result.update(view_id = res and res[1] or False)
|
result.update(view_id = res and res[1] or False)
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
def test_no_product(self, cr, uid, order, context):
|
||||||
|
for line in order.order_line:
|
||||||
|
if line.product_id:
|
||||||
|
return False
|
||||||
|
return True
|
||||||
|
|
||||||
def action_invoice_create(self, cr, uid, ids, grouped=False, states=['confirmed', 'done', 'exception'], date_inv = False, context=None):
|
def action_invoice_create(self, cr, uid, ids, grouped=False, states=['confirmed', 'done', 'exception'], date_inv = False, context=None):
|
||||||
res = False
|
res = False
|
||||||
invoices = {}
|
invoices = {}
|
||||||
|
@ -751,7 +757,10 @@ class sale_order(osv.osv):
|
||||||
for o in self.browse(cr, uid, ids):
|
for o in self.browse(cr, uid, ids):
|
||||||
if not o.order_line:
|
if not o.order_line:
|
||||||
raise osv.except_osv(_('Error!'),_('You cannot confirm a sale order which has no line.'))
|
raise osv.except_osv(_('Error!'),_('You cannot confirm a sale order which has no line.'))
|
||||||
if (o.order_policy == 'manual'):
|
noprod = self.test_no_product(cr, uid, o, context)
|
||||||
|
if noprod and o.order_policy=='picking':
|
||||||
|
self.write(cr, uid, [o.id], {'order_policy': 'manual'}, context=context)
|
||||||
|
if (o.order_policy == 'manual') or noprod:
|
||||||
self.write(cr, uid, [o.id], {'state': 'manual', 'date_confirm': fields.date.context_today(self, cr, uid, context=context)})
|
self.write(cr, uid, [o.id], {'state': 'manual', 'date_confirm': fields.date.context_today(self, cr, uid, context=context)})
|
||||||
else:
|
else:
|
||||||
self.write(cr, uid, [o.id], {'state': 'progress', 'date_confirm': fields.date.context_today(self, cr, uid, context=context)})
|
self.write(cr, uid, [o.id], {'state': 'progress', 'date_confirm': fields.date.context_today(self, cr, uid, context=context)})
|
||||||
|
|
|
@ -184,8 +184,8 @@
|
||||||
<group>
|
<group>
|
||||||
<group>
|
<group>
|
||||||
<field name="partner_id" on_change="onchange_partner_id(partner_id)" domain="[('customer','=',True)]" context="{'search_default_customer':1, 'show_address': 1}" options='{"always_reload": true}'/>
|
<field name="partner_id" on_change="onchange_partner_id(partner_id)" domain="[('customer','=',True)]" context="{'search_default_customer':1, 'show_address': 1}" options='{"always_reload": true}'/>
|
||||||
<field domain="[('parent_id','=',partner_id)]" name="partner_invoice_id" groups="sale.group_delivery_invoice_address"/>
|
<field name="partner_invoice_id" groups="sale.group_delivery_invoice_address"/>
|
||||||
<field domain="[('parent_id','=',partner_id)]" name="partner_shipping_id" groups="sale.group_delivery_invoice_address"/>
|
<field name="partner_shipping_id" groups="sale.group_delivery_invoice_address"/>
|
||||||
<field name="project_id" context="{'partner_id':partner_id, 'pricelist_id':pricelist_id, 'default_name':name}" groups="sale.group_analytic_accounting" domain="[('type','in',['view','normal','contract'])]"/>
|
<field name="project_id" context="{'partner_id':partner_id, 'pricelist_id':pricelist_id, 'default_name':name}" groups="sale.group_analytic_accounting" domain="[('type','in',['view','normal','contract'])]"/>
|
||||||
</group>
|
</group>
|
||||||
<group>
|
<group>
|
||||||
|
|
|
@ -196,7 +196,7 @@
|
||||||
<record id="trans_wait_invoice_invoice" model="workflow.transition">
|
<record id="trans_wait_invoice_invoice" model="workflow.transition">
|
||||||
<field name="act_from" ref="act_wait_invoice"/>
|
<field name="act_from" ref="act_wait_invoice"/>
|
||||||
<field name="act_to" ref="act_invoice"/>
|
<field name="act_to" ref="act_invoice"/>
|
||||||
<field name="condition">(order_policy=='prepaid')</field>
|
<field name="condition">order_policy=='prepaid'</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="trans_wait_invoice_invoice_manual" model="workflow.transition">
|
<record id="trans_wait_invoice_invoice_manual" model="workflow.transition">
|
||||||
|
|
|
@ -61,6 +61,21 @@ class picking(osv.osv):
|
||||||
}
|
}
|
||||||
picking()
|
picking()
|
||||||
|
|
||||||
|
class stock_picking_in(osv.osv):
|
||||||
|
_inherit = "stock.picking.in"
|
||||||
|
_columns = {
|
||||||
|
'invoice_type_id': fields.many2one('sale_journal.invoice.type', 'Invoice Type', readonly=True)
|
||||||
|
}
|
||||||
|
stock_picking_in()
|
||||||
|
|
||||||
|
class stock_picking_out(osv.osv):
|
||||||
|
_inherit = "stock.picking.out"
|
||||||
|
_columns = {
|
||||||
|
'invoice_type_id': fields.many2one('sale_journal.invoice.type', 'Invoice Type', readonly=True)
|
||||||
|
}
|
||||||
|
stock_picking_out()
|
||||||
|
|
||||||
|
|
||||||
class sale(osv.osv):
|
class sale(osv.osv):
|
||||||
_inherit = "sale.order"
|
_inherit = "sale.order"
|
||||||
_columns = {
|
_columns = {
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<menuitem id="menu_definition_journal_invoice_type" sequence="15"
|
<menuitem id="menu_definition_journal_invoice_type" sequence="15"
|
||||||
parent="base.menu_sales_configuration_misc" action="action_definition_journal_invoice_type" groups="base.group_no_one"/>
|
parent="base.menu_sales_configuration_misc" action="action_definition_journal_invoice_type"/>
|
||||||
|
|
||||||
<!-- Inherit sales order form view -->
|
<!-- Inherit sales order form view -->
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@
|
||||||
<field name="inherit_id" ref="sale.view_order_form" />
|
<field name="inherit_id" ref="sale.view_order_form" />
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<field name="origin" position="after">
|
<field name="origin" position="after">
|
||||||
<field name="invoice_type_id" widget="selection"/>
|
<field name="invoice_type_id"/>
|
||||||
</field>
|
</field>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
@ -64,8 +64,8 @@
|
||||||
<field name="model">sale.order</field>
|
<field name="model">sale.order</field>
|
||||||
<field name="inherit_id" ref="sale.view_order_tree" />
|
<field name="inherit_id" ref="sale.view_order_tree" />
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<field name="state" position="after">
|
<field name="state" position="before">
|
||||||
<field name="invoice_type_id" widget="selection"/>
|
<field name="invoice_type_id"/>
|
||||||
</field>
|
</field>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
@ -77,8 +77,8 @@
|
||||||
<field name="model">stock.picking</field>
|
<field name="model">stock.picking</field>
|
||||||
<field name="inherit_id" ref="stock.view_picking_form" />
|
<field name="inherit_id" ref="stock.view_picking_form" />
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<field name="origin" position="after">
|
<field name="move_type" position="before">
|
||||||
<field name="invoice_type_id" widget="selection"/>
|
<field name="invoice_type_id"/>
|
||||||
</field>
|
</field>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
@ -90,7 +90,7 @@
|
||||||
<field name="model">stock.picking</field>
|
<field name="model">stock.picking</field>
|
||||||
<field name="inherit_id" ref="stock.vpicktree" />
|
<field name="inherit_id" ref="stock.vpicktree" />
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<field name="origin" position="after">
|
<field name="state" position="before">
|
||||||
<field name="invoice_type_id"/>
|
<field name="invoice_type_id"/>
|
||||||
</field>
|
</field>
|
||||||
</field>
|
</field>
|
||||||
|
@ -98,10 +98,10 @@
|
||||||
|
|
||||||
<record model="ir.ui.view" id="sale_journal_picking_order_in">
|
<record model="ir.ui.view" id="sale_journal_picking_order_in">
|
||||||
<field name="name">stock.picking.journal.view.form</field>
|
<field name="name">stock.picking.journal.view.form</field>
|
||||||
<field name="model">stock.picking</field>
|
<field name="model">stock.picking.in</field>
|
||||||
<field name="inherit_id" ref="stock.view_picking_in_form" />
|
<field name="inherit_id" ref="stock.view_picking_in_form" />
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<field name="origin" position="after">
|
<field name="move_type" position="before">
|
||||||
<field name="invoice_type_id"/>
|
<field name="invoice_type_id"/>
|
||||||
</field>
|
</field>
|
||||||
</field>
|
</field>
|
||||||
|
@ -109,10 +109,10 @@
|
||||||
|
|
||||||
<record model="ir.ui.view" id="sale_journal_picking_order_tree_in">
|
<record model="ir.ui.view" id="sale_journal_picking_order_tree_in">
|
||||||
<field name="name">stock.picking.journal.view.tree</field>
|
<field name="name">stock.picking.journal.view.tree</field>
|
||||||
<field name="model">stock.picking</field>
|
<field name="model">stock.picking.in</field>
|
||||||
<field name="inherit_id" ref="stock.view_picking_in_tree" />
|
<field name="inherit_id" ref="stock.view_picking_in_tree" />
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<field name="origin" position="after">
|
<field name="state" position="before">
|
||||||
<field name="invoice_type_id"/>
|
<field name="invoice_type_id"/>
|
||||||
</field>
|
</field>
|
||||||
</field>
|
</field>
|
||||||
|
@ -120,10 +120,10 @@
|
||||||
|
|
||||||
<record model="ir.ui.view" id="sale_journal_picking_order_out">
|
<record model="ir.ui.view" id="sale_journal_picking_order_out">
|
||||||
<field name="name">stock.picking.journal.view.form</field>
|
<field name="name">stock.picking.journal.view.form</field>
|
||||||
<field name="model">stock.picking</field>
|
<field name="model">stock.picking.out</field>
|
||||||
<field name="inherit_id" ref="stock.view_picking_out_form" />
|
<field name="inherit_id" ref="stock.view_picking_out_form" />
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<field name="origin" position="after">
|
<field name="move_type" position="before">
|
||||||
<field name="invoice_type_id"/>
|
<field name="invoice_type_id"/>
|
||||||
</field>
|
</field>
|
||||||
</field>
|
</field>
|
||||||
|
@ -131,10 +131,10 @@
|
||||||
|
|
||||||
<record model="ir.ui.view" id="sale_journal_picking_order_tree_out">
|
<record model="ir.ui.view" id="sale_journal_picking_order_tree_out">
|
||||||
<field name="name">stock.picking.journal.view.tree</field>
|
<field name="name">stock.picking.journal.view.tree</field>
|
||||||
<field name="model">stock.picking</field>
|
<field name="model">stock.picking.out</field>
|
||||||
<field name="inherit_id" ref="stock.view_picking_out_tree" />
|
<field name="inherit_id" ref="stock.view_picking_out_tree" />
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<field name="origin" position="after">
|
<field name="state" position="before">
|
||||||
<field name="invoice_type_id"/>
|
<field name="invoice_type_id"/>
|
||||||
</field>
|
</field>
|
||||||
</field>
|
</field>
|
||||||
|
@ -148,11 +148,54 @@
|
||||||
<page string="Sales & Purchases" position="inside">
|
<page string="Sales & Purchases" position="inside">
|
||||||
<group colspan="2" col="2">
|
<group colspan="2" col="2">
|
||||||
<separator string="Invoicing" colspan="2"/>
|
<separator string="Invoicing" colspan="2"/>
|
||||||
<field name="property_invoice_type" widget="selection"/>
|
<field name="property_invoice_type"/>
|
||||||
</group>
|
</group>
|
||||||
</page>
|
</page>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
<record id="view_sales_order_search" model="ir.ui.view">
|
||||||
|
<field name="name">sale.order.search.inherit</field>
|
||||||
|
<field name="model">sale.order</field>
|
||||||
|
<field name="inherit_id" ref="sale.view_sales_order_filter"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<xpath expr="//group/filter[@string='Customer']" position="after">
|
||||||
|
<filter string="Invoice Type" domain="[]" context="{'group_by':'invoice_type_id'}"/>
|
||||||
|
</xpath>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="view_picking_internal_search" model="ir.ui.view">
|
||||||
|
<field name="name">stock.picking.internal.search.inherit</field>
|
||||||
|
<field name="model">stock.picking</field>
|
||||||
|
<field name="inherit_id" ref="stock.view_picking_internal_search"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<xpath expr="//group/filter[@string='Journal']" position="after">
|
||||||
|
<filter string="Invoice Type" domain="[]" context="{'group_by':'invoice_type_id'}"/>
|
||||||
|
</xpath>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="view_picking_out_search" model="ir.ui.view">
|
||||||
|
<field name="name">stock.picking.out.search.inherit</field>
|
||||||
|
<field name="model">stock.picking.out</field>
|
||||||
|
<field name="inherit_id" ref="stock.view_picking_out_search"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<xpath expr="//group/filter[@string='Journal']" position="after">
|
||||||
|
<filter string="Invoice Type" domain="[]" context="{'group_by':'invoice_type_id'}"/>
|
||||||
|
</xpath>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="view_picking_in_search" model="ir.ui.view">
|
||||||
|
<field name="name">stock.picking.in.search.inherit</field>
|
||||||
|
<field name="model">stock.picking.in</field>
|
||||||
|
<field name="inherit_id" ref="stock.view_picking_in_search"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<xpath expr="//group/filter[@string='Journal']" position="after">
|
||||||
|
<filter string="Invoice Type" domain="[]" context="{'group_by':'invoice_type_id'}"/>
|
||||||
|
</xpath>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
</data>
|
</data>
|
||||||
</openerp>
|
</openerp>
|
||||||
|
|
Loading…
Reference in New Issue