The custom event 'open_view' triggered by the pivot
renderer was not stopped in the pivot controller. This
used to cause a crash because the dashboard controller
also listens to a custom event with the same name but
following another logic.
The present fix simply stop the propagaton of the event.
A test has been added in the module web_dashboard.
closesodoo/odoo#36466
Signed-off-by: Géry Debongnie (ged) <ged@openerp.com>
The value of that field can be given as a dict containing the fields of
the corresponding record.
Co-authored with Michael Mattiello <mcm@odoo.com>
closesodoo/odoo#36779
Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
Add luxembourgish language code in order to be able to translate terms
for that language in Odoo.
closesodoo/odoo#36757
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Added cursor pointer when hovering a keyword in Related Keywords and
added relevant tooltip for the better user experience.
Renamed classes:
js_seo_keyword_suggestion -> o_seo_keyword_suggestion
js_seo_suggestion -> o_seo_suggestion
task-2070946
closesodoo/odoo#36709
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
The carrier argument passed to the _create_delivery_line function
can be different to the carrier already existing in the sale order
so we should use the correct setting of carrier where we are calling
the function.
closesodoo/odoo#36424
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
When a warning is generated when rating a delivery method, the warning
message remains when changing to a different delivery method that isn't
supposed to give a warning.
If the chosen delivery method has free_over active, and if the cost
of the sale over exceeds the free_over amount, the delivery line
should have price_unit of zero.
Otherwise, if two POS stations are using the same user with the same pos.config,
i.e. create two session AND if you have bad luck, then those sessions will get
same login_number, which leads to losing half of orders, because POS stations
will generate same pos_reference and only first order from the POSes is saved,
while another order is lost without let know to cashier.
closesodoo/odoo#24486
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
The computation was using an SQL query to speed it up, but the recent
changes in the ORM have made this optimization useless.
We have benchmarked an import of 10000 partners linked to the same
parent, in a database with Sales and Stock installed. The import is
slightly faster without the SQL query (7 min vs 8 min).
closesodoo/odoo#36768
Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
When there is a lot of data to be displayed in the searchpanel, the scrollbar appears. The with of the scrollbar takes too much space compared to the width of the custom searchpanel.
This commit reduces the size for Chrome and Firefox >= 64
closesodoo/odoo#36758
Signed-off-by: Cedric Snauwaert (csn) <csn@openerp.com>
Install Account, do an invoice, send and print it. Install
snailmail_account, do the same process. The wizard refuses to send the
email because the Compose field is empty.
The `account.invoice.send` model is defined with an `_inherits` to
`mail.compose.message` on the `compose_id` key. When the model is first
created, that `compose_id` key is left unpopulated on the view as the
referenced model is not created yet. Hence posting the view is
impossible as it fails the form validation.
closesodoo/odoo#36715
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
This commit makes the email button to behave consistently with the
invoice button. Basically, if there is no selected customer when
invoicing, the UI should direct the user to select a customer. This
behaviour is implemented with the email button with special check on the
validity of the customer email.
closesodoo/odoo#36681
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
To get a better overview of the groupy view like "Sales Journal",
we need some attachments on invoices.
Furthermore, the product's label was missing on all invoice lines.
closesodoo/odoo#36573
Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
Task 1902206
When importing from winbooks, there might be entries with the amount_currency that matches but with an exchange difference that was not yet created. This commit allows to do a reconciliation without trying to do a full reconcile if it is the case
closesodoo/odoo#35055
Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
Task 1986647
With the reworking of the account_report_followup module, these variables and methods are no longer needed. Now everything is done with followup levels, with only one level by default
Also rename account_report_followup to account_followup.
closesodoo/odoo#35772
Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
Disqualify the constraint in the adyen identifier if it is empty because
it is not needed in other payment methods that are configured with other
payment terminal.
closesodoo/odoo#36702
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
In a settings form view, do some changes, then click on a button
or link in the form (e.g. 'Manage Users' in General Settings).
We now ask if the user wants to discard the changes before leaving
the page.
Task 1921574
closesodoo/odoo#34799
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Co-authored-by: Mohammed Shekha <msh@odoo.com>
The `get_wifi_essid` function was moved to the helpers file, but the
`self` argument was not removed from the function's signature.
closesodoo/odoo#36710
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
For contacts without company, it was not possible to modify the type
and set a private address
opw-1944234
Closesodoo/odoo#31491closesodoo/odoo#36701
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Contacting youtube API sometimes fails making falsy red runbot. In this commit
we remove video from member tour so that it tests the interface. Some demo
slides with youtube video are added in another course and new test is added
that crawls that channel.
Task 2066565
closesodoo/odoo#36697
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
When .with_context() is called with a dictionary as 1st positional
argument, it will replace context (and not modify the referenced keys)
It may create bugs when losing the content of the context (e.g. remove
partner's language)
This is a cherry-pick to saas-12.5 of odoo/odoo#36164 of the logistic
part as discussed
closesodoo/odoo#36690
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Some l10n were creating a specific account type for the off balance
accounts, there is now a new account type defined for thsi in the
account module
closesodoo/odoo#36432
Signed-off-by: Josse Colpaert <jco@openerp.com>
To ease the marketing and lead follow up, a stat button about
livechat sessions of the lead (that comes from the website_visitor model)
is added to the crm.lead form view.
This button displays and redirect to a list of all the sessions
from all the visitors related to the lead.
Task ID : 2057428
PR #36180
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
In order to keep all the visitors from all the leads to merge,
the relation between leads and visitors becomes a many2many.
So that after the lead merge, a lead can have multiple visitors.
This commit re-add the page view stat button that were removed
during website_visitor introduction and page tracking refactoring.
This button counts all the pages views from all the visitors linked
tho the current lead. Clicking on it redirect to the complete
navigation history, from all visitors linked to the lead.
Task ID : 2057428
PR #36180
When employee try to edit his detail using my profile with empty
timezone and click on "Edit" button, it show traceback. It's coming
from the mistmatch timezone widget.
closesodoo/odoo#36593
Signed-off-by: Romain Libert (rli) <rli@odoo.com>
Purpose
=======
When trying the translate a sql_contraint message after an integrity error
we use the current cursor in a 'with', just to make a SELECT query.
That way, the cursor is commited at the end of the with statement, trying
to commit the inconsitent state of the cursor that was the reason of the
integrity error.
Just close the cursor, as we only fetch translations from the database.
closesodoo/odoo#36458
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Purpose
=======
On a record creation, a valid and user friendly error message is raised
when a sql constraint is violated. (Eg: 'The start date must be anterior
to the end date').
On a record modification, this is not always the case anymore, since the
latest ORM modifications.
Eg: Write on a leave with a date_from > date_to, you got the postgreSQL
error, which is not understable by a classic human.
This is due to the fact that the error is correctly catched and logged,
but the result is set into the cache, triggering the execution of computation
methods, and calling _validate_fields. It is highly probable that a flush
is done in the constraint method (search, read, ...). In that case the
postgreSQL error is converted into a ValidationError, with a stringified
version of the IntegrityError, and thus is not catched by the check wrapper.
In the case of allocations, it should simply be possible to copy them
In the case of leave requests, we want to have a "beautiful" message for
the user in case he cannot duplicate the leave request (overlapping
leave requests)
But it makes no sense to not allow at copying it in case the date_from
and date_to are actually provided