Commit Graph
144518 Commits
Author SHA1 Message Date
Xavier-Do 157651f7b0 [FIX] profiling: add profile entry manually before calling libsass
This commit proposes a mechanism to manually add a frame before a
blocking c-call and triggers it before calling libsaas.compile.

closes odoo/odoo#75519

X-original-commit: f836ff3a67d446cd8b3ab2cf573fab649153e6da
Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
2021-08-24 12:31:44 +00:00
Xavier-Do f4d0c72816 [FIX] profiling: manage long calls with the GIL
Sometimes the profiler provides confusing information.  This happens
when calling a C library without releasing the GIL (Python's global
interpreter lock).  The time spent in the call will be attributed by the
profiler to the former stack trace, because the collector cannot run
during the call.

This commit adds information on the frame when a given stack frame has
lasted for too long.

X-original-commit: 5e193c5dbcdfbdbab38309ed292131ae1f5d3026
2021-08-24 12:31:43 +00:00
Jacky (trj) f11eb1dcca [ADD] pos_sale_product_configurator: add optional products in the product info popup
With the module sale_product_configurator, you can add optionnal
products on your product to suggest them during the sale process.

We are now displaying them of the info popup of a product to easily find
them in the POS, and we also allow to automatically open this popup for
products having such optionnal products.

closes odoo/odoo#71203

Task-id: 2518884
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2021-08-24 11:57:40 +00:00
Jacky (trj) 6e7450ac6a [IMP] point_of_sale: added product info popup in UI
When you are in the backend, you can't easily retreive the infos related
to your products. You have to go back to the backend to check your
stock, get the cost of your products, ...

So we've add a popup that display all those relevent infos of the
choosen product. This popup can be triggered through the small button on
the product or the button info for the selected order line.

TASK-ID: 2518884
2021-08-24 11:54:18 +00:00
Jacky (trj) 4b1a9f04e5 [FIX] point_of_sale: ChromeAdapter's extension removal
Before this commit, the willStart hook was called twice each time a
popup component was opened.

TThe 'PopupControllerMixin' is a mixin that set the listener to the
'show-popup' event and display the required popup when catching it.
Before only the Chrome widget was extending this mixin, and now it is
extended twice, leading to having two listener.

By avoiding to extend the ChromeAdapter with the popup mixin, there
still only one listener, and it is not triggered two times
2021-08-24 11:48:16 +00:00
Habib (ayh) 3ceb6737be [FIX] l10n_ar, l10n_ch: multicurrency tests
since odoo/odoo@4402949 all currencies are inactive by default - activate currencies required for l10n tests

closes odoo/odoo#75278

Related: odoo/enterprise#20341
Signed-off-by: Josse Colpaert <jco@openerp.com>
2021-08-19 06:48:34 +00:00
Thibault Francois 6ec80fe459 [FIX] calendar: expected singleton error with _find_attendee
Issue
-----

Opening the calendar view may lead to an expected singleton error
because _find_attendee my return a recordset with a len > 1

Solution
--------
Return the first element of the filtered list to match the behavior
described in the doc string

closes odoo/odoo#75277

X-original-commit: b3a17e8c233f0b31c61609fefbc24241c3d12ae4
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Signed-off-by: Arnaud Joset <arj-odoo@users.noreply.github.com>
2021-08-24 06:49:03 +00:00
qsm-odoo 2cbb691a84 [FIX] web_editor: properly update the editor panel UI
When an option notifies that it was used, its ancestor SnippetEditor
instances were in charge of asking for an UI update of all their options
(see [1] where this was already fixed). This was inconsistent with the
logic of our UI where the value of one option might affect the value and
visibility of another option which comes *after* it, e.g.:
- the user sets a badge type to 'info'
     -> the badge background option (below) is shown as blue
- the user adds a shadow
     -> more options are shown afterwards to control it (not above)

After this commit, we now update the whole editor panel (parent and
child options) wherever the updates come from. The only important thing
is to first update the options UI then their visibility as their
visibility may depend on their UI status.

This allows at the same time to fix the source of a race condition, as
enabling a snippet also triggers an UI update whose async parts were not
properly awaited (which thus may lead to inconsistencies if the user
clicked everywhere in the DOM too quickly).

[1]: https://github.com/odoo/odoo/commit/7623a0c771495cd41bf40af37c0d2b6e4beb7cdc

Part of https://github.com/odoo/odoo/pull/74959

closes odoo/odoo#74959

X-original-commit: 488b9ae45e728327e0d43b91b7c2d6edf2a33be1
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2021-08-24 09:27:35 +00:00
qsm-odoo ad644d9ae7 [FIX] web_editor: properly handle editor enabling and preview mode
The editor panel keeps tracks of the SnippetEditor instances which are
enabled at the current time. When previewing one (by hovering its UI),
that tracking was messed up making onFocus and onBlur calls inconsitent.

Part of https://github.com/odoo/odoo/pull/74959

X-original-commit: 0d7e660d8c0941b1af83b08a90d936933287d681
2021-08-24 09:27:35 +00:00
qsm-odoo 085f388b5e [FIX] website: ensure more robust link popover creation
Somehow, trying to forward-port the work done at [1] makes it impossible
for the link popover tour test to pass (although that test already
existed in the version where that original work was merged). It's
unclear why the test did not fail before but hopefully it did here: this
reveals a race condition in the editor code where the link popover is
fully shown to the user while clicking on some of its button would have
no effect... because those rely on clicking in the editor panel which is
potentially not up-to-date yet.

This commit fixes the problem in a hacky way, waiting for the editor
panel to be updated before showing the popover but it should not be
necessary in a better refactored codebase.

[1]: https://github.com/odoo/odoo/pull/74861

Part of https://github.com/odoo/odoo/pull/74959
2021-08-24 09:27:35 +00:00
Ivàn Todorovich b74d4f4e19 [IMP] website_sale: Use float_time widget for Abandoned Carts settings.
closes odoo/odoo#75483

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2021-08-23 16:10:37 +00:00
Touati Djamel (otd) 3fcec6db90 [FIX] l10n_cl: update VAT only if it is changed
Steps to reproduce the bug:
- install l10n_cl
- Create two contacts and for only one of the two fill in the "Identification Number" field
- Go to contact app > select both contacts to edit some of their fields at the same time
- For example, edit “City” > save

Problem:
The "Identification Number" of contact 1 is copied to the second contact,
while normally only the "city" field of the two contacts needs to be changed.
This is due to the fact that we do not check in the write function if the vat or identification_type are in values before changing the vat.

Solution:
check that `vat` or  `l10n_latam_identification_type_id` are in values before changing the vat

opw-2587994

closes odoo/odoo#75472

X-original-commit: 11ec94df926db98265d26af1072a0c8bf1843083
Signed-off-by: Florian Gilbert <FlorianGilbert@users.noreply.github.com>
2021-08-23 15:31:23 +00:00
Emilien Durieu (edu) 9c8b0e299a [FIX] web_editor: prevent merging of unbreakable node
closes odoo/odoo#75432

X-original-commit: 1632bf17090b38eb8998edb09c1522929dc0312b
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2021-08-23 09:43:45 +00:00
Florent de Labarre f21bd27a23 [FIX] point_of_sale : prevent error if you close/open POS
- create a new order
- add payment with payment terminal
- close POS
- Open POS
- Send the payment
When the payment succeed it raise. Because after a refresh this.payment_interface is undefined.

closes odoo/odoo#75373

X-original-commit: 3a822fa56f17e7bb5466507ec57588ab255ccdd6
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2021-08-20 10:24:14 +00:00
David Tran 64a4f20a64 [FIX] l10n_vn: wrong account code for the revenue deduction accounts
closes odoo/odoo#75042

X-original-commit: bfe7190215c3014df2fb468f1860b24759de2e38
Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
2021-08-13 09:53:00 +00:00
Florent THOMAS 56ca5e9297 [FIX] Marshall frozendict in XMLRPC controller
PR #42723 changed the public method context_get on res.users return a
frozendict instead of a classic CPython dict.

Since the default XMLRPC Marshaller does not know how to serialize a
frozendict, this would result in errors when calling the method directly
via the XMLRPC layer.

This commit solves this issue by defining a marshalling procedure for
frozendict objects in our custom OdooMarshaller class, this simply
converts the frozendict into a dict and uses the default dict-to-xml
dump procedure (dump_struct).

Fixes #75412

closes odoo/odoo#75478

X-original-commit: e80a299ed910cacac4aa4e64164909af36ce62ad
Signed-off-by: Adrian Torres (adt) <adt@odoo.com>
2021-08-24 06:32:51 +00:00
Wolfgang Taferner e8f8939db7 [FIX] hr_attendance: wrong model for loading employee image
closes odoo/odoo#75488

X-original-commit: b2ccb469622e2fef776b21149ff2f253c1cccca1
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Signed-off-by: Wolfgang Taferner <wtaferner@users.noreply.github.com>
2021-08-23 16:49:10 +00:00
Thibault Francois f7317e332c [FIX] hr_recruitment: fix access error in _message_get_suggested_recipients
Since a partner of the type private is created when
the partner is created at message post (see _message_post_after_hook),
most of the hr.applicant are linked to a partner_id of type private

And recruitment officer may not have the access to private address,
those user can get an access error while opening a form view of an
hr.applicant due to get_suggested_recipients called.

They are already able to see the email address and the name of the
applicant directly on the applicant form we can consider they should
be able to call get_suggested_recipients

closes odoo/odoo#75454

Solution: read the partner with sudo
X-original-commit: b916e8fd8347e77f2f2e15bf0473a0b3642436f9
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2021-08-23 12:06:28 +00:00
Adrian TorresandRaphael Collet d543f53c33 [FIX] base: avoid recursion depth errors during uninstall
For some reason _logger.info with exc_info=True inside a recursive
function generates RecursionErrors, presumably because the logger uses
recursion itself to generate the stack trace that is logged.

A simple solution would be to remove exc_info=True, but I've decided to
move the log out of the delete function and simply call it once per
uninstall process with all undeletable IDs, so it's kind of a fix +
optimization.

closes odoo/odoo#75445

X-original-commit: 3a04de569bca10a1d1a01f719635de6842e747b2
Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
Signed-off-by: Adrian Torres (adt) <adt@odoo.com>
Co-authored-by: Raphael Collet <rco@odoo.com>
2021-08-23 10:51:57 +00:00
Thibault Libioulle 8f7b965446 [IMP] sale_timesheet: reduce query count on project profitability
Prior to this commit, we queried the project profitability view in order
to have the total amount of timesheeted time.

With this commit, thanks to the fact that this value was only
retrieved in the view by subquerying analytic.account.line we can only
query the analytic.account.line in order to access information.
This allows us to query the project profitability report only when
required. Otherwise, only the analytic account line table is queried.

This commit was motivated by the performance issue fixed in PR : #72641

task-2555323

closes odoo/odoo#71873

Related: odoo/enterprise#18851
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2021-08-23 13:21:24 +00:00
Thibault Libioulle 4968cc3444 [IMP] project,sale_timesheet: improve update views implememtation
This commit add various information in views, like name attribute, to
better handle extension.

It improves also the way the FormViewDialog is rendered in the project
right side panel, we no longer have to call willStart at each insertion
of the Form in the DOM since the form is rerendered automatically by
owl once the state changes.

Some click handlers now prevent propagation to ease the addition of
handlers for further needs.

task-2555323
2021-08-23 13:21:24 +00:00
Odoo's Mergebot 2094ffc3a8 [MERGE] (website_)event: improve communication and frontend management
This merge improves event and website_event in various ways:

  * set default event_mail_ids on event.event (one registration, two
    reminders) as communication is considered as default behavior;
  * improve event creation flow on the frontend by adding fields;
  * improve customization on website_event;
  * remove name_get in event tags to avoid redundancy in tag category tree
    view and remove noise;
  * improve cover image of an event (Especially to improve the editor UX);
  * various display or testing related fixes;

Task-2488019

closes odoo/odoo#68901

Related: odoo/upgrade#2395
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2021-08-24 00:29:11 +02:00
qmo-odoo 465f4f60fc [IMP] website_event: improve frontend event creation
This commit improves the event creation flow in frontend. Before, you could
only set the name of an event and remaining values had to be set either via
backend or using editor for some fields.

Now you can set the name, start / end date and the address if needed.

Task-2488019
PR odoo/odoo#68901
2021-08-23 14:59:00 +00:00
Thibault Delavallée 367136091f [IMP] website_event: reorder controller file 2021-08-23 14:59:00 +00:00
qmo-odoo 372c46f1c2 [FIX] website_event: fix list placeholder during event edit
In editing mode, a weird "List" placeholder is displayed in the nav bar. This
is due to a t-if badly placed in HTML. This is fixed with this commit.

Task-2488019
PR odoo/odoo#68901
2021-08-23 14:59:00 +00:00
qmo-odoo b18efd703c [IMP] event: add default communication on events
Communication on events is considered as standard: receive a confirmation
at subscribe and receive reminders. We therefore set default event mail
on both template and event models

  * event.type has default communication with 3 emails;
  * event.event has default communication when no event type is chosen. When
    a template (event.type) is chosen its configuration is more important;

Task-2488019
PR odoo/odoo#68901
2021-08-23 14:59:00 +00:00
qmo-odoo 344f180ebb [IMP] website_event: improve default cover properties on /register
The purpose of this commit is to change the default values of an event cover
image to improve the UX, especially while using the editor.

Task-2488019
PR odoo/odoo#68901
2021-08-23 14:59:00 +00:00
qmo-odoo f534d2c6c8 [IMP] website_event: disable country events by default on sidebar
As most customers do not have events across multiple countries it was decided
to deactivate that filter by default and make it opt-in.

Task-2488019
PR odoo/odoo#68901
2021-08-23 14:59:00 +00:00
qmo-odoo aa5a2ce90c [IMP] website_event: do not repeat category name in name_get of tags
This commit cleans the display name of event.tags as there is no need
to repeat the category name. It adds noise without any added value.

Task-2488019
PR odoo/odoo#68901
2021-08-23 14:59:00 +00:00
qmo-odoo 3c05c37577 [IMP] website_event: always display 'filter by tags' in frontend
This commit removes the ability to enable/disable the "filter by tags"
on /event. Not need for it to be customizable, it should be displayed
by default. Indeed this is basics of event management and having options
for that adds noise to configuration.

Also, from now on, only published tag categories will be used to sort
events on the frontend, whatever the ACLs.

Task-2488019
PR odoo/odoo#68901
2021-08-23 14:59:00 +00:00
Thibault Delavallée fad1c9f047 [FIX] event: correctly give a template when sending badge
Oversight of odoo/odoo@d9ffbe9e89 a valid template_id was incorrectly converted
into a reference field, used in event automated communication (which is not
the case when sending badge).

Task-2488019
PR odoo/odoo#68901
2021-08-23 14:59:00 +00:00
Benjamin Vray ba371a0d9b [FIX] web_editor: fix overlay missing after animation
Before this commit, with some animations (e.g. Bounce In-Left) the
overlay of the animated element or the overlay of selected element
inside it no longer reappeared after the animation.

task-2630112

closes odoo/odoo#75444

X-original-commit: fb98430b1cdbc63896d152b39bcf23c0f2241cb4
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2021-08-23 10:51:32 +00:00
Thibault Delavallée fd1007749e [FIX] mass_mailing: fix report grouping / filtering on wrong field
Oversight of odoo/odoo@f16dbbcaec

closes odoo/odoo#75430

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2021-08-23 09:05:46 +00:00
Alvaro Fuentes d766744b1c [FIX] base: fix ir_attachment read_group
When called with a `srt` as readgroup parameter we get a traceback.
Example:
`read_group([('partner_id', 'in', self.ids)], 'partner_id', 'partner_id')`
TB:
```
 Traceback (most recent call last):
   File "/home/odoo/src/odoo/14.0/odoo/tools/safe_eval.py", line 330, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
   File "", line 2, in <module>
   File "/home/odoo/src/odoo/14.0/odoo/addons/base/models/ir_attachment.py", line 420, in read_group
    if any('(' in field for field in fields + groupby):
 TypeError: can only concatenate list (not "str") to list
 ```

 Observed on the upgrade request 22627.

closes odoo/odoo#75416

X-original-commit: 8e7990dd5c069f7b0dba9f3d27f620f0fcad5441
Signed-off-by: Christophe Simonis <chs@odoo.com>
2021-08-20 18:52:19 +00:00
Kartik Chavda 9f519c44b3 [FIX] sale_timesheet: fix access right error while opening sale order
Purpose of this commit to fix access right error while user try
to open sale order when he has no acces right of timesheet.

So, In this commit improve code for timesheet_total_duration
compute method to directly compute timesheet_total_duration
from unit_amount of timesheets without any access right.

closes odoo/odoo#75272

Taskid: 2514517
X-original-commit: 2f7c5020cdd2073dc55ecda40d45f30c42e508e8
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2021-08-18 15:30:44 +00:00
Martin Trigaux d9e3aab69b [FIX] mail: convert res_model_id to selection
Following the removal of read access on ir.model (odoo/odoo#69120),
the mail.activity.type model was not accessible to non-admin users due
to the res_model_id many2one field.

Before this commit, a project user could not access the Activity Type
menu.

Convert it to a selection field with the selection values being
computed in sudo.

closes odoo/odoo#74981

Related: odoo/enterprise#20214
Related: odoo/upgrade#2734
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2021-08-23 06:56:00 +00:00
Priyanka Kakadiya e164437fc6 [IMP] product: add color field on attribute values
PURPOSE

Display the color of the attribute value on the product kanban card

SPECIFICATION

Add color field for models `product.attribute.value` and
`product.template.attribute.value`.

Task-2593655

closes odoo/odoo#74356

Related: odoo/enterprise#20048
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2021-08-20 05:01:50 +00:00
Valentin Chevalier b0e2c2b945 [REF] sale: make variables name clearer
closes odoo/odoo#74246

Related: odoo/upgrade#2691
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2021-08-02 07:50:13 +00:00
Pierre Masereel a46c9b0f21 [IMP] point_of_sale,pos_sale: Sale Order integration
Since now, there was no possibilities to pay a Sale Order in a point of
sale without re-encoding every lines of the sale order in a pos order.

So we've now added the possibility to choose a sale order from the point
of sale, and apply a down payment or settle the selected order. You
still get the possibility to invoice it, and the stock is correctly
managed.

The SO is then updated accordingly to what have been done throught the
POS.

closes odoo/odoo#74096

Task-id: 2500902
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2021-08-23 12:26:24 +00:00
Demesmaeker e0233a1010 [IMP] payment(_adyen): allow to refund confirmed transactions
Before this commit, it was not possible to refund a payment from Odoo.
Users had to go through the payment acquirer's backend and update the
payment accordingly in Odoo.

With this commit, refunds are made available in Odoo directly from the
payment form, for acquirers that support them. Acquirer can either only
support full refunds or also support partial refunds.

As of now, the only acquirer allowing refunds is Adyen, with partial
refund support.

task-2527891

closes odoo/odoo#70881

Related: odoo/upgrade#2689
Related: odoo/enterprise#19829
Signed-off-by: Antoine Vandevenne (anv) <AntoineVDV@users.noreply.github.com>
2021-08-23 10:54:17 +00:00
c90ab7b664 [IMP] website: add templates for masonry snippet
Add an option in the masonry snippet's allowing to choose among multiple
templates for the snippet layout. The usability of the snippet also has
been reviewed (restrict the ability to control background on deeper
boxes). Also reviewed the bg-200 use on boxes and replaced them with
a preset as otherwise it seems buggy to not be able to remove the
bg-200 by selecting a preset (other than hitting the trash icon in the
colorpicker).

Part of https://github.com/odoo/odoo/pull/67361
task-2463033

closes odoo/odoo#67361

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Co-authored-by: smottet <oms@odoo.com>
Co-authored-by: qsm-odoo <qsm@odoo.com>
2021-08-23 12:20:17 +00:00
qsm-odoo bebb45e6d5 [FIX] website: restore the masonry snippet's options
Since [1], it was not possible to control the color of colored boxes in
the masonry snippet. Hopefully, the new selector to exclude some options
on "snippets inside snippets" is now more limited.

[1]: https://github.com/odoo/odoo/commit/58503a248e7ab6b66d61d00869cdae6719e5a068

Part of https://github.com/odoo/odoo/pull/67361
task-2463033
2021-08-23 12:13:14 +00:00
William Braeckman 10b5a5f819 [FIX] hr_attendance: fix wrong timezone comparison
When computing the overtime hours we use localized datetimes in order as
much as possible but we were localizing UTC datetimes to the wrong
timezones without converting them first which caused issues with company
thresholds.

Task ID: 2607436

closes odoo/odoo#74241

Signed-off-by: Kevin Baptiste <kba@odoo.com>
2021-08-23 08:09:47 +00:00
William Braeckman 57f9b798af [FIX] hr{,_holidays}_attendance: compute correct default time off type
Previously the default time off type computed when pressing the deduct
extra hours button would not always be valid, this commits aims to
change that behaviour.

The form would also not recognize the fact that we are in a overtime
deductible context when the time off type was not bound to a company.

Task ID: 2607436
2021-08-23 08:09:47 +00:00
William Braeckman 2e17db2f51 [FIX] hr_attendance: fix necessary fields not present
`attendance_state`, `hours_today` and `last_attendnace_id` are required
to open up the attendance app, but were not available to the public user
since commit b429fce0e6

Task ID: 2607436
2021-08-23 08:09:46 +00:00
William Braeckman 06cdd9a92f [FIX] hr_attendance: fix overtime settings checks
Fixes minor problems encountered while doing task : 2607436.
A traceback when disabling the setting and the checks weren't disabled
if the option was completely disabled.

Task ID: 2607436
2021-07-27 08:23:03 +00:00
William Braeckman 1ac39f6ef8 [FIX] hr_holidays_attendance: fix deduct extra hours not showing
Fixes the deduct extra hours option not showing in time off type form
views if no company is linked, it will now use the current company to
fetch the setting if no company is linked.

Task ID: 2607436
2021-07-27 08:22:48 +00:00
William Braeckman e4a4d498ef [FIX] hr_holidays_attendance: fix archived time off
When installing the `hr_holidays_attendance` module without demo data,
and having the count extra hours options enabled, the extra hours time
off type would remain archived instead of being enabled.
This commit fixes that behaviour and will now start in sync with the
company option(s).

Closes odoo/odoo#74241

Task ID: 2607436
2021-07-26 12:43:50 +00:00
William Braeckman 25f8554426 [IMP] project: add project stages
Adds new optional stages for the project.project model.

Previously projects would stay dormant when they were finished, we can
now define stages for those projects to determine where a stage is in
it's lifecycle.

Also adds some small changes to the project itself, such as adding tags.

Closes odoo/odoo#73648

Task ID: 2581575

Related: odoo/upgrade#2646
Signed-off-by: LTU-Odoo <IT-Ideas@users.noreply.github.com>
2021-08-23 07:45:56 +00:00
Leonardo Pavan Rocha 7e5b14c40f [IMP] sign: signature wizard behavior improvements
Improves overall signature wizard usage. Signature will adjust its size to best
fit the canvas, but maintaining its ratio.

task-2596079

closes odoo/odoo#73493

Related: odoo/enterprise#19577
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2021-08-16 12:49:53 +00:00