As the Presentation Published message is posted on a channel every reply
to this message is also posted on the channel. However channels may holds
lot of followers not necessarily interested in being spammed by answers
to that message. We consider now that those replies are notes to avoid
spam. Channel managers can follow the note subtype to be warned about
those messages.
- Set multi company
- Create 2 new companies
- Set a chart of account for company 1 (ex Belgium)
- Set another chart of account for company 2 (ex UK)
This is because the generation of accounts from templates doesn't
restrict the accounts to the current one.
opw-690796
* add and use preservation mixins to prevent undesired customizations
made by themes
* remove some style preservation code (and use the mixins instead)
* add UI states' colour variables
Current issue without this patch:
On a bare database, install `website_portal` and go to `/my/home` logged out.
You get to an empty page where you can see Public User's details.
Expected behavior with this patch:
User should be redirected to the login page.
Additional notes:
- Other submodules (`website_portal_sale` and `website_project_issue`) were
actually implementing this, so that is removed BTW and relies in base
module's now sensible behavior.
This commit closes#12775
With this commit, it's now possible to set an arbitrary limit on any
kanban view by adding a limit attribut to the root kanban tag in a
kanban definition.
Do not forward-port.
Backport of rev 8a87c382ba
- Activate the receipt in two steps on the warehouse
- Create a PO for a stockable product
- Receive the product in Input zone
- Receive the product in Stock
- Reverse the move to Stock > products are back in Input
- Reverse the move to Input
You can't reserve quantities for this last move (from Input to Vendor).
This is because a picking has been automatically created from the Input
to Stock.
Original move which is reversed: Input -> Stock
When we reverse it, we don't want to send it back to Stock, so we need
to check the destination location of the original move, not its
location.
opw-689206
In the widget, the value of reference field is a pair `[val1, val2]`.
When the field is blank, its value is `[false,false]`, thus checking `[false,false] === false`
never succeeds, and this breaks the check for required fields.
With this commit, it's now possible to set an arbitrary limit on any
kanban view by adding a limit attribut to the root kanban tag in a
kanban definition.
This is done by guarding the `on_hashchange` evant handler with the
`clear_uncommitted_changes` function.
Note that the url has already changed when we are in this handler, so we
make sure to restore the old url when the user chose to continue its
edition.
Rating is implemented for project.issue, but it is
impossible to set a template on the stage since the
domain force the mail.template to be declared on
project.task.
We use the same mecanism as `mail_template_id`
declared on project.stage.task in project
module. The list of available template on the stage
form view will be the ones for issue and task like
mail_template_id.
When you browse through the views of an action and then hit the back button,
the view does not change. For example, go to the customers kanban, click
on a customer, hit back, you're still in the customer form view.
related rev: 46857d267b
`do_load_state` is called when you hit f5 or press the back button on
your browser. The related rev took care of fixing the ugly part that
make the webclient goes trough the multi record view then the mono
record view when you hit f5 on a mono record view.
In this context, it removed the code in view manager's `do_load_state` that
switched the mode of the action if it isn't the same the one the web client
is trying to restore from the state (because now the correct mode is loaded).
However, if you hit the back button while the previous view is in the same
action, it obviously doesn't switch the mode anymore and you're facing
the same view.
The issue is fixed by restoring the switch_mode in the view manager's
`do_load_state` (without its oudated comment).
Reconcile the following entries :
D C
Amount currency
3.655,52€ +3.872,45$
3.436,80€ -3.872,45$
What Odoo does when I reconcile the 2 entries above using the
"Reconcile" button:
D C
Amount currency
3.655,52€ +3.872,45$
3.436,80€ -3.872,45$
0€ 218,72€ -236,61$
0€ 0€
+236,61$
What Odoo should do :
D C
Amount currency
3.655,52€ +3.872,45$
3.436,80€ -3.872,45$
0€ 218,72€ 0$
opw-687481
Like in Invoices Analysis, the expenses must be expressed in the currency
of the company. In this way, it makes sens to sum them to compute the total.
opw:689760
The effect of this change is to trigger the recomputation of fields on larger
recordsets. This takes advantage of batch computations within compute methods.
For the field account_depreciation_id in the account.asset.category.form
view, the string "Depreciation Expense Account" was already used for
the field account_depreciation_expense_id.
opw:690297
When creating a SO line and an invoice line for a downpayment,
the fiscal position set on the SO must be taken into account
to map the right taxes.
opw:688611
In case of syntax error, show where the error is.
e.message is enmpty for syntax errors
Before:
Can't validate view:
After:
Can't validate view:
SyntaxError('invalid syntax', ('', 1, 51, "{'invisible': [('external_sale', '=', 'internal')]]}"))
When the quotation is sent by email it is still in draft state. However right
after sending it will move to sent state. This state allows the customer to see
it in its website portal. Let us then use a convenient context key used when
sending quotations by email to force the use of website address for quotation
link contained in the email.
_rec_name in mass mailing is source_id which is an integer, it does not accept
a char value.
Instead specify the `name` value, which will create a utm.source.
Closes#13765
Move the code to manage the case of 'adding an attribute with only one value
should not recreate product' before to select the existing variants.
Before this commit,
When you create 1 new product.template, it create 1 variant.
When you add an attribute with only one value, it update the existing and
create a duplicate variant.
After this commit,
Only the existing variant is updated, and there are no more duplicated variant.
The fix:
We update the variant if only one value before to select the existing variant.
Thus, the updated variant is compared with the matrix and not duplicated.
This commit closes#13757
when extending these methods with the new api, the context is a frozendict
so we need to copy before mutating.
this patch was made by searching for key addition to context and calls to the
update() method on the 8.0 addons, and checking if a copy was made before in
the method.
Before the migration to the new API of this code, the context was
not propagated to the update_notification call.
This is now the case, which is unfortunate since the context of the
cron action has an 'active_test'=False key, which causes the ping
to count user differently when the cron is triggered from the form
view.
This commit adds explicit ('active','=',True) domain to ensure we
only count active users when pinging.