Purpose
=======
On the Employees App, we dont have a smart way to start a discuss
with a colleague or an employee.
Specification
=============
Style for each button :
- use fa-comments
- use primary color/action color (green)
On private/public employees form/kanban views, add a button to
start a chat with the user
closesodoo/odoo#51484
Taskid: 2252207
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
onchange_l10n_in_gst_treatment method is not define but call from here so traceback is occurred
closesodoo/odoo#51656
Signed-off-by: Josse Colpaert <jco@openerp.com>
Replaces the auto_join scheme which is pretty fast but doesn't quite
work (it's *completely* broken for read_group) by a subquery which is
slower but has the same semantics as the ORM version.
Ideally we'd use `EXISTS (select 1 from ...)` but that has no support
inside the SQL compiler right now, so use `id in (select inverse_field
from ...)`.
Here are some measures of a `read_group` on a simple object with lines
filtered on line values, similar to
read_group([('order_line.product_uom', '=', xxx)],
fields=['total_amount'], groupby=['user_id'])
+-------+-------+-------+--------+
| | ORM | join |subquery|
+-------+-------+-------+--------+
| large | 160 | 10 | 20 |
+-------+-------+-------+--------+
| many | 36000 | 50 | 180 |
+-------+-------+-------+--------+
* values of data fields (filtering, grouping and aggregating) randomly
picked between 10 different values
* "large" is 1000 objects with 1000~15000 lines each
* "many" is 1000000 objects with 1~40 lines each
closesodoo/odoo#48494
Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
Due to commit odoo/odoo@0150141756
when the widget calendar is initialized with date type record for
date_start and without all_day mapping events aren't shown on day/week
views. This is because all day zone isn't visible when all_day mapping
is not set.
After this commit, we show the all day zone also when the date_start is
a date type.
Steps to reproduce:
* Go to Project App
* Select/Create a project
* Select/Add a task with a deadline
* Return to project
* Select calendar view
* Select week view (of the deadline) => BUG
closesodoo/odoo#51818
X-original-commit: 1d83f4184e1b82db4dd4db54d98e509432340996
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
Signed-off-by: rfr-odoo <rfr-odoo@users.noreply.github.com>
Steps to reproduce the bug:
- Create a repair order RO for a product P1
- Create a part for a product P2 that needs a lot L
- Specify a source location for P2
- Process RO
- Click on 'END REPAIR'
Bug:
A UserError was raised saying: You need to supply a Lot/Serial number for product P2
even if a lot L was set to P2
opw:2251047
closesodoo/odoo#51797
X-original-commit: 1e3ed56332efd3f58ccd05f23c6af9cb23f1052f
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
Purpose
=======
Task 2195254 introduced many wonderful widgets to pimp the list view.
This task aims at implemeting them into the Services apps: project,
timesheets, helpdesk, expense, planning and field service.
Remaining days: https://drive.google.com/file/d/1o4Wn47445GxLqBkw-ifH9MgtFU_437xz/view
Avatar: https://drive.google.com/file/d/1yDwJWP0MZCUKZbqCa8hte1ziVTYRMMtb/view
Activities: https://drive.google.com/file/d/1e_rXH50eZq4zY2HOzw7_pfgiD39SoRIl/view
Field-specific decorations: https://drive.google.com/file/d/1WFnqJ-jkyDFftRHxWW4bgomoWrOpOuaY/view
More control on buttons
Specifications
==============
You will find below a list of which widgets to apply to which fields by
model. Some changes have to be done in the form/kanban views as well.
1) project.task
remaining days -> date_deadline -> list + kanban + form views
hide this field if is_closed is true
avatar -> user_id -> list view
activities -> 'next activity' field to be added -> list view
field-specific decorations
https://nimb.ws/ACewrY remove the current orange/red decorations we have
if planned_hours > 0, display the remaining_hours field in (list view):
red if progress is > 100%
orange if progress is between 80% and 100%
green if progress is <80%
display unit_amount in red if > 24:00 -> form view
2) rating.rating
display the rating in:
green = satisfied
orange = not_satisfied
red = highly_dissatisfied
list + form views
3) project.project
avatar -> user_id -> list + form views
4) account.analytic.line
avatar -> employee_id -> list view
display unit_amount in red if > 24:00 -> list + kanban + form view
https://nimb.ws/eIWa7E merge the timer and duration fields together
5) helpdesk.ticket
avatar
user_id -> list view
employee_id under timesheet_ids -> form view
remaining hours -> sla_deadline
activities -> 'next activity' field to be added -> list view
field specific decoration -> display unit_amount in red if > 24:00 -> form view
6) hr.expense
avatar -> employee_id -> list view
activities -> 'next activity' field to be added -> list view
badge -> state -> list view
draft = blue
reported = green
approved = green
done = green
refused = red
combine the unit_amount and the currency_id fields (see the total_amount field for reference) -> list view (idem for the expense_line_ids one2many on hr.expense.sheet)
display the total_amount in bold
move 'company_id' before 'amount'
7) hr.expense.sheet
avatar
employee_id -> list view
user_id -> list view
activities -> 'next activity' field to be added -> list view
badge -> state -> list view
draft = blue
submit = green
approve = green
post = green
done = green
cancel = red
display the total_amount in bold
move 'company_id' before 'amount'
8) planning.slot
avatar -> employee_id -> list view
decoration
display the allocated_percentage field in red if > 100% -> list + form view
display the forecast_hours field in red if > planned hours and if planned_hours > 0 -> form view
display the effective_hours field in red if > forecast_hours and if forecast_hours > 0 -> form view
9) misc
calendar.event -> avatar -> user_id -> form view
mail.activity.type -> combine the delay_count and delay_unit fields together -> list view
note.note -> 'next activity' field to be added -> list view
crm.lead.mining.request
combine the lead_number and lead_type fields together -> list view
display the name in bold
badge -> state
draft = blue
done = green
error = red
planning.slot.template -> display the duration field in red if it is = 0
closesodoo/odoo#51271
Taskid: 2248351
Related: odoo/enterprise#10605
Related: odoo/upgrade#1252
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Before this commit, when a backorder is created, it was automatically
reserved. It is no more the case. Now user have to reserve it manually.
The reason is, when a user doesn't delivery all expected quantities, it
could be because there is no enough quantity in stock, or the user
doesn't want to delivery all. In these cases, it doesn't make sense to
reserved it directly.
task-2181611
When user creates a new order point, if he/she comes from a template or
variant product page, adds the product id or the product template id in
the `product_id` field domain in the `stock.warehouse.orderpoint` model.
task-2181611
This commit adds the `base.group_user` access group to the `pdf_js_lib`
template so it can be lazy loaded in the JS.
closesodoo/odoo#51804
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
The virtual record have their date and forecast at date recompute
after creation. It means that the popover saying today is False since
it took the date with lead days.
closesodoo/odoo#51507
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
By default importing is batched (or at least attempted to), however
because the import is functionally sequential it's possible for a
record to refer to a previously imported record of the same batch.
When records are referenced by xid this is easy, we can just keep
track of all the xids we *should* have created so far and when trying
to look up a xid if it's one of those flush all pending
creations (otherwise assume it's some other unrelated xid which
already exists in the system).
For "name_search" lookups however this is more complicated, so we'd
just flush the entire thing.
This, then, is an issue when importing records with an m2o which
is *generally* looked up by "name" rather than xid e.g. when importing
partners it's more likely the "state" will be specified by
name (e.g. AZ or Arizona) than xid (base.state_us_3 lol), because it
means more or less every line will be flushed, defeating all batching
and slowing down the import.
To fix this, allow passing *model names* to flush (not just xids), and
try to collate all the models we could be creating (or updating)
records for in the process of importing. If we see a name_search on
one of these models flush, otherwise don't because we couldn't have
impacted the search.
Task 1951307
While at it, f2a1618758 removed all
usage of model_load_save, but left the creation of the savepoint
itself.
The InternalError check should be left in place to catch things like
conversion issues which put the tnx in an invalid state (only invalid
states should trigger an InternalError according to psycopg's errors
documentation).
closesodoo/odoo#49289
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
There is a CRON task to check the validity of the daily certificate.
However this is not executed correctly because the command line is incorrect.
This commit fixes this command line
closesodoo/odoo#52057
X-original-commit: 19a9859985a4576943dad1312b1808c6c3690645
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
We forgot to update the type to move_type,
tag_ids to tax_tag_ids and remove the country_code
as we put it in the account module.
closesodoo/odoo#52052
X-original-commit: 437c2457c73d66a9f7b82397e4dd95d41da4a72a
Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
Signed-off-by: Josse Colpaert <jco@openerp.com>
Go to Reconciliation Models > Invoices Matching Rule
Set the parameter 'Amount Matching'
Set 'Partner Is Set & Matches'
Save
Edit
Unset 'Partner Is Set & Matches'
'Amount Matching' will switch to invisible but is not disabled
opw-2261134
closesodoo/odoo#52048
X-original-commit: 61f1ca63e5dc27e06c855bb09b18bf4897e8ab1f
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Purpose
=======
Reintroduce the horrible bidouille that was removed by mistake.
closesodoo/odoo#52041
Note: Should be cleaned though.
Taskid: 2266510
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Activate the multi-warehouse automatically when there is more than 1 in
a company. Then remove the multi-warehouse setting in the config, and
allow to create warehouse. Because create a warehouse can change
groups of the user, we reload the page when there is any modification.
Update warehouse demo data accordingly (remove the second warehouse
of the second company).
task-2196687
closesodoo/odoo#49625
Related: odoo/upgrade#1253
Related: odoo/enterprise#9934
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
Add the name in a barcode form into the printed
batch transfer to use the enterprise feature. The
barcode is now in the printed batch transfer and
there is a new print action in the batch transfer model.
task-2196687
The field note of mrp.routing.workcenter was not very usefull, and not
appear in the workorder related to this operation. Sometime, we need to
have a small description of the work to do for a opeartion in the WO,
instead of a complet pdf or google slide.
-> Convert the note field as a description of the job to do and add a
"text" worksheet_type to select it, in the mrp.routing.workcenter and
add the related field in the WO. Update the view of accordingly.
-> (migration): The 'note' content remain the same, then migration is
not needed. If the user change the worksheet_type into text, the
"note" will be the previous "description".
task-2196687
- Rename "Master Data" menu into "Products" in both stock and mrp.
And move not producte reclated menu to configuration menu.
- In the stock setting move all shipping connector in a dedicated
section.
- Improve helper of MO
- Merge filter "Late" and Planning Issue
- Remove badge of duration field in WO.
task-2196687
Since 12.0, the theme was still supported but did not receive any of the
new features, like choosing its own colors.
This commit removes the theme entirely so that all users use the new
shiny features and also because it will become impossible to support
with the new color system.
task-2207192
closesodoo/odoo#51508
Related: odoo/design-themes#279
Related: odoo/upgrade#1225
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Issue
Step to do on mobile or chrome debugger in mobile mode
- Install "Manufacturing" app
- Go to "Manufacturing"
- Click on "Create"
- Select a product with already default bom lines
- Alter quantity
BOM lines are duplicated.
Cause
Missing "bom_line_id" field in kanban view,
who is required for onchange "_onchange_move_raw".
Solution
Create inherited kanban view with "bom_line_id" in
mrp module.
opw-2257732
closesodoo/odoo#52002
X-original-commit: 2905d05fc3d30562c5e7510217a6e97e26e87a37
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Only system users can access ir.property records.
This PR is part of the long-term task id 8203 that plans to remove all access to
ir.* models
"Official" methods to interact with `ir.property`:
- `_set_default(name, model, value, company=False)`
- `_set_multi(name, model, values, default_value=None)`
- `_get(name, model, res_id=False)`
- `_get_multi(name, model, ids)`
Done in this PR:
- remove ACL on ir.property (only system users can access directly)
- make all getter/setters private with sudo
- use these methods everywhere instead of CRUD calls
- add sudo where needed
closesodoo/odoo#51658
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
This reverts commit fdd4a143f2148ec5f4aeea80fecd3138fea95dc6.
See discussion in #51969closesodoo/odoo#52028
X-original-commit: 0e602cc0ac295621864b50509f78bd5de1e61718
Signed-off-by: Denis Ledoux (dle) <dle@odoo.com>
- Go to Project
- Open a project to display Tasks
- Switch to list view
- Click on create button
- On task form page, click nowhere. (It is important to not click on anything)
- On the taskbar of the WYSIWYG editor used for Description, click on one of the following actions:
* Unordered list
* Ordered list
* Checklist
* Table
* Style
- The action will be applied to the "name" field (Task Title) and
an error will prompt for Unordered list, Ordered list and Checklist actions
- If not, discard the form and retry by opening the form with create button
In this case, the WYSIWYG editor does not have the focus and try to execute
the tool action on the current focused element.
opw-2256835
closesodoo/odoo#52023
X-original-commit: eaa55ce3e806ad0d9609394309ff9d48b32bb73f
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
When a resequencing is done inside an object hierarchy of two
controllers, since 9b90d8727d we would call resquencing code one time
per controller.
So if for example we are in a list view inside a form view (eg. a
"Search More" modal in a form view) the resequencing would work for the
list view, but then cause traceback when it is handled by form view.
With this changeset, the first controller that get the event
`resequence_records` even gobbles it up.
Without change, added test fails because of original traceback:
Cannot read property 'res_id' of undefined@ 202 ms
Source:
TypeError: Cannot read property 'res_id' of undefined
at /web/static/src/js/views/basic/basic_controller.js:744:67
...
opw-2256818
closes#51827closesodoo/odoo#52018
X-original-commit: eef4b99fdb9469c040af80d055933eda367b7b3d
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
inherit the view which contains the items you're relying on.
closesodoo/odoo#52017
X-original-commit: 03dacc25ef46718a00fa7a1e0440813132600bfe
Signed-off-by: Christophe Simonis <chs@odoo.com>
The footer of Odoo is composed of 3 main elements: a <footer/> with a
.oe_structure and the footer copyright inside. The footer had a
transparent top border which was there for technical reason: making sure
the .oe_structure content was "1px" below the end-of-page content so
that dropping a snippet at the end of page but also in the footer was
possible (otherwise the dropzones would be at the exact same position).
This border which was invisible at the time may now become visible in
more cases so we have to remove it. Another hacky solution is made to
replace the old one, while remembering the footer usability is being
reviewed anyway.
Related to task-2197038
closesodoo/odoo#51997
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
As indicated in the comment, it's much preferred to perform response
buffering at the reverse proxy level than to increase the socket
timeout. It will free up HTTP workers for other requests faster, while
the proxy does the work of buffering the stream on disk as needed.
/!\ The timeout is also used to protect from accidental DoS effects
in situations of low worker availability, due to idle connections
caused e.g. by wkhtmltopdf's connection pooling.
Setting a high timeout will make the protection less effective, so
ensuring you have enough free HTTP workers at all times becomes critical.
In our tests with nginx's defaut buffering on a typical hardware with
SSD storage, buffering up to 1GB responses did not require any change
of the socket timeout on the Odoo side, though your mileage may vary.
See also nginx's `proxy_buffering` and `proxy_max_temp_file_size` config
directives.
OPW-2247730
See also: #20158closesodoo/odoo#51982
X-original-commit: d78ea126b8d2a72ae626880b0ec64bb7a39a07ac
Signed-off-by: Olivier Dony (odo) <odo@openerp.com>
PURPOSE
This merge attempts to improve the workflow of the OdooBot onboarding
tutorial, as well as the answer given by the bot while idle.
SPECIFICATIONS
These changes come from watching how users interact with OdooBot. To
improve the user's experience, the following changes have been made:
1. Move the attachment to the end of the tour, as it is where most
people just close the bot.
2. Remove the quotation marks around commands that OdooBot tells the
user to type, like "/" or ":)", as some users try to actually type
the quotation marks too. Instead, use a light grey background around
the command that the user should type.
3. Some users ask OdooBot questions, but the responses they get are
useless. To solve this, use a message linking to the documentation or the
videos when:
- The user gives wrong answers twice for the same stage of the tour
- The user talks again when the tour is completed
- There's a question mark in the answer
Other issues have been attended to:
1. The first message from OdooBot when starting the onboarding tour will now only appear as a notification instead of opening a new chat window. The user can open the chat window from the notification when they actually want to start the tour, as it can be otherwise distracting for the user to have the chat window pop up all of a sudden.
2. A bug has been corrected where OdooBot would open a new channel every time the admin user logged in, to remind them about changing the default password. Now, it will use an existing channel if it exists.
Task ID: 2233014
Upgrade PR odoo/upgrade#1251closesodoo/odoo#49661
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Purpose is to avoid having strong requirements on fields where it is not
really necessary. In this commit we consider now that a void odoobot_state
is the same as ``not_initialized`` key. It allows to remove both the default
and required parameters on the field.
Task ID 2233014
PR #49661
This commit attempts to improve the workflow of the OdooBot onboarding
tutorial, as well as the answer given by the bot while idle.
These changes come from watching how users interact with OdooBot. To
improve the user's experience, the following changes have been made:
1. Move the attachment to the end of the tour, as it is where most
people just close the bot.
2. Remove the quotation marks around commands that OdooBot tells the
user to type, like "/" or ":)", as some users try to actually type
the quotation marks too. Instead, use a light grey background around
the command that the user should type.
3. Some users ask OdooBot questions, but the responses they get are
useless. To solve this, use a message linking to the documentation or the
videos when:
- The user gives wrong answers twice for the same stage of the tour
- The user talks again when the tour is completed
- There's a question mark in the answer
To achieve this a "failed" state field is added on user model, allowing to
distinguish state in the bot workflow from state of answers (failed / not
failed).
Task ID: 2233014
PR #49661
The channel_get method from mail.channel was not retrieving existing
channels between partners correctly in some cases, which caused some
annoyances, like OdooBot creating a new channel/thread each time the
admin user logs in to remind them about changing the default password,
instead of using an existing conversation.
This was caused because because the SQL query was filtering the channels
by comparing the partner ids to the result of the ARRAY_AGG function,
which sometimes contains duplicates.
Task ID: 2233014
PR #49661
This commit fixes the method GET in httpRequest and
adds it in test_env.
Before this commit, the GET method crashed because
of the forced body param.
closesodoo/odoo#51980
X-original-commit: 7c4fba660a13c38048020faf595bd348d1bca225
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Before this commit, owl renderers were mounted twice.
This commit makes owl renderers mounted just once as it should be
X-original-commit: 9234aa5c5c7de2f7af23071a3ff76adf93e9cee7
Steps to reproduce the bug:
- Let's consider the current company CY in €
- Let's consider a cash basis tax T of 20%
- Let's consider that 1€ = 2$
- Create a customer invoice I on journal J in € for customer C
- Create a line on J with 100€ and set T on it
- Post I
- Create a payment P of 240$ for C on bank journal in €
- Confirm P and click on payment matching
- Try to reconcile P with I
Bug:
A traceback was raised.
Fine tuning of https://github.com/odoo/odoo/commit/0497c311e790454deb9ded2ed4fb206f5fd929ef
opw:2256207
closesodoo/odoo#51952
X-original-commit: 633fc71c14e8258d2a6cb2b8ee4bcc6b41a1124f
Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
PURPOSE
Clarify the use case in which a specified email address is set as replies may
not be traceable. Make the %Click KPIs visible for Emails as well. Allow users
to report on the links that have (or not) been clicked from their
mailing.
SPECIFICATIONS
Display list of link trackers linked to the mailing on 'click' stat button
click.
Task ID: 2202495
PR #48339
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
PURPOSE
Clarify the use case in which a specified email address is set as replies may
not be traceable. Make the %Click KPIs visible for Emails as well. Allow users
to report on the links that have (or not) been clicked from their
mailing.
SPECIFICATIONS
Add an info text for the "specified email address" option in the "reply to"
field. If target model does not accept incoming emails warn the user it is
likely to fail.
Number of emails/sms sent is now display as clickable text instead of stat
button and clicked stat button is now also visible in mass_mailing.
Task ID: 2202495
PR #48339
Previous fixes on invoice analysis report were incorrectly
forward-ported.
closesodoo/odoo#51961
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Steps to reproduce:
- Install eCommerce
- Check in website setting that the sales team is website
- Logout
- Without being logged, buy a product (all the cart flow, until the end)
- Once the flow is finished, connect with the admin
- Go to website > Orders > Unpaid Orders (since only wired is set when you create the db)
- Go to the tab "Other Info" of the SO you just created when buying the product
Previous behavior:
the sales team set in website settings is overriden during the
"/shop/address" endpoint
Current behavior:
the team set in website settings is used for sale orders coming from website
opw-2231654
closesodoo/odoo#51959
X-original-commit: 919077638bc9e8a5ad1c800b629aa0eaa079f571
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Signed-off-by: mightyjol <jhk-odoo@users.noreply.github.com>
Purpose
=======
In Social, we want to be able to change the "Save" button into a "Add"
button when we add a new stream. For that purpose, we need to be able to
customize the text of the `FormViewDialog` buttons.
Task-2234580
See odoo/enterprise/pull/9933
closesodoo/odoo#49622
Related: odoo/enterprise#9933
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Steps to reproduce the bug:
- Let's consider a product P (invocing policy based on timesheet and creating new task)
- Create a quotation with the product P
- Confirm it (A new task T is created)
- Go to T and add a follower (who is a portal user PU) in the task
but uncheck the box to send him an email
- Connect to the portal with PU
- Go to T and send a message
Bug:
A 403 error was raised
opw:2239844
closesodoo/odoo#51953
X-original-commit: c7e864e039dd2c948a5c61df29052313c6a659ce
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
1. automatically send a reminder mail to vendor to confirm the receipt
date. If confirmed, (confirmed by vendor) will be added next to the
receipt date. If not, vendor can update the date on the portal website.
An warning activity will be set for the purchase representative for this
update.
2. Vendor can also comfirm recieption of the PO when we 'send PO by mail'.
If confirm, (confirmed by vendor) will be added next to the confirmation
date. An filter is added in the PO search view to show all unconfirmed
PO.
Task 2230811
PR #49921
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>