[MERGE] forward port branch saas-11 up to 19b4f5e
This commit is contained in:
@@ -1305,9 +1305,10 @@ class AccountInvoiceTax(models.Model):
|
||||
base = 0.0
|
||||
for line in tax.invoice_id.invoice_line_ids:
|
||||
if tax.tax_id in line.invoice_line_tax_ids:
|
||||
base += line.price_subtotal
|
||||
# To add include base amount taxes
|
||||
base += sum((line.invoice_line_tax_ids.filtered(lambda t: t.include_base_amount) - tax.tax_id).mapped('amount'))
|
||||
price_unit = line.price_unit * (1 - (line.discount or 0.0) / 100.0)
|
||||
base += (line.invoice_line_tax_ids - tax.tax_id).compute_all(
|
||||
price_unit, line.invoice_id.currency_id, line.quantity, line.product_id, line.invoice_id.partner_id
|
||||
)['base']
|
||||
tax.base = base
|
||||
|
||||
invoice_id = fields.Many2one('account.invoice', string='Invoice', ondelete='cascade', index=True)
|
||||
|
||||
@@ -300,6 +300,7 @@
|
||||
<field name="categ_ids"/>
|
||||
<t t-if="record.partner_name.raw_value"><b><field name="partner_name"/></b><br/></t>
|
||||
<i><field name="name"/></i><br/>
|
||||
<field name="job_id"/><br/>
|
||||
<t t-if="record.partner_mobile.raw_value">Mobile: <field name="partner_mobile"/><br/></t>
|
||||
<t t-if="record.date_action.raw_value and record.date_action.raw_value lt (new Date())" t-set="red">oe_kanban_text_red</t>
|
||||
<span t-attf-class="#{red || ''}"><field name="date_action"/></span>
|
||||
|
||||
@@ -65,7 +65,7 @@ class PaypalController(http.Controller):
|
||||
self.paypal_validate_data(**post)
|
||||
return ''
|
||||
|
||||
@http.route('/payment/paypal/dpn', type='http', auth="none", methods=['POST'], csrf=False)
|
||||
@http.route('/payment/paypal/dpn', type='http', auth="none", methods=['POST', 'GET'], csrf=False)
|
||||
def paypal_dpn(self, **post):
|
||||
""" Paypal DPN """
|
||||
_logger.info('Beginning Paypal DPN form_feedback with post data %s', pprint.pformat(post)) # debug
|
||||
|
||||
@@ -71,7 +71,7 @@ class PosConfig(models.Model):
|
||||
iface_invoicing = fields.Boolean(string='Invoicing', help='Enables invoice generation from the Point of Sale', default=True)
|
||||
iface_big_scrollbars = fields.Boolean('Large Scrollbars', help='For imprecise industrial touchscreens')
|
||||
iface_print_auto = fields.Boolean(string='Automatic Receipt Printing', default=False,
|
||||
help='The receipt will automatically be p-rinted at the end of each order')
|
||||
help='The receipt will automatically be printed at the end of each order')
|
||||
iface_print_skip_screen = fields.Boolean(string='Skip Receipt Screen', default=True,
|
||||
help='The receipt screen will be skipped if the receipt can be printed automatically.')
|
||||
iface_precompute_cash = fields.Boolean(string='Prefill Cash Payment',
|
||||
|
||||
@@ -391,7 +391,7 @@ class PurchaseOrder(models.Model):
|
||||
res = order._prepare_picking()
|
||||
picking = self.env['stock.picking'].create(res)
|
||||
moves = order.order_line.filtered(lambda r: r.product_id.type in ['product', 'consu'])._create_stock_moves(picking)
|
||||
moves.action_confirm()
|
||||
moves = moves.action_confirm()
|
||||
order.order_line.mapped('move_ids').force_assign()
|
||||
picking.message_post_with_view('mail.message_origin_link',
|
||||
values={'self': picking, 'origin': order},
|
||||
|
||||
@@ -82,7 +82,7 @@ class Quant(models.Model):
|
||||
if quant.company_id != self.env.user.company_id:
|
||||
# if the company of the quant is different than the current user company, force the company in the context
|
||||
# then re-do a browse to read the property fields for the good company.
|
||||
quant = quant.with_context(force_company=quant.company__id.id)
|
||||
quant = quant.with_context(force_company=quant.company_id.id)
|
||||
quant.inventory_value = quant.product_id.standard_price * quant.qty
|
||||
|
||||
@api.model_cr
|
||||
|
||||
@@ -67,7 +67,7 @@ var ControlPanel = Widget.extend({
|
||||
};
|
||||
|
||||
// Prevent the search dropdowns to close when clicking inside them
|
||||
this.$el.on('click.bs.dropdown', '.oe-search-options .dropdown-menu', function (e) {
|
||||
this.$el.on('click.bs.dropdown', '.o_search_options .dropdown-menu', function (e) {
|
||||
e.stopPropagation();
|
||||
});
|
||||
|
||||
|
||||
@@ -58,10 +58,10 @@ return AbstractWebClient.extend({
|
||||
toggle_bars: function(value) {
|
||||
this.$('tr:has(td.navbar),.oe_leftbar').toggle(value);
|
||||
},
|
||||
update_logo: function() {
|
||||
update_logo: function(reload) {
|
||||
var company = session.company_id;
|
||||
var img = session.url('/web/binary/company_logo' + '?db=' + session.db + (company ? '&company=' + company : ''));
|
||||
this.$('.oe_logo img').attr('src', '').attr('src', img);
|
||||
this.$('.o_sub_menu_logo img').attr('src', '').attr('src', img + (reload ? "#" + Date.now() : ''));
|
||||
this.$('.oe_logo_edit').toggleClass('oe_logo_edit_admin', session.is_superuser);
|
||||
},
|
||||
logo_edit: function(ev) {
|
||||
@@ -76,12 +76,13 @@ return AbstractWebClient.extend({
|
||||
action_buttons: true,
|
||||
headless: true,
|
||||
};
|
||||
self.action_manager.do_action(result);
|
||||
var form = self.action_manager.dialog_widget.views.form.controller;
|
||||
form.on("on_button_cancel", self.action_manager, self.action_manager.dialog_stop);
|
||||
form.on('record_saved', self, function() {
|
||||
self.action_manager.dialog_stop();
|
||||
self.update_logo();
|
||||
self.action_manager.do_action(result).then(function () {
|
||||
var form = self.action_manager.dialog_widget.views.form.controller;
|
||||
form.on("on_button_cancel", self.action_manager, self.action_manager.dialog_stop);
|
||||
form.on('record_saved', self, function() {
|
||||
self.action_manager.dialog_stop();
|
||||
self.update_logo();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -596,7 +596,7 @@ data.Class = Widget.extend({
|
||||
animation.start(true, $target);
|
||||
|
||||
self.call_for_all_snippets($target, function (editor, $snippet) {
|
||||
editor.drop_and_build_snippet();
|
||||
_.defer(function () { editor.drop_and_build_snippet(); });
|
||||
});
|
||||
self.create_snippet_editor($target);
|
||||
self.cover_target($target.data('overlay'), $target);
|
||||
@@ -616,12 +616,10 @@ data.Class = Widget.extend({
|
||||
var self = this;
|
||||
$snippet.add(data.globalSelector.all($snippet)).each(function () {
|
||||
var $snippet = $(this);
|
||||
setTimeout(function () {
|
||||
self.create_snippet_editor($snippet);
|
||||
if ($snippet.data("snippet-editor")) {
|
||||
callback.call(self, $snippet.data("snippet-editor"), $snippet);
|
||||
}
|
||||
});
|
||||
self.create_snippet_editor($snippet);
|
||||
if ($snippet.data("snippet-editor")) {
|
||||
callback.call(self, $snippet.data("snippet-editor"), $snippet);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@@ -918,17 +916,25 @@ data.Editor = Class.extend({
|
||||
},
|
||||
_drag_and_drop_stop: function () {
|
||||
var self = this;
|
||||
var $dropzone = this.$target.prev();
|
||||
var prev = $dropzone.length && $dropzone[0].previousSibling;
|
||||
|
||||
$(".oe_drop_zone").droppable('destroy').remove();
|
||||
|
||||
var prev = this.$target.first()[0].previousSibling;
|
||||
var next = this.$target.last()[0].nextSibling;
|
||||
var $parent = this.$target.parent();
|
||||
|
||||
$(".oe_drop_clone").after(this.$target);
|
||||
var $clone = $(".oe_drop_clone");
|
||||
if (prev === $clone[0]) {
|
||||
prev = $clone[0].previousSibling;
|
||||
} else if (next === $clone[0]) {
|
||||
next = $clone[0].nextSibling;
|
||||
}
|
||||
$clone.after(this.$target);
|
||||
|
||||
this.$overlay.removeClass("hidden");
|
||||
$("body").removeClass('move-important');
|
||||
$('.oe_drop_zone').droppable('destroy').remove();
|
||||
$(".oe_drop_clone, .oe_drop_to_remove").remove();
|
||||
$clone.remove();
|
||||
$(".oe_drop_to_remove").remove();
|
||||
|
||||
if (this.dropped) {
|
||||
this.buildingBlock.getParent().rte.historyRecordUndo(this.$target);
|
||||
|
||||
@@ -73,7 +73,7 @@ class website_account(http.Controller):
|
||||
'country_id': post.pop('country_id'),
|
||||
'state_id': post.pop('state_id')
|
||||
}
|
||||
partner.commercial_partner_id.write(address_fields)
|
||||
partner.commercial_partner_id.sudo().write(address_fields)
|
||||
partner.sudo().write(post)
|
||||
if redirect:
|
||||
return request.redirect(redirect)
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
Slovenia, 2016-09-05
|
||||
|
||||
GoOpen, računalniške storitve, Aleš Ferlan s.p. agrees to the terms of the
|
||||
Odoo Corporate Contributor License Agreement v1.0.
|
||||
|
||||
I declare that I am authorized and able to make this agreement and sign this
|
||||
declaration.
|
||||
|
||||
Signed,
|
||||
|
||||
Aleš Ferlan alefer89@protonmail.com
|
||||
|
||||
List of contributors:
|
||||
|
||||
Aleš Ferlan alefer89@protonmail.com
|
||||
@@ -233,15 +233,15 @@ connections to the secure port
|
||||
|
||||
.. warning::
|
||||
|
||||
In case you are using the Point of Sale module in combinaison with a `POSBox`_,
|
||||
In case you are using the Point of Sale module in combination with a `POSBox`_,
|
||||
you must disable the HTTPS configuration for the route ``/pos/web`` to avoid
|
||||
mix-content errors.
|
||||
mixed-content errors.
|
||||
|
||||
Configuration sample
|
||||
--------------------
|
||||
|
||||
* redirect http requests to https
|
||||
* proxiing requests to odoo
|
||||
* proxy requests to odoo
|
||||
|
||||
in ``/etc/odoo.conf`` set:
|
||||
|
||||
@@ -440,4 +440,4 @@ of the supported browsers by Odoo version is the following:
|
||||
.. _use an SSH tunnel:
|
||||
http://www.postgresql.org/docs/9.3/static/ssh-tunnels.html
|
||||
.. _WSGI: http://wsgi.readthedocs.org/
|
||||
.. _POSBox: https://www.odoo.com/page/point-of-sale-hardware#part_2
|
||||
.. _POSBox: https://www.odoo.com/page/point-of-sale-hardware#part_2
|
||||
|
||||
Reference in New Issue
Block a user