Commit Graph
124885 Commits
Author SHA1 Message Date
Pierre Masereel 43497d51f4 [IMP] delivery: margin set on carrier from int to float
Some customers need to have a float instead of a in for the percentage
of the margin taken on the delivery. So we modified the integer value
into a float.
2019-03-15 09:10:44 +00:00
Pierre Masereel 11ece72e24 [IMP] delivery: manage return label for all carrier
Until now, only fedex was providing return label printing, and as we
want to integrate it with other carriers, we have mande a generc
mecanism to easily implement it with new ones.

We've also added an option that allow to print return label from portal
if one has been generated on delivery.
2019-03-15 09:10:44 +00:00
Pierre Masereel d0b8811d34 [REF] delivery, website_sale_delivery: portal template in delivery
The portal template that add the tracking number on the picking in the
sale order report in portal is still in website_sale_delivery, even if
the portal does not need the website anymore. More over, the inherited
template has been moved from website_sale_stock to sale_stock.

So to be consistent and not forcing having website for a feature that
doesn't need it, we move this template inheritance in delivery
2019-03-15 09:10:44 +00:00
Pierre Masereel 6e77653eb4 [IMP] sale,sale_stock,website_sale_delivery: SO portal
Change the design to let the delivery_tracking_ref beeing displayed
properly.
2019-03-15 09:10:43 +00:00
Pierre Masereel 86a454dae3 [IMP] base: only show date of datetime in qweb 2019-03-15 09:10:43 +00:00
Robot Odoo 1191579a6f [MERGE][IMP] sale_timesheet: select project on Sale Order to create task
Purpose
=======

The 'service_tracking' selection field on the 'product.template' model in the 'sale_timesheet' module
had its 'task_new_project' option renamed to 'task_in_project'.

If one or more sale_order_line have a product configured with this option, a new 'project_id' field appears
on the sale_order under the 'Sales Information' section.
When a project_id is selected, the analytic account on the sale order is automatically changed
to this project's analytic account.

This allows handling more use cases on sale_order:
- If a sale_order_line has a service product with that new option and no project_id configured on the sale_order:
  -> create a new project based on the configured project_template_id and then create a task in that project
     (same behavior as before)
- If a sale_order_line has a service product with that new option and a project_id is configured on the sale_order:
  -> directly create a task in the selected project_id

The behavior does not change for the 3 other options ('no', 'task_global_project' and 'project_only').

Specs
=======
- Add project field on sale order in "other infos" tab, shows only when a product on the SO has the option activated
- If projec is selected on SO, create task in this project, otherwise it creates a new project (as before)
- Rename 'task_new_project' into "task_in_project"
- Allow to have the new option with project template
- Selectable projects on Sales Order are `billate_type` in 'no' and 'task_rate'
- Never link SO's project to SO or AA
- Add onchange on project_id to select this project's analytic account on the SO
- Non stored computed field to check if at least one SOL has the new option

Use cases
- 2 SOL with new option (no template) will create 2 tasks in SO's project
- 2 SOL with new options (one no template, one with) + 1 SOL "create new P no T" --> create 2 tasks in SO's project and one new project

Task #1915660

closes odoo/odoo#29772

Signed-off-by: Jérome Maes (jem) <jem@openerp.com>
2019-03-14 16:25:32 +01:00
Aurélien Warnon 0af717bf0e [IMP] hr_timesheet: add group visibility to project's analytic_account
Task #1915660

Purpose
=======

Analytic Account field of a project should not be visible for non-members
of the "analytic.group_analytic_accounting" group.

This is now consistent with the other analytic account fields of the application.
2019-03-14 14:31:04 +00:00
Aurélien Warnon 016a99f745 [IMP] sale_timesheet: improve 'task_in_project' to handle more use cases
Task #1915660

Purpose
=======

If one or more sale_order_line have a product configured with this option, a new 'project_id' field appears
on the sale_order under the 'Sales Information' section.
When a project_id is selected, the analytic account on the sale order is automatically changed
to this project's analytic account.

This allows handling more use cases on sale_order:
- If a sale_order_line has a service product with that new option and no project_id configured on the sale_order:
  -> create a new project based on the configured project_template_id and then create a task in that project
     (same behavior as before)
- If a sale_order_line has a service product with that new option and a project_id is configured on the sale_order:
  -> directly create a task in the selected project_id

The behavior does not change for the 3 other options ('no', 'task_global_project' and 'project_only').

Specs
=======

Add project field on sale order in other info tab, shows only when a product on the SO has the option activated
if projec its selected on SO, create task in this project

Tech Spec (jem)
=======

On product:
- rename 'task_new_project' into "task_in_project" (help message precise either new project (based on template) or
  SO's project is prior
- allow to have the new option with project template

On sale order:
- non stored computed field to check if at least one SOL has the new option.
- if so, display project field
- selectable project are billate_type in 'no' and 'task_rate' (TBC for the 2nd)
  [awa: also add 'analytic_account_id' != False in domain]
- setting project on SO should change the AA of the SO.
  [awa: add onchange on project_id to select this project's analytic account on the SO]
- Never link SO's project to SO or AA
  [awa: do not touch the project_id's sale_order_id and analytic_account_id fields for this use case]
- 2 SOL with new option (no template) will create 2 tasks in SO's project
- 2 SOL with new options (one no template, one with) + 1 SOL "create new P no T" --> create 2 tasks in SO's project
  and one new project
2019-03-14 14:31:04 +00:00
Christophe Monniez 7282a354c2 [FIX] tests: catch runtime exceptions during browser_js tests
Actually, when running browser_js tests, the test automatically fails
when a console error is seen.
In some cases, an exception can be thrown during a tour but without
console error. In that case, another type of devtools protocol event is
fired: Runtime.exceptionThorwn. This event is not catched by the
browser_js test.

With this commit the above mentioned event is catched and the test is
directly considered as failed.

closes odoo/odoo#31555

Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
2019-03-14 10:59:49 +00:00
Christophe Monniez 9450469a1c [FIX] website_event: wait drag and drop to be finished
During the event tour, the save button is clicked before the drag and
drop is finished and cause an uncaught exception.

With this commit, an extra trigger is used to check the presence of the
dirty flag that is set when the page is changed and is ready to be
saved.
2019-03-14 10:59:49 +00:00
mreficent bef385d3d1 [IMP] hr_holidays: typo in action xmlid
closes odoo/odoo#30900

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-03-13 10:24:26 +00:00
Pierre Masereel 5e58be6508 [FIX] stock: show all not scrapped move
When a move is created in a picking through the scrap button, it must
not be visible in the picking, and should be accible through the
stat button showing the srap.

Now to hide, those moves from the picking view, we are checking that the
move has a different picking type than the one on the picking, which can
lead to invisible moves, that are not in the picking view because they
have a different picking type and not in the scrap stat button because
they don't have scrap object.

To fix this behavior, we are hiding from the picking the ones having a
scrap object linked instead of the one having a different picking type

closes odoo/odoo#31810

Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2019-03-13 10:43:36 +00:00
Vincent Schippefilt 3f8b04484b [REF] doc: add async javascript code section
in javascript Cheatsheet, add a bunch of example about asynchronous code

closes odoo/odoo#31716

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2019-03-13 14:34:05 +00:00
Christophe Simonis 44515bc7be [MERGE] forward port branch saas-12.2 up to c9f832d9f0
closes odoo/odoo#31790

Signed-off-by: Christophe Simonis <chs@odoo.com>
2019-03-13 14:24:51 +00:00
Cedric Snauwaert bf69975b54 [FIX] account: reconciliation popover with lines detail was empty
commit 4697d74480 update our bootstrap version to 4.3.1, one change of that version is that
bootstrap now escape the content of popover and title removing the table element. https://blog.getbootstrap.com/2019/02/13/bootstrap-4-3-1-and-3-4-1/
This result in the popover in the reconciliation widget being empty.

Therefore since the content of the popover was safe as it was rendered by Qweb.render, we disabled completely the sanitizer
for the popover in the reconciliation widget.

closes odoo/odoo#31797

Signed-off-by: Cedric Snauwaert (csn) <csn@openerp.com>
2019-03-12 15:40:01 +00:00
Cedric Snauwaert 4e110972fa [FIX] account: fix error when trying to open manual reconciliation from accounting menu
closes odoo/odoo#31785

Signed-off-by: Cedric Snauwaert (csn) <csn@openerp.com>
2019-03-12 10:30:33 +00:00
Yenthe666 0d33e7d28c [IMP] base: use sequence widget on view tree in action form
To reorder views using drag and drop

closes odoo/odoo#31437

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-03-12 16:02:28 +00:00
Yenthe666 fd24c240fb [IMP] base: improve source term
Use the "There are" form when followed by plural

closes odoo/odoo#30731

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-03-12 16:06:08 +00:00
wan 54a5fc7302 [IMP] account: allow to filter by account code in reconciliation widget
Task 1945477

closes odoo/odoo#31589

Signed-off-by: Cedric Snauwaert (csn) <csn@openerp.com>
2019-03-12 10:18:22 +00:00
Romain Derie c9f832d9f0 [FIX] test_website: restore test now that fix has been forward-ported
Commit ef03db9ed added back the reset_templates functionality and some tests in
Odoo 12.0.
Commit fcb972db9 skipped one of the tests in Odoo saas-12.2 as there was a race
condition (new editor).
Commit 7c045dda0a fixed the race condition in Odoo 12.0 even if the error never
showed, it was safer.

Now that the fix got forward-ported to Odoo saas-12.2, we can add back the
skipped test.

closes odoo/odoo#31780

Signed-off-by: Christophe Simonis <chs@odoo.com>
2019-03-12 10:17:27 +00:00
Aaron Bohy 5ee9e1d200 [FIX] web: correctly display crashes in firefox
After the update of jQuery, crashes were no longer displayed (in
dialogs) on browsers using the unhandled-rejection-polyfill lib
(e.g. firefox). This was due to a bad conversion from ES6 to ES5.

Issue reported on the jquery update pad.

closes odoo/odoo#31767

Signed-off-by: VincentSchippefilt <VincentSchippefilt@users.noreply.github.com>
2019-03-12 09:46:04 +00:00
Christophe Simonis 8f1daaf937 [FIX] {,test_}mass_mailing: set mail.mass_mailing subject
Field is required.
2019-03-11 15:44:32 +01:00
Christophe Simonis 71faa19af0 [MERGE] forward port branch saas-12.1 up to 2b3296bbf8 2019-03-11 14:42:34 +01:00
Aurélien Warnon 266c6657a6 [REF] sale_timesheet: rename 'task_new_project' option to 'task_in_project'
Purpose
=======

The 'service_tracking' selection field on the 'product.template' model in the 'sale_timesheet' module
had its 'task_new_project' option renamed to 'task_in_project'.

This is a preliminary renaming for task #1915660.
2019-03-11 13:36:01 +00:00
Robot Odoo 0c1eff0d95 [MERGE][IMP] survey: apply small tweaks on survey views (certification)
Purpose
======

This merge implies several small tweaks on the survey views, mainly to add support for the new certification fields.

Show the quizz_passed field in the answers views
-------------------------------------------------------------------

The quizz_passed field is now more important because it determines whether
a certification has been successfully taken or not.

The quizz_passed field is added in:
- The search view of user_input
- The list view of user_input
- The form view of user_input (along with the score)

Fix survey statistics computation
-------------------------------------------

Fix the shared dict in the survey statistics computation that
causes surveys to incorrectly share the same stats when computed in batch.

Add a stat button on survey to show the certified count
------------------------------------------------------------------------

Add a stat button on the survey form view showing the amount
of answers with the quizz_passed field set to True.
It allows to quickly see people that have been granted the certification.

On click, the stat button redirects to the answers list view with the "Quizz passed"
filter defaulted to True.

Task-1936539

closes odoo/odoo#31467

Signed-off-by: Jérome Maes (jem) <jem@openerp.com>
2019-03-11 13:07:38 +01:00
Aurélien Warnon 7070fa3219 [IMP] survey: rename 'Survey' to 'Certification' when relevant
Purpose
=======

This commit reworks some views to rename 'Survey' to 'Certification'
for a better visual integration of the new certification flow.
2019-03-11 10:46:11 +00:00
Christophe Simonis 2b3296bbf8 [FIX] web: use stricter css selector in new test
It allow not matching the dropdowns of the search view.

closes odoo/odoo#31738

Signed-off-by: Christophe Simonis <chs@odoo.com>
2019-03-11 10:16:53 +00:00
Odoo Translation Bot ae8aac2a18 [I18N] Update translation terms from Transifex 2019-03-10 06:02:07 +01:00
Christophe Simonis 2c5c9b8342 [MERGE] forward port branch 12.0 up to c023d0784f 2019-03-08 17:56:14 +01:00
Sébastien Theys 2f932e3a46 [IMP] web: add filename to qweb image widget
It's better to always have a relevant name in the image URL for SEO.

Also make sure there is always an alt on the image.

closes odoo/odoo#31705

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-03-08 15:41:52 +00:00
svs-odoo 08866930ed [FIX] *: no tracking for consumable product
Before this commit, you can configure tracking for consumable type
product. Now, tracking and date settings are hidden when the product's
type is set on consumable.
Also, resets tracking when change type on consumable.

We chose to not enforce this constraint in the model because we consider
it a bit overkill and we did not want to block migrations.

Task #1938594

closes odoo/odoo#31355

Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2019-03-08 15:52:36 +00:00
Christophe Simonis c023d0784f [MERGE] forward port branch saas-11.3 up to ecd8c023b7 2019-03-08 16:10:55 +01:00
Toufik Ben Jaa 7d4ca67680 [FIX] website_links: links fetching not working
- The fetch of recently/most clicked links was not working due to the
  fact that the widget handling this feature had not parent, thus not
  having access to ajax.rpc to make rpc calls.

closes odoo/odoo#31712

Signed-off-by: Christophe Simonis <chs@odoo.com>
2019-03-08 14:54:37 +00:00
Thibault Delavallée 57004e22b0 [FIX] website_slides_survey: avoid issue when fetching certification information
Information was already present, let us use it instead of having access issues
on membership.

Commit linked to task ID 1941250 and PR #31708.

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-03-08 14:51:25 +00:00
Thibault Delavallée bccfe8a418 [IMP] website_slides: display a flag for unpublished lessons in course list view
It helps course maintainers understanding the state of their lessons.

Commit linked to task ID 1941250 and PR #31708.
2019-03-08 14:51:25 +00:00
Thibault Delavallée 6b7eeac56d [FIX] website_slides: fix domain computation of a channel slide list
When displaying a channel content all its slides are displayed in a
list view or cards view. Even slides current user cannot read because
he is not member of the channel are displayed, even if there is no link
(and access rights prevent them for effectively accessing the slide).
Purpose is to display a channel content without giving access through
ACLS at its slides.

However this domain computation was not correctly matching real use case
 * publishers should see everything;
 * public users should not see unpublished slides;
 * members not publishers should not see unpublished slides unless they
   uploaded it;

Commit linked to task ID 1941250 and PR #31708.
2019-03-08 14:51:05 +00:00
Thibault Delavallée edf68bde6c [REF] website_slides: extract code to have slides per category
Purpose of this commit is to have a method allowing to fetch slides
and have them ordered by category with some info on the category. It
fully supports uncategorized slides.

This commit also fixes the lessons list view of a training course. When
having rights to edit the channel the category name was not editable.
We now use a real browse record allowing to edit the category names
directly in this reorderable list view.

Commit linked to task ID 1941250 and PR #31708 .
2019-03-08 14:46:32 +00:00
Antoine Guenet c9b1401a23 [FIX] web_editor: update the handle on click input node in website edit
When clicking on a snippet containing an input node on Firfeox, the
handle wouldn't appear as expected. This is due to trying JQuery (but
not only) trying to modify properties that are restricted on Firefox but
not on Chrome. The error message still appears from time to time due to
Summernote using `document.getSelection`, which is problematic with
Firefox. This will be fixed with the next version of the editor. In the
meantime the direct effect of that error (the handle issue) is fixed
with this commit.

The standard target (`Event.target`) is now looked for in first position
instead of non-standard 'Event.srcElement` (IE alias for `Event.target`)
then `Event.originalTarget` (Mozilla-specific) and finally
`Event.target` (standard). `Event.originalTarget` is restricted on
Firefox so it was giving the same cryptic error as mentioned above
("Error: Permission denied to access property", which generally points
to same-origin policy violations).

Ref:
- https://developer.mozilla.org/en-US/docs/Web/API/Event/srcElement
- https://developer.mozilla.org/en-US/docs/Web/API/Event/originalTarget
- https://developer.mozilla.org/en-US/docs/Web/API/Event/target
- https://developer.mozilla.org/en-US/docs/Web/API/Window/getSelection#Related_objects
- https://developer.mozilla.org/en-US/docs/web/javascript/reference/errors/property_access_denied

closes odoo/odoo#31710

Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
2019-03-08 14:41:49 +00:00
Christophe Simonis ecd8c023b7 [MERGE] forward port branch 11.0 up to e5f93b83c6 2019-03-08 15:08:16 +01:00
Christophe Simonis e5f93b83c6 [IMP] base,account: unmute logger
Since 8da3750cee, logger does not need to
be muted anymore.

This reverts commits c3764265de and
1693a27f28.
2019-03-08 14:59:01 +01:00
Christophe Simonis fabbcf1579 [MERGE] forward port branch saas-15 up to 21c84f1532 2019-03-08 14:10:38 +01:00
Christophe Simonis 21c84f1532 [MERGE] forward port branch saas-14 up to b47749effd 2019-03-08 13:09:26 +01:00
Christophe Simonis b47749effd [MERGE] forward port branch 10.0 up to 88de931141 2019-03-08 13:08:58 +01:00
Thibault Delavallée 7afd23e56c [FIX] website_slides: various fixes
Display
 * improve color of trophy displayed on top of course main page (success if
   course done, warning while working on it);
 * correctly fetch and display karma/xp points on course lesson list. It is
   either gain of next try, either awarded points depending on slide
   completion;
 * fix control buttons in course main page (prev, next, set done,
   set completed, fullscren), notably correctly set them disabled;

Linting / Code
 * put demo in no update;
 * rename some parameter in website_slides_survey to avoid conflict between
   quiz (on a slide) and certification (a survey);

 Commit linked to task ID 1941250 and PR #31697.

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-03-08 11:15:07 +00:00
David Beguin 523c1276a1 [IMP] gamification : move rank demo data into data
In order to se the 'next rank card' and the user karma on user's profile page,
not only the first rank is needed but also higher ranks. Otherwise everyone
will be 'Newbie', even the admin.

Moreover it is easier to update existing data for things like rank than having
to figure out how it works.

Task ID : 1941250
PR #31697
2019-03-08 11:15:07 +00:00
David Beguin f38a81f981 [IMP] website_slide_survey : set slide completed when quizz_passed
This commit sets the completed flag to True for a slide of type certification
when this certification is succeeded (quizz_passed set to True).

Also, the Download certification button has been added to the fullscreen mode
if the certification is passed by the user.

Task ID : 1941250
PR #31697
2019-03-08 11:15:07 +00:00
David Beguin 6091062e66 [IMP] website_(profile, slides): add custom pager to show on all users / courses pages
If there are too much users to show on the page and to avoid performance
issues, a pager is now applied on the all users page.

A new pager based on website_pager is added in order to ease the navigation
through the potential high number of pages. 'Go to first page' and 'Go to last
page' buttons have been added and the design of the pager have been adapted
to be more integrated into the new eLearning platform.

Also add the pager on the slide page if search category is applied. The pager
was already computed in the controller but not displayed.

Task ID : 1946160
PR #31697
2019-03-08 11:14:45 +00:00
Aurélien Warnon db53057528 [IMP] survey: add a stat button on survey to show the certified count
Purpose
=======

This commit adds a stat button on the survey form view showing the amount
of answers with the quizz_passed field set to True.
It allows to quickly see people that have been granted the certification.

On click, the stat button redirects to the answers list view with the "Quizz passed"
filter defaulted to True.
2019-03-08 11:00:06 +00:00
Aurélien Warnon 1932e25f68 [IMP] survey: show the quizz_passed field in the answers views
Purpose
=======

The quizz_passed field is now more important because it determines whether
a certification has been successfully taken or not.

This commit adds the quizz_passed field in:
- The search view of user_input
- The list view of user_input
- The form view of user_input (along with the score)
2019-03-08 11:00:06 +00:00
Jairo Llopis 8da3750cee [FIX] core: remove extra exception log, redundant in P3
Reverts 2b1d3ff82d introduced in 10.0 via

It was relatively useful in Odoo 10.0 because in Python 2 the exception
was missing a root cause traceback. But Python 3 includes exception
chaining by default, so it comes for free.
See [PEP3134](https://legacy.python.org/dev/peps/pep-3134/)

On top of being redundant in P3, it can also break some testcases
by causing an extra ERROR log entry, even when the final exception is
expected and caught. So it's simpler to remove it.

closes odoo/odoo#31699

Signed-off-by: Olivier Dony (odo) <odo@openerp.com>
2019-03-08 10:46:23 +00:00