[MERGE] sale fixes

bzr revid: fp@openerp.com-20120916144529-ho1p72gtake7j2in
This commit is contained in:
Fabien Pinckaers 2012-09-16 16:45:29 +02:00
commit 260f175a36
9 changed files with 94 additions and 30 deletions

View File

@ -299,7 +299,7 @@
<field name="inherit_id" ref="analytic.view_account_analytic_account_form"/>
<field name="arch" type="xml">
<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">
<tree string="Budget Lines" editable="top">
<field name="crossovered_budget_id"/>

View File

@ -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_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_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

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
4 access_account_budget_post_accountant account.budget.post accountant model_account_budget_post account.group_account_user 1 1 1 1
5 access_crossovered_budget_accountant crossovered.budget accountant model_crossovered_budget account.group_account_user 1 1 1 1
6 access_crossovered_budget_lines_accountant crossovered.budget.lines accountant model_crossovered_budget_lines account.group_account_user 1 1 1 1
7 access_budget crossovered.budget.lines manager model_crossovered_budget_lines base.group_user 1 0 1 0 1 0

View File

@ -32,12 +32,6 @@
</div>
</group>
</div>
<div name="Customer Features" position="inside">
<div>
<field name="module_google_map" class="oe_inline"/>
<label for="module_google_map"/>
</div>
</div>
</field>
</record>

View File

@ -3,18 +3,21 @@
<data noupdate="0">
<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="comment">the user will have access to his own data in the sales application.</field>
</record>
<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="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 id="base.group_sale_manager" model="res.groups">
<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="implied_ids" eval="[(4, ref('base.group_sale_salesman_all_leads'))]"/>
<field name="users" eval="[(4, ref('base.user_root'))]"/>

View File

@ -582,6 +582,12 @@ class sale_order(osv.osv):
result.update(view_id = res and res[1] or False)
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):
res = False
invoices = {}
@ -751,7 +757,10 @@ class sale_order(osv.osv):
for o in self.browse(cr, uid, ids):
if not o.order_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)})
else:
self.write(cr, uid, [o.id], {'state': 'progress', 'date_confirm': fields.date.context_today(self, cr, uid, context=context)})

View File

@ -184,8 +184,8 @@
<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 domain="[('parent_id','=',partner_id)]" 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_invoice_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'])]"/>
</group>
<group>

View File

@ -196,7 +196,7 @@
<record id="trans_wait_invoice_invoice" model="workflow.transition">
<field name="act_from" ref="act_wait_invoice"/>
<field name="act_to" ref="act_invoice"/>
<field name="condition">(order_policy=='prepaid')</field>
<field name="condition">order_policy=='prepaid'</field>
</record>
<record id="trans_wait_invoice_invoice_manual" model="workflow.transition">

View File

@ -61,6 +61,21 @@ class picking(osv.osv):
}
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):
_inherit = "sale.order"
_columns = {

View File

@ -42,7 +42,7 @@
</record>
<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 -->
@ -52,7 +52,7 @@
<field name="inherit_id" ref="sale.view_order_form" />
<field name="arch" type="xml">
<field name="origin" position="after">
<field name="invoice_type_id" widget="selection"/>
<field name="invoice_type_id"/>
</field>
</field>
</record>
@ -64,8 +64,8 @@
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_tree" />
<field name="arch" type="xml">
<field name="state" position="after">
<field name="invoice_type_id" widget="selection"/>
<field name="state" position="before">
<field name="invoice_type_id"/>
</field>
</field>
</record>
@ -77,8 +77,8 @@
<field name="model">stock.picking</field>
<field name="inherit_id" ref="stock.view_picking_form" />
<field name="arch" type="xml">
<field name="origin" position="after">
<field name="invoice_type_id" widget="selection"/>
<field name="move_type" position="before">
<field name="invoice_type_id"/>
</field>
</field>
</record>
@ -90,7 +90,7 @@
<field name="model">stock.picking</field>
<field name="inherit_id" ref="stock.vpicktree" />
<field name="arch" type="xml">
<field name="origin" position="after">
<field name="state" position="before">
<field name="invoice_type_id"/>
</field>
</field>
@ -98,10 +98,10 @@
<record model="ir.ui.view" id="sale_journal_picking_order_in">
<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="arch" type="xml">
<field name="origin" position="after">
<field name="move_type" position="before">
<field name="invoice_type_id"/>
</field>
</field>
@ -109,10 +109,10 @@
<record model="ir.ui.view" id="sale_journal_picking_order_tree_in">
<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="arch" type="xml">
<field name="origin" position="after">
<field name="state" position="before">
<field name="invoice_type_id"/>
</field>
</field>
@ -120,10 +120,10 @@
<record model="ir.ui.view" id="sale_journal_picking_order_out">
<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="arch" type="xml">
<field name="origin" position="after">
<field name="move_type" position="before">
<field name="invoice_type_id"/>
</field>
</field>
@ -131,10 +131,10 @@
<record model="ir.ui.view" id="sale_journal_picking_order_tree_out">
<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="arch" type="xml">
<field name="origin" position="after">
<field name="state" position="before">
<field name="invoice_type_id"/>
</field>
</field>
@ -148,11 +148,54 @@
<page string="Sales &amp; Purchases" position="inside">
<group colspan="2" col="2">
<separator string="Invoicing" colspan="2"/>
<field name="property_invoice_type" widget="selection"/>
<field name="property_invoice_type"/>
</group>
</page>
</field>
</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>
</openerp>