Commit Graph
132026 Commits
Author SHA1 Message Date
Jeremy Kersten 3ff6efac8d [FIX] website: set controller favicon.ico as nomultilang
Avoid redirect from /favicon.ico to /<lang>/facivon.ico at each request

closes odoo/odoo#40535

X-original-commit: 94bcbc92e5e5a6fd3de7267e3c01f8c11fb045f4
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-11-19 18:29:20 +00:00
ryv-odoo c7a1a2d964 [REF] rating, various: improve rating.rating ACLs
PURPOSE

Rating model should be available only for internal users. External users
access them only through dedicated routes or controllers using sudo and/or
granting access through tokens. Therefore simplifying ACLs should be feasible.

SPECIFICATIONS

Remove access to rating.rating for public and portal users. Only employees
can access it, with full access given to system admins.

Update various functional flows to use sudo() and check that access is
verified before using sudo.

Impacted modules

  * rating / mail: add groups on some rating related fields as only
    internal users should access them now;
  * rating / mail: set some statistics fields using compute_sudo as their
    value should be accessible for external people even without access to
    the underlying rating.rating records;
  * project: makes some use of rating and has to be updated, notably for
    the public rating page;
  * website_{livechat, rating, slides}: add sudo in public routes as access
    is already granted;
  * website_slides: set statistics field using compute_sudo as their
    value should be accessible for external people;

TASK ID 2053096
PR #36592

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-11-19 15:46:51 +00:00
Barad MahendraandShreya Thakrar b6af1f368d [IMP] rating: improve rating feedback user interface
Before this commit, when user land after clicking on the smiley in the
e-mail for rating, user cannot change its rating. Its click limits the
available choice.

Now users will be able to choose rating and write feedback before submitting
its rating.

Task ID 1936849
Closes PR #33979

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Co-authored-by: Shreya Thakrar<sht@odoo.com>
2019-11-19 16:29:55 +00:00
Odoo's Mergebot b3b4a793f8 [REF] survey : use js widget and simplify validation and submit flow
PURPOSE

Purpose of this PR is to standardize and update JS code of the survey
application. It impacts mainly save, pagination and validation flows
when taking surveys.

Python code will have to be adapted consequently.

SPECIFICATIONS: UDPATE WIDGETS

Update JS code remove global selectors / global JS and use standard
widgets. Lessen number of RPCs and clean old code for prefilling and
validation of surveys.

Contains update of notably

  * Survey Form: make it a real widget calling routes in RPC and
    doing some validation;
  * Prefill is now handled in the template instead of in js controller;
  * Submit is now done in json rpc;
  * Survey Timer: make timer a real widget;
  * Survey Result Analysis: make result, graph and pagifation
    real widgets;
  * Charts handling have been externalised in a sub widget;
  * Pagination have been externalised in a sub widget;

Clean Prefill: prefill can be done directly in the template as the template
has already all the needed values (in answer object).

Clean Validation: validation is done at server side and is independent
from prefilling values.

Dates: dates are now formatted directly in the template at rendering using
a format_date fonction pointer called in the template.

Don't use widget in review mode: remove o_survey_form class from review
template as only dates were processed in the widget for review template.

Breadcrumb: remove button previous, prev=prev and go_back mechanism.
The previous page is handled by the breadcrump. Remove redirect url
mechanism. Breadcrumb now saves the answers when going to a previous page.
Move o_survey_form class to a higher div to englobe breadcrumb in the widget
and ease his handling.

Modify the route type of survey submit to work in json. The js survey form
controller calls now manually the route via rpc.

SPECIFICATIONS: UDPATE CONTROLLERS

Refactor questions naming, validation and save flow. Simplify the answer_tag
and question name by removing the survey_id (uses now only question id)
for the most simple cases.

Factorise the save and validate survey answers to avoid duplicate code.

Review posted submit data :

  * process all questions by question type (instead of using form data
    (key,value) that needed key parsing and was un-typed)
  * regroup answers by questions and adapt all validation and save flow
  * remove post data in save and validate question methods
    and uses directly the answer(s)
  * remove useless input names

Validation and submit functions have been rewritten to avoid
duplicated code as many question types have quite the same
validation and save process.

SPECIFICATIONS: MISC

Partial Forward Port : Web assets have been split into another
template to avoid multiple load of those assets when website is
installed.

Also reset is_time_limited on scoring type change.

Also remove locale load as already done in session.js#load_modules

See sub commits for more details.

Task ID 1930132
Closes PR #32419

closes odoo/odoo#39501

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-11-19 17:57:58 +01:00
Lucas Lefèvre 4f59004a0f [IMP] hr_leave: Request leave in the employee's timezone
Purpose
=======
If a manager creates a leave for an employee in another timezone,
the employee's timezone should be used, not the user's timezone.
Currently, if a manager with timezone UTC creates a leave (one day)
for an employee in New Zealand timezone, the leave is during the
night from the employee's perspective.

Specification
=============
1) Use the employee's timezone for saving leave dates.
2) Display a warning if the user and the employee have different timezones.

closes odoo/odoo#34020

Taskid: 2008407
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-11-19 15:17:53 +00:00
David Beguin 6e79112e1d [IMP] survey : apply URLSearchParams to manage filters in survey results
URLSearchParams is not supported in IE, so we had to build our own
object to store the query string params nicely.
Now that IE will not be supported anymore in odoo from v13,
URLSearchParams can be used to handle this for us.

Task ID : 1930132
PR #32419
2019-11-19 12:52:22 +00:00
Aurélien Warnon 08541b6376 [REF] survey: make result graph a widget
Task ID: 1930132
PR#32419
2019-11-19 12:52:22 +00:00
Aurélien Warnon 64759a5ae7 [REF] survey: make result pagination a widget
Task ID: 1930132
PR#32419
2019-11-19 12:52:22 +00:00
David Beguin ee0b11f2ce [REF] survey : make survey result a widget
This commit cake the survey result analysis js constroller become a widget.
This also simplify style rules using CSS (was handled in JS).
This also modifies the handling of filters to use real
and correctly formated GET parameters.
Redirect url with parameters are now handled automatically
using URLSearchParams() instead of building manually the query string.

Task ID : 1930132
PR #32419
2019-11-19 12:52:22 +00:00
David Beguin f462bf0d93 [REF] survey : make survey timer a widget
This commit makes the survey timer js controller become a widget.
This widget is called by the survey form widget.
When the time is over, the widget triggers a time_up event
instead of calling the submit.
the time_up event is catched by the survey form widget that
calls himself the submit, as the submit is on the form
and not on the timer itself.

Task ID : 1930132
PR #32419
2019-11-19 12:52:22 +00:00
David Beguin 3bb4ac8dc6 [IMP-REF] survey : refactor questions naming, validation and save flow
This commit simplifies the answer_tag and question name
by removing the survey_id (uses now only question id) for the most simple cases

Factorise the save and validate survey answers to avoid duplicate code

Review posted submit data :
- process all questions by question type (instead of using form data
(key,value) that needed key parsing and was un-typed)
- regroup answers by questions and adapt all validation and save flow
- remove post data in save and validate question methods
  and uses directly the answer(s)
- remove useless input names

The tests have been adapted consequently

Task ID : 1930132
PR #32419
2019-11-19 12:52:22 +00:00
David Beguin b1e32976a6 [REF] survey : make survey form a widget
Purpose of this commit is
- to make the survey js controller a widget, to be more 'odoo-standard'.
- to lessen number of RPCs and clean old code for prefilling and validation of
surveys.

Clean Prefill :
Prefill can be done directly in the template as the template has already
all the needed values (in answer object).

Clean Validation :
Validation is done at server side and is independant from prefilling values.

Dates:
Dates are now formatted directly in the template, at rendering, using a
format_date fonction pointer called in the template.

Don't use widget in review mode:
Remove o_survey_form class from review template as only dates were processed in
the widget for review template.

Breadcrumb :
Remove button previous, prev=prev and go_back mechanism :
The previous page is handled by the breadcrump
Remove redirect url mechanism.
Breadcrumb now saves the answers when going to a previous page.
Move o_survey_form class to a higher div to englobe breadcrumb in the widget
and ease his handling.

Remove locale load as already done in session.js#load_modules

This commit modifies the route type of survey submit to work in json.
The js survey form controller calls now manually the route via rpc.

Task ID : 1930132
PR #32419
2019-11-19 12:51:55 +00:00
David Beguin 52a6b00fa7 [FIX] survey : reset is_time_limited on scoring type change
add is_time_limited in the reset values of the onchange.

Tass ID : 1930132
PR #32419
2019-11-19 12:50:53 +00:00
Florian Gilbert abed0272b6 [IMP] account: Add "To check" checkbox for invoices/bills.
Add the "To check" checkbox for invoices/bills
The "To check" checkbox is useful when an accountant want to be reviewed (or review later)
some entries as Odoo will add a reminder + counter in the related accounting journal dashboard.

Task ID: 2092088

closes odoo/odoo#39366

Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
2019-11-12 09:13:07 +00:00
oco-odoo ec603e2593 [IMP] account: remove now useless (and kind of unusable) "bank accounts" menu
Everything is managed from the regular "journals" menu, now.

closes odoo/odoo#40496

Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
2019-11-19 12:29:52 +00:00
pawa2007 fb8e9f824b [ADD] base: add locale for en_IN
English (India) needs its own locale definition so that it can be
selected at the time of database creation.

For example, the amounts in India are displayed/printed as
99,99,99,999.99 (crore, lakh/lac, thousand, etc.) instead of
999,999,999,999.99 (billion, million, thousand, etc.)

closes odoo/odoo#40393

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-11-19 09:16:32 +00:00
pawa2007 af98694eb6 [CLA] signature for pawa2007 2019-11-19 09:15:22 +00:00
Odoo's Mergebot f591ec1ea9 [IMP] *: translation methods cleaning
Extract some cleaning wanted in #30759 but not related to language packs

- `amount_to_text` should work only on activated languages
- deprecate `load_lang` and rely on `_create_lang` or `_activate_lang`
- `trans_load_data` and `_load_module_terms` no longer silently activate languages
- pass explicitly parameters instead of relying on context content
- replace some `IrTranslation._load_module_terms(['base'], ['fr_FR'])` by `BaseModule._update_translations(['fr_FR'])` for higher level methods
- create `TranslationExporter` class to clarify the `trans_export` method (and clean dead code)

closes odoo/odoo#38859

Task-id: 2088290
Pad: https://pad.odoo.com/p/r.f6f789f8711d21314bd902972153ea9d
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-11-19 14:58:29 +01:00
Victor Feyens ab4507ed32 [IMP] doc: with_company display
closes odoo/odoo#40497

Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2019-11-19 10:52:35 +00:00
Nikunj Ladava 76dc26aad9 [ADD] l10n_no: added a new accounts
This Commit is related to task ID 37726

closes odoo/odoo#40490

X-original-commit: 43000c7f2ed10e960f9611b004e3b48adb568c5a
Signed-off-by: Josse Colpaert <jco@openerp.com>
2019-11-19 11:34:13 +00:00
Nikunj Ladava c6f7caca53 [ADD] l10n_no: convert existing account to csv
This Commit is related to task ID 37726

X-original-commit: 98e41dfeb133a941389cccf44b3cb232b94ac85d
2019-11-19 11:34:12 +00:00
Martin Trigaux 95ed21795d [IMP] tools: create TranslationModuleReader class
Instead of previous long methods, use a class to clarify what the
export actually does.
The TranslationModuleReader is written to copy the API of the
TranslationFileWriter.
This way, exporting translations is reduced to:
1. create a reader that will fetch all module translations (either
   from db or from static files)
2. create a writer in a specific format (po or csv)
3. export the content from the reader to the writer

Simplify the writer by deducing modules from exported translations
instead of fetching it again in a oneliner (this way can benefit from
yield operations)

Remove the 'all_installed' possibility in modules as it was not
working (creating query with 2 WHERE clause).

The new methode _get_translatable_records works on a per model basis.
This will allow a big performance gain as the previous code was
making a .exists() for each record individually.
In the future, this method could be removed as the main goal is to
test the presence of the rare attribute _translate=False.
2019-11-19 11:36:57 +01:00
Martin Trigaux 62d3675869 [IMP] tools: remove module_name parameter
It was misleading as only forced for translations of type 'code' but
for the other translations, it was retrieved from the imported file
(the comment in a .po file or column in a .csv)

This will allow another optimisation in the next commit, moving to a
TranslationModuleReader instance
2019-11-19 11:36:57 +01:00
Martin Trigaux f5e2038386 [IMP] base: use less tools method
Instead, updating the translations of a module can be done directly
on the ir.module.module record
Remove one call to _update_translation by the actual creation of the
language
2019-11-19 11:36:52 +01:00
Martin Trigaux 8790173ee6 [IMP] base: update comment
To keep up with the new API
Note we still do not have a good solution for the problem mentionned
below.
2019-11-19 10:38:19 +01:00
Martin Trigaux ac63556e23 [IMP] base: explicitly pass parameters for translation methods
Instead of relying on the context content, pass explicit values for
overwrite and create_empty_translations
applu this to trans_load and trans_load_data
Adapt the test that was trying to create empty translations.
2019-11-19 10:37:07 +01:00
Martin Trigaux 49fbab5329 [IMP] base: split and deprecate load_lang
load_lang was a kind of hybrid method trying to active or creating a
language if not found. This was error prone.
Instead rely on two methods with clear purpose:
ResLang._create_lang(lang, lang_name=None)
  - create a new res.lang entry using the locale of the server
    return the res.lang record to match the API of _activate_lang

ResLang._active_lang(code)
  - activate the given code lang

Most of the time, _active_lang is what is expected

tools.trans_load_data and IrTranslation._load_module_terms no longer
activate the language if not active.
Loading the translations should be explicit on an activated language,
it is too error prone to silently activate/create a language if not
found.
Remove lang_name from trans_load_data as no longer needed.
2019-11-19 10:37:01 +01:00
Martin Trigaux 7bf6992869 [IMP] base: do not use unactivated language
Only activated languages should be used in "amount to text" features.
If a language code of a not-used language is used, it should be
ignored for consistency with the rest of the interface.
2019-11-19 10:36:52 +01:00
jdoutreloux 700a81feca [IMP] project: Merge project/fsm form views
Purpose
=======

Merge the form views of project tasks and fsm tasks so that it is
consistent and coherent wherever the user is in odoo.

closes odoo/odoo#40273

Taskid: 2070964
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-11-19 09:36:50 +00:00
Baptiste Vergote ce57b34f43 [FIX] payment_paypal: wrong param expected in paypal_urls
Issue was blocking the system to confirm a SO/Invoice after redirection
from paypal.

In V13 is getting the value of the paypal_urls using
paypal_get_form_action_url() returning the correct string, not a dict
anymore.

Closing
opw-2119027
opw-2122833

closes odoo/odoo#40471

X-original-commit: b7f32e6451da75a9583d28686641fc328ab661da
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-11-19 08:16:47 +00:00
Nicolas Lempereur a9a2fba683 [FIX] web_editor: remove forced source mode
In e29c08969 source mode was reintroduced. Since complex template seemed
broken when it was edited, the feature of forcing source mode when there
is a `% if ` or `% set` template directive of 12.3 was reintroduced.

Since the direct breaking of the template was mostly solved with the
added line:

`options.prettifyHtml = false;`

the force source mode is not so much necessary and there was report that
it was not very clear.

In this commit it is removed, and if necessary could be reintroduced
later with clearer implementation.

opw-2123730
fix #40410
closes #40421

closes odoo/odoo#40458

X-original-commit: be30a3ba431cf24a5fcfdfedd0f9d9f73163c717
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
2019-11-18 19:28:21 +00:00
Martin Trigaux b0b5fa6ec9 [FIX] website_sale: translate waiting message
closes odoo/odoo#40456

X-original-commit: 50d2a80e458bcf99025bf2e96afafd8606745c85
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-11-18 17:21:59 +00:00
Raphael Collet d2ff759ec0 [IMP] tools: make domain validation less strict
We do not want to block developers from using dynamic domains like:

    domain="country_id and [('country_id', 'in', [False, country_id])] or []"

closes odoo/odoo#40445

Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
2019-11-18 15:17:02 +00:00
Martin Trigaux 69cbab713a [FIX] base,product: fix typos
closes odoo/odoo#40453

X-original-commit: 3b7a98bd5a7ce57a8f03b06fe9ac6c8eb349d2ad
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-11-18 16:41:57 +00:00
Andrea Grazioso (agr-odoo) 760ae910d4 [FIX] web_editor: restore debug assets in iframe
Open Mass Mailing in debug mode, create a new mass mailing,
choose a template for the body, check with the inspector the iframe.

The head of the iframe does not have the debug assets. This is because
the global variable relative to the debug mode gets temporary
overwritten before solving the promise.

For Gorash this has been done for:

* Performance as all the editor assets must be inserted into the iframe
assets
* As an indication to bugfixers that the fix must not be done in this
bundle as it is the exact same content as outside of the iframe and the
exact same content as previous Odoo versions.

Removing the override given that:

* If someone enable debug=assets he/she is aware of the performance hit
* A ticket has been opened because the iframe is hard to debug
without debug assets.

opw-2117649

closes odoo/odoo#40417

X-original-commit: 17c6952af3242c22bae2596f64b0addd04b9f9e0
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-11-18 11:49:11 +00:00
Victor Feyens eae9055f49 [FIX] analytic: wrong domain creation
Leftover typo from #36804 .

closes odoo/odoo#40478

Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2019-11-19 10:09:46 +00:00
Martin Trigaux 32dd2e97ec [FIX] account,base: python 3.8 compatibility
Remove warnings
Add mandatory parameter posonlyargs

closes odoo/odoo#40396

X-original-commit: aeb1e592a6fbc918fb4edf4a8953aa375124337d
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-11-18 08:37:09 +00:00
Yenthe666 ad34b4f6e0 [FIX] mrp: add product_uom_category for domain
Without the product_uom_category_id set you cannot edit this tree view. There is a domain [('category_id', '=', product_uom_category_id)] triggered from this view whcich is not fulfilled if we do not have the field set in the tree.

closes odoo/odoo#40186

X-original-commit: 4873e5ef3192480fdd3889331f13ff0e10ba5d6a
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2019-11-19 08:27:09 +00:00
Kevin Baptiste 2c6cd81f30 [IMP] mail: track fields based on ir_model_fields
The tracked field is now a relation to the corresponding ir.model.field.
This prevents potential privacy issues should the field be deleted or renamed.

closes odoo/odoo#39232

Taskid: 2088634
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-11-19 07:50:34 +00:00
fw-bot abd9d1506e [FIX] mrp: error w/o traceback on create BoM
If a Bill of Material is created without code (eg. when created as a new
group from a kanban view grouped by BoM) we would get a traceback
instead of an error.

With this changeset, we get a "You cannot create a new Bill of Material
from here." error if it is being tried.

opw-2124162
fix #38904
closes #40289

closes odoo/odoo#40457

X-original-commit: 32c13cd7d1387c0ea81a9bb5968d18c2b8f32051
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
2019-11-18 19:28:01 +00:00
Nans Lefebvre 4fd8310e76 [FIX] account: send invoices with the right name
The mail_notification_paynow template expects a model_description
parameter or defaults to the model _description, "Journal Entries".
We add, similar to 4a3fd02af4 on sale.order, a type_name field to
get the correct type name in an extensible way.

Similar to 8c91b193fca3b, 65b6375cf3f9b.

opw 2120545

closes odoo/odoo#40245

X-original-commit: d1b66ca8ea46af1034e344dfd3eb99e00f5a2a34
Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
2019-11-14 09:55:05 +00:00
Simon Lejeune ea92c813fd [FIX] stock_landed_cots: bring bach additional_landed_cost in the view
This field was deemed redundant and thus removed from the view but we
forgot the use case where multiple valuation adjustment lines are
generated (eg applying a lc on multiple pickings) and the added value
by picking must be adapted manually (eg decrease one to increase the
other).

task-2125127

closes odoo/odoo#40454

X-original-commit: 3e6d6315adf1c33ec3fd5eb106defb0c80d7290b
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2019-11-18 16:42:15 +00:00
fw-bot cf4a6cbdec [FIX] web: fix kanban "group by stage" wrong display
Reproduce the issue

    - Install Projects and Studio
    - Edit the projects app's kanban view
    - Enable group by stage
    - Close studio
    - Add several stages

    The stages are wrapped to the next line

Cause

    I think the problem comes from c5f6802, we apply a wrapping to
    all the kanban_dashboard items and in this cases the items are
    the stages.

This commits apply the wrap only on non-grouped kanban dashboard.

OPW-2123031

closes odoo/odoo#40449

X-original-commit: f40478d5bacfdc44c76b0aac2f749549bbc58681
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
2019-11-18 15:52:03 +00:00
laa 70c370b01e [IMP] project,hr_expense,hr_timeshee: Add optional fields in list view
Add and modify multiple fields in tree view for next next model:
- hr.expense
- hr.expense.sheet
- project.project
- planning.slot
- Field Service project.task

closes odoo/odoo#39441

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-11-18 12:56:10 +00:00
fw-bot 4c28667efd [IMP] hr_holidays: prevent grouping leaves by name
closes odoo/odoo#40426

Taskid: 2088559
X-original-commit: 5653520252f321d1fa185bffd897952830b509c4
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-11-18 13:33:30 +00:00
Romain Derie e9106f8f98 [IMP] http_routing, portal, website: nicer 404 layout
This commit introduces a nicer 404 page, which is basically the same layout as
the one used on Odoo.com.

Also, the 404 is now fully customizable, blocks can be drag'd & drop'd.

task-1966460

closes odoo/odoo#38901

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-11-18 13:59:09 +00:00
Goffin Simon d3fe36d817 [FIX] account: Cannot search fiscal positions
It was not possible to search a fiscal position by name without a custom
filter.

opw:2124184

closes odoo/odoo#40404

X-original-commit: 72534d7ae21677b02d7cb26dd06d84d532be9514
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2019-11-18 10:25:20 +00:00
jbm-odoo be15be7fa6 [IMP] hr_attendance: Introduce Kiosk users group
It's the unique group needed for a kiosk attendance. Avoid to give
to much rigths.

id=2088561

closes odoo/odoo#38954

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-11-18 12:37:42 +00:00
Victor Feyens 23d66d7045 [FIX] website_slides: default values for all compute fields.
closes odoo/odoo#36804

Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
2019-11-18 12:25:05 +00:00
Victor Feyens 37b1689be7 [FIX] account, analytic: remove company_ids context key mechanism 2019-11-18 12:25:05 +00:00