in method `button_confirm_cash` of `account.cash.statement`
The check was verifying that the profit/loss account
was set on the journal, and if it was, it raised that it
wasn't, which is obviously wrong.
This was solved in Odoo 8.0 by replacing the code
by something more readable in 9dc9169, and the same
logic to check that the profit/loss accounts are
set is still there.
Closes#2924
Permission error on survey update
The user who answer the survey may not have delete permission for the user_input_line
In a survey, for a survey user (!= manager),
When browsing previous pages of anwsers,
the user wasn't allowed to change his answers
regarding simple choice, multiple choices and matrix
questions, as this kind of answers changes leaded to an
unlink operation, not allowed for survey users.
Closes#2901
On the `categ_ids` fields definition on `crm.lead`,
a domain has been added in order to prevent
the use of a sales tag belonging to another
sales team.
As the domain was overidden in the form views,
with a different domain, it was allowed
to use a sales tag from another sales team.
Besides, the domain applied in the form views,
`[('object_id.model','=','crm.lead')]`
is included in the domain applied in the fiel
definition.
Closes#2898
Force the 'uom in the context to False on the field 'product_id' in the popup
form view "sale.order.form.sale.stock", to force the non-propagation of the
context. To avoid using the uos in function "_product_lst_price" when computing
the public price of a product.
opw:646880
When placing an order in the ecommerce, it's
seems obvious that the partner is a customer.
Nevertheless, It wasn't flagged as such in
its partner from, preventing
to see him in the customers list
Fixes#2422Closes#2881
If you set WH B to be resupplied from WH A, then the scheduler will
generate a procurement with warehouse_id = B and location_id = B.stock.
Running the procurement will find the resupply rule, and this will
create another procurement with warehouse_id = A and location_id =
transit location.
However, without this patch, the resupply route is not part of the
route_ids of warehouse A, and so the 2nd procurement goes in exception
because if cannot find a rule (the search will force a rule linked to a
route which is part of A.route_ids).
Closes#7956
* Change account type 'Other Receivable(其他应收款)' close_method to
unreconciled
* Add new account type 'Other Payable(其他应付款)' to account template
'2241 Other Accounts Payable'(其他应付款) .
* Change Account template '1221 Other Account Receivable(其他应收款)''s
type to receivable.
* Rename Account template '1001 Cash (现金)' to '1001 Cash (库存现金)'
to fit new accounting standard.
* Fix double account template id 'small_business_chart1602' problem.
* Several misused account template
* add view account to small business account template
Closes#7535
When the server is answering HTTP requests, the status led (green one)
of the Raspberry Pi will turn on. Contrary to the previous script this
will not exit and keep running every 5 seconds. This way we can easily
troubleshoot connection issues (if led is on and we can't connect it's a
network issue, otherwise it's an issue with Odoo).
Instead of continuing to build upon the old images, these scripts
implement a reproducable way to generate new posbox images. The
generated images will be based on the latest stable Raspbian
release. The image will be created with the help of qemu-system-arm,
which will boot up the image and execute a script that will set up the
posbox image.
This way everything necessary to set up a posbox is readable in the
scripts and accompanying files, instead of being hidden in an image.
This commit contains the patches from the now obsolete 'posbox'
branch. These patches were written by Martin Donies (@mdo-odoo) and
Frédéric Van der Essen (@fvdsn).
Configuration:
- Change the scope to: user_profile,email
- Change the validation url to 'https://graph.facebook.com/me' that returns
more information about the user.
Facebook open graph API does not send the expected 'user_id' parameter, need to
use the 'id' key.
Fixes#5546Closes#7532
Add company when calling product_id_change from _prepare_advance_invoice_vals on
sale.advance.payment.inv wizard.
This way we have same on change call as the one called from account_invoice
(e.g. on uos_id_change and onchange_account_id).
Closes#7939
Allow the partner associated to a survey user input to read the data on
this output.
A survey can be created by a different user than the one
filling it, for example an appraisal interview request can be created by
another user than its interviewer. In this case if the interviewer is
not Survey / Manager an error would happen.
closes#7978
opw-644791
- Wrong 'year' filter that implemented in fact an 'active types' filter
- Add a real 'year' filter
- 'my leaves' uses directly the 'user_id' related field
- 'My Department Leaves' filter that mixed ids from different models
Closes#7685
When invoices are created from pickings, and that the user chooses to group by
partner, we make sure to keep the Reference/Description of all the source
documents. This is exactly what is done for the Source Document field.
opw-646903
When the user specifies a Date of Transfer ('date_done') and only transfers the
order partially, we must keep the value instead of overwriting with today's
date.
opw-646908
For account.tax.code and account.tax.code.template.
Sequences on account.tax.code are used for reporting.
However, it wasn't possible to edit them through the client.
Neither through the form view or the list view with a handle.
Fixes#1844Closes#2656
In internet explorer, writing direction can lead to wrong text direction
when combined with rotate.
A fix was already in place for IE up to version 9 but the issue also
happens in next versions which are more difficult to differentiate
(especially the current spartan/edge version).
So this fix use the same css property value for all browser and it doesn't
seem to have an impact (other than correcting the issue in IE).
closes#7955
opw-646430
During refactoring at 55f9cbf, lost translation of invoice lines.
The invoice lines should be in the partner language instead of in the user lang.
The analytic lines are browsed explicitely in the user language.
Fixes#7774Closes#7796
opw-646166
Instead of rounding the availability and reversation
of a delivery order line to the current UOM rounding,
we round to the generic Product of measure precision.
This is to have the real availability, even for a unit
of measure that normally cannot be split.
For instance, for a product for which the default
uom is 'Unit(s)', but for a specific delivery order
you deliver 1 'Dozens' of this product,
if you have 6 Units available, it will now display
that 0.500 'Dozens' is available and reserved, which
is what is actually happening.
Before, it displayed that 1 dozens was available, even
if only 6 units were available, on the 12 needed.
opw-643312
When a partial invoice is created from a sale order, the field "note"
in the sale order must be written in the field "comment" of the invoice.
opw:646852
Firefox keep in cache the value of input.
So, when we delete a product line and call location.reload(), firefox
remember the value and state of this input and don't refresh with the new
value.
Adding True as param (forceReload) fixes the problem since it doesn't
use old value. Another way will be to add autocomplete="off".
ForcedReload (Optional): Is a Boolean flag, which, when it is true, causes the
page to always be reloaded from the server. If it is false or not specified,
the browser may reload the page from its cache.
This closes#7888#3342#7491
The function "_timesheet_ca_invoiced_calc" must not take lines from invoice in state "draft" or "cancel"
to compute timesheet_ca_invoiced. Inspired from function "_ca_invoiced_calc".
opw646602
Authentication modules are supposed to override res_users.check_credentials()
in order to plug in their own mechanism, without actually modifying the
behavior of res_users.check(), res_users.authenticate() or
res_users._login().
auth_openid was incorrectly overriding check() instead of
check_credentials(), and unnecessarily accessing private
attributes of res_users. Fixing the implementation of auth_openid
to follow the API means we can completely make those attributes
private.
Authentication modules are supposed to override res_users.check_credentials()
in order to plug in their own mechanism, without actually modifying the
behavior of res_users.check(), res_users.authenticate() or
res_users._login().
auth_openid was incorrectly overriding check() instead of
check_credentials(), and unnecessarily accessing private
attributes of res_users. Fixing the implementation of auth_openid
to follow the API means we can completely make those attributes
private.
When pack operations generate extra moves, they should
take the same procurement group as those of the picking.
That way, when invoicing, they will be put on the same
invoice when there is a different invoice address on the
sale order.
In "Payment Follow-up" when clicking on "Send Overdue Email"
if contact with type = "invoice" and an email exists in the childs then
the email will be send to this contact else the normal behavior
is kept. When the overvue email is sent to a contact who is not the commercial
partner, a message is written in the chatter of the commercial partner to inform him
that the email has been sent to the "invoice" contact.
Closes#7870
opw:646149, 646575
The group applied on the purchase invoices stat button
was "Accountant", while "Invoicing & payments" is enough.
That way, the customer and purchase invoices stat buttons
have the same group applied, which makes sense.
opw-646748
Using a selection field as color filters in a calendar view
had as effect to display the second letter of the state name
(The state name string, index 1)
as filter, instead of the full state name.
Besides, the colors of the filters did not match.
e.g., Sales > Sales > Sales Orders > Calendar View
opw-646486
The problem originally arises in the frontend (eCommerce). In this case, it is
necessary to switch the user id to the SUPERUSER_ID in order to be allowed to
create a SO. This is done in the method sale_get_order in the module
website_sale. The consequence is that in a multicompany configuration, all taxes
of the product will be retrieved and applied in the frontend.
This fix filters the taxes retrieved to keep only the ones which apply to the
company of the partner, when the user id is SUPERUSER_ID.
opw-645258
opw-645915
Before this addition, cancelling a bank statement line was allowed even if the
bank statement was confirmed. However, when the bank statement is confirmed, it
is not possible to reconcile it afterwards. The consequence is that is was not
possible to reconcile this bank statement line without cancelling the whole
bank statement, and therefore forcing the user to do the complete
reconciliation process again.
With this addition, it is not possible to cancel a bank statement line if the
corresponding bank statement is confirmed. However, we offer the user the
possibility to reset the bank statement to draft through a new button. This new
button will only change the state of the bank statement, and will not modify
the state of the associated bank statement lines. The consequence is that the
user will be able to first set the bank statement to draft, then cancel the
bank statement lines he wants, and finally launch the reconciliation process
only on the lines which were cancelled.
opw-645903
Odoo allows bad formatted emails for partners (and attendees).
Google doesn't.
Therefore, upon sync, if the email is wrong, we do
not send it to Google, to avoid Google being mad at us.
opw-646369
For debugging easyness.
For instance, when trying to sync an event with an attendee
with a wrong email, google failed, it's wasn't easy
to know why from the logs
It is now a bit easier.
opw-646369
Due to the fact the background color was hardcoded, it
wasn't possible to edit the colors of the button link
with the website editor wysiwyg
opw-646655
By default, the argument to pass the record values is `vals`,
not `values`.
Besides, it's not mandatory to provide the argument name
when it's not optional.
opw-646374
Before this fix, a PO line was set as invoiced if all associated invoices were
validated. This is an issue if the invoice_method of a PO is set on 'picking',
and that only a partial quantity is received and invoiced. Indeed, in this case
it was never possible to meet the condition, and the PO could not be set to
'done'.
After this fix, the PO line invoice state is calculated from the invoice state
of the related moves, if the invoice_method of a PO is set on 'picking'. This
is more logical, and moreover this makes possible to set a PO line as invoiced
as soon as all the related moves are done or cancelled.
opw-644399
In the case of a move from an out_invoice not linked to a sale order, the customer taxes set on
the product of this move must be taken into account to create the customer invoice line.
opw:645879
The Journal field is not hidden anymore when filtering on the 'journal_id'. The
reason is that the filter might correspond to several journals. Therefore it is
not possible to know what is the journal corresponding to a given journal item.
The same is applied to the Period.
Fixes#7793
opw-646292
When the invoice is created from the picking, the delivery charges needs to be
converted into the invoice currency. Indeed, there is no currency on a delivery
pricelist.
opw-646148
deprecate phantom_jsfile method, keeping only phantom_js, phantom_js takes a
code argument to run client side only.
Removing phantom_jsfile will allow to switch from phantom to any other engine
such as running google chrome or firefox directly. The only use of
phantom_jsfile was an example.
Pasting from the website to the website could for example copy
t-field="..." which then would easily add an error if e.g a field
is copied to an area where it is not available.
This fix strip the data-oe-... attributes of nodes added to the DOM
when pasting.
closes#7653
opw-644968
The unticked option in Sales settings "Prepare invoices based on task's activities" doesn't
have to uninstall the options "Record timesheet lines per tasks" and "Generate tasks from sale orders"
in Project settings.
When "Prepare invoices based on task's activities" is unticked, this fix avoid to uninstall these options each
time we go to Sales settings because "onchange_task_work" is triggered each time we go to Sales settings.
opw:645833
In commit 43977deb7 a mrp.bom was transformed from a recursive model
which may contains BoMs containing BoMs and so on, to a simpler model
containing a line of products (mrp.bom containing mrp.bom.line).
mrp_byproduct wasn't changed to reflect on this change which caused an
error.
Since there is no product Unit of Sale on a byproduct, the current
behaviour causing the error of trying to multiply based on the Unit of
Sale of the BoM product has been removed.
closes#7806
opw-645639
opw-645640
Remove terms that should not have been in .pot file.
For most of the terms, it is due to the content of <attribute/> tag and fixed
at rev 4e572e351eb in master
Other terms are in translate=off tag so woll no longer be present a next export.
Switch to system random as number generator instead of the
default PRNG, which is not recommended for generating
security-related values such as unique tokens.
(Complements parent commit)
Closes#7761
Switch to system random as number generator instead of the
default PRNG, which is not recommended for generating
security-related values such as unique tokens.
Closes#7761
Commit 856bc6f2b1
may cause an issue if the auth_crypt module
is loaded before the base module. That should never
happen in normal circumstances, but forcing an
explicit import does not hurt and makes it safer.
Closes#6742
When a purchase order line doesn't have a product_id, the current onchange
method would return False as uom_id since b675ff1, thus introducing an issue
since uom_id is required and the field may be not shown (so not changeable).
closes#7770
opw-646088
The fact that it uses the correct template id now, fixes#6860
The read_group calculates the sum for every group for the non-stored fields as it is not possible
anymore to add it in the xml, fixes#6638
The read_group simply searches for all products in the group and sums the totals of the fields for these
products.
Due to commit 1576bc9891,
when name_search() is called on analytic accounts with
multiple path components (e.g. A/B/C), the intermediary
searches are done without the extra domain criterions,
because they should only apply to the leaf.
However because the limit was applied for each step
of the multi-path search, it was quite likely that
no valid results were found in the final filtering,
returning no result at all.
In fact the intermediary steps should not apply the
limit at all, because the leaves we're looking for
may actually be located under parents that are not
found when the limit is applied on each step.
This commits removes the limit (hopefully without
too much of an extra penalty for large databases)
It also introduces a better fallback in case the
multi-path search did not produce any result,
for example if the name of the lead really contains
a '/', and it was not meant to be a path separator.
The next action date (date_action) should be red if in the past, not if the
deadline date is in the past.
Introduced at 9f68a37
Courtesy of @sve-odoo 🎅
When clicking on the BOM state button from product.product, and clicking
on create afterward, it must open mrp.bom view with the product and product variant
already set(as with product.template).
opw:645045
If the price in a price list line is based on "Supplier Prices on the product form",
the model "product.supplierinfo" and "pricelist.partnerinfo" must be readable by the
public user.
opw:645709
Display claim_count and claim_count_out only to salesman and contact creation
group members as it requires these access rights to be computed.
Fixes#2458, Closes#7734
The state of a crm claim has been removed in f14eddb.
Thus, it is not possible to know the closure date and this commit hides
the field in the view.
opw-645826
A jquery selector $('td[id^=]') may have been valid once uppon a time,
but it cause error on current jquery versions.
Also in some case when we want to add a field on a view, there may be
a mess to detect the parent.
opw-645557
Unlink typical domain evaluation (ir.rule, filters,...), the evaluated domain
for automated actions did not included time in the context so it was not
possible to make time based conditions in domain.
This should be used with care as filters 'Based on Timed Condition' are still
possible and will probably be enough (and safer) in most cases.
The field "state" in "sale.report" model must consider the state used
by "sale.order.line" to be consistent with the view created in this model.
The function _sale_count in 'product.product' model must return
the number of product included in a "confirmed" or "done" sale order line.
opw:644200
If the variants are displayed by list of attributes, the image of a
product displayed would be updated to the image of the first variant.
But this was not done when using the customizing option "List View of
Variants".
opw-645729
Accessing the phonecall and the lead do not require the same permissions so
should not be computed in the same method.
The effect of the multi was already lost as the phonecall_count was already
computed in another loop.
Add the phonecall_count button in a second view to make the computation only if
the user has the requried access rights.
Fixes#2458
When the max seats available is set to 0, there should not be a limit to
the seats available.
Previously this was not taken into account in the frontend event ticket
sale, so an event would appear to be sold out.
fixes#6999
opw-645542
The onchange on partner field must not fill the company name if
the partner is not a company or not in a company. If the partner
is not a company, the contact name field must be filled with the
partner name.
opw:644878
Delete the code introduced by 656f8241d5
Group by didn't work in calendar tree view, group of records showed (0)
as number of related records for each group.
closes#7602
opw:644735
When calculating the cost, quantity did not take the product efficiency into
account when calculating the cost. The quantities on the MO order were correct,
but not the cost that needs to be increased to compensent efficiency.
Closes#5927Closes#7648
When doing a copy of a google drive spreadsheet (in google_drive.py's
copy_doc method, using the following google API call
https://developers.google.com/drive/v2/reference/files/copy). Google
server return an error if we used the old spreadsheet KeyId.
The new FileId is available in the AlternateLink and this commit updates
it.
closes#7660
opw-644889
In backend, the method "_unit_compute" doesn't round the fixed tax amount
before adding to "cur_price_unit" in the case "tax.include_base_amount".
opw:644421
When giving back change, prioritize the same cache method as the one that was
use for the transaction.
This prevents cases where cash input is registered in journal B and change in
journal A.
Fixes#6975, closes#6976
The commit 312b85e added a reloading of the chatter messages after
closing the mail composer. But e.g in Messaging > Inbox a simple reload
isn't enough. For now this commit restrict the reload to chatter logs
(e.g the chatter of a quotation).
related to PR #7596
In order to fix Python bug https://bugs.python.org/issue16041
a maximum line length was introduced in poplib when reading
email contents from the POP3 server.
That limit is set to prevent DoS attacks via malicious POP3
servers.
The default limit (2048) seems to be too low for emails
commonly found on the internet, retrieved via POP3 from
popular mail services such as GMail, Hotmail, etc.
(The POP3 servers might send back the lines verbatim
without splitting them up)
This is discussed in follow-up Python bug
https://bugs.python.org/issue23906.
Workaround implemented by forcing a higher default limit
to accomodate POP3 responses with lines up to 64KB.
Once the document module installed,
It was mandatory for a user to have the
Knowledge User group in order
to edit/unlink an attachment, even
if this attachment wasn't using
the document directory feature
opw-644712
Fixes#7599
4adb4b8d15
corrected the fact the quotation email
wasn't sent if you did not come back
from the payment provider
(when you closed your browser after
the payment but before coming back
to Odoo).
Before the above revision, the quotation
email was sent for payment methods
not redirecting to payment providers,
like transfers. It was no longer the case
with the above revision.
This revision re-introduces this behavior:
If there is a feedback from a transaction,
but the transaction isn't confirmed,
we send the quotation email without confirming
the sale order, like it was the case before
opw-644670
Always reload the message after the mail composer message is closed.
Since there is several unrelated model it would probably messy to go
from the mail thread to the mail composer popup to see if a new message
is posted (or get it and add it in the chatter like done in the simple
message editor).
With this change, anytime the mail composer modal is closed the mail
thread messages are reloaded.
closes#7596
opw-644406
In the tree view, the domain for the field `analytic_account`
was already
`[('type','in',['normal','contract'])]`
It's therefore normal to apply the same domain for
this field in the form view.
Closes#2733
When the view form is loaded passing by the kanban list, the kanban
dataset data could be loaded after the view form is displayed.
When going manually to the view form, the human is usually enough slow
so the dataset ids are already loaded, but when loading directly the
view form (for example an "Edit" link from a record on the website or a
refresh) it can not be. For example on runbot the issue happened more or
less 50% of the time, and on localhost 90% of the time.
closes#7525
opw-642636
If too many tags (or too long tags) where present in a many2many tags
widgets, it could go over the field and cover other thing in the UI.
Now the field size expands with the content (and in a way it is more
visually similar before and after 'Edit' so it is nice).
closes#7579
opw-644236
When name_search is called with an extra domain
filter (args) and a pattern (name) containing
multi-level accounts, such as `A / B / C`, only
the last account (`C`) has to match the domain.
The intermediary parent accounts do not have to
match.
The domain was previously applied for each parent
in the lookup. This prevented searching for
multi-level accounts or copy-pasting full account
names whenever a domain was present and did not
match every account in the hierarchy.
In case you customize these emails, you do not want
to have them reset when you update the module (-u)
Same thing for the two default value in this file
for event.type
opw-644082
The field property_account_position is added by the view
account.view_partner_property_form which is restricted to users with accounting
rights. If tired to access the view, the inheritance made on l10n_ro would fail.
Fixes#6952
In the receipt report, the quantity decimal precision
was hardcoded to 0, while it should use the decimal
precision from the field definition.
opw-644507
There is no easy way to edit the values sent
to newly generated users from oauth_signup.
In some cases,
the mapping from an oauth provider can be different.
* ex: login is something other than email
In other cases,
there are additional fields in res_users added by a module
* ex: firstname and last name in `partner_firstname`
This factorization allows modules inheriting from `auth_oauth_signup`
to alter values sent to the copy of Template User.
This means smaller changes to the default behaviour
and the ability to properly inherit
(multiple times if needed)
this module without losing needed behaviour.
Closes#2355
Not just when coming back from the payment provider to the
payment validation route `/shop/payment/validate`.
Otherwise, if you do not come back from the payment provider
page, that you quit just after having paid but just before
being redirected to Odoo, you do not receive the email.
The change within the `sale` module, while this issue concerns
`website_sale` only, has been accepted because this is a mechanism
that could be used by other modules.
opw-644348
In the aged balance report, the reconcile entries are excluded
except if the reconciliation date is greater than the date for which the aged balance report is requested.
But this exception should never include opening entries.
opw:643172
The amount to pay must be sent without comma to ogone.
e.g., for 66.99 EUR, the amount sent must be 6699.
To do that, we simply applied 66.99 * 100, which
seems rather good.
However, due to the fact how floats are handled in computers,
`66.99 * 100` returns 6698.999999999999
and
`int(6698.999999999999)` returns 6698
while we expected 6699
Using `float_repr` with `0` as decimal precision
instead of using `int` solves this issue.
`float_repr(6698.999999999999, 0)` returns 6699, as expected.
The valuation wizard is based on stock moves and currently only takes into
account the moves which have different companies in source vs destination
locations.
This is a problem because all user-created locations have a default company set
to the user's company, even the "virtual" ones. For example in the demo dataset
visible on runbot, some supplier locations have a company set and some don't.
So we have to make sure to include every move coming from/going to
outside locations based on the locations's type too.
Closes#7530
Method action_produce does not support the case where the same product appears
on multiple lines. We do this to avoid major changes in a stable version.
opw-644093
When building a new suvery, and sending invitation
trough private emails, it wasn't possible
to fill the survey from the link sent
if you were not logged as the user who sent
the invitation, or as a survey manager
opw-644210
Fixes#7486
The menu entry in Warehouse > Current Inventory Valuation is a shortcut to the
same results as the wizard in Reports > Warehouse > Valuation. However when
using the "current valuation" menu entry, the list is given without grouping by
product and location, so it's basically just a glorified list of stock moves
that no Warehouse manager is going to understand.
Let's just add the same default grouping to let the results make sense.
Closes#7531
A log analysis showed that the normalized query below was executed very often
with a slow explain plan using a seq scan.
```sql
SELECT move_id, date
FROM account_move_line
WHERE journal_id = <journal_id>
AND period_id = <period_id>
AND create_uid = <user_id>
AND state = 'draft'
ORDER BY id DESC LIMIT 0;
```
This query is called in the _default_get of account.move.line to find the last
unbalanced move line.
The existing index can be improved to cover this query as well, showing an
impressive improvement of the explain plan as explained here:
https://github.com/odoo/odoo/pull/7430#issuecomment-119521031Closes#7430
When a PO is created automatically from a procurement, the fiscal position is
not chosen correctly. We need to choose the fiscal position in the same way if
the PO is created manually or automatically.
Follows commit 1062905acbFixes#3863
opw-643916
It is necessary to round the quantities with the appropriate precision. Indeed,
since onchange_quantity and onchange_uos_quantity trigger each other indirectly,
it is quite easy to fall in an infinite loop if the uom and uos precisions are
different.
Follows commit 6e346f0adb
opw-643651
The behavior of the datetime widget was to focus in the field every time a date
is chosen. This causes an issue if the datetime widget is called from an
editable list. Indeed, the list editable will consider that the value has been
set, and therefore the value will not be changed anymore if the user choses
another date.
The new behavior is to put the focus only when the date picker is hidden,
therefore the editable list will consider the value set only when the selection
is done.
opw-644062
Fixes#7463
To be consistant with the results of _get_stock. Otherwise search made on
stock_available may not display results with the same value than the search
criteria.
Fixes#3976
When we go from one field to another via the tab key, in the form view what happens is:
{{we get a blur from the current field}}
-> if [[widget was not in state clicked (which can be gotten for example by clicking on a focused field)]]
-> blur event is cancelled,
-> the blur event is set to be triggered soon
-> the clicked state is set to false
{{we may get a focus for the next field}}
-> if [next field get an onfocus event]
-> blur event is cancelled,
So if :
- the state is not clicked and,
- the next field don't get an focus event.
We get a blur event which will either save (if a field value has been changed) or cancel
the form view editing and will hide the current edition, hence losing the focus.
For example, it happens on a readonly fields with field containing an `<a />` tag, on
some browser (for example google chrome), the focus event will not get triggered (it still
work if we were in a clicked state) so we can't cycle thought a list editable cells if there is a readonly field in it.
closes#7446
opw-643718
If 'Product UoS' has a higher precision than 'Product Unit of Measure', the
method onchange_uos_quantity will be called over and over by an infinite loop
if 'product_uos_qty' doesn't have the sufficient number of decimals.
opw-643651
The product_id_change method of sale.order.line
ignored the passed context.
The context was simply overwritten,
which is no a good practice.
Besides, it prevents customizations.
Closes#7447
opw-643983
Use the lang from the sale order's partner when updating suggested
product line. To achieve this, the onchange has been replaced by an
onchange of the new api which gives access to all the fields.
closes#7268
opw-643098
When sending an email from mail.compose.message using a template, the system
should use the outgoing mail server associated to the template.
Introduce context hack to keep these values.
This should NOT to be forward ported to version 8 where a proper fix exists.
Fixes#3848
This reverts commit 2f5d681135.
The previous commit was intended to fix a wrong assumption in case the
purchase uom was different to the standard uom.
The wrong assumption:
- price is related to purchase uom
- therefore it was tried to convert the bom price accordingly
- as the price needs to be already in standard uom it does lead to a
wrong calculation now
Closes#7421
To determine the account.move.line to reconcile, first it tries to match with
the ref and the amount of the account.bank.statement.line and if it doesn't match,
it just tries to match with the amount.
opw:643867
If copy=True for production_id, a move created from a push rule will be added
in the list of Product Produced. Therefore, we must set manually the value of
production_id of the scrapped moves.
opw-643877
Besides, the test was particularly useful:
It tested that when 'Buyer' was sent as firstname
and 'Nobert' as lastname to Authorize,
authorize returned the opposite, 'Norbert' as firstname
and 'Buyer' as last name.
In the partner model, there is only one field `name`.
The first name and the last name are not within two
separated fields.
By assumption, the firstname is written before the last name
(first <> last)
This assumption should be kept when sending the
first name / last name of the partner to the payment acquirers
e.g. Paypal.
opw-643120
When duplicating analytic accounts, child accounts are duplicated as well.
The custom copy method removes the analytic lines but this applies only on the
first copy. As the copy_data method recursively copies child accounts, these
child accounts did not use the custom copy method but the basic copy_data.
Move to copy_data
Fixes#6368, lp:1149676
Ship in 2 steps:
The Packing zone location is inactive but it is used by default as destination
location (instead of Output) in the Pick operation.
opw-643734
The field display_name is present in account_report_company but not in base
on the res.partner (has been added in v8 in base).
Create a hook method to keep using the slow CASE in base and switch to the
faster display_name when installing account_report_company.
When you apply payment in POS,
it takes current time for "date" field
on bank statement line,
but should use context_timestamp to take care
of user timezone adjustments.
Example:
If user is in time zone GMT-6:00,
then after 6:00pm all bank statement lines will be recorded
with date of next day, and all closing reports and related
accounting will be wrong!
Fixes#2199Closes#2200
When a landed costs is applied on goods that are already out, these landed
costs need to be subtracted in the stock valuation account and added in the output account.
(they were just added before)
When the landed cost is negative, it needs to do the opposite for what is already out also.
When the public user comments the website, he will be redirected
to the login page and his comment will be posted with his logged
user name.
opw:643412
This is related to rev. 55b7f15ee2
Prevent crash when there is no line to display
in the stock valuation report
Reporting > Warehouse > Stock Valuation.
Like when there is not yet any data, or the filter gives no result
opw-643748
While working on project task it is possible
to record "task work" that will automatically
create timesheet lines. These are not by default
included into any timesheet, but they need to
appear in reporting nonetheless.
These lines disappeared from the analysis view
after the performance improvement of
rev. fe31451899
which introduced a JOIN with the `totals`
CTE table - and should have been LEFT JOIN.
When printing these reports from the accounts list
Accounting > Configuration > Accounts > Print menu > General Ledger
the ID of the wizard was considered as the ID of an account,
leading to obvious issues when this ID wasn't available
in the account_account table, or when the user
do not had the access rights to see the accounts with this
ID.
The override was completely useless: The wizard is
launched whether you print these reports from
Accounting > Reporting > Legal reports > Accounting Reports
or from the accounts list, and the super _get_account can
be called correctly for these two use cases.
opw-643589
The precision of the field 'hours' in project.task.work and the precision of
'remaining_hours' are not the same. This is why the difference between them can
generate some very small negative difference which implies an infinite percentage for
the working progress time.
opw:643649