Commit Graph
122774 Commits
Author SHA1 Message Date
Arnaud Baes 45e53ff7a5 [IMP] mrp, stock: route applied on kit's components
With this commit, the routes of the components of a kit are applied instead of the routes on the kit itself.
To do this, a refactor of '_adjust_procure_method' was made in order to use it on stock.moves

The method '_adjust_procure_method' was moved to the stock module in order to be used in a future task concerning repair orders ( TaskID: 1887961).

TaskID: 1863856
2018-12-19 10:50:29 +00:00
Xavier Morel 52645a7b43 [IMP] calendar: convert mail cron to lastcall feature
Avoids querying and updating an ir.config_parameter which (according to
rco) blows the caches (of all workers) every time it happens, which is
inconvenient.

closes odoo/odoo#29066
2018-12-18 12:07:54 +00:00
Xavier Morel 2c4b9b5c06 [ADD] base: lastcall field to cron, provided to jobs
While many crons will process some sort of queue and can either delete
or mark items as processed, others are more concerned with time ranges
and may not want (or be able to) write on the objects to mark them as
processed. In that case, crons maintaining a processed date range is
useful.

Task 1912648
2018-11-27 12:49:08 +00:00
Haresh Shyara 7997f3b00f [IMP] mrp: replace _get_bom_reference by an xpath
In the BoM structure and cost report the purpose of _get_bom_reference
was to add content with an override in order to display it directly in
the column BoM. It could be improved by using the classic display name
and add a name to column in order to use an xpath in another module.
The function _get_bom and _get_bom_line can also be used in order to
introduce extra content directly in the column added with an xpath.

Task ID : 1875677

closes odoo/odoo#26493
2018-12-11 16:21:05 +00:00
Aurélien Warnon 8b54088cd2 [REF] mass_mailing: clean JS views overrides
Task #1909424

The mass_mailing module used a lot of JS "include" to override
the behavior of the kanban view and the html_frame widget.

This commit cleans the overrides by using proper inheritance with "extend"
instead of "include".

It also slightly changes the current behavior of the mass_mailing kanban view
to disable the drag and drop feature only when the view is grouped by "state" or "email_from".
(Before this commit, the drag and drop feature was disabled for ALL fields).

closes odoo/odoo#29452
2018-12-19 09:10:34 +00:00
Aurélien Warnon e3246845c3 [FIX] web: fix KanbanRenderer state management for date/datetime fields
In the KanbanRenderer, the _setState method extracts the groupBy field name and tries
to get the field information from that string.

When the field is a date/datetime grouped by day/week/month/..., the field name becomes "my_date:month".
This prevents the gathering of state information since those information are stored in a dictionary with a 'my_date' key.

This commit will detect if the field has additional grouping info (:month, :week, ...) and clean the name
with a substring before accessing the state dictionary.
2018-12-19 09:10:34 +00:00
Aurélien Warnon 06c05983e3 [FIX] web: fix KanbanRecord config in KanbanRenderer
The KanbanRecord config was not correctly taken into account when
initializing the columnOptions (for the KanbanColumn).

This completely prevented overriding the KanbanRecord in the kanban view if the KanbanColumn
was used for rendering (= when the view was grouped by a field).
2018-12-12 07:39:40 +00:00
RomainLibert a03faab03f [IMP] event, website_event: Make ics file generation available in event
Ics file generation should be possible even when only event is
installed as it is a basic feature of events.

Moreover we need to be able to generate such files in order to replace
the old outlook api used in the event templates, api which is not
supported anymore.

We decided to use ics files because it is supported by most calendar
schedulers hence working with outlook.

Linked to task #1853063

closes odoo/odoo#28477
2018-12-17 11:46:48 +00:00
jbm-odoo 496920a8f5 [IMP] base: Allow js-class attribute for graph/pivot/calendar views
Add in the RNG file the attribute "js-class" for the calendar, graph and pivot view.

closes odoo/odoo#29609
2018-12-18 16:35:55 +00:00
XavierDo 4682c8a759 [IMP] mail: improve activity done message template
Feedback should be the first part of the message without title
to make it more concise.

If the activity has a note, the note should be displayed
but after the feedback.

We can also remove the field feedback that was not so useful
since it was only written just before unlink. Feedback is now
passed as another parameter to the template.

Task: 1918392

closes odoo/odoo#29605
2018-12-18 15:02:42 +00:00
Yannick Tivisse fd23d93be2 [IMP] hr_payroll_account: Don't erase journal_id if already set
If the journal_id is already set on the payslip and if there are
no journal_id on the contract, don't erase the value on the onchange
method

closes odoo/odoo#29616
2018-12-18 15:04:22 +00:00
RomainLibert 939f8e0534 [IMP] hr_payroll: add legal information to payslip report
This commit adds two fields:
	- compute_date on payslip (set once computed)
	- registration_number on employee (used to identify the
	  employee)

These fields are displayed in the payslip_report
It also adds the worked_days to the same report

These fields are a legal obligation in some countries (like Belgium)
2018-12-18 15:03:27 +00:00
RomainLibert d5fd84b89a [IMP] hr: add onboarding/offboarding activity plannings
Purpose
=======

Give the possibility to elaborate plans through Odoo. For instance, in HR,
you could create an onboarding plan when a employee is created. Someone manages
laptop and other equipment, someone check hr stuff, ... This feature is generic
but in a first time we will apply it only on the hr module.

Ease HR process in a company by creating plans: a plan is an assembly of Next
Activities that will be launched together whenever you need it.

Example of plan for an employee onboarding:

Activity: Prepare materials
Responsible: Alain
Deadline: At the contract signature

Activity: Manage Cars
Responsible: Cécile
Deadline: at the contract signature (both signature)

Activity: Plan Training
Responsible: Caroline
Deadline: After signature

Activity: Training
Responsible: Employee
Deadline: 1 week after the employement date

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

On HR Configuration: Add a menu "Activity Plans"

Activity plan object:
 - Name
 - Model (debug mode) (hr by default)
 - Activity Template o2m
    - Activity Type (only the one related to hr)
    - Deadline (come from Activity Type)
    - Responsible \/
        0  Coach
        0  Manager
        0  Other
        [Responsible_name] \/  (coach, manager or manually set if other)

Add datas, 2 plans:

Onboarding
    - Name: Onboarding
    - Plan lines:
        Activity: Setup IT Materials
        Responsible: [a user] (manager)
        Deadline: At the contract signature

        Activity: Plan Training
        Responsible: [manager]
        Deadline: After signature

        Activity: Training
        Responsible: [Employee]
        Deadline: 1 week after the employement date

Offboarding
    - Name: Onboarding
    - Plan lines:
        Activity: Compute Out Delais
        Responsible: [a user] (manager)
        Deadline: today

        Activity: Take Back HR Materials
        Responsible: [manager]
        Deadline: today

        Activity: Manage Car
        Responsible: [manager]
        Deadline: today

When to trigger it ?

HR specific use case:

1/ On employee, from the employee chatter:
when you create an employee, Odoobot will log a note with the following message:
"Congratulations ! May i recommand you to setup an onboarding plan?", with a link
create a plan from it.

2/ Add a button 'launch plan' to open a wizard to select the plan

3/ When archive an employee
Open a wizard with:
    - Reason (selection)
    - Action plan (m2o not required)

Error if employee not linked to a user.

Task : 1912681

closes odoo/odoo#29151
2018-12-18 11:20:54 +00:00
Olivier Colson e230050562 [IMP] account: remove useless payment term option
'after_invoice_month' and 'day_following_month' options did the same thing.

closes odoo/odoo#29603
2018-12-18 11:06:57 +00:00
jem-odoo c33ac778bd [IMP] project_timesheet_holidays: change test class
We try to define common classes in test with helpers to
set testing data. Here, we had a test extended a class
with test methods, making those tests executed twice:
when hr_timesheet was installed, and on project_timesheet_holidays
installation.
This is not very stable, as some behavior might change when
other are installed.

closes odoo/odoo#29538
2018-12-13 14:46:20 +00:00
Robot Odoo 1cb506c418 [IMP] account: non deductible taxes to inventory
Non deductible taxes (ones without an account set), increase the target
account of the product.

In case of a inventory operation, this means the inventory account.

To reflect this stock valuation wise, we need to calculate this incremented
values and rely on it during the inventory move price calculation.

This commit does exactly that.

**Description of the issue/feature this PR addresses:**
- Inventory value and accounting value diverge on taxes which are summoned upon the target account
- This is due to a inventory valuation based on the subtotal amount
- Meanwhile balance accounts are charged with subtotal + value of taxes without accounts

**Current behavior before PR:**
- Inventory valuation and accounting valuation diverege
- Consecutive accounting moves originated by stock moves do not reflect the accounting value at which the first move was charged (eg. by an invoice).
- There is always an "inexplicable" price difference when working with taxes that don't have an account set (cost increasing taxes)

**Desired behavior after PR is merged:**
- The stock move will take exactly the same valuation as has been accrued on the taxed accounting move.
- Balances do not diverge
- No "mysterious" price differences appear.

**Note:** Please do not close, even if not immediately accepted (`wishlist` tag). This PR is meant to be carried along and actively maintained, until this semantic will be completed this way or another.

--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr

@xoe-labs

closes odoo/odoo#26367
2018-12-13 16:50:22 +01:00
Thibault Delavallée e226ca4460 [IMP] test_mail: update counters to current runbots state
Some counters are a bit higher than real counters; test_mail help counters
are not up to date in some cases.

closes odoo/odoo#29518
2018-12-13 13:33:09 +00:00
Robot Odoo ff0c71f373 [MERGE][REF] mail: clean access right check on activities
This merge improves code of access rights checks when creating or updating
activities. Several points triggers this commit

 * we would like to use _filter_access_rules and override it on activities
   model in order to be more standard;
 * we would like to get rid of sudo used in various CRUD overrides as using
   standard ORM method allows to correctly use current user;
 * we would like to get rid of create_user_id field once we can keep the
   current user as create_uid;

Access rights are a bit updated. They are now the following

 * you can create activities for documents like posting messages (using
   _mail_post_access attribute; if not defined, write access on document
   is required);
 * you can read activities for documents you can read;
 * you can write and unlink activities either following the defined access
   rule (created OR assigned), and otherwise like posting messages (
   using _mail_post_access attribute; if not defined, write access on
   document is required);

In this merge we also hide edit / mark as done / cancel buttons for
activities the current user cannot modify.

Finally create_user_id field related to activities is replaced by create_uid
everywhere.

This commit is linked to task ID 1856417.

closes odoo/odoo#27619
2018-12-12 18:35:02 +01:00
Thibault Delavallée abc212f59a [REF] mail: remove create_user_id field on activity
As activities are created using the current user there is no need anymore to
have another field to store the activity creator. We can therefore remove
create_user_id and replace its use by the magic create_uid field.

This commit is linked to task ID 1856417 and PR #27619.
2018-12-12 12:45:24 +00:00
Sébastien TheysandThibault Delavallée b9c8ba83e6 [IMP] mail: clean activities access rights
This commit improves code of access rights checks when creating or updating
activities. Several points triggers this commit

 * we would like to use _filter_access_rules and override it on activities
   model in order to be more standard;
 * we would like to get rid of sudo used in various CRUD overrides as using
   standard ORM method allows to correctly use current user;
 * we would like to get rid of create_user_id field once we can keep the
   current user as create_uid;

Access rights are a bit updated. They are now the following

 * you can create activities for documents like posting messages (using
   _mail_post_access attribute; if not defined, write access on document
   is required);
 * you can read activities for documents you can read;
 * you can write and unlink activities either following the defined access
   rule (created OR assigned), and otherwise like posting messages (
   using _mail_post_access attribute; if not defined, write access on
   document is required);

In this commit we also hide edit / mark as done / cancel buttons for
activities the current user cannot modify.

This commit is linked to task ID 1856417 and PR #27619.

Co-Authored-By: Sébastien Theys <seb@odoo.com>
Co-Authored-By: Thibault Delavallée <tde@odoo.com>
2018-12-12 12:44:03 +00:00
jem-odoo 13eb9b9c5b [IMP] crm: filters for activity reporting
This commit improves the CRM reporting by:
- adding new field on the report model
- providing new predefined filters for users
- renaming labels to be more precise
- reorganizing filter and group by
- remove wrong measure in report (probability and days
to close), as they were not correct when multiple
activity on a lead.

Main purpose is to ease finding usefull KPI for the
user, and make the activity reporting a bit less
confusing and limited.
It also now include all user messages (discussion
subtype) and note from activity (when marking activity
as done) in the reporting, so we can have a complete
analysis of action taken on the leads.

Task-1862209

closes odoo/odoo#27767
2018-12-12 11:01:51 +00:00
Xavier Morel 43e062fabf [FIX] *: JS doc/docstring errors & warnings
closes odoo/odoo#29439
2018-12-11 15:24:09 +00:00
Tejas Shahu 448ba01ae9 [IMP] stock, sale_stock: label & tooltip clarification
Rename shipping policy in the UI. Also adapt the stock picking
state's tooltip in order to explain the reservation process
according to shipping policy

closes odoo/odoo#24039
2018-12-11 16:09:55 +00:00
Tejas Shahu c1a5221ba2 [IMP] product: Dyanamic d.p. on Volume field
Decimal precision for volume on products is always set to 2.
Some users that work on more precise volume would like to increase it.
In order to do it without customisation we add another system parameter
for Volume.
2018-12-11 16:09:55 +00:00
Tejas Shahu 2590cf2e6d [IMP] mrp: Produce wizard save and produce another
When a user produces multiple finished products with SN/lots, he has to
save the wizard go back to the production order and click again on produce
button for the second SN/lot. It could be annoying with a huge number of
SN/lots to encode.

This commit adds a 'Continue' button that saves the wizard and directly
opens a new with the new lot/SN.
2018-12-11 16:09:55 +00:00
Tejas Shahu 38b1debece [IMP] maintenance: Duration tooltip improvement
The view on maintenance show the duration with the hours as
UoM. However the tooltip explains that the duration is set
as minutes and second. This commit modify the tooltip in
order to be coherent with the view.
2018-12-11 16:04:35 +00:00
Robot Odoo b57f4411b8 [MERGE] mass_mailing: improve click / link demo data
Purpose of this merge is to ease first steps with mass mailing application by
improving demo data about links and clicks. Demo data now call convert links
and add click in order to generate statistics.

Small improvements are also done on mass mailing views, adding responsible
field and grouping by default in kanban.

This merge is linked to task ID 1907994 and closes PR #28533.
2018-12-11 14:44:49 +01:00
Thibault Delavallée 3200402afa [IMP] mass_mailing: improve demo data
Purpose of this commit is to improve a bit demo data in mass mailing. This
includes notably

 * having real links and UTMs generation for them calling manually
   convert_link in demo data;
 * having real statistics about clicks by calling add_click in demo data;

It will help having demo data feeling like a real mass mailing has been
sent.

This commit is linked to task ID 1907994 and PR #28533.
2018-12-11 12:52:13 +00:00
Thibault Delavallée d3464d299f [FIX] odoo: effectively allow to use 'use' in value xml tag
Purpose is to allow to use the 'use' tag allowed by _eval_xml (see convert.py
for more details). It allows to read a specific field instead of id when using
a search tag in xml. Feature is already supported; this commit just enables
it in order to use it in demo data notably.

This commit is linked to task ID 1907994 and PR #28533.
2018-12-11 12:51:41 +00:00
Thibault Delavallée 284ce064f9 [IMP] mass_mailing: group mailings by state by default
It eases daily use of mass mailings to have them ordered by state by default.

This commit is linked to task ID 1907994 and PR #28533.
2018-12-11 12:51:38 +00:00
Thibault Delavallée 80387458ba [IMP] mass_mailing: add responsible in mailing view
Otherwise it is not possible to change it in order to re-assign the mailing.
Also update the field label in order to better match its intended use.

This commit is linked to task ID 1907994 and PR #28533.
2018-12-11 12:51:35 +00:00
Christophe Monniez ab376d60cb [FIX] web: adapt clickeverywhere test to the controlpanel refactor
Since 4cd379cf6e the ControlPanel is now a child of the viewController.
This breaks the clickEveryWhere test.

With this commit, the view_controller selector is adapted in the clickEverywhere
test.

cheery-pick of 5e92adb39c

closes odoo/odoo#29396
2018-12-10 15:59:07 +00:00
Thibault Delavallée d3357836bc [FIX] survey: fix test url redirection
closes odoo/odoo#29382
2018-12-10 10:33:18 +00:00
Xavier Morel 66f0e26f6f [CHG] *: make binary fields default to attachment=True
Check that it makes custom binary fields into attachment as that's the
main reason for the change: when users create binary fields via Studio,
they're necessarily db-stored (as the interface doesn't allow altering
the attachment attribute and it's unclear how we'd handle users
switching it on/off every time), which significantly bloats their
database (and burns storage & backup space), especially as the primary
use case for binary fields is adding images and documents to records.

* check that binary fields are properly created as attachment=True
* add attachment=False on fields where that seems relevant (most but not
  all of the fields previously using the default)
* remove occurrences of attachment=True

closes odoo/odoo#29308
2018-12-07 13:37:34 +00:00
qdp-odoo 299f9f1eb0 [REF] account: refactoring of the invoice validation
Better split of invoice_validate() and action_move_create() functions: the later now only deals with the account.move creation while the former assigns missing values (dates) and gets its number. The move now always receives its name from the invoice, which means there's no need anymore of the 'invoice' arg in account.move post() method.

We now also put the origin of the invoice in the move ref, in order to allow searching on that reference in the bank statement reconciliation widget.

closes odoo/odoo#29343
2018-12-07 10:29:16 +00:00
qdp-odoo fd7aa0cfa0 [IMP] sale: invoice creation for downpayments cleanup
don't set the SO name in the reference/description field of the customer invoice, as it's already copied in the origin field
2018-12-07 09:08:06 +00:00
Thibault Delavallée 8e38d97f69 [FIX] survey: make a specific route for testing surveys
Purpose of this commit is to clean a bit the test mode of surveys before
working a bit on ACLs and survey access. Currently when taking a survey
with a magic 'phantom' token it generates a test answer allowing to go
through the survey process. However it has several drawbacks :

 * 'phantom' is not a real token. Token parameter should be used only for
   real tokens and avoid having corner case when managing simple parameter;
 * token should only be used to ensure people have been granted access to
   answering surveys;
 * it is currently available for every users;
 * it is pure unwanted magic;

In this commit we add a separate route for testing surveys that create the
test answer and then redirects to the survey with this answer. It is now
also limited to survey managers or survey officers testing their own surveys.

Survey JS tour now uses the standard URL and not the testing one. Indeed as
testing is now limited to survey officers and managers tour should test
real life use cases.

This commit is linked to task ID 1916034 and PR #29339.
2018-12-07 09:36:46 +00:00
Aurélien Warnon f5625969be [FIX] survey: properly inherit survey assets in website_survey module
Purpose
=======

Survey assets were incorrectly overridden in the website_survey module and all copy/pasted.

This will correctly include the survey_assets template and get rid of these copy/pasted
assets references, while keeping the website style on survey pages.

Task: #1915790
closes #29314
2018-12-07 14:15:46 +00:00
Robot Odoo 4cd379cf6e [REF] web: move ControlPanel inside controllers/actions
This branch introduces a large-scale reorganization of the
component tree generated by the web client.  The short version is
that now, the control panel is a child of the view controller and
no longer a sibling. Graphically (and simplified), we go from
this:

                  webClient
                 /    |    \
               ...   ...  actionManager
                           /         \
                   controlPanel   viewController
                                    /       \

to this:

           	  webClient
                 /    |    \
               ...   ...  actionManager
                               |
                          viewController
                            /   |   \
          ControlPanelController
              /           \
         CPRenderer     CPModel

The motivation is that this work moves the code where it should be.
Before this commit, it was kind of weird to have code in the
controllers to render buttons outside of their root node (in
renderButtons).  Also, the action manager had to take care of
coordinating search view states between view transitions.

So, this work simplifies the code.  It also makes it easier to
extend. We see day after day that Odoo needs to take care of more
complex UI needs, and in many cases, these needs were quite
difficult to implement (we prefer spaghettis in our plates, not in
our code).  The changes in this branch should open the way to
implement these features.

For example,
- it will now be easy to add the possibility of views (for example,
  the search view or a new ControlPanel view) to add custom buttons
  (of type action or object) in the control panel.
- Another need will be to serialize/ restore the state of the
  search view across action boundaries (needed by the dashboard).
- Another example is the possibility for views to customize easily
  the presence/absence of sub menus (filters/groupbys/favorites/
  time range/...)
- Another need is an easier way for views/client action to customize
  their control panel.

This commit also contains a large rewrite of the search view (so it
is more inline with our architecture and easier to maintain).

Part of task 1893568

Co-authored-by: Aaron Bohy <aab@odoo.com>
Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
Co-authored-by: Martin Geubelle <mge@odoo.com>

--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr

closes odoo/odoo#29106
2018-12-07 23:26:47 +01:00
pha-odoo f14092cbfa [IMP] point_of_sale: Connect with Employee on PoS
=========
PURPOSE
=========

{Any employee can work on a PoS session, even if he has no user. This decreases the cost of PoS App.}

We are not competitive enough on the PoS Market because customers have to pay one user per cashier while they expect to pay one user per cash station.

===============
SPECIFICATIONS
===============

pos.config
- Add a checkbox : "Login with Employees"
- If set to TRUE, an "Allowed Employees" many2many appear
- If employees many2many is empty, all employees can log on this PoS
- If set to FALSE, can only log in with the currently logged user

hr.employee
- The barcode and pin fields were be moved to the hr.employee
- Set a barcode (not pin) by default at the creation of any employee
- No Employees module with PoS > dependency to hr

Open the PoS if "Log in with Employees" = FALSE
- Same behaviour than now, when I open the PoS, I'm logged in with the current user and can start working at once. The only difference is that it is not possible to switch users anymore.
- The button to close the session is visible

Open he PoS if "Log in with Employees" = TRUE
- When I open the PoS, the first screen I see is the login screen.
(a) I choose my employee and enter my pin code (if there is pin code on my employee, otherwise not required) (I can only see employees that have access to that PoS)
(b) I scan my barcode
(c) I scan my rfid card (future development)
- When I click on the employee name, I can log in with another employee
- If the employee is linked to a user that has the pos user/manager access right, I can see the button the close the session. Otherwise I cannot close the session (and thus cannot access backend).
- Add field employee on all records created by PoS (and replace the field user by that one) (on pos.orders)

Lock Screen
- Improve the PoS Interface
- Add a new feature to allow to "lock" the session. When a session has been locked, the user/employee has to re-log-in to access the PoS
- When I try to re-log-in, by default suggest the last employee logged in in the login screen

Migration
Plan a migration strategy > barcode and pin is now on the employee and not on the user anymore

closes odoo/odoo#28567
2018-12-07 14:31:56 +00:00
Mathieu Duckerts-Antoine 1e0b370b16 [FIX] google_spreadsheet: adapt code to refactoring
This commit adapts the code for the 'Add to Google Spreadsheet'
entry in the Favorites menu, according to the large refactoring of
the SearchView/ControlPanelView in web.

Part of task 1893568
2018-12-07 13:16:11 +00:00
Mathieu Duckerts-Antoine 38dc5c18b4 [REF] board: adapt code to search refactoring
This rev. adapts the code of the 'Add to Dashboard' entry of the
Favotires menu, according to the large SearchView refactoring. It
also does some tweaks for the dashboard app due to the move of the
ControlPanel from the ActionManager to the controllers.

Part of task 1893568
2018-12-07 13:16:10 +00:00
Aaron Bohy 84a1d7bd59 [FIX] point_of_sale: adapt webclient template
according to changes in web.

Some changes have been made to the webclient template (and widget)
in web, and the pos (using the webclient widget as well) needed to
be adapted.

Part of task 1893568
2018-12-07 13:16:09 +00:00
Géry Debongnie 86b6bd5ad1 [REF] point_of_sale,web: move backbone to pos
This rev. moves the backbone library from web to pos, as one of its
two usecases (the search view) has just been removed. From now on,
it is only used in the pos.

Part of task 1893568
2018-12-07 13:16:08 +00:00
86870b89bd [REF] *: adapt views outside web
to ControlPanel/Search view refactoring.

*: mail,sale,web_diagram

The ControlPanel being now inside the DOM of views' controller,
those existing widgets needed to be adapted (in the way they define
if and how they want a ControlPanel, and in the way the manipulate
their DOM as it slightly changed). Tests needed to be adapted as
well.

Part of task 1893568

Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
Co-authored-by: Martin Geubelle <mge@odoo.com>
2018-12-07 13:16:08 +00:00
b1ef0001f6 [REF] *: adapt all client actions
to ControlPanel/Search view refactoring.

The ControlPanel being now inside the DOM of client actions, those
existing widgets needed to be adapted (in the way they define if
and how they want a ControlPanel, and in the way the manipulate
their DOM as it slightly changed). Tests needed to be adapted as
well.

Part of task 1893568

Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
Co-authored-by: Martin Geubelle <mge@odoo.com>
2018-12-07 13:16:07 +00:00
40dd121938 [REF] web: move ControlPanel inside controllers/actions
This branch introduces a large-scale reorganization of the
component tree generated by the web client.  The short version is
that now, the control panel is a child of the view controller and
no longer a sibling. Graphically (and simplified), we go from
this:

                  webClient
                 /    |    \
               ...   ...  actionManager
                           /         \
                   controlPanel   viewController
                                    /       \

to this:

           	  webClient
                 /    |    \
               ...   ...  actionManager
                               |
                          viewController
                            /   |   \
          ControlPanelController
              /           \
         CPRenderer     CPModel

The motivation is that this work moves the code where it should be.
Before this commit, it was kind of weird to have code in the
controllers to render buttons outside of their root node (in
renderButtons).  Also, the action manager had to take care of
coordinating search view states between view transitions.

So, this work simplifies the code.  It also makes it easier to
extend. We see day after day that Odoo needs to take care of more
complex UI needs, and in many cases, these needs were quite
difficult to implement (we prefer spaghettis in our plates, not in
our code).  The changes in this branch should open the way to
implement these features.

For example,
- it will now be easy to add the possibility of views (for example,
  the search view or a new ControlPanel view) to add custom buttons
  (of type action or object) in the control panel.
- Another need will be to serialize/ restore the state of the
  search view across action boundaries (needed by the dashboard).
- Another example is the possibility for views to customize easily
  the presence/absence of sub menus (filters/groupbys/favorites/
  time range/...)
- Another need is an easier way for views/client action to customize
  their control panel.

This commit also contains a large rewrite of the search view (so it
is more inline with our architecture and easier to maintain).

Part of task 1893568

Co-authored-by: Aaron Bohy <aab@odoo.com>
Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
Co-authored-by: Martin Geubelle <mge@odoo.com>
2018-12-07 13:16:06 +00:00
Géry DebongnieandAaron Bohy 48a50b4bc0 [IMP] web: add MVC Factory
This rev. adds a factory class to generate MVC components, to
properly standardize the way MVC components should behave (in the
odoo way). The most popular MVC of the webclient concerns views
(Model, Controller, Renderer, for each view type). However, we
wanted to generalize the notion of MVC (and extract it from the
views), as we will use it in a future commit for the ControlPanel.

Part of task 1893568

Co-authored-by: Aaron Bohy <aab@odoo.com>
2018-12-07 12:49:50 +00:00
David Arnold 9a95781439 [FIX] hr_payroll: Fix localdict ambiguity on rule computation
Purpose
=======

On a payslip rule computation you can return 3 parameters:
- result_qty
- result_rate
- result

From this, we compute the total amount as following:

tot_rule = amount * qty * rate / 100.0

If we set parameters result_qty=0 or result_rate=0 to force the tot_rule to
be equal to 0, then their values are set to the default one, which is ambiguous.

So
result_qty = 0
result_rate = 0

Become
qty=1
amount=100

We can't fix this in a stable release as this could imply unwanted
behavior changes for customers, and also quite difficult to spot.

closes odoo/odoo#29206
2018-12-07 10:02:12 +00:00
Robot Odoo f0d5a5ba13 [MERGE][IMP] im_livechat, website_livechat : update website default livechat
In order to facilitiate the configuration of a livechat on the website,
the first livechat channel that was demo data from im_livechat
is now set as data. Website is now using this first livechat channel
instead of creating a new one and using it.

Merge related to task ID 1912056.

closes odoo/odoo#29020
2018-12-07 12:38:34 +01:00