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.
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.
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
Xavier Morel [Thu, 9 Oct 2014 13:38:36 +0000 (15:38 +0200)]
[IMP] doc: add testing reference and improve docstrings
Raphael Collet [Thu, 9 Oct 2014 09:06:12 +0000 (11:06 +0200)]
[IMP] fields: rename attribute 'copyable' into 'copy'
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.
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
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.
Raphael Collet [Wed, 8 Oct 2014 14:32:48 +0000 (16:32 +0200)]
[IMP] fields: add assertions to check parameters (comodel_name, size, digits)
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.
Raphael Collet [Thu, 2 Oct 2014 11:35:00 +0000 (13:35 +0200)]
[IMP] fields: make attribute 'default' callable
Olivier Dony [Wed, 8 Oct 2014 15:52:25 +0000 (17:52 +0200)]
[I18N] Update translations from Launchpad 8.0 branches
Xavier Morel [Wed, 8 Oct 2014 11:09:13 +0000 (13:09 +0200)]
[IMP] new-api-ify 'trigger' server action
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.
Xavier Morel [Wed, 8 Oct 2014 11:06:33 +0000 (13:06 +0200)]
[ADD] actions documentation
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)
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.
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.
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
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.
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
Fabien Meghazi [Wed, 8 Oct 2014 10:33:56 +0000 (12:33 +0200)]
[FIX] dict notation for js reserved words in options (Fixes #2957)
Cedric Snauwaert [Wed, 8 Oct 2014 09:54:31 +0000 (11:54 +0200)]
[FIX] kanban: remove container=element for tooltips on kanban
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
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
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
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.
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
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
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
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
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.
Xavier Morel [Mon, 29 Sep 2014 14:47:04 +0000 (16:47 +0200)]
[FIX] JS tutorial
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.
Xavier Morel [Fri, 12 Sep 2014 13:40:50 +0000 (15:40 +0200)]
[ADD] port webclient RPC doc from web/doc
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
Denis Ledoux [Tue, 7 Oct 2014 07:59:55 +0000 (09:59 +0200)]
[MERGE] forward port of branch saas-3 up to 56f678c
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
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
Xavier Morel [Thu, 11 Sep 2014 13:52:38 +0000 (15:52 +0200)]
[ADD] pyqweb-specific stuff, pyqweb APIDoc
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
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.
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 (?)
Xavier Morel [Thu, 11 Sep 2014 06:15:46 +0000 (08:15 +0200)]
[ADD] running of XML cases to python qweb
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)
Xavier Morel [Mon, 8 Sep 2014 14:55:46 +0000 (16:55 +0200)]
[ADD] qweb-js: escf, rawf for parity with Python version
Xavier Morel [Mon, 8 Sep 2014 14:42:15 +0000 (16:42 +0200)]
[ADD] qweb-js: jinja-style interpolation pattern
Xavier Morel [Mon, 8 Sep 2014 14:36:19 +0000 (16:36 +0200)]
[IMP] qweb-js: reimplement string interpolation compilation as a single pass
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
Martin Trigaux [Mon, 6 Oct 2014 13:52:23 +0000 (15:52 +0200)]
Forward port of branch saas-3 up to fc9fc3e
Simon Lejeune [Mon, 6 Oct 2014 12:30:23 +0000 (14:30 +0200)]
[FIX] account: res_config: gain/loss exch. account onchange
Commit
f4e350ca3 defined an `onchange_company_id` method, never executed
because another `onchange_company_id` was defined below. Merged the first
in the second.
Simon Lejeune [Mon, 6 Oct 2014 13:13:30 +0000 (15:13 +0200)]
[FIX] website_quote: forbid to define a quote template on a sale order
Defining a quote template may change the product list. The field template_id is now editable
only when the sale.order is in draft or sent state.
Jeremy Kersten [Mon, 6 Oct 2014 12:34:29 +0000 (14:34 +0200)]
[IMP] website_crm: allow the response from crm thanks page to be overridable
Jeremy Kersten [Mon, 6 Oct 2014 12:32:28 +0000 (14:32 +0200)]
[FIX] google_calendar: add missing parameter to logger_info
Martin Zlámal [Wed, 27 Aug 2014 14:58:55 +0000 (16:58 +0200)]
[FIX] common.py: missing import
It was not possible to call "about" function via remote control
(XML-RPC), because it contains string translation without import.
Raphael Collet [Mon, 6 Oct 2014 09:56:03 +0000 (11:56 +0200)]
[FIX] models: fields_get() shall not return info about fields not set up yet
When processing data files during a module installation/upgrade, not all fields
are set up yet, in particular relational custom fields. Make fields_get()
ignore those fields, so that views can be created/updated and validated,
provided they do not refer to those fields...
Young Joy [Mon, 6 Oct 2014 03:27:55 +0000 (11:27 +0800)]
[FIX] project: typo in protect.task create
that typo will cause project task create error when set date_end before the time right now
Josse Colpaert [Mon, 6 Oct 2014 07:52:12 +0000 (09:52 +0200)]
Merge pull request #2918 from odoo-dev/8.0-wmsextramoves-jco
[IMP] Make sure invoice_state of picking is used when creating extra moves
Josse Colpaert [Mon, 6 Oct 2014 07:50:01 +0000 (09:50 +0200)]
Merge pull request #2827 from odoo-dev/8.0-eanproductviews-2772-jco
8.0 eanproductviews 2772 jco
Josse Colpaert [Tue, 30 Sep 2014 11:34:44 +0000 (13:34 +0200)]
[FIX] Fix inheritance in point_of_sale views + ean visible on creation + landed costs views
[IMP] Set custom EAN not visible when multiple variants
[IMP] Change landed costs views + make ean visible upon creation
Josse Colpaert [Tue, 30 Sep 2014 09:08:50 +0000 (11:08 +0200)]
[FIX] Adapt product variants in order to show internal code and ean13 #2772
[IMP] Typo
Josse Colpaert [Thu, 2 Oct 2014 10:00:46 +0000 (12:00 +0200)]
[IMP] Make sure invoice_state of picking is used when creating extra moves and take price of related move if there is one
When we would copy, it gives problems as it won't be invoiced the correct way on sale, so we provide for a simpler solution.
Jeremy Kersten [Fri, 3 Oct 2014 20:26:26 +0000 (22:26 +0200)]
[FIX] website_crm: move the input hidden generated with kwargs at bottom of the form. Else, if the args is a field displayed later, form never look about the new value and error remains. When we post a form with 2 fields with the same name, we got only the first one into kwargs from controller.
Jeremy Kersten [Fri, 3 Oct 2014 18:43:48 +0000 (20:43 +0200)]
[IMP] hr_holiday/calendar : allow to pass no_email into context when we create a meeting to avoid to send a mail to attendees.
Jeremy Kersten [Fri, 3 Oct 2014 16:08:28 +0000 (18:08 +0200)]
[IMP] google_calendar: add missing file google_calendar.xml
Jeremy Kersten [Fri, 3 Oct 2014 15:52:31 +0000 (17:52 +0200)]
[IMP] Google calendar - add function to allow the cron to run google calendar synchronization
Prashant Panchal [Wed, 1 Oct 2014 05:03:26 +0000 (10:33 +0530)]
[FIX] account_anglo_saxon: avoid two box purchase_ok field
as account_anglo_saxon depends from purchase and purchase already adds the field purchase_ok
Fixes #2630
Holger Brunn [Thu, 2 Oct 2014 13:52:07 +0000 (15:52 +0200)]
[FIX] auth_ldap: remove insignificant spaces in login
strip spaces from user name as they will probably be ignored by ldap's search (rfc4518)
Fixes #2865
Arthur Maniet [Fri, 3 Oct 2014 14:00:10 +0000 (16:00 +0200)]
Merge pull request #2894 from erwin-bas-solutions/translation-reconcile
[FIX] Account. Missing translation on write-off comment
Erwin van der Ploeg [Fri, 3 Oct 2014 13:38:45 +0000 (15:38 +0200)]
[FIX] Account. Missing translation on write-off comment
Martin Trigaux [Fri, 3 Oct 2014 13:17:36 +0000 (15:17 +0200)]
Forward port of branch 7.0 up to b3485fb
Martin Trigaux [Fri, 3 Oct 2014 13:15:12 +0000 (15:15 +0200)]
[FIX] event: double context
Martin Trigaux [Fri, 3 Oct 2014 13:12:04 +0000 (15:12 +0200)]
[FIX] event: missing context
This fixes some translation issues (templates not translated at event confirmation)
Julien Legros [Fri, 3 Oct 2014 09:26:48 +0000 (11:26 +0200)]
[FIX] website_quote: use dedicated email template if a quote template exists
Denis Ledoux [Fri, 3 Oct 2014 12:02:25 +0000 (14:02 +0200)]
[Revert]
cb30783aba642627c6bf71d4aa812de00e7d536d &
6349048ba0e5e74c74e783ffce8c3c0083d2f060
[FIX] web: avoid force_reload in list editable
[FIX] web: force load record after reload page
These fixes prevent to open existing record form
Martin Trigaux [Mon, 29 Sep 2014 12:48:11 +0000 (14:48 +0200)]
[FIX] account_anglo_saxon: price difference, discount and taxes
When computing the price difference amount do not integrate the eventual discount and taxes included in the price.
Otherwise the total of the generated accounting enty would be higher than the total of the invoice. opw 611350
Denis Ledoux [Fri, 3 Oct 2014 10:13:07 +0000 (12:13 +0200)]
[MERGE] forward port of branch 7.0 up to 9066da3
Denis Ledoux [Fri, 3 Oct 2014 10:09:48 +0000 (12:09 +0200)]
[FIX] point_of_sale: do not display False as currency if symbol is not set
Denis Ledoux [Fri, 3 Oct 2014 10:08:49 +0000 (12:08 +0200)]
[FIX] ir_translation: apply tools.ustr on the trad itself
tools.ustr(None) returns u'None', res[0] can be None.
Martin Trigaux [Fri, 3 Oct 2014 09:21:48 +0000 (11:21 +0200)]
[FIX] web: avoid force_reload in list editable
When creating a new record in list editable, due to previous commit 6349048, the load_record was called twice and the first record of the current list view (self.dataset.index) was used to fill the new record.
With this, we make sure a new record is indeed created.
Fix the web test to have a default_get call in mock models and increase the number of default_get assertions (for creations in list editable, the default_get is then called twice, not optimal but due to the absence of distinction between empty datarecord and filled with default values).
Denis Ledoux [Fri, 3 Oct 2014 09:22:47 +0000 (11:22 +0200)]
[MERGE] forward port of branch 7.0 up to 6d4e1cc
Denis Ledoux [Fri, 3 Oct 2014 09:20:19 +0000 (11:20 +0200)]
[FIX] ir_translation: remove control characters from translations
This is possible that control characters (such as line returns) are inserted wrongly in translations
These should not influence on the web interface
dhr-odoo [Fri, 19 Sep 2014 09:38:46 +0000 (15:08 +0530)]
[FIX] account: return format of function field
When no result is found on the function field 'invoice' (account.move.line), instead of returning {move_id: (False, '')}, return {move_id: False} (expected for m2o fields)
Fixes #2138, opw 613096
Martin Trigaux [Fri, 3 Oct 2014 07:29:07 +0000 (09:29 +0200)]
[FIX] web: force load record after reload page
When reloading a page, the _actualize_mode is called before the record is loaded and the form is displayed partially in edit mode (o2m fields with delete/add icons).
This patch forces to trigger a load_record when the datarecord has not been loaded yet in the do_show merthod (opw 607910)
Denis Ledoux [Thu, 2 Oct 2014 18:33:53 +0000 (20:33 +0200)]
Wolfgang Taferner [Thu, 2 Oct 2014 16:36:15 +0000 (18:36 +0200)]
[FIX] website_sale: shopping cart quantity width (qty > 9)
Wolfgang Taferner [Thu, 2 Oct 2014 16:04:48 +0000 (18:04 +0200)]
[FIX] website_sale: too tiny quantity input (if qty > 9) for all occurences
Denis Ledoux [Thu, 2 Oct 2014 08:36:42 +0000 (10:36 +0200)]
[FIX] api: clear environments on module installation
Denis Ledoux [Thu, 2 Oct 2014 15:34:59 +0000 (17:34 +0200)]
[FIX] mail: keep breadcrumb on click on chatter follower
Simon Lejeune [Tue, 30 Sep 2014 12:16:25 +0000 (14:16 +0200)]
[FIX] email_template: don't escape the signature, it's a field `html`
Fields of html type are already escaped in database and the method
`append_content_to_html` defaults the argument `plaintext` to True,
then calls `plaintext2html` if this argument is True, resulting in
the html signature being escaped twice.
Denis Ledoux [Thu, 2 Oct 2014 14:33:57 +0000 (16:33 +0200)]
[FIX] ir_qweb: search assets as superuser
A security has been introduce in
eb9113c04d66627fbe04b473b9010e5de973c6aa to restrict access to orphan attachments to employees only
Assets need to be build and accessed as superuser, thus
jmustonen [Wed, 1 Oct 2014 09:28:09 +0000 (12:28 +0300)]
[FIX] odoo.py windows compatibility
Prevent infinite loop when installing on windows
Fixes #2825
Tested to work on
* Git Bash v1.9.4 on Windows 8.1 Professional
* Ubuntu 12.04.5 LTS
Simon Lejeune [Wed, 1 Oct 2014 16:53:07 +0000 (18:53 +0200)]
[FIX] web: manual update of select2 lib to 3.5.1 version
The previous version of the lib seemed to be in an inconsistent state.
This fix the select2-offscreen class when the page is larger than
10 000px (this situation happens when importing a file with lots
of column).
Denis Ledoux [Thu, 2 Oct 2014 13:36:58 +0000 (15:36 +0200)]
[MERGE] forward port of branch saas-3 up to 77500e5
Denis Ledoux [Thu, 2 Oct 2014 13:34:02 +0000 (15:34 +0200)]
[MERGE] forward port of branch 7.0 up to eb9113c
Denis Ledoux [Thu, 2 Oct 2014 13:17:48 +0000 (15:17 +0200)]
[FIX] ir_attachment: restrict access to orphan attachments to employees
Cedric Snauwaert [Thu, 2 Oct 2014 12:09:13 +0000 (14:09 +0200)]
[FIX] barcode interface: a lot of deferred were not correctly returned
Simon Lejeune [Tue, 30 Sep 2014 14:41:26 +0000 (16:41 +0200)]
[FIX] sale_order_date: requested_date editable in `sent` state
Jeremy Kersten [Thu, 2 Oct 2014 11:22:39 +0000 (13:22 +0200)]
[IMP] ir_qweb: allow to display a datetime like a date
Christophe Matthieu [Thu, 2 Oct 2014 10:39:49 +0000 (12:39 +0200)]
[IMP] website: add snippet for floating picture