Commit Graph

324 Commits

Author SHA1 Message Date
Vo Minh Thu 99f99b6d83 [REF] openerp.modules.loading: preparing to support the -i=all option:
getting almost rid of the mess with tools.config[init|update].

bzr revid: vmt@openerp.com-20111117144628-pjpac87b5whg5cl0
2011-11-17 15:46:28 +01:00
Vo Minh Thu 330316672f [IMP] Clearer use of update_module arg.
- update_module was defined as config[init] or config[update]
- this means it is a mutable dictionary
- the code testing update_module is actually mutating
config[init] and config[update]...
- now update_module is really a True or False value.

bzr revid: vmt@openerp.com-20111117100608-0n8o99slgk42kiiv
2011-11-17 11:06:08 +01:00
Raphael Collet 3b3cf8e430 [IMP] mark as read all res_log entries created during a module installation
bzr revid: rco@openerp.com-20111017144615-e5b45twvm1s07ruf
2011-10-17 16:46:15 +02:00
Olivier Dony 0d2bc8f3ae [FIX] modules.graph: avoid crash when a module has been deleted from the filesystem
bzr revid: odo@openerp.com-20111012155818-u07arzkokf9zshr0
2011-10-12 17:58:18 +02:00
Antony Lesuisse 5dd1e2e43c [FIX] complexity default, and base category
bzr revid: al@openerp.com-20111004231534-ay78ghc46ihb91mx
2011-10-05 01:15:34 +02:00
Antony Lesuisse 2e00f144ec [MERGE] basesetup-dynamic-stw
bzr revid: al@openerp.com-20111004223410-pbwkn5k4zq9ze1mj
2011-10-05 00:34:10 +02:00
Xavier Morel 6d70751dd7 [FIX] deadlock between crons scheduling and new registry initialization creation
bzr revid: xmo@openerp.com-20110930150026-m0h99fqk6qgne8i1
2011-09-30 17:00:26 +02:00
Stephane Wirtel c9fe3b9200 [MERGE] Merge Upstream
bzr revid: stw@openerp.com-20110930102326-ic6hhmwu15i0r8l1
2011-09-30 12:23:26 +02:00
Stephane Wirtel 53554035ae [FIX] store the complexity field from the manifest during the database creation
bzr revid: stw@openerp.com-20110930095814-4o01upd0krmysbid
2011-09-30 11:58:14 +02:00
Stephane Wirtel ccfcb47149 [IMP] base: each ir.module.category will be assigned with an
autogenerated xml-id during the creation of the database
[IMP] base: Create the records for the categories of OpenERP

bzr revid: stw@openerp.com-20110929115515-rqlwqfzndxblxqtz
2011-09-29 13:55:15 +02:00
Olivier Dony f5fdb9f494 [FIX] cron/registry: typo
bzr revid: odo@openerp.com-20110928235048-ssfqeu7ug35isyfk
2011-09-29 01:50:48 +02:00
Olivier Dony f2b9b58fd3 [IMP] cron: misc renaming and minor changes to improve reviewability ;-)
bzr revid: odo@openerp.com-20110928224429-up0k4ts3cdks1u2s
2011-09-29 00:44:29 +02:00
Olivier Dony e7601e68cb [MERGE] sync with latest trunk
bzr revid: odo@openerp.com-20110928211326-0e51q7zlw4h2528z
2011-09-28 23:13:26 +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
Antony Lesuisse 7a88d9058d [MERGE] trunk
bzr revid: al@openerp.com-20110924145258-16r9qi7hr3dip1jz
2011-09-24 16:52:58 +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 2fbd4dfcdf [FIX] loading: remove leftover debugging breakpoint
bzr revid: odo@openerp.com-20110923134413-d71l4y5265z3nwcb
2011-09-23 15:44:13 +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
Olivier Dony 0d3085d14f [MERGE] sync with latest trunk
bzr revid: odo@openerp.com-20110922154155-jq811w768d9zfgim
2011-09-22 17:41:55 +02:00
Olivier Dony 6e4a93cd22 [MERGE] sync w/ latest trunk
bzr revid: odo@openerp.com-20110921162128-22sp59cn4xv983q5
2011-09-21 18:21:28 +02:00
Vo Minh Thu 20d7d05a60 [IMP] openerp.modules.db: nice critical logging, and nice IOError exception
when the base.sql is not found.

bzr revid: vmt@openerp.com-20110916121315-lklf5nib8u1pztk5
2011-09-16 14:13:15 +02:00
Xavier Morel 556a17d5bc [FIX] race condition in RegistryManager
When two requests arrive simultanously for the same uninitialized db,
the first request starts the db initialization, but the second one
immediately gets the partially uninitialized registry (actually just
created, so generally completely uninitialized), leading to an access
error in later code (as soon as a registry object is accessed).

Add a GRML (Global RegistryManager Lock) to ensure the RegistryManager
*never* returns a partially initialized registry.

The current implementation is simple (just lock all RegistryManager
methods before they manipulate registries), but overly broad. This is
an area which might be optimizable if there are perf/responsivity
issues (e.g. each Registry instance could have a lock, and the
RegistryManager would grab the instance's, allowing the inititlization
of registry A not to block registry B from being returned in heavily
concurrent uses).

However this is not an issue in multiprocessing scenarios, which are
being planned for the near future. So for now, being correct is
probably the best idea.

bzr revid: xmo@openerp.com-20110916075227-0zutzlxn2dcd94c4
2011-09-16 09:52:27 +02:00
Vo Minh Thu 46ad605226 [IMP] wsgi:
- added Microsoft specific header for webdav.
- serve WSGI handlers with werkzeug when available.
- effectively use WSGI instead of netsvc HTTP stack.

bzr revid: vmt@openerp.com-20110914104300-n0l3dnmdu3jau7w2
2011-09-14 12:43:00 +02:00
Olivier Dony caef9821a3 [MERGE] latest trunk
bzr revid: odo@openerp.com-20110906080822-tyadkxvycrx7bl1d
2011-09-06 10:08:22 +02:00
Vo Minh Thu 8ca1a87201 [IMP] wsgi: modules can be pre-loaded and expose a WSGI handler.
An option --load is added to list the modules to pre-load.
sys.path and sys.modules are initialized when the config is
parsed.

bzr revid: vmt@openerp.com-20110902133136-4v7fgptyd0g1kc5s
2011-09-02 15:31:36 +02:00
Vo Minh Thu 79d0e39c4c [FIX] loading: load base only once.
bzr revid: vmt@openerp.com-20110902132712-j9bgfnzbmddarr7h
2011-09-02 15:27:12 +02:00
Vo Minh Thu b8a633e578 [MERGE] merged trunk.
bzr revid: vmt@openerp.com-20110831091325-t5gfm57tmkr0fbee
2011-08-31 11:13:25 +02:00
Vo Minh Thu 2e7927331d [FIX] registry: forgot the self/cls args.
bzr revid: vmt@openerp.com-20110831075639-0ywrg01e6zdff7l7
2011-08-31 09:56:39 +02:00
Vo Minh Thu bdd0c7cf3f [IMP] simplified cache implementation (and stored on the osv), does not support contexts.
bzr revid: vmt@openerp.com-20110830121541-abov2wezdn6kl2dc
2011-08-30 14:15:41 +02:00
Antony Lesuisse be328ad7c3 [MERGE] trunk
bzr revid: al@openerp.com-20110827213628-4kflylkgtln6o4k4
2011-08-27 23:36:28 +02:00
Olivier Dony 3f00bfc405 [FIX] registry: use a unique list of models to load per module
This is necessary to preserve the model loading order
as defined in the module. This was broken when the 
metaclass was introduced to make the explicit model
constructor call optional.
One consequence is that the order in which the classes
are declared in the module really defines their
initialization order, even if the constructors are 
later called explcitly in a different order.
This latter case should be fairly rare, and easy to
fix too - simply putting the class declaration in the
right order.

bzr revid: odo@openerp.com-20110826161736-lgnpurtbcqtbseey
2011-08-26 18:17:36 +02:00
Vo Minh Thu dad3528ab7 [FIX] registry.py: typos (invalid syntax).
I wonder how come I made the previous commit.

bzr revid: vmt@openerp.com-20110826121026-da90yx3iapj6y1v1
2011-08-26 14:10:26 +02:00
Vo Minh Thu 6fdadb04f5 [IMP] tools.cache: added missing clean_caches_for_db replacement.
bzr revid: vmt@openerp.com-20110825124711-y2uckmvcoa0arz4h
2011-08-25 14:47:11 +02:00
Olivier Dony 3fa9dcea34 [MERGE] latest trunk
bzr revid: odo@openerp.com-20110819150201-pas7z2md5sa3bk7e
2011-08-19 17:02:01 +02:00
Vo Minh Thu 51117db344 [REF] osv: replace isinstance(m,osv_memory) by m.is_transient().
bzr revid: vmt@openerp.com-20110816095755-2g5cblolcvchtewx
2011-08-16 11:57:55 +02:00
Vo Minh Thu 9964cd1d84 [REF] osv: previous diff makes unneccessary one of makeInstance/createInstance.
bzr revid: vmt@openerp.com-20110816074431-v16wfzcy55ojkhwi
2011-08-16 09:44:31 +02:00
Vo Minh Thu 7797702a9f [MERGE] merged trunk.
bzr revid: vmt@openerp.com-20110812130941-z2x2bjr310r4ynu8
2011-08-12 15:09:41 +02:00
Vo Minh Thu 2f5e8d48b3 [REF] osv: moved (and adapted) vacuum code to osv_memory.
bzr revid: vmt@openerp.com-20110812113355-lylavdsc3mqjovrj
2011-08-12 13:33:55 +02:00
Vo Minh Thu 6251434cb9 [IMP] unaccent: support for the postgres unaccent contrib module.
OpenERP is now able to use the SQL unaccent() function when available,
and when the server is run with the --unaccent flag.

bzr revid: vmt@openerp.com-20110811110118-cyx2l6c3wk58083p
2011-08-11 13:01:18 +02:00
Vo Minh Thu 091e9989d5 [MERGE] merged trunk.
bzr revid: vmt@openerp.com-20110809154337-5l5hbbhot347ci82
2011-08-09 17:43:37 +02:00
Vo Minh Thu e93d018a39 [IMP] cron: added yaml test.
The test should probably be a standalone program as the YAML
infrastructure isnt really suited for this purpose.

bzr revid: vmt@openerp.com-20110809111008-vxh0bm08n3drw1o2
2011-08-09 13:10:08 +02:00
Xavier Morel 4ae3738376 [IMP] sort imports, improve functional shortcuts to _load_data (include cr partial application)
bzr revid: xmo@openerp.com-20110801085728-hg81gop09evfzuzu
2011-08-01 10:57:28 +02:00
Xavier Morel 4f6bc445a9 [IMP] use logging in db initialization
bzr revid: xmo@openerp.com-20110801085506-5qjuq36mx3ql7b93
2011-08-01 10:55:06 +02:00
Xavier Morel f4fef55e2b [IMP] don't manually manage extracted indexes when enumerate() can do it for us
bzr revid: xmo@openerp.com-20110801085457-bw0x6af0xwqmf7e5
2011-08-01 10:54:57 +02:00
Vo Minh Thu 266cad9a2e [IMP] unaccent: added an unaccent command-line flag, and a function to test unaccent availability.
bzr revid: vmt@openerp.com-20110722081030-ltxuqknpe1arduw5
2011-07-22 10:10:30 +02:00
Olivier Dony 05cbf2acbf [FIX] modules.loading: no warning about access right for osv inheriting from osv_memory
bzr revid: odo@openerp.com-20110718172943-jyfew63ruy9npqk5
2011-07-18 19:29:43 +02:00
Vo Minh Thu 4b8708fb10 [IMP] cron: minor cleaning.
bzr revid: vmt@openerp.com-20110714151113-v07yr2rneqafbnni
2011-07-14 17:11:13 +02:00
Vo Minh Thu 2f115c21aa [IMP] cron: moved netsvc.Agent to openerp.cron.
bzr revid: vmt@openerp.com-20110714143209-bebn6xg91fcrxro9
2011-07-14 16:32:09 +02:00
Vo Minh Thu b5daffc115 [IMP] registry: whene deleting a registry, also delete its cache and cron.
bzr revid: vmt@openerp.com-20110713153521-isn9bllnggbxwi0z
2011-07-13 17:35:21 +02:00
Olivier Dony 8874fb058f [FIX] module.loading: ensure installed modules are all loaded before installing new ones
After the recent change to make module install
atomically (code *and* data), we ran into issues
when installing a new module indirectly triggers
code of a not-yet-loaded-but-installed module,
via its data that is already in the database
(e.g. worflows or reports modified by this module
within another module, that now refer to its
code).
To avoid this, we now make sure that we only
install new modules on top of a consistent system
(code *and* data), by loading all installed or
'to upgrade' modules *before* starting to install
new ones.

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

bzr revid: odo@openerp.com-20110712133343-unf610k23fa6d3pk
2011-07-12 15:33:43 +02:00
Vo Minh Thu 0568b08bea [FIX] loading: pool.get("ir.module.module") was done before it was available.
bzr revid: vmt@openerp.com-20110711141045-c3pyqe0zuwxlljip
2011-07-11 16:10:45 +02:00
Olivier Dony cc7fae257f [IMP] module.loading: attempt to load each module atomically within load_module_graph (untested, work-in-progress)
bzr revid: odo@openerp.com-20110711124958-p91752exwv21sdf8
2011-07-11 14:49:58 +02:00
Vo Minh Thu abb606aa7c [MERGE] orm: _auto_init made of smaller methods, use a metaclass to discover new models.
bzr revid: vmt@openerp.com-20110615160123-7bk8u94y916mdpkj
2011-06-15 18:01:23 +02:00
Vo Minh Thu 26f22874d9 [LINT] removed unused variable, forgot to change two variables in last commit, corrected typo introduced at 3417.6.6.
bzr revid: vmt@openerp.com-20110615072231-jh977xk1jupekkpp
2011-06-15 09:22:31 +02:00
Vo Minh Thu e375049414 [REF] osv: moved osv_pool to modules/registry.
bzr revid: vmt@openerp.com-20110614142226-yd3y39a8z3ubwvxm
2011-06-14 16:22:26 +02:00
Vo Minh Thu 1b45a892dd [REF] orm: defer foreign key creation.
bzr revid: vmt@openerp.com-20110610140521-mdd6zvvzeoubier4
2011-06-10 16:05:21 +02:00
Vo Minh Thu a87ebe9600 [REF] osv:
- make it more explcicit in osv_pool that afreshly instanciated object is added to the pool
- osv_pool.init_set() is called just once with False, so
  no need to check if it is the first time it is called or
  if is called with True
- and rename it in do_parent_store as it is what it does.

bzr revid: vmt@openerp.com-20110526210532-a8i91shptz5h4k48
2011-05-26 23:05:32 +02:00
Vo Minh Thu 16ac84af68 [REF] moved openerp/registry/manager.py => openerp/modules/registry.py
- Maybe it should be called registries.py... Argh, consistency...

bzr revid: vmt@openerp.com-20110519073935-81kwuhlqcxxw1z32
2011-05-19 09:39:35 +02:00
Vo Minh Thu a09b91d8fd [REF] simplified init_db/load_modules:
- removed unnecessary call to openerp.modules.db.initialize() in openerp/service/web_services.py
  as the pooler.restart_pool() call just next after is already doing it.
- made the try/finally section bigger in openerp/modules/loading.py, to inlcude
  the first cr.execute.
- abstracted the test to check if a database is initialized.
- removed unnecessary "if cr:" as the cr is nevertheless used after that.

bzr revid: vmt@openerp.com-20110517091822-pjtw6sc1s5assbr5
2011-05-17 11:18:22 +02:00
Vo Minh Thu 40bce2fead [REF] renamed modules.__init__ to modules.loading.
bzr revid: vmt@openerp.com-20110511174841-wk1yyr9971pu0pwh
2011-05-11 19:48:41 +02:00
Vo Minh Thu 1fe579d8ec [REF] module code goes into openerp.modules.module.
bzr revid: vmt@openerp.com-20110511172448-p12p1rizvf3lqv97
2011-05-11 19:24:48 +02:00
Vo Minh Thu fb476648e0 [REF] openerp.modules: migration manager code moved to openerp.modules.migration.
bzr revid: vmt@openerp.com-20110511164144-8o1bl6jfb8k7keak
2011-05-11 18:41:44 +02:00
Vo Minh Thu 52d1291506 [REF] moved graph code from modules.__init__ to modules.graph
- made upgrade_graph a method of Graph called add_modules
- removed unnecessary create_graph function.

bzr revid: vmt@openerp.com-20110511152810-etqru9pct1zwyqno
2011-05-11 17:28:10 +02:00
Vo Minh Thu 5ca0f64b4e [REF] moved init_db from tools.misc to modules.db.
bzr revid: vmt@openerp.com-20110511144754-m06exg4dsn2jbdgz
2011-05-11 16:47:54 +02:00
Vo Minh Thu b158805af7 [REF] module info (descriptor) dictionary default values in one place.
bzr revid: vmt@openerp.com-20110511135332-87kd5vo4rdeb6b3l
2011-05-11 15:53:32 +02:00
Vo Minh Thu 8b878de82d [REF] modules.__init__:
- added some comments
- the "updating modules list" log appears only when actually updating the list
- similar code to read the module descriptor file is combined
- default values for some descriptor entries are given only once
- in particular, the default version is always 0, instead of 0 when
  reading a descriptor for migration and 1.0 when writing its value in
  database.

bzr revid: vmt@openerp.com-20110511103455-lqezcrjf2996j7mc
2011-05-11 12:34:55 +02:00
Vo Minh Thu 71de92dc44 [FIX] db.get_progress was broken:
- the status dictionary was ignored
- it is still slightly broken (see added comment in openerp/modules/__init__.py)

bzr revid: vmt@openerp.com-20110510142849-p9kcd60agybpm8bd
2011-05-10 16:28:49 +02:00
Vo Minh Thu 853e354b55 [REF] modules.__init__: combined _load_data and _load_xml:
- pass the report argument to xml_import
- allow .sql in demo
- noupdate is True for both init and demo
- the pathname given to convert_csv_import is different
  but the way it is processed in convert_csv_import should
  make it alright.

bzr revid: vmt@openerp.com-20110510125242-ig74vtich2g3bjhc
2011-05-10 14:52:42 +02:00
Vo Minh Thu e82aeba808 [REF] it seems ok to get the ir.module.module model only once.
bzr revid: vmt@openerp.com-20110519090410-a89n7ivs2nvn60bt
2011-05-19 11:04:10 +02:00
Vo Minh Thu 7963da3f94 [REF] modules.__init__:
- combined code from load_init_update_xml and load_demo_xml
- made explicit the "report" kwarg of load_module_graph

bzr revid: vmt@openerp.com-20110510094908-txzj3oeypz7iralk
2011-05-10 11:49:08 +02:00
Vo Minh Thu 4ba3f3c804 [REF] osv, modules/__init__cosmetic renaming, added comments.
bzr revid: vmt@openerp.com-20110519090300-bodss011798ep5cy
2011-05-19 11:03:00 +02:00
Vo Minh Thu 0770057935 [REF] explicit service objects instanciation.
bzr revid: vmt@openerp.com-20110507112129-hfrly9easfby9hns
2011-05-07 13:21:29 +02:00
Vo Minh Thu 081b6d98ab [REF] separate/expose some code.
bzr revid: vmt@openerp.com-20110428151330-m8qkggoqmsry3w2z
2011-04-28 17:13:30 +02:00
Vo Minh Thu 545a438c03 [REF] openerp.modules
- for the moment it is a copy of openerp.addons

bzr revid: vmt@openerp.com-20110420152718-eok61oule6p2x58z
2011-04-20 17:27:18 +02:00