Commit Graph
117156 Commits
Author SHA1 Message Date
Martin Trigaux 1a1b0e238a [FIX] l10n_sa: use official currency
Saudi Arabia uses Saudi Riyal, not Egyptian Pound
Introduced at 932748d

Fixes #11741
2017-02-22 09:30:30 +01:00
Thibault Delavallée e2f22fed53 [MERGE] mail: clearly separate email from inbox notification management
This merge changes the way odoo handles notifications. Previously
notifications were sent to the odoo inbox and forwarded by email
depending on a parameter on the partner. Now users choose whether to
use odoo inbox or email but not both. Customers only work using
emails from now on.

This merge also features side commits linked to notifications and mail
like making mail tests less dependent on channels, the removal of auto
read in channels, limitation of assigned emails and project subscription
improvements.
2017-02-21 17:30:38 +01:00
Denis Ledoux 2f66e77fe8 [FIX] account: variable st_line used outside its scope
The variable `st_line` was used outside of its scope,
in the line
`move.line_ids.filtered(lambda x:x.statement_id == st_line.statement_id).write({'statement_id': False})`

It leaded to issues when calling the method
on multiple `account.bank.statement.line`: Only
the items associated to the last line were unlinked

opw-709196
2017-02-21 17:27:44 +01:00
Yannick Tivisse 5d2187539e [IMP] sale: Always show Products menuitems under Catalog 2017-02-21 16:46:27 +01:00
Thibault Delavallée c815509709 [IMP] project: automatically (un)subscribe to all tasks when (un)subscribing a project
When subscribing to a project, an user is also subscribe to all existing
living tasks. Active is defined as active tasks not in a folded stage.
As requested.
2017-02-21 16:45:55 +01:00
Thibault Delavallée 505aa1aa0c [REM] mail: remove auto read in channels
Currently using channels and inbox notifications is impossible because
browsing a channel marks all related notifications as done. If an user
has a lot of pending notifications, he cannot go on a channel linked to
documents he is working on. Indeed in that case he looses all notifications.

Auto-read of notifications is therefore removed. The only way of managing
notifications when working by inbox is either in the inbox menu or either
on documents, as reading a document marks related notification as done.
2017-02-21 16:44:04 +01:00
Thibault Delavallée bda3d214d1 [IMP] mail: limit "assigned" email to people asking to receive emails
Indeed people working with inbox should already see a notification in
their Inbox.
2017-02-21 16:43:42 +01:00
Aline Preillon 2950ffaa86 [IMP] mail: improve notification management, either email either inbox
Currently partners have a boolean field to choose whether to receive
notifications only in their Odoo inbox or to receive them in their inbox
and by email. This leads to several issues :

 * if a customer is configured to not receive emails he will not receive
   any notification on sales orders, leads, ... This is not clearly
   indicated to the salesman and it is not easy to know how to change
   that behavior
 * if an user chooses to receive emails and does not use its inbox a lot
   of notifications stay in Odoo. The user has to manually set them as
   done to make them disappear which is redundant.

This commit changes that behavior. From now on customers will always
receive all notifications by email. Indeed Odoo is not a customer oriented
mailbox. Moreover sales orders or discussions on leads send to customers
should always be sent by email as it is the standard communication
mechanism. Users will be able to choose to receive notifications in Odoo
or by email. The choice is no longer inbox or inbox + email, but inbox
or email. Choosing one option or the other one depends on the way the
user wants to work.

Technically the field is moved on the users model and selection keys
are renamed. Notification process is modified

 * notified_partner_ids contains as before specified recipients as well
   as followers matching the subtype
 * customers and users working with emails are notified. During that
   process customers notifications are marked as done to be able to
   track the email state without having needaction. Users notifications
   are currently deleted as we do not track their email state.

The removal of partner field implies changes in various addons that
define partner data with this field set in the values.
2017-02-21 16:42:11 +01:00
Thibault Delavallée eb3a531666 [IMP] mail: small code linting in notification methods
This commit cleans code to separate recipients computation in mail
message from notification mechanism in partner. There is no functional
change. Some variables have been renamed notably to know that
some of the record sets are sudoed during computation.
2017-02-21 16:41:15 +01:00
Thibault Delavallée 927fbe8845 [IMP] mail: make tests less dependent on mail.channel model
Currently almost all mail tests run on mail.channel model. Indeed it is
the only model inheriting from mail.thread and mail.alias when having only
mail installed. However channel model have several specific features and
is not totally a standard mail.thread model. For example notification
recipients are computed a bit differently.

Since 4f9105a4ef mail module has a test
model allowing to perform tests on a very simple mail.thread-like model.
This commit make mail tests use this test model instead of mail.channel
everywhere it is possible. Channel model should be used only when tests
are channel-dependent.
2017-02-21 16:41:14 +01:00
Christophe Simonis 6c89b2bdd2 [FIX] website: correct access to Website Config 2017-02-21 15:37:07 +01:00
Nicolas Martinelli 73bd7ef0e0 [FIX] hr_payroll: calculation of work days
The current calculation of work days is inconsistent with the leaves of
the employee in several cases.

The core of the problem is the logic of the algorithm: for a given day,
if we can find one hr_holiday within this day, we consider it as a
leave. One can easily spot several issues with the existing logic:
- if an employee takes less than a day-off (e.g. a half day), the
  complete day is considered as a leave.
- the timezone (TZ) is not taken into account when searching for a
  leave, while it is when computing the number of working hours. A leave
  from 3:00 AM to 3:00 PM in the Los Angeles timezone would then be
  considered as two days-off since it spread on two days in UTC.

The logic is therefore completely modified. For each day of the period:
- compute the work intervals (TZ taken into account, converted in UTC)
- search for a hr.holiday which completely includes the work interval
- if a holiday is found, the work interval is considered as a leave.
  Otherwise, it is considered as a normal work period.

This is a first step in improving the logic. The first faulty use case
is partially solved, since we cover now complete work intervals.
However, a leave covering only partially a work interval will not be
taken into account.

The second faulty use case is solved.

opw-707897
2017-02-21 15:28:49 +01:00
Denis Ledoux 534c9e9c15 [FIX] hr_timesheet: computation of the children hours according to the child stage
The below revision:
9bea8a8bd3

Change the behavior on how are computed the children hours
according to their stage fold state, while it was not intended
to. The subject of the above revision was an issue
in the recomputation dependence for the field
`children_hours`, but not how the field was computed.

It's important to count the effective hours when the
sub task is in a final stage (e.g. done) rather
than the planned hours in this case.

opw-709008
2017-02-21 15:12:44 +01:00
Denis Ledoux de57e638c2 [FIX] hr_timesheet: children_hours computation
The computation of the `children_hours` wasn't
reset at each compute, and they ended up
to be added at each recomputation involving
the method `_hours_get`

This is a regression during migration to the new api
in revision
e6ac7a7d25

opw-709008
2017-02-21 15:12:44 +01:00
Denis Ledoux 9e7bc3623a [FIX] hr_timesheet: recomputation depends of the task progress
The task progress value depends on the stage of the task,
if it's a folded stage or not.

If the task was being changed of stage, from
a non-folded stage to a folded stage,
the recomputation of the progress was not done,
while it was needed as a task in a final
stage is considered to be done.

This is a regression during migration to the new api in
e6ac7a7d25
2017-02-21 15:12:44 +01:00
qsm-odoo c5779ec30d [REF] *: replace uses of "<>" in xml domains by "!=" 2017-02-21 13:33:32 +01:00
Denis Ledoux b7dffb59ff [FIX] link_tracker: convert link with ampersand
Links containing HTML escaped characters,
such as the ampersand
`&` escaped `&amp;`
were not shortened correctly:
Their redirecting URL contained the escaped value
(e.g. `&amp;`) instead of the actual character,
leading to the wrong redirected URL.

e.g. creating a mass-mailing with a link
contains as query string
?test1=1&test2=2 were shortened
with as redirect link
?test1=1&amp;test2=2

opw-708272
2017-02-21 12:26:02 +01:00
Simon Lejeune 68745f8041 [REV] website_sale: Enable billing/delivery address on checkout process
This commit break the shipping form for public and portal user.

This reverts commit d3ff48533f.
2017-02-21 11:46:57 +01:00
Nicolas Martinelli 05810dc7de [FIX] base: default partner email
In a lead:
- Fill in contact information (phone, address, email...)
- Create a new contact

All information is copied to the new contact, except the email.

opw-706711
2017-02-21 11:04:54 +01:00
Goffin Simon 79d88494d6 [FIX] stock: Customer address in deliveryslip
When there is no move line linked to the picking, the customer address must
be the address of the partner linked to the stock.pick

Fixes #15092

opw:707890
2017-02-21 10:56:19 +01:00
Thibault Delavallée 80d26e26bb [IMP] mail: notify author of internal notes when replied through gateway
Currently if an user mentions someone in an internal note he is not
notified of any reply as replies create internal notes. This commit
ensure the author of the first note is notified of the reply even
if it is still an internal note.

Tests have been updated accordingly.
2017-02-21 10:39:43 +01:00
Thibault Delavallée 1d9052fc19 [IMP] mail: add tests about replies to internal note through mailgateway
Replying to internal notes should create internal notes and should
not notify anyone. Future commit will change that behavior. This
commit ensure the current behavior is working as intended.
2017-02-21 10:39:43 +01:00
Thibault Delavallée 21720f0a3f [FIX] mail: slighty improve notification email layout
* Limit company image to match buttons size and avoid badly
   sized image
 * Add a margin below internal note notice because it currently
   overlaps with actual email content
 * Avoid having signature direclty included in message by
   enclosing body in a div
2017-02-21 10:39:42 +01:00
qsm-odoo b4d8a270e1 [FIX] web_editor, website: restore content menu feature
Commit 3c9e6c89e7 made big changes to the
link editor dialog... but also broke many features with it.

Commit 9a1ea6dc08 already fixed some of
them but this commit fixes a bigger one. Indeed, the menu edition
feature was totally broken since the changes. Also, the DOM was messy
which broke form navigation, etc.
This commit also simplifies the LESS which was uselessly big.
2017-02-20 17:37:15 +01:00
Florent de Labarre a5361605cb [IMP] account: hide deprecated accounts
To be consistent with other domain added at ee97028

Closes #15432
2017-02-20 16:29:10 +01:00
Denis Ledoux 3598538b57 [FIX] sale: Hit the Sales button of an archived product
Without passing `active_test=False` in the context,
a one2many fields exludes the record with
`active` set to False.

For an archived product template, this means
`product_variant_ids` returned an empty array

opw-708828
2017-02-20 16:29:07 +01:00
Levent Karakaş a6c2210770 [FIX] hr_payroll: sum correctly category code
If amount = 1 and the category amount = -1, the sum is 0 and the returned
value was amount instead of zero (`0 or amount`)

Avoid this evalution error by splitting on multiple lines

Closes #15470
2017-02-20 16:19:12 +01:00
Goffin Simon e2bbee6df5 [FIX] crm: Creating an opportunity from the pipe
When creating an opportunity from the kanban view with the crm.lead.form.simple,
setting the partner_id didn't set the fields email and phone by the onchange.

opw:708514
2017-02-20 16:16:24 +01:00
Jose Suniaga [Vauxoo] 03bb76d3b7 [FIX] l10n_cr: wrong reference in partners titles
When installing costa rican localization the partners titles has
a wrong reference to base module that cause a warning messge in
server log. In total the localization had 8 partners titles that
not exists in base which was removed the reference and another 2
that exists in base but not had any difference.

Courtesy of Vauxoo.

Closes #15495
2017-02-20 14:59:16 +01:00
Denis Ledoux b36b79cfbc [FIX] hr_expense: hook to allow override the payment values
As it's done in
https://github.com/odoo/odoo/blob/10.0/addons/account/models/account_payment.py#L149

This is to allow `hr_expense_sepa` to inject the bank account
when creating the payment.

opw-708451
2017-02-20 12:49:52 +01:00
Goffin Simon f63fb28579 [FIX] rating: Typo error
When record.id was not in the dictionary result, it raised a error.

opw:709072
2017-02-20 11:40:19 +01:00
Goffin Simon 32e0f0954f [FIX] crm_claim: _claim_count
When clicking on the smart button "Claims" of a contact, it shows
a tree view with all the claims of this contact and his children(because
the domain on the filter is [('partner_id','child_of',self)]).
So the function _claim_count has to return the sum of the # claims
of a contact and the # claims of the children of this contact.

opw:708698
2017-02-20 11:36:11 +01:00
David Arnold 99f365523b [IMP] base: allow to extend synched of company address
To easily add fields

Closes #15213
2017-02-20 09:27:31 +01:00
Goffin Simon 6c1aeceffb [FIX] purchase: purchase: null stock_moves creation
Link to this commit: 40507c4
To have the same behavior as in 10.0

opw:708099
2017-02-20 09:16:06 +01:00
gilvanleal e1045e4625 [FIX] doc: correct server action variable name
self is not defined, use model instead

Closes #15556
2017-02-20 08:46:52 +01:00
Odoo Translation Bot 2ab080bcae [I18N] Update translation terms from Transifex 2017-02-19 04:30:24 +01:00
Odoo Translation Bot 0616016b47 [I18N] Update translation terms from Transifex 2017-02-19 02:54:42 +01:00
Odoo Translation Bot e2bbb01665 [I18N] Update translation terms from Transifex 2017-02-19 00:30:54 +01:00
Denis Ledoux 1a9a082d10 [FIX] web: create="0" in many2many list views
The revision
dd657c42f7

intended to give the possibility to add an existing
record to a many2many list even without the `create` access
on the model of this record.
This is accepted by the ORM, as there is no need of the create
right on the model, only the write on the source model on which
the many2many field is.

The revision has as unexpected side effect to remove the possibility
to manually set `create="0"` on the tree of a many2many field,
to hide the "add an item" of the list view.

As this last feature is more important, we therefore revert this.

We will provide another solution for the above issue.
We think about forcing what the view definition says, so if you
set create="1" on the view, it will display the "add an item" link
in any case, even if you do not have the access right to do it.
This would allow to display the link for the above case, and in case
you actually do not have the access right, and this is an error
in the view definition, you will have an access error raised anyway.

opw-708310
2017-02-17 18:21:45 +01:00
Adrien Peiffer (ACSONE) a587fde991 [FIX] web_calendar: translation for title on calendar form
The previous code (`parent.field_widget.string`) was returning the untranslated
action name (and why use parent anyway?)

Use the action name instead.

Closes #15207
opw-705938
2017-02-17 16:45:05 +01:00
amoyaux 0a28b776ff [FIX] stock_account: costing method on product category
The field "costing method" on the product.category only appears when
the inventory valuation is set to "perpetual (automated)" which is
wrong. The user must be able to choose the costing method no matter
which inventory valuation method is chosen.

The problem is due to this commit b6a2c0a4ce
that changes the xml view and make the field invisible if the inventory
valuation is set to "Periodic (manual)".

This commit revert the change on the xml view and thus add again
the group attribute that should not have been removed.
2017-02-17 16:29:17 +01:00
Yannick Vaucher 346e6d2591 [FIX] sale: use correct decorator on prepare method
In `_prepare_procurement_group`, self.name is accessed.
The method should then use api.multi instead of api.model
Can not backbport as may be problematic if override in old API

Closes #15510
2017-02-17 16:17:05 +01:00
Paulius Sladkevičius 32041a7f67 [CLA] company merge of HBEE and Versada
Closes #15546
2017-02-17 15:43:46 +01:00
Jeremy Kersten d4fdf7851f [FIX] website_sale: fix typo in sort by introduced by fwp #c292202 2017-02-17 15:39:03 +01:00
Luis Ernesto Torres Macías 4cb1750a61 [FIX] base: correct Mexican state code based in SAT catalog
The SAT provide this catalog to state codes:
http://www.sat.gob.mx/informacion_fiscal/factura_electronica/Documents/Complementoscfdi/catNomina.xls

This attribute is required in payroll v1.2.
Previous code version did not match the validation

Closes #15535
2017-02-17 15:04:56 +01:00
Wolfgang Taferner 17caa7076d [FIX] point_of_sale: restore removed but used images
Used in the big scrollbars display in CSS

Closes #15523
2017-02-17 15:00:05 +01:00
Denis Ledoux e5747410c9 [FIX] product_visible_discount: sale price for pricelist based on other pricelist
For a pricelist based on another pricelist,
the price of the product is the price in this other
pricelist.

To get the price of a product in a specific pricelist,
the field `price` must be used, along with the right `pricelist`
passed in the context when browsing the product.

Without this, the sale price is considered the sale price
indicated on the form, in the product company currency,
while the pricelist on which is based the currenct pricelist
could give a specific other price, in another specific currency.

e.g.:
Watch, Sale price 690CHF
Public USD Pricelist, setting the sale price of the watch to 790 USD
Reseller USD Pricelist, discounting 60% based on the public pricelist price, discount shown.

Before this revision, the sale price of the watch was marked
690 USD, with a sown discount of 54,xx %

With this revision, the sale price of the watch is marked at
790USD, with a shown discount of 60%, as expected.

opw-708301
2017-02-17 14:54:46 +01:00
Denis Vermylen 0a989d6532 [FIX] hr_holidays: fix refusing multiple leaves
wrong use of self in loop, should've been holiday.
2017-02-17 14:12:53 +01:00
Florent de Labarre 942d8a2c3f [FIX] product: complete name_search
The name_search was not working properly if limit=None is specified (e.g.
searching for the search bar on a many2one field to product.template).

As `any int > None` is true, the condition is always validated as soon as the
search returns at least one result.
The product.product search has no limit parameter and use the default 100.
If the 100 first products have only a few templates (a lot of variants), the
result will be incomplete as stopping after the first iteration.

Closes #15477
2017-02-17 14:11:28 +01:00
Yenthe V.G 731569aed2 [CLA] add Wardm95 to VanRoy CCLA
Closes #15548
2017-02-17 13:52:08 +01:00