Such a field is declared as:
image = fields.Binary("Image", attachment=True)
With this option, the value of a binary field F is stored in an attachment with
`res_field=F`. When attachments are stored into the filestore, binary fields
are consequently stored in the filestore as well. Note that the option does
not work on old-API function fields.
By default searching on `ir.attachment` filters out attachments for binary
fields: the condition `res_field=False` is added to the domain unless a
condition on field `id` or `res_field` is already present. The client uses
`search_read` with a domain like `[('id', 'in', ids)]` for reading the data on
a form view. In that case, we should not filter out attachments that store
binary fields.
Also, do not filter search results for the superuser.
If, in the same transaction, we need to render a template and read its
associated assets, they are unreachable because the writes in
ir.attachment are not yet commited. Workaround this issue by commiting
manually with new cursors.
This issue occurs when you want to print a pdf report for the first
time.
Added two dummy reports to print an empty internal and external report
and added direct link to edit header/footers template in the form view
(in technical features) for convenience.
Also moved the 'preview rml report' under the rml configuration and
tried to make the company form as clean as possible but i think it's
failed.
Everything has already been moved (read: duplicated) under "company >
report configuration" and only appears in technical features, plus
displaying "Report Font" in "general settings" is really confusing, as
it is a deprecated field.
This field has been removed by e57ac16476
(let's break everything, it is more fun!). But some people needeed it...
This patch proposes thus a new-API version of the sale_id field.
The stdlib version of the json library is more recent than the 3.5.3
version we are pinning in `requirements.txt`
There is no reason to use it.
Closes#6940
The `unittest2` package is simply a backport of `unittest` from the
Standard Library of Python 2.7 to previous versions.
There is no reason to use it any longer.
Closes#6941
Also, we should be able to set a customer on a project, whatever the access rights,
for example, if we're managing services by using internal projects.
When creating pos_orders from the form view, tax_ids on the
pos_order_lines were never set.
This was kind of fixed in 5327869356. But
in there it was in onchange_qty, because the way the fiscal position was
taken into account required it to be. Because we take the fiscal
position into account in a different way now we can assign the taxes in
onchange_product_id which makes a bit more sense.
Allows a user to set multiple fiscal positions per pos_config. Orders
created on that config can then be assigned one of these fiscal
positions. In the POS this can be done through a button that will appear
above the numpad when fiscal positions are set on the pos_config.
* Adding a new group in a group of fields is breaking enterprise layout
* Moreover the group was useless: useless colspan, unique field with
colspan>>>col in it, double access-right, ...
Calendar height was again a problem since the introduction of the
bootstrap layout (the .row had not height 100% and thus the calendar
was not able to compute its height anymore).
Before: if a user blur a editable area without editing, the editor is removed and all bind are remove.
The 'content_changed' bind are removed and the 'o_dirty' class is never apply.
On webclient, on 'Attachment(s)' dropdown (form view) when clicking on an attachment to download it, a request is sent to /web/content/ with a param 't' containing the current date. This param wasn't used neither before the new controller, but the old one accept additional kwargs. The new controller crashes, and since the t parameter is not used, removing it seems better.
Transform POST param into GET param when redirecting to login page can cause security issues. Now, instead of displaying textarea (even if public user) and the redirect to login page keeping written comment, we display the login button with a redirection to the page to comment.
The redirection happen before commenting, avoiding to remenber param such comment text, rating, ...
To post a comment, the user must:
- be connected
- have a token
- or have a sha_sign
When moving pack operation with lots:
The system will still take the quants that are reserved with lots first.
What changed, is that, secondly, it will take reserved quants without lots.
Afterwards it can use the traditional methods to check the non-reserved quants for every lot.
The name_get has been updated accordingly : if an address has no name, we now show parent_name, res_partner.type.
The contact template shows the name when it exists, and the parent_name if it does not. This should produce cleaner reports.
Though the name field is no longer required on the res.partner model,
"required" attribute in views and an sql contraint enforce that all contacts have a name.
- dates are editable even in confirm state. Only events in done states are
not editable.
- the print badge button is actually a button to edit badges, so let us udpate
the name
Originally written by Nicolas Seinlet <nse@odoo.com>. Provides
pos.config with a product.product cache.
This adds a ported and refactored pos_cache from odoo-extra:
- Adapt to changes in web and point_of_sale since 8.0
- Refactor the load_server_data function, so it isn't copy pasted but
cleanly patched into the load_server_data super.
- Make the cron inactive by default.
- Also remove retrying the write 5 times, when it fails we'll just have
to wait until the cron triggers again (an hour from then).
- Store the product.product fields and domain on pos_cache. When cache
is requested from the pos with a different field or domain it'll
automatically recompute. Necessary for when someone would install a
module that modifies these things in the pos after a cache has been
generated.
- Have multiple caches per pos_config per user
- Make the module adhere to the Odoo Coding Guidelines.
The function field selected_seller_id is removed and must be replaced
by a direct call to method `_select_seller`. This is more conventional
than the previous 'browse with context' way of doing.