Commit Graph

280 Commits

Author SHA1 Message Date
Vo Minh Thu c629763a0f [FIX] two loops one loop (a previous commit) was wrongly done :(.
bzr revid: vmt@openerp.com-20111005135549-xvhtt57fl1ib7o6e
2011-10-05 15:55:49 +02:00
Vo Minh Thu 478854aac0 [FIX] fields.reference: post-process reference fields to test if the referenced record exists.
bzr revid: vmt@openerp.com-20111005113434-itjuj0u3d6fhryn8
2011-10-05 13:34:34 +02:00
Xavier Morel 5eeeb67e6d [IMP] raise error when iterating over browse_record
Python has an iteration fallback protocol: when iterating over an
object which does not define __iter__, if the object defines
__getitem__ it considers that it's a list, and invokes __getitem__
from index `0`.

This can be a problem in openerp in methods which expect an list of
ids but are only given a single id (not a singleton list), in that
case self.browse() will return a single browse_record (instea of a
list) and the method tries to iterate over it by calling
browse_record.__getitem__.

Problem is that browse_record.__getitem__ is pretty deep and does
little validation, so the error appears 3 frames below where the
actual issue is with a completely cryptic message of "KeyError: 0",
which makes the actual harder to track.

By raising an error immediately in browse_record.__iter__, this kind
of issues is much easier to handle, the stack points precisely to the
frame in error with a clearer message.

bzr revid: xmo@openerp.com-20111005112444-jcp9fw6pa36ahpsd
2011-10-05 13:24:44 +02:00
Vo Minh Thu 7ccc7f388f [IMP] fields.reference: two loops one loop.
bzr revid: vmt@openerp.com-20111005105103-cutnuvfkgsjej3vc
2011-10-05 12:51:03 +02:00
Olivier Dony d13fb7fe7e [MERGE] various bugfixes/improvements (coming from EDI development)
- _original_module is now available on model/browse_records
 - context usage in res.partner.*
 - proper name_search() + default values for res.currency
 - active_model in wkf exec context
 - safe_eval allows try/except/finally
 - yaml_import: !ref {id: xml_id} works
 - ir_mail_server: support for alternative body/subtype
 - default value for web.base.url config parameter
 - consistency rename: Model.*get_xml_id* -> *get_external_id*

bzr revid: odo@openerp.com-20111005100954-c8mbd4kz6kkqaj84
2011-10-05 12:09:54 +02:00
Yogesh (OpenERP) 2fd484263a [MERGE] Merge wtih trunk server upto revision no 3722.
bzr revid: ysa@tinyerp.com-20111005071001-x8cdfvarwfk4brkb
2011-10-05 12:40:01 +05:30
Olivier Dony 982b2a0894 [FIX] orm: typo in computation of Model._original_module
bzr revid: odo@openerp.com-20111004225439-xnb77gtbl77onysm
2011-10-05 00:54:39 +02:00
Olivier Dony bfdbbb51cb [FIX] orm.export_data: 'module' column is required when creating external IDs
The 'module' field of ir.model.data is required, so we
we need to set it when auto-generating ir.mode.data
entries. This acts as the namespace of the record.
Because we don't want exported records to look like they
belong to an existing module (and risk being garbage
collected at the next module update), we put these
auto-generated names in a reserved '__export__' module
namespace.

bzr revid: odo@openerp.com-20111004205140-duaww77ng4qmktj2
2011-10-04 22:51:40 +02:00
Olivier Dony edf68f510c [REM] orm: annoying INFO log lines
bzr revid: odo@openerp.com-20111004204800-f4470vy0ou3ugxnm
2011-10-04 22:48:00 +02:00
Olivier Dony 51b1201daa [IMP] orm: remember Model._original_module when constructing inheritance
ORM Models already have a _module attribute that contains the
name of the module that declared this class, however
sometimes we also need the name of the module that
declared this model the first time.
This will be stored in _original_module and is the
name of the module to which the first parent with 
the same _name belongs to.

bzr revid: odo@openerp.com-20111004204705-8z9o70n1ynpvng3i
2011-10-04 22:47:05 +02:00
Vo Minh Thu 68a0858c9c [FIX] orm: a typo made all models treated as if they were transient in check_access_rule().
bzr revid: vmt@openerp.com-20111004143335-7etc6y2kje1y20ef
2011-10-04 16:33:35 +02:00
Vo Minh Thu 8dc80c7c7c [MERGE] orm: use directly lxml.etree to generate default views.
bzr revid: vmt@openerp.com-20111004092828-79hhaiwgw4dltimd
2011-10-04 11:28:28 +02:00
Vo Minh Thu 9e082fad89 [MERGE] merged trunk.
bzr revid: vmt@openerp.com-20111003145135-5ysm8hpp83wey437
2011-10-03 16:51:35 +02:00
Vo Minh Thu 7b90c7e5de [MERGE] merged trunk.
bzr revid: vmt@openerp.com-20111003144503-lx28ennrz0mt590g
2011-10-03 16:45:03 +02:00
Olivier Dony 288e8ebcfc [IMP] browse_record._table -> browse_record._model
bzr revid: odo@openerp.com-20111003144049-d6o4igae8mslns5x
2011-10-03 16:40:49 +02:00
Olivier Dony f4ffbd79f4 [IMP] field.m2m: better doc for auto-named m2m relationships
bzr revid: odo@openerp.com-20111003132653-413c41exoj64q416
2011-10-03 15:26:53 +02:00
Olivier Dony 0489f83a44 [IMP] orm: rename/cleanup: get_xml_id* -> get_external_id*
bzr revid: odo@openerp.com-20110930222355-jtuo4z9dz995emxk
2011-10-01 00:23:55 +02:00
Antony Lesuisse ace4703440 [MERGE] trunk
bzr revid: al@openerp.com-20111001012210-uqqso9y80a21hgeo
2011-10-01 03:22:10 +02:00
Olivier Dony babb7aa0ec [FIX] fields: m2m SQL names may be dynamic now, care for it in field_to_dict()
Also cleaned up field_to_dict signature and callers to
honor conventions.

lp bug: https://launchpad.net/bugs/863019 fixed

bzr revid: odo@openerp.com-20110930112348-4c8undh1d6h1y3ps
2011-09-30 13:23:48 +02:00
Vo Minh Thu f82c6503b7 [FIX] xmlrpc: handle old/new exceptions with old/new clients.
bzr revid: vmt@openerp.com-20110930085012-pqzzb3qwvdwu9hxy
2011-09-30 10:50:12 +02:00
Antony Lesuisse 46d3f7e42c [FIX] osv object_proxy to use new style class
bzr revid: al@openerp.com-20110929224919-uacfp8w53jfqikkj
2011-09-30 00:49:19 +02:00
Xavier Morel 3cee85eaba [FIX] typo syntax error
bzr revid: xmo@openerp.com-20110929132822-3qbbl1qttnvfhl40
2011-09-29 15:28:22 +02:00
Xavier Morel 0618731f6b [MERGE] trunk
bzr revid: xmo@openerp.com-20110929132454-oweaht1oel4st1m8
2011-09-29 15:24:54 +02:00
Xavier Morel 22b1bb8abb [FIX] do not remove 'multi=True' actions in fields_view_get for tree view
fields_view_get removed multi=True actions from the result of
ir_values.get_actions('client_action_multi', ...), so that multi
actions would not be displayed in the form view's sidebar in the GTK
client.

The web client has a sidebar in both cases, the GTK client just
ignores 'toolbar' key if not in tree view, so don't remove 'multi'
actions in tree view toolbar, to avoid having to perform one more RPC
call (explicit ir_values.get) in web client.

lp bug: https://launchpad.net/bugs/856378 fixed

bzr revid: xmo@openerp.com-20110929130701-65ubx1o0swk889nl
2011-09-29 15:07:01 +02:00
Vo Minh Thu 27f9a9676f [FIX] exceptions: except_osv in already a synonym for o.e.Warning, except_orm should not be qualified.
bzr revid: vmt@openerp.com-20110929073124-kxwwatr8l697ng8r
2011-09-29 09:31:24 +02:00
Antony Lesuisse c71979e6ae [MERGE] /openerp/6.1 xmlrpc compliant
bzr revid: al@openerp.com-20110928220539-5q8eujk1l0q43d4x
2011-09-29 00:05:39 +02:00
Vo Minh Thu ebd8ca5df5 [IMP] orm: expose ir.model.access check shortcuts.
bzr revid: vmt@openerp.com-20110928130107-5y5di6nx0al3q8mh
2011-09-28 15:01:07 +02:00
Olivier Dony 762637518b [MERGE] osv_memory removed, merged into database-backed Model/TransientModel
bzr revid: odo@openerp.com-20110927213712-9aa0x0aqoh13f6ga
2011-09-27 23:37:12 +02:00
Olivier Dony 209390d627 [MERGE] sync with latest trunk
bzr revid: odo@openerp.com-20110927165133-uwl7px6bxl6eu7us
2011-09-27 18:51:33 +02:00
Fabien Pinckaers ae0649df5f merge
bzr revid: fp@tinyerp.com-20110927140526-ld9eost69hspy69i
2011-09-27 16:05:26 +02:00
Fabien Pinckaers c3afdca2ab [IMP] generate XML id when exporting an ID that does not exists
bzr revid: fp@tinyerp.com-20110927140450-2b78h9dsb1fh7t11
2011-09-27 16:04:50 +02:00
Naresh (OpenERP) 7101204a22 [FIX/IMP]:stored function override were not removed
lp bug: https://launchpad.net/bugs/789576 fixed

bzr revid: nch@tinyerp.com-20110927105821-3rmydltdyv4gv830
2011-09-27 16:28:21 +05:30
Olivier Dony ad4a216e7d [IMP] fields.m2m: support implicit generation of m2m SQL names
This allows for transparent inheritance of m2m columns via _inherit,
as long as the m2m relationship table is not explicitly named in 
the declaration.

bzr revid: odo@openerp.com-20110926171451-n2jg8pbl5mq715vk
2011-09-26 19:14:51 +02:00
Vo Minh Thu 157580b8e8 [IMP] xmlrpc: use proper exception type to map to xmlrpc error codes.
bzr revid: vmt@openerp.com-20110926151403-fhx4ph22tua2s3st
2011-09-26 17:14:03 +02:00
Vo Minh Thu bbd10d96c0 [IMP] exceptions: replace ExceptionNoTb with AccessDenied.
bzr revid: vmt@openerp.com-20110926125358-8yy4tvnemfna72u7
2011-09-26 14:53:58 +02:00
Olivier Dony f81fe2dc6e [IMP] orm: enforce proper m2o ondelete rules between TransientModels and Models
bzr revid: odo@openerp.com-20110926111226-fu834vqwm4gbxk8l
2011-09-26 13:12:26 +02:00
Olivier Dony 6462c85f6c [IMP] start unifying the SUPERUSER_ID constant
bzr revid: odo@openerp.com-20110926090156-2smbh0ypzitauhmt
2011-09-26 11:01:56 +02:00
Xavier Morel 0de487e029 [IMP] doc for import_data
bzr revid: xmo@openerp.com-20110926075115-bsdyjzk5nhp0cbnh
2011-09-26 09:51:15 +02:00
Antony Lesuisse 7a88d9058d [MERGE] trunk
bzr revid: al@openerp.com-20110924145258-16r9qi7hr3dip1jz
2011-09-24 16:52:58 +02:00
Olivier Dony 1bf74fa77e [MERGE] no-op merge of trunk, discarding osv-memory fix, obsolete already
bzr revid: odo@openerp.com-20110924022846-p08bawfxh5lym37u
bzr revid: odo@openerp.com-20110924025346-1khpike23e2honll
2011-09-24 04:53:46 +02:00
Olivier Dony dfccbaf28b [FIX] orm,expression: special-case previous commit for osv_memory
This will soon be obsolete and deleted, as soon
as osv_memory will be removed and merged inside
normal osv.

bzr revid: odo@openerp.com-20110924024928-awgncvhcyfkmnak5
2011-09-24 04:49:28 +02:00
Olivier Dony 67dcd97ea6 [FIX] orm,expression: sanity checks for domain terms, cleanup, tests
bzr revid: odo@openerp.com-20110924020303-2amkx95ij1yp8ofk
2011-09-24 04:03:03 +02:00
Olivier Dony 334dee0479 [IMP] orm: fix Model hierarchy to avoid TransientModel leaking downstream
bzr revid: odo@openerp.com-20110923174018-8l2b4qc1vecgs0sc
2011-09-23 19:40:18 +02:00
Olivier Dony 3b974972a3 [IMP] review/cleanup + fix TransientModels inheritance
bzr revid: odo@openerp.com-20110923163027-50ov6qj3daax8hpi
2011-09-23 18:30:27 +02:00
Olivier Dony f2f3c916c9 [REM] orm: m2m._no_foreign_keys attribute removed, replaced by SQL check
bzr revid: odo@openerp.com-20110923162929-nhl32ie6zc6uuj8h
2011-09-23 18:29:29 +02:00
Olivier Dony 49be41eceb [FIX] orm.py: missing patch, lost during last merge
See corresponding patch from trunk at revision
3612 revid:odo@openerp.com-20110919091952-05lfl2kncr3ep9nj

bzr revid: odo@openerp.com-20110923145517-odyq9z1h5ibck6nu
2011-09-23 16:55:17 +02:00
Olivier Dony 2e7a134228 [IMP] orm: introduce cleaner class hierarchy for models
We'll now have a BaseModel with 3 subclasses, AbstractModel,
TransientModel and Model. Model is for regular models, 
TransientModel for automatically-vacuumed models, and
AbstractModel for common superclasses meant to be 
inherited by other models only, and not directly used.

bzr revid: odo@openerp.com-20110923124525-jfzk55dk3ban2ps2
2011-09-23 14:45:25 +02:00
Vo Minh Thu 0c123711c5 [FIX] It is possible to mention an undeclared column in a domain.
Actually, this seems to be used for the logging columns
which are in database but not necessarily in _columns.
This is ugly and a warning is now issued.

lp bug: https://launchpad.net/bugs/857105 fixed

bzr revid: vmt@openerp.com-20110923101839-ko0s7ekt4dlyvrx2
2011-09-23 12:18:39 +02:00
Olivier Dony 7d4cdb69f2 [IMP] orm: minor cleanup: avoid duplicate functions to do the same thing
bzr revid: odo@openerp.com-20110922172027-7kiae4yd2vuwwk6w
2011-09-22 19:20:27 +02:00
Olivier Dony aece39ac83 [IMP] TransientModel: unnecessary unlink() override
Workflow instance deletion is taken care of by the
regular Model.unlink() method, by calling 
workflow.trg_delete().

bzr revid: odo@openerp.com-20110922165003-ub5761gjlnebz4yh
2011-09-22 18:50:03 +02:00