odoo/odoo.git
9 years ago[FIX] product: correct name_get for products with resellers.
Christophe Simonis [Tue, 14 Oct 2014 15:04:19 +0000 (17:04 +0200)]
[FIX] product: correct name_get for products with resellers.

Error introduced during forward-port commit 14f3085

9 years ago[FIX] web: even if there is no view, the field has to be rendered
Denis Ledoux [Tue, 14 Oct 2014 14:58:25 +0000 (16:58 +0200)]
[FIX] web: even if there is no view, the field has to be rendered

This is related to ÿ07f3f4d9206d4c1a3e484eb89f09d2258977a

9 years ago[FIX] mail_thread: allow to pass mail_track_log_only in the context to remove the...
Jeremy Kersten [Tue, 14 Oct 2014 14:32:09 +0000 (16:32 +0200)]
[FIX] mail_thread: allow to pass mail_track_log_only in the context to remove the subtype of the notification. By this way, no mails will be sent because partners_to_notify will be empty.

9 years ago[FIX] web: push render value deferred only if the field is in a form view
Denis Ledoux [Tue, 14 Oct 2014 14:28:15 +0000 (16:28 +0200)]
[FIX] web: push render value deferred only if the field is in a form view

9 years ago[FIX] website: editor: preserve label and color for link buttons targeting a page
Olivier Dony [Tue, 14 Oct 2014 14:27:43 +0000 (16:27 +0200)]
[FIX] website: editor: preserve label and color for link buttons targeting a page

When selecting a page target rather than a static
URL the style and label information were ignored/lost.

9 years ago[FIX] implementation of t-call's 0-index in qweb-js
Xavier Morel [Tue, 14 Oct 2014 14:17:04 +0000 (16:17 +0200)]
[FIX] implementation of t-call's 0-index in qweb-js

Had expected regularity, had not noticed the Python version is really an
ignoble hack where the string "0" (exactly) is interpreted in a specific
manner when used in t-raw and format strings, *and nowhere else*.

Had special-cased the expression everywhere which broke e.g.
<t-set="xxx" t-value="0"/>. Reproduce Python behavior more closely,
and strongly consider swapping out both for something different e.g.
[[content]] or something like that, which doesn't cause problems in
Python but doesn't have to be so specially cased either.

9 years ago[FIX] models: do not look up the registry class when building cls._fields
Raphael Collet [Tue, 14 Oct 2014 13:47:13 +0000 (15:47 +0200)]
[FIX] models: do not look up the registry class when building cls._fields

9 years agoMerge pull request #3001 from Bubbles-IT/8.0-fix-pos-tax-label
Frédéric Van der Essen [Tue, 14 Oct 2014 13:52:46 +0000 (15:52 +0200)]
Merge pull request #3001 from Bubbles-IT/8.0-fix-pos-tax-label

[FIX] point_of_sale: printing of tax name on hardware was missing name

9 years ago[MERGE] forward port of branch saas-3 up to db75994
Christophe Simonis [Tue, 14 Oct 2014 13:13:14 +0000 (15:13 +0200)]
[MERGE] forward port of branch saas-3 up to db75994

9 years ago[MERGE] forward port of branch 7.0 up to 75d3ea6
Christophe Simonis [Tue, 14 Oct 2014 12:36:45 +0000 (14:36 +0200)]
[MERGE] forward port of branch 7.0 up to 75d3ea6

9 years ago[FIX] point_of_sale: fixed display of untaxed amount in sales lines report
David Monjoie [Mon, 13 Oct 2014 14:42:53 +0000 (16:42 +0200)]
[FIX] point_of_sale: fixed display of untaxed amount in sales lines report

9 years ago[FIX] point_of_sale: fixed display of untaxed amount in sales lines report
David Monjoie [Mon, 13 Oct 2014 14:41:33 +0000 (16:41 +0200)]
[FIX] point_of_sale: fixed display of untaxed amount in sales lines report

9 years ago[FIX] email_template: do not try to add user signature if none set
Denis Ledoux [Tue, 14 Oct 2014 11:41:52 +0000 (13:41 +0200)]
[FIX] email_template: do not try to add user signature if none set

append_content_to_html expects two strings. If the user has no signature, it returns user.signature returns False

9 years ago[FIX] product: use new api to retrieve product standard price as SUPERUSER
Denis Ledoux [Tue, 14 Oct 2014 10:46:07 +0000 (12:46 +0200)]
[FIX] product: use new api to retrieve product standard price as SUPERUSER

As it looks like self is a product.template, and product can be a product.product. Using the new api avoid to have this problem.

9 years ago[FIX] product: redo forward port 2832d2d for fix 12eb157 lost with 43977de
Denis Ledoux [Tue, 14 Oct 2014 09:59:57 +0000 (11:59 +0200)]
[FIX] product: redo forward port 2832d2d for fix 12eb157 lost with 43977de

9 years ago[FIX] models: in _add_field(), set the field as an attr before setting it up
Raphael Collet [Tue, 14 Oct 2014 08:11:40 +0000 (10:11 +0200)]
[FIX] models: in _add_field(), set the field as an attr before setting it up

In the case of custom fields, the field's parameters were set up without the
field being present in the class hierarchy.  Because of this, the parameter
inheritance mechanism was missing the field itself.  As a consequence, custom
selection fields ended up without selection, for instance :-/

9 years ago[ADD] doc: document domain operators, fix typos
Tymoteusz Motylewski [Mon, 13 Oct 2014 19:41:51 +0000 (21:41 +0200)]
[ADD] doc: document domain operators, fix typos

* Add description for all allowed operators.
* Improve wording of domain documentation and fix spelling.

9 years ago[REM] undocument removed method add_default_value
Xavier Morel [Tue, 14 Oct 2014 09:12:57 +0000 (11:12 +0200)]
[REM] undocument removed method add_default_value

9 years ago[FIX] website.snippet: can't edit content of the banner. (+ better fix for backward...
Christophe Matthieu [Tue, 14 Oct 2014 07:17:01 +0000 (09:17 +0200)]
[FIX] website.snippet: can't edit content of the banner. (+ better fix for backward compatibility)

9 years agoMerge pull request #3061 from odoo-dev/8.0-wmspocurrency-jco
Josse Colpaert [Mon, 13 Oct 2014 20:55:16 +0000 (22:55 +0200)]
Merge pull request #3061 from odoo-dev/8.0-wmspocurrency-jco

[FIX] Use currency of pricelist when creating PO from procurement

9 years ago[FIX] Use currency of pricelist when creating PO from procurement
Josse Colpaert [Fri, 10 Oct 2014 16:06:48 +0000 (18:06 +0200)]
[FIX] Use currency of pricelist when creating PO from procurement

9 years ago[FIX] read_group: date format: use natural year along with month names, do not mix...
Olivier Dony [Mon, 13 Oct 2014 16:42:23 +0000 (18:42 +0200)]
[FIX] read_group: date format: use natural year along with month names, do not mix with ISO week-year

The ISO week-year notation can produce confusing values
when the first week of the year is so short that it
becomes week 0 and is considered the last week of the
previous year, depending on the locale.

For instance, using ISO notation:
  'W53 2015' == dates.format_date(
      date(2015,1,1), format="'W'w YYYY", locale='en_GB')
  'W53 2005' == dates.format_date(
      date(2006,1,1), format="'W'w YYYY", locale='de_DE')

This is surprising but actually valid.

However it definitely yields wrong output when combined with
months formats:
  'January 2014' == dates.format_date(
      date(2015,1,1), format="MMMM YYYY", locale='en_GB')

As a result we must always use `y` to denote the year in
any date format, *except* when it is combined with the
week number `w`, in which case we must use `Y`.

See the documentation at:
   http://babel.pocoo.org/docs/dates/#date-fields

9 years ago[FIX] web: wait for deferreds when actualizing mode
Denis Ledoux [Mon, 13 Oct 2014 16:24:57 +0000 (18:24 +0200)]
[FIX] web: wait for deferreds when actualizing mode

In edit mode, in a *2many with many2many_tags, when adding a new tag when none was set, discarding the form let the new tags displayed while it shouldn't (only a display issue, the tag wasn't added in database)

Fixes #2926

9 years ago[FIX] GeoIP - allow to specify the path to GeoIP in the server config.
Jeremy Kersten [Mon, 13 Oct 2014 14:47:12 +0000 (16:47 +0200)]
[FIX] GeoIP - allow to specify the path to GeoIP in the server config.

--geoip_db='the_path'  which can be used via openerp.tool.config['geoip_database']

9 years ago[FIX] mail: followers widget was broken
Richard Mathot [Mon, 13 Oct 2014 14:39:22 +0000 (16:39 +0200)]
[FIX] mail: followers widget was broken

This was probably due to 35f5fb46e78aef1feda4d9cfddd93bd356bdca28.

9 years ago[FIX] stock_picking_wave: removed obsolete many2many widget from stock_picking_wave_view
David Monjoie [Mon, 13 Oct 2014 13:37:13 +0000 (15:37 +0200)]
[FIX] stock_picking_wave: removed obsolete many2many widget from stock_picking_wave_view

9 years ago[FIX] web: oe_navbar compatibility on IE11
Simon Lejeune [Mon, 13 Oct 2014 13:27:00 +0000 (15:27 +0200)]
[FIX] web: oe_navbar compatibility on IE11

9 years ago[FIX] models: on update, call inverse function on field even when it is stored
Raphael Collet [Wed, 1 Oct 2014 09:32:50 +0000 (11:32 +0200)]
[FIX] models: on update, call inverse function on field even when it is stored

The inverse function of a stored computed field was not called when creating or
writing on a record with such a field.

9 years ago[IMP] models: do not use compute methods to determine default values anymore
Raphael Collet [Thu, 9 Oct 2014 15:22:42 +0000 (17:22 +0200)]
[IMP] models: do not use compute methods to determine default values anymore

Compute methods could give results that should not be considered as default
values.  For instance, a related field usually defaults to a null value, which
is then set to the field with its inverse method by create().  This may violate
a non-null constraint if the original field is required.  Therefore, compute
methods are no longer used to determine default values.

9 years ago[FIX] website_membership: crash when member has no country
Denis Ledoux [Mon, 13 Oct 2014 11:08:36 +0000 (13:08 +0200)]
[FIX] website_membership: crash when member has no country

in memberships countries list

9 years ago[FIX] models: do not prefetch fields to recompute, and recompute once only
Raphael Collet [Mon, 13 Oct 2014 10:38:59 +0000 (12:38 +0200)]
[FIX] models: do not prefetch fields to recompute, and recompute once only

The method _prefetch_field() was accidentally prefetching fields to recompute;
which was skipping the actual recomputation, since a value was put in cache.
But sometimes the field's value was fixed by an extra recomputation of the
field.  Here we remove the extra recomputation and fix the cache corruption.

9 years ago[FIX] CONTRIBUTING: dead link
Olivier Dony [Mon, 13 Oct 2014 09:09:08 +0000 (11:09 +0200)]
[FIX] CONTRIBUTING: dead link

9 years ago[FIX] README: grammar
Olivier Dony [Mon, 13 Oct 2014 09:05:17 +0000 (11:05 +0200)]
[FIX] README: grammar

9 years agofix typo
Tymoteusz Motylewski [Mon, 13 Oct 2014 08:17:21 +0000 (10:17 +0200)]
fix typo

9 years ago[FIX] incorrect qweb interpolations
Xavier Morel [Mon, 13 Oct 2014 07:31:59 +0000 (09:31 +0200)]
[FIX] incorrect qweb interpolations

unnecessary, worked by accident and broken by change to interpolation regex in 35f5fb46

9 years ago[FIX] website_sale: better fiscal position detection + support update during checkout
Olivier Dony [Fri, 10 Oct 2014 19:02:30 +0000 (21:02 +0200)]
[FIX] website_sale: better fiscal position detection + support update during checkout

The customer can change the country and tax
number in the billing information during
checkout, and the taxes should be properly
updated according to the re-detected fiscal
position.

The fiscal position detection also depends
on the `vat_subjected` flag, which we now assume
to be implicit as soon as the customer filled
in a valid Tax Identification Number.

9 years ago[MERGE] Forward-port 7.0 up to 1b49a87
Olivier Dony [Fri, 10 Oct 2014 17:21:18 +0000 (19:21 +0200)]
[MERGE] Forward-port 7.0 up to 1b49a87

9 years ago[FIX] ir.mail.server: restore parsing of multiple RFC2822 addresses including non...
Olivier Dony [Fri, 10 Oct 2014 15:04:03 +0000 (17:04 +0200)]
[FIX] ir.mail.server: restore parsing of multiple RFC2822 addresses including non-ASCII chars

Rev f2cf6ced1 modified RFC2822 parsing in order to better support
unicode characters inside the Name part of an address header.
However the patch broke handling of multiple addresses (comma
separated) - silently discarding all recipients except the
first one, as soon as any non-ASCII character was present.

This patch restores the functionality while preserving the
fix from f2cf6ced1, and simplifies the code using email.utils
utility functions.

Fixes (again) lp:1272610, OPW 607683

9 years ago[FIX] web: re-enable test_menu.py without the mock-menu test
Simon Lejeune [Fri, 10 Oct 2014 15:37:51 +0000 (17:37 +0200)]
[FIX] web: re-enable test_menu.py without the mock-menu test

9 years ago[FIX] packaging: include RML & xsl in manifest.in
Simon Lejeune [Fri, 10 Oct 2014 16:12:07 +0000 (18:12 +0200)]
[FIX] packaging: include RML & xsl in manifest.in

9 years ago[IMP] ir_qweb: remove the option 'only_date' introducted in cefc9ad8e3e3b0a14804da6c4...
Jeremy Kersten [Fri, 10 Oct 2014 14:20:10 +0000 (16:20 +0200)]
[IMP] ir_qweb: remove the option 'only_date' introducted in cefc9ad8e3e3b0a14804da6c40bfd71e16d4175a. Now we can use widget='date' to do the same thing. That keeps the same behaviour that in the backend.

    <span t-field=model.datetime_field t-field-options="{'widget': 'date'}"/>

9 years ago[FIX] web: revert c1d48362d3a38606ffb99d569fdc6147dcd0c775 and consider there is...
Denis Ledoux [Fri, 10 Oct 2014 12:09:05 +0000 (14:09 +0200)]
[FIX] web: revert c1d48362d3a38606ffb99d569fdc6147dcd0c775 and consider there is a previous dialog only if isDestroyed returns False

9 years ago[FIX] account_invoice: using has_group to determine if user has group group_supplier_...
Denis Ledoux [Thu, 9 Oct 2014 16:56:21 +0000 (18:56 +0200)]
[FIX] account_invoice: using has_group to determine if user has group group_supplier_inv_check_total

has_group do not care about the fact res.groups is access restricted

9 years ago[FIX] res.users: exactly match login when operator in ilike, equal
Denis Ledoux [Thu, 9 Oct 2014 16:50:45 +0000 (18:50 +0200)]
[FIX] res.users: exactly match login when operator in ilike, equal

9 years ago[FIX] point_of_sale: printing of tax name on hardware was missing data 'name', also...
Niels Huylebroeck [Thu, 9 Oct 2014 16:38:46 +0000 (18:38 +0200)]
[FIX] point_of_sale: printing of tax name on hardware was missing data 'name', also made the regular print use the same value for consistency.

9 years ago[IMP] fields: do not force required=True on related fields
Raphael Collet [Thu, 9 Oct 2014 15:18:28 +0000 (17:18 +0200)]
[IMP] fields: do not force required=True on related fields

This may cause issues if the field is stored: non-null constraint will prevent
saving records when no value is provided.

9 years ago[FIX] models: in _create() and _write(), mark fields to recompute earlier
Raphael Collet [Thu, 9 Oct 2014 12:34:48 +0000 (14:34 +0200)]
[FIX] models: in _create() and _write(), mark fields to recompute earlier

An issue occurs when a constraint is checked before computed fields are marked
for recomputation: the constraint will read the field's current value, which
may be wrong.  If the field is marked soon enough, the constraint will trigger
the recomputation and use a correct value.

9 years ago[FIX] web: destroy modal on cross click or escape
Denis Ledoux [Thu, 9 Oct 2014 14:28:25 +0000 (16:28 +0200)]
[FIX] web: destroy modal on cross click or escape

Instead of just hidding it
Otherwise, when opening a new dialog, it is considered that there is a previous opened dialog, and this can lead to refresh the record which opened the hidden/previous dialog

This is related to rev. 57b48602fb7afa5d0539e8d0caa8d1e10c3910e5

9 years ago[IMP] doc: add testing reference and improve docstrings
Xavier Morel [Thu, 9 Oct 2014 13:38:36 +0000 (15:38 +0200)]
[IMP] doc: add testing reference and improve docstrings

9 years ago[IMP] fields: rename attribute 'copyable' into 'copy'
Raphael Collet [Thu, 9 Oct 2014 09:06:12 +0000 (11:06 +0200)]
[IMP] fields: rename attribute 'copyable' into 'copy'

9 years ago[IMP] fields: do not copy field objects anymore, but make new instances instead
Raphael Collet [Thu, 9 Oct 2014 09:01:23 +0000 (11:01 +0200)]
[IMP] fields: do not copy field objects anymore, but make new instances instead

Because of the parameter overriding mechanism implemented by fields, it is no
longer necessary to copy field objects.  It is even better to no copy them in
the case of related fields.

9 years ago[FIX] barcode_interface: when loading widget, picking_type_id was sometime not correc...
Cedric Snauwaert [Thu, 9 Oct 2014 13:04:02 +0000 (15:04 +0200)]
[FIX] barcode_interface: when loading widget, picking_type_id was sometime not correctly set

9 years ago[IMP] mail: parsing emails with several html parts
Martin Trigaux [Thu, 9 Oct 2014 07:14:22 +0000 (09:14 +0200)]
[IMP] mail: parsing emails with several html parts

If an email contains several text/html parts inside a multipart email, the previous code was only keeping the last content part.
The Content-Type: multipart/mixed allows several independent part (RFC1341 7.2.2), so two html is technically valid.
With this patch, the two parts are concatenated. (opw 614755)

Modify append_content_to_html regex to make sure the regex keeps the content of the html instead of removing it.
e.g.: "123 <html> 456 </html> 789" used to be stripped to "123  789" while we expect "123 456 789"

9 years ago[ADD] doc: workflow doc from v7+ (saas-5)
Xavier Morel [Thu, 9 Oct 2014 11:37:15 +0000 (13:37 +0200)]
[ADD] doc: workflow doc from v7+ (saas-5)

I tried starting a better one, but the workflow code is a complete mess so I
have no idea how this thing works without significant study and testing.

Thus, not trying to write a brand new and complete doc, maybe later.

9 years ago[IMP] fields: add assertions to check parameters (comodel_name, size, digits)
Raphael Collet [Wed, 8 Oct 2014 14:32:48 +0000 (16:32 +0200)]
[IMP] fields: add assertions to check parameters (comodel_name, size, digits)

9 years ago[IMP] fields: set the default value to the closest field.default or _defaults
Raphael Collet [Thu, 2 Oct 2014 15:01:03 +0000 (17:01 +0200)]
[IMP] fields: set the default value to the closest field.default or _defaults

This solves a subtle issue: in the following case, the class Bar should
override the default value set by Foo.  But in practice it was not working,
because _defaults is looked up before field.default.

    class Foo(models.Model):
        _name = 'foo'
        _columns = {
            'foo': fields.char('Foo'),
        }
        _defaults = {
            'foo': "Foo",
        }

    class Bar(models.Model):
        _inherit = 'foo'
        foo = fields.Char(default="Bar")

The change makes field.default and the model's _defaults consistent with each
other.

9 years ago[IMP] fields: make attribute 'default' callable
Raphael Collet [Thu, 2 Oct 2014 11:35:00 +0000 (13:35 +0200)]
[IMP] fields: make attribute 'default' callable

9 years ago[I18N] Update translations from Launchpad 8.0 branches
Olivier Dony [Wed, 8 Oct 2014 15:52:25 +0000 (17:52 +0200)]
[I18N] Update translations from Launchpad 8.0 branches

9 years ago[IMP] new-api-ify 'trigger' server action
Xavier Morel [Wed, 8 Oct 2014 11:09:13 +0000 (13:09 +0200)]
[IMP] new-api-ify 'trigger' server action

9 years ago[FIX] actions: match the behavior of multi actions with its help text
Xavier Morel [Wed, 8 Oct 2014 11:07:32 +0000 (13:07 +0200)]
[FIX] actions: match the behavior of multi actions with its help text

also fix the corresponding text and add explicit sequence number because I
don't understand what the bloody hell it does without that, except that it's
not the right thing. At all.

9 years ago[ADD] actions documentation
Xavier Morel [Wed, 8 Oct 2014 11:06:33 +0000 (13:06 +0200)]
[ADD] actions documentation

9 years ago[FIX] purchase: do not pass uom in product_id_change when changing of product
Denis Ledoux [Wed, 8 Oct 2014 15:20:13 +0000 (17:20 +0200)]
[FIX] purchase: do not pass uom in product_id_change when changing of product

To allow the on change to set the product default unit of measure when changing of product, and only in this case (not when changing price or quantity)

9 years ago[FIX] fields: in to_column(), returning self.column is generally not correct
Raphael Collet [Wed, 8 Oct 2014 08:47:25 +0000 (10:47 +0200)]
[FIX] fields: in to_column(), returning self.column is generally not correct

Consider the following example:

    class Foo(models.Model):
        _name = 'foo'
        _columns = {
            'state': fields.selection([('a', 'A')]),
        }

    class Bar(models.Model):
        _inherit = 'foo'
        state = fields.Selection(selection_add=[('b', 'B')])

The attribute 'column' of the field does not have the full selection list,
therefore the column object cannot not be reused, even a copy of it.  The
solution is to systematically recreate the column from the field's final
specification, except for function fields that have no sensible way for being
recreated.

9 years ago[FIX] openerp/osv/fields: fix method to_field() to pass some falsy parameters.
Raphael Collet [Wed, 8 Oct 2014 10:01:16 +0000 (12:01 +0200)]
[FIX] openerp/osv/fields: fix method to_field() to pass some falsy parameters.

For instance, the attribute copy=False was not passed when converting the
_column to a Field.  Simply make sure those parameter are always passed.

9 years ago[FIX] website_sale*: handle no delivery methods in website
Denis Ledoux [Wed, 8 Oct 2014 13:37:21 +0000 (15:37 +0200)]
[FIX] website_sale*: handle no delivery methods in website

Display a user friendly message instead of crashing when there is not delivery method available for a specific order

9 years agoRevert "[FIX] Error when installing module document"
Raphael Collet [Wed, 8 Oct 2014 12:48:13 +0000 (14:48 +0200)]
Revert "[FIX] Error when installing module document"

This reverts commit 8dd4c83d9cf6f45ca39f120b296c1c69079154a4.
It does not fix the issue, but hides it instead.
An actual fix has been made since.

9 years ago[FIX] pos_restaurant: Issue 614981: product renaming from name to display_name was...
Frederic van der Essen [Wed, 8 Oct 2014 10:38:44 +0000 (12:38 +0200)]
[FIX] pos_restaurant: Issue 614981: product renaming from name to display_name was not done in the pos_restaurant module, resulting in empty product names in various places

9 years ago[FIX] dict notation for js reserved words in options (Fixes #2957)
Fabien Meghazi [Wed, 8 Oct 2014 10:33:56 +0000 (12:33 +0200)]
[FIX] dict notation for js reserved words in options (Fixes #2957)

9 years ago[FIX] kanban: remove container=element for tooltips on kanban
Cedric Snauwaert [Wed, 8 Oct 2014 09:54:31 +0000 (11:54 +0200)]
[FIX] kanban: remove container=element for tooltips on kanban

9 years ago[IMP] website_event: add mail subtypes
Denis Ledoux [Tue, 7 Oct 2014 17:03:10 +0000 (19:03 +0200)]
[IMP] website_event: add mail subtypes

Add published and unpublised mail subtypes, to track events publication, and to be able to follow these subtypes

9 years ago[FIX] website_sale: save the company in street and the street in street2.
Jeremy Kersten [Tue, 7 Oct 2014 17:00:45 +0000 (19:00 +0200)]
[FIX] website_sale: save the company in street and the street in street2.

The old behaviour was not better, because when we print the invoice, the order was ugly:
    Name
    Street
    Company name
    Country

Now we will have:
    Name
    Company name
    Street
    Country

This patch is not retro-compatible:
   Old partners will see the address in company name and vice-versa.
   Need to update view and switch street field and street2 field

9 years ago[FIX] point_of_sale: prevent empty order creation as they are not accepted by the...
Frederic van der Essen [Tue, 7 Oct 2014 16:18:59 +0000 (18:18 +0200)]
[FIX] point_of_sale: prevent empty order creation as they are not accepted by the backend

9 years ago[IMP] gamification: avoid sending twice emails in cron
Martin Trigaux [Tue, 7 Oct 2014 16:14:32 +0000 (18:14 +0200)]
[IMP] gamification: avoid sending twice emails in cron

When the cron is running on a database with a large number of goals (e.g. website_forum with thousands of users), it's possible the CPU time is exceeded and we may have a rollback after sending some emails (for granted badges).
To avoid sending twice emails, commit in cron mode after each reward.

9 years ago[MERGE] forward port of branch 7.0 up to 03df412f
Denis Ledoux [Tue, 7 Oct 2014 15:34:42 +0000 (17:34 +0200)]
[MERGE] forward port of branch 7.0 up to 03df412f

9 years ago[FIX] account: precision_get returns a number of digits
Denis Ledoux [Tue, 7 Oct 2014 15:25:56 +0000 (17:25 +0200)]
[FIX] account: precision_get returns a number of digits

In other words, it returnes a precision digits, not a precision rounding

9 years ago[FIX] ir_actions: ids of unlink method can either be an ID list or one ID
Denis Ledoux [Tue, 7 Oct 2014 14:07:03 +0000 (16:07 +0200)]
[FIX] ir_actions: ids of unlink method can either be an ID list or one ID

9 years agoMerge pull request #2955 from odoo-dev/8.0-wmsmrpdatefix-jco
Josse Colpaert [Tue, 7 Oct 2014 13:05:22 +0000 (15:05 +0200)]
Merge pull request #2955 from odoo-dev/8.0-wmsmrpdatefix-jco

[FIX] Can not execute line when stop date is EARLIER than current date

9 years ago[FIX] migration: test if package is installed using its state.
Christophe Simonis [Tue, 7 Oct 2014 12:57:26 +0000 (14:57 +0200)]
[FIX] migration: test if package is installed using its state.

checking if there is an installed version set is not enough because this field is not reset when the module is uninstalled

9 years ago[FIX] Can not execute line when stop date is EARLIER than current date
Josse Colpaert [Tue, 7 Oct 2014 11:57:09 +0000 (13:57 +0200)]
[FIX] Can not execute line when stop date is EARLIER than current date

9 years ago[FIX] ir.ui.view: creating custom views in backend did not compute view type
Olivier Dony [Tue, 7 Oct 2014 11:11:20 +0000 (13:11 +0200)]
[FIX] ir.ui.view: creating custom views in backend did not compute view type

When creating new records in backend all field values are
sent to the server, including empty fields.

9 years agoMerge pull request #2375 from odoo-dev/8.0-webclient-doc-xmo
xmo-odoo [Tue, 7 Oct 2014 08:50:59 +0000 (10:50 +0200)]
Merge pull request #2375 from odoo-dev/8.0-webclient-doc-xmo

Port web client tutorial fully (-ish), improve JS doc.

9 years ago[FIX] gamification: on delete badge user, cascade
Denis Ledoux [Tue, 7 Oct 2014 08:24:57 +0000 (10:24 +0200)]
[FIX] gamification: on delete badge user, cascade

Otherwise, this is no more possible to delete users having badges

9 years ago[FIX] JS tutorial
Xavier Morel [Mon, 29 Sep 2014 14:47:04 +0000 (16:47 +0200)]
[FIX] JS tutorial

9 years ago[FIX] sphinx 'project' value
Xavier Morel [Mon, 29 Sep 2014 14:13:52 +0000 (16:13 +0200)]
[FIX] sphinx 'project' value

The project name automatically gets the release and the literal string
"documentation" appended by default (and "html_title" can be set to generate a
title differently), so having "documentation" set in the project variable
duplicates it in the page title.

9 years ago[ADD] port webclient RPC doc from web/doc
Xavier Morel [Fri, 12 Sep 2014 13:40:50 +0000 (15:40 +0200)]
[ADD] port webclient RPC doc from web/doc

9 years ago[ADD] JS widgets reference documentation
Xavier Morel [Fri, 12 Sep 2014 12:54:27 +0000 (14:54 +0200)]
[ADD] JS widgets reference documentation

Also fixed Widget#alive's behavior and tested it

9 years ago[MERGE] forward port of branch saas-3 up to 56f678c
Denis Ledoux [Tue, 7 Oct 2014 07:59:55 +0000 (09:59 +0200)]
[MERGE] forward port of branch saas-3 up to 56f678c

9 years ago[FIX] gamification: on delete goal user, cascade
Denis Ledoux [Tue, 7 Oct 2014 07:57:01 +0000 (09:57 +0200)]
[FIX] gamification: on delete goal user, cascade

Otherwise, this is no more possible to delete users with gamification goals

9 years agoMerge pull request #2269 from odoo-dev/8.0-qweb-doc-and-fixes-xmo
xmo-odoo [Tue, 7 Oct 2014 07:53:57 +0000 (09:53 +0200)]
Merge pull request #2269 from odoo-dev/8.0-qweb-doc-and-fixes-xmo

QWeb documentation, fixes and improvements

9 years ago[ADD] pyqweb-specific stuff, pyqweb APIDoc
Xavier Morel [Thu, 11 Sep 2014 13:52:38 +0000 (15:52 +0200)]
[ADD] pyqweb-specific stuff, pyqweb APIDoc

9 years ago[IMP] qweb: foreach handling
Xavier Morel [Thu, 11 Sep 2014 09:23:13 +0000 (11:23 +0200)]
[IMP] qweb: foreach handling

* fix mapping handling to match JS impl: current value set as _value instead
  of being lost
* add handling of integer parameter
* only set _size and _last if current iterable is sized

9 years ago[ADD] qweb: call directive's body
Xavier Morel [Thu, 11 Sep 2014 08:51:08 +0000 (10:51 +0200)]
[ADD] qweb: call directive's body

* __content__ can't be used in Python implementation because safe_eval, so use
  ``0`` from Python implementation instead
* remove postfix from t-call tests because due to implementation details all
  whitespace crap following a t-name is added to rendered template in Python
  impl, and don't want to normalize whitespace.

9 years ago[ADD] qweb: handling of t-att=mapping
Xavier Morel [Thu, 11 Sep 2014 06:38:08 +0000 (08:38 +0200)]
[ADD] qweb: handling of t-att=mapping

Changed render_att_att to return an iterable of pairs instead of a pair, and
dispatched t-att on whether its result is a Mapping.

Also changed qweb test runner so it uses ordereddict for JSON mapping in
params, otherwise iteration order (and thus order of attributes in output) is
unpredictable and results don't/can't match expectations (as both are
strings).

Note that this relies on JS implementation details wrt iteration order of
mappings. Tests would probably be somewhat less brittle if rendering output
was parsed to XML... if that's possible (?)

9 years ago[ADD] running of XML cases to python qweb
Xavier Morel [Thu, 11 Sep 2014 06:15:46 +0000 (08:15 +0200)]
[ADD] running of XML cases to python qweb

9 years ago[IMP] qweb doc, tests
Xavier Morel [Tue, 9 Sep 2014 07:17:32 +0000 (09:17 +0200)]
[IMP] qweb doc, tests

* document qweb based (mostly) on JS version
* convert JS qweb tests to (mostly) language-independent XML so they can be
  used for JS and Python implementations
* add some more tests (e.g. precedence between t-value and body in t-set)
* remove ``t-import``
* fix parity in foreach(dict) (and rename some variables to make array and
  object versions more similar)

9 years ago[ADD] qweb-js: escf, rawf for parity with Python version
Xavier Morel [Mon, 8 Sep 2014 14:55:46 +0000 (16:55 +0200)]
[ADD] qweb-js: escf, rawf for parity with Python version

9 years ago[ADD] qweb-js: jinja-style interpolation pattern
Xavier Morel [Mon, 8 Sep 2014 14:42:15 +0000 (16:42 +0200)]
[ADD] qweb-js: jinja-style interpolation pattern

9 years ago[IMP] qweb-js: reimplement string interpolation compilation as a single pass
Xavier Morel [Mon, 8 Sep 2014 14:36:19 +0000 (16:36 +0200)]
[IMP] qweb-js: reimplement string interpolation compilation as a single pass

9 years ago[IMP] update qweb-js tests
Xavier Morel [Mon, 8 Sep 2014 13:36:16 +0000 (15:36 +0200)]
[IMP] update qweb-js tests

* latest qunit
* template loading (handle async)
* add format tests

9 years ago[FIX] account: self typo
Ferdinand Gassauer [Mon, 6 Oct 2014 15:10:50 +0000 (17:10 +0200)]
[FIX] account: self typo