URL attachments are now returned as data and not redirection.
If the url does not match with a module file, the 301 status
(redirection) is still returned.
This allows to use the /web/image/<xmlid>/<dimension> route
and get an image attachment with correct dimensions.
At the end of the production, the cost of produced product should be the total
cost of production (cost of components + worklogs) for real time product.
The previous behaviour was to take the standard price from the product which,
in real time product, is the last purchased price, which is 0 for manufactured
product.
opw 657419
The 'cron_remove_empty_session' is performed every day and removes livechat
channels that contain no message.
The problem was that the cron might have been executed between the moment a
public user clicked on the livechat button, creating a new empty channel, and
the moment this user sent the first message through that channel. If that
happenned, the message was sent in an unexisting channel, and obviously never
received by the operator.
This fix makes sure that removed empty channels haven't been created or
modified within the last hour.
The problem occurred when the im_livechat cron 'cron_remove_empty_session'
removed empty livechat channels (a public user clicked on the livechat button,
creating a new channel, but never sent any message in it). The empty channel
was deleted by the cron, but the two records in the mail_channel_partner
relation table (linking the channel with the public user and the livechat
operator) wasn't removed, and the value of their field 'channel_id' was None.
When this happenned, it broke the SQL query of 'channel_search_to_join()', the
RPC call performed when clicking on '+' new to public channels in the client
action, resulting in no result displayed in the dropdown.
With this fix, records in the relation table are automatically deleted when
their corresponding channel or partner is deleted.
Those messages can be read from the client action interface, where the onclick
redirection is properly handled, but they are also sent by email. The
generated links should thus have a correct href.
Clicking on the author of a message opens a DM with the corresponding user if
there is one, and opens the corresponding partner's form view otherwise.
When the author is the current user, obviously we don't want to open a DM with
ourself, but we probably don't want to open our partner form view either, which
was exactly the behavior before this rev.
- clicking on a channel mention (or a user) from a chat window opens a new chat
window for that channel
- clicking on any other link in a chat window correctly opens the corresponding
document
2 minor changes were required:
- use do_show() instead of on_reverse_breadcrumb() to update control panel and
url in client action, as other actions can be stacked over the client action,
e.g. by clicking on a document link in a chat window. In that case, the
on_reverse_breadcrumb callback wouldn't be set, and thus the control panel and
url wouldn't be updated by coming back to client action using the breadcrumbs.
- channel_join() now checks whether or not the channel has already been joined
(i.e. if it is in the JS cache) before performing the RPC. This check was
performed by each caller, so this simplifies the code.
When raw materials of finished products are tracking with lot or serial
number, using the "Play" button on the work orders will never trigger
the pop-up asking for the numbers.
This fix prevents the MO to be set on "Done" if any product with
tracking activated is found. This will force the user to click on
"Produce" to finish the process, and therefore enter the serial numbers.
opw-657586
The `amount_residual` computation depends on the fact
the `acccount_id` of the move line does allow reconciliation
or not. If it doesn't, the amount residual will always be 0.0.
So, if you check the "allow reconciliation" on the account
after creating the journal items or after changing the
debit/credit amount, the amount residual is not recomputed.
We do not set the `depends` directly on `account_id.reconcile`,
as, if we do, and a user checks/unchecks this box on an account
having a lot of records, this will recompute this residual
amount on all lines, and this is something we do not want
to happen.
The work-around when this case happens,
that the amount residual is not correct due to the fact
the `allow reconciliation` on the account
was checked after having posted the entry,
is to cancel the entry and repost it. This
will recompute the residual amount.
opw-656972
Thanks to the fix 503820a, when a fiscal position mapped an included
tax on a SO line, the price unit of the product is recomputed.
This fix has been applied in the function product_id_change in
the model "sale.order.line"
Before the fix, when changing the product uom on a SO line, the price
unit of the SO line was reset with the pricelist price without taking
into account the fact that a included tax could be removed on the SO line.
To avoid this kind of problem, the price unit must be recomputed in any
case according to the taxes.
When creating an invoice with a fiscal position(fp) which maps an included tax(itax)
to an excluded tax(etax). Each invoice line mapped by fp must recompute its unit price
to substract the included tax.
Inspired from 503820aCloses#9811
opw:658109
The multicompany rule on procurement.rule may not be working as the field
company_id is not displayed with no default value (so probably often empty).
This means that the user may have access to rules from another company from the
product but failing to read the stock.picking.type
To avoid regressions introduced by 35f3dea, make a search on stock.picking.type
to filter on the one the user really have access to.
opw 658141
When an email is sent through the "Contact us" page, it triggers the
creation of a lead or an opportunity depending on group_use_lead. The
issue is that if group_use_lead is set to 0 ("Each mail sent to the
alias creates a new opportunity"), the user will never see the customer
information entered in the contact form such as the name.
It was therefore decided to make this tab visible even if the leads are
not used.
opw-657154
'write_function' transfer the options to 'write' method from the popup form
Steps to reproduce:
1. Create custom model to add a product quantity on hand(readonly) field on stock.move
2. Show this field on Warehouse>All operations>Create a Transfer> Create: Internal Moves
3. Add a Internal Move, then open it again, the quantity on hand field's value show 0. But change the product, the value is correct.
In 22c8db7fcb the concept of
iface_tax_included was introduced. It was not actually used for the
display price though. It looks like a mistake during merging or
something because it adds the code responsible for dealing with the
option after a return statement in get_display_price().
opw-657983
Email alias is now visible in the form view. Indeed it is displayed in the
kanban view. However in order to edit it the user had to go into technical
group in the form view. This is confusing. Advanced alias configuration
is kept in technical group.
In project, stages are shared between projects. However demo projects do not
have any stage by default but stages are assigned to some random stages. This
leads to columns disappearing from the kanban view when there are no more
tasks or issues in it.
Also fixed the addition of followers in a demo project. Instead of hardcoding
the followers use a message_subscribe instead. It was impossible to reload
the project module before that fix.
project.project: alias should be visible without being in technical group.
Indeed the alias is displayed in the kanban view. However in order to edit
it the user has to go into technical mode, which is confusing. The alias
is now displayed in the form view, but advanced alias configuration is still
in technical group.
project.stage: show projects using the stage. Without that field it is quite
impossible to configure the use of stages in the project application.
with the recent update of nvd3 to the last version, we fixed a lot of
tooltip issues, but we introduced at least a new problem: when a view
is detached from the dom with a visible tooltip, it no longer is cleaned
up.
In this commit, we simply remove all nvtooltips when we detach a kanban
view (necessary because dashboards inherits from kanban). This is not
really an elegant way to solve the issue, but at least it works. any
improvement is welcome.
When creating translations (click on blue flag) of a duplicated record, it used
to have the module information of the duplicated record.
It is also not useful to check the module when trying to find if a translation
exists on this record as the res_id is present in the query.
Fixes#9480
Some time new background image, which I set via "Change cover" button don't saved. Because super is called before the jsonRpc and don't wait that the background is saved.
A translation of a field value for a given record can only be created/updated/
deleted if the current user has access rights for updating the record.
Access rights on translations are restricted to the group "Employee". Those
still need create/write/delete access, in order to be able to edit records in
the user interface. Other users (portal, etc.) simply have no explicit access
rights at all on translations.
The field `isNewWindow` is used to open a link in a new tab. In this
case, the field newWindow was used, and therefore the property was not
applied.
opw-657510
When routes are defined for the variants of a product, the total number
of routes is not computed correctly. The total number of routes for a
product template should be the sum of the routes of its variants.
opw-657471
In ee0caa246 we solved some issue when a field was used in a "group by"
filter, but was not considered "groupable" (which does not resolve
related field in their related model to see if they fit the bill).
This was fine, but this has to be also taken into account when these
group by are applied to columns, which is possible by switching x and y
axis.
opw-647401
In 9.0, the currency field on the statement is
no longer `currency`, but `currency_id`.
This is an oversight during the forward port
6a306a03be
opw-658101
This is related to the revision 2e66c489e3
`xmlid_to_res_id` doesn't have a `context` argument,
trying to do a call with this `context` failed.
A simple attempt to anonymize the database raised the error.
opw-657858
When testing a mass mailing before sending the mailing
to the contacts (which well, is always the case),
the local links were not replaced by absolute links,
and the override done on the method `send_get_email_dict`
to convert the link `/unsubscribe_from_list` to the actual
unsubscription link was not working, as it relied
on the absolute link.
opw-657982
In sales dashboard, when there is no sales team, the no content message is displayed next to the dashboard.
The class o_kanban_ungrouped adds style to avoid this problem.
Credits to @qsm-odoo.