PURPOSE
This refactoring commit removes the crm.partner.binding mixin. Indeed it
defines a mixin for unnecessary fields, generally either redefined in
inheriting models, either not used at all. It also holds an utility method
we moved directly on crm.lead model.
SPECIFICATIONS
Code move
* move _find_matching_partner to crm.lead model;
* move action field into inheriting models, except crm.lead.convert2ticket
that does not use it;
* move partner_id to inheriting models;
* remove crm.partner.binding model and inheritance;
Improve behavior
* correctly store lead and partner many2one fields on all inheriting
models. It allows to support a default_lead_id instead of always
relying on active_model / active_id, making the wizards more generic;
* update default_get accordingly in various inheriting models in order to
correctly compute lead / partner values;
LINKS
Part of Task ID 2056759 (remove crm.partner.binding mixin)
Part of Task ID 2088565 (crm onchange -> compute)
Community PR odoo/odoo#44970
Enterprise PR odoo/enterprise#8307
Upgrade PR odoo/upgrade#750
Related: odoo/enterprise#8307
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Co-authored-by: David Beguin <dbe@odoo.com>
Co-authored-by: Thibault Delavallée <tde@odoo.com>
Hiding fields when they are void is not really helpful.
Spotted when working on task ID 2056759 (remove crm.partner.binding mixin)
Community PR odoo/odoo#44970
Enterprise PR odoo/enterprise#8307
Purpose of this commit is to clean mail and SMS composer calls in website_crm
and website_crm_sms by separating composer preparation (context, values) from
customer preparation (check valid data exists, creating partner).
Indeed most of message composer code is based on records having a partner_id
correctly set, unless some templates are used that dynamically creates the
partner. SMS composer is more tolerant and check for phone / mobile numbers to
use.
By the way we make the action name translatable, because why not.
LINKS
Spotted when working on task ID 2056759 (remove crm.partner.binding mixin)
Community PR odoo/odoo#44970
Enterprise PR odoo/enterprise#8307
Usecase to reproduce:
- Create a product MTO manufacture with a BoM
- Set produce delay as 1 day.
- Create a SO for the product and validate
The production order is created but with a duration of 1h.
It's due to commit 8944674d6d
It will use the moves finished date in order to determine the MO
finished date. However before this commit during _run_manufacture
the MO was created with a fix finished date and the move finished
date_expected was created with this date as date_expected.
Now the MO is created with the finished date, the inverse does
nothing since the finished moves do not exist yet.
In order to fix it, generate move_finished_ids use the product/company
manufacture delay. A first patch tried to rewrite date_planned_finished
after action_confirm. However it triggers the propagate date on
following moves.
closesodoo/odoo#44532
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
Usecase to reproduce:
- Create a product with 10 days manufacture lead time
- Create a procurement in order to fullfill a need the 01/15
The MO start date is the 01/05 that's the expected values
The MO finished date is the 01/05, 1 h later than the start date
It happens due to commit 92aeaa47ff
This commit modified the wrong start date in order to take the
procurement date - manufacturing lead time. However it also
modified the finished date to 'the start date + 1h'. That returns
the problem to the opposite direction. Now the finished moves have
a wrong planning.
Fix it by using the production + company lead days when it's set
instead of 1h.
opw-2181962
X-original-commit: 6a5ce8de91d3ab2cb7f73127a6ee1c11578ccef9
since it is now implemented by 020e2a5e85closesodoo/odoo#45309
X-original-commit: d8c916112aa943712bbb93f1aa1ac59da2aa9524
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
Some functions defined in this file use another function present in the
same file through "this" keyword even if it's not needed.
This cause problems when these function are required in another file
using object destructuring.
This commit fix this issue by calling the function only by its name.
closesodoo/odoo#45299
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Due to the infamous web_editor revert, summernote assets filesa are once
again created and stored in DB, but because they do not contain
'assets_' in their name, they would show up in the media dialog. This
commit fixes that by prefixing the created summernote assets file with
'assets_'
closesodoo/odoo#45298
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
The `unit_amount` is a `Float` field with `digits='Product Price'`.
Therefore, keep the number of digits of the field, not of the currency.
opw-2188646
closesodoo/odoo#45293
X-original-commit: 88f162ec5c87e50a3ba0f7a050ebf3778bc0c157
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Works correctly on virtual records during onchanges, notably. Since the
data was obtained from a read_group using the ids of self, virtual
records never could find any of their data.
closesodoo/odoo#45264
Signed-off-by: Damien Bouvy (dbo) <dbo@odoo.com>
Before this commit, the behavior of the phone widget was tested in web
as if it was always altered with module SMS
Giving wrong test results when sms module was not installed
After this commit, the separation is clearer, and the phone widget's
behavior is tested according to the modules it is altered by
closesodoo/odoo#45271
X-original-commit: 2e337516468797dd898c79c9669b5a90c83b56a7
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
Update demo data on leads to make more senses
with the utm fields, tags and the lead itself.
task-2189667
closesodoo/odoo#44832
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
The purpose is to allow the user to choose if he want to display or not
information about the campaign, the source and the medium. This field
are now available as optional field for the tree views of opportunity
and leads.
task-2189667
Purpose
=======
Improve the state creation flow.
Some users created states by mistake, we want to avoid this situation.
Specifications
==============
Do not allow to create country from the partner form view.
Disable the quick create of the state in the partner form view.
When we create a state from the partner form view, set by default the
country of the state to the country of the partner.
Task 2178289
closesodoo/odoo#44291
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Issue
- Install Time Off & Studio
- Set up your language to English with format date
to %d/%m/%y instead of %m/%d/%y
- Enable Kanban view in Time Off dashboard with Studio
- Compare Kanban and List view
The list view dates is correctly formatted but not
the kanban view dates
Cause
We use momentjs which doesn't take the user date format
in account, only the locale.
Solution
Use a field with datetime widget which handle this case.
OPW-2195584
closesodoo/odoo#45272
X-original-commit: 69b3578b3d00c8b6284c40f91ffb117a8bd3eec4
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
The t-if condition using "online_sync" couldn't be there...
"online_sync" condition must be present in
account_online_sync module and not account module.
closesodoo/odoo#45263
Related: odoo/enterprise#8404
Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
Delete the uom 'kg'(kilos, kilograms), open a product form view
Traceback will popup because the hardcoded xmlid cannot find the value
in the database since has been deleted. Adding a fallback fix the issue
opw-2194659
closesodoo/odoo#45265
X-original-commit: 62baf8ba12cdf4521c6d0d0fea61ff1aa2e3f4d8
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Steps to reproduce the bug:
- Let's consider two companies C1 and C2
- Let's consider a sales team ST in C1
- Let's consider that the partner of your current user is in ST
- Log your user in C2
- Go to CRM > Sales > My pipeline
- Create a lead
Bug:
An access error was raised.
opw:2191517
closesodoo/odoo#45234
X-original-commit: 42cdf368bdec41918b9f4b131b838cb1c76928b4
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
Improve the default configuration on CRM for predictive lead
in order to ease the onboarding.
Modify text and install crm_iap_lead(_enrich) automatically if
CRM and IAP are installed.
task-2131056
closesodoo/odoo#44262
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Makes debugging possible without having to run the db locally and
manually adding _loggers everywhere.
Parts of the error are logged already, leading to messages like:
...payment_authorize.models.payment: The transaction was unsuccessful
Unfortunately they don't show the reason. The entire response is
something like:
{'messages': {'message': [{'code': 'E00027',
'text': 'The transaction was unsuccessful.'}],
'resultCode': 'Error'},
'transactionResponse': {'SupplementalDataQualificationIndicator': 0,
'accountNumber': '',
'accountType': '',
'authCode': '',
'avsResultCode': 'P',
'cavvResultCode': '',
'cvvResultCode': '',
'errors': [{'errorCode': '5',
'errorText': 'A valid amount is '
'required.'}],
'refTransID': '',
'responseCode': '3',
'testRequest': '0',
'transHash': '',
'transHashSha2': '',
'transId': '0'}}
Since we log the full request above, let's also log the full response.
PS. this was present before but was lost with 26f3d8465d.
opw-2188889
closesodoo/odoo#45259
X-original-commit: d269bba3b9f4f4fa567a2a7084396bdf08422fa4
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Remove the domain that was limiting the reporting view. The goal
of this reporting view is to allow managers to check what all
salespersons are doing.
task-2192589
closesodoo/odoo#45239
X-original-commit: 4901fb037510cdabb7404f335872732797331b05
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
opw-2152644
Do not set the field writeoff_account_id as required if the
payment_difference is zero because there is no writeoff in that case and
the field is invisible.
closesodoo/odoo#45257
X-original-commit: b0939529de5cd4273e64cfe729f1b5f532bbd859
Signed-off-by: wan <william-andre@users.noreply.github.com>
- Activate Developer mode
- Go to Settings / Technical / Actions / User-defined Defaults
- Create the following:
Field: To Refund (update SO/PO) (stock.return.picking.line)
Default Value (JSON format): true
- Create a SO with a product invoiced based on delivered quantity
- Validate the SO, validate the picking
- Return the picking
The field 'To Refund (update SO/PO)' is is not, while it should be.
This is because we don't explicitly call the `default_get`, therefore
only rely on the default value of the field.
opw-2172513
closesodoo/odoo#45235
X-original-commit: 70d6f25b83f962d91243edaa0ff8e9a78b2e18ac
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
This factorization is needed for support purpose.
I.E.: This will allow to post an account move to balance
unbalanced journal entries.
Basically, it divides the function into sections
that were already present in comments.
closesodoo/odoo#45231
X-original-commit: 26e012015a6803af6c2a5480984f1c02e0244e83
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Issue
- Install CRM and at least 3 languages
- Deactivate one of them
- Go to CRM > Configuration > Activity Type
- Edit an activity type and try to edit translation
Traceback (Cannot read property '1' of undefined)
Cause
This is because all the translations are fetched
but we don't look if the language they use is active.
So at one moment, the relatedLanguage is undefined and
we do relatedLanguage[1]
Solution
Filter the translation, to keep only the ones with an
active language.
OPW-2193969
closesodoo/odoo#45215
X-original-commit: 9d1259da1bfd60362ec93996f723a4e378434dc8
Signed-off-by: Jason Van Malder (jvm) <jvm@odoo.com>
Picture of employees are maximazed directly which is annoying when
you move the mouse in kanban view.
Add the ability to put a waiting time before opening the zoom in
option of the field in the view (default value is 0).
closesodoo/odoo#45229
Taskid: 2191289
X-original-commit: a264b17d8fe18464df439d896ecb7dea106caa5a
Signed-off-by: jbm-odoo <jbm-odoo@users.noreply.github.com>
The partner_id on the wizard for sale order creation (from project and from tasks) is now set with the one
on the project or on the task if it is set.
Some fields were moved to community (from sale_timesheet_enterprise).
Concerned fields : allow_billable (project and task),
allow_timesheet_timer (project)
This also move timesheet_product_id to community.
This field was being added in industry_fsm_sale and was required
if allow_billable and allow_timesheets were true. But those 2
other fields are already available once sale_timesheet is
installed.
The field timesheet_product_id is thus being moved to
sale_timesheet for more coherence.
Task-2157571
closesodoo/odoo#44509
Related: odoo/enterprise#8118
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Before this commit, it was possible to delete an expense product even if it
was already set on expense notes.
closesodoo/odoo#45216
X-original-commit: d887bff9d52b649ea84d351fbf5fb2afbcebcbcd
Signed-off-by: Alex Tuyls <alt-odoo@users.noreply.github.com>
Before this commit, it was possible (and common) to create search views
without fields and only filters, the consequence was that a search for
that particular search view was not possible. (See
https://github.com/odoo/enterprise/pull/7852)
With this commit, a warning is raised if no field is defined within a
search view, preventing these "common mistakes" from happening again.
closesodoo/odoo#45058
Task-id: 2179521
Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
The customer display sometimes displayed a warning message saying:
"A script on this page may be busy, or it may have stopped
responding. [...] Script: chrome://[...]".
We then remove the time limit for the execution of Chrome scripts.
closesodoo/odoo#45207
X-original-commit: 53fadc7f5da8e13ca60a6e89fd74000e5cd6938e
Signed-off-by: Antoine Prieëls <aprieels@users.noreply.github.com>
This commit removes the field twitter_hashtag from event and event_type.
The justification behind this change is that it has been made obsolete
by our social marketing app and our website builder.
Task ID 2191921
Community PR odoo/odoo#44715
Upgrade PR odoo/upgrade#764
Related: odoo/upgrade#764
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Purpose of the task is to improve the list view of timesheet.
so the description(name) field should no longer be required in the
list view and move the Description(move) field to the right of
the task one in list view.
As field is required at python and display as _rec_name on
analytic line so if value is blank then we should fill the
value with the '/'.
task-2176065
closes#44101
Related: odoo/enterprise#8001
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
PURPOSE
---------------
Add small improvements to the frontend UI for slide_channels.
SPECIFICATION
-----------------------
Current behavior before PR:
1. We can't display all uncategorized slides of a course.
2. When you upload an image or PDF, the name field is replaced by the filename even it was filled before selecting the file. This leads to rewrite the name a second time before uploading the slide.
3. There is no way for the website designer to choose if he wants to display or hide the promoted slide of a course.
Desired behavior after PR is merged:
1. Slides without a category are displayed correctly, now you have access to the link "View all" which allows the user to display all uncategorized slides with a possible pager.
You have also the possibility to create a section/category with the new button "Add a section" next to the button to upload content.
2. When you upload an image or a PDF, the name field is no more replace automatically by the filename. Now, it's replaced only if the field is empty when you select the file.
3. Now, there is a new button under the Customize tab to display or hide the promoted slide on the courses. By default, the promoted slide is displayed on the course.
task-2161391
closesodoo/odoo#42420
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
To reproduce:
- Create a second company with the same currency as the first,
- Assign the first pricelist with that currency (based on _order) to
the second company
- Install the POS, or create a new pos.config while in the first
company
The above results in:
raise ValidationError("The selected pricelists must belong to no
company or the company of the point of sale")
opw-2192658
closesodoo/odoo#45199
X-original-commit: f6e73f69350b3d0fef5f24e0073f68e52da3a36d
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
From Odoo 13.0, the list of answers of a user displays the name of the
answer itself, and not its parent's.
Answers created directly on a question are given a name, but answers
created from a comment are not.
This commit fixes this behavior for a better consistancy: all posts
should have a displayable name.
A migration step on saas~12.5 will populate from their parent's name
the existing posts that don't have a name.
closesodoo/odoo#45193
X-original-commit: 327079e97d12bf3bfcbc74e78bcc7ebc36149d02
Signed-off-by: Paul Morelle <madprog@users.noreply.github.com>
Before when you uploaded a document, the title was set to the filename even when the field was
set by the user before. Now, the field title is set to the filename only when it is
empty.
task-2161391
Before, uncategorized slides weren't display correctly on the slide_channel. It was impossible
to view all the slides if there were more than 4 slides uncategorized because the "View all" link wasn't
display.
Now, when there is no section/category on a course, it displays the last 4 slides with the "View all" link
which allows to be redirected to the uncategorized category (category_id=-1). This request displays all the
uncategorized slides with a pager if the limit of 12 slides per page is exceeded.
If there is at least one category created, all uncategorized slides are displayed under a section "Uncategorized".
Additionaly, there is a new button which allows to create a category directly on the course page to allow the user to
organize is course more effectively.
task-2161391
Purpose
=======
The project overview is still as obscure as ever, so we are adding even more tooltips.
Specifications
==============
Add the following tooltips to the project overview:
- Other costs: Any cost linked to the Analytic Account of the Project.
- Re-invoiced costs: Costs from expenses that were reinvoiced to your customer (provided
that the Analytic Account of the Project was set on the Expense).
- Invoiced: Revenues linked to Timesheets already invoiced.
- To Invoice: Revenues linked to Timesheets not yet invoiced.
closesodoo/odoo#44693
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
This commit clean-ups the code for model `sms.template.preview` which
mainly includes the following changes :
* remove 'res_id' field and use only the reference field instead;
* remove inheritance from `sms.template` as we only need a body field
computed based on record and template;
* convert onchange of lang / record to compute field for body;
* fix 'No Records' warning which previously appeared even if there were
records to be previewed (by adding compute field 'no_records');
LINKS
TaskID 2180132
Community PR odoo/odoo#44104
Upgrade PR odoo/upgrade#763
Related: odoo/upgrade#763
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Sometimes, constraints are not delayed during a module upgrade: the
module is 'to upgrade' but in 'init' mode :-/
Fix this by relying on the module's state only.
closesodoo/odoo#45179
X-original-commit: 878b6538961a9b6a5fe1c6ac68d4ff39391abcdf
Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
When we valide a stock landed costs with a stock picking
with multiple products, when two stock valuation layers is created,
only one was link to the journal account move.
task-2123752
closesodoo/odoo#45178
X-original-commit: d141c5fdb5cf9b7d2b365dadcfa6ccd9c4d38d4c
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>