diff --git a/addons/account/models/account_invoice.py b/addons/account/models/account_invoice.py index e3dbb5ec1b7..6271e69b740 100644 --- a/addons/account/models/account_invoice.py +++ b/addons/account/models/account_invoice.py @@ -137,28 +137,29 @@ class AccountInvoice(models.Model): if self.payment_move_line_ids: info = {'title': _('Less Payment'), 'outstanding': False, 'content': []} for payment in self.payment_move_line_ids: + #we don't take into account the movement created due to a change difference + if payment.currency_id and payment.move_id.rate_diff_partial_rec_id: + continue if self.type in ('out_invoice', 'in_refund'): amount = sum([p.amount for p in payment.matched_debit_ids if p.debit_move_id in self.move_id.line_ids]) amount_currency = sum([p.amount_currency for p in payment.matched_debit_ids if p.debit_move_id in self.move_id.line_ids]) elif self.type in ('in_invoice', 'out_refund'): amount = sum([p.amount for p in payment.matched_credit_ids if p.credit_move_id in self.move_id.line_ids]) amount_currency = sum([p.amount_currency for p in payment.matched_credit_ids if p.credit_move_id in self.move_id.line_ids]) - #we don't take into account the movement created due to a change difference - if payment.currency_id and payment.move_id.rate_diff_partial_rec_id: - continue # get the payment value in invoice currency if payment.currency_id and amount_currency != 0: + currency_id = payment.currency_id amount_to_show = -amount_currency else: - self.with_context(date=payment.date) - amount_to_show = payment.company_id.currency_id.compute(-amount, self.currency_id) + currency_id = payment.company_id.currency_id + amount_to_show = -amount info['content'].append({ 'name': payment.name, 'journal_name': payment.journal_id.name, 'amount': amount_to_show, - 'currency': self.currency_id.symbol, - 'digits': [69, self.currency_id.decimal_places], - 'position': self.currency_id.position, + 'currency': currency_id.symbol, + 'digits': [69, currency_id.decimal_places], + 'position': currency_id.position, 'date': payment.date, 'payment_id': payment.id, 'move_id': payment.move_id.id, diff --git a/addons/account/models/partner.py b/addons/account/models/partner.py index e789c36080b..2b861562eeb 100644 --- a/addons/account/models/partner.py +++ b/addons/account/models/partner.py @@ -228,18 +228,6 @@ class ResPartner(models.Model): _inherit = 'res.partner' _description = 'Partner' - @api.multi - def onchange_state(self, state_id): - res = super(ResPartner, self).onchange_state(state_id=state_id) - res['value']['property_account_position_id'] = self.env['account.fiscal.position']._get_fpos_by_region( - country_id=self.env.context.get('country_id'), state_id=state_id, zipcode=self.env.context.get('zip')) - return res - - @api.onchange('country_id', 'zip') - def _onchange_country_id(self): - self.property_account_position_id = self.env['account.fiscal.position']._get_fpos_by_region( - country_id=self.country_id.id, state_id=self.state_id.id, zipcode=self.zip) - @api.multi def _credit_debit_get(self): tables, where_clause, where_params = self.env['account.move.line']._query_get() diff --git a/addons/account/security/ir.model.access.csv b/addons/account/security/ir.model.access.csv index 5dfbaeebf6f..253a47c4c2e 100644 --- a/addons/account/security/ir.model.access.csv +++ b/addons/account/security/ir.model.access.csv @@ -13,6 +13,7 @@ access_account_tax,account.tax,model_account_tax,account.group_account_invoice,1 access_account_account_template,account.account.template,model_account_account_template,account.group_account_manager,1,1,1,1 access_account_chart_template,account.chart.template,model_account_chart_template,account.group_account_manager,1,1,1,1 access_account_tax_template,account.tax.template,model_account_tax_template,account.group_account_manager,1,1,1,1 +access_account_bank_statement_group_invoice,account.bank.statement.group.invoice,model_account_bank_statement,account.group_account_invoice,1,0,0,0 access_account_bank_statement,account.bank.statement,model_account_bank_statement,account.group_account_user,1,1,1,1 access_account_bank_statement_line,account.bank.statement.line,model_account_bank_statement_line,account.group_account_user,1,1,1,1 access_account_analytic_line_manager,account.analytic.line manager,model_account_analytic_line,account.group_account_manager,1,0,0,0 @@ -65,6 +66,7 @@ access_account_financial_report_invoice,account.financial.report invoice,model_a access_account_account_tax,account.account.tag,model_account_account_tag,account.group_account_user,1,0,0,0 access_account_account_tax_user,account.account.tag,model_account_account_tag,account.group_account_invoice,1,0,0,0 access_account_operation_template,account.operation.template,model_account_operation_template,account.group_account_user,1,1,1,1 +access_account_partial_reconcile_group_invoice,account.partial.reconcile.group.invoice,model_account_partial_reconcile,account.group_account_invoice,1,1,1,0 access_account_partial_reconcile,account.partial.reconcile,model_account_partial_reconcile,account.group_account_user,1,1,1,1 access_account_payment_method,account.payment.method,model_account_payment_method,account.group_account_invoice,1,1,1,1 access_account_payment,account.payment,model_account_payment,account.group_account_invoice,1,1,1,1 diff --git a/addons/account_check_printing/__openerp__.py b/addons/account_check_printing/__openerp__.py index 9949a999fe5..6a783557bce 100644 --- a/addons/account_check_printing/__openerp__.py +++ b/addons/account_check_printing/__openerp__.py @@ -10,7 +10,7 @@ It must be used as a dependency for modules that provide country-specific check The check settings are located in the accounting journals configuration page. """, 'website': 'https://www.odoo.com/page/accounting', - 'depends' : ['account_accountant'], + 'depends' : ['account'], 'data': [ 'data/check_printing.xml', 'views/account_journal_dashboard_view.xml', diff --git a/addons/auth_signup/controllers/main.py b/addons/auth_signup/controllers/main.py index b420a50e352..8f692a45016 100644 --- a/addons/auth_signup/controllers/main.py +++ b/addons/auth_signup/controllers/main.py @@ -96,7 +96,9 @@ class AuthSignupHome(openerp.addons.web.controllers.main.Home): values = dict((key, qcontext.get(key)) for key in ('login', 'name', 'password')) assert any([k for k in values.values()]), "The form was not properly filled in." assert values.get('password') == qcontext.get('confirm_password'), "Passwords do not match; please retype them." - values['lang'] = request.lang + supported_langs = [lang['code'] for lang in request.registry['res.lang'].search_read(request.cr, openerp.SUPERUSER_ID, [], ['code'])] + if request.lang in supported_langs: + values['lang'] = request.lang self._signup_with_values(qcontext.get('token'), values) request.cr.commit() diff --git a/addons/auth_signup/res_users.py b/addons/auth_signup/res_users.py index b9912fcc365..eab3fbe9877 100644 --- a/addons/auth_signup/res_users.py +++ b/addons/auth_signup/res_users.py @@ -63,7 +63,10 @@ class res_partner(osv.Model): continue # no signup token, no user, thus no signup url! fragment = dict() - if action: + base = '/web#' + if action == '/mail/view': + base = '/mail/view?' + elif action: fragment['action'] = action if view_type: fragment['view_type'] = view_type @@ -72,10 +75,10 @@ class res_partner(osv.Model): if model: fragment['model'] = model if res_id: - fragment['id'] = res_id + fragment['res_id'] = res_id if fragment: - query['redirect'] = '/web#' + werkzeug.url_encode(fragment) + query['redirect'] = base + werkzeug.url_encode(fragment) res[partner.id] = urljoin(base_url, "/web/%s?%s" % (route, werkzeug.url_encode(query))) @@ -148,7 +151,7 @@ class res_partner(osv.Model): if partner.user_ids: res['login'] = partner.user_ids[0].login else: - res['email'] = partner.email or '' + res['email'] = res['login'] = partner.email or '' return res class res_users(osv.Model): diff --git a/addons/base_iban/__openerp__.py b/addons/base_iban/__openerp__.py index 3dd6fbd1799..9aa69c05f41 100644 --- a/addons/base_iban/__openerp__.py +++ b/addons/base_iban/__openerp__.py @@ -11,7 +11,7 @@ This module installs the base for IBAN (International Bank Account Number) bank The ability to extract the correctly represented local accounts from IBAN accounts with a single statement. """, - 'depends': ['account_accountant'], + 'depends': ['account'], 'demo': ['demo/iban_demo.xml'], 'installable': True, 'auto_install': False, diff --git a/addons/calendar/calendar.py b/addons/calendar/calendar.py index 05006d3e804..49b621b5d24 100644 --- a/addons/calendar/calendar.py +++ b/addons/calendar/calendar.py @@ -1011,8 +1011,10 @@ class calendar_event(osv.Model): return value start = datetime.strptime(start, DEFAULT_SERVER_DATETIME_FORMAT) value['stop_date'] = (start + timedelta(hours=duration)).strftime(DEFAULT_SERVER_DATE_FORMAT) + value['stop'] = (start + timedelta(hours=duration)).strftime(DEFAULT_SERVER_DATETIME_FORMAT) value['stop_datetime'] = (start + timedelta(hours=duration)).strftime(DEFAULT_SERVER_DATETIME_FORMAT) value['start_date'] = start.strftime(DEFAULT_SERVER_DATE_FORMAT) + value['start'] = start.strftime(DEFAULT_SERVER_DATETIME_FORMAT) return {'value': value} def onchange_dates(self, cr, uid, ids, fromtype, start=False, end=False, checkallday=False, allday=False, context=None): @@ -1038,16 +1040,6 @@ class calendar_event(osv.Model): value['stop_datetime'] = datetime.strftime(end, DEFAULT_SERVER_DATETIME_FORMAT) value['stop'] = datetime.strftime(end, DEFAULT_SERVER_DATETIME_FORMAT) - else: - if fromtype == 'start' and start: - start = datetime.strptime(start, DEFAULT_SERVER_DATETIME_FORMAT) - value['start_date'] = datetime.strftime(start, DEFAULT_SERVER_DATE_FORMAT) - value['start'] = datetime.strftime(start, DEFAULT_SERVER_DATETIME_FORMAT) - if fromtype == 'stop' and end: - end = datetime.strptime(end, DEFAULT_SERVER_DATETIME_FORMAT) - value['stop_date'] = datetime.strftime(end, DEFAULT_SERVER_DATE_FORMAT) - value['stop'] = datetime.strftime(end, DEFAULT_SERVER_DATETIME_FORMAT) - return {'value': value} def new_invitation_token(self, cr, uid, record, partner_id): diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index 99535d8f8aa..b9fe178c85c 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -528,7 +528,7 @@