- Change the widget behavior from asynchronous to asynchronous, by adding 3 related fields
on the project.task model, which are the custom labels defined for the stage
- Instead of making a rpc call, we are taking directly the labels on the parent for the kanban view,
or on the view datarecord for the form view
- There are now 2 templates for the kanban view or the form view
- The development has been backported in the community version
- The options attribute has been removed on the project_view.xml file for the kanban_state field
It was preventing pos managers from opening sessions for pos
users. Because pos users cannot open their own sessions, this means they
couldn't do anything anymore.
The reason for it is that the open frontend function checks whether or
not the opened session belongs to the current user. If it doesn't, it
throws a UserError, which prevents the session from being
created. That's all open_frontend_cb did when called from
wkf_action_open anyway, because the action it returns just gets ignored
in the workflow.
This also removes the validate & open session button because the only
reason not to use the new dashboard to create a session is when you want
to create a session for a different user. When doing that, validating
and opening the session yourself makes no sense. When people do want to
create a session for themselves without using the dashboard they can
still do so, they will just have to save the session form and then click
on the continue selling button.
The get_value method of field radio returned sometines an undefined
value (while it is expected to return false is there is no value).
This caused traceback for siblings fields trying to access the value
of an empty field radio (onchange, ...).
The pos search uses keypress instead of keydown event. The virtual keyboard has thus been fixed to trigger the same kind of event.
Using keypress instead of keyup also made the search behaviour erratic. This is fixed with the appropriate use of a timeout.
Finally a keydown listener is added to update the search after a backspace or delete.
* Adapt LESS rules so that the tables are top aligned and respect
correct margins.
* Set td min height so that toggling between edit mode and readonly
mode does not modify the table cells dimensions.
* Before this commit, clicking on a target to edit while one was
already being edited closed the new editable target immediately.
Flex 0 0 x% layout is broken if content is larger than x% with nowrap
white-space property. Solution is to change in flex 0 0 auto and force
width to x% thanks to the width property.
Also: was always a problem on firefox windows.
Add "web_editor_inside_iframe" id in web_editor iframe template to apply css style only when the field is in html field.
Remove "content" css media query in iframe editor to remove scrollbar.
If the iframe is destroyed, detached, hide (eg: click on a record, return into the list view and click on an other record), the render_value method try to resize the iframe but jQery raise an exception because contentWindow doesn't exist.
Payment transactions referenceis have a unique constraint which was problematic when a payment was cancelled from the acquirer's page.
To stick the to DRY principle, I factorized a method that checks for existing references and happens a numerical suffix if necessary.
This was already implemented in website_payment but was moved to payment and used in website_sale.
The message used in 'valid_inheritance' was not very helpful when the
inheritance validity was not passed.
You only knew that some view was not OK without knowing which one.
We now use the 'raise_view_error' method, which can already display all
the meaningful info (view_id, parent_id, view name, ...)
When a SO is linked to the analytic account: ensure the SO is validated and warn user if not
When there is no SO: simply register the line on the AA; registering expense lines on analytic accounts must not require the use of a sale order
Since the new translation process for views, their arch is translated upon
reading the views, before applying inheritance. Remove the useless translation
that was done after this process.
Enable the prefetching of several fields while evaluating an onchange. Special
care is taken to not prefetch computed fields or fields already in cache. The
latter is necessary to avoid "cleaning up" dirty fields by accident.