diff --git a/addons/account/company.py b/addons/account/company.py index 3bb241a42a6..1ec9b8c55da 100644 --- a/addons/account/company.py +++ b/addons/account/company.py @@ -45,7 +45,7 @@ class res_company(osv.osv): _defaults = { 'expects_chart_of_accounts': True, 'tax_calculation_rounding_method': 'round_per_line', - 'overdue_msg': '''Dear Sir, dear Madam, + 'overdue_msg': '''Dear Sir/Madam, Our records indicate that some payments on your account are still due. Please find details below. If the amount has already been paid, please disregard this notice. Otherwise, please forward us the total amount stated below. diff --git a/addons/account_analytic_analysis/security/ir.model.access.csv b/addons/account_analytic_analysis/security/ir.model.access.csv index 4af43dbcb2f..74425cea3dd 100644 --- a/addons/account_analytic_analysis/security/ir.model.access.csv +++ b/addons/account_analytic_analysis/security/ir.model.access.csv @@ -3,5 +3,3 @@ access_account_analytic_analysis_summary_user_sale,account_analytic_analysis.sum access_account_analytic_analysis_summary_month_sale,account_analytic_analysis.summary.month sale,model_account_analytic_analysis_summary_month,base.group_sale_salesman,1,0,0,0 access_account_analytic_analysis_summary_user,account_analytic_analysis.summary.user,model_account_analytic_analysis_summary_user,account.group_account_manager,1,0,0,0 access_account_analytic_analysis_summary_month,account_analytic_analysis.summary.month,model_account_analytic_analysis_summary_month,account.group_account_manager,1,0,0,0 -access_account_analytic_analysis_summary_user_project_user,account_analytic_analysis.summary.user project,model_account_analytic_analysis_summary_user,project.group_project_user,1,0,0,0 -access_account_analytic_analysis_summary_month_project_user,account_analytic_analysis.summary.month project,model_account_analytic_analysis_summary_month,project.group_project_user,1,0,0,0 diff --git a/addons/analytic_contract_project/analytic_contract_project.py b/addons/analytic_contract_project/analytic_contract_project.py index 6221617637e..1ffab1246c9 100644 --- a/addons/analytic_contract_project/analytic_contract_project.py +++ b/addons/analytic_contract_project/analytic_contract_project.py @@ -78,6 +78,7 @@ class task(osv.osv): def create(self, cr, uid, vals, context=None): task_id = super(task, self).create(cr, uid, vals, context=context) task_browse = self.browse(cr, uid, task_id, context=context) - self.pool.get('account.analytic.account').message_append_note(cr, uid, [task_browse.project_id.analytic_account_id.id], body=_("Task %s has been created.") % (task_browse.name), context=context) + if task_browse.project_id.analytic_account_id: + self.pool.get('account.analytic.account').message_append_note(cr, uid, [task_browse.project_id.analytic_account_id.id], body=_("Task %s has been created.") % (task_browse.name), context=context) return task_id task() diff --git a/addons/delivery/delivery.py b/addons/delivery/delivery.py index 75eb766f011..b03bb095d5d 100644 --- a/addons/delivery/delivery.py +++ b/addons/delivery/delivery.py @@ -68,7 +68,7 @@ class delivery_carrier(osv.osv): 'price' : fields.function(get_price, string='Price'), 'active': fields.boolean('Active', help="If the active field is set to False, it will allow you to hide the delivery carrier without removing it."), 'normal_price': fields.float('Normal Price', help="Keep empty if the pricing depends on the advanced pricing per destination"), - 'free_if_more_than': fields.boolean('Free If More Than', help="If the order is more expensive than a certain amount, the customer can benefit from a free shipping"), + 'free_if_more_than': fields.boolean('Free If Order Total Amount Is More Than', help="If the order is more expensive than a certain amount, the customer can benefit from a free shipping"), 'amount': fields.float('Amount', help="Amount of the order to benefit from a free shipping, expressed in the company currency"), 'use_detailed_pricelist': fields.boolean('Advanced Pricing per Destination', help="Check this box if you want to manage delivery prices that depends on the destination, the weight, the total of the order, etc."), 'pricelist_ids': fields.one2many('delivery.grid', 'carrier_id', 'Advanced Pricing'), diff --git a/addons/mail/mail_message_view.xml b/addons/mail/mail_message_view.xml index 634b5317d27..eb68ab70a3b 100644 --- a/addons/mail/mail_message_view.xml +++ b/addons/mail/mail_message_view.xml @@ -82,7 +82,7 @@ - + - - + + diff --git a/addons/project/project.py b/addons/project/project.py index aa9316aec1b..9a5ec1f8a35 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -1089,6 +1089,7 @@ class task(base_stage, osv.osv): #raise osv.except_osv(_('Warning !'), _('Stage is not defined in the project.')) write_vals = vals_reset_kstate if t.stage_id != new_stage else vals super(task,self).write(cr, uid, [t.id], write_vals, context=context) + self.stage_set_send_note(cr, uid, [t.id], new_stage, context=context) result = True else: result = super(task,self).write(cr, uid, ids, vals, context=context) diff --git a/addons/project_mrp/project_procurement.py b/addons/project_mrp/project_procurement.py index 9252e3bbd11..299a74f52aa 100644 --- a/addons/project_mrp/project_procurement.py +++ b/addons/project_mrp/project_procurement.py @@ -45,9 +45,9 @@ class procurement_order(osv.osv): def _convert_qty_company_hours(self, cr, uid, procurement, context=None): product_uom = self.pool.get('product.uom') - company_time_uom_id = self.pool.get('res.users').browse(cr, uid, uid).company_id.project_time_mode_id.id - if procurement.product_uom.id != company_time_uom_id: - planned_hours = product_uom._compute_qty(cr, uid, procurement.product_uom.id, procurement.product_qty, company_time_uom_id) + company_time_uom_id = self.pool.get('res.users').browse(cr, uid, uid).company_id.project_time_mode_id + if procurement.product_uom.id != company_time_uom_id.id and procurement.product_uom.category_id.id == company_time_uom_id.category_id.id: + planned_hours = product_uom._compute_qty(cr, uid, procurement.product_uom.id, procurement.product_qty, company_time_uom_id.id) else: planned_hours = procurement.product_qty return planned_hours @@ -71,7 +71,7 @@ class procurement_order(osv.osv): task_id = project_task.create(cr, uid, { 'name': '%s:%s' % (procurement.origin or '', procurement.product_id.name), 'date_deadline': procurement.date_planned, - 'planned_hours':planned_hours, + 'planned_hours': planned_hours, 'remaining_hours': planned_hours, 'user_id': procurement.product_id.product_manager.id, 'notes': procurement.note, diff --git a/addons/sale/res_config_view.xml b/addons/sale/res_config_view.xml index 74796bac6fc..d4b045a2775 100644 --- a/addons/sale/res_config_view.xml +++ b/addons/sale/res_config_view.xml @@ -30,7 +30,7 @@ - + diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml index 111eee54c28..9d368563e3c 100644 --- a/addons/sale/sale_view.xml +++ b/addons/sale/sale_view.xml @@ -204,6 +204,7 @@ + - + diff --git a/addons/sale/stock_view.xml b/addons/sale/stock_view.xml index 928eebafcae..40de6872be0 100644 --- a/addons/sale/stock_view.xml +++ b/addons/sale/stock_view.xml @@ -10,6 +10,9 @@ + @@ -71,7 +74,7 @@ form tree,form,calendar [('type','=','out')] - {'default_type': 'out', 'contact_display': 'partner_address', 'search_default_to_invoice': 1, 'search_default_done': 1} + {'default_type': 'out', 'contact_display': 'partner_address', 'search_default_to_invoice': 1, 'search_default_done': 1, 'default_invoice_state': '2binvoiced'} diff --git a/addons/stock/wizard/stock_change_product_qty.py b/addons/stock/wizard/stock_change_product_qty.py index 9a00a6d62ce..0cc97e10298 100644 --- a/addons/stock/wizard/stock_change_product_qty.py +++ b/addons/stock/wizard/stock_change_product_qty.py @@ -62,6 +62,9 @@ class stock_change_product_qty(osv.osv_memory): res.update({'new_quantity': 1}) if 'product_id' in fields: res.update({'product_id': product_id}) + if 'location_id' in fields: + location_id = self.pool.get('ir.model.data').get_object(cr, uid, 'stock', 'stock_location_stock', context=context) + res.update({'location_id': location_id and location_id.id or False}) return res def change_product_qty(self, cr, uid, ids, context=None): diff --git a/addons/stock/wizard/stock_change_product_qty_view.xml b/addons/stock/wizard/stock_change_product_qty_view.xml index e360f5aa025..6713194f90b 100644 --- a/addons/stock/wizard/stock_change_product_qty_view.xml +++ b/addons/stock/wizard/stock_change_product_qty_view.xml @@ -10,8 +10,8 @@ - - + +