- Aug 11, 2014
-
-
Christophe Simonis authored
-
Richard Mathot authored
ae65be2b
-
Denis Ledoux authored
-
Thibault Delavallée authored
[FIX] mail: fixed bounce email recognition + invite email headers + mass mailing statistics not lost anymore - [FIX] bounce regex: too many emails were considered as bounce and therefore not displayed in the chatter and lost for the communication history. The regex was not correctly looking for the bounce alias in the email_to. - [FIX] invite email: replying to the invitation email (invitation as new follower) now replies to the user sending the invitation. - [FIX] mass_mailing: added a column to store the id of the original email in addition to the many2one column. The many2one is set to null when deleting the original email. As the information is necessary, it is saved on another field. The many2one is necessary for indexes purpose as the inverse of a one2many.
-
Olivier Dony authored
In combination with f28be81b, this should help speed up initialization of new boolean columns. psycopg2 handles bool parameters values just fine inside cr.mogrify()
-
Olivier Dony authored
Boolean fields always default to False in 8.0, even when they do not have explicit default values. This causes extra queries in the form: UPDATE <table> SET <bool_field> = false WHERE <bool_field> IS NULL; Those are not necessary as the ORM automatically folds NULL booleans to False, and can be very expensive on tables with several million rows, as the whole table may sometimes need to be rewritten (can take dozens of minutes)
-
Denis Ledoux authored
This is related to commit d31faceb (This is to avoid the runbot being yellow if on_change methods have extra keys in the returned value, this is not wrong, the web client will simply ignore them).
-
- Aug 08, 2014
-
-
Cecile Tonglet authored
When you set the date of a cron the July 1st at midnight, if the user time zone has a positive offset, then the converted UTC date is the June 30th and adding 1 month will end up on July 30th translating to July 31th instead of September 1st. To solve this issue we use the super user time zone for the date calculation.
-
Raphael Collet authored
Some many2one fields happen to have several corresponding one2many fields, typically with different domains. It is also the case for the field 'res_id' of mail.message, where each model inheriting from mail.thread defines a one2many based on that field. The fix ensures that when a relational field is updated, all its inverse fields are invalidated.
-
Raphael Collet authored
-
Olivier Dony authored
-
Raphael Collet authored
The default values are computed by evaluating fields on a new record. The fix retrieves values from the cache earlier, because in some cases, the evaluation of a field invalidates a formerly evaluated field.
-
Raphael Collet authored
-
Denis Ledoux authored
In the return result of an on_change, having keys which are not ine the view is not that bad, it is not an actual problem. Display warning instead of asserting all the keys are in the views.
-
Richard Mathot authored
-
- Aug 07, 2014
-
-
Olivier Dony authored
The extra parsing check is not necessary when we're not validating inputs, because in that case the values come from the database and are valid. The validation is quite expensive due to calls to strptime() + strftime().
-
Olivier Dony authored
This can give a performance boost on large databases and should not be a concern in terms of access control as the inheritance already grants access to the parent records.
-
Olivier Dony authored
-
Olivier Dony authored
-
Thibault Delavallée authored
management to access documents in notification emails, as well as for the 'view quotation' link in portal_sale module. models: added a get_access_action method: basically, returns the action to access a document. It uses the get_formview_action by default (form view of the document). However for some documents we want to directly go to the website, leading to an act_url action for some documents. This method allows this behavior. portal_sale: get_signup_url now uses the mail.action_mail_redirect method instead of directly redirecting towards a portal menu. This allows to fall back on a standard behavior. portal_sale: get_formview_action updated, to match actions tailored for portal users. website_quote: get_access_action of sale order updated. If the sale order has a template defined, the returned action is an act_url (website view of the quotation), not the form action anymore. mail: fixed signature + company signature in notification emails. Even without user signature, the company signature + access link should be correct. portal: signup url in notification emali was not using the mail redirection as action. It is now the case.
-
Thibault Delavallée authored
[FIX] tools: html_sanitize: keep mako tags (<% ... %>), required for example in the portal sale quotation email.
-
Denis Ledoux authored
-
Christophe Simonis authored
-
Christophe Simonis authored
-
Christophe Simonis authored
-
- Aug 06, 2014
-
-
Olivier Dony authored
Due to the use of a sudo env, the records were being added to the sudo cache one by one instead of all at once. This meant the prefetching was not able to load all records at once, leading to prohibitive times when processing thousands of records.
-
Raphael Collet authored
This avoids code duplication between methods, and keeps backward compatibility with existing code overriding _name_search().
-
Raphael Collet authored
If a selection field is defined by a list as selection, such as: state = fields.Selection([('a', 'A'), ('b', 'B')]) one can extend it by inheritance by redefining the field, as: state = fields.Selection(selection_add=[('c', 'C')]) The result is that the selection field will have the list [('a', 'A'), ('b', 'B'), ('c', 'C')] as selection.
-
Christophe Simonis authored
As `_inherits` fields are now handled via `related` fields (not stored, obviously), a new descriptor `searchable` has been added to `fields_get()` result to indicated if the field is searchable or not.
-
Mohammed Shekha authored
Singleton object was required while access model properties, but search returns multiple results and hence caused traceback while accessing record.property
-
Raphael Collet authored
The one2many field 'user_ids' was initialized with an incorrect value for the inverse field 'wizard_id', using a res.users id. The latter was causing a MissingError exception. The fix is simply to not define explicitly the inverse field in the one2many. Also did a small cleanup of the code of the wizard.
-
Raphael Collet authored
The existing code was buggy when writing on *2many fields with a list of commands: the value was converted for the cache, but taking an empty recordset as the current value of the field.
-
- Aug 05, 2014
-
-
Raphael Collet authored
This makes the patching mechanism more flexible, and enables patching BaseModel, for instance. This should fix #1501.
-
Cecile Tonglet authored
It is not useful to try to create foreign keys when the destination model is a PostgreSQL view for example. We already do this kind of verifications but ir.actions and transient models but did not for _auto.
-
Raphael Collet authored
- simplify the code by removing unused cases - do not modify input argument 'value' of create/write - do not call BaseModel.read() with reified group fields (this causes warnings)
-
Wolfgang Taferner authored
Makes ordering transitions easier and more deterministic. (Rebase of #1564)
-
- Aug 04, 2014
-
-
Olivier Dony authored
See #1527
-
Denis Ledoux authored
-
Raphael Collet authored
When a new record is returned as the value for a many2one on a new record, the method Many2one.convert_to_write() now returns a NewID, and default_get() then discards that value from its result. This makes it consistent with its former behavior. Manual rebase of #1547
-
Raphael Collet authored
The fix consists in this: when setting up models, ignore manual fields that refer to unknown models if all models have not been loaded yet.
-