Commit Graph
123802 Commits
Author SHA1 Message Date
Priyanka Kakadiya 152af348f3 [IMP] sale: Improve tour + Move icon to sale_management
- Move application icon to sale_management
- Improve tour

Task: 1920454
2019-02-06 12:58:58 +00:00
Robot Odoo b6839a969d [IMP] survey: scoring & certification
Task #1902306

Purpose
=======

Preliminary cleanup
---------------------------

survey.question is now also the model used for the survey's pages (with the "is_page" field set to True).
This allows to put all the pages and questions together in a o2m field on the view side and
easily reorganize your survey by dragging the items around.

It also removes one level of encoding by directly having 'Add a page' and 'Add a question'
links on the tree view of questions, enabling a faster encoding.

However, this has the downside of making the code reading a little bit more complicated.
Efforts were made at the model level to create computed fields so that the use of these models
still seems somewhat logical. That means:
- A survey still has "page_ids" (question_and_page_ids filtered on is_page = True)
- These "page_ids" still have question_ids (questions located between this page and the next)
- These "question_ids" still have a "page_id"

That makes the use and display of these information at view and controller levels easier to understand.

Certification
----------------

This commit adds certification capabilities to the survey module.

A certification is a survey with the "certification" flag set to true than can be linked
to a certification email template that contains a certification document (PDF).
This template can be edited by the user in the technical settings to customize the certification email/document.

To be able to implement this certification concept, we also have to add scoring mechanisms to surveys.
survey.questions of type 'simple_choice' and 'multiple_choice' now have scores for the suggested answers.
These question scores allow to compute a global score that is used to determine whether the user has successfully
passed the certification or not.

As additional features, we also have:
- A time limit with an interface timer that limits the test to X minutes
  When reached, the survey is automatically submitted and unregistered (= unsubmitted) answers are not taken into account.
- A limited number of attempts for the survey/certification
  If reached, the user can't take the survey/certification anymore

The 'survey result' layout was adapted accordingly to show the success rate of participants and the correct answers
to the survey questions.

Randomization and survey layout selection
---------------------------------------------------------

The "page" concept is now only present in the user interface.
Surveys are split in "sections" that have two purposes:
- Organizing a (long) survey/certification
- Allow to pick a random questions count for that section (more information here after)

On the user interface, based on the questions_layout field, surveys are displayed:
- On a single page, where sections still appear but are only used as visual separations
- On multiple pages, having one page per section (this matches the previous behavior)
- On multiple pages, having one page per *question*

On top of that page concept, this commit added randomization for the survey questions.
The randomization mechanism will take X questions per section of the survey.
The survey.user_input is initialized with the selected questions to be sure to keep that
set of questions and avoid showing a new set of questions every time the user refreshes the page.
This also allows to easilly go back and know which question we have to show.

Specs
=======
- Create a new survey :
  - Add a description field for the survey

- Options on a survey :
  - Passing score : (sum of all good answers) in %
  - If No scoring => No passing score, no certificate
  - If Scoring with answers => Passing score and can see the answers (can create certificate)
  - If Scoring without answers => Passing score but can't review the answers at the end (can create certificate)
  - for the questions, if "no scoring" selected, can 't see the option "good answer" and "score" on the questions
  - If the 2 others options, can see the options "good answer" and "score" on the questions
  - all the types of questions are available for each option.

- Questions
  - Add the option correct answer on the multiples questions (one or more good answers)

- Certifications
  - If scoring, force "mandatory" for "mutliple choices (1or multiple answers)"
  - On the dashboard => visual information that this specific survey is a certification
  - Time Limit : The student is informed on the home screen of the survey of the time limit.
    The clock start when he clicks on "start survey"
  - Template of the certificate : send email with attachment PDF

- Front-end :
  - Add some margin
  - Replace "Back to survey" with the blue-bar from the portal
  - Add a timer (start when the survey starts)
  - Add a progress bar (number of section and number of question inside the section)

- Analyse of the results :
  - First a global graph with the number of people who''ve participated and passed the test

- Stages of a survey :
  - Remove the stage "Permanent"
  - 3 stages :
    - draft : not on-line but can be tested (with phantom token)
    - In progress : on-line
    - closed : not on-line
  - Who can test a survey : the manager and the user. Add this condition to the phantom token.

closes odoo/odoo#29577
2019-02-06 18:44:00 +01:00
Aurélien Warnon 120ff4a1db [FIX] survey: make survey access_token copy=False for duplicate
Task #1902306

Purpose
=======

The "access_token" needs to be unique so it should not be copied when
duplicating the survey.
2019-02-06 13:20:52 +00:00
Aurélien Warnon 77654855a8 [FIX] survey: make "matrix_type" required for matrix questions
Task #1902306

Purpose
=======

When creating a question of type "matrix", the "matrix_type" field needs to be "required".
(survey UI is broken if left empty).
2019-02-06 13:20:52 +00:00
Aurélien Warnon 99bb017f68 [IMP] survey: add invite_token to user_input to reset the attempts count
Task #1902306

Purpose
=======

When you invite people to take a certification multiple times, the user will have his "attempts" count reset
with every invitation.
This is important when there is a limited number of attempts available.
ex: A user invited twice will have 2 x allowed_attempts_count to succeed the survey.

Attempts are now separated in different pools using a "invite_token" field on the survey.user_input.
2019-02-06 13:20:52 +00:00
qsm-odoo eacaf02544 [FIX] website: restore some edit.js features
Following the new editor's merge at https://github.com/odoo/odoo/pull/29775,
the website 'edit.js' file received mistakes / useless code.

https://github.com/odoo/odoo/pull/30839 fixes one of them. Hopefully
this commit will solve the remaining ones.

- https://github.com/odoo/odoo/blob/12.0/addons/website/static/src/js/menu/edit.js#L43
  was moved for no reason at all at the bottom of the method alongside
  its comment which broke the feature and made the comment wrong.

- Changed a '.a' selector into a '.a:not(.b), .a.b' selector...
  https://github.com/odoo/odoo/blob/b6db6b878c5d329c19262d829e13726c3a3a1d25/addons/website/static/src/js/menu/edit.js#L136

- For the same selector, a 'FIXME' comment was removed while it was not
  fixed (this restores it as a 'TODO' instead of a 'FIXME' though).

- On edition stop, removed all the data-editor-message, even the
  specific ones that were not added by the editor (note that it was not
  a problem for the current ones in Odoo as they were by chance on the
  main editable elements which made them not saved in the database):
  https://github.com/odoo/odoo/blob/b6db6b878c5d329c19262d829e13726c3a3a1d25/addons/website/static/src/js/menu/edit.js#L177

closes odoo/odoo#30870
2019-02-06 12:48:01 +00:00
Jaykishan SolankiandRavi Gohil 7c6b8baf03 [IMP] account, point_of_sale,...: Improve usability
- Improve warning message when user tries to create credit note
- Hide 'Active' column in Taxes/Currencies and added default 'Active' filter in Taxes
- Removed 'save this page...' under 'Account Follow-up Levels','Budget Management',
  'Asset Management','Deferred Revenues Management' section in Accounting Settings
- Fixed margin between Cash Rounding checkbox and it's link in Accounting Settings
- Renamed action menu 'Confirm Payments' to 'Post Payments' for payments to make it
  consistent with it's form view
- Hide payment acquirers config for non-adviser users and also restric editing access
  rights for non advisior and employee user (only data read access rights on payment acquirers)
- Renamed Journal type from 'Sale' to 'Sales' and journals 'POS Sale Journal, Stock Journal,
  Cash Basis Tax Journal to Point of Sale Journal, Inventory Valuation Journal and Cash Basis
  Taxes Journal respectively
- Renamed the stat button 'Entries' to 'Items' for account assets form view
- Improved description and name of account_voucher module
- Improved Menu typo, Purchase Receipts to Purchases Receipts
- account_check_printing, hr_expense_check: made field storing check numbers character
  instead of integer, integer field for check numbers shows check numbers as amount
  (i.e., with thousand separator) on UI, which is wrong, hence replaced it with character
  type field and a constraint to allow only numbers to be stored in it.

TaskID: 40157

Co-authored-by: Ravi Gohil <rgo@odoo.com>

closes odoo/odoo#21982
2019-02-06 11:57:29 +00:00
Aurélien Warnon 445541989f [IMP] survey: add randomization and survey layout selection
Task #1902306

Purpose
=======

The "page" concept is now only present in the user interface.
Surveys are split in "sections" that have two purposes:
- Organizing a (long) survey/certification
- Allow to pick a random questions count for that section (more information here after)

On the user interface, based on the questions_layout field, surveys are displayed:
- On a single page, where sections still appear but are only used as visual separations
- On multiple pages, having one page per section (this matches the previous behavior)
- On multiple pages, having one page per *question*

On top of that page concept, this commit added randomization for the survey questions.
The randomization mechanism will take X questions per section of the survey.
The survey.user_input is initialized with the selected questions to be sure to keep that
set of questions and avoid showing a new set of questions every time the user refreshes the page.
This also allows to easilly go back and know which question we have to show.
2019-02-06 10:34:43 +00:00
Aurélien Warnon afb1abbb60 [IMP] survey: scoring & certification
Task #1902306

Purpose
=======

This commit adds certification capabilities to the survey module.

A certification is a survey with the "certification" flag set to true than can be linked
to a certification email template that contains a certification document (PDF).
This template can be edited by the user in the technical settings to customize the certification email/document.

To be able to implement this certification concept, we also have to add scoring mechanisms to surveys.
survey.questions of type 'simple_choice' and 'multiple_choice' now have scores for the suggested answers.
These question scores allow to compute a global score that is used to determine whether the user has successfully
passed the certification or not.

As additional features, we also have:
- A time limit with an interface timer that limits the test to X minutes
  When reached, the survey is automatically submitted and unregistered (= unsubmitted) answers are not taken into account.
- A limited number of attempts for the survey/certification
  If reached, the user can't take the survey/certification anymore

The 'survey result' layout was adapted accordingly to show the success rate of participants and the correct answers
to the survey questions.

Specs
=======
- Create a new survey :
  - Add a description field for the survey

- Options on a survey :
  - Passing score : (sum of all good answers) in %
  - If No scoring => No passing score, no certificate
  - If Scoring with answers => Passing score and can see the answers (can create certificate)
  - If Scoring without answers => Passing score but can't review the answers at the end (can create certificate)
  - for the questions, if "no scoring" selected, can 't see the option "good answer" and "score" on the questions
  - If the 2 others options, can see the options "good answer" and "score" on the questions
  - all the types of questions are available for each option.

- Questions
  - Add the option correct answer on the multiples questions (one or more good answers)

- Certifications
  - If scoring, force "mandatory" for "mutliple choices (1or multiple answers)"
  - On the dashboard => visual information that this specific survey is a certification
  - Time Limit : The student is informed on the home screen of the survey of the time limit.
    The clock start when he clicks on "start survey"
  - Template of the certificate : send email with attachment PDF

- Front-end :
  - Add some margin
  - Replace "Back to survey" with the blue-bar from the portal
  - Add a timer (start when the survey starts)
  - Add a progress bar (number of section and number of question inside the section)

- Analyse of the results :
  - First a global graph with the number of people who''ve participated and passed the test

- Stages of a survey :
  - Remove the stage "Permanent"
  - 3 stages :
    - draft : not on-line but can be tested (with phantom token)
    - In progress : on-line
    - closed : not on-line
  - Who can test a survey : the manager and the user. Add this condition to the phantom token.
2019-02-06 10:34:40 +00:00
Aurélien Warnon dba4783326 [REF] survey: convert survey.page to survey.question -> is_page=True
Task #1902306

Purpose
=======

survey.question is now also the model used for the survey's pages (with the "is_page" field set to True).
This allows to put all the pages and questions together in a o2m field on the view side and
easily reorganize your survey by dragging the items around.

It also removes one level of encoding by directly having 'Add a page' and 'Add a question'
links on the tree view of questions, enabling a faster encoding.

However, this has the downside of making the code reading a little bit more complicated.
Efforts were made at the model level to create computed fields so that the use of these models
still seems somewhat logical. That means:
- A survey still has "page_ids" (question_and_page_ids filtered on is_page = True)
- These "page_ids" still have question_ids (questions located between this page and the next)
- These "question_ids" still have a "page_id"

That makes the use and display of these information at view and controller levels easier to understand.
2019-02-06 09:37:59 +00:00
wan b18ebde9c2 [FIX] account: Clean receivable/payable bank reconciliation
Task 1933763
Be able to reconcile this scenario :

- You invoiced 00 to a contact—> receivable 00
- You received a 0 bill from the same contact—> payable 0
- Contact pay you 0 (bank statement)
- You want to reconcile all the things easily from bank reconciliation

the story looks like (bank move is the one to be managed) :
```
journ    n° compte              contact        DEBIT    CREDIT    Mach
sales    12 400000 Clients      Azure Interior 100.00€    0.00 €  A1
sales    12 701000 Ventes       Azure Interior   0.00 € 100.00 €
purchase 11 440000 Fournisseurs Azure Interior   0.00 €  50.00 €  A2
purchase 11 600000 Achats       Azure Interior  50.00 €   0.00 €
bank      3 550001 Bank         Azure Interior  50.00 €   0.00 €
bank      3 400000 Clients      Azure Interior   0.00 € 100.00 €  A1
bank      3 440000 Fournisseurs Azure Interior  50.00 €   0.00 €  A2
```

closes odoo/odoo#30664
2019-01-30 08:16:00 +00:00
Romain Estievenart 3956afb8e4 [IMP] web: expose FieldX2Many relational fields
Expose to public the variable FieldX2Many.

Task ID: 1910385

closes odoo/odoo#30512
2019-02-06 10:05:11 +00:00
Robot Odoo 6001fb227f [IMP] core: more details in debug mode access error messages
Access rights issues are currently hard to diagnose (especially from
ir.rule) due to how little details they provide.

This makes a pass over various sources of access errors and:
* improve/clarify the base message
* provide an alternative message with more details in debug mode

- [x] ir.model.access
- [x] ir.rule
- [x] related fields
- [x] fields with groups
- [x] close #28451 (provide both _name and _description in access error messages)

Task [1886746](https://www.odoo.com/web?debug#id=1886746&model=project.task&view_type=form&menu_id=4720)

closes odoo/odoo#30144
2019-02-06 13:40:29 +01:00
Xavier Morel 51819dcf17 [IMP] access errors through related fields
When an access error bubbles through a related field (aka the user
doesn't have access to the delegate or the delegate's field), append
the "intermediate step" so that it's easier to understand e.g. that
the access error to a partner really comes from accessing a user or
somesuch.
2019-02-06 11:29:29 +00:00
Xavier Morel 0f167634be [IMP] access error messages on fields with groups 2019-02-06 11:29:29 +00:00
Xavier Morel 6461a0f58c [FIX] core, base: rules detail on access error
In debug mode, if an access fails due to access rules, try to provide
a clearer error message & include a list of the rules which fail for
the record-set.

Note: for read() operations it'll be a bit misleading as failed
records will get a list of all the rules failing for the recordset,
only some of which might apply to that specific record.
2019-02-06 11:29:29 +00:00
Xavier Morel 860c842313 [IMP] base: error message on ACL failure, test 2019-02-06 11:29:29 +00:00
XavierDo e2180e5a2e [FIX] fields: setting an integer field invalidates its inverse one2many
In particular, creating a `mail.message` automatically invalidates the
corresponding `record.message_ids`.

closes odoo/odoo#30737
2019-02-06 10:18:24 +00:00
Robot Odoo e1838a9e27 [MERGE] portal,website_slides: posting review on slide channel
Impacted modules: portal, rating, website_rating, website_slides

This merge modifies the some aspect of posting a message for public
document, in order to implement the rating (message+rating) on a slides
channel.

We now support the use case of posting without having the right to write
on a document, and force the author of the message (as it is required to
be logged to post a message). The security has been improved: to do so,
the document token is not leaked anymore. Only the signed token (by current
partner id) is used.
The rating mixin has been modified to handle displaying average and count
(per document), in an efficient way.

A new frontend message composer is born in website_rating (as it allow to
post a rating with a comment). To do so, a little refactoring of the
Portal Chatter has been done.

For more details, please have a look at the subcommits. They are well
explained and correctly split.

Task-1902304

closes odoo/odoo#30655
2019-02-06 12:19:09 +01:00
jem-odoo e84779749b [IMP] website_slide: allow to edit comment
When a portal user post a message to review a channel, we
want to allow him to edit its own comment and rating.
This commit modifies the special check access method in
portal to extract the security check and reuse it to
allow user to update its comment on slide.channel only.
We decided to reuse existing widget (new rating popup
composer) to do the message modification.

Task-1902304
2019-02-06 09:55:13 +00:00
jem-odoo cd3b6026e9 [FIX] website_rating: display label when rating
This commit fix the display of a label when the user add
a review; when selecting desired stars, the label corresponding
to the star is displayed in a badge.
The bug probably comes from the update to bootstrap 4.
2019-02-06 09:55:13 +00:00
jem-odoo e97b40bae6 [IMP] website_slides: allow to rate slide channel
This commit allows user to rate a slide channel: using the new Popup
Rating Composer, users having access to the slide channel can submit
a rating with a comment. Then, lower in the page, they can see the
ratings of other users.

Task-1902304
2019-02-06 09:55:13 +00:00
jem-odoo 17ac041bfa [REF] portal: posting message with signed token
Before this commit, it was possible to post a message on a document
the user has no access, thanks to a token. In addition to this token,
if a hash (signed token with a partner id), the author_id of the message
was forced.
This commit change a little bit that logic by distinguish 2 cases:
1/ Token only: anyone with the token can post a message on the document. If
  the user is not logged (public with token), the author_id will be the
  customer of the document (or the public user). This case is moslty used
  for business document, through the portal or with the "share link" for
  instance.
2/ Signed token: user has no write access to the document, but can post a
  message on it. The user have to be logged, as the token is signed with its
  identifier. The goal here is to avoid leaking the access token's document
  to all visitors. This case is mostly used for public content, such as blog
  posts, slides, ...

The token case was already existing. The second is now working with this
commit. To do so, it was required to
- move `_sign_token` from the portal mixin to mail.thread.
- transfering 'pid' and 'hash' parameters from the controller to template
to js widgets.

This commit also change the `_message_post_helper` signature by making
the 3 first parameters required, as to post a message you need at lease
res_model, res_id and the message body. The optional argurments and kwargs
are here to check the bypassing access rights mecanism.

Task-1902304
2019-02-06 09:55:13 +00:00
jem-odoo 4cb228d823 [IMP] portal,website_rating: new popup composer to submit rating
Rating document available on a website will become more common, but
we want to do it with different UI widget. This commit introduces a
new "popup rating composer": the idea is the rating average is
displayed with stars, and when clicking on it, a popup with the
composer appears. The user can so submit its review.

To do so, we factorize the Portal Composer into a dedicated widget
(instead of natively inside Portal Chatter).

Task-1902304
2019-02-06 09:55:13 +00:00
jem-odoo 8c840f7539 [IMP] rating: add rating average on mixin
This commit provides 1 more field on the rating mixin: the average of
the ratings of the document. Before that, the only way to get the
average was to call `rating_get_stats` record per record.
As we are on a mixin, this new field is not stored to avoid recomputation
each time a rating is added. To improve performance, we decided to
compute `rating_count` and `rating_avg` in one `read_group`.

This commit also set an extendable method to get the domain of the
rating to include in those statistics computation, called `_rating_domain`.
This way, each model inheriting the rating.mixin can define the subset of
pertinent ratings.

As consequence, this commit uniformized the way average is displayed:
instead of taking the closer value to the 0.5 value, it only round it
at 2 digits.

Task-1902304
2019-02-06 09:55:13 +00:00
jem-odoo 1ed3cb37b0 [IMP] website_slides: provide search bar on channel
Visitor are now able to search a channel, based
on the name or description with a search bar on
the channel list page.

Task-1902304
2019-02-06 08:06:46 +00:00
Antoine Guenet c839df6e91 [FIX] website: only show "welcome" message on empty homepage
Every new page was being considered an empty homepage with "Welcome to
your Homepage! Let's start designing." shown. Now only an empty homepage
shows that message.

closes odoo/odoo#30839
2019-02-05 13:31:57 +00:00
Nikunj Ladava 6f60243726 [IMP] purchase: Set supplier currency on product supplier info
- if currency is set on vendor, and set that particular vendor to product, the currency will not being changed by vendor's currency.
-  after this commit currency in pricelist will be changed by the currency of the vendor

This commit is related to Task ID 1826166

closes odoo/odoo#24468
2019-02-06 06:03:18 +00:00
sed-odoo ec42737702 [FIX] l10n_be_hr_payroll_fleet: clean mismatched values
Between 11.0 and master there was a mismatch in the legal values used to
compute the co2 fee and the ATN of a company car.

Task : 1937082

closes odoo/odoo#30841
2019-02-05 15:36:54 +00:00
Robot Odoo 88e76a7ff1 [MERGE] website, *: improve CSS edition usability + add JS edition
* web, web_editor

See sub-commits for details.

Currently, when an user wants to edit the css of its website, he has
access to lots of files and, in debug mode, to even more files. While
the feature is nice for people who know what they are doing, a lambda
person can easily break its website by changing the wrong files. Also,
nothing warns the user that the files that are edited will never receive
updates anymore (unless if they are reset). The goal is to prevent
those behavior while still allowing the add custom css. Another goal
is to be able to *add* custom javascript.

Custom files created for the user:
SCSS: user_custom_rules.scss, user_custom_bootstrap_overridden.scss
JS: user_custom_javascript.js

task-1919350

closes odoo/odoo#29999
2019-02-06 02:13:10 +01:00
qsm-odoo fc61305f51 [IMP] website: improve documentation of user custom files
See https://github.com/odoo/odoo/pull/29999
2019-02-05 14:28:29 +00:00
Andrea Ulliana 515e7bc50f [IMP] website, *: improve CSS edition usability + add JS edition
* web_editor

Currently, when an user wants to edit the css of its website, he has
access to lots of files and, in debug mode, to even more files. While
the feature is nice for people who know what they are doing, a lambda
person can easily break its website by changing the wrong files. Also,
nothing warns the user that the files that are edited will never receive
updates anymore (unless if they are reset). The goal is to prevent
those behavior while still allowing the add custom css. Another goal
is to be able to *add* custom javascript.

Custom files created for the user:
SCSS: user_custom_rules.scss, user_custom_bootstrap_overridden.scss
JS: user_custom_javascript.js

See https://github.com/odoo/odoo/pull/29999
task-1919350
2019-02-05 14:28:29 +00:00
Andrea Ulliana 7f2ce89554 [IMP] web: add JS-related lib files for ace editor
In task handled in https://github.com/odoo/odoo/pull/29999, we will need
support for javascript files in ace editor. This commit adds the related
lib files.

See https://ace.c9.io/#extending-highlighters:
https://github.com/ajaxorg/ace/tree/master/lib/ace/mode
1. https://github.com/ajaxorg/ace/blob/master/lib/ace/mode/doc_comment_highlight_rules.js
2. https://github.com/ajaxorg/ace/blob/master/lib/ace/mode/javascript_highlight_rules.js
3. https://github.com/ajaxorg/ace/blob/master/lib/ace/mode/javascript.js

task-1919350
2019-02-05 14:12:16 +00:00
Thibault Delavallée 8f3eff13fb [REF] website_slides: light cleaning
Purpose of this commit is to prepare future code addition by making some
noise in a separate commit. In this commit we move compute methods below
fields definition because currently it is a complete mess and finding a
given field gives a headache.

Commit linked to task ID 1933820 and PR #30830.
2019-02-05 11:19:52 +00:00
Thibault Delavallée 7105669b77 [FIX] website_slides: limit auto subscription
In order to avoid spam and unwanted notification this commit limits auto
subscription on channel when

 * creating a channel;
 * automatically telling a channel a new publication has been done;
 * creating a slide;

As being a follower of a slide channel means following its slides user should
choose manually to be follower of a channel, notably through the UI.

A new way of managing subscription will come with elearning in mind and
therefore auto subscription should be limited.

Commit linked to task ID 1933820 and PR #30830.
2019-02-05 11:19:52 +00:00
Antoine Guenet 275af90b38 [FIX] web_editor: update displayed media in dialog on remove media
closes odoo/odoo#30809
2019-02-04 12:52:15 +00:00
Antoine Guenet f834204af3 [FIX] web_editor: reapply the classes of ANY type of media on replace
closes odoo/odoo#30801
2019-02-04 11:29:40 +00:00
Antoine Guenet 48cb3c71d1 [IMP] web_editor: handle CTRL+A (and then DELETE) locally
This fixes issues with CTRL+A then delete.
Now CTRL+A selects all the contents of the unbreakable node in
which the range is contained. Deleting it all will replace the contents
with `<p><br></p>` so the user can start editing afresh.

Note: Only CTRL+A is handled: ``select all`` in contextual and edit
menus are still handled by the browser.

closes odoo/odoo#30648
2019-02-04 09:44:18 +00:00
RomainLibert 6dbdfb9bf7 [IMP] various: optimize _name_search
In the overrides of _name_search we should avoid creating domains with
huge lists of ids as it is inefficient.
We can also make sure that we optimize the empty search as in this case
the custom domain doesn't make sense, we can simply search on an empty
domain and, thanks to the limit argument, still keep a fast query.

Linked to task 1918906

Thanks to @odony and @nseinlet

closes odoo/odoo#30155
2019-02-05 11:44:21 +00:00
Robot Odoo 0b79687155 [IMP] board,web: cleaner layout and kanban/pivot integration on mobile
This merge improves the Dashboard app and make it more usable on mobile:
- The layout is fixed to 1 column.
- Embedded Kanban view is fitted to its content and handle correctly empty columns.
- Embedded Pivot view has smaller left indentation for readability purpose.

Task ID: 1904747

closes odoo/odoo#30467
2019-02-05 14:54:27 +01:00
Hetal Dhanak b8f7df1a6a [IMP] project: Clean timesheet related fields on task form
-Moved the share Button to the dropdown Action menu as it was better suitable there.
 -moved sale order item field to extra info as it was better suitable there.
 -changed display of settings for project to give it organized look.

Related Task ID: 1928422

closes odoo/odoo#30310
2019-02-05 12:09:14 +00:00
Parth ChoksiandMohammed Shekha 514d6fb90d [IMP] base: Hide Save/Discard on Settings until there are modifications
Purpose
=======

It only makes sense to display 'Save' and 'Discard' if the user actually
changed something in the settings.

So after this commit, the 'Save' and 'Discard' buttons of statusbar in
general settings will only appear when you make any changes.

Also when there are changes, there will be a message shown that will tell
the user that he/she has unsaved changes.

The commit is related to Task ID: 1917637

Co-authored-by: Mohammed Shekha <msh@openerp.com>

closes odoo/odoo#29726
2019-02-04 08:40:20 +00:00
Mohit Ghodasara bbd64c22ab [IMP] various: prevent unlink of automated activity types
Purpose of this merge is to update main addons and set activity types used
for automated activities as master data. This means they cannot be removed.
Indeed those activity types are used in business flow to generate activities
and removing them may break some flows.

This commit is linked to task ID 1907970 and PR #29257.
2019-02-05 11:32:14 +00:00
Mohit Ghodasara 0db0e66e96 [IMP] mail: improve usability of activities
Purpose of the task is to improve the usability of activity types and
activity scheduling.

Another purpose is alto to protect some master data activity types by flagging
them and preventing their deletion.

Containing
 * make the activity type as master data so deletion will be prevented;
 * improve the usability of the activity type;
 * prevent the deletion of activity type which are used for automated activity;
 * change the usability of activity scheduling modal;

This commit is linked to task ID 1907970 and PR #29257.
2019-02-05 11:32:14 +00:00
Darshil Trivedi 7214173f52 [ADD] l10n_ie: Introduce localization for Ireland
closes odoo/odoo#23031
2019-02-05 11:48:28 +00:00
Vandan Shah f757b5eccd [IMP] web: Improve calendar display when no partner is set on event
Task:- 1906798
PR:- #28669
Co-authored By:-  Mohammed Shekha <msh@odoo.com>
2019-02-05 11:45:29 +00:00
Nimesh Jethva 3272d2a384 [IMP] account: Display 'Draft Invoice' instead of false on name_get
name_get() override when payment in draft display the result false.

screenshot : https://drive.google.com/file/d/1dT22ysXmSOJvXMhzhyh_0tVW9z_v3b-s/view?usp=drivesdk

closes odoo/odoo#27537
2019-02-04 08:48:45 +00:00
Nimesh Jethva e12229f1d7 [IMP] account: Track some fields on payment
Purpose
=======

Every change to invoice is indicated in the chatter - the state, the
person, and the time is indicated in the chatter.

This is currently not the case for payment - It should be the
case, as if I were in charge of these things, I would like to know who
did what and when.

Specification
=============

Add chatter followup on payment to know who
did what and when.

Related Task ID : 1880825
2019-02-04 08:48:36 +00:00
Siddarth Gajjar f3a390cb74 [IMP] generic: replace suds with zeep.
- Added new library zeep for soap request.
- Remove old suds library.

Task ID: 41696 Closes #26934
2019-02-05 11:42:18 +00:00
qsm-odoo b6db6b878c [REF] website, *: remove 'website.context' module
* website_forum, website_gengo, website_mail_channel, website_sale

Retrieving the global context is now the root's job, this will prevent
problems when trying to extend the values the context has.

See upcoming improvements with https://github.com/odoo/odoo/pull/29442

closes odoo/odoo#30816
2019-02-05 11:39:11 +00:00