Commit Graph
102197 Commits
Author SHA1 Message Date
Josse Colpaert f102a8bc23 [FIX] stock: in assign method, to force_assign moves should avoid duplicates courtesy of Wolfgang Taferner closes #8522 2015-10-16 15:12:36 +02:00
Goffin Simon 91e897618b [FIX] website_sale_options: currency in modal
Inspired from template product_price in addons/website_sale/views/template.xml
because the price displays in this template must be the same in the website_sale_options.modal

opw:652209
2015-10-16 14:48:13 +02:00
Goffin Simon b00f0185a2 [FIX] models: read_group on many2one fields
When making on model A a read_group with groupby equal to a many2one field F1 to a model B
which is ordered by a inherited not stored field F2, the group containing all the
records from A with F1 not set was not returned.

Example:
model A= "hr.applicant"
model B= "res.users" (_order = "name,login")
inherited model= "res.partner"
field F1= "user_id"(to "res.users)
field F2= "name"(inherited from "res.partner")

In this example, the query generated by the function "read_group" was:

SELECT min(hr_applicant.id) AS id, count(hr_applicant.id) AS user_id_count , "hr_applicant"."user_id" as "user_id"
FROM "hr_applicant" LEFT JOIN "res_users" as "hr_applicant__user_id" ON ("hr_applicant"."user_id" = "hr_applicant__user_id"."id"),"res_partner" as "hr_applicant__user_id__partner_id"
WHERE ("hr_applicant"."active" = true) AND ("hr_applicant__user_id"."partner_id" = "hr_applicant__user_id__partner_id"."id")
GROUP BY "hr_applicant"."user_id","hr_applicant__user_id__partner_id"."name","hr_applicant__user_id"."login"
ORDER BY  "hr_applicant__user_id__partner_id"."name" ,"hr_applicant__user_id"."login"

which always returned "hr.applicant" groups of records with a "user_id" set due to the inner join maked on res_partners.

This inner join on "res_partner" is coming from function "add_join" calling by "_inherits_join_add"
in _generate_order_by_inner.

Introduced by dac52e344c

opw:651949
2015-10-16 12:11:31 +02:00
Martin Trigaux 6b84b08928 [FIX] hr_equipment: typo
will be fixed properly in master
2015-10-16 12:02:38 +02:00
Martin Trigaux c435db03a3 [FIX] account: typo in field definition
createS
missing 'when'
anly -> only
2015-10-16 11:53:40 +02:00
Carlos Almeida 1fdd5cf975 [FIX] base: BRL currency position to before value
Closes #9098
2015-10-16 11:35:55 +02:00
Nicolas Martinelli de1fb68444 [FIX] google_calendar: fix error type
The call to delete_an_event calls the method _do_request, which will
throw a urllib2.HTTPError.

opw-652219
2015-10-16 10:26:41 +02:00
qdp-odoo c1920951ec [FIX] purchase: fixed onchange of product that wasn't setting the supplier taxes 2015-10-16 09:53:25 +02:00
qdp-odoo af0f33a475 [FIX] stock_account: raise proper error when the valuation accounts aren't set on the product category while trying to process a stock move for a product in perpetual valuation. Fixes #8873 2015-10-16 09:41:25 +02:00
Goffin Simon a8fa06867b [FIX] procurement_jit_stock: Cancelled MO
To avoid running  procurement in exception or cancel state.

Before the fix:

After cancelling a MO, when recreating the delivery order linked to the sale order in state
"Shipping Exception" the system generated 2 more copies of MO (1 Extra) instead of just one
for the cancelled MO.

After the fix:

Just one MO is recreated for the cancelled MO.

opw:650395
2015-10-16 09:04:09 +02:00
Josse Colpaert 1456262801 [IMP] mrp: remove domain for analytic accounts referenced as they don't have type view anymore (and no type also) fixes #9063 2015-10-15 17:09:14 +02:00
Goffin Simon 81f34b977b [FIX] event_sale: get_default function
The get_default function must return the values to write in the same format
as in get_default defined in openerp/models.py

opw:652095
2015-10-15 16:55:33 +02:00
Nicolas Lempereur feff0c7b64 [IMP] website_payment: visual fix if no payment acquirer 2015-10-15 16:44:57 +02:00
Denis Ledoux 6d42788bfb [MERGE] forward port of branch 8.0 up to 8d4ca3d 2015-10-15 16:27:20 +02:00
Richard Mathot f820daf43c [FIX] survey: bad groups for menus
Regular users should be able to see the Answers to a Survey, but the
messy configurations menus should be in technical features
2015-10-15 16:13:27 +02:00
Nicolas Martinelli 8d4ca3d787 [FIX] mail: localize display date in chatter
This will display the localized date in the chatter.

opw-651625
Closes #9038
2015-10-15 15:02:03 +02:00
Nicolas Martinelli 16f3e3c87e [FIX] mail: localize display date in chatter
This will display the localized date in the chatter.

opw-651625
Related to #9038
2015-10-15 14:10:29 +02:00
Nicolas Lempereur ba9771d6ec [FIX] website_membership: don't display old as members
Follow-up of 5ac77c9 which solved the issue when an association was
selected, but not when "All Members" was choosen.

Before this commit, the displayed membership lines would only be the
paid ones, if an association (membership product) was selected. With
this commit this is also the case when no such association is selected.

This commit also correct the member counts in the "country" list :

* with "All members" the free members were not in the counts,
* with not "Free member", the counts didn't took the eventual current name search.

closes #9083
opw-648627
2015-10-15 12:08:51 +02:00
Goffin Simon 0239d1b357 [FIX] models: read_group on many2one fields
When making on model A a read_group with groupby equal to a many2one field F1 to a model B
which is ordered by a inherited not stored field F2, the group containing all the
records from A with F1 not set was not returned.

Example:
model A= "hr.applicant"
model B= "res.users" (_order = "name,login")
inherited model= "res.partner"
field F1= "user_id"(to "res.users)
field F2= "name"(inherited from "res.partner")

In this example, the query generated by the function "read_group" was:

SELECT min(hr_applicant.id) AS id, count(hr_applicant.id) AS user_id_count , "hr_applicant"."user_id" as "user_id"
FROM "hr_applicant" LEFT JOIN "res_users" as "hr_applicant__user_id" ON ("hr_applicant"."user_id" = "hr_applicant__user_id"."id"),"res_partner" as "hr_applicant__user_id__partner_id"
WHERE ("hr_applicant"."active" = true) AND ("hr_applicant__user_id"."partner_id" = "hr_applicant__user_id__partner_id"."id")
GROUP BY "hr_applicant"."user_id","hr_applicant__user_id__partner_id"."name","hr_applicant__user_id"."login"
ORDER BY  "hr_applicant__user_id__partner_id"."name" ,"hr_applicant__user_id"."login"

which always returned "hr.applicant" groups of records with a "user_id" set due to the inner join maked on res_partners.

This inner join on "res_partner" is coming from function "add_join" calling by "_inherits_join_add"
in _generate_order_by_inner.

Introduced by dac52e344c

opw:651949
2015-10-15 11:49:33 +02:00
Martin Trigaux f7aec21d21 [FIX] hr_payroll: wrong field in sheet computation
The type of the account is now on the field internal_type, there is no longer a type field

Fixes #9078
2015-10-15 09:32:31 +02:00
Martin Trigaux 5575f98db1 [FIX] account: missing terms in .pot file 2015-10-15 08:46:39 +02:00
qdp-odoo ddbe0e18f3 [FIX] stock_account: raise an error if the valuation_amount is zero, to avoid wrong configurations. 2015-10-14 18:01:06 +02:00
Simon Lejeune 58ae39945a [FIX] ir_qweb: assetsbundle: commit the writes in ir.attachment
rev 6327cda0a tried to workaround the fact that the assets bundle were
unreadable when they are created in the same request by opening multiple
cursors and commiting the writes in ir.attachment. Sadly, this strategy
introduces sometimes hard to reproduce and hard to understand deadlocks
when regenerating the assets. This commit tries a ~safer strategy by not
opening multiple cursors but commiting the writes in ir.attachment when
a magic key is in the context.
2015-10-14 17:42:19 +02:00
Simon Lejeune d1fb85d3dc Revert "[FIX] ir_qweb: assets: write in ir.attachment outside of main transaction"
This reverts commit 6327cda0a7.
2015-10-14 17:42:19 +02:00
Simon Lejeune ed56952079 Revert "[FIX] ir_qweb: add id to ir.attachment mock"
This reverts commit c3c2281a4d.
2015-10-14 17:42:19 +02:00
Nicolas Lempereur b0a4dd0127 [FIX] workflow: don't process workitem several times
In some complex use case of a workflow instance with several workitems,
a given workitem processing could itself somewhat recursively process
one of the following workitems.

This situation was currently not taken into account, so in that given
case, the already processed workitems would be processed again.

opw-647580
2015-10-14 17:37:13 +02:00
Cedric Snauwaert 1487cf4e16 [FIX] stock: fix problem in barcode interface when trying to scan a location with a scanner
this fix a problem when trying to scan a location inside the opened modal to change location from a product
2015-10-14 17:06:02 +02:00
Denis Ledoux fc1f3b3424 [FIX] account_analytic_analysis: integer out of range
When reading the view
`account_analytic_analysis_summary_user`,
through the function fields using `_analysis_all`,
it could lead to an
`integer out of range` if you have a bunch of
`res.users` and or `account.account`. Casting
the multiplication of the integers to a double
solves the issue.

opw-652152
2015-10-14 16:41:00 +02:00
qdp-odoo 3f231fc0ac [IMP] account: auto-install account_yodlee module for some more localizations, accordingly to what is written at https://docs.google.com/spreadsheets/d/1tnUwiweunpjBdDkzTx2XqfE8Usv9MZPH_C20WRVoyvY/edit#gid=0 2015-10-14 16:36:38 +02:00
Christophe Matthieu 33baebd139 [FIX] website_sale: can display video and iframe in website description
Sanitize remove the iframe generate to add a youtube video for html field like product description on website.
2015-10-14 16:25:56 +02:00
Arthur Maniet 8283e5f640 [FIX] stock: locations barcodes report CSS
Adapt style injection to changes from 2fa34fcfef
2015-10-14 15:45:29 +02:00
qdp-odoo ab26b7cec2 [FIX] account: no gap in invoice numbering when doing 'cancel-reset to draft-revalidation' use case. Fixes #9003 2015-10-14 13:36:15 +02:00
qdp-odoo 64a6a84073 [FIX] purchase: stock valuation with taxes has to use the quantity 1 for computation of unit price 2015-10-14 13:36:15 +02:00
Denis Ledoux 101bb927a0 [FIX] payment: fees computation depending on country
The computed fees can depend on the country.
There was a typo about it:
there is no `country_id` field on the `payment.transaction` model,
it's `partner_country_id`.

Therefore, the computed fees according to the country
were not always correctly computed.

e.g. for Paypal, where the domestic fees
are lower than the international fees, it always
computed the fees as international.

opw-651778
2015-10-14 13:29:36 +02:00
Denis Ledoux a0c64bebe6 [MERGE] forward port of branch 8.0 up to 8209368 2015-10-14 12:28:22 +02:00
David Monjoie fa48e6f485 [IMP] website_sale: sale_get_order avoid useless sql request
Avoid an sql request when sale_order_id is None.
Improvement of 6b6d7310c0.
Closes PR #8974.
2015-10-14 11:59:54 +02:00
Nicolas Martinelli d1e6ba6d9e [FIX] web_editor: forcedReload of the page
On Firefox, the website page is not completely reloaded after saving or
cancelling. Because of this behavior, the Edit button is kept disabled,
forcing the user to completely refresh the page in order to activate the
Edit button.
2015-10-14 11:24:11 +02:00
Mohammed Barsi 600bfbdc43 [CLA] Signed CLA for Mohammed Barsi (barsi) 2015-10-14 11:03:14 +02:00
Aaron Bohy 7730a8deae [FIX] calendar: reminder notifications: event's handlers
By extending the Notification widget to create the CalendarNotification one,
we override the events key of Notification defining the handler when clicking
on the close cross. So when clicking on the cross, it doesn't close the
notification, and it even toggle the app switcher since the preventDefault
isn't performed.

Note that this should be directly handled by the webclient itself, and its
mechanism of extending widgets. This should be done in current master.
2015-10-14 10:49:17 +02:00
Géry Debongnie 1a4b24586d [FIX] mail: disable message_last_post to prevent race conditions
The message_last_post mechanism was introduced to have a trigger for
automated actions, but for some reason we do not use it.  Moreover, it
interacts badly with the bus.

Because of the message_last_post update, concurrent transactions can
fail and be rollbacked.  This is an issue because the bus commit the
transaction after writing the messages.  This means that some messages
can be duplicated, and the more users are chatting, the more frequent
this will happen.

Since we don't use this field, it could be removed from the models, but
we are in a stable release, so we need to keep it for now.
2015-10-14 09:17:04 +02:00
Nicolas Martinelli 7661a7402b [FIX] web_editor: trigger mouseup at start
When we initialize the web editor, the font size in the toolbar is
initialized to NaN.

What is done:
- Initialize the Summernote editor in initialize_content
- Render the content of the node in render_value
- Append the node to the DOM

Since the Summernote editor is initialized in initialize_content, the
node is still hidden. Since the node is hidden, Summernote won't be able
to determine the style info of the text (see method fromNode from
Style.js). Indeed, when jQueryCss is called, $node.is(':hidden') is true
which will lead to styleInfo['font-size'] = NaN.

To avoid patching Summernote, we take advantage of an existing trigger
which reloads the button content upon mouseup. This is also safer than
initializing Summernote after appending the node to the DOM.

opw-652041
2015-10-13 17:58:33 +02:00
Denis Ledoux 8209368b02 [FIX] web: current transaction is aborted
This reverts commit bd9cbdfc41.

The above revision solved the SQL constraints not being
translated when raised. They were not translated because
the context, containing the lang, was not located as expected
in the `kwargs` dict.

While it solved this issue, it had as side-effect to raise
`current transaction is aborted,
commands ignored until end of transaction block` errors more
often when using the web client.

This can be explained by the double check, when the first
check raised this error
- which can happen, e.g. when the cursor is closed,
there is a retry mechanism in such cases -
and by the fact the transaction was not rollbacked.

This issue could have been solved as well by rollbacking
the transaction, but it is regarded as not-so-clean.

Therefore, to solve this issue, while still having
the SQL constraints translated, we apply the
second patch proposed in bd9cbdfc41
commit message, which is not-so-clean as well, but
which is a proper solution.

opw-651393
2015-10-13 17:12:34 +02:00
Martin Geubelle b240d0000b [FIX] account: incorrect sentence
* Revenue recognition is not in account_asset anymore but in another module
* Will be fixed in master, creating en_US translation for stable
2015-10-13 16:41:30 +02:00
Nicolas Lempereur a14f89c866 [FIX] website_mail,mass_mailing: better support for outlook
This fix is about several issue of office oulook:

- a fixed table width must be in pixel, using 100% of parent div width
  doesn't work,

- a background-color on a div is not used, the background color should
  be on the table inside this div using the attribute "bgcolor",

- the only way to center a table is to have a `<center>` tag arround it,
  or have an element arround it with "text-align: center",

- having a background image doesn't seem to be possible.

The two first are straightforward, but for the third:

- in non-outlook: all the snippet are centered (since they all have
  "margin: auto" which is valid outside outlook),
- in outlook: only a small part of the snippet with text-align:center
  or `<center>` arround them are centered.

To escape a bigger code change, this commit unify the outlook
behaviour by having all of the snippet left aligned in outlook (they are
still middle centered in other application).

For the background image, we need a fallback bgcolor and thus we need to
have the background on the table element. There was also an issue
between relative and absolute url for gmail.

closes #9019
opw-650217
2015-10-13 16:11:18 +02:00
Raphael Collet ac98af1e9f [IMP] models: recompute fields following a topological order on their dependencies
The goal is to avoid recomputing field several times.  Consider, for instance,
two fields F and G, such that G depends on F.  Suppose that G is recomputed
before F.  Saving G to database proceeds well, but when F is saved to database,
G is invalidated and marked for recomputation.  Field G is possibly recomputed
twice on some records.

Avoid this situation by chosing a field such that none of its dependencies must
be recomputed; use a topological sort based on field dependencies for that
purpose.  In the example above, G will never be recomputed before F.
2015-10-13 14:49:57 +02:00
Aaron Bohy e82deb5ae1 [FIX] web: action_manager: restore internal state on rejected action
When an error occured while executing an action (e.g. access rights), the
action manager's state was inconsistent as inner_action, inner_widget and
action_stack were all updated before trying to execute the action. Then, if the
user tried to open another action, the screen was split into two because the
reference of the previous action was lost, and thus it couldn't be detached.

We now restore inner_action, inner_widget and action_stack to their previous
state in the case of a rejected deferred.

A better fix would be to update all three variables once the deferred is
resolved, but it would require a refactoring of the way the action manager
and the view manager communicate to perform the do_push_state and to compute
the breadcrumbs. Indeed, those operations directly rely on the internal state
of the action manager, and they are performed before the callbacks in
push_state are called. Such a refactoring should probably not be done in
stable.

Partly fixes #8886.
2015-10-13 11:26:22 +02:00
Aaron Bohy 1cf83427da [FIX] web: view_manager: correctly return rejected deferred
The problem was that the action manager wasn't notified at all when something
went wrong with the view manager as the deferred returned by appendTo was in
that case never resolved nor rejected.
2015-10-13 11:26:22 +02:00
Raf Ven 38c9deeab4 [FIX] sale: Wrong filter definition
'state', 'in', ('draft') is an invalid definition, ('draft') is not a tuple
should have been ('draft',)

Replacing by simpler 'state', '=', 'draft'

Fixes #8115
Closes #9016
2015-10-13 10:47:48 +02:00
Nicolas Lempereur 906c1e52fb [FIX] base: don't add last separator if no add attribute
When using "remove" in a xml inheritance without "add" attribute, the
separator would be erronously appended at the end of the modified
attribute value.

e.g: we have "a,b" from which we remove "c", the end result would be
"a,b," which is an invalid jQuery selector.

This commit change this so empty tokens are not added to the attribute.
2015-10-13 10:25:58 +02:00
Nicolas Martinelli db68f9c4be [FIX] mail, project: define search method for message_is_follower
In order to be able to search on a non-stored computed field, a search
method must be defined.

This also reverts commit fd38fc0a02.

Fixes #8920
2015-10-13 10:15:21 +02:00