Commit Graph
131210 Commits
Author SHA1 Message Date
Nans Lefebvre 4ef3a14ea3 [FIX] account_facturx: cleanup attachment management
Since 5cf9d55bbc, attachments are always records.
Before, they could also be named tuples, so helpers were needed.
Since they are now useless, we can remove them to clean up things.

closes odoo/odoo#38414

X-original-commit: 63a937a954c310af88cec214d683f61c64263407
Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
2019-10-10 14:28:09 +00:00
Nans Lefebvre 66a2ca0591 [FIX] account_facturx: process pdf with .PDF extensions
In fact, "not filename.endswith('.pdf')" does not
"Check if the attachment is a pdf".
Some pdf files have filenames with a pdf extension, but .PDF, .Pdf
work generally just as well, and it's also possible to live without a file
extension.
In any case, it doesn't prevent from crashes because of corrupted files,
or files that are not pdf files but have the extension.

opw 2075933

X-original-commit: 3f63447d8f25f6ff8a4d9951a74db069d41332f3
2019-10-10 14:28:09 +00:00
Nans Lefebvre 381fa5abdd [FIX] account_facturx: do not write non-existing fields
If a field does not exist, writing it creates a warning in the logs.
This would for example prevent a valid test to pass.
This is needed because extract_state is a field from account_invoice_extract,
which is not a dependency of account_facturx.

X-original-commit: bb03b05df39097a954388ba6b00c025989351f16
2019-10-10 14:28:08 +00:00
Victor Feyens 1ef89f0928 [FIX] point_of_sale: use sudo instead of with_user(SUPERUSER_ID).
Since https://github.com/odoo/odoo/pull/34297, sudo() allows to keep
current user information when creating/modifying records.

There is no need anymore to use with_user(SUPERUSER_ID) to have sudo rights.

This commit ensures the user information is kept when creating pos sessions,
instead of having OdooBot as create_user.

closes odoo/odoo#38441

X-original-commit: aff1dc1ea68c345fb2632f9666dc298f685b8748
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2019-10-10 19:00:54 +00:00
Victor Feyens 75f2d8444e [FIX] mail: fix mailing wizard when partners and template specified
if partner_ids and template_id are set, a traceback happens.

Indeed, some mail fields are not taken from the res_ids when partner_ids
is set.

When trying to update the values with the one from the template, the
existing values are popped, which raised an error as those keys weren't
set.

closes odoo/odoo#38434

X-original-commit: c8ad614718674b55e9af5edd062ded958136e7ac
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2019-10-10 16:39:09 +00:00
fw-bot 04ada1ddae [FIX] l10n_mx: Transition Tax Accounts must be reconcilable
This issue is relevant for MX Localization because Cash Basis is created
with the rate of the payment, and not with the rate of the invoice as is
done for odoo core.

closes odoo/odoo#38399

X-original-commit: 10bb81c837c0d88ac4ec396442bd86a654c78646
Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
2019-10-10 13:11:35 +00:00
jbm-odoo 6a2179fafc [IMP] web calendar: Keep width box while drag or resize
When there are many events at the same moment in a calendar,
events are thin and on mouse hover the event take all the width.

Before this commit, when we drag or we resize a event in calendar,
the event returns to the state thin.

After this commit, the width event stay width during resizing and
draging.

closes odoo/odoo#38384

X-original-commit: 405294602070590083a2b438f631615f72000292
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2019-10-10 11:58:07 +00:00
Goffin Simon f520ee8f7b [FIX] odoo: Import data with falsy many2one fields
Steps to reproduce:

- Export a partner with country set to False, using EXCELL
- Try to import it with the xls file

Bug:

It raised: "No matching record found for name 'False' in field 'Country' at row 2"

opw:2080376

closes odoo/odoo#38379

X-original-commit: 01caf1e44f653a8e9bf5edd583bc2421905d9464
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-10-10 11:28:09 +00:00
Nans Lefebvre d77a8de5f9 [FIX] account: round debit and credit of account move lines at creation
This fix is similar to 8020033; both are workarounds for the bug (limitation)
introduced by 9d87d15db6.
In this case, the currency_field is a related field, and these fields are only
computed after scalar values are written in database.
As a result, this value is not rounded at creation.

It is a problem since typically accounting reports are written directly in SQL,
and thus reuse the values directly.
Anyway even in the ORM the convert_to_cache optimised this away using the
assumption that 'the value should have been rounded in convert_to_column'.
It follows that in the report, errors can be accumulated
to the point where the report is not balanced.
This needs to be fixed in database by going through every existing line.

Of note: the limitation that was readily acknowledged has not been worked around
anywhere, in fact almost every single currency_field is a related one.
Also of note, commit afef71d6b should "Always round monetary values in database"
while it explicitly checked for the presence of the currency_field in the values
and while not introducing a mechanism to make sure it would always be in the
values.

opw 2066849

closes odoo/odoo#38376

X-original-commit: 937893379ba8c149c681b61a951ca507df798e6b
Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
2019-10-10 11:11:30 +00:00
Nicolas Martinelli 398592fb9d [FIX] sale: edit lead time
Allow the edition of Lead Time only when the SO is not confirmed yet
since the modification of the scheduled date on an existing picking is
not expected.

opw-2083070

closes odoo/odoo#38375

X-original-commit: ee8476c8d57c06c724a9777494a86a88c623bd2c
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-10-10 11:11:06 +00:00
Romain Derie 9bbf57f915 [REM] web: remove unused controller /apps/<app>
This controller never really worked in the last 3 versions.
It was fixed in 11.3 with e9350993ca but broken with refactoring in 12.0 at a
higher level with 19eacf7d23.

It was even worse in 13.0 as it was leading to a traceback: `view_type` field
got removed with 3cd7ed07a2 but this controller was still reading that
field.

closes odoo/odoo#38355

X-original-commit: a5c4e262449fef03d05d5250e4523832db5fbf00
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-10-10 08:56:22 +00:00
fja-odoo bdb08d0bcc [FIX] website_sale: fix list view variant JS error
Part of https://github.com/odoo/odoo/pull/37135
task-2070507

closes odoo/odoo#38349

X-original-commit: a273a53dd7915415f03f04a0072d1c23651da9d2
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2019-10-10 08:14:04 +00:00
fja-odoo b8c9dbcd5e [FIX] website_sale: prevent selecting itself as an alternative product
Part of https://github.com/odoo/odoo/pull/37135
task-2070507

X-original-commit: b289170f6c709b6869c034ba349b1d6ff4ab1dda
2019-10-10 08:14:04 +00:00
fja-odoo 2f0832a611 [FIX] website_sale: fix found count in product
The product count was not returned in the product page thus the search
count feature that you can enable in the customize was broken.
Now we reset the search in the product page.

Part of https://github.com/odoo/odoo/pull/37135
task-2070507

X-original-commit: db5447f8cae4c7976fca8d751e2494cba73d2d5f
2019-10-10 08:14:04 +00:00
Martin Trigaux 536b0b1523 [IMP] payment: uniform translatable messages
Avoid trailing space:
In translation content, these tends to be skipped during translation,
making the message inconsistent. There is already a translation for
the term without the space so can reuse it.

Merge "setup"
Use the same writing to avoid having two similar messages

Remove unnecessary comma

Merge PayPal and Paypal

Courtesy of Primesh on Transifex

closes odoo/odoo#38348

X-original-commit: c1fb136cc684eba0cdeec302f27268ccda7fa5d2
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-10-10 08:10:13 +00:00
Martin Trigaux dcc737bd08 [FIX] account: add missing space
Courtesy of primes2h on Transifex

X-original-commit: 0e5e8a9f6d6eb111392237b1bf860b060a5889fc
2019-10-10 08:10:13 +00:00
Juan Jose Scarafia a3a5625c6a [IMP] l10n_latam_invoice_document: refund sequence on journals
On l10n_latam_invoice_document, if a sales/purchase journal use documents, then the journal sequences are not used, with this improvement the user don't see fields that are no needed (Credit Notes Next Number) and also it avoids the creation of the refunds sequences that is not going to be used

closes odoo/odoo#38335

X-original-commit: 1b647b8ead1fc70c18223914c96619c7f9a21b6e
Signed-off-by: Josse Colpaert <jco@openerp.com>
2019-10-10 06:34:31 +00:00
Victor Feyens 20c48953f8 [FIX] snailmail_account: send multiple invoices
* Ensure compute always sets partner_id.
* Don't show "to" when partner_id is not set

closes odoo/odoo#38334

X-original-commit: 7e122140b13fce5cf466376fe9fcb631e4b6bd75
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2019-10-10 06:34:13 +00:00
Christophe Simonis 0f6d2a42ca [FIX] account: remove duplicated record definition
closes odoo/odoo#38333

X-original-commit: aab017f1489b8c966b9de1f8c900f7cb9eab0656
Signed-off-by: Christophe Simonis <chs@odoo.com>
2019-10-10 06:33:54 +00:00
Raphael ColletandSébastien Theys 8218642541 [FIX] website_theme_install: theme installation
Group the upgrade of upstream dependencies with the installation of a
new theme into a single install/upgrade operation.  This fixes cache
misses occurring when accessing the state of a module after having
upgraded other modules.

closes odoo/odoo#38331

X-original-commit: 03b796b9e92e6eeeee877beaea133bdb6de0c6a3
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Co-authored-by: Sébastien Theys <seb@odoo.com>
2019-10-10 06:33:16 +00:00
lejeune quentin 5d7e0b3735 [IMP] hw_drivers: Change version of IoT Box
We update the version of the build for IoT Box

closes odoo/odoo#38328

X-original-commit: be464a3759a4fe395334a1b26b90f7395e031d1a
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
2019-10-10 06:31:41 +00:00
lejeune quentin 59173b6569 [FIX] hw_drivers: Fix for Customer display
When a box was unable to reach the Odoo server the customer display
show a white screen.

With this fix we show the default POS Client display with IP address

closes odoo/odoo#38315

X-original-commit: 290c2be72cd8305fbf8093d782604e8b0f4a80c4
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
2019-10-10 06:26:38 +00:00
Jigar Patel 7704a56df1 [IMP] doc: update documentation of map view
For simplicity marker popup fields are declared as a direct child of the root
element.
consistency in the name of marker popup fields
added new 'hide_name' and 'hide_address' option in the calendar view

task-2009017

closes odoo/odoo#37433

Signed-off-by: VincentSchippefilt <VincentSchippefilt@users.noreply.github.com>
2019-10-10 12:03:34 +00:00
Sébastien Theys 9fc948f963 [FIX] base: fix company logo placeholder
- fix condition to correctly display company logo placeholder
- use avatar_grey on the "Contacts & Addresses" as white on white is not visible
- use `cover` to avoid excessive zoom on mobile

closes #38001

closes odoo/odoo#38319

X-original-commit: 1210cb70bec421936c9d332b1347797bc83845cf
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2019-10-10 06:28:03 +00:00
Christophe Simonis 4ea8f780ff [FIX] lunch: don't update or recreate initial data
closes odoo/odoo#38317

X-original-commit: b50bccb28973bf939ac34c6aabe69bc3d3da8734
Signed-off-by: Christophe Simonis <chs@odoo.com>
2019-10-10 06:27:29 +00:00
Christophe Simonis 1662d0cfe6 [FIX] lunch: force empty context in action
X-original-commit: 46a3ac1985346ad8f9b23ace73d825d1120830d1
2019-10-10 06:27:28 +00:00
fw-bot 91e4b00b8b [FIX] base_sparse_field,mail: handle None _instanciate_attrs override
The parent was expected to return a dict, but it can also return None in some
cases. When that happens, the overrides were crashing because it is impossible
to assign a key/val to None.

Note that using `if` conditions like this also prevents from writing on the dict
if it is existing but empty, but due to the definition of the parent, if there
is a dict, it will not be empty.

closes odoo/odoo#38316

X-original-commit: 3525fad3b1729286d139b19a4a92f1821d94ad88
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2019-10-10 06:27:09 +00:00
qsm-odoo b0fc1cd455 [FIX] website: make background videos in mega menus work
When a background video was used in a mega menu, it was only working in
edit mode. Indeed, the background video size is computed on page load
(and on window resize) but as the video is inside a hidden dropdown
menu in this case, the size cannot be properly computed.

This commit fixes the issue by recomputing the video size on dropdown
menu opening.

task-2080590

closes odoo/odoo#38314

X-original-commit: 66ec1c19b63fe26e559ed2d8d7359df974ade789
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2019-10-10 06:26:21 +00:00
Christophe Simonis 7af8534d07 [FIX] mail: force empty value on record
closes odoo/odoo#38327

X-original-commit: da9e377ba480a034c5d740a6bcb4325f70e7f9e8
Signed-off-by: Christophe Simonis <chs@odoo.com>
2019-10-10 06:31:21 +00:00
Antoine Vandevenne (anv) c9a54e1d05 [FIX] sale: fix down payments being deducted when they should not
Prior to this commit, un-checking 'Deduct down payments' on the invoice wizard had no effect: down payments were still deducted from the final (regular) invoice.

task-2081012

closes odoo/odoo#38326

X-original-commit: 4ef49cafec13e614c788354bc35fd232abab296b
Signed-off-by: Antoine Vandevenne (anv) <AntoineVDV@users.noreply.github.com>
2019-10-10 06:31:02 +00:00
Andrea Ullianaandqsm-odoo af847832e8 [FIX] website, *: force website UI dropdown style
* web_editor

The purpose is to force our dropdown style in our UI so that themes do
not break it anymore (same way all the other elements are forced (cards,
headings, etc)).

task-2059538

closes odoo/odoo#38321

X-original-commit: 4ef0eac5ba134f462f72f3e9c60e5c9fc95f3a8c
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Co-authored-by: qsm-odoo <qsm@odoo.com>
2019-10-10 06:28:50 +00:00
Andrea Grazioso (agr-odoo) a128fb5b03 [FIX] project: can delete archived project with tasks
Create a Project with tasks, archive it, delete it.

The project is deleted, but this should not happen:
tasks are present, but they are hidden because when the project is
archived all its tasks are archived too (active flag is set to false).
On project unlinking only active tasks are checked, thus allowing the
deletion. Using a context flag to avoid filtering the non active tasks.

opw-2080515

closes odoo/odoo#38320

X-original-commit: 71a79f26e6319c6987397950c7f9df6c61dfb0d9
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-10-10 06:28:20 +00:00
Julien Castiaux 421d76b04c [FIX] sale_stock: print canceled invoice
Install both Sale Management and Invoicing. Create an invoice without
any line, save it and cancel the entry. Print the canceled invoice,
traceback.

The python's `max` function requires an non-empty iterable to retrieve
the maximum element. For line less invoices, the value must be None.

closes #38175

closes odoo/odoo#38336

X-original-commit: d0402f9c42001f7e33256e30f58ac27e8738ac57
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-10-10 06:51:55 +00:00
Victor Feyens 0fac83a5da [FIX] stock: product replenishment
The replenish action shouldn't be accessible through the action dropdown
(it makes no sense to replenish consumables or services).
It is already accessible on the product/template form when applicable.

Closes https://github.com/odoo/odoo/issues/38238

closes odoo/odoo#38332

X-original-commit: 52d7008da888f1a84e38c6b110450062ac3bceaa
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2019-10-10 06:33:35 +00:00
Nicolas Martinelli ece4335e46 [FIX] l10n_ch: print ISR
On a customer invoice, click on 'Print ISR' => Error

This is because of computed fields not set.

opw-2081567

closes odoo/odoo#38325

X-original-commit: ed6dd79703bd1e02a8c3d9f13d12e2baa157ec36
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-10-10 06:30:44 +00:00
Nans Lefebvre b1a3e6bd04 [FIX] ir_http: return a 404 if binary content cannot be decoded
Commit 5a9e1af64a has the unfortunate side-effect of crashing early
if for any reason the content cannot be decoded.
However, simply ignoring that the content cannot be decoded is no better idea:
some functions pipe the result to decoding functions that crash the same.
The resulting traceback pollutes the log with uninformative message such as:
binascii.Error: Incorrect padding 5 0.002 0.016

In case the content cannot be decoded (data corruption, or simply missing file)
we return a clean 404 instead, which is morally almost equivalent,
and is clean even from functions that depend on binary_content.

opw 2072586

closes odoo/odoo#38318

X-original-commit: a68f7e6e72dbfd44e14c2f293fa6dc6aa402308a
Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
2019-10-10 06:27:45 +00:00
Victor Feyens 012343ef13 [FIX] stock: do not create products from replenishment wizard.
closes odoo/odoo#38296

X-original-commit: 3b4a0e817b0b6656f0545003f003d4167cd3e2ec
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2019-10-09 14:30:55 +00:00
fw-bot 126788ec14 [FIX] web: list many2one quick-create
Allows the quick create on m2o in list views

Before this commit, when entering a new value in a many2one in a list and
exiting the cell through a click, the quick-create modal appeared for the
duration of the mousedown.

Now, the modal remains and allow to edit the new many2one value

Task 2076380

closes odoo/odoo#38289

X-original-commit: c00f84eb0a176b8d23927080078eb02dc2e5d806
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-10-09 13:42:59 +00:00
Naglis Jonaitis 1a895eab1e [FIX] l10n_it_edi: add missing module dependency
`l10n_it_edi` inherits `fetchmail.server` model and extends its form view,
however it does not have `fetchmail` in its transitive dependencies.

closes odoo/odoo#35744

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-08-15 20:45:02 +00:00
RomainLibert c0f6e50fdd [FIX] lunch: avoid rewriting ids
The wrong order was used in the row_number call, which lead to ids
changing when writing on `is_favorite`

closes odoo/odoo#38278

X-original-commit: 28ebe6d4849a692d234b4c256332525aa71132e5
Signed-off-by: Romain Libert (rli) <rli@odoo.com>
2019-10-09 12:20:08 +00:00
RomainLibert 1abd0f6a63 [FIX] lunch: rename order kanban actions
X-original-commit: fcf03eaf01bbc76cfc4ea21e573e31187ba9e2b6
2019-10-09 12:20:08 +00:00
Victor Feyens cfe06f6d68 [FIX] web_editor: don't crash if anchorNode is Reserved.
When on Firefox, with sale_product_matrix and sale_quotation_builder installed,
clicking anywhere on the matrix (after opening it) raises a traceback.

It is due to the fact that isBody tries to access anchorNode.nodeName, which
is unexpectedly unaccessible as anchorNode is {Reserved}.

Due to the absence of clear documentation of the possible reasons of this problem,
it was decided to reuse the existing fallback on 'return null', which avoids the
traceback.

closes odoo/odoo#38277

X-original-commit: 70c484e72bffc9ab759df3c376ad9157acec3965
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2019-10-09 12:19:46 +00:00
Lucas Perais (lpe) badd0c0bb2 [FIX] crm: lead to opportunity no link partner
Have a lead with a partner on it, convert it to opportunity
in the conversion wizard, tick "don't link to customer"

Before this commit, the opportunity has been linked to the
lead's partner

After this commit, the opportunity is not linked to any partner

OPW 2077692

closes odoo/odoo#38262

X-original-commit: f1d270e441320e16bf38261f64a473a5296d6719
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-10-09 10:27:06 +00:00
Mathieu Duckerts-Antoine 64293fbdb0 [FIX] web: prevent browsers inputs autofill
We don't want the browser to fill inputs in the backend.
Most of the time this is useless but sometimes it is
even problematic. For example, focusing an input in a
modal can trigger autofill not only in the modal but
also in the whole page. If there is an input outside
the modal and it is recognized by the browser as a
candidate to fill, bad things occur.

For that reason, we set the attribute autocomplete to
"none" by default for input elements.
Note that "off" does not work all the time because
the browsers sometimes decide to ignore it.

Task ID: 2076730

closes odoo/odoo#38039

Signed-off-by: VincentSchippefilt <VincentSchippefilt@users.noreply.github.com>
2019-10-07 08:40:53 +00:00
Luis González 2b8f5dce06 [IMP] base: Forbid spaces in external IDs
This introduces a new constraint to the `ir.model.data` model, to
disallow external IDs containing spaces. Those cases may cause issues
and should be avoided.

For more information about why an external ID containing spaces is a bad
idea, see:
- https://github.com/odoo/odoo/commit/3c568aec0b46
- https://github.com/odoo/odoo/issues/25408

closes odoo/odoo#38139

Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2019-10-08 16:28:23 +00:00
Martin Trigaux dbeba8ea23 [IMP] packages: match PIL to debian version
https://packages.debian.org/buster/python-pil
As of today, python-pillow is at 5.4 in the latest debian release

This allows to deprecate the older versions progessively

Newer versions have new features like the exif_transpose method in 6.0
as discussed at #37448

closes odoo/odoo#38245

X-original-commit: 4ad7a99df0a25122cf6872f880e07b6148c82ea8
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-10-09 07:33:24 +00:00
Christophe Simonis 97842368ef [FIX] http_routing: avoid using deprecated methods
Oversight of previous forward-port.
2019-10-09 02:39:09 +02:00
Christophe Simonis d74b451805 [MERGE] forward port branch 13.0 up to f4105eb9c7 2019-10-09 02:08:17 +02:00
Romain Derie f4105eb9c7 [FIX] website: prevent endless loop if homepage is unpublished..
.. and first menu is a container with # as url.

There is a particular case where the / url would loop endlessly.

1. Unpublished the homepage /
2. Edit the menu so the first menu is a container. There is a hint telling you
   a container menu should have its URL set to `#` as a good practice.
3. This will lead to endless loop for public user as the code will check if the
   homepage can be accessed. Since it is unpublished, it will then fallback on
   the first menu which is not '/' and redirect to it.
   Sadly, the code was not expecting `#` to be handled as `/`.

opw-2081969

closes odoo/odoo#38234

X-original-commit: cff11bdb66f1dda41cf333a28b67df7ef20a3de9
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
2019-10-08 16:54:07 +00:00
Romain Derie f53e751433 [FIX] website_sale_digital: find only move line related to products
Before this commit and since beaa30a3d1 it was not possible to download a
digital product.

The `search_read()` would return move line which does not have any `product_id`
which will later crash when accessing `product_id` in the for loop.

Search_read result would be:
[{'id': 20, 'product_id': (38, 'eBook: Office Renovation for Dummies')},
 {'id': 21, 'product_id': False},
 {'id': 22, 'product_id': False},
 {'id': 23, 'product_id': False}]

task-2063307

closes odoo/odoo#38225

X-original-commit: b045be2814cee96c9723f0c9d07462e07cab4773
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-10-08 15:08:04 +00:00