- We extract some code logic to methods to allow to override them.
This is needed for the subscription module where a payment token need
to be copied from a transaction to a subscription.
The subscriptions is created from a sale order and before the
payment.transaction holding the payment.token id is validated.
Since the payment.transaction is not validated, the subscription
module doesn't find the correct transaction.
By extracting this code logic, we can override exactly when it should
be.
The method _read_group_fill_temporal did not support multiple levels of
groupby. Which meant that everytime you grouped by a date and by
something else you had a traceback.
This allow the browser/device to handle the experience of handling number in a more native way.
FieldInteger and FieldFloat now inherits from NumericField because we want
to format it or not dependent of the view (readonly or edit) and the
NumericField will manage it.
We do that because input type number can't take a value with comma on Chrome
(FireFox is more permissive but not perfect because comma is the separator
for decimal in this case).
Task #1880376
-removed force_ext from ir.http.
-added signature arg to web/image to differentiate cache entries by URL.
-added an embed youtube viewer for youtube URL's
-added a PDF splitter to the PDF viewer UI
-added tests for mail's Document Viewer
-added a "signature" param to web/image to go around the browser cache
-thumbnail field of ir.attachment is now stored in the filestore
as a distinct attachment.
task 1853490
Co-authored-by: Pierre Paridans <app@odoo.com>
Main specifications
* set mail as dependency on contacts as activity view is used in contact
that does not depend on mail -> crash;
* update icon on the reminders: use calendar instead of clock;
* add an icon to Contact in the systray;
* add the Activity icon in the upper right corner of the Contact;
* sort Activities by date: from more urgent to less urgent;
* on the contact name in the activity view, the name is clickable but the
cursor is wrong: use the little hand as a cursor;
Please see sub-commits for more details. Thanks to @alexkuhn for
reviewing and @est-odoo for testing.
This merge is linked to task ID 1882545 and closes PR #26797.
Purpose of this commit is to have first activities to perform displayed
first in the activities summary view.
This commit is linked to task ID 1882545 and PR #26797.
Purpose of this commit is to allow having an icon redirecting to the
activity summary view in the partner activities section of systray.
This is done by supporting an additional 'actions' list in the activity
data given to the systray. It displays small icons that redirect to an
Odoo action given its xml ID.
This commit is linked to task ID 1882545 and PR #26797.
As res.partner model is defined in base systray takes the base icon as icon
used in the systray when classifying activities by model. As base module has
no icon it leads to a blank icon being displayed in the systray. Purpose of
this commit is to use the icon from Contact application instead.
As contacts application now depends on mail we do it simply through
inheriting the systray_get_activities method that return the data to display
the systray elements.
This commit is linked to task ID 1882545 and PR #26797.
Specifications :
* clock icon is generally used for datetime;
* calendar icon is generally used for date;
* as we set the reminder date in the systray let us use the calendar
icon in the systray in the reminder section;
* please also remove the extra margin bottom of note when entering a
new reminder, it makes @est-odoo very sad;
This commit is linked to task ID 1882545 and PR #26797.
Contact application allows notably to see the activity summary view on
customers activities. It require mail to be installed. As there is no
real use of contacts application without mail let us set mail as a
dependency of contacts. It seems a better solution than having a bridge
module between contacts and mail.
This commit is linked to task ID 1882545 and PR #26797.
-Improve no content helper on activity view
-Update chatter after editing an activity un form view
-Avoid context to appear as feedback
When using call_button the context is set as an arg and will be catched by
the kwargs of the called action.
As for action_feedback, we can create a wrapper without kwargs
used when calling this method from a button to avoid this problem.
Another solution would be to change the call_button in order to give
the context as a kwargs. Maybe a possible improvement for master.
-Remove groupby from activity view
group by has no effect on activity
-Change cursor to pointer on record name in activity view
Task: #1878184
PR: #26668
Purpose of this commit is to improve settings by improving labels and
section titles. Purpose is to ease use of settings by users and make
it easier to understand.
This commit is linked to task ID 47221 and PR #26483.
Before this commit, the search input was focused everytime the settings
view was rendered after a timeout of 0. This is not considered as correct.
It is fragile as asynchronous code could break in many situations.
This commit fixes that behavior by using a hook 'on_attach_callback' which
is called when the widget is put in the DOM.
This commit is linked to task ID 47221 and PR #26483.
When cancelling SO, then reconfirm it, a new task will be created. This is
no the willing bahavior. This commit fixes this, so reconfirmating does
not create a second task.
This commit also provides a test case and so, mixes 2 test cases into
one for a better coverage.
This button requires the rights to handle SO (create and update), so we now
only display this button if current user can do such action. Otherwise, when
submitting the wizard, the user gets an access error.
During the super of write, a check constraint is done
in python. So, if writing allow_timesheet=True the constraint
will raise is no AA is set on the project.
This commit restore the exepected behavior.
* website
```
$map: (
test: 1,
black: 2,
);
@debug map-get($map, 'test');
@debug map-get($map, test);
@debug map-get($map, 'black');
@debug map-get($map, black);
```
The above code leads to a:
1
1
null
2
This is because maps' keys can be *anything* in sass (even other maps).
In the example, the map is defined with unquoted `test` and `black` as
keys which are understood as the string 'test' and the *color* black.
When asking for the value for the 'black' string key... there isn't any.
This commit forces the use of quoted string as color maps' keys.
- When creating a transaction on the payment page of the portal, the
transaction reference returned was incorrect.
This commit return the newly created transaction's reference.
When there is a performance issue, it's sometimes difficult to discover
which request increased the query count or its duration.
With this commit, the query count, the query time and "python and io" time are displayed
in the logs at the end of each werkzeug request line.
Co-authored-by: Christophe Monniez <moc@odoo.com>
Up until now, the execution of a report action could not be followed by
any action which prevented, for example, to automaticcaly close a modal
after printing a report from it. This has become an issue when working
on customer's invoices using the new modal introduced in 4cb9194275
This commit allows to close a modal after the download of a report.
Removing the code that allows to generate multiple reports with a single
action introduced in 410d6a703b as it was
only used for l10n_ch and that this was abandoned in
5169b50efe.
Before this rev., there was a crash when a FieldDomain was reset
with a new domain (e.g. coming from an onchange). For instance, it
crashed in Email Marketing > create new Mass Mailing > select
mailing lists. Introduced by 68332a01.
opw-1882850
(Needed for themes migration)
The #wrapwrap element always featured a hack to make the inner <footer/>
stick to the bottom of small-height pages (typically, empty pages). As
advertised, this was a *hack*: forcing the element to "table" display
and its children to "table-row" display. This prevented some themes
to do some stuff.
With the migration to BS4, we now use flex at various places and so
only support the browsers which support flex (every last version of
major ones). The footer feature can be solved using flex, so there is
no point in keeping the hack.
This also allows to make the #wrapwrap element scroll instead of the
<body/> and to always have a screen-shaped #wrapwrap element, making the
element the user's <body/> it was always meant to be.
Following CDN expansion (d98b262398)
portal attachment links now go through the CDN, which is an issue for
restricted-access attachments e.g. attachments bound to specific objects
(such as support tickets).
Add an access token to the attachment links in the /my/task template.
Cf OPW-1882014 (fixed ad-hoc by editing the relevant view on odoo.com)
…eduler"
Steps to reproduce the bug:
- Let's consider P a product with routes "buy" and "mto" and with
purchase_requistion = 'Propose a call for tenders'
- Let's consider a BOM B with P as component
- Create a MO for B
- Run the scheduler two times
Bug:
Two purchase agreements have been created for the the same MO.
opw:1882280
- The method to compute the reference of a payment.transaction and avoid
duplicate was missing some edge cases (for example if there was a '-'
in the reference).
- The creation of transactions in the route /website_payment/pay was not
checking for duplicate payment.transaction.