Since saas-11.2 stock_tracability refactoring do not use
level on moves orig/dest and filter on return is
not usefull anymore. It should display all return order
by date.
This commit remove the codition on the return inside the search
on move lines.
An active user could not see messages in its inbox if his partner is
archived. With this commit, we cannot archiving a partner linked to an
active user anymore.
In the opposite way:
-if we deactivate a user, warning message is given saying the related
partner will stay active. A link to the related partner is also given
if we really need to archive it;
-if we activate a user, the related partner will be set as active;
This commit is linked to task ID 46158. Closes#24628.
The pdf viewer uses an external library to display a pdf file. This
library displays a few controls, such as a 'Download' button. However,
this button is sometimes displayed in the top bar, sometimes in the top
right dropdown menu (depending on the size of the widget).
For some unknown reason, the pdf viewer widget disabled the download button.
But this was inconsistent: the download button was only hidden when it
was in the tob bar, and not in the dropdown menu. With this commit, we
simply remove this behaviour.
I think spec is pretty clear: "The current email to invite new users is poor
and not catchy! Such email is the first contact with Odoo for most users. It
needs to be perfect!""
This commit is related to task ID 1839609. Closes#24576.
Even completely valid simple email like alfred+toto@example.com was not
considered as valid. As email may contain a lot of characters and strange
stuff let us be less strict on validation.
This commit is related to task ID 1839609. Closes#24576.
When a t-field element was in an editable t-ignore environement,
modifying it was leaving the edit mode style attached to it. This
was because of:
1) When the t-field element was changed, it was marked dirty but
also its parent editable container. Fixing this, only solves
the case where only the t-field (and not one of its neighbors)
is changed but it was worth fixing anyway.
2) Before saving an element, the potential 'o_editable' and
summernote classes were not removed of its descendant and were
thus saved.
Bug found with task-38069, merged in stable as it might occur there
too.
Some people prefer not to be disturbed by any flashy information. In
this commit, we add an option to do just that. When the 'show_effect'
option is set to false, then the messages that would be displayed by an
effect will be displayed in a notification.
Task #37712
Co-authored-by: Mohammed Shekha <msh@openerp.com>
Endpoints can be explicitly marked as `save_session=False` (default is
true across the board). In that case they will have an in-memory session
(either the existing one or a brand new one) but the session won't be
persisted to disk.
Currently used for non-browser RPC endpoints: the APIs don't use
cookies/sessions and we can't assume the RPC libraries keep cookies
across calls. This means a new session is created and saved to disk for
each RPC calls, for no useful reason.
This rev. adds a new module enabling the livechat support from
the webclient. It allows employee users to communicate with
livechat operators of another database, assuming that a counterpart
addon is installed on that database.
Task 26762
Co-authored-by: Adrien Dieudonne <adr@odoo.com>
Before this rev., it was not possible to have co-existing instances
of bus.bus, each one polling its own server, for several reasons.
First, the Bus class couldn't be overridden or parameterized to
specify which server and route to call to perform the longpolling.
Second, when several instances of bus.bus coexisted, their use of
the localStorage (for the CrosstabBus) conflicted, and as a result,
only one of them actually polled.
This rev. makes it possible, and it was necessary for the new addon
'im_support'.
Task 26762
Let's assume the following scenario: in a kanban view with a
domain, remove that domain and quickly click on a record to open it
in form view. On a slow network, it may happen that the reload of
the kanban view (triggered by the domain change) returns after the
load of the form view.
Before this rev., when this happened, the form view was correctly
displayed but the control panel contained the buttons, searchview,
pager... of the kanban view.
Note that this fix is quite ugly, but it won't be necessary anymore
as soon as the control panel won't be shared between actions and
controllers, i.e. as soon as each controller will have its own
control panel.
Bootstrap 'img-responsive' behavior was opt-in for a reason but commit
https://github.com/odoo/odoo/commit/f79b00c3b71e02f73537cb17285a6902fc0906b5
tried to defy that anyway. This would break existing client databases
... or at least our odoo.com.
This commit adds the img-responsive class for *new* *editor* images
(still with inline-block display), preventing breaking libraries or
custom (prod) images.
Purpose of this merge is to clearly distinguish sending a mass mailing from
scheduling it to a future date. Currently both options are a bit mixed and
not obvious. Now buttons are separated. Scheduling opens a small wizard
allowing to choose the date.
Some computation of sent and scheduled date are also fixed to be cleaner.
This merge is related to task ID 46932. Closes#24465.
Currently when you click on send now button or schedule button it will enter
current date as sent_date while the mailing list is still in queue. Actual
sent date will be the date when the mail is sent.
Related task ID : 46932
Purpose of this commit is to re-arrange mass mailing buttons and to add
a button for scheduling mass mailing in future :
* add schedule date in debug mode;
* re-arrange all button;
* add schedule in future button and on click open wizard to schedule future
date;
* on 'send now' button remove the useless '|' in domain;
* add a small wizard to select the send date;
This commit is related to task ID 46932
Before this patch, early connections made to a 11.0 Odoo server running
on Python 3 and deployed in threaded mode with socket activation would
generate invalid registries.
With this patch it is now possible, when this deployment mode is used,
to opt-out addons preload by setting the following environment variable:
ODOO_PRELOAD_ADDONS=no
Note: this environment variable is only available for v11.0 as later
versions does not preload anymore (cf: 1a39c9b)
Since 953a693df link not corresponding to a route are tought multilang
by default.
Thus in the mass mailing, if the user had not the default language on
the website he would have eg. a /fr_FR/unsubscribe_from_list placeholder
in the mail.
The placeholder is replaced by a real link pinpointing to the items the
given person would unsubscribe to, but having /fr_FR/ part prevented
that.
With this PR, there is a dummy route so /unsubscribe_from_list is
explicitely known as not multilang.
opw-1850696
closes#24912
Co-authored-by: Goffin Simon <sig@odoo.com>
Currently the distinction between expense officers and expense managers
doesn't make sense because they both have the same rights.
This commit aims at making a clear difference between an officer and a
manager.
After this commit the rights will look like this :
* Expense Manager :
- See and approve any expense
* Expense Officer :
- Can see and approve the expenses of employees in his department
or employees for which he is the manager (field parent_id on
hr_employee)
- Cannot approve his own expenses
* Simple user :
- Can only see his own expenses
- Can only send his expenses to a manager (either the manager of
his department, his direct manager [parent_id field] or an
expense manager)
Related to task #51520Closes#23033
Purpose of this commit to improve scheduling of meetings with activities.
If summary is empty use record's name as name of meeting to speedup the
flow.
This commit is related to task ID 1838315
This commit improves the daily use of activities through some small updates
* on hover of clock icon in kanban card display tooltip. Purpose of this
change is to clarify meaning of colors displayed in kanban view. Otherwise
just havign a color is not very meaningful;
* add days string in planned in column;
* add space between number and days in planned in field;
This commit is related to task ID 1838315.
Let's assume the following scenario in a Kanban view with a default
filter. The user removes the filter, and quickly adds a new one.
On a slow network, it may happen that the second reload request
returns before the first one. On odoo.com, this is easy to
reproduce on the tasks Kanban view.
Before this rev., when this occured, the result of the first
request was displayed, whereas it should have been ignored as
another request was done later on.
closes#1800442
Purpose
=======
Odoo sessions are expired when no action has been triggered
for the last 7 days. For kiosk mode, this doesn’t make sense.
It means that once a week, a person with the rights to the
employee under kiosk mode, has to come to the screen and log in again.
Specification
=============
Trigger an action to keep the Odoo session alive.
product.product inheritS from product.template, and they both
define the 'standard_price' field, but implement it differently;
- product: the field is a company dependent one (so non stored)
- template: the field is a computed one based on tis variants
For the first case, since the field is not stored in database, when
doing SQL query, we have to get the value from the table ir_property.
That is what purchase report does, but instead of searching on resource
'product.product', it does it on 'product.template'. There are
obviously no entries in ir_property table for 'standard_price' field
on product template. As consequence, the "product value" (cost)
is always null in purchase reporting.
This commit fixes that by modifying SQL query to get the good
value from ir_property table.
By default, Chrome browser will block pop-up windows which will block
all actions from type act_url with a different target than 'self' (i.e.
'_blank').
This commit adds a check when such an action is called and sends a
warning in the web client when it fails to open. This mimics the
behaviour already present for the report actions.
In saas-11.2, the traceability has been rewritten and there is no notion
of upstream/downstream, also the code tested seems to have become dead
in some instance (in particular: the one this test tested), so will be
improved soon.
opw-1845444
closes#24887
* export benches for m2o
* tag benches instead of requiring editing the source to enable them
* dump the profiling stats intead of saving to disk (less convenient
for complex analysis but way more so for simple overview)
* add M2O benching in addition to the existing integer-based one in
order to expose problematic behaviour when exporting significant
numbers of non-shared relational records (& quantify impact of
creation v read)
Following odoo/odoo#22493 the performances of exporting XIDs was
greatly improved by batching XIDs and avoiding the ~3 SQL queries per
xid/record when no xid exists yet.
*However* the batching was done per call of _export_rows and to handle
relational fields _export_rows calls itself recursively leading to
sub-standard xid batching:
* for M2M and O2M fields, some batching would happen on a
parent-record basis, each M2M or O2M field (in a parent) would be
xid-batched, but two parent records wouldn't see their children
xid-batched together
* for M2O, there would be essentially no batching with a call to
__ensure_xml_id per record and while less queries than before in the
worst case more complex ones in fact
Change: rather than ensure XIDs exist when performing the export, add
XIDs export as a post-processing of the exported records table. This
way, each involved model can be entirely batched and exporting 10000
records's (id, value_id/id) 2 calls instead of 10001.
Also rename _export_rows's recursion parameter for clarity, it has
clearly outgrown its use as a batch invalidation flag and the name
is now less than clear.
Furthermore _-prefix & mandate kwarg usage to make it clearer it's not
really a "public" parameter, and is intended as an internal recursion
flag.
* store hashed passwords in the `password` column but gate it behind a
computed field
* make the password field essentially write-only (SQL aside)
* add a "plaintext" hash type so it's possible to set the password in
SQL directly & be able to login & have it automatically updated
Task 34211
This is a backport of commit https://github.com/odoo/odoo/commit/2f15a5fa647d55df36c9019df467802a3aa9b4e3
Purpose
=======
Add the possibility to create private addresses, only accessible for a subset
of users.
Specification
=============
- Add a new 'Private' partner type
- Add a res.groups in base 'Access to Private Addresses'
- Add ir.rules for the following behavior:
- Every employees/internal users can read non-private addresses
- Only users in group_private_addresses can access private addresses
- Add in base a simplified form view for private addresses
The following points won't be backported:
- A HR Officer is automatically granted in group_private_addresses
- Use the simplified form view to open the address_home_id form on employees
That's because it requires to update 'base' to make it work. If a user only
update 'hr', this will break his instance while 'base' isn't updated.
But these modifications can be applied manually quite easily.
Due to the switch from less to scss, changes were made. Especially, the
class oe_link is now 'deprecated' and interpreted as 'btn-link'. The
previous style defined on the latter removed the padding which breaks
the style when several buttons follow each other.
This commit should fix the style while maintaining the intended behaviour,
a vertical alignment between the button and the text inside the pane.