Commit Graph

557 Commits

Author SHA1 Message Date
Olivier Dony 54f740960e [MERGE] Forward-port of latest saas-1 bugfixes, up to rev. 4912 rev-id: odo@openerp.com-20131016110621-36vvlpn8dgsabyt1
bzr revid: odo@openerp.com-20131016111800-jjybreg62bwz61zn
2013-10-16 13:18:00 +02:00
Olivier Dony 7cb7405ffd [IMP] orm: _store_get_values: rename variables to make this horror slightly more readable
We keep having to fight variable decay in that function, for some reason.

bzr revid: odo@openerp.com-20131011134501-7b5rflknjm1r9zfd
2013-10-11 15:45:01 +02:00
Olivier Dony 8ac110c4dd [MERGE] Forward-port of latest 7.0 bugfixes, up to rev. 5098 rev-id: odo@openerp.com-20131011123914-7zuvd9mch21yxgj8
bzr revid: dle@openerp.com-20131009131902-a93nsbou4w8y0vlx
bzr revid: chs@openerp.com-20131009175454-j06y1ngylfbqyrpj
bzr revid: dle@openerp.com-20130918160049-fo88fl7uyhfoofkv
bzr revid: dle@openerp.com-20130924130544-kmkyr0d73cusvdav
bzr revid: odo@openerp.com-20131011134433-nyfjipvlql4xu127
2013-10-11 15:44:33 +02:00
Olivier Dony dafa12d92c [FIX] ir.model: FK constraints for custom m2o fields were never created, creating possible data integrity errors
bzr revid: odo@openerp.com-20131010170718-lwoxkqc1tx7i8vhg
2013-10-10 19:07:18 +02:00
Martin Trigaux 7fc046e6b3 [IMP] orm: don't compute twice the same function for stored fields if two fields have the same trigger function
bzr revid: mat@openerp.com-20130930140515-4kbzkotjh2ify5vm
2013-09-30 16:05:15 +02:00
Christophe Simonis 03ef8485d7 [FIX] orm: correct read_group when searching by month
bzr revid: chs@openerp.com-20130930125946-exr791f83seaa9br
2013-09-30 14:59:46 +02:00
Martin Trigaux 46020a08da [IMP] store fields: do not add twice the same function field in the store_function list
bzr revid: mat@openerp.com-20130930121511-94a2k0ka91bsgrnf
2013-09-30 14:15:11 +02:00
Christophe Simonis 28b09221d6 [FIX] orm.BaseModel.exists(): early return if no ids given
bzr revid: chs@openerp.com-20130919114711-ofx2aubtr5z7dgh4
2013-09-19 13:47:11 +02:00
Christophe Simonis fd9a9577df [MERGE] forward port of branch saas-1 up to revid 4908 dle@openerp.com-20130918160049-fo88fl7uyhfoofkv
bzr revid: chs@openerp.com-20130918171816-cxxt3c9ktcq4a8oz
2013-09-18 19:18:16 +02:00
Thibault Delavallée 54c014c4ea [IMP] read_group: group_by -> groupby (same variable, but was used in previous implementation, so I keep it)
bzr revid: tde@openerp.com-20130917100447-u0qhdsw14wdngxwc
2013-09-17 12:04:47 +02:00
Thibault Delavallée 63988959a7 [IMP] read_group: added forgottent year computation
bzr revid: tde@openerp.com-20130916114722-4742fhn4ilhf133e
2013-09-16 13:47:22 +02:00
Thibault Delavallée defa3adbe8 [DOC] read_group: added comments for the new formatting option
bzr revid: tde@openerp.com-20130916103047-lpbf7czflyvgtonu
2013-09-16 12:30:47 +02:00
Christophe Simonis e13ffe7e11 [MERGE] forward port of branch 7.0 up to revid 5075 chs@openerp.com-20130912141018-qmcyase8zqov9d01
bzr revid: chs@openerp.com-20130906165207-1oklc8cqs0rex3kg
bzr revid: dle@openerp.com-20130909170248-a4t5y6qd5ikkhhac
bzr revid: dle@openerp.com-20130911083736-6jfkb140jxbbx7j6
bzr revid: chs@openerp.com-20130912150616-v0c383trj7gaa7eu
2013-09-12 17:06:16 +02:00
Christophe Simonis 1d91378ce2 [FIX] ir.ui.view: properly validate newly created inheriting views
When a new inheriting view is imported during a module
    installation, it is validated thanks to the _constraints
    on the ir.ui.view model. However the validation uses
    a rather convoluted system for validating the whole
    view tree at once (root view + all inherited changes)
    while only taking into account the views that belong
    to modules that are currently loaded.

    This complicated system is necessary to be able to
    operate on-the-fly at any point during the registry
    loading/initialization.

    Now because _constraints are checked during create()
    this particular validation happens *before* the
    external ID (ir.model.data entry) of that new view
    can be created (it obviously needs to wait until
    the view record is inserted). As a consequence the
    view validation cannot determine the module to
    which that new view belongs, and was erroneously
    ignoring it.
    Changing the view filtering to also include views
    that have triggered this check.
    Manually created views are not check during registry
    update.

bzr revid: chs@openerp.com-20130912141018-qmcyase8zqov9d01
2013-09-12 16:10:18 +02:00
Thibault Delavallée aca5e76062 [IMP] orm: first draft of improvign group_by on date field, allowing to tune the grain, format and interval when grouping on a date field. Default behavior is the old one, grouping on month.
bzr revid: tde@openerp.com-20130910104500-sfjosqkmpfxa2jxk
2013-09-10 12:45:00 +02:00
Olivier Dony 4eb9059480 [IMP] BaseModel.fields_view_get: warn about non-qualified *_view_ref references
lp bug: https://launchpad.net/bugs/1214799 fixed

bzr revid: odo@openerp.com-20130821122955-8c9z0mi8cu48rne3
2013-08-21 14:29:55 +02:00
Christophe Simonis 208b697239 [MERGE] forward port of branch saas-1 up to revid 4899 chs@openerp.com-20130821094758-1ae0d1ml5obufzxv
bzr revid: odo@openerp.com-20130820160346-qcdy4kavgm5cb9t6
bzr revid: chs@openerp.com-20130821103139-zqqbrt8dq6iixrny
2013-08-21 12:31:39 +02:00
Olivier Dony fbd0758cb5 [MERGE] Forward-port of latest 7.0 bugfixes, up to rev. 5054 rev-id: odo@openerp.com-20130820091157-e5brwlxuhujf8rrd
bzr revid: chs@openerp.com-20130724085026-525l9apggc9yzx0h
bzr revid: odo@openerp.com-20130730140644-1xih0as5jsks4pub
bzr revid: dle@openerp.com-20130801130723-khgwjkglgsdn34fj
bzr revid: odo@openerp.com-20130820091638-jpbcmh653bpa29em
2013-08-20 11:16:38 +02:00
Christophe Simonis e78a83ac03 [FIX] browse records do not prefetch fields with groups
bzr revid: chs@openerp.com-20130819174930-xjzmrhuuuuwnbdg0
2013-08-19 19:49:30 +02:00
Christophe Simonis 815fc8f84a [FIX] browse records do not try to prefetch fields user can't read
bzr revid: chs@openerp.com-20130819164622-7cre7yqpvlyzsslj
2013-08-19 18:46:22 +02:00
Thibault Delavallée f737eb63d0 [IMP] ir_actions_server: added doc + comments + recursion check
orm: added _check_m2my_recursion, to check loops in many2many recursive fields
tools: removed sms_send

bzr revid: tde@openerp.com-20130725104914-dutxfon3odp8z167
2013-07-25 12:49:14 +02:00
Christophe Simonis 5a58a48ef5 [MERGE] forward port of branch saas-1 up to revid 4893 chs@openerp.com-20130701153735-xnbb8zauabf1k63u
bzr revid: chs@openerp.com-20130702144745-763n9cdphkppshxl
2013-07-02 16:47:45 +02:00
Denis Ledoux 9f4397fc85 [MERGE]forward port of latest 7.0 bugfixes, up to rev 5017
rev 5017 = launchpad_translations_on_behalf_of_openerp-20130626061833-drxvzosffezp089g

bzr revid: dle@openerp.com-20130627120342-znttbs00q5bkf4ov
2013-06-27 14:03:42 +02:00
Christophe Simonis c0115e7597 [FIX] orm: Do not prefetch custom fields.
When installing or updating a module, custom fields referring custom model
(many2one) cannot be read because custom model are not loaded at this stage
(they are only loaded after all modules because they can refer any model).
Not prefetching them avoid crash when computing stored function fields.

bzr revid: chs@openerp.com-20130626091332-231rqg5ouhnc3d2x
2013-06-26 11:13:32 +02:00
Olivier Dony 9a5e317618 [FIX] OPW 592482: browse_record should not prefetch binary fields
This was apparently a long-standing issue due to a
strange handling of the _prefetch attribute on
columns: accessing a column would only trigger
the prefetching if its _prefetch attribute was
True, but the prefetching itself would also
prefetch columns that had _prefetch False.

We clearly want it the other way around, or
at least we want _prefetch to decide whether
a column is included in any given prefetching
pass. We can skip the prefetching pass when
the only field being accessed has _prefetch
False because it is likely the other fields
have already been prefetched separately.
This last subtlety should not make any
noticeable performance difference.

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

bzr revid: odo@openerp.com-20130620131057-v7s4qfqj976j3ufo
2013-06-20 15:10:57 +02:00
Quentin (OpenERP) 31d05360b2 [REF] fields: removed deprecated view_load attribute and removed useless first argument in property fields definition
bzr revid: qdp-launchpad@openerp.com-20130619091332-29pisdnyfemn1u3d
2013-06-19 11:13:32 +02:00
niv-openerp 7822665429 added search_read
bzr revid: nicolas.vanhoren@openerp.com-20130621091332-s37ma5gbg88999xv
2013-06-21 11:13:32 +02:00
niv-openerp a94bbf8e5e [FIX] Merge fix in saas1 for the problem that made the server crash when install a db
bzr revid: nicolas.vanhoren@openerp.com-20130610144915-0nj8vpk7n84ocj3f
bzr revid: nicolas.vanhoren@openerp.com-20130610150657-3xddn91gm0iq0ubp
bzr revid: nicolas.vanhoren@openerp.com-20130610154514-oee6s4f9g17bx63z
2013-06-10 17:45:14 +02:00
Vo Minh Thu 8d0a477644 [IMP] ir_ui_view: do not use _logger.exception() (because there is no exception), add a check on `model`.
bzr revid: vmt@openerp.com-20130605121143-u2nkmcmeifphr54h
2013-06-05 14:11:43 +02:00
Vo Minh Thu 0019a86ecf [MERGE] orm: add _sql_contraints only when _auto.
bzr revid: vmt@openerp.com-20130604115402-4cf07eq53o6ocs39
2013-06-04 13:54:02 +02:00
Olivier Dony b16935efdc [IMP] orm: include forbidden IDs when logging ir.rules violations, to make troubleshooting easier
bzr revid: odo@openerp.com-20130604111354-1x5yc305okhx5ujk
2013-06-04 13:13:54 +02:00
Vo Minh Thu 6f1531f1d3 [MERGE] orm: add __iter__ method on browse_null.
Otherwise Python falls back to __getitem__ when trying to loop over it
or when trying to test `in`.

bzr revid: vmt@openerp.com-20130604081706-z79vqj36ls2adw09
2013-06-04 10:17:06 +02:00
Ronald Portier 4634dd6f8e [FIX] Add __iter__ method to browse_null to prevent server hang.
lp bug: https://launchpad.net/bugs/1172292 fixed

bzr revid: ronald@therp.nl-20130424142958-u5r2mxtxqj9v431h
2013-04-24 16:29:58 +02:00
Christophe Simonis 261dea6fec [MERGE] forward port of server v7 up to revision 4954
bzr revid: qdp-launchpad@openerp.com-20130422093655-txqmbalod6qmw1s6
bzr revid: chs@openerp.com-20130423183723-9kiexdyzdew8iuzm
2013-04-23 20:37:23 +02:00
Quentin (OpenERP) d621d26516 [FIX] orm, _generate_order_by(): allow to order by LOG_ACCESS_COLUMNS even if the column is not defined again in self._columns. Raising an error instead of silently skipping the order_by
bzr revid: qdp-launchpad@openerp.com-20130419145417-2tix8ynmx51qiqkf
2013-04-19 16:54:17 +02:00
Olivier Dony 8efd16f25a [FIX] res.partner, orm._check_recursion: prevent recursive partner structures + fix false positives in check_recursion()
- res.partner must prevent creating loops in partner
hierarchies, and this can be done easily with an
extra _constraint using the ORM's builtin _check_recursion

- _check_recursion's implementation incorrectly
assumed that the provided 'ids' were unrelated
(not part of a common hierarchy).

- add tests for _check_recursion via extra
tests on res.partner structure
(explains why both patches are in the same
commit)

bzr revid: odo@openerp.com-20130415171732-aj3j2e2mycvzf4kp
2013-04-15 19:17:32 +02:00
Raphael Collet 05851d21ba [MERGE] from trunk
bzr revid: rco@openerp.com-20130411073017-x6e4h8xbvmy3ofdw
2013-04-11 09:30:17 +02:00
Thibault Delavallée 2ab15ddeaf [MERGE] Sync with trunk.
bzr revid: tde@openerp.com-20130405110750-1dd4y02xz3wb6ill
bzr revid: tde@openerp.com-20130405133237-n7k66b3w0b3a17o3
2013-04-05 15:32:37 +02:00
Vo Minh Thu 307ca374d6 [MERGE] forward merge 7.0 until revision 4919.
bzr revid: vmt@openerp.com-20130404130704-24vsmczw34cssytd
2013-04-04 15:07:04 +02:00
Raphael Collet 09be864f1d [IMP] replace all tests like 'registry.get(X)' by 'X in registry' where X is non static
bzr revid: rco@openerp.com-20130329140723-dnrl02saky570xg0
2013-03-29 15:07:23 +01:00
Thibault Delavallée 655ef77092 [MERGE] Sync with trunk.
bzr revid: tde@openerp.com-20130328092414-htawc7j3jrxte866
2013-03-28 10:24:14 +01:00
Thibault Delavallée 5c091dd8e2 [CLEAN] BaseModel: moved get_empty_list_help method to a better place in the code; added some comments.
bzr revid: tde@openerp.com-20130328092357-v3grmw9brp9wtfj0
2013-03-28 10:23:57 +01:00
Chris Biersbach 15bd42f5e5 [FIX] Removes the limit of 64 characters from additional text fields added via the interface
lp bug: https://launchpad.net/bugs/1053511 fixed

bzr revid: cbi@openerp.com-20130327132335-tro1p1n5at042jfb
2013-03-27 14:23:35 +01:00
Vo Minh Thu 2829882389 [IMP] orm: added a print_report() method.
bzr revid: vmt@openerp.com-20130325143256-f8hw66j09310cgjo
2013-03-25 15:32:56 +01:00
Thibault Delavallée 4e74279576 [MERGE] Sync with trunk.
bzr revid: tde@openerp.com-20130322090938-xoh67sg08m3ylcrk
2013-03-22 10:09:38 +01:00
Christophe Matthieu 491c3b73f3 [IMP] code cleaning for get_empty_list_help
bzr revid: chm@openerp.com-20130321133207-j4tiibjev6lkeuxa
2013-03-21 14:32:07 +01:00
Vo Minh Thu 067cd7d15a [FIX] ir_model_data: create the _inherits parent external ID prior to the child.
This is needed so the uninstall process can simply go through
the installed data by using the ir_model_data entries in reverse
order (when ordered by IDs), so that parents are deleted before
children.

bzr revid: vmt@openerp.com-20130321133202-igea1vxlszfpk6pe
2013-03-21 14:32:02 +01:00
Christophe Matthieu 45cc77dbcb [MERGE] from trunk
bzr revid: chm@openerp.com-20130320133155-qn27q8aek7zp1ls4
2013-03-20 14:31:55 +01:00
Xavier Morel 9494f21ea8 [FIX] __getattr__ implementation on BaseModel
object has no __getattr__, in the usual case super(BaseModel,
self).__getattr__ will blow up with an AttributeError (but the wrong
one).

On the other hand, if a BaseModel descendant class is used in MI
alongside a non-BM descendant (e.g. res_partner inheriting from Model
and format_address) and the non-BM descendant also implements
__getattr__, we want to forward the failed attr search to the other
__getattr__ implementation.

So check if super() has a __getattr__, call it if it does otherwise
AttributeError right there.

bzr revid: xmo@openerp.com-20130315115302-z7jla334gb9a5e43
2013-03-15 12:53:02 +01:00
Vo Minh Thu c79c23d26e [REF] orm:
- isinstance(ids, dict) is done at the end, but not at the beginning,
so if ids was a single dict, it would break in the map(lambda).
- The loop to convert None to False can be done in _read_flat instead
of read (there is already plenty of loops in _read_flat)
- The __getattr__ was breaking the stacktrace.

bzr revid: vmt@openerp.com-20130314154418-0wmxfw1ot92kjmzf
2013-03-14 16:44:18 +01:00