Commit Graph
102197 Commits
Author SHA1 Message Date
Nicolas Lempereur 2790bb4492 [IMP] web: minor css fix SelectCreateDialog
related to opw-657349
2015-11-27 15:08:43 +01:00
Invitu 52d2b7fbcf [FIX] auth_signup: translate password reset email
The password reset email is in the language of the user clicking on the button,
not in the one of the targeted user.

Fixes #9194
Closes ##9195
2015-11-27 15:02:54 +01:00
Invitu 837ef01c85 [CLA] add corporate signature for Invitu 2015-11-27 14:58:00 +01:00
Raphael Collet 5da3a758fc [IMP] base_action_rule: add old_values=None in context of actions done on create
In particular, when an automated action is defined on "create or update",
setting `old_values` to `None` allows to distinguish between a create and an
update.  Note that not setting `old_values` at all may be confusing: on a
create, it may be present because of an outer update...
2015-11-27 14:55:49 +01:00
Raphael Collet 2a1d6f7641 [IMP] base_action_rule: manage recursive triggering of automatic actions
The base action rules manage a kind of checklist with the records already
processed for each action.  This checklist may be populated by recursive calls
on other models (such as the update of relational fields), and guarantees that
a given action on a given record is executed at most once.
2015-11-27 14:55:49 +01:00
Raphael Collet 4bf1eb0bf6 [IMP] base_action_rule: introduce methods _filter_pre and _filter_post
Those methods improve the readability of the code.
2015-11-27 14:55:49 +01:00
Raphael Collet 6cdb388bc7 [IMP] base_action_rule: convert wrapped methods to the new API
This will ease the modification of the processing.
2015-11-27 14:55:49 +01:00
Raphael Collet 88005eaf43 [IMP] base_action_rule: add test on creating two records related by a one2many 2015-11-27 14:55:49 +01:00
Raphael Collet 328f2afc6b [FIX] base_action_rule: add missing field in onchange_kind 2015-11-27 14:55:49 +01:00
Denis Ledoux 03ec39d36b [FIX] models: custom models must add the table/column in database
This revision is related to 1b8c9aed9f

As `manual` is now the default value of the `state`,
if `state` is not given in the values when passed to
`create` or `write` of `ir.model` and `ir.model.fields`,
we must assume the value is `manual`, so the columns and tables
are instanciated in database

opw-657750
2015-11-27 13:58:28 +01:00
qsm-odoo fc731ff4ad [FIX] website_quote: signature color
When signing an online quotation the pen color depended on the theme
that was installed (white when theme graphene was installed).
2015-11-27 13:56:45 +01:00
Nicolas Martinelli 5790475e25 [IMP] account: currency of outstanding payments
Following commit 8a05e585, display outstanding payments in their own
currency.

opw-657151
2015-11-27 12:48:39 +01:00
Nicolas Martinelli e700badfa5 [FIX] account: invoice date of demo data
The invoice date of demo data is changed to match the current
month/year. The original issue is the following:
- install accounting, keep default configuration (company currency: USD)
- add a payment for Agrolait in USD (e.g. $10,000)
- go to customer invoice demo_invoice_2 (which is in EUR)
- the system proposes you to add a outstanding payment to pay the
  invoice -> do it

The invoice is not shown as fully paid, but on the other hand if you
click again to add an outstanding payment, nothing happens.

The reason of this bug is because for this specific bill, the currency
rate has changed between the invoice date and the payment date. The
amount used to pay the bill: this is the price in USD, at the rate
corresponding to the date of the invoice (i.e., what you were supposed
to pay at the time of invoicing). The fact that is does not mark your
bill as paid is also correct: the payment is written with the rate at
the date of the payment, and in this case, the invoice is not fully
paid. You should therefore reconcile the invoice and create a write-off
afterwards to register the exchange rate difference.

This unusual situation (pay an invoice in a different currency, and
moreover the rate has changed) has not been taken into account for v9,
and there is no clean solution which can be foreseen for a stable
version.

However, since this situation arises right away with the demo data, this
can be very misleading for a new user. The fix simply changes the date
of the invoices, so that there will be no rate change between the
invoice date and the payment date with the demo data.

opw-657151
2015-11-27 12:48:38 +01:00
Nicolas Martinelli 83181547f9 [FIX] purchase: stop when PO line found
If a PO line matching the procurement is found, stop the loop. This
would be an issue if more than one line match the criteria.
2015-11-27 12:47:13 +01:00
Nicolas Martinelli 2eccd6352f [FIX] sale_stock: restrict warning message
Warning message should be displayed only for stockable or consumable.
Before this fix, it would also apply to digital products.
2015-11-27 12:47:13 +01:00
Goffin Simon 5216063129 [FIX] website_sale: optional product quantity
When incrementing the quantity of a product in the cart, the optional
products linked to this product must be incremented too.

opw:653351
2015-11-27 12:45:40 +01:00
Nicolas Lempereur 7ddfd6285c [FIX] web_editor: update value at inline html save
In the base summernote library, each event modifying the editable area
DOM trigger an 'onChange' event which update the textarea associated
with the editor.

Some widget (ImageDialog) have been entirely rewritten for Odoo without
copying this behaviour. Hence for those components, if they were the
last to be used and only in the instance of inline backend editor
(FieldTextHtmlSimple widget), before saving updating the widget value by
the current editor value is required.

closes #9784
opw-654240
2015-11-27 12:40:55 +01:00
Géry Debongnie 2c84cd4181 [FIX] mail: various improvements/fixes
- display appropriate message when no results are found in a search
- don't display 'you have been invited' notif when creating private channel
- correctly join when a user was invited in a public channel
- display a message when a user join a channel through an invitation
- don't display subject for message of type notification (still a
  mystery why it happens in test.odoo.com for channel of type mailing)
- better heuristic on when to display message subject
- tweak sidebar text color (slightly whiter)
- add ... to the placeholder of the text area in the composer
- invert send and icons for attach/smiley in composer
- don't display 'read less' on expanded messages
- exclude livechat channels from channel mention suggestions
2015-11-27 11:47:34 +01:00
Aaron Bohy db8203c27a [FIX] base,hr,mail: prefetch mention suggestions
The purpose of this commit is to improve the overall performance of the mention
mechanism of the client action and chatter composer, by pre-fetching some data.

First, the employees are fetched at chat initialization (basically, at web
client initialization), if hr is installed.

Second, when focusing on the composer of a channel, the members of this channel
are fetched. In the case of a chatter, the members are already known as they
are the followers of the document.

When the user types a mention, we first display suggestions from the pre-fetched
partners, and we only perform an RPC when there are no more result matching the
search string. This RPC searches among user, and then partners if there aren't
enough matches.

A few side changes occurred:
  - auto_join set to True on user_ids field of res.partner to boost the query
    that searches partners that are users
  - the '/mail/read_followers' route now returns follower's email as well, as
    we need it for the mention;
  - a partner can now be mentionned several times in the same message;
  - mentionned partner previsualization has been removed, mainly because of
    the previous point, but also because it simplifies the code;
2015-11-27 11:47:34 +01:00
qdp-odoo 9ef3a9296d [FIX] account_bank_statement_import: raise proper error (osv not defined) 2015-11-27 11:05:12 +01:00
Olivier Dony 5b60c30a6a [FIX] l10n_eu_service: no reset of install wizard state
Hardcoding the state to `open` is useless as it is the
default state, and forces the state to reset upon every
update, which is annoying.
2015-11-26 18:15:47 +01:00
Denis Ledoux f9a462f3e2 [FIX] website: different assets_common according to user rights
The content of an asset can change according to which modules
are installed, but cannot change according to the user rights,
according to which user is connected.

Otherwise, the assets is re-generated  and stored
in the filesystem too often, which is against the
concept of the assets.

opw-657046
2015-11-26 18:08:42 +01:00
Denis Ledoux 12f77fa22f [FIX] mail: notify all partners of the thread
As stated in the comment:
```
all notified_partner_ids of the mail.message
have to be notified for the parented messages
```

Record rules are applied when browsing one2many fields.
Therefore, when browsing `message.notified_partner_ids`
with a user other than the SUPERUSER, the multi-company
rules are applied, and a regular user could therefore not see
all partners of the thread, according to which
company the partners are associated with.
Nevertheless, all partners of the thread have to be notified,
including the ones the regular user cannot see.

To reproduce the issue:
 - Create a second company 'Second company'
 - Create a third user, associated to the first company 'YourCompany'
 - Set the demo user as in the 'Second company'
 - Create a project 'test' in the first company, 'YourCompany'
 - In the followers of the project, add the Demo user,
   with as subtypes "Stages changes" only
 - As the third user, create a new task in this project
 - Change the stage of this task, as the third user [this is important]
 - Sign in as the demo user, and see that you cannot access
   your messages inbox, due to an access rights error.

opw-650563
2015-11-26 18:08:07 +01:00
Denis Ledoux 65b170b92c [FIX] analytic: missing depends to report
The model `report.account.report_analyticjournal`
inherit of the model `report.abstract_report`,
which is defined in the module `report`.

opw-657671
2015-11-26 17:22:53 +01:00
Thibault Delavallée fa015c4c2e [FIX] website_forum: edit post with tags
Tags are lost when editing a post as we handle the wrong parameter.
Editing a post should not erase its tags anymore.
2015-11-26 17:00:41 +01:00
Nicolas Lempereur 8423a0df34 [FIX] http: clear environment on checked called rollback
If the current cursor transaction was not empty when using the check
called endpoint, at the first call the cursor would be rollbacked but
the environment could still have outdated values.

This was an issue for example when selecting the route would trigger
database insert, for instance when a model was used in the route and
this model had also translatable prefetchable fields with tokens not
already present in ir.translation

opw-652045
2015-11-26 16:57:03 +01:00
Nicolas Lempereur 9d012d2157 [FIX] tools, base: typo for t-translation 2015-11-26 16:56:53 +01:00
Goffin Simon e9dadadd07 [FIX] account: Bank statement reconciliation
The partial reconciliation can just be proposed on the last selected line when:
self.get("balance") * (last_line.debit - last_line.credit)<0
2015-11-26 16:53:12 +01:00
qdp-odoo 8aeae17d78 [REF] sale, sale_stock: added some comments to clear some aspects of the code related to the last changes on SO (salepocalypse) 2015-11-26 16:42:14 +01:00
Goffin Simon 75534d358c [FIX] account: Bank statement reconciliation
It was impossible to make a partial reconciliation with several lines.
Each time a new line is proposed for the reconciliation, the previous
partial reconcialtion is canceled. The partial reconciliation can just
be proposed on the last selected line when:
self.get("balance") * (last_line.debit - last_line.credit)<0

opw:656501
2015-11-26 16:41:24 +01:00
Xavier, Sodexis 70847ac5c0 [FIX] account_analytic_default: Default analytic account for invoice on delivery
When creating an invoice from a DO,
if there is no analytical account defined on the SO,
then use the default analytical account for that product.

Closes #9725
opw-657492
2015-11-26 16:34:02 +01:00
qsm-odoo bbc67ec402 [FIX] web: export data according to domain
Some accounting model (i.e. account.tax) are redefining the ORM search
method, but with misordered arguments (placing count as fifth argument
instead of context).

For the export function, this lead to have the "context" variable
associated to the "count" function variable. As "count" is then
considered as True, the method returns the number of records instead
of the list of record ids. This then exported the last record (the
count'th one) instead of all the records that matched the domain.

The solution here is to explicitly give the context variable by name.
2015-11-26 15:57:17 +01:00
Nicolas Martinelli 53cb608b17 [FIX] purchase: missing string
Even if the field is used for technical purpose only, it is still better
to define a string for the translation.
2015-11-26 15:46:37 +01:00
Denis Ledoux 1b8c9aed9f [FIX] models: custom fields seen as base fields
This was possible to create custom fields `x_*`
but seen as base fields.

For instance,
 - Go to Settings > Technical > Database Structure > Fields
 - Select a field (any)
 - Click on the model link, to be redirected to the model form
 - Edit & add a custom field from there.
 - Save
 - Notice that the field you just added is saved as a base field.

We solve this issue by assuming that all created fields and models
are customs, except the ones created by the ORM, by the database
initialization, the fields coming from the modules in python.

We therefore remove the mechanism on which a field was set
as custom according to the fact `manual` was set to True within
the context: This is now the case by default.

No change was required for the base fields: The `state` `base`
was already forced for those fields, that are created using
direct SQL requests `INSERT INTO`.

opw-657312
2015-11-26 15:44:29 +01:00
Denis Ledoux 8be7eed9ca [FIX] sale, portal_sale: hide buttons for portal users
When a portal user opened his quotation form,
all buttons of the regular form were available.

They were not working, due the access rights,
but it's better to hide them.

opw-657654
2015-11-26 15:38:08 +01:00
Nicolas Martinelli 86015ac1c5 [FIX] purchase: add missing drop ship address
The drop ship address was missing from the view, making impossible to
specify the address where the products needed to be delivered.

The fix adds the missing field to the view, and make it visible (and
required) if the delivery must be done at a customer location.

opw-657054
2015-11-26 15:16:59 +01:00
Martin Trigaux dd8052a7ce [I18N] website_forum: reexport source terms
Remove incorrect term from calendar and add missing sentence
2015-11-26 15:12:31 +01:00
Nicolas Lempereur 971ea77a44 [FIX] website_forum: typo, entity need double escaping 2015-11-26 15:05:04 +01:00
Denis Ledoux 8c29e7f17a [FIX] sale: Sales filter
The filter `Sales` in the sales orders search views
was defined as
`[('state','in',('progress','Done'))]`
but
 - progress no longer exists. It's `sale` now.
 - `Done` is the label, `done` is the value

opw-657552
2015-11-26 15:02:00 +01:00
Géry Debongnie 7137891a8a [FIX] mail, im_livechat: correctly displayed message date
Messages are required to be displayed in a smarter way: relative to the
current date, if it's a recent message, or absolute if not.  This
commits rework most of the date processing code to comply with these
requirements.

Messages were preprocessed each time a thread is rendered, which is
stupid.  It should be preprocessed only when the message is created.
This was a small problem because livechat does not use the chat manager,
so a simplified version of the preprocessing had to be done.
2015-11-26 14:27:11 +01:00
Denis Ledoux da667b573d [FIX] stock: barcode interface, do not reload locations all the time
Locations were search & read each time you changed
the quantity of a product in a picking.

Once the locations loaded the firs time, this is unlikely
the locations will change during the operation. It shoudln't,
at least.

Therefore, for performances, we avoid to load the locations
each time the picking is reloaded.

opw-648529
Fixes #8344
2015-11-26 14:08:44 +01:00
Nicolas Martinelli bef0da3a7a [FIX] account: Total Receivable and Payable
The fields Total Receivable and Payable are calculated as debit-credit.
However, this leads to a wrong computation if, for example, a payment is
used to pay several invoices. For example:
- Create a customer invoice of 2500 USD
- Register a payment of 3000 USD
The Total Receivable will be 3000 USD instead of 500 USD.

At the same time, this commits changes the sign of the field. The help
depicts the Total Receivable field as "Total amount this customer owes
you". Therefore, one would expect that if the customer owes 250 USD, the
Total Receivable is 250 USD, not -250 USD.

The same logic applies to Total Payable.

opw-657053
2015-11-26 12:19:41 +01:00
Denis Ledoux b27fc372f4 [MERGE] forward port of branch 8.0 up to adf6d0e 2015-11-26 11:24:15 +01:00
Denis Ledoux adf6d0e557 [FIX] sale_layout: remove categ_sequence default value.
`categ_sequence` are stored related fields, to `sale_layout_cat_id.sequence`.
Setting a default value for them has as side effect to rewrite
the value on the related field.

To reproduce the issue:
 - Create a sale layout category, with 10 as sequence
 - Create an invoice with one line, with this sale layout category
 - Come back to the sale layout category,
   notice that the sequence has been changed to 0.

Besides, as the sequence was rewritten on the sale layout category,
the sequence was rewritten on all sale order lines and invoice lines
having this sale layout category.
If you have a bunch of them, this could take a while.

The `categ_sequence` default value is supposed
to come from the sale layout category.

opw-651937
2015-11-26 11:22:48 +01:00
Christophe Simonis 78ea8eb058 [FIX] core: correcly handle pidfile deletion.
As atexit function are inherited by subprocess, the pidfile was always
deleted when the first worker (http or cron) died. Now, only the
process that created the pidfile will delete it.
2015-11-26 10:40:59 +01:00
Géry Debongnie 5b82c9ccb4 [FIX] mail: better heuristic for displaying origin channel 2015-11-26 10:25:44 +01:00
Géry Debongnie a98db07384 [FIX] mail: fix various search-related problems
This commit tries to correctly use messages from the cache instead of all
messages.  This means that we need to correctly add messages to the
domain-specific caches, and correctly invalidate them when necessary.

Also, to avoid increasing the algorithmical complexity of the process,
particular care was made to avoid scanning too many lists.  For example,
the channel caches have now a messages field, instead of message_ids.
2015-11-26 10:25:44 +01:00
Cedric Snauwaert d179a94da6 [FIX] web: list_view, context when doing name_get call in m2m was not compute correctly
this is a backport of commit fd56268c6c
2015-11-26 10:25:15 +01:00
Martin Trigaux 001e558178 [FIX] calendar: do not forwardport .pot content 2015-11-26 10:09:51 +01:00
Denis Ledoux b459c4dc03 [FIX] website: possibility to set no url for the home menu
Unsetting the URL of the menu `Home`,
in Settings > Configuration > Website Settings > Configure Website,
leaded to the unavailability of the website.

opw-657572
2015-11-26 10:02:41 +01:00