summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2017-05-02 18:53:44 +0200
committerChristophe Simonis <chs@odoo.com>2017-05-02 18:53:44 +0200
commitbf7de4d32ff30dd8b322d6c9c2cf2e9feb302e6f (patch)
treebdb67554300b520e41fec6dc32107d4b90156e40 /addons
parenta97cb66961a77e9e3efb6de0d852e93f57afc350 (diff)
parent3f6bb0f544d5bdd102eb06fbc7d5aa9095efc235 (diff)
[MERGE] forward port branch saas-15 up to 3f6bb0f544d
Diffstat (limited to 'addons')
-rw-r--r--addons/account/wizard/account_financial_report.py2
-rw-r--r--addons/auth_signup/data/auth_signup_data.xml4
-rw-r--r--addons/hr_expense/models/hr_expense.py8
-rw-r--r--addons/sale/data/mail_template_data.xml2
-rw-r--r--addons/sale/models/account_invoice.py2
-rw-r--r--addons/stock/models/stock_warehouse.py3
-rw-r--r--addons/web/static/src/js/fields/field_utils.js2
-rw-r--r--addons/website_forum/data/forum_data.xml2
-rw-r--r--addons/website_hr/security/hr_employee_security.xml10
-rw-r--r--addons/website_hr/security/ir.model.access.csv2
10 files changed, 29 insertions, 8 deletions
diff --git a/addons/account/wizard/account_financial_report.py b/addons/account/wizard/account_financial_report.py
index aca71bfc333..7712d1fa9cb 100644
--- a/addons/account/wizard/account_financial_report.py
+++ b/addons/account/wizard/account_financial_report.py
@@ -48,4 +48,4 @@ class AccountingReport(models.TransientModel):
def _print_report(self, data):
data['form'].update(self.read(['date_from_cmp', 'debit_credit', 'date_to_cmp', 'filter_cmp', 'account_report_id', 'enable_filter', 'label_filter', 'target_move'])[0])
- return self.env['report'].get_action(self, 'account.report_financial', data=data)
+ return self.env['report'].get_action(self, 'account.report_financial', data=data, config=False)
diff --git a/addons/auth_signup/data/auth_signup_data.xml b/addons/auth_signup/data/auth_signup_data.xml
index 2cc3d07195c..2b6ceeeed79 100644
--- a/addons/auth_signup/data/auth_signup_data.xml
+++ b/addons/auth_signup/data/auth_signup_data.xml
@@ -20,7 +20,7 @@
<record id="reset_password_email" model="mail.template">
<field name="name">Auth Signup: Reset Password</field>
<field name="model_id" ref="base.model_res_users"/>
- <field name="email_from"><![CDATA[${object.company_id.name} <${(object.company_id.email or user.email)|safe}>]]></field>
+ <field name="email_from"><![CDATA["${object.company_id.name|safe}" <${(object.company_id.email or user.email)|safe}>]]></field>
<field name="email_to">${object.email|safe}</field>
<field name="subject">Password reset</field>
<field name="body_html"><![CDATA[
@@ -56,7 +56,7 @@
<record id="set_password_email" model="mail.template">
<field name="name">Auth Signup: Odoo Connection</field>
<field name="model_id" ref="base.model_res_users"/>
- <field name="email_from"><![CDATA[${object.company_id.name} <${(object.company_id.email or user.email)|safe}>]]></field>
+ <field name="email_from"><![CDATA["${object.company_id.name|safe}" <${(object.company_id.email or user.email)|safe}>]]></field>
<field name="email_to">${object.email|safe}</field>
<field name="subject"><![CDATA[${object.company_id.name} invitation to connect on Odoo]]></field>
<field name="body_html"><![CDATA[
diff --git a/addons/hr_expense/models/hr_expense.py b/addons/hr_expense/models/hr_expense.py
index f3a10cfb417..facef9e2f6f 100644
--- a/addons/hr_expense/models/hr_expense.py
+++ b/addons/hr_expense/models/hr_expense.py
@@ -550,3 +550,11 @@ class HrExpenseSheet(models.Model):
res['domain'] = [('id', 'in', self.mapped('account_move_id').ids)]
res['context'] = {}
return res
+
+
+ @api.one
+ @api.constrains('expense_line_ids')
+ def _check_employee(self):
+ employee_ids = self.expense_line_ids.mapped('employee_id')
+ if len(employee_ids) > 1 or (len(employee_ids) == 1 and employee_ids != self.employee_id):
+ raise ValidationError(_('You cannot add expense lines of another employee.')) \ No newline at end of file
diff --git a/addons/sale/data/mail_template_data.xml b/addons/sale/data/mail_template_data.xml
index 72b2dae500c..23eaa72eac3 100644
--- a/addons/sale/data/mail_template_data.xml
+++ b/addons/sale/data/mail_template_data.xml
@@ -18,7 +18,7 @@
% set access_action = object.with_context(force_website=True).get_access_action()
% set is_online = access_action and access_action['type'] == 'ir.actions.act_url'
% set doc_name = 'quotation' if object.state in ('draft', 'sent') else 'order confirmation'
-% set access_name = is_online and object.template_id and 'Accept and pay %s online' % doc_name or 'View %s' % doc_name
+% set access_name = is_online and object.template_id and doc_name == 'quotation' and 'Accept and pay %s online' % doc_name or 'View %s' % doc_name
% set access_url = is_online and '/mail/view?model=sale.order&res_id=%d' % (object.id) or ''
% if object.partner_id.parent_id:
diff --git a/addons/sale/models/account_invoice.py b/addons/sale/models/account_invoice.py
index 3d61900129d..dcd930d3eb1 100644
--- a/addons/sale/models/account_invoice.py
+++ b/addons/sale/models/account_invoice.py
@@ -101,4 +101,4 @@ class AccountInvoiceLine(models.Model):
layout_category_id = fields.Many2one('sale.layout_category', string='Section')
layout_category_sequence = fields.Integer(
related='layout_category_id.sequence',
- string='Layout Sequence', store=True, default=0)
+ string='Layout Sequence', store=True)
diff --git a/addons/stock/models/stock_warehouse.py b/addons/stock/models/stock_warehouse.py
index 9242aeefa2a..bb4916e30de 100644
--- a/addons/stock/models/stock_warehouse.py
+++ b/addons/stock/models/stock_warehouse.py
@@ -611,7 +611,8 @@ class Warehouse(models.Model):
pull.write({'name': pull.name.replace(warehouse.name, new_name, 1)})
for push in route.push_ids:
push.write({'name': push.name.replace(warehouse.name, new_name, 1)})
- warehouse.mto_pull_id.write({'name': warehouse.mto_pull_id.name.replace(warehouse.name, new_name, 1)})
+ if warehouse.mto_pull_id:
+ warehouse.mto_pull_id.write({'name': warehouse.mto_pull_id.name.replace(warehouse.name, new_name, 1)})
for warehouse in self:
sequence_data = warehouse._get_sequence_values()
warehouse.in_type_id.sequence_id.write(sequence_data['in_type_id'])
diff --git a/addons/web/static/src/js/fields/field_utils.js b/addons/web/static/src/js/fields/field_utils.js
index 534ae68bbf5..afc15b7a882 100644
--- a/addons/web/static/src/js/fields/field_utils.js
+++ b/addons/web/static/src/js/fields/field_utils.js
@@ -392,7 +392,7 @@ function parseInteger(value) {
value = value.replace(new RegExp(core._t.database.parameters.thousands_sep, "g"), '');
var parsed = Number(value);
// do not accept not numbers or float values
- if (isNaN(parsed) || parsed % 1) {
+ if (isNaN(parsed) || parsed % 1 || parsed < -2147483648 || parsed > 2147483647) {
throw new Error(_.str.sprintf(core._t("'%s' is not a correct integer"), value));
}
return parsed;
diff --git a/addons/website_forum/data/forum_data.xml b/addons/website_forum/data/forum_data.xml
index b4a2a56ceba..939fac46191 100644
--- a/addons/website_forum/data/forum_data.xml
+++ b/addons/website_forum/data/forum_data.xml
@@ -138,7 +138,7 @@
<record id="validation_email" model="mail.template">
<field name="name">Forum: Email Verification</field>
<field name="model_id" ref="base.model_res_users"/>
- <field name="email_from"><![CDATA[${object.company_id.name} <${(object.company_id.email or user.email)|safe}>]]></field>
+ <field name="email_from"><![CDATA["${object.company_id.name|safe}" <${(object.company_id.email or user.email)|safe}>]]></field>
<field name="email_to">${object.email|safe}</field>
<field name="subject"><![CDATA[${object.company_id.name} Forums validation]]></field>
<field name="body_html"><![CDATA[
diff --git a/addons/website_hr/security/hr_employee_security.xml b/addons/website_hr/security/hr_employee_security.xml
index e2125c2575b..a86b14310a8 100644
--- a/addons/website_hr/security/hr_employee_security.xml
+++ b/addons/website_hr/security/hr_employee_security.xml
@@ -10,4 +10,14 @@
<field name="perm_create" eval="False"/>
<field name="perm_unlink" eval="False"/>
</record>
+ <record id="hr_employee_portal" model="ir.rule">
+ <field name="name">hr_employee: Portal</field>
+ <field name="model_id" ref="hr.model_hr_employee"/>
+ <field name="domain_force">[('website_published', '=', True)]</field>
+ <field name="groups" eval="[(4, ref('base.group_portal'))]"/>
+ <field name="perm_read" eval="True"/>
+ <field name="perm_write" eval="False"/>
+ <field name="perm_create" eval="False"/>
+ <field name="perm_unlink" eval="False"/>
+ </record>
</odoo> \ No newline at end of file
diff --git a/addons/website_hr/security/ir.model.access.csv b/addons/website_hr/security/ir.model.access.csv
index 6f038a47ba9..53be505e42e 100644
--- a/addons/website_hr/security/ir.model.access.csv
+++ b/addons/website_hr/security/ir.model.access.csv
@@ -1,3 +1,5 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_hr_employee_public,hr.employee.public,hr.model_hr_employee,base.group_public,1,0,0,0
+access_hr_employee_portal,hr.employee.portal,hr.model_hr_employee,base.group_portal,1,0,0,0
access_resource_public,resource.resource.public,resource.model_resource_resource,base.group_public,1,0,0,0
+access_resource_portal,resource.resource.portal,resource.model_resource_resource,base.group_portal,1,0,0,0