diff --git a/addons/account_budget/account_budget_view.xml b/addons/account_budget/account_budget_view.xml index 21f9cc69b8a..f6b4842b596 100644 --- a/addons/account_budget/account_budget_view.xml +++ b/addons/account_budget/account_budget_view.xml @@ -299,7 +299,7 @@ - + diff --git a/addons/account_budget/security/ir.model.access.csv b/addons/account_budget/security/ir.model.access.csv index 131f4424568..f4174f72782 100644 --- a/addons/account_budget/security/ir.model.access.csv +++ b/addons/account_budget/security/ir.model.access.csv @@ -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 diff --git a/addons/crm/res_config_view.xml b/addons/crm/res_config_view.xml index 3ab9ac8a32c..56d46140d2f 100644 --- a/addons/crm/res_config_view.xml +++ b/addons/crm/res_config_view.xml @@ -32,12 +32,6 @@ -
-
- -
-
diff --git a/addons/crm/security/crm_security.xml b/addons/crm/security/crm_security.xml index 07bb3fc539c..3b382a072f4 100644 --- a/addons/crm/security/crm_security.xml +++ b/addons/crm/security/crm_security.xml @@ -3,18 +3,21 @@ - User - Own Leads Only + User: Own Leads Only + the user will have access to his own data in the sales application. - User - All Leads + User: All Leads + the user will have access to all records of everyone in the sales application. Manager + the user will have an access to the sales configuration as well as statistic reports. diff --git a/addons/sale/sale.py b/addons/sale/sale.py index c376d0518f2..a4e9abb881e 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -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)}) diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml index af86cf9b218..651454ef73d 100644 --- a/addons/sale/sale_view.xml +++ b/addons/sale/sale_view.xml @@ -184,8 +184,8 @@ - - + + diff --git a/addons/sale/sale_workflow.xml b/addons/sale/sale_workflow.xml index c18e271d480..5ba381043b1 100644 --- a/addons/sale/sale_workflow.xml +++ b/addons/sale/sale_workflow.xml @@ -196,7 +196,7 @@ - (order_policy=='prepaid') + order_policy=='prepaid' diff --git a/addons/sale_journal/sale_journal.py b/addons/sale_journal/sale_journal.py index a5e922f3644..e0b6e50f4cf 100644 --- a/addons/sale_journal/sale_journal.py +++ b/addons/sale_journal/sale_journal.py @@ -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 = { diff --git a/addons/sale_journal/sale_journal_view.xml b/addons/sale_journal/sale_journal_view.xml index 98f2933d6f3..3dbef8aa9b3 100644 --- a/addons/sale_journal/sale_journal_view.xml +++ b/addons/sale_journal/sale_journal_view.xml @@ -42,7 +42,7 @@ + parent="base.menu_sales_configuration_misc" action="action_definition_journal_invoice_type"/> @@ -52,7 +52,7 @@ - + @@ -64,8 +64,8 @@ sale.order - - + + @@ -77,8 +77,8 @@ stock.picking - - + + @@ -90,7 +90,7 @@ stock.picking - + @@ -98,10 +98,10 @@ stock.picking.journal.view.form - stock.picking + stock.picking.in - + @@ -109,10 +109,10 @@ stock.picking.journal.view.tree - stock.picking + stock.picking.in - + @@ -120,10 +120,10 @@ stock.picking.journal.view.form - stock.picking + stock.picking.out - + @@ -131,10 +131,10 @@ stock.picking.journal.view.tree - stock.picking + stock.picking.out - + @@ -148,11 +148,54 @@ - + + + sale.order.search.inherit + sale.order + + + + + + + + + + stock.picking.internal.search.inherit + stock.picking + + + + + + + + + + stock.picking.out.search.inherit + stock.picking.out + + + + + + + + + + stock.picking.in.search.inherit + stock.picking.in + + + + + + +