Commit Graph
140847 Commits
Author SHA1 Message Date
Simon Lejeune 7ef11e3c96 [REF] stock_account: valuation layer and not admin user
Carefully sudo when necessary.

task-2034044

closes odoo/odoo#34802

Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2019-07-23 08:36:31 +00:00
wan f722ef0cb0 [IMP] account, _facturx, l10n[be,it]_edi: remove account.invoice.import.wizard
Since the wizard is not shown anymore (skipped to go right to file selection), we can remove it. Small refactoring had to be done for l10n_it in order to upload files with multiple invoices inside and to detect format

closes odoo/odoo#34145

Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
2019-07-19 09:34:59 +00:00
wan 4b66aa58b9 [ADD] account: skip the transient to upload an invoice
Task 2007561
We want to avoid this intermediate screen; Instead, directly open the selection files window...
Done from dashboard button + vendor bill list view & customer invoice list view.
2019-07-19 08:54:03 +00:00
RomainLibert e0b16b22e8 [IMP] hr_holidays: Improve general UX (back2basics)
Purpose
=======

Having a clean policy in leave access right. If there
are some internal need or bugs, read this before decided
if it is an expected brhavior or not. It is what we want
in a standrard point of vew.

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

Access rights Policy
--------------------

Remove Time Off - Team Leader access right

Leave_manager_id is now requried, by default it
is = parent_id for admin it is admin by default (data
employee_admin)

3 access rights:
- Internal User
- Time Off - All Approver
- Time Off - Administrator

3 fields for "manager"
- parent_id
- leave_manager_id
- manager_id on department

Department
Is just there for information. So never use it in
default filters

Rules Policy
------------

Don't forget to take the leave type configuration into
account
* no validation means automatic
* officer validation means you need to be at least
holidays_user to approve
* manager validation means anyone who is at least
leave_manager_id can approve

Internal User
-------------

In double validation mode he:
- can only do the first approval
- can see the everyone's leaves with a anonymisation of
the leave description
- can create a leave (even if leave type is directly approved)
- can refuse its own leaves (till not reported in payslip)
- can reset to draft his own leaves and reconfirm them
- can delete a leave in draft state
- can cancel a leave if the date_start is in the future
- cannot validate its own leaves

If leave type is configured in manager mode, he:
- can approve or refuse the leaves if he is leave_manager_id

If leave type is configured in both mode, he:
- can only do the first approval or refuse for the leave
if he is leave_manager_id

Time Off - All Approver
-----------------------

In double validation mode he:
- can only do the second approval
- can see, write, read all leaves and perform the second
approval.
- Can set a leaves as reported in payslip.
- Cannot validate its own leaves
- cannot configure leave type
- cannot create leaves in batch

Time Off - Administrator
------------------------

In double validation mode he:
- can do all the approvals
- can bypass all leaves (approve or refuse).
- can configure Time Off Types
- can create batch leaves
- can validate its own leaves

Menu
----

- My Time Off (access rights: internal user)
- Dashboard
- Time Off Requests
- Allocation Requests
- My Team (rename into "Everyone", access rights: internal
user. default filters on current year and group by
employee; default view: gantt can switch to list and form)
- Managers
- To Approve (internal user who are leave_manager_id
see and can approve. See only leave he has to approve
(domain))
- Time Off
- Allocation
- All
- Time Off
- Allocation
- Payroll
- Time Off to report.
- Reporting (access right: time off administrator)
- Time Off Analysis
- Report by Department
- Configuration (access right: time off administrator)

Usability
---------

- In all list of "manager menus", add actions to change
status in mass
- In leave type data:
- move Home Working from data to demo data
- There are 2 Paid time off, get rid of the company on
it and share it on all companies (keep only the one
in data)
- Leave type like this:
- Overtime Compensation/compensatory days (keep only
one of both, to avoid having 2 same leaves in
demo data). Validation by: team leader and hr
officer, no validity date
- Paid Time Off 2019. Validation by Team Leader
and Payroll Officer. Remove validity, remove 2019.
- Unpaid. Can be taken in hours. Approved by Payroll
officer and team leader. No allocation needed.
- New leave request: order of leave type in the m2o:
1. leaves where allocation are fixed by rh and remaining
> 0 and allocated > 0
2. leaves where free allocation. Where reaming is > 0
and allocated >0
3. One already taken
4. All other leaves.
- Remove the sequence widget in leave type
- The employee should get a notification when his leave is
refused "Your "leave_type_name_" planned on "start_date"
has been refused"
- from the dashboard calendar, the reset to draft should lead
to edit (avoid user has to click on edit)
- An employee should be notified when a leave is approved
"Your [leave_type_name] on [start date] has been approved"

Leave Dashboard V2
------------------

https://drive.google.com/file/d/1pMCqDlecqM7ngvmhJJdWtkG2_GiXHyIX/view?usp=sharing

Testing
-------

Everything concerning the leave requests has to be tested.
All the access rights have been reviewed and need testing.

Migration
---------

Don't forget to keep the filters in the calendar view (otherwise RIP perfomances and usability)

TaskID: 1950998

closes odoo/odoo#33813

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-07-23 08:21:55 +00:00
Priyanka Kakadiya 65613f5f83 [REF] account,hr_expense,sale: enforce uom domain
Enforce the domain of the UOM not by an onchange but by a domain.

Example of an issue if the domain is enforced by an onchange:
- create a order
- add an order line
- select the product
- select an uom
> the uom presented are the one from the product category.
-Save
- edit
- select an uom
> all UOM are presented even the ones of other categories

This commit enforce this new logic at most places.

task - 2003959

closes odoo/odoo#33741

Signed-off-by: Damien Bouvy (dbo) <dbo@odoo.com>
2019-07-22 08:07:31 +00:00
Pratima GuptaandSébastien Theys b492bde6a1 [IMP] account, portal, web, website: move chatter below invoice
No more modal because it's not visible and less handy. Use same behavior as
sales order portal.

Adapt the invoice style to properly adapt and align with the chatter block.

Part of task-37264

closes odoo/odoo#34360

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>


Co-authored-by: Pratima Gupta <pgu@odoo.com>
Co-authored-by: Sébastien Theys <seb@odoo.com>
2019-07-17 15:53:31 +00:00
Romain Derie 4d942852c8 [FIX] portal: correctly return the document in sudo
Since 1e6c3bec2c that refactored the sudo in general, the
`_document_check_access` method from portal that was supposed to return the
document in sudo mode was not returning the expected record.

It was not with the admin UID, making some code to crash, for instance:
https://github.com/odoo/odoo/blame/120f890ecf57969878399d9543b49080e7618c60/addons/stock/models/stock_quant.py#L252
Which is doing `self.with_user(self._uid).check_access_rights('read')`.

Step to reproduce:
- Install `sale_stock` module.
- Create a quotation for a portal user
- As the portal user, try to sign the quotation
- It will crash on `stock.quant` right access

closes odoo/odoo#35030

Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
2019-07-22 09:47:57 +00:00
Romain Derie a55fb7ad0c [FIX] sale: fix race condition on signature tour
Before this commit, the signature tour (130af96dc1) would fail sometimes.
Indeed, the tour is trying to get `Thank You` on the page after the sign step
but since the modal to pay will open on top of the page, the `Thank You` would
not be found.
2019-07-22 09:40:01 +00:00
jbm-odoo 2c558eb652 [IMP] base: Remove translatable field of res.lang
The technical field `translatable` of a res.lang has become useless

closes odoo/odoo#34895

Signed-off-by: Romain Libert (rli) <rli@odoo.com>
2019-07-22 13:46:30 +00:00
Martin Trigaux 5a6a414e2c [MERGE] Forward port of saas-12.4 to master up to aadc4a9f0b 2019-07-22 14:47:52 +02:00
Hetashree Chauhan e532d4df0d [IMP] purchase: make products company consistence.
Purpose of the commit is to let user select only those
products which are being shared among companies or belongs to own company.

On purchase order user will only able to select those products
which are belongs to same company as purchase order or products
which are sharable by default.

task-2025168
closes: #34342

Signed-off-by: Damien Bouvy (dbo) <dbo@odoo.com>
2019-07-22 05:17:00 +00:00
Hetashree Chauhan 421b9dfe21 [IMP] delivery, product, sale(_management): make company consistence
Purpose of the commit is to make the multi company consistence with product,
sale order and order template.

So the Common Product Catalog setting is removed from generel settings
because its behavior wasn't really clean from a technical point of view
(disabling the rule on products access) and wouldn't work as well with
new multi-company logic.
The default logic of sharing products will be kept, but when someone
wants to limit products sharing, he will do so product by product, by
setting the company_id.

Also the default company_id on product will be blank so default product
will be a sharable by multi company.
and added company_id on sale templates so user can select his/her own
company or the templates which are common.

task-2025168
Closes: #34342
2019-07-22 05:17:00 +00:00
Kaushalya Mandaliya a26a010324 [IMP] sale: prevent email to salesperson when customer opens up a quotation
Purpose of this commit,
Salesperson does not need email notification as there is not implied action
to perform salesperson side. It's just polluting the user's mailbox.
What matters is the order confirmation, and they already receive the email.

So when a quotation is viewed by the customer, salesperson will no more receive
an email that customer has viewed the quotation.

task-1950368
closes: #34004

Signed-off-by: Damien Bouvy (dbo) <dbo@odoo.com>
2019-06-11 06:01:46 +00:00
Martin Trigaux 074074e570 [IMP] base: use log access columns
Instead of date_init/date_update, let the ORM use its own fields

This is a part of an effort to clean old models created before the use
of the ORM was generalized.

ir.model.data model also has date_init and date_update columns but
this may be changed later as more prone to side effects

closes odoo/odoo#34988

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-07-22 07:31:22 +00:00
pha-odoo 120f890ecf [FIX] iot: remove check for abstract classes
The check for abstract driver classes results in some errors being logged on the iot box.
Since this check is not essential at this point, it was removed and will be reintroduced later
if needed.

closes odoo/odoo#35014

Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
2019-07-19 11:55:01 +00:00
Aaron Bohy c1eec46f7e [FIX] web: FieldDomain: open selection with field context
Closes #33658

closes odoo/odoo#34989

Signed-off-by: VincentSchippefilt <VincentSchippefilt@users.noreply.github.com>
2019-07-19 12:23:10 +00:00
Patrick Hoste 3295ffe632 [IMP] website_slides: add a visual effect for unpublished course
Purpose of this commit is to help designers seeing lessons state, notably
published, and modifying it directly from frontend.

The unpublished courses card are now a little bit translucent
and there is a 'unpublished' tag to clearly show their state.

Task 2033052

closes odoo/odoo#34880

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-07-19 09:11:37 +00:00
Christophe Monniez 0dc4a63e2d [IMP] tests: save screenshots and screencasts in temp
Actually, when a browser_js test is running, screencasts and screenshots
are saved only if a "--logfile" parameter is specified.

This is problematic with the runbot because '--logfile' arg is not
provided when running tests.  Also, in most situations, developpers
prefer to have logs on stdout.

With this commit, two CLI args are added to specify screencasts and
screenshots directories. If no screenshots dir is provided, it defaults
to "{tmp_dir}/odoo_tests/{db_name}/screenshots".

It means that screenshots are always enabled during browser_js tests.

If screencasts arg is given, it enables screencasts and save them in
"DIR/{db_name}/screencasts". If the screencasts parameter is "1", DIR
will be the same as for screenshots.

The ffmpeg tools is used to encode frames into a video. If the ffmpeg
tool is not found on the system, the frames are kept as pngs files
instead.

closes odoo/odoo#34640

Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
2019-07-19 12:14:36 +00:00
Sébastien Theys 1a49db046f [FIX] website_sale: hide expand category if children are hidden
Before this commit, in collapse category list, if the children of a category
are currently hidden due a search not including them, the parent category would
still be displayed as having expandable children, but clicking on the expand
button would have no effect.

After this commit, the expand button will not be shown if the children are not
shown.

PR: #34249

Signed-off-by: Romain Derie (rde) <rde@odoo.com>
2019-07-17 15:55:29 +00:00
Sébastien Theys 5f87def828 [IMP] website_sale: optimize category search
Use the pivot table instead of a mapping on all found products (which does not
scale well at all when there are many products found).

On a test case of 10000 products and 300 categories (including parent/children),
testing the /shop page with a search:

- number of queries from 138 down to 128 queries,
- total request time from 0.55s down to 0.40s
- time of the changed line from 32% of the total request time down to 10%

PR: #34249
2019-07-17 15:55:29 +00:00
Sébastien Theys e12e936275 [IMP] website_sale: remove unnecessary param for collapse category
The parent categories can be retrieved directly from the current category by
using the efficient `parents_and_self` field.

This also prevents computing the parents on the controller for no reason when
not using the collapse view.

PR: #34249
2019-07-17 15:55:29 +00:00
Sébastien Theys 21df20630c [IMP] website_sale: speed up public category model
Speed up:
- all queries involving `child_of` and `parent_of` by using
	´_parent_store=True` and `parent_path`
- `name_get` by also taking advantage of `parent_path`
- `order by` by indexing the sequence

This reduces the time of the corresponding search lines by 20%.

PR: #34249
2019-07-17 15:55:29 +00:00
Sébastien Theys 46be94e9d3 [IMP] website, website_sale: improve the shop "no product" message
When search is used, include the search term in the message.

When categories are used, include the category in the message.

Prevent editing the "click new" message shown to the sales manager.

PR: #34249
2019-07-17 15:55:29 +00:00
Sébastien Theys 930238404d [IMP] website_sale: ensure "category" variables are record sets
Simplify the code and make it more robust by making sure `category` and
`search_categories` are always record sets.

PR: #34249
2019-07-17 15:55:29 +00:00
Robot Odoo 581417185c [MERGE] web,*: allow searchpanel in all multi-record views
*base,hr,lunch

From now on, search panels can be activated on any multi-record views, and are no longer
restricted to kanban views.

The arch of the search panel has to be specified in the search view.

HR and lunch usecases have been adapted accordingly.

Task 1985921

closes odoo/odoo#34219

Signed-off-by: VincentSchippefilt <VincentSchippefilt@users.noreply.github.com>
2019-07-19 18:13:27 +02:00
Vincent Schippefilt 05207f108d [REF] web: searchpanel tests: use template strings 2019-07-19 08:39:59 +00:00
Aaron Bohy 4bfb8b4dca [IMP] web: searchpanel: keep scroll position
... when switching between controllers
2019-07-19 08:39:59 +00:00
Aaron Bohy 87f1d1c8a9 [FIX] web: searchpanel: category on m2o with no parent_field
Rev. e264eca enabled the search with 'child_of' operator for
categories on many2one fields. However, it crashed if there is no
parent_field on the comodel.
2019-07-19 08:39:59 +00:00
Aaron Bohy 1c576c8ddf [REF] hr: adapt code to searchpanel changes
Part of task 1985921
2019-07-19 08:39:59 +00:00
Aaron Bohy f6eed05da6 [REF] lunch: adapt code to searchpanel changes
Part of task 1985921
2019-07-19 08:39:07 +00:00
Lucas Perais (lpe)andAaron Bohy dd7022eccd [IMP] base,web*: searchpanel in all multi record views
Before this rev. the searchpanel could only be activated in kanban
views (and it was specified in the kanban arch). From now on, the
searchpanel can be activated in any multi record view. It's arch
is moved to the search view arch (inside the <searchpanel> tag).

Task 1985921

Co-authored-by: Aaron Bohy <aab@odoo.com>
2019-07-19 08:39:07 +00:00
Patrick Hoste 38b5a666c5 [IMP] website_slides: add a share button on the fullscreen view
A share button has been added to the fullscreen view to avoid
exiting the view to access the share tab on the full description
of the slide.

Task ID : 1984509

closes odoo/odoo#33418

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-07-19 08:31:20 +00:00
Jigar Patel cda93a5c19 [IMP] web: add new date range picker field widget
Adds a new widget to support start & end date or datetime.

closes odoo/odoo#33266

Signed-off-by: VincentSchippefilt <VincentSchippefilt@users.noreply.github.com>
2019-07-18 12:13:34 +00:00
Shreya Modi 125dbf0dfd [IMP] base: ensure parent and child partners have the same company
Purpose of the commit is to ensure parent and child partners have the
same company. When creating a new child in another company and one of them
tries to log a message on other contacts an error is raised due to
multi company record rules.

It makes no sense to have child contacts belonging to separate companies.
If parent is set on contact then the company_id should be readonly and
it will automatically set the parent's company_id.

Task-1934813
closes: #32405

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-07-19 07:09:07 +00:00
Simon Lejeune 112a4f309e [REF] stock_account: display update cost button on variants
The button wasn't displayed when going through a template's variants
stat button. It was missing an inherit on this view. We also try to
align them the best we can.

task-2029011

closes odoo/odoo#34682

Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2019-07-16 15:02:32 +00:00
Patrick Hoste af690f678f [IMP] website_slides: allow to toggle free preview from frontend
Purpose of this commit is to ease slides / lessons management in eLearning
frontend.

The publisher will now be able to see if a slide is in preview mode from
the slide list in frontend of eLearning.

He'll be able to activate/deactivate the free preview mode with a button.

Task 1999705.

closes odoo/odoo#34182

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-07-19 06:57:44 +00:00
Priyanka Kakadiya f4157f68ce [IMP] mail: Do not show the confirmation popup while clicking on "Following"
Purpose of the commit is to improve the user experience of the chat by
deleting some extra step that might be unnecessary

So when a user tries to remove him/her self from the follower, it will not ask
for confirmation and removes the user from particular document straight away
without any confirmation.
If user remove the another partner from follower then it will raise the prompt
dialog for confirmation

task-1998188
Closes: #34050

Signed-off-by: Martin Geubelle (mge) <mge@openerp.com>
2019-07-19 07:09:32 +00:00
jbm-odoo f9b24cec17 [FIX] hr_applicant: Domain stages and website applicant
When we change job_id on an applicant, we want that the stages above
change (if there arre special stage for this job).
On website recruitment, a traceback prevent to complete the form to
apply for a job.

closes odoo/odoo#34981

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-07-18 12:24:57 +00:00
Thibault Delavallée 46f2f04b85 [FIX] sms: use right has_sms_error field on message
closes odoo/odoo#34992

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-07-18 14:21:35 +00:00
qmo-odoo c90d374800 [IMP] website_slides: removed rating mixin and access token on slide model
Indeed we don't rate slides, we rate courses. Therefore rating mixin is not
necessary as well as access token.

Access token field as we are using the _mail_post_access and a karma check.

Commit linked to task 1952064.
2019-07-18 14:19:19 +00:00
Yenthe666 cba5feba39 [IMP] account: add missing sheet and element names for easier xpaths
closes odoo/odoo#34827

Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
2019-07-12 11:09:24 +00:00
Mitali Patel 80c0bc00a7 [IMP] mail: removed messages from custom filter
Purpose of this commit is filter that allows to
filter by messages is not working properly so
removed messages filter from custom filter menu

task-1939953 closes-#34141

closes odoo/odoo#34141

Signed-off-by: Martin Geubelle (mge) <mge@openerp.com>
2019-06-20 10:48:23 +00:00
Robot Odoo 5a345af6df [MERGE] sms, various: improve SMS integration with contact, calendar, crm, server actions
PURPOSE

Provide fixes to SMS behavior, notably in composer.
Better integration in various applications: contacts, calendar, crm.
Allow to automatically send SMS from server actions.

SPECIFICATIONS

See sub commits for more details.

Linked to task 1925950 and 1935280

closes odoo/odoo#34864

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-07-18 15:51:46 +02:00
Thibault Delavallée 16b3bf78a0 [IMP] sms: allow to send SMS from server (and automated) actions
PURPOSE

Send SMS from server/automated actions. Indeed we can already send emails from
server actions. The goal is to have the same thing for the sms.

SPECIFICATION

Purpose of this commit is to add support of sending batch SMS through
server actions. This means sending SMS will be available also for
automated (base automation) and scheduled actions (cron).

A new type of server action is added: sms. User choose an sms.template
to use to send SMS in batch. An option allow to choose to keep archive on
selected records. If no archive is kept, a batch of sms is created. With
archive a _message_sms is performed with note subtype, allowing to have
a discuss messages with only sms customer being notified.

Linked to task 1935280
Part of PR #34864
2019-07-18 09:57:47 +00:00
Thibault Delavallée ed4c67adb2 [ADD] crm_sms: integrate SMS in CRM
PURPOSE

We want to integrate SMS with crm.lead in the same way it is integrated
with res.partner.

SPECIFICATION

Add phone/SMS widget on 'phone' and 'mobile' to call the same 'Send sms' modal
than on partner. This modal can also be called from the action menu in list
view. This modal should behave the same as for res.partner (same number
selection and warnings). The SMS text message should also be logged in the
chatter (similarly to res.partner)

SMS sent in batch should be logged in the chatter of the corresponding record.

Linked to task 1925950
Part of PR #34864
2019-07-18 09:19:04 +00:00
Thibault Delavallée f18a089ca9 [IMP] sms, calendar_sms: improve integration of SMS
PURPOSE

Improve integration of SMS in various applications: calendar, contacts.

SPECIFICATIONS

Calendar_sms: set right composition mode on calendar event in form mode
aka comment

SMS: keep log when sending SMS in batch through action menu

Linked to task 1925950 and 1935280
Part of PR #34864
2019-07-18 09:20:58 +00:00
Thibault Delavallée 2b7ad217f1 [FIX] mail, sms: post sms message as a note on related document and apply various fixes
PURPOSE

Improve use of SMS. Followup of merge 4287481bf0 .

SPECIFICATIONS

Currently when sending an SMS through the UI a message is posted using the
comment subtype. However it is better to lessen number of notifications
and log using the note subtype as it is mainly a log to know something has
been sent.

Order SMS by ID desc to ease finding them in technical menu.

Mail, sms: fix wording of mail / SMS failures

Linked to task 1925950 and 1935280
Part of PR #34864
2019-07-18 09:20:06 +00:00
Thibault Delavallée ac212ae65d [IMP] sms: improve composer behavior
PURPOSE

Purpose of this commit is to add options and improve sms composer behavior.
Followup of merge 4287481bf0 .

SPECIFICATIONS

  * mass mode: add an option to keep archives when doing mass sms. This mode
    is actually a _message_sms in batch using the note subtype to speedup the
    process;
  * improve _message_sms_schedule_mass to allow more fine-tuning of options
    when calling it;
  * do not block sending SMS in batch if some recipients are invalid. Indeed
    using notifications there will be traces of failed SMS;
  * avoid reload of form view;

Linked to task 1925950 and 1935280
Part of PR #34864
2019-07-18 09:19:04 +00:00
Pierre Paridans 1bfdf9219d [IMP] web: unused on_modules_loaded hook
`window.openerp` being undefined, the method `on_modules_loaded` throws
an error when reaching its purpose (loading additional modules)...

The commit odoo/odoo@905e01921f removed
the compatibility layer for Odoo v8 (compatibility.js) which contained
the `window.openerp` declaration.

Being broken for that long without consequences, this feature proved to
not be useful anymore. We then remove it.

closes odoo/odoo#34821

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2019-07-18 09:17:52 +00:00
Adrian Torres a42ea0195d [IMP] models: remove support for _constraints
Using api.constrains should be used instead

Simply leave a warning in case a model uses a non-empty attribute
`_constraints`.

closes odoo/odoo#34679

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-07-18 07:46:26 +00:00