Skip to content

Commit

Permalink
[MERGE] forward port branch 11.0 up to e5f93b8
Browse files Browse the repository at this point in the history
  • Loading branch information
KangOl committed Mar 8, 2019
2 parents db50050 + e5f93b8 commit ecd8c02
Show file tree
Hide file tree
Showing 26 changed files with 63 additions and 61 deletions.
4 changes: 1 addition & 3 deletions addons/account/tests/test_account_invoice_rounding.py
Expand Up @@ -3,7 +3,6 @@
from odoo.addons.account.tests.account_test_classes import AccountingTestCase
from odoo.exceptions import ValidationError
from odoo.tests import tagged
from odoo.tools import mute_logger

import time

Expand Down Expand Up @@ -61,8 +60,7 @@ def create_invoice(self, amount, cash_rounding_id, tax_amount=None):
# to avoid a ValidationError from _check_cash_rounding because the onchange
# are not well triggered in the tests.
try:
with mute_logger('odoo.models'):
invoice_id.cash_rounding_id = cash_rounding_id
invoice_id.cash_rounding_id = cash_rounding_id
except ValidationError:
pass

Expand Down
2 changes: 1 addition & 1 deletion addons/account/views/account_payment_view.xml
Expand Up @@ -71,7 +71,7 @@
</div>
<div class="col-xs-6">
<span class="pull-right label label-default">
<field name="state" widget="kanban_label_selection" options="{'classes': {'draft': 'default', 'sent': 'success'}}"/>
<field name="state" widget="label_selection" options="{'classes': {'draft': 'default', 'sent': 'success'}}"/>
</span>
</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion addons/account/views/account_view.xml
Expand Up @@ -1487,7 +1487,7 @@
</div>
<div class="col-xs-6">
<span class="pull-right">
<field name="state" widget="kanban_label_selection" options="{'classes': {'draft': 'default', 'posted': 'success'}}"/>
<field name="state" widget="label_selection" options="{'classes': {'draft': 'default', 'posted': 'success'}}"/>
</span>
</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion addons/account_asset/views/account_asset_views.xml
Expand Up @@ -262,7 +262,7 @@
</div>
<div class="col-xs-6">
<span class="pull-right text-right">
<field name="state" widget="kanban_label_selection" options="{'classes': {'draft': 'primary', 'open': 'success', 'close': 'default'}}"/>
<field name="state" widget="label_selection" options="{'classes': {'draft': 'primary', 'open': 'success', 'close': 'default'}}"/>
</span>
</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion addons/account_budget/views/account_budget_views.xml
Expand Up @@ -170,7 +170,7 @@
</div>
<div class="col-xs-4">
<span class="pull-right">
<field name="state" widget="kanban_label_selection" options="{'classes': {'draft': 'default', 'done': 'success'}}"/>
<field name="state" widget="label_selection" options="{'classes': {'draft': 'default', 'done': 'success'}}"/>
</span>
</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion addons/gamification/models/badge.py
Expand Up @@ -233,7 +233,7 @@ def _can_grant_badge(self):
elif self.rule_auth == 'users' and self.env.user not in self.rule_auth_user_ids:
return self.USER_NOT_VIP
elif self.rule_auth == 'having':
all_user_badges = self.env['gamification.badge.user'].search([('user_id', '=', self.env.uid)])
all_user_badges = self.env['gamification.badge.user'].search([('user_id', '=', self.env.uid)]).mapped('badge_id')
if self.rule_auth_badge_ids - all_user_badges:
return self.BADGE_REQUIRED

Expand Down
2 changes: 1 addition & 1 deletion addons/hr_holidays/report/hr_leave_reports.xml
Expand Up @@ -77,7 +77,7 @@
<div>
<strong class="o_kanban_record_title"><t t-esc="record.employee_id.value"/></strong>
<span class="pull-right">
<field name="state" widget="kanban_label_selection" options="{'classes': {'draft': 'default', 'validate': 'success','confirm': 'default', 'cancel': 'danger'}}"/>
<field name="state" widget="label_selection" options="{'classes': {'draft': 'default', 'validate': 'success','confirm': 'default', 'cancel': 'danger'}}"/>
</span>
</div>
<div class="text-muted o_kanban_record_subtitle">
Expand Down
2 changes: 1 addition & 1 deletion addons/lunch/views/lunch_views.xml
Expand Up @@ -383,7 +383,7 @@
<div class="o_kanban_record_headings">
<strong class="o_kanban_record_title"><field name="product_id"/></strong>
</div>
<field name="state" widget="kanban_label_selection" options="{'classes': {'new': 'default', 'confirmed': 'success', 'cancelled':'danger'}}"/>
<field name="state" widget="label_selection" options="{'classes': {'new': 'default', 'confirmed': 'success', 'cancelled':'danger'}}"/>
</div>
<div>
<field name="note"/>
Expand Down
2 changes: 1 addition & 1 deletion addons/mrp/views/mrp_unbuild_views.xml
Expand Up @@ -83,7 +83,7 @@
</div>
<div class="col-xs-4">
<span class="pull-right text-right">
<field name="state" widget="kanban_label_selection" options="{'classes': {'draft': 'default', 'done': 'success'}}"/>
<field name="state" widget="label_selection" options="{'classes': {'draft': 'default', 'done': 'success'}}"/>
</span>
</div>
</div>
Expand Down
15 changes: 12 additions & 3 deletions addons/payment_authorize/models/payment.py
Expand Up @@ -6,6 +6,7 @@
import hashlib
import hmac
import logging
import string
import time

from odoo import _, api, fields, models
Expand Down Expand Up @@ -53,8 +54,16 @@ def _authorize_generate_hashing(self, values):
values['x_fp_sequence'],
values['x_fp_timestamp'],
values['x_amount'],
values['x_currency_code']])
return hmac.new(values['x_trans_key'].encode('utf-8'), data.encode('utf-8'), hashlib.md5).hexdigest()
values['x_currency_code']]).encode('utf-8')

# [BACKWARD COMPATIBILITY] Check that the merchant did update his transaction
# key to signature key (end of MD5 support from Authorize.net)
# The signature key is now '128-character hexadecimal format', while the
# transaction key was only 16-character.
if len(values['x_trans_key']) == 128:
return hmac.new(values['x_trans_key'].decode("hex").encode('utf-8'), data, hashlib.sha512).hexdigest().upper()
else:
return hmac.new(values['x_trans_key'].encode('utf-8'), data, hashlib.md5).hexdigest()

@api.multi
def authorize_form_generate_values(self, values):
Expand Down Expand Up @@ -182,7 +191,7 @@ def create(self, vals):
def _authorize_form_get_tx_from_data(self, data):
""" Given a data dict coming from authorize, verify it and find the related
transaction record. """
reference, trans_id, fingerprint = data.get('x_invoice_num'), data.get('x_trans_id'), data.get('x_MD5_Hash')
reference, trans_id, fingerprint = data.get('x_invoice_num'), data.get('x_trans_id'), data.get('x_SHA2_Hash') or data.get('x_MD5_Hash')
if not reference or not trans_id or not fingerprint:
error_msg = _('Authorize: received data with missing reference (%s) or trans_id (%s) or fingerprint (%s)') % (reference, trans_id, fingerprint)
_logger.info(error_msg)
Expand Down
15 changes: 3 additions & 12 deletions addons/payment_authorize/tests/test_authorize.py
@@ -1,7 +1,5 @@
# -*- coding: utf-8 -*-

import hashlib
import hmac
import time
from werkzeug import urls
from lxml import objectify
Expand Down Expand Up @@ -29,15 +27,6 @@ def setUp(self):
@odoo.tests.tagged('post_install', '-at_install')
class AuthorizeForm(AuthorizeCommon):

def _authorize_generate_hashing(self, values):
data = '^'.join([
values['x_login'],
values['x_fp_sequence'],
values['x_fp_timestamp'],
values['x_amount'],
]) + '^'
return hmac.new(values['x_trans_key'].encode('utf-8'), data.encode('utf-8'), hashlib.md5).hexdigest()

def test_10_Authorize_form_render(self):
self.assertEqual(self.authorize.environment, 'test', 'test without test environment')

Expand Down Expand Up @@ -82,7 +71,7 @@ def test_10_Authorize_form_render(self):
'x_ship_to_state': None,
}

form_values['x_fp_hash'] = self._authorize_generate_hashing(form_values)
form_values['x_fp_hash'] = self.env['payment.acquirer']._authorize_generate_hashing(form_values)
# render the button
res = self.authorize.render('SO004', 56.16, self.currency_usd.id, values=self.buyer_values)
# check form result
Expand All @@ -109,7 +98,9 @@ def test_20_authorize_form_management(self):
# typical data posted by authorize after client has successfully paid
authorize_post_data = {
'return_url': u'/shop/payment/validate',
# x_MD5_Hash will be empty starting the 28th March 2019
'x_MD5_Hash': u'7934485E1C105940BE854208D10FAB4F',
'x_SHA2_Hash': u'7D3AC844BE8CA3F649AB885A90D22CFE35B850338EC91D1A5ADD819A85FF948A3D777334A18CDE36821DC8F2B42A6E1950C1FF96B52B60F23201483A656195FB',
'x_account_number': u'XXXX0027',
'x_address': u'Huge Street 2/543',
'x_amount': u'320.00',
Expand Down
2 changes: 1 addition & 1 deletion addons/point_of_sale/static/src/js/screens.js
Expand Up @@ -1307,7 +1307,7 @@ var ClientListScreenWidget = ScreenWidget.extend({
// what happens when we've just pushed modifications for a partner of id partner_id
saved_client_details: function(partner_id){
var self = this;
this.reload_partners().then(function(){
return this.reload_partners().then(function(){
var partner = self.pos.db.get_partner_by_id(partner_id);
if (partner) {
self.new_client = partner;
Expand Down
2 changes: 1 addition & 1 deletion addons/point_of_sale/views/pos_order_view.xml
Expand Up @@ -134,7 +134,7 @@
</div>
<div class="col-xs-4">
<span class="pull-right text-right">
<field name="state" widget="kanban_label_selection" options="{'classes': {'draft': 'default',
<field name="state" widget="label_selection" options="{'classes': {'draft': 'default',
'invoiced': 'success', 'cancel': 'danger'}}"/>
</span>
</div>
Expand Down
2 changes: 1 addition & 1 deletion addons/point_of_sale/views/pos_session_view.xml
Expand Up @@ -161,7 +161,7 @@
<div class="o_kanban_record_headings">
<strong class="o_kanban_record_title"><span><field name="config_id"/></span></strong>
</div>
<field name="state" widget="kanban_label_selection" options="{'classes': {'opening_control': 'default',
<field name="state" widget="label_selection" options="{'classes': {'opening_control': 'default',
'opened': 'success', 'closing_control': 'warning', 'closed': 'warning'}}"/>
</div>
<div class="o_kanban_record_body">
Expand Down
Expand Up @@ -30,7 +30,7 @@
<div class="o_kanban_record_headings mt4">
<strong class="o_kanban_record_title"><field name="name"/></strong>
</div>
<field name="exclusive" widget="kanban_label_selection"/>
<field name="exclusive" widget="label_selection"/>
</div>
</div>
</t>
Expand Down Expand Up @@ -253,7 +253,7 @@
<div class="o_kanban_record_headings mt4">
<strong class="o_kanban_record_title"><span><field name="name"/></span></strong>
</div>
<field name="state" widget="kanban_label_selection" options="{'classes': {'draft': 'default', 'in_progress': 'default', 'open': 'success', 'done': 'success', 'close': 'danger'}}"/>
<field name="state" widget="label_selection" options="{'classes': {'draft': 'default', 'in_progress': 'default', 'open': 'success', 'done': 'success', 'close': 'danger'}}"/>
</div>
<div class="o_kanban_record_body">
<span class="text-muted"><field name="type_id"/></span>
Expand Down
2 changes: 1 addition & 1 deletion addons/repair/views/repair_views.xml
Expand Up @@ -205,7 +205,7 @@
<strong><span><t t-esc="record.name.value"/></span></strong>
</div>
<div class="col-xs-6 text-right">
<span class="label label-default"><field name="state" widget="kanban_label_selection" options="{'classes': {'draft': 'info', 'cancel': 'danger', 'done': 'success', 'under_repair': 'dafault'}}"/></span>
<span class="label label-default"><field name="state" widget="label_selection" options="{'classes': {'draft': 'info', 'cancel': 'danger', 'done': 'success', 'under_repair': 'dafault'}}"/></span>
</div>
</div>
<div class="row">
Expand Down
2 changes: 1 addition & 1 deletion addons/stock/views/stock_inventory_views.xml
Expand Up @@ -93,7 +93,7 @@
<div class="o_kanban_record_headings">
<strong class="o_kanban_record_title"><span><t t-esc="record.name.value"/></span></strong>
</div>
<field name="state" widget="kanban_label_selection" options="{'classes': {'draft': 'info', 'cancel': 'default', 'confirm': 'success', 'done': 'success'}}"/>
<field name="state" widget="label_selection" options="{'classes': {'draft': 'info', 'cancel': 'default', 'confirm': 'success', 'done': 'success'}}"/>
</div>
<div class="o_kanban_record_bottom">
<div class="oe_kanban_bottom_left">
Expand Down
6 changes: 3 additions & 3 deletions addons/stock/views/stock_move_views.xml
Expand Up @@ -83,7 +83,7 @@
<div class="o_kanban_record_headings">
<strong class="o_kanban_record_title"><span><field name="name"/></span></strong>
</div>
<field name="state" widget="kanban_label_selection" options="{'classes': {'draft': 'default', 'cancel': 'danger', 'assigned': 'success', 'confirmed': 'default'}}"/>
<field name="state" widget="label_selection" options="{'classes': {'draft': 'default', 'cancel': 'danger', 'assigned': 'success', 'confirmed': 'default'}}"/>
</div>
<div class="o_kanban_record_body">
<field name="product_id"/>
Expand Down Expand Up @@ -446,7 +446,7 @@
</div>
<div class="col-xs-4">
<span class="pull-right text-right">
<field name="state" widget="kanban_label_selection" options="{'classes': {'draft': 'default', 'cancel': 'danger',
<field name="state" widget="label_selection" options="{'classes': {'draft': 'default', 'cancel': 'danger',
'assigned': 'success', 'confirmed': 'default'}}"/>
</span>
</div>
Expand Down Expand Up @@ -510,7 +510,7 @@
</div>
<div class="col-xs-6">
<span class="pull-right">
<field name="state" widget="kanban_label_selection" options="{'classes': {'draft': 'info', 'cancel': 'default',
<field name="state" widget="label_selection" options="{'classes': {'draft': 'info', 'cancel': 'default',
'assigned': 'success', 'done': 'success'}}"/>
</span>
</div>
Expand Down
Expand Up @@ -69,7 +69,7 @@
<div class="o_kanban_record_headings">
<strong class="o_kanban_record_title"><field name="name"/></strong>
</div>
<field name="state" widget="kanban_label_selection"/>
<field name="state" widget="label_selection"/>
</div>
<div class="o_kanban_record_bottom">
<div class="oe_kanban_bottom_left"/>
Expand Down
2 changes: 1 addition & 1 deletion addons/survey/views/survey_views.xml
Expand Up @@ -108,7 +108,7 @@
<field name="date_create"/>
</div>
<div class="oe_kanban_bottom_right mr4">
<field name="state" widget="kanban_label_selection" options="{'classes': {'new': 'default', 'done': 'success', 'skip':'warning'}}"/>
<field name="state" widget="label_selection" options="{'classes': {'new': 'default', 'done': 'success', 'skip':'warning'}}"/>
</div>
</div>
</div>
Expand Down
3 changes: 2 additions & 1 deletion addons/web/static/src/js/fields/field_registry.js
Expand Up @@ -42,8 +42,9 @@ registry
.add('attachment_image', basic_fields.AttachmentImage)
.add('image_selection', basic_fields.ImageSelection)
.add('label_selection', basic_fields.LabelSelection)
.add('kanban_label_selection', basic_fields.LabelSelection) // deprecated, use label_selection
.add('state_selection', basic_fields.StateSelectionWidget)
.add('kanban_state_selection', basic_fields.StateSelectionWidget)
.add('kanban_state_selection', basic_fields.StateSelectionWidget) // deprecated, use state_selection
.add('boolean_favorite', basic_fields.FavoriteWidget)
.add('boolean_button', basic_fields.FieldBooleanButton)
.add('boolean_toggle', basic_fields.BooleanToggle)
Expand Down
6 changes: 5 additions & 1 deletion addons/website_mass_mailing/i18n/website_mass_mailing.pot
Expand Up @@ -76,6 +76,11 @@ msgstr ""
msgid "Mailing Subscriptions"
msgstr ""

#. module: website_mass_mailing
#: model:ir.ui.view,arch_db:website_mass_mailing.unsubscribe
msgid "Update my subscriptions"
msgstr ""

#. module: website_mass_mailing
#. openerp-web
#: code:addons/website_mass_mailing/static/src/js/website_mass_mailing.editor.js:21
Expand Down Expand Up @@ -170,4 +175,3 @@ msgstr ""
#: model:ir.ui.view,arch_db:website_mass_mailing.s_newsletter_subscribe_popup
msgid "your email..."
msgstr ""

Expand Up @@ -30,7 +30,7 @@
</ul>

<div class="text-center mb16">
<input type="submit" id="send_form" class="btn btn-primary" value="Update my subscriptions"/>
<button type="submit" id="send_form" class="btn btn-primary">Update my subscriptions</button>
</div>
</t>

Expand Down

0 comments on commit ecd8c02

Please sign in to comment.