Have a sales team with one or more orders to invoice.
Open the 'Sales Channels' report in Sales.
Before this commit, the 'Invoicing' progress bar of the report,
showed the number of order to invoice and not the sum of the
invoicing amount.
Now, the 'Invoicing' progress bar of the report shown the sum of the
invoicing amount; and the number of order to invoice are shown in their
own field.
OPW-1922438
closesodoo/odoo#30735
Before that, having a payment with amount_residual=0, but amount_residual_currency!=0 did not display it.
Also, 'outstanding credits/debits' label was displayed in case amount_residual was != 0 with an amount_currency=0 (and of course, a currency_id value was set on the aml). This could for example happen in case of partial reconciliation, were the amount_residual field is used to keep track of what will have to be written in the exchange rate difference entry when the reconciliation becomes full.
closesodoo/odoo#30362
- Create the following BOM for 1 Unit of A:
B: 55 Units
- Create the following BOM for 728 Units of B:
C: 1 Unit
- Create the following BOM for 1 Unit of C:
D: 728 Units
- Go to 'BoM Structure & Cost' of A:
A: 1 Unit
B: 55 Units
C: 0.0755 Units
D: 58.24 Units
- Print Unfolded:
A: 1 Unit
B: 55 Units
C: 0.0755 Units
D: 40040 Units
The unfolded PDF structure is incorrect.
The reference quantity taken into account to compute the BoM subline
should be the quantity on the line, not the quantity on the parent line.
opw-1915546
closesodoo/odoo#30726
If no Undistributed Profits/Losses account can be found, Odoo tries to
create one with number '999999'. However, such an account number might
have been created manually by a user. In this case, the account creation
fails.
opw-1932701
closesodoo/odoo#30719
When a colored kanban tile is colored, and there is a color attribute on
the tile HTML element indicating a color field (eg. when a kanban view
with color dropdown is created in studio), there was a HTML element over
the whole tile preventing to click on links or other sub element of it.
This HTML element is just a transparent used for accessibility to
contain the tile color intelligible name, so this commit just size it
over the area of the color (currently in base bootstrap ~3px at the left
of the tile).
opw-1932283
closes#30717
Only the syntax
<t t-operation="attributes">
<attribute name="foo">bar</attribute>
</t>
was currently supported for attributes while the syntax
<t t-operation="attributes">
<attribute name="foo" value="bar" />
</t>
Is also correct and supported server side.
Using value instead of the node content is needed to avoid translating the node
while it is parsed by babel to extract translatable content
Revision on https://github.com/odoo/odoo/commit/a669d89565ad9904d07886b00665e3940ce04665
The commit above changed the template of the Discuss app in order
to add some features, such as the channel "quick search".
The livechat module extends Discuss app to support livechats. However,
the commit above didn't update it correctly. As a result, pinned
livechats were not shown in the sidebar.
This commit fixes the issue, so pinned livechats should now always
be visible in the sidebar.
closesodoo/odoo#30738
last_year_mo_order was removed in commit 4a350ff8cc. However it was still used in action_view_mos.
This commit adpat the action context in order to keep the same behaviour than previously.
task id 1922547
closesodoo/odoo#30347
As usual, I mess up with forward-ports. This one was actually nasty, as
no syntactic error was introduce, while only failing because of this
left over `console.error` call.
Before this commit, when clicking on the activity view icon
from an item in the systray activity menu, the activity view
had no search filter by default.
This commit now auto-select 'My Activities' in the activity
view when redirected from the systray activity menu.
closesodoo/odoo#30702
Before this commit, when a user had some meetings planned today
and open the systray activity menu, the counter would disappear.
This was caused by a weak computation of the counter that relies
on activity having always a total counter. This was not the case
for activity that are today's meetings: Counter would be computed
as `NaN`, and since `NaN` is falsy, it won't display the counter.
Today's meetings have no reason to have a counter, so this commit
fixes the issue by letting those activities not change the
computation of the counter.
closesodoo/odoo#30695
If xlwt is not installed on the server, the option is disabled.
However, the first element was checked, even if it is disabled.
Trying to export record without xlwt was causing a traceback.
Introduced at b60de0db41 where xls is now the first choice
closesodoo/odoo#30724
On mobile, swiping right/left switches to next/previous record.
This feature prevents the horizontal scroll of the form notebook's tabs by
overtaking the swipe gesture on those elements.
This issue had different consequences depending on the platform:
- on iOS: the tabs cannot be scrolled at all.
- on Android: the tabs can only be scrolled by using a two-fingers
gesture
This commit restore the horizontal scroll on the tabs but also keep the
swipe-gesture to navigate records.
opw-1929267
closesodoo/odoo#30658
As of 12.0 the superuser account (UID 1) is only meant to be used for
advanced debugging, and non-superuser admin accounts are used for
day-to-day administration.
Adapts the admin detection system to allow non-superuser admins to
select the report layout as well.
The payment reconciliation screen can't be opened if there is no partner
on a payment, and currently crashes with a traceback.
Rather than hiding the button which could cause surprises for users, we
can raise a proper error to explain why it can't work, for the cases
where a payment has no related partner.
This could happen for example when a customer paid via a direct
/website_payment/pay link.
When we use "Send invitation again" on a survey.user_input, it will send
the first survey.user_input it finds corresponding to:
- the state "new" or "skip",
- the partner it must be sent to,
- the survey the user_input corresponds to,
- the email it must be sent to,
or if none found, it could be create a new one.
This is an okay behavior in most instance, but in the case of
hr_appraisal where a manager could have same survey to fill for
"employee A" and "employee B" and when you send them again, we would receive two
mails linking to the same employee.
With this changeset, the current behavior is kept but when an existing
user_input is resent, we prioritize itself before searching a matching
one.
opw-1934478
closes#30693
Following revision 61eef73b52
the fallback to the standard external layout when
the external layout is not set on the company has been removed.
It therefore leaded to the raise of the exception
```
The report's template '%s' is wrong, please contact your administrator.
Can not separate file to save as attachment because the report's template
does not contains the attributes 'data-oe-model' and 'data-oe-id'
on the div with 'article' classname.") % self.name)
```
when the external layout was not set,
which could happen quite easily in a multi-company environment,
if you do not set the company external layout after having created it.
This revision simply puts back the fallback as it was before.
opw-1931195
closesodoo/odoo#30687
When using the "test import" feature to import leaves request, odoo
fails with a 500 error and no error message.
The only difference with a real import is that the test dry-runs by
rollbacking. The issue here is that mails are sent *after* a commit
is done hense crashes because they do not exist anymore.
opw-1916913
closesodoo/odoo#30523
Before the control panel refactoring, whenever a user pressed ENTER in
the search bar (with no text), the current view was reloaded. This
untested behaviour was changed (not on purpose) with that refactoring:
instead of reloading, the search view add a useless filter in the list
of facets.
We restore the previous behaviour in this commit.
closesodoo/odoo#30503
Before this commit, clicking on an item from the
emoji menu of a composer was not putting the emoji
in the input.
Steps to reproduce:
- Open discuss app
- Select a conversation with a composer
- click on emoji menu in the right-side of the composer
- click on an emoji in the emoji menu
> the emoji has not been put in the input of the composer
This problem was caused by a race condition with the event
`focusout` on the emoji button and the `click` on an emoji
item. `focusout` always happens before `click`, and `click`
event following a `focusout` event can only happen when the
element is visible. This was not the case, because the emoji
container is removed from the `focusout`, so no `click` is
triggered on the emoji item.
This commit fixes the issue by listening on `mousedown` on
the emoji item instead of `click`, which is triggered before
`focusout`.
closesodoo/odoo#30694
When printing a delivery order in waiting state under MS Windows, the
produced PDF does not use the proper font for the warning line.
This leads to an unreadable line full of small rectangles.
The problem comes from the fact that the 'fa' class is applied to a full
paragraph.
With this commit, the proper 'i' tag is used to display the exclamation
triangle.
opw-1931892
closesodoo/odoo#30680
purpose:
when creating a writeoff from the manual reconciliation widget (invoices & payment matching), there's no way to specify the date of the writeoff journal entry
specs:
in v12, add a date field in the js and set the date of the writeoff entry accordingly
Was PR #29794
Was OPW 1896593
closesodoo/odoo#30676
OPW 1891131
closes#27497
When creating a new bank account/partner address, the view displays the 'state 'field before the 'country_id' field, which naturally leads users to select the state before selecting the country.
But there was problem: in order to select a state, one had to first select a country, which was confusing.
Done:
- allow the user to select the state before the country (without restriction on country)
- remove the state from the form when the country changes, if the state (name) is not in the country
- automatically set the country when the state is set
- always display the country code in the name_get of res.country.state, to deal with the case where different countries have a state with the same name
Task 1933763
Be able to reconcile this scenario :
- You invoiced 00 to a contact—> receivable 00
- You received a 0 bill from the same contact—> payable 0
- Contact pay you 0 (bank statement)
- You want to reconcile all the things easily from bank reconciliation
the story looks like (bank move is the one to be managed) :
```
journ n° compte contact DEBIT CREDIT Mach
sales 12 400000 Clients Azure Interior 100.00€ 0.00 € A1
sales 12 701000 Ventes Azure Interior 0.00 € 100.00 €
purchase 11 440000 Fournisseurs Azure Interior 0.00 € 50.00 € A2
purchase 11 600000 Achats Azure Interior 50.00 € 0.00 €
bank 3 550001 Bank Azure Interior 50.00 € 0.00 €
bank 3 400000 Clients Azure Interior 0.00 € 100.00 € A1
bank 3 440000 Fournisseurs Azure Interior 50.00 € 0.00 € A2
```
closesodoo/odoo#30664
Access rights issues are currently hard to diagnose (especially from
ir.rule) due to how little details they provide.
This makes a pass over various sources of access errors and:
* improve/clarify the base message
* provide an alternative message with more details in debug mode
- [x] ir.model.access
- [x] ir.rule
- [x] related fields
- [x] fields with groups
- [x] close#28451 (provide both _name and _description in access error messages)
Task [1886746](https://www.odoo.com/web?debug#id=1886746&model=project.task&view_type=form&menu_id=4720)
closesodoo/odoo#30144
When an access error bubbles through a related field (aka the user
doesn't have access to the delegate or the delegate's field), append
the "intermediate step" so that it's easier to understand e.g. that
the access error to a partner really comes from accessing a user or
somesuch.
In debug mode, if an access fails due to access rules, try to provide
a clearer error message & include a list of the rules which fail for
the record-set.
Note: for read() operations it'll be a bit misleading as failed
records will get a list of all the rules failing for the recordset,
only some of which might apply to that specific record.
Impacted modules: portal, rating, website_rating, website_slides
This merge modifies the some aspect of posting a message for public
document, in order to implement the rating (message+rating) on a slides
channel.
We now support the use case of posting without having the right to write
on a document, and force the author of the message (as it is required to
be logged to post a message). The security has been improved: to do so,
the document token is not leaked anymore. Only the signed token (by current
partner id) is used.
The rating mixin has been modified to handle displaying average and count
(per document), in an efficient way.
A new frontend message composer is born in website_rating (as it allow to
post a rating with a comment). To do so, a little refactoring of the
Portal Chatter has been done.
For more details, please have a look at the subcommits. They are well
explained and correctly split.
Task-1902304
closesodoo/odoo#30655
When a portal user post a message to review a channel, we
want to allow him to edit its own comment and rating.
This commit modifies the special check access method in
portal to extract the security check and reuse it to
allow user to update its comment on slide.channel only.
We decided to reuse existing widget (new rating popup
composer) to do the message modification.
Task-1902304
This commit fix the display of a label when the user add
a review; when selecting desired stars, the label corresponding
to the star is displayed in a badge.
The bug probably comes from the update to bootstrap 4.