Steps to reproduce the bug:
- Create new project P with "Billable" unchecked
- Create a new task T in P and log hours on the timesheet TS
- Go to Timesheets > All Timesheets and filter for "Billable"
Bug:
TS was displayed even if P was not billable
opw:2394624
closesodoo/odoo#63348
X-original-commit: 78491ae8f6b7978444bf789d9ecdd71201afdebe
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
Co-authored-by: IT-Ideas <ltu@odoo.com>
Field `partner_bank_id` should be readonly like other fields when Payment is not in `Draft` state.
closesodoo/odoo#63254
X-original-commit: 366bf51bb07aac6edca668635f49316b21bbb7be
Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
Field's help doesn't match with field's Usage.
closesodoo/odoo#63249
X-original-commit: a48ba4672e90a7e9f3143de5ede0099a8e28d4cd
Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
Issue: display the footer tag from snippet in the modal and replace the
save and cancel button.
Steps to see: Email marketing -> mailing lists -> option icon of a
kanban -> Edit -> Website popups -> add a line
X-original-commit: 073699749401adadeec029de6534b4d205e41067
PURPOSE
Required fields are annoying, notably when dealing with tests or xml-based data
to create in concurrent modules. For example ModuleA adds a required field on
Model. ModuleB that does not depend on ModuleA tries to create a data of
Model. Currently it crashes as field is required but default is not provided if
ModuleA is not loaded in registry.
SPECIFICATIONS
Field activity_user_type on ir.actions.server model in mail is currently
required. This field is however not really required as its use is limited
to actions linked to activities. Remove the hard required and put it only
in views.
If no value is given due to some bad configuration no responsible will be
set.
Followup of odoo/odoo@7309981426
LINKS
Task ID-2367655
closesodoo/odoo#61769
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
The balance/debit/credit compute fields need the user to be part of 'account.group_account_readonly' in order to be calculated. This will avoid having an access error when a user who is not in 'account.group_account_readonly' accesses a view of 'account.analytic.account'.
We need it for the task-2195019. This task adds the possibility to display a m2o('account.analytic.account') field that can access the tree view with the 'Search More...' button.
Task-2195019
closesodoo/odoo#56554
Related: odoo/upgrade#1810
Related: odoo/enterprise#12680
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
model_field: name of the FieldMany2One('ir.model') containing the model of the records that can be selected. If its value is different from False, the select will not be displayed.
The purpose of adding this option is to allow the creation of a reference field having its model defined in another field (Many2One).
Task-2195019
Step to reproduce:
1. Install module "sale_project"
2. In Project > Configuration > Settings, turn on "Recurring Tasks"
3. Create a recurrent task
4. Set the "next_recurrence_date" for the recurrence ahead of today
5. Run scheduled action " Project: Create Recurring Tasks"
=> error: 'project.task' object has no attribute 'is_fsm'
Reason:
"is_fsm" is defined in the module "industry_fsm" and the module "sale_project" does not depend on that module.
opw-2412370
closesodoo/odoo#63325
X-original-commit: 36c3fb0e1d16f5cce21e3edcb01ee8a39a35caa8
Related: odoo/enterprise#15288
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
To be able to be saved, nodes have to provide information on where to
save them. This is done through the use of data attributes. Nodes that
do not have these data attributes or are not contained within nodes that
do, should therefore not be editable.
Recent changes in Jabberwock ensure that the nodes with these data
attributes are saved either as `OdooStructureNode` or as `OdooFieldNode`
so we can simply check for these.
closesodoo/odoo#63311
X-original-commit: adf778d4bb499c6beb6b54d8093ced4f81d2ac57
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
Consider a model M with a one2many field with comodel L, such that
deleting records in M cascade-deletes records in L. Import a bunch of
records in M with one2many lines having specific external ids. Delete
the imported records: the database cascade-deletes the corresponding
lines, but the lines' external ids are not deleted. Now re-import the
same records: this crashes, because the import process finds the lines'
external ids and tries to update the deleted lines!
The fix consists in checking that an external id's record actually
exists. The existence check was removed for performance reasons by
https://github.com/odoo/odoo/pull/26496. We reintroduce it by resolving
the external id with a join on the model's name, which checks the
record's existence faster than an extra query. This patch allows to
re-create the imported records' lines.
Another patch is necessary to actually update the external ids that
refer to deleted records, otherwise they remain dangling, and importing
the same records again duplicates the lines, because their external ids
do not match any existing record.
OPW 2409649
closesodoo/odoo#63318
X-original-commit: 0322febbea2cfd2d2fd7aedc42ef03632b17c967
Related: odoo/enterprise#15285
Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
Some characters are filtered out for an unknown reason, leading to
strange behavior when the font supports those characters.
closesodoo/odoo#61199closesodoo/odoo#63290
X-original-commit: 429febb30bb3f5442cf310e836a5e0e6c4bc3e65
Signed-off-by: Olivier Dony (odo) <odo@openerp.com>
Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
Some pictures are downloaded from odoo cdn, this is seen as a privacy
breach by Debian Lintian tests [1]
1: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=973605
X-original-commit: 5e7418fb52e83656963c6f0c2618e226bb95ef69
Some ttf fonts used to sign are shipped does not come with a clear
licensing. Also some of them does not have accented characters.
With this commit, they are replaced with better ones and their
accompanying Open Font License.
Also, before this commit, any file in the font directory was read to be
rendered by the sign widget. With this commit, only `ttf`, `otf` and
'woff[2]' files are read, this allows to store the license file
alongside with the font.
X-original-commit: f4a9aec57b871806fb225bf91a941edb0fde5cbe
TheSecretRegular font license is not clear and moreover, does not
support accented characters.
With this commit, the font is replaced by one under the SIL Open Font
License.
X-original-commit: c455627fe0bf473c437e43831e88e907fc462845
Before this commit, the css of the active items considered the items
to always be <a> elements. But a PR, coming after the one who
introduced this css code, changed the items generation system and now
the items are no longer <a> elements but <div> elements.
This caused a flickering effect when hovering over the last item in
the dropdown.
Part of #62971
task-2312878
closesodoo/odoo#63112
X-original-commit: b046fb31c34fd61086a492b2b8abf59a4e205dad
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
Before this commit, website_url_chosen was triggered when the dropdown
of the input closed instead of when an item was selected in the
list. This caused the following issue: you lost focus in the input
every time the list closed while typing.
After this commit, website_url_chosen is only triggered when an item
is selected in the results list of a urlpicker input.
Part of #62971
task-2312878
X-original-commit: a4cf182211de21970d5261713c5cbae3e609cfb1
Currently at odoo we use expense product terminology just because it's
set up using product. Inside the expense app, there is no reason of
not using category instead of product
So in this commit, rename the product term into category for all expense
views.
closesodoo/odoo#62661
Taskid: 2391433
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
If we're to change the invoice policy of a product we'd provoke a
chained computation of every sale line and sale order containing such
product. This change goes along with the policy of applying such changes
only to future orders, as stated here: https://github.com/odoo/odoo/pull/61135closesodoo/odoo#64641
X-original-commit: 806da3d67a5cf9919c6c0f5042b3e00c69825faa
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
This use case can happen in case an invoice is imported without recreating all the taxes, only keeping the VAT information.
closesodoo/odoo#64638
X-original-commit: 7ad61842c703ceb031b2f917ad8bbc26d7d0b780
Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
The sign of tax tags sometimes could get inverted explicitly. It typically happened for misc operations, so :
- manual entries
- CABA entries
- writeoffs created from the reconciliation widget
We had to do things this way in stable to fix those use cases, but it's not ideal, as the tags shown to the user were inverted, so it was a bit confusing, as one would have expected to see the exact same tags as on tax configuration.
We fix that by using a boolean field on account.move.line telling whether or not the sign must be inverted. This allows keeping the same tags as in the tax config, and simplifies the computation of the tax report's multiplicator, making the overall model more intuitive for both user and developper.
Task 2363287
closes#62536closesodoo/odoo#64627
Related: odoo/enterprise#15031
Related: odoo/upgrade#1983
X-original-commit: 4e8581b6846ef8ee4601c994b0d586734a4fe117
Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
Previously, in batch payments wizard, available payment methods where
always set to wizard.journal_id.outbound_payment_method_ids when
the batch length was > 1.
Event when the payment type was inbound and not outbound.
closesodoo/odoo#64624
Task: 2439250
X-original-commit: 603dbbe7a784c23b87682655963e82a42137d84c
Related: odoo/enterprise#15791
Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
Most of the modules have a square icon but some don't. For instance, the
flags of l10n modules, or other third party modules.
Flags have very specific proportions, and we don't want them to be
resized when rendered.
While we could hardcode a square icon for each problematic icon, it
would be more manipulations, and the flags are already in the repo
without the right proportions; we don't want to duplicate binaries.
The many2many `module_ids` kanban field of the uninstall wizard has also
been updated to look more like the generic kanban view for the modules.
The classes in the kanban view of `fleet_vehicle_model_view_form` seem
to have been copy-pasted and are useless. It has been removed to reduce
future possible side effects of changing css.
closesodoo/odoo#56421
Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
When a tracked boolean value is changed, old and new values are displaye in a chatter message.
Boolean values were not captialised ("true" & "false"). They are now ("True" & "False").
And they now also can be translated.
- keep track of to_check changes in chatter
- add "set as checked" button
- make the "to_check" field optional in list view
- vendor bill / customer invoice : remove "entry" from "cancel entry" button.
Task: 2389849
Before this commit, messages in the chatter that contained non wrapping
content could indefinitely extend the width of the chatter.
opw-2425351
closesodoo/odoo#64608
X-original-commit: f5e3bbd4e9b8f1911ee10efe5c576fe84461c8b4
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
If the journal entry is not posted, the 'Cut-off' button must not be visible on invoice lines.
closesodoo/odoo#64595
X-original-commit: 28b748a559e1ffb5fb7c3631bf77adba121b2ebf
Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
Create a new cron job with a server action that sleeps 10 seconds, while
the cron is executing, triggers the cron. The trigger fails because the
implicit select performed by the foreign key on the ir_cron conflicts
with the lock acquired to execute the job.
When one access a record that references another table record with a
foreign key, a `KEY SHARE` lock try to acquire the referenced record in
order to prevent other transactions from removing it. The only lock that
conflicts with `KEY SHARE` is `UPDATE`.
When a job is acquired for execution, an `UPDATE` lock type was set on
the row. This ensure no other worker will select the same job but it
also prevent triggering the job as the trigger mechanism involve
inserting rows in the `ir_cron_trigger` table which have a foreign key
to the `ir_cron` table.
The `UPDATE` row lock was replaced by `NO KEY UPDATE` row lock. Just
like `UPDATE` the new row lock conflicts with all other locks BUT the
`KEY SHARE` lock that is acquired by foreign keys. The new lock type
still prevent multiple workers from acquiring the same cron
simultaneously but allow concurrent insertion of new triggers.
closesodoo/odoo#64424
Task: 2368911
Signed-off-by: Julien Castiaux <Julien00859@users.noreply.github.com>
PURPOSE
Remove complex or technical code adding few value.
RATIONALE
phone.validation.mixin is used in two models: crm.lead and res.partner. It only
add a phone_format method used in onchange. We can inline this code in those
two models and remove the whole mixin itself. It lessens inherit and class
complexity.
SPECIFICATIONS
Remove phone.validation.mixin. Inline code in crm.lead (CRM application)
and res.partner (phone validation module). Make phone_format private as
it is now some internal tool method on those two models.
Everything should behave as before this commit. No functional change is
intended.
LINKS
Task ID-2416789
COM PR odoo/odoo#63333
ENT PR odoo/enterprise#15296
UPG PR odoo/upgrade#2025
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
This reverts commit 9d4b22fbf6469ada08c28bc2afcd5b5492eac52a.
We don't want to support this use case, as this kind of configuration change in the middle of creating an invoice is a very narrow corner case that can be avoided easily. Supporting it for tax exigibility would mean we also need to support it for repartition lines, amounts, affect base, ... This would be a lot of overhead for nothing.
closesodoo/odoo#64580
X-original-commit: ec414a5bb785375d13ea324f345c1eaf5747ddfa
Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
Before this commit, once a field has the 'forecast_widget', the user is
redirect to the forecast report also when they clicks on the field.
How to reproduce:
- Creates/Opens a delivery;
- In Operations list, clicks on the reserved qty. field of one of the
line -> It opens the forecast report.
The wanted behaviour is the user is redirected to the report only if
they clicks on the widget's button, not on the field itself.
task-2415918
closesodoo/odoo#64575
X-original-commit: 22a2845909c6cf96536aa4e664fca5d1ff3fb589
Signed-off-by: William Henrotin <Whenrow@users.noreply.github.com>
Signed-off-by: Steve Van Essche <svs-odoo@users.noreply.github.com>
This reverts commit 1c7f135708ccca0ad2d54ec41964d5083f42a01b.
The placement of chatter in `project.project` is intentional:
it's in form sheet bg to prevent it taking 1/3rd of screen width
in XL screen configuration on the right side.
Reason to not want it is because the chatter has no conversation,
and chatter with no conversation is basically just follower widget
and attachment, both of which take up a very small area of screen.
By being aside, they would take about 1/3rd of screen with mostly
blank content.
Task-2410310
closesodoo/odoo#64579
X-original-commit: 2236e228913753eaee8b0d6be47e617bc779bdf3
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Impacted versions :
- 14.0 and higher
Steps to reproduce :
```
1. generate an odoo.exceptions.RedirectWarning
2. click on the primary button
```
Current behavior :
```
1. the action (argument of the RedirectWarning) is properly executed
2. the WarningDialog is not closed
```
Expected behavior :
```
1. the action should still be properly executed
2. the WarningDialog should be closed
```
Tests :
Added a test to ensure this behavior will not be overwritten in the future.
The test is for the CrashManager service, and evaluates the following sequence :
```
Entry: CrashManager receives a odoo.exceptions.RedirectWarning (code 200) via rpc_error
Asserts:
- The RedirectWarning modal (WarningDialog) should be opened
* Upon clicking on the primary button :
- The modal should be closed
- The action passed as an argument of the odoo.exceptions.RedirectWarning should be executed
```
Origin :
the incorrect behavior was introduced with :
https://github.com/odoo/odoo/commit/b3d9647695065ea582e4a6b0603f3ebf9fde6976
Task ID: 2430100
closesodoo/odoo#64553
X-original-commit: 892598cb0335926ece12789d81673f5b6370a1fd
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>