As the available Austrian Localization was very basic and migrated for
years without any contribution or consolidation, a complete refactoring
was contributed by WT-IO-IT GmbH to move forward.
closesodoo/odoo#35642
Signed-off-by: Josse Colpaert <jco@openerp.com>
As it is is trying to write the journal type field everytime we try to
create a account.bank.statement record, even when the value we try to
write is the same already, it is assigned again in the journal.
With this new change we are not trying to overwrite the journal's type
field anymore. Only using it.
Closes#35578closesodoo/odoo#35714
Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
Each model of the relation can define `ondelete` for its `column2` foreign key.
This way the behavior is similar to m2o where the target of the `ondelete` is
the `comodel` foreign key.
Some models were already defining `ondelete` 'restrict' on m2m fields and after
review it appears the behavior introduced in this commit is the expected
behavior for them.
The 'restrict' from product.product has to be removed however because the rest
of the code needs adaptation now that it is properly restricted. These changes
will be done on a separate PR.
closesodoo/odoo#35654
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
- no default reason (otherwise the invoice ref is repeated twice)
- rewording of refund types and helper texts
- avoid 'Reversal of: INV/2019/001, False' as reference -_-
When you try to find a carrier in the wizard that let you add one on
your sale order, you don't see all of them because of a domain that only
show the ones that havethe same company id of the sale order, but it
should also show you the ones that don't have company_id set.
So we removed the domain in the view, and the invisible company_id as it
is not used anymore. Because the domain we need is already applied in
'available_carrier_ids'.
This behavior has been introduced in rev: c058562d73closesodoo/odoo#35856
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
task-1973902
+ use of img locally
+ last PO review:
+ show latest in the list
+ remove underline
+ force same height if blog or not
+ ...
closesodoo/odoo#34609
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
Task 1861198
Add code in tax lines for enterprise commit
Check that some control formula are verified. Display it before exporting the xml and on the tax return journal entry.
closesodoo/odoo#34186
Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
Add the dependency between website and auth_signup
auth_signup is in auto-install but there was no strict dependency
Before this commit, installing website transformed the field
auth_signup_uninvited from a static list to a computed list (due to related).
This fixes the following bug:
1. install auth_signup
-> create selections
2. install webstite
-> remove selections and turn it into a computed field with dynamic
selections
3. update auth_signup
-> recreate the selections when updating the module
4. reload the registry (automatic at the end of update)
-> try to remove the selections -> error as not in install/uninstall
mode
Instead, keep the list static and turn it into a computed field with
inverse
closesodoo/odoo#35861
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Currently when shipping method is added on the sales order with error message
then on update of shipping method it will display the error message in dialog
but it will be hidden behind the update shipping method wizard
so on update shipping method display notification instead of dialog.
Closes: #35808
Signed-off-by: Damien Bouvy (dbo) <dbo@odoo.com>
On shipping method company is not required field so having blank
company on shipping method will be a shared method.
so while adding shipping method on so also display the company on
which the company is not set.
Closes: #35808
Before this commit, the external email settings were saved but the
alias domain model was empty. This was caused by this field being
editable in mail module, but readonly in hr_expense and crm_module.
This commit fixes the issue by force saving the readonly fields, so
that they are stored in database and non-empty after save.
Task-ID 2047446
closesodoo/odoo#35589
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
-Purpose of this task is speed up the put in pack process.
-after this commit, on the Picking when clicking 'Put In Pack' button
if there are no quantity set as done all the reserved quantity put in
the pack.
Task- 1966999
closesodoo/odoo#35280
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
This module provide you a data from Mexican Bank data extracted
from `SAT Bank catalog
<http://www.sat.gob.mx/fichas_tematicas/buzon_tributario/Documents/catalogo_bancos.pdf>`_.
Additionally was added the following fields:
- ASM code in Banks: to identify banking institutions by ASM standard
- CLABE code in Bank Accounts: required to the sending and receiving
of domestic inter-bank electronic funds transfer.
closesodoo/odoo#35742
Signed-off-by: Josse Colpaert <jco@openerp.com>
Both the name and the tag_name need to be set as translatable.
As the tag_name is seen by the user for the configuration.
Unlike the financial reports that are linked to multiple countries,
the tax report is linked to just one country. This way it makes sense
to only make it translatable in multilang.
Task: 2042430
closesodoo/odoo#35436
Signed-off-by: Josse Colpaert <jco@openerp.com>
The selection values of a selection field are now stored in database in the
model ir.model.fields.selection
This will allow to have a modular approche on selections and each selection
is now linked to the module that declared it.
Previously to this change, the selections were linked to the field, meaning
uninstalling a module had no impact on the selections stored on database.
With this change, the selections will now be translated in the correct module
(having an external id) and the records having a used selection will now be
reset to null.
closesodoo/odoo#30228
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Co-authored-by: Raphaël Collet <rco@odoo.com>
The deletion of some records can create inconsistencies in the
point_of_sale.
It can create inconsistencies when a session is open, for example if you
delete a partner that can be set on a pos order. You'll also got
problems if you remove an employee and this employee can be used in an
open session.
We also avoid to get point_of_sale config inconsistencies, by deleting
models required by it. If you delete a picking type used in a pos
config or a sequence.
To avoid all this consistencies, we have restricted the deletion of some
records in specific cases.
TASK-ID: 1879971
closesodoo/odoo#35793
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
in this commit, we have set the correct attribute(field's name) to fix
the traceback while we adding a new section on a course using website
task-2053822
closesodoo/odoo#35786
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
The CSS for receipts to be printed was not loaded correctly in the POS.
The format of the receipt was wrong and the printing failed.
closesodoo/odoo#35768
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
The goal of this commit is to provide better readability on kanban cards.
It will:
- move deadline to the bottom of the card
- add a line-break between project and customer
- display task deadline not in italic
related task 2009563
closesodoo/odoo#34599
Signed-off-by: Jérome Maes (jem) <jem@openerp.com>
For some fields (especially employees) it is nice to see a picture of the model on the gantt row in order to quicly identify which record is concerned. This is obvious for employees where we display their avatar picture but might be handy for other models as well. This commit introduces this functionality.
In order to activate it you should declare a avatars attribute on the gantt arch.
It is a python dict which keys are the fields name for which a thumbnail should be displayed (ie: 'employee_id') and the values are the fields on that model that hold the image (ie: 'image_small).
If none is defined or the row isn't currently grouped by this field, nothing is displayed.
NB: it is expected that the field name (key) is a relational field to another model which has a *image* field.
related task 2009563, 2000719, 2024216
Aliasing the fields in the select clause of the task report allow to do joins latter when inheriting from this object without getting ambiguous fields errors.
related task 2009563
This commit move some code to be able to override
Bootstrap popover in web_enterprise for mobile.
Task ID: 2052506
closesodoo/odoo#35727
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
This merge adds the website_visitor model that will be used
to track website visitor activity (page viewed, number of visits and
more general info about the visitor (country, lang, etc..)
This model will, in later commit, be used to send chat requests
and push notification from the operators (or backend users)
directly to the visitor.
To keep a detailed history of the visitor page views,
we add a website.visitor.page model that makes the link
between visitor and website.page but that keeps the visit date.
So that we can see if a visitor went mulitple times
on the same page and when. It's useful to see his last page views.
If a website_visitor submit a contact form (and becomes a lead),
the website_visitor is linked to the crm.lead.
If a website_visitor logs in,
the website_visitor is linked to the user's res.partner.
This also allows a livechat operator to send a chat request to a
connected and available website_visitor.
See sub commits for more detailed informations about functional flows
and technical changes/decisions.
Task : https://www.odoo.com/web?#id=2028059&action=327&model=project.task&view_type=form&menu_id=4720
Linked to enterprise PR odoo/enterprise#4834closesodoo/odoo#34624
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Since introduction of website_visitor,
we don't need to identifiy the lead with a lead_id cookie.
The visitor is identified and if a lead is created with the
contact form, the lead is created and linked to the visitor.
To avoid losing data, each time a visitor send a contact form,
it creates a new lead. All those leads are linked between them
via the website_visitor.
As the website_visitor already has the lang set on itself,
there is no reason to keep the lang_id of crm_lead at enterprise
side. So that lang_id on crm.lead has been moved to community.
This commit is directly linked to another one in enterprise
See https://github.com/odoo/enterprise/pull/4834 to get more details.
Task ID : 2028059
PR #34624
This commit allows a livechat operator to send a chat request to a
connected and available website_visitor.
A visitor is considered as connected if his last tracked website.page request
was within the last 5 minutes.
A visitor is available if he doesn't have an active livechat conversation
(mail_channel with type = livechat).
- If another operator sent him a chat request
- Or if the visitor asked himself to speak with an operator
(via the normal and existing flow)
A livechat conversation is active while the visitor haven't left the conversation.
An operator cannot leave a livechat conversation, only the visitor can.
The flow to send a chat request:
- On the visitor view (tree or form), operator click on 'send chat request'
(button or livechat icon)
- A empty conversation with the visitor pops up at operator side.
- While the operator didn't send a message, the visitor won't see the conversation.
- The operator can type a message to the user
- If the operator close the chat without sending any messages,
the chat request AND the mail_channel are both deleted.
In this case, the visitor is then available to send him a new chat request.
- If the operator send a message, at the visitor's next action
(page navigation on pages that allows livechat, based on livechat rules),
the conversation will pop up at visitor side, using the livechat button widget.
The visitor won't be able to request a livechat conversation with an operator until
he leaves the chat requested by the operator.
- Once the visitor leaves (with or without rating) the conversation :
- the operator is notified that the visitor has left the conversation
- the chat request is deleted to keep the chat request table clean and minimal
- the livechat conversation if set to inactive.
- The visitor is now available again to send him a chat request.
This feature uses the already existing livechat_session cookie mechanism,
so no further code modification was needed to make this work.
It's directly integrated is existing livechat flow.
The chat_request model is only useful to quickly check if a visitor has a chat request
and to send the livechat conversation info to the visitor via the livechat_session cookie.
This commit also add a website_visitor banner info on discuss view :
To be able to quickly see all the relevant information of a website visitor
while talking with in discuss view, a fixed banner have been added.
Only the discuss view will benefit from this because detached chatter window
is to small to display such banner.
Task ID: 34624
PR #2028059
What was going on here is that when the operator start the discussion with the visitor
and the visitor navigates to a new page, the livechat button widget checks the
cookie and see there is already a active conversation.
It loads the mail_channel and write all the history of the conversation.
So the first message is writting a first time.
Then, it handles the notifications. As the visitor did not receive the
first message notification yet, the first message notification comes up
and the widget handle it. Adding the message a second time.
To avoid this, we just stop the notification handling
if the message is already present in the conversation.
Task ID: 2028059
PR #34624
If a website_visitor submit a contact form (and becomes a lead),
the website_visitor is linked to the crm.lead.
the website visitor name is than adapted to match the name of
the first crm.lead linked to the visitor, ONLY if the visitor doesn't
already have a res.partner.
A visitor can have multiple crm.lead as he can send multiple
contact form and create multiple leads.
Task ID: 34624
PR #2028059
This commit adds the website_visitor model that will be used
to track website visitor activity (page viewed, number of visits and
more general info about the visitor (country, lang, etc..)
This model will, in later commit, be used to send chat requests
and push notification from the operators (or backend users)
directly to the visitor.
- A website_visitor is created once the visitor is requesting
a website.page that is tracked.
- A website_visitor is considered as connected if his last tracked
website_page request is within the last 5 minutes.
- The number of visits for a website_visitor is incremented
if his last tracked website_page request was at least 8 hours ago.
- A website_visitor is only handled by the system. Users cannot
create, edit or delete a website_visitor.
- A unique website_visitor is created per website.
That means that the same real person can triggers multiple visitor
creation if visits multiple websites.
This is because, for livechat purpose on later commit, for example,
the chat request can be created on the correct livecaht channel
(linked to the correct website)
- The visitor is recognized via his cookie (visitor_id). So if the visitor
flush his cookies, a new visitor will be created the next time he will
request a tracked website_page.
- Link user's res.partner to website.visitor.
If a website_visitor log in
(a visitor that has visitor_id in his cookie),
the website_visitor is linked to the res.partner.
The website visitor name is than adapted to match the name of
the first res.partner linked to the visitor.
A visitor can have multiple partners as the same session
can be used by multiple person (one PC for a team for example).
To keep a detailed history of the visitor page views,
we add a website.visitor.page model that makes the link
between visitor and website.page but that keeps the visit date.
So that we can see if a visitor went mulitple times
on the same page and when. It's usefull to see his last page views.
Task ID : 2028059
PR #34624
When create a return from a delivery order, the field `to_return` must
be True, so the delivered quantity of the sale order will be updated by
default. But it wasn't the case before this commit !
Thus, adds a test to be aware in the case something goes wrong again.
Task #2050183closesodoo/odoo#35733
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>