Purpose
=======
We could want to retrieve the session user id when rendering the next
activities on the chatter (For example in the new approvals module on the
enterprise repository).
At the same time, we used 'web.session' to retrieve this valued instead
of 'self.getSession().uid' which is deprecated.
* portal, theme_bootswatch, web, web_editor, website
With less2sass and bs3tobs4 tasks, the assets structure was reviewed to
handle the specificities of both framework and to prepare for our next
odoo tasks. In particular, the assets_helpers and bootstrap overrides
were basically split into 4 parts: utils, primary variables, secondary
variables and bootstrap variables.
(see https://github.com/odoo/odoo/commit/6e4db7d13a926845bf82f5b035afede42d6d5a89)
Using the !default system for the bootstrap variables parts seems now
a good improvement. This is part of what this commit does: adding the
default flag for all bootstrap variables overrides and inverting the
order of the files in the _assets_backend_helpers and
_assets_frontend_helpers templates. This allows to avoid code like this:
portal:
```
$body-bg: white;
```
website:
```
@if $var != null {
$body-bg: $var;
}
```
This code makes the body white with portal or equal to $var with website
if $var has a value. The same behavior in the new file order is achieved
with:
website:
```
$body-bg: $var !default;
```
portal:
```
$body-bg: white !default;
```
This order is now also followed for the _assets_secondary_variables
templates (there are only a few).
This commit also make better assets hierarchy by making website inherit
from portal assets (instead of web) and portal inherit from web_editor
assets (instead of web) (thus relying on strong dependencies instead of
installation order which is not always right for migrated databases).
closesodoo/odoo#29757
The method override `_handle_request_noblock`
is there to solve a bug in Python socketserver library
which has been solved in
- Python 3.6: python/cpython@8b1f52b5a9,
- Python 3.7: python/cpython@9080824513,
through PR python/cpython#9952.
These revisions will be included in Python releases 3.6.8 and 3.7.2,
and the override will then become useless.
We therefore can remove the `_handle_request_noblock` override
as soon as the Python 3 releases installed on operating systems
supported by Odoo are above
- 3.6.8 for Python 3.6
- 3.7.2 for Python 3.7
closesodoo/odoo#29706
This commit fixes two tests that became meaningless after tweaks
in production code:
- form_tests: use two char fields, as integer fields can't be
unset since rev. c62a4edcb
- pivot_tests: the button is disabled since rev. 4f4f111, but
simulating a click with jQuery bypasses the disabled attribute
This commit also removes unecessary overrides of mockRPC. Those
overrides existed because the attachments part of the sidebar
used to make a search_read RPC, but this has been removed at rev.
1dbb555.
closesodoo/odoo#28650
As the journal is mostly set in the Odoo world the _default_journal
method is not needed during create, but in case you only have
partner_id, account_id and type in vals you will have retrieved a wrong
journal in case you have an incoming invoice.
closesodoo/odoo#28635
If `description` contains an image, the loading time of the kanban view
can be rather long. Since the field is not even used in the view, it can
be removed.
opw-1915193
closesodoo/odoo#29034
The field sale_id on model stock.picking is not defined in stock module.
So the rule was wrong when sale_stock was uninstalled.
opw:1912564
closesodoo/odoo#29145
Usecase to reproduce:
- Create a product with a vendor and mto/buy route checked.
- Create 2 SO and confirm them
The system generated 2 RDF instead of a single with 2po lines (same than
v11). It happens because the propagation option of buy rules is
leave empty in v11 and Propagate in v12. It was unintentionally removed
by commit 1e160dffd3
This commit set leave empty as default value for buy rules.
opw-1904165
closesodoo/odoo#28637
In some case, this view was used to perform a search of product.product.
Before, this modificiation all the search view had the same priority
which means that depending on some situation, the wrong search view was
loaded.
opw-1903611
closesodoo/odoo#28634
The uom unit of a product on a sale order line was not with the product uom.
As a result, an error would be triggered when trying to edit the SO, without the
possibility to fix it (as the field is not in the view).
Odoo takes a stand against incorrect demo data.
opw 1906315
closesodoo/odoo#28641
Steps to reproduce the bug:
- Go to Website > Dashboard > Analytics and click on "Link my analytics account"
- Enter some data and save
Bug:
A traceback was raised: TypeError: website_set_ga_data() missing 1 required
positional argument: 'website_id'
opw:1905874
closesodoo/odoo#28636
Have a company that do not have a logo.
Try to print a "PDF report" from the accounting module
Before this commit, the simple company form popped up
with the purpose of force setting a company logo
After this commit, we assume it is not necessary to have a company logo on the reports
Note, because of 733ce266ef, we cannot do a save and print
OPW 1904764
closesodoo/odoo#28617
Have a partner with children exceeding the limit of the kanban.
Edit,
Add a contact > save and quit
Save the partner
Before this commit, there was a traceback, because a check on parent_id was done to compute
the modifier readonly of the city fields in subviews
However, python onchange gets rid of parent_id because child_ids and parent_id are two faces of the same coin
And if that check were not done, we would end up in an infinite recursion
After this commit, there is no traceback, as we stop checking on parent_id in the case of paged subviews
(list and kanban) because we literally know there is one
OPW 1886320
closesodoo/odoo#27114
Steps to reproduce the bug:
- Create a product : stockable + purchase : propose a call for tenders + reordering rule (qty min 0, max 0, multiple 1)
- Create a SO for that product.
- Run the scheduler once : a requistion is generated (Purchases > Purchase > Purchase Agreements), which is normal behavior
- Run the scheduler a second time
Bug:
A new requistion was generated for the same product, by the same reordering rule
opw:1892950
closesodoo/odoo#28611
Use a consistent date between both views of the Sales Analysis report,
otherwise switching from one view to another shows a different
information.
opw-1903091
closesodoo/odoo#28625
After removing the company from a delivery method, every checkout done
in website fails due to odoo trying to convert the price to the
company currency.
This PR fix the bug by doing the conversion only when there is a
company set on the delivery method.
opw-1905466
closesodoo/odoo#28626
The patch fixes the issue related to repeated orderline rerendering. It means
that if products of the order were printed before, those will not be rendered
again when new updates of order is sent to the kitchen.
Closes#28577
This commit refactors the method '_bom_find' in order to search bom based on their type.
This allows to handle the cases where a Kit has the route 'Manufacture' set.
TaskID: 1863856
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
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.
closesodoo/odoo#29066
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
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
closesodoo/odoo#26493
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).
closesodoo/odoo#29452
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.
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).
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 #1853063closesodoo/odoo#28477
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
closesodoo/odoo#29605
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
closesodoo/odoo#29616
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)
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
closesodoo/odoo#29151
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.
closesodoo/odoo#29538
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
closesodoo/odoo#26367
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.
closesodoo/odoo#27619
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.
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>
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
closesodoo/odoo#27767