If there are open rescue sessions there will be multiple opened
pos.session records with the same user.
A better solution would be to make the POS client send back the
pos.session id it belongs to and use that instead, but this would be
unsuitable for a stable release. It will instead be done in master.
opw-743318
In 4e0e376b0 an iframe for the readonly preview was added when
displaying html fields.
In e5112ee00 this iframe was only used if style-inline was set in the
widget options.
This brought an incompatibility if the not iframed preview contained an
iframe (eg. a youtube video which is then resize to a 30px height) which
is solved by this commit.
opw-725161
closes#16955
* exceptions have lost their ``message`` attribute
* ``raise type, value, tb`` has been removed so add a compatibility
shim to pycompat to raise a new exception with an existing traceback
In Python 2, to raise a new exception but reuse a traceback requires a
special form of ``raise`` (``raise etype, evalue, tb``).
In Python 3, this is now done via a ``with_traceback`` method on
exception objects.
However this requires a bit of trickery as the former is invalid
syntax in Python 3, hence pycompat bridge created via an exec for
Python 2.
Previously, the string attribute of the field node was ignored
in the title of the form dialog and it always displayed the
string value of the python field definition instead, which is
a default value instead.
Additionally, I took this opportunity to add tests for other
similar dialog titles which actually worked already with the
string attribute of the field node but were not tested yet.
Previously, when a checkbox was re-rendered, it was losing focus
since it was removed and re-created. Now, if the checkbox itself
is the origin point of the re-rendering, we give the focus to the
newly re-rendered checkbox, resulting in a seamless experience
just as if the checkbox was never removed and re-rendered.
In some cases, we had duplicated footers in form view dialogs. It
actually happened when the view was reloaded, which is not particularly
frequent, but happens most of the time the user clicks on an action
button, which does not close the window.
To reproduce the issue, you can open the lunch module, click on the
'Feeling Lucky' button. It will open a form view with a special button
in the footer: 'I'm feeling lucky'. Clicking on that button will return
an error (no order matches the criterion), and will trigger a form
reload. Then, you will see two footers: one in the modal footer, the
other one in the form renderer.
The solution to this issue is to make sure, when we update the view and
a footer tag is found in the form renderer, to replace the current
footer buttons by these new buttons.
PyPDF is unmaintained and abandoned (as noted on its home page
http://pybrary.net/pyPdf/) and was never updated to Python 3. PyPDF2 is
a fork which provides a mostly compatible API and is P3-compatible.
Replace PyPDF by PyPDF2.
When calculating the cost price or the traceability between the consumed
and produced quants in a production order, we need to take into account
the extra moves that are added in the action_done (move_validate)
opw-715541
Purpose
=======
ja_JP: the implemented language font in Odoo is not Japanese but Chinese.
In Japan address structure is different:
First: Postal code
Next: City + ward (like a neighbourhoos name)
Next: Building (all buildings have names)
Name: Customer or Company
Specification
===========
New address structure for Japan:
%(zip)s
%(state_name)s %(city)s
%(street)s
%(street2)s
%(country_name)s
In Countries form view, add one selection field which set the customer name position in reports base on the customer country settings.
The slideshow image gallery code was quiet old and ugly. This commit
refactores it so that it works better, especially its responsiveness.
Before this commit, the number of thumbnail images was limited to 10.
If there were more images than 10, the user was able to navigate
between groups of 10 images thanks to arrow buttons. The problem is
obvious: on small devices, 10 images is too much. Now this "10" limit
is not fixed, it is determined according to the width of the browser
at the time the user loads the snippet.
Some animation and style was also wrong in some cases.
This commit was made as a 10.0 fix, the snippet should keep improving
in advanced versions.
Handling datetime is not a good idea, mostly
when computing different in terms of days.
Forcing the hour (time) will set the tests correctly
regarding the working hours, and the datetime
difference, independently of the execution time
of the test.
Previously to commit https://github.com/odoo/odoo/commit/531d641375f5cee7d3a5e629f6b1eaceee8b2739 website
menus checkboxes change did remove all menu entries. They were then
created again depending on checked entries.
That commit changed that behavior to try to create only missing menu
entries and remove only extra entries. However the extra entries removal
was not correctly done.
This commit now checks existing menu entries and remove menu entries that
should not exist depending on checked options. Only standard menu entries
are removed aka menu entries generated by the event module. This means
custom menu entries added for the event should be kept to avoid loosing
customization.
Putting fixed width on button is obviously always a bad idea as
traduction may change the inner text size. Besides, removing the
fixed width does not change the design anyway.
* cross-version metaclass spec
* more formally deprecate browse_record and browse_null since they
were using metaclasses anyway
* update docstrings referencing the latter
Purpose
=======
Internal categories are only useful for accounting & inventory.
-> so they should be only visible for such modules
Also terms are confusing: internal category -> category "internal" is not obvious
Specification
=============
- remove internal categories menus from:
sales
website_sale
pos
- rename menu in:
purchase
inventory
- add menu to:
accounting
products must be visible even if account.accountant is not installed
categories only visible if account.accountant is installed
- rename categories in product form:
- category
- pos category
Because when it does, it can create a cycle in the graph of
implied groups. This happens when the option 'Sort products
in sections with subtotals and page-breaks' is checked in the
Sales settings. In this case, being in group_user implies to be
in group_sale_layout, and being in group_sale_layout implies to
be in group_user.
This is a problem for groups display in the 'Users' form view: the
employee groups are no more linear, and thus no more displayed as
a selection field, but there is an 'Employee' section where each
of the employee group can be checked. Activating the option in the
Sales setting should have no impact of the groups hierarchy of HR.
Moreover, there have been several imilar issues on production
databases, probably due to this cycle, but that we haven't been
able to fully understand/reproduce yet: with this option in the
'Sales' settings activated, after a mysterious operation, the
'Users' form view was broken, because the selection field
'sel_groups_'for HR was still referenced in the view, but didn't
exist anymore (as HR groups weren't displayed as a selection field
anymore).
Before this commit, the new form view implementation was rendering
<newline/> tags as real <newline/> DOM element. The wanted behavior
is now restored:
- As outer group direct child, produce a <br/> tag, forcing the next
group children to be on a new line
- As inner group direct child, produce nothing but forces the creation
of a new <tr/> (for the next group children)
The original goal of the commit was to implement a missing behavior
for label tags in form view. This finally need some deeper refactoring
for it to work so this commit does not introduce any change in behavior,
only comments explaining the problem.
When a field widget switches between readonly and editable states, it is
fully rerendered. Labels have sometimes to get a specific class when
their associated field is (become) readonly and without any value. This
condition was evaluated on the initial widget and not on rerendered
ones.
Note that this commit only restores an already implemented behavior
broken by https://github.com/odoo-dev/odoo/commit/8f9362809e91ff7c2876ab464017abb13a4e0974
... but this time a test will prevent a new breaking
Even if the `default_order` attribute should be like 'name,id desc,coucou'
we want to support the syntax 'name, id desc, coucou' (i.e. with spaces after
the comma).
The commit also patches the mock server.
Usecase: A person scans various products in a warehouse or the network is slow.
Only one request per product must be made, the rest is changing the number locally
and all performed scans (products or actions) must not be lost.
The mutex ensures that the scan is performed in the correct order.
Functionality deprecated since v9
Add also some small rendering fixes for manual reconciliation:
* display congrats only once
* display journal_id as required
* use isValid to create a new proposition line
* Can erase all proposition lines in manual reconciliation
Purpose
=======
When sending a proforma by email, the email template is correclty rendered. But 'Quotation #' id displayed on the printed report instead of 'Pro-forma' #
Specification
=============
- Retrieve correctly the context key in the template
- Remove the associated ir.actions.report.xml as we cannot pass a specific context from there
Purpose
=======
Improve readability on mobile
Specification
=============
Activate Kanban view on those so it could be displayed by default on mobile instead of view list
List of impacted modules:
- base : kanban for currencies
- base : kanban for users
- base : kanban for Companies
Purpose
=======
Improve readability on mobile
Specification
=============
Activate Kanban view on those so it could be displayed by default on mobile instead of view list
List of impacted modules:
- report_intrastat: kanban for intrastat
- google_drive: kanban for Google Drive(Templates)
- anonymization: kanban for anonymized fields