Exclude purchases invoices from the `invoiced` field
of `crm.team`, as this count is meant to sum
the invoiced - sales - order of a sales team.
opw-686732
* bad creation of a dictionnary with the dictionary comprehension syntax.
correction of the syntax.
* unnecessery use of decimal precision function because the wizard is already
in the good decimal precision. Remove the decimal precision call and lib.
* traceback when the valuation account was not defined on product category.
raise exception when no valuation account, to explain the user why he can't
change the price.
during the conversion of the method "assign_outstanding_credit",
the id parameter was wrongly kept. Now that we are working with
recordsets, the id is now stored in self.id
related to rev d6e1d41128
Without this patch, there's a traceback when creating a segment due
to an onchange trying to set an attribute `ir_filter_id` to a dict.
related to rev 0fa2ac1d5d
During the conversion of the server action "action_account_print_checks",
the "self.env" variable was wrongly kept. Now in server actions we
are using the variable "env" directly.
The previous implementation took the parent of the element to begin
the check, which was wrong when the initial element was the html root.
This commit changes the method to a recursive implementation, which is
clearer.
This commit avoid a traceback when you open the form account_invoice_line
for a supllier invoice without having installed purchase.
The fields_view_get method add domain with purchase_ok field, but this
field can be missing on the model product.template because purchase is not
a dependence of account.
Invalid field 'purchase_ok' in leaf "<osv.ExtendedLeaf:
('purchase_ok', '=', True) on product_product
In stable version, the best fix found, is to remove the domain.
But we need to fix it in master, moving this field from purchase module to
product module. (odoo/odoo##13271)
This commit closes#13268 and closes#315 for stable version.
Todo: merge odoo/odoo#13271 in master (@qdp-odoo agreement)
Since abdca55ea2, the call to '_update_user_groups_view' if made only if the category_id is modified on a res_group. This method is re-computing the xml for the group_ids on res_user form view. This modification is wrong because:
- If the name or the share fields are modified too, the view should be recomputed too.
- It introduce a bug which is the following. When creating a new instance with no demo data, the method is not called and the group_ids field is still displayed as a one2many of the res_groups instead of the prettier way to display the information we're used to.
When a user sends a link thanks to the livechat, the link is not
clickable is the recipient is on the frontend (e.g. visitor of the
website). On the other hand, a link sent from the frontend to the
backend works.
This is because the message is sent as "html" from the backend,
therefore no link conversion is done during the post-process of the
massege (method `message_post`).
Note that a link sent and received in the backend works because
additional formatting is done (convert emojis, add links...).
opw-686063
When creating an asset, there is no restriction on the partner. However,
there is a domain to explicitly restict the categories to the 'Purchase'
asset types. Therefre, the partner is always a vendor.
opw-686636
When choosing a package for a pack operation, we should restrict the
packages to the ones which are actually available in the given
locations.
opw-684007
Since we return nosniff header, we need to avoid the magic mimetype.
In case of picture in compute field (eg. image_small on product),there are
no mimetype saved in column, and impossible to detect it from name/extention
because url are like: /web/image/product.product/47/image_small.
So before to arbitrary return default_mimetype, we try to detect it from the
content itself.
This commit continue to fix odoo/odoo@13193
* get_pdf function expects a list of ids since the removal of old api in
this commit: rev 47c67b640b
There were still some wrong calls.
* while get_action can receive ids and recordsets, get_html and get_pdf
are internal methods and still work with list of ids
* display all lines and don't display the scroll bar into ace editor
* lazy read ace lib and add missing lib file
* use not minified version of ace lib
* Move ace lib from website to web
* Added ace widget for webclient
* XML mode for view text box
* Python mode for server action text box
* Removed web_ace_editor.xml, instead added template in base.xml itself
* Added widget=ace_editor in compute field of ir.model.fields
The onchange produced a traceback because, even if start and stop
are required, they have no default value. Adapted `_get_duration`
function so that it is robust to that usecase.
Before this commit, if a message thread was loaded 2 times, the first time
the date was well formatted, the second time that fail because momentjs cannot
parse the localized date from some locale.
Luckily, it was not bugged by default in english, because moment was able to
reparse a localized US date. But in some local as french, momentjs cannot parse
the localized date and return 'Invalid date'
Now, we move the code, to be processed only once by the chat manager, and not
in each process of the thread.
This commit closes issue #13258
Courtesy of @aab-odoo
When changing the contact details of a partner which is a company contact,
all the fields related to the address must be set on the commercial partner.
The address displayed for a company contact is the address of the commercial
partner.
opw:686335
When 'search_default_job_id' is in the context, the department set for
this job must be used to filter the right stages(_read_group_stage_ids).
opw:685896
When the user clicks on "Activate here a new currency...", it opens a
pop-up with the list of currencies. However, there is no pager for such
a list view, and not all currencies are accessible.
opw-686626
The product_manager field is existing since v6.0 and never displayed in any views. It is used in sale_timesheet module. A task created from a procurement_order (if it is a service and we track the service) is assigned to the product manager. It doesn't make a lot of sense as the value should be set directly in the database. We will remove the field and assign the current user to the task instead, which is the common behavior in Odoo.
This function attempted to deduplicate states with same code in order
to force the unique constraint creation. This is the job of a migration
script and should not be execute at each update.
Moreover, the current implementation is flawed and may lead to crash in
some situations.
Add a link in the general settings to access easily the default_user form view in order to modify the default access rights
The default_user manager rights declarations in all the applications have been move in a noupdate="1" definition to avoid the manual configuration overwrittings
It's ok to give the 'Manager' rights to new users for small companies or new saas instances so that newly created users can direcly use all the features.
For bigger companies, someone is creating the new users and give the rights specifically according to their access rights in the company departments.
But granting administrator access by default is definitely questionable. The main admin is bound to make mistakes and fail to notice or remember that they have given admin access to new users. Making the system insecure by default is not a good trade-off for "simplifying the system for small businesses". And this will not be expected by anyone.
better patch for rev e9b649b555
* also fixes website_event which present the same issue (depends
on a function that slugs)
* raise an exception when slug is called with wrong arguments
instead of returning None (which was unclear)
* before calling slug in a function where we got a depends, check
that the record is actually created
A typo probably introduced during the migration to the new api may have
caused duplicates to appear in the name search results since it added
the ids of the wrong recordset.
The previous fix, while effective, also removed a previous optimization
for databases with a lot of products. While the code may seem obscure
on first read, the comments should shed some light on the
implementation choice.
This commit therefore reintroduce the previous code with the exception
of the call to the wrong recordset (self instead of products).
Amends b02a85f
Courtesy of @rco-odoo
When posting POS entries with the "group entries" option set on that
pos config (which is the default), it is possible to have bad net
amounts in the tax report because taxes are not used as a grouping
parameter, allowing the system to potentially group pos order lines
which have different taxes together.
Also, take into account the fiscal position set on each order when
creating the move lines (the correct tax for a line is a compute field,
so this commit may actually cause some performance degradation for big
pos sessions).
Amends 150bf7d
opw-686168
The key 'tax_code_id' does not exist anymore, therefore the condition
line.get('tax_code_id') == values.get('tax_code_id')
was equivalent to
None == None
which is of course always True.
To make this code more readable and avoid misunderstandings, a clearer
loop implementation avoids checking for this key.
Since the commit odoo/odoo@36e875e which disable the second-guess from browser,
IE cannot display picture from Odoo where mimetype is wrong.
Before this commit, IE and probably other browser which one respect the header
'nosniff' don't display picture not_found and resized picutre via controller if
the original was not of type 'png'.
Eg: when we return the placholder 'not_found' if you don't have permission,
or when your resize the picture, ... we need to force the mime-type with the
new one and not keep the original mimetype.
This commit closes#13193
When you execute the slug method on a virtual record (not yet
saved, virtualid/newid) the slugs obviously fails as it needs
an id and a display_name.
This issue happens when there's a depends on a function field
using the slug method: just after the create and during the
onchanges, they'll raise.
This patch makes the slug method returns None in these case,
anyway the depends are re-triggered after the write and at
this time they have an id and everything is working fine.
Stock account is sufficient for Point of Sale. No need to set sale_stock as
dependency, as it installs Sales Management but is not required for running
the POS.
When an invoice is sent by email, the Paypal link is not included,
although it is in the template.
This is because the `paypal_url` field has gone missing after Accounting
refactoring.
opw-686216