Commit Graph
135113 Commits
Author SHA1 Message Date
Goffin Simon 2a184ae62c [FIX] crm_iap_lead, crm_iap_lead_enrich: Uninstalling CRM
Steps to reproduce the bug:

- Let's consider an instance with crm_iap_lead and crm_iap_lead_enrich installed
- Uninstall crm

Bug:

An error was raised: ('Record does not exist or has been deleted.\n(Record: ir.model.fields(15085,), User: 1)', None)
because the field reveal_id is shared on model crm.lead and modules crm_iap_lead and crm_iap_lead_enrich are independent
from each other.

Inspired from https://github.com/odoo/odoo/commit/ff7efbb1e81cd6987601c03f0b75a37d2df8e331

opw:2224952

closes odoo/odoo#48813

X-original-commit: 80879be5d7ab863a097439df1cd61aa236edaca4
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2020-04-02 06:37:06 +00:00
jvm-odoo 7e2504ec0c [FIX] web_editor: fix makeLayoutInfo
Issue

        - Install Website
        - Edit your website

        Do this 8 times:
        - Add the block "Image - Text" under each product
        - Make image on left smaller and text longer
        - Edit the size/color of the title and the description

        There is some case where it will crash

Cause

        We override the method who gets the editor:
        `x = $('[data-note-id="' + list.last($target.attr('id')) + '"]');`
        When there is more than 9 editors in the page
        (because we edited 10 different HTML fields), we reach the
        editor with ID 10 but the code erroneously will not find the
        editor with ID 0

Solution

        Use this instead:
        ```
        x = $('[data-note-id="' + list.last($target.attr('id').split('-')) + '"]');
        ```

OPW-2218467

closes odoo/odoo#48810

X-original-commit: c95fad77ea5b4663130e256f76031560171f09e6
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Signed-off-by: Jason Van Malder (jvm) <jvm@odoo.com>
2020-04-02 06:12:04 +00:00
qho 4496ce31aa [FIX] base_geolocalize: access blocked by OpenStreetMap
The geolocation service from OpenStreetMap will not be unblocked until a
'meaningful' and identical user-agent added in the request.

opw-2221857

closes odoo/odoo#48805

X-original-commit: 9018039b835547ea4adbc32a23901214613a033a
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2020-04-01 21:22:04 +00:00
jvm-odoo 9664c69825 [FIX] account: fix report invoice edit with Studio
Issue

	- Install Accounting & Studio
	- Accounting > Open studio
	- Reports > Invoices
	- Add a Field Column in the table
	  and drag it after "Description"

	Some elements are shifted, which
	causes inconsistency in the table

Cause

	In 924ca78068 we added
	a th "source document" with
	a td containing the value.

	In bc131c0cfb we removed
	the td but not the th.

	Studio adds hook after each th & td.
	Since there is th but no td, there is an
	inconsistency in the hooks.

Solution

	Remove the th from the view to avoid having
	a useless hook.

OPW-2226726

closes odoo/odoo#48798

X-original-commit: 351355c8cb8c64927b5f82d4c1e1deca74353305
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
2020-04-02 11:52:12 +00:00
jvm-odoo aafee08bc6 [FIX] website: fix duplicating a snippet remove its id
Issue

	- Install website
	- Create a carousel
	- Duplicate it

	The second one doesn't work

Cause

	Because of this override:
	https://github.com/odoo/odoo/blob/13.0/addons/website/static/src/js/editor/snippets.options.js#L1635:L1637

	All duplicate IDs are removed but
	it should only remove the ID of a duplicated
	anchor

Solution

	Check if the target has `data-anchor` attribute

OPW-2222074

closes odoo/odoo#48790

X-original-commit: 6f0a4f1aea6ca78413d868f49b9ce105ce14e784
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Signed-off-by: Jason Van Malder (jvm) <jvm@odoo.com>
2020-04-01 20:40:16 +00:00
Andrea Grazioso (agr-odoo) 222aa42512 [FIX] point_of_sale: do not reconcile 0 sum lines
- Have a clean V13 db with point_of_sale and account_accountant
- General Settings => Accounting => Check "Anglo-Saxon Accounting"
(debug mode)
- Choose or create a storable product P with category C
- Go to category C and set 'inventory valuation' to 'automated'
- Open a new POS session PS
- Sell product P with qty 1
- Pay
- New order
- Sell product P with qty -1 (refund)
- Pay
- Close session PS
- Validate session PS

Error "You are trying to reconcile some entries that are already
reconciled." will popup because the 0 sum AML is already marked as
reconciled. This can be fixed by avoiding asking reconciliation when the
amount_residual is 0.

opw-2177881

closes odoo/odoo#48799

X-original-commit: 2c5ef4ed7ea98f890f95f8892c8a0df64b88db98
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2020-04-01 20:55:36 +00:00
william a97a1d838e [FIX] account_analytic_default: defaults on invoice when coming from SO
opw-2226421

The analytic accounts are not set on creation of a new invoice from a
Sale Order, and when they are set, the default should not override the
values selected on the SO.

This commit reverts what was done in be7d1d7510bc94f949a4fc55a6038a83fb026147
which basically reverted what was done in 69bf61bbc991eee96e673316ae8c37e98e1b8a1d

closes odoo/odoo#48793

X-original-commit: 02c75a70458b45f213a2f26fb16d47e9470fecfe
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2020-04-01 20:43:00 +00:00
jvm-odoo 4cc5a1282e [FIX] website_forum: force image size in css to handle gifs
Issue

	- Preferences > Change your avatar with a big .gif
	- Install Forum
	- Go on a question

	The gif is not resized in the nav and in the post
	answer box

Cause

	In fact, all gifs are not really resized. They just
	look fine because there is CSS to handle the case
	where the server resize does not work.

Solution

	Do as it is done everywhere else, add CSS rules

OPW-2223260

closes odoo/odoo#48792

X-original-commit: 35137cea7fd0eef067749721ef808acd298e0aae
Signed-off-by: Jason Van Malder (jvm) <jvm@odoo.com>
2020-04-01 20:42:06 +00:00
Kevin Baptiste 6576aedc0d [FIX] sale_timesheet: add filters on Project Overview
This commit bring back the filters on Project Overview.

closes odoo/odoo#48780

Taskid: 2223820
X-original-commit: 047bf7f2c23157db1c6db3eaa650a43ca8404f63
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Signed-off-by: Kevin Baptiste <kba-odoo@users.noreply.github.com>
2020-04-01 20:25:08 +00:00
Lucas Lefèvre cd52000113 [FIX] hr_timesheet: Fetch server time before render
1) Add a hidden optional field to the timesheet tree view.
2) Try to display that field by checking the checkbox.
=> the column appears then directly disappears.

Asynchronous calls (here: fetching the server time) should
always be in the `willStart` method.

Task 2204084

closes odoo/odoo#48775

X-original-commit: 39fa08c4d6a1b467b520bdd0f75950d2c33f4a2e
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Signed-off-by: lul-odoo <LucasLefevre@users.noreply.github.com>
2020-04-01 20:17:30 +00:00
wan af2272ac56 [FIX] account: invoice analysis multicurrency + various imp
Task 2206699

* All the amounts are now expressed in the company currency
  - The amounts are taken from debit/credit on the aml
  - When opening the report for multiple companies, convert in the
    current company's currency
* New default view:
  - Group by month instead of category
  - Line chart instead of bar chart
  - Filter on customers
* Remove useless fields:
  - name
  - invoice_partner_bank_id
  - invoice_payment_term_id
  - residual (including taxes)
  - amount_total (including taxes)
  - nbr_lines as it is a generic feature
* Rename currency_id to the more correct company_currency_id
* Remove useless group_by clause from the SQL query

closes odoo/odoo#47066

Related: odoo/upgrade#1021
Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
2020-04-01 14:13:16 +00:00
hpr-odoo 5398aca0f9 [FIX] web: Fix the bug while zoom on image
Currently when zoom slowly from right to left on employee image it
will not zoom the image.

currently to hide the zoom image we used target.width() and the method width
gives the width of the selected element (excluding padding, border
and margin) so due to border excluded it will hide the zooming image.
Aslo the offsetHeight property returns the viewable height of an
element in pixels, including padding, border and scrollbar, but not
the margin.

The reason why the 'viewable' word is specified, is because if the
element's content is taller than the actual height of the element,
this property will only return the height that is visible.

so instead of method width we used method outerWidth which gives
width of the selected element (including padding and border, excluding
margin).

closes odoo/odoo#46619

Co-authered-by: Mahendra Barad <mba@odoo.com>
Task: 2199218
Closes: #46619
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2020-03-26 09:53:09 +00:00
Christophe Monniez a545f9ed57 [IMP] core: bump master release version
closes odoo/odoo#48737

Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
2020-04-01 18:49:09 +00:00
Pratima Gupta 2c93b994f2 [IMP] l10n_xx: use country_code field
l10n_latam_country_code field is no more needed for account.move
object thanks to commit 7edb5c11

Also, since country_code field has been defined in view_move_form,
no need to redefine it when it is inherited in l10n_cn module.

closes odoo/odoo#48719

Task: 2228210
Signed-off-by: Josse Colpaert <jco@openerp.com>
2020-04-01 14:23:20 +00:00
Ravi Gohil 6f1bb03903 [IMP] account: define country_code field in move view
Define country_code field in main view to avoid redefining
it in every localization whenever it is needed to use in
attrs.

task: 2228210
2020-04-01 13:04:39 +00:00
william 30f8bb66af [IMP] l10n_lu: use recursive tax report declaration
Task 2214338

We can now define the tax report recursively.

closes odoo/odoo#48508

Related: odoo/enterprise#9534
Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
2020-03-27 13:42:06 +00:00
jbw 04b865d265 [IMP] account : set move_line "Disc%" field on optional hide
Remove groups="base.group_no_one" & set optional to "hide" on
"Disc%" to allow displaying discount field when needed.

closes odoo/odoo#47558

Task: 2214301
Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
2020-03-31 10:10:26 +00:00
Adrian Torres 5952928b42 [REM] *: remove various unused import shims
Before this commit, a lot of leftover import shims existed in the
codebase for py2-py3 compatibility, these are no longer needed since
Odoo 13.0+ doesn't support Python 2 anymore and is (finally) in EOL.

With this commit, these shims are dropped, making the code cleaner,
easier to read and with one less dependency.

Queue -> queue -> py2-py3 compatibility
xmlrpclib -> xmlrpc.client -> py2-py3 compatibility
ConfigParser -> configparser -> py2-py3 compatibility
itertools.izip_longest -> itertools.zip_longest -> py2-py3 compatibility
urllib -> urllib.request -> py2-py3 compatibility
__builtins__ -> builtins -> py2-py3 compatibility
_winreg -> winreg -> py2-py3 compatibility

mock -> unittest.mock -> merged into CPython

The debian/fedora packages and requirements.txt have been updated accordingly

closes odoo/odoo#44601

Related: odoo/enterprise#8141
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2020-04-01 12:45:40 +00:00
Mitali Patel c248594ee5 [IMP] base: allow restricting / removing exports right
Add a new group allowing administrators to remove the ability for
users to bulk-export data from the database. It's pretty minor as
technically the user can still access the underlying object through
the basic methods but it's still a bit of a roadblock.

Users can export by default.

Task 2170900

closes odoo/odoo#45400

Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2020-04-01 13:07:50 +00:00
lbs-odoo 2711129809 [IMP] sale_expense : add condition on expense_policy display
The 'Re-Invoice Expenses' (expense_policy) can be visible only if 'Can be Expensed' is true.

TASK#2169344

closes odoo/odoo#48525

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-04-01 10:12:04 +00:00
william 23f3d07f9e [IMP] account: rename reversed_entry_id to Reversal of
The moves that have this field set are the reversal of the value of
 that field. Not the other way around.

closes odoo/odoo#48667

Related: odoo/enterprise#3334
Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
2020-04-01 07:32:52 +00:00
Rémy Baranx (bar) 840c18d230 [IMP] sale_management: remove price_unit from quotation template
Purpose
=======

Having price and discount on quotation template is quite confusing
as it is more the job of pricelists.
In order to make it more simple for the user, we should remove the
fields price_unit and discount from quotation template.

Implementation
========

Now, the public price of a product is used instead of the price from
the quotation template. If a pricelist exists, it is taken into
account as before.

+ Add new tests to check the sale order template behavior.

closes odoo/odoo#47186

Taskid: 47186
Related: odoo/upgrade#972
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-03-31 13:47:27 +00:00
dmonzonis 532c2b44ff [IMP] website_event_track: retrieve sponsor website from partner
The Sponsor Website field in event sponsors is now automatically computed from the selected
partner's data, but the field can still be changed afterwards in case
the partner wants to specify a different website url for its sponsoring.

closes odoo/odoo#48217

Task: 2205443
Related: odoo/upgrade#981
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2020-04-01 07:43:58 +00:00
dmonzonis e84bd187e0 [IMP] website_event_track: allow archiving of event sponsors
Before this commit, event sponsors could not be archived, only deleted.
Now, users are able to archive event sponsors if they want to set them
as inactive but do not wish to delete them from the database.

A filter was also added in the Event Sponsor view to quickly retrieve
archived records. Also, archived sponsors will show an "Archived" ribbon
in their form view.

Task: 2205443
2020-04-01 07:06:04 +00:00
Toufik Ben Jaa 707522cb01 [FIX] sql_db: flush when no uid in environment
- A bug has been introduced by the PR https://github.com/odoo/odoo/pull/46719
  This issue prevented flushes to database when no `uid` is set in the
  current environment.
  This happens when database changes are made in `auth="none"` routes.
  In a MonoDB setup this was working because Odoo consider `None`, `False` as
  `null` and was always bound to a database.

  Nothing prevents to write `null` in the columns `create_uid` and
  `write_uid` in database.
  The PR that introduced the bug wanted to block the cases where
  `uid` is an instance of the class `RequestUID` to avoid `Cannot adapt
  type` errors.
  So testing that `uid` is an integer isn't enough.

  Two fixes were possible here, either check if `uid` is an instance
  of the class `RequestUID` or if it is either an integer, `False` or `None`.

  To avoid noise and imports from `odoo`, we test that `uid` is an instance
  of `None`.
  The case where it is `False` is already tested in the python code:

  ```python
	isinstance(env.uid, int)
  ```

(manual) forward-port of odoo/odoo#48685

closes odoo/odoo#48693

Signed-off-by: Toufik Benjaa (tbe) <tbe@odoo.com>
Signed-off-by: Olivier Dony (odo) <odo@openerp.com>
2020-04-01 00:30:30 +00:00
Olivier Dony d05c813653 [FIX] mail: mute default password warning on demo databases
The point is to warn admins of production and public-facing databases.
However it is not necessary to nag users of demo databases, even when
connecting non-locally (e.g. on runbot).

Updates #37580

(manual) forward-port of #48689

closes odoo/odoo#48691

Signed-off-by: Olivier Dony (odo) <odo@openerp.com>
2020-04-01 00:07:31 +00:00
Dhruv PatelandAaron Bohy ae610d0e20 [IMP] web: graph: drill down to records in bar/pie charts
After this commit, in the graph view, when the user clicks on parts
of the bar and pie charts, it opens the list view of the concerned
records (like what was already done in the pivot view).

This is the default behavior, but it can be deactivated by setting
the attribute 'disable_linking' to true in the view.

Task 2198461

closes odoo/odoo#47796

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Co-authored-by: Aaron Bohy <aab@odoo.com>
2020-03-31 19:15:10 +00:00
Benjamin Vray 2516c0a212 [IMP] website: add a shadow option on the header
Part of https://github.com/odoo/odoo/pull/38950
task-2087641

closes odoo/odoo#38950

Related: odoo/design-themes#183
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-03-31 19:08:01 +00:00
Benjamin Vray 135fccdc2c [IMP] website: add an option for hoverable dropdowns on header
Add an option to open dropdown menus on hover instead of click.

Part of https://github.com/odoo/odoo/pull/38950
task-2087641
2020-03-31 18:16:08 +00:00
Benjamin Vrayandqsm-odoo 3defe35a0e [IMP] website, *: add and review header visibility options
*: portal

Adding a choice of several header behaviors (fixed, fade out with
scroll, etc.). Review the way those animations works in mobile/desktop
and now perform them without duplicating the header DOM element.

Also allow to hide of adapt the size of the logo when the page is
scrolled.

Part of https://github.com/odoo/odoo/pull/38950
task-2087641

Co-authored-by: qsm-odoo <qsm@odoo.com>
2020-03-31 18:16:08 +00:00
Benjamin Vrayandqsm-odoo 5ba817c453 [IMP] website: add templates for footer
Also remove all t-fields from footers to have only static contents in
footers. For social links, a controller is added so that a "static url"
/website/social/xxx always redirect to the correct set URL for the given
xxx social network.

Part of https://github.com/odoo/odoo/pull/38950
task-2087641

Co-authored-by: qsm-odoo <qsm@odoo.com>
2020-03-31 18:16:08 +00:00
Benjamin Vrayandqsm-odoo cb20435069 [IMP] website, *: add templates for header
*: portal

Part of https://github.com/odoo/odoo/pull/38950
task-2087641

Co-authored-by: qsm-odoo <qsm@odoo.com>
2020-03-31 18:16:08 +00:00
Benjamin Vray 38444561a1 [IMP] website: dissociate the name of the website
The name of the site displayed on the website is now dissociated from
the technical name of the website.

Part of https://github.com/odoo/odoo/pull/38950
task-2087641
2020-03-31 18:16:08 +00:00
Benjamin Vray e912823cb1 [IMP] website, *: split the customize method into 3 different methods
* theme_bootswatch, web_editor

Split the customizeWebsite method into 3 different methods so we can
use customizeWebsite for variable, views or color on the same widget.

Part of https://github.com/odoo/odoo/pull/38950
task-2087641
2020-03-31 18:16:07 +00:00
Jeremy Kersten 90c0f1e960 [IMP] website: test_crawl dont follow external link
In case a controller with a relative url return an absolute link
the current crawler follow the redirect and all external link of this
external url too.

Now we don't follow redirection if it is on an other netloc that the
current one.

Part of https://github.com/odoo/odoo/pull/38950
task-2087641
2020-03-31 18:16:07 +00:00
Odoo's Mergebot 372124f977 [MERGE] calendar,web: update to FullCalendar v4 & fixes
This merge updates the FullCalendar library from v3 to v4.

The purpose of this update for us is to add proper support of the
drag-and-drop of events on mobile.

But also to fix scrolling issues present mainly on smaller screens. In
those configurations multi/inner-scrolls were present resulting in
either the inability to properly scroll the desired content or even
blocking altogether the scroll.

As a nice-to-have feature, version 4 removes its dependency on the
jQuery library, allowing faster loading of a bigger set of events.

Last but not least, this version also reduces its dependency on the
Moment.js library (but still keeps a binding to it for compatibility
purpose).

In addition to the update of the library itself, this merge adapts the codebase
to the library's API changes and extracts some methods and templates to allow
further customization of the calendar view.

Finally, a couple of fixes are also applied :
* time-based instead of ID-based order of events in month view
* unwanted transformation of time-based events into all-day events in month view

Task ID: 2092550

closes odoo/odoo#48630

Related: odoo/enterprise#9554
Signed-off-by: Pierre Paridans <pparidans@users.noreply.github.com>
2020-03-31 19:43:13 +02:00
william d2851b2039 [IMP] l10n_*: add demo company
Task 2198388

When testing and demoing localization, it can but cumbersome to create a
Company with the right credentials and install the chart of account on
it.
This commit aims to shorten the process. The first version only contains
a valid vat (or similar) number, but we should add fields specific to
localization in the future so that we have a working environment as soon
as we install the localization.
change manifest

closes odoo/odoo#48102

Signed-off-by: Josse Colpaert <jco@openerp.com>
2020-03-31 16:41:23 +00:00
Odoo's Mergebot b6e2bb655b [IMP] survey: improve sessions usability and design
PURPOSE

Improve the various sessions flow to make it easier for attendees to reach the
session and to allow better interactions between the host and his audience.

This comes with small usability improvements as well as increased
"beautifulness" by using custom layouts & animations.

SPECS

General specifications, see sub-commits for details.

- Currently, the "short link" feature is good but it still needs to be improved
  with the following points:
    - Make the default "code" shorter (4) and digit only.
    - Allow to customize the "code"
    - Check for potential collisions
- When attendees reach the survey through the code, they need to land on the
  "waiting screen" even if the session is not started yet. This will allow the
  host to show the survey link even if he forgets to click on "start session"
  first.
- Reduce the fade out / fade in delay when moving from one question to another.
  It's currently 2 seconds, change it to 1 second.
  Right now the delay gives a "slowness" impression.
- Display matrix choices on the host screen.
  It will allow attendees that are not participating to have more context.
- Add python test/tours to test the survey session flow from the host point of view
- Improve survey form navigation (moved buttons, added keyboard navigation)
- Auto submit questions and matrix with simple choice

DESIGN TWEAKS

Slightly improve the survey form by adding a few cosmetic changes,
notably:

- Add/reduce some margins/paddings
- Adjust colors/font-weight
- Adjust heights
- Change some icons by more fitting replacements
- Center matrix choices
- Move survey progression to bottom-right
- Remove ugly jumbotrons
- Hide survey title in page_per_question layout
- When there are 5 or less option for simple_choice or multiple_choice
  questions, display the options vertically.
- Only show the textarea for the "comment answer" if the user clicks on the
  related option.

LINKS

Upgrade PR odoo/upgrade#897
Task 2208574

closes odoo/odoo#46768

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2020-03-31 19:07:19 +02:00
David Beguin 280c6bf1d6 [IMP] survey: auto submit for questions and matrix with simple choice
Purpose
=======

Speed up survey completion.

Specifications
==============

This commit apply an auto commit when user select a choice on a simple choice
question or on a matrix question with simple choice.

The auto commit happens following those conditions:
- Only on simple choice and matrix with simple choice questions
- For matrix, only when last subquestion is answered
- Only when Back mode is active
- If this is not the last question

Link
====

PR #46768
Task 2208574
2020-03-31 16:25:53 +00:00
Aurélien Warnon 176e5a5066 [IMP] survey: improve survey form navigation
This commit slightly changes the way users navigate through the survey form:
- The back button was moved to the bottom-right of the screen.
- The "Continue" button stays at the center but there is also a "next" button
  at the bottom-right of the screen (same behavior -> submits the form)
- Arrow keys (left + right) navigation is now supported

Technical note: As the survey navigation is now outside of the survey content,
that was re-rendered on every submit, we have to manually refresh the
navigation with a second template render on the controller side.

LINKS

PR #46768
Task 2208574
2020-03-31 16:25:52 +00:00
Aurélien Warnon 695294b953 [IMP] survey: apply small survey form design changes
This commit slightly improves the survey form by adding a few cosmetic changes,
notably:

- Add/reduce some margins/paddings
- Adjust colors/font-weight
- Adjust heights
- Change some icons by more fitting replacements
- Center matrix choices
- Move survey progression to bottom-right
- Remove ugly jumbotrons
- Hide survey title in page_per_question layout
- When there are 5 or less option for simple_choice or multiple_choice
  questions, display the options vertically.
- Only show the textarea for the "comment answer" if the user clicks on the
  related option.

One of the biggest design change is the introduction of a "minimized layout"
that reduces the width of some question types on bigger screen.
This gives a cleaner look to the survey form.
Impacted question types:
- Numeric
- Date
- Datetime
- Simple / Multiple choices

Technical note: As the survey progression is now outside of the survey content,
that was re-rendered on every submit, we have to manually refresh the
progression with a second template render on the controller side.

Small fix addition:
We also fix the matrix key selection feature in case the matrix had a total of
more than 25 options, which would raise an error.
Indeed, they "use key selection" condition only checked the number of rows,
and not the rows * columns (total number of options count).

LINKS

PR #46768
Task 2208574
2020-03-31 15:43:03 +00:00
Romeo Fragomeli dc43b00553 [FIX] web: avoid to set allDay when the duration of a event is 24H * n
Before this commit, when the duration of an event is "24H * n". The event
is set as allDay. This is strange to have a event that start a 8H and end
at 8H of next days and the event is in the allDay slot.

After this commit, we don't change the allDay flag anymore.

Steps to reproduce:
* Open calendar in week view
* Create a event from 8 -> 16
* Then resize the end of this event from 16 -> 8 of the next day (BUG)

Task ID: 2183249
2020-03-31 15:37:13 +00:00
Aurélien Warnon 6405ffd483 [IMP] survey: add python tests/tours to test the survey sessions
PURPOSE

This commit adds a big flow test/tours to the survey sessions, for the host
point of view.
This will avoid breaking the feature with future changes, as it contains some
tricky and complex mechanics (especially the screens chaining).

SPECS

The tour tests the whole host point of view.

Break down of the testing/tour main points:
- Create the survey session
- Check our attendees are accounted for
- Open the 'session manager'
- Display the nickname question, and move to the next one (as answers are not
  displayed for nickname questions)
- Check answers are correctly displayed for the 3 'simple' question types
  (text, date, datetime)
- Move to the choice question and check that answers are displayed
- If everything is correctly displayed, move to the next question
- On the scored choice question, check that the screens are correctly chained:
  no results displayed -> results displayed -> correct/incorrect answers ->
  leaderboard
- On the scored + timed multiple choice question, check the same than previous
  question, except that the results are supposed to be displayed automatically
  when the question timer runs out
- Test the 'back' behavior and check that screens are reversed correctly
- Check that our final leaderboard is correct based on attendees answers
- Close the survey session

LINKS

PR #46768
Task 2208574
2020-03-31 15:16:02 +00:00
Aurélien Warnon afd78f12ae [IMP] survey: show matrix choices on session host view
This commit improves the session host view by showing matrix choices for matrix
questions.

This is done to help people in the audience that are not participating to the
session to have some context about possibles question answers.

LINKS

PR #46768
Task 2208574
2020-03-31 15:12:06 +00:00
Aurélien Warnon aaf3cb50c3 [IMP] survey: improve sessions fade in/out delays
PURPOSE

Improve the various sessions flow to make it easier for attendees to reach the
session and to allow better interactions between the host and his audience.

This comes with small usability improvements as well as increased
"beautifulness" by using custom layouts & animations.

SPECS

This commit changes the survey sessions fade in/out delay for both the host
and the attendees.

When going from one question to another, the total delay is now 1 second
(instead of 2 previously), with 500 ms for fade out and 500 ms for fade in.

The previous delay gave an impression of "slowness".

The delays and "server lag reduction" on the attendees side were adapted
accordingly.

LINKS

PR #46768
Task 2208574
2020-03-31 15:12:05 +00:00
Aurélien Warnon a330099b92 [IMP] survey: improve session "short link" management
PURPOSE

Improve the various sessions flow to make it easier for attendees to reach the
session and to allow better interactions between the host and his audience.

This comes with small usability improvements as well as increased
"beautifulness" by using custom layouts & animations.

SPECS

- For live session only:
  Currently, the "short link" feature is good but it still needs to be improved
  with the following points:
    - Make the default "code" shorter (4) and digit only.
    - Allow to customize the "code"
    - Check for potential collisions

Added at the same time:
- input element is focused when you land on the '/s' page.

LINKS

PR #46768
Task 2208574
2020-03-31 15:12:04 +00:00
Romeo Fragomeli 0150141756 [FIX] web: don't show all_day slot when no all_day mapping is present
Before this commit, it was possible to create/move an event in the "all
day" slot of FullCalendar even when the mapping field wasn't set.

With this commit, when the "all day" mapping is not present, the "all
day" slot of FullCalendar becomes hidden.

Ref:
https://fullcalendar.io/docs/allDaySlot

Task ID: 2183249
2020-03-31 15:09:30 +00:00
Romeo Fragomeli 7b815c3bf2 [FIX] web: calendar's drag-and-dropped event has wrong end-date
Due to previous commit, in month view, the flag marking events as "all
day" is no more present and so some logic is not applied anymore. This
results into the wrong end-date.

With this commit we avoid to change the end date of an event in
FullCalendar.

Note that it changes the behavior on drag-and-dropped event in month
view:
* Before both the last and this commit, an event if 1H will become an
"all day" event when it's dropped into another cell.
* After them, the time will be the same as the original event and only
the date will change.

Also, one test was already added in commit odoo/odoo@7af13089df
to check that, in month view, when we move a non-"all day" event to
another day, it can't change into a all day event.

This commit adds a second test to cover the case when the "all day"
mapping is present.

Task ID: 2183249
2020-03-31 15:09:18 +00:00
Romeo Fragomeli d57470387a [FIX] web: calendar's event not correctly ordered in month view
Before this commit, events were sorted by ID in month view.
Event A occurring after event B would be placed on top of B instead
of below.

Steps to reproduce:

* Go in the calendar app
* Insert a event at 12:00
* Insert a event at 8:00
* Insert a event at 14:00
* Go in view month the events are not sorted (BUG)

In month view, events are forced to be "allday", so the sequence used
can't be based on its time but only on its ID.

To fix this, this commit doesn't force the "allday" flag anymore.

Task ID: 2183249
2020-03-31 15:06:53 +00:00
Romeo Fragomeli 8dfbc7d421 [MOV] web: extract mobile-specific code to enterprise
Task ID: 2092550
2020-03-31 15:06:45 +00:00