From 9d293d1f00125c777a1c272bbaafed8ac67ce1a5 Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Sun, 4 Jan 2009 23:13:29 +0100 Subject: [PATCH 01/68] [IMP] Update the copyright to 2009 bzr revid: stephane@tinyerp.com-20090104221329-rem11cbgwu30xnji --- bin/__init__.py | 2 +- bin/addons/__init__.py | 2 +- bin/addons/base/__init__.py | 2 +- bin/addons/base/__terp__.py | 2 +- bin/addons/base/ir/__init__.py | 2 +- bin/addons/base/ir/ir_actions.py | 2 +- bin/addons/base/ir/ir_attachment.py | 2 +- bin/addons/base/ir/ir_board.py | 2 +- bin/addons/base/ir/ir_cron.py | 2 +- bin/addons/base/ir/ir_default.py | 2 +- bin/addons/base/ir/ir_exports.py | 2 +- bin/addons/base/ir/ir_fields_description.py | 2 +- bin/addons/base/ir/ir_model.py | 2 +- bin/addons/base/ir/ir_report_custom.py | 2 +- bin/addons/base/ir/ir_rule.py | 2 +- bin/addons/base/ir/ir_sequence.py | 2 +- bin/addons/base/ir/ir_translation.py | 2 +- bin/addons/base/ir/ir_ui_menu.py | 2 +- bin/addons/base/ir/ir_ui_view.py | 2 +- bin/addons/base/ir/ir_values.py | 2 +- bin/addons/base/ir/wizard/__init__.py | 2 +- bin/addons/base/ir/wizard/create_action.py | 2 +- bin/addons/base/ir/wizard/wizard_menu.py | 2 +- bin/addons/base/ir/workflow/__init__.py | 2 +- bin/addons/base/ir/workflow/print_instance.py | 2 +- bin/addons/base/ir/workflow/workflow.py | 2 +- bin/addons/base/maintenance/__init__.py | 2 +- bin/addons/base/maintenance/maintenance.py | 2 +- bin/addons/base/module/__init__.py | 2 +- bin/addons/base/module/module.py | 2 +- bin/addons/base/module/report/__init__.py | 2 +- bin/addons/base/module/report/ir_module_reference_print.py | 2 +- bin/addons/base/module/wizard/__init__.py | 2 +- bin/addons/base/module/wizard/add_new.py | 2 +- bin/addons/base/module/wizard/wizard_export_lang.py | 2 +- bin/addons/base/module/wizard/wizard_import_lang.py | 2 +- bin/addons/base/module/wizard/wizard_module_import.py | 2 +- bin/addons/base/module/wizard/wizard_module_lang_install.py | 2 +- bin/addons/base/module/wizard/wizard_module_upgrade.py | 2 +- bin/addons/base/module/wizard/wizard_update_module.py | 2 +- bin/addons/base/module/wizard/wizard_update_translations.py | 2 +- bin/addons/base/res/__init__.py | 2 +- bin/addons/base/res/bank.py | 2 +- bin/addons/base/res/country.py | 2 +- bin/addons/base/res/ir_property.py | 2 +- bin/addons/base/res/partner/__init__.py | 2 +- bin/addons/base/res/partner/crm.py | 2 +- bin/addons/base/res/partner/partner.py | 2 +- bin/addons/base/res/partner/report/__init__.py | 2 +- bin/addons/base/res/partner/wizard/__init__.py | 2 +- bin/addons/base/res/partner/wizard/wizard_clear_ids.py | 2 +- bin/addons/base/res/partner/wizard/wizard_ean_check.py | 2 +- bin/addons/base/res/partner/wizard/wizard_sms.py | 2 +- bin/addons/base/res/partner/wizard/wizard_spam.py | 2 +- bin/addons/base/res/res_company.py | 2 +- bin/addons/base/res/res_currency.py | 2 +- bin/addons/base/res/res_lang.py | 2 +- bin/addons/base/res/res_request.py | 2 +- bin/addons/base/res/res_user.py | 2 +- bin/addons/module_graph.py | 2 +- bin/ir/__init__.py | 2 +- bin/ir/ir.py | 2 +- bin/netsvc.py | 6 +++--- bin/openerp-server.py | 2 +- bin/osv/__init__.py | 2 +- bin/osv/expression.py | 2 +- bin/osv/fields.py | 2 +- bin/osv/orm.py | 2 +- bin/osv/osv.py | 2 +- bin/pooler.py | 2 +- bin/release.py | 2 +- bin/report/__init__.py | 2 +- bin/report/common.py | 2 +- bin/report/custom.py | 2 +- bin/report/int_to_text.py | 2 +- bin/report/interface.py | 2 +- bin/report/misc.py | 2 +- bin/report/print_fnc.py | 2 +- bin/report/print_xml.py | 2 +- bin/report/printscreen/__init__.py | 2 +- bin/report/printscreen/ps_form.py | 2 +- bin/report/printscreen/ps_list.py | 2 +- bin/report/render/__init__.py | 2 +- bin/report/render/render.py | 2 +- bin/report/render/rml.py | 2 +- bin/report/render/rml2html/__init__.py | 2 +- bin/report/render/rml2html/rml2html.py | 2 +- bin/report/render/rml2html/utils.py | 2 +- bin/report/render/rml2pdf/__init__.py | 2 +- bin/report/render/rml2pdf/color.py | 2 +- bin/report/render/rml2pdf/trml2pdf.py | 2 +- bin/report/render/rml2pdf/utils.py | 2 +- bin/report/render/simple.py | 2 +- bin/report/report_sxw.py | 2 +- bin/service/__init__.py | 2 +- bin/service/security.py | 2 +- bin/service/web_services.py | 2 +- bin/sql_db.py | 2 +- bin/tiny_socket.py | 2 +- bin/tools/__init__.py | 2 +- bin/tools/amount_to_text.py | 2 +- bin/tools/amount_to_text_en.py | 2 +- bin/tools/config.py | 2 +- bin/tools/convert.py | 2 +- bin/tools/func.py | 2 +- bin/tools/graph.py | 2 +- bin/tools/import_email.py | 2 +- bin/tools/maintenance.py | 2 +- bin/tools/misc.py | 2 +- bin/tools/osutil.py | 2 +- bin/tools/parse_version.py | 2 +- bin/tools/pdf_utils.py | 2 +- bin/tools/sql.py | 2 +- bin/tools/translate.py | 2 +- bin/wizard/__init__.py | 2 +- bin/workflow/__init__.py | 2 +- bin/workflow/common.py | 2 +- bin/workflow/instance.py | 2 +- bin/workflow/wkf_expr.py | 2 +- bin/workflow/wkf_logs.py | 2 +- bin/workflow/wkf_service.py | 2 +- bin/workflow/workitem.py | 2 +- doc/migrate/3.3.0-3.4.0/post.py | 2 +- doc/migrate/3.3.0-3.4.0/pre.py | 2 +- doc/migrate/3.4.0-4.0.0/post-tiny.py | 2 +- doc/migrate/3.4.0-4.0.0/post.py | 2 +- doc/migrate/3.4.0-4.0.0/pre-tiny.py | 2 +- doc/migrate/3.4.0-4.0.0/pre.py | 2 +- doc/migrate/4.0.0-4.2.0/pre.py | 2 +- doc/migrate/4.0.0-4.2.0/tiny/pre-tiny.py | 2 +- doc/migrate/4.2.0-4.4.0/pre.py | 2 +- doc/tests/check_profile_l10n_all.py | 2 +- setup.py | 2 +- win32/OpenERPServerService.py | 2 +- win32/setup.py | 2 +- 135 files changed, 137 insertions(+), 137 deletions(-) diff --git a/bin/__init__.py b/bin/__init__.py index bbe6752ce14..d63502c9ed8 100644 --- a/bin/__init__.py +++ b/bin/__init__.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/__init__.py b/bin/addons/__init__.py index e3d079b39d8..4ab55d6a6bc 100644 --- a/bin/addons/__init__.py +++ b/bin/addons/__init__.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/__init__.py b/bin/addons/base/__init__.py index 0349891aa55..22cffe0ab98 100644 --- a/bin/addons/base/__init__.py +++ b/bin/addons/base/__init__.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/__terp__.py b/bin/addons/base/__terp__.py index 1e2e5f9985d..438edd23e46 100644 --- a/bin/addons/base/__terp__.py +++ b/bin/addons/base/__terp__.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/ir/__init__.py b/bin/addons/base/ir/__init__.py index 3f1ccfeb463..38c1eb05c6b 100644 --- a/bin/addons/base/ir/__init__.py +++ b/bin/addons/base/ir/__init__.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/ir/ir_actions.py b/bin/addons/base/ir/ir_actions.py index 8f994a084f7..55057825b32 100644 --- a/bin/addons/base/ir/ir_actions.py +++ b/bin/addons/base/ir/ir_actions.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/ir/ir_attachment.py b/bin/addons/base/ir/ir_attachment.py index da603202a1a..ca34404be01 100644 --- a/bin/addons/base/ir/ir_attachment.py +++ b/bin/addons/base/ir/ir_attachment.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/ir/ir_board.py b/bin/addons/base/ir/ir_board.py index e2172681c9d..9a7965e7b47 100644 --- a/bin/addons/base/ir/ir_board.py +++ b/bin/addons/base/ir/ir_board.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/ir/ir_cron.py b/bin/addons/base/ir/ir_cron.py index f20381fc6e3..1510173fdae 100644 --- a/bin/addons/base/ir/ir_cron.py +++ b/bin/addons/base/ir/ir_cron.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/ir/ir_default.py b/bin/addons/base/ir/ir_default.py index 2ef16e1b5de..7cafd7c2101 100644 --- a/bin/addons/base/ir/ir_default.py +++ b/bin/addons/base/ir/ir_default.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/ir/ir_exports.py b/bin/addons/base/ir/ir_exports.py index bb7d60f0961..9ea635e3231 100644 --- a/bin/addons/base/ir/ir_exports.py +++ b/bin/addons/base/ir/ir_exports.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/ir/ir_fields_description.py b/bin/addons/base/ir/ir_fields_description.py index cc45703a6fb..5960f44d91a 100644 --- a/bin/addons/base/ir/ir_fields_description.py +++ b/bin/addons/base/ir/ir_fields_description.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/ir/ir_model.py b/bin/addons/base/ir/ir_model.py index f73fba550e9..b5b063c7657 100644 --- a/bin/addons/base/ir/ir_model.py +++ b/bin/addons/base/ir/ir_model.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/ir/ir_report_custom.py b/bin/addons/base/ir/ir_report_custom.py index 15fd0e0b475..fcc9a02e198 100644 --- a/bin/addons/base/ir/ir_report_custom.py +++ b/bin/addons/base/ir/ir_report_custom.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/ir/ir_rule.py b/bin/addons/base/ir/ir_rule.py index 3db6218e442..6c508f83662 100644 --- a/bin/addons/base/ir/ir_rule.py +++ b/bin/addons/base/ir/ir_rule.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/ir/ir_sequence.py b/bin/addons/base/ir/ir_sequence.py index 23e4ee90c93..094fb114e7a 100644 --- a/bin/addons/base/ir/ir_sequence.py +++ b/bin/addons/base/ir/ir_sequence.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/ir/ir_translation.py b/bin/addons/base/ir/ir_translation.py index f5beb9475b5..116990314be 100644 --- a/bin/addons/base/ir/ir_translation.py +++ b/bin/addons/base/ir/ir_translation.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/ir/ir_ui_menu.py b/bin/addons/base/ir/ir_ui_menu.py index 0a0b0442652..74da6bdfd5d 100644 --- a/bin/addons/base/ir/ir_ui_menu.py +++ b/bin/addons/base/ir/ir_ui_menu.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/ir/ir_ui_view.py b/bin/addons/base/ir/ir_ui_view.py index 70c336a7003..c2340b404e9 100644 --- a/bin/addons/base/ir/ir_ui_view.py +++ b/bin/addons/base/ir/ir_ui_view.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/ir/ir_values.py b/bin/addons/base/ir/ir_values.py index d51a0f7a8fe..116a581c3b0 100644 --- a/bin/addons/base/ir/ir_values.py +++ b/bin/addons/base/ir/ir_values.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/ir/wizard/__init__.py b/bin/addons/base/ir/wizard/__init__.py index 479e06d9735..fa2a33ce860 100644 --- a/bin/addons/base/ir/wizard/__init__.py +++ b/bin/addons/base/ir/wizard/__init__.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/ir/wizard/create_action.py b/bin/addons/base/ir/wizard/create_action.py index 21274698203..730850501d6 100644 --- a/bin/addons/base/ir/wizard/create_action.py +++ b/bin/addons/base/ir/wizard/create_action.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/ir/wizard/wizard_menu.py b/bin/addons/base/ir/wizard/wizard_menu.py index 8f361d9e99b..42deb58b416 100644 --- a/bin/addons/base/ir/wizard/wizard_menu.py +++ b/bin/addons/base/ir/wizard/wizard_menu.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/ir/workflow/__init__.py b/bin/addons/base/ir/workflow/__init__.py index a45dfc49615..9ddad93244a 100644 --- a/bin/addons/base/ir/workflow/__init__.py +++ b/bin/addons/base/ir/workflow/__init__.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/ir/workflow/print_instance.py b/bin/addons/base/ir/workflow/print_instance.py index 2f225c44209..7a12e5902d3 100644 --- a/bin/addons/base/ir/workflow/print_instance.py +++ b/bin/addons/base/ir/workflow/print_instance.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/ir/workflow/workflow.py b/bin/addons/base/ir/workflow/workflow.py index 08d4fbba3e5..585ec490275 100644 --- a/bin/addons/base/ir/workflow/workflow.py +++ b/bin/addons/base/ir/workflow/workflow.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/maintenance/__init__.py b/bin/addons/base/maintenance/__init__.py index 876c0e1dc3c..6d3cf4e9553 100644 --- a/bin/addons/base/maintenance/__init__.py +++ b/bin/addons/base/maintenance/__init__.py @@ -1,7 +1,7 @@ # -*- encoding: utf-8 -*- ############################################################################## # -# Copyright (c) 2004-2008 Tiny SPRL (http://tiny.be) All Rights Reserved. +# Copyright (c) 2004-2009 Tiny SPRL (http://tiny.be) All Rights Reserved. # # $Id$ # diff --git a/bin/addons/base/maintenance/maintenance.py b/bin/addons/base/maintenance/maintenance.py index 86dc52de5e7..bc4d6925911 100644 --- a/bin/addons/base/maintenance/maintenance.py +++ b/bin/addons/base/maintenance/maintenance.py @@ -1,7 +1,7 @@ # -*- encoding: utf-8 -*- ############################################################################## # -# Copyright (c) 2004-2008 TINY SPRL. (http://tiny.be) All Rights Reserved. +# Copyright (c) 2004-2009 TINY SPRL. (http://tiny.be) All Rights Reserved. # # $Id$ # diff --git a/bin/addons/base/module/__init__.py b/bin/addons/base/module/__init__.py index 2e1a825c35e..c6b37580341 100644 --- a/bin/addons/base/module/__init__.py +++ b/bin/addons/base/module/__init__.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/module/module.py b/bin/addons/base/module/module.py index 01917e9ab7e..ce9e7683e16 100644 --- a/bin/addons/base/module/module.py +++ b/bin/addons/base/module/module.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/module/report/__init__.py b/bin/addons/base/module/report/__init__.py index e2e7dbdf7dd..e3f49519d49 100644 --- a/bin/addons/base/module/report/__init__.py +++ b/bin/addons/base/module/report/__init__.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/module/report/ir_module_reference_print.py b/bin/addons/base/module/report/ir_module_reference_print.py index 47235430eff..92029014bac 100644 --- a/bin/addons/base/module/report/ir_module_reference_print.py +++ b/bin/addons/base/module/report/ir_module_reference_print.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/module/wizard/__init__.py b/bin/addons/base/module/wizard/__init__.py index c46811e5eeb..63c49313c66 100644 --- a/bin/addons/base/module/wizard/__init__.py +++ b/bin/addons/base/module/wizard/__init__.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/module/wizard/add_new.py b/bin/addons/base/module/wizard/add_new.py index fc8a5df071b..ac1471db32a 100644 --- a/bin/addons/base/module/wizard/add_new.py +++ b/bin/addons/base/module/wizard/add_new.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/module/wizard/wizard_export_lang.py b/bin/addons/base/module/wizard/wizard_export_lang.py index b7250762bcd..718464a5c76 100644 --- a/bin/addons/base/module/wizard/wizard_export_lang.py +++ b/bin/addons/base/module/wizard/wizard_export_lang.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/module/wizard/wizard_import_lang.py b/bin/addons/base/module/wizard/wizard_import_lang.py index 3a195b19747..aad846d59ac 100644 --- a/bin/addons/base/module/wizard/wizard_import_lang.py +++ b/bin/addons/base/module/wizard/wizard_import_lang.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/module/wizard/wizard_module_import.py b/bin/addons/base/module/wizard/wizard_module_import.py index 9471ea651b3..c166761b275 100644 --- a/bin/addons/base/module/wizard/wizard_module_import.py +++ b/bin/addons/base/module/wizard/wizard_module_import.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/module/wizard/wizard_module_lang_install.py b/bin/addons/base/module/wizard/wizard_module_lang_install.py index d904fdb2a42..badf7dce09b 100644 --- a/bin/addons/base/module/wizard/wizard_module_lang_install.py +++ b/bin/addons/base/module/wizard/wizard_module_lang_install.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/module/wizard/wizard_module_upgrade.py b/bin/addons/base/module/wizard/wizard_module_upgrade.py index fb31bdec141..da04c12429c 100644 --- a/bin/addons/base/module/wizard/wizard_module_upgrade.py +++ b/bin/addons/base/module/wizard/wizard_module_upgrade.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/module/wizard/wizard_update_module.py b/bin/addons/base/module/wizard/wizard_update_module.py index 1193d833d4f..ebf7577e5a9 100644 --- a/bin/addons/base/module/wizard/wizard_update_module.py +++ b/bin/addons/base/module/wizard/wizard_update_module.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/module/wizard/wizard_update_translations.py b/bin/addons/base/module/wizard/wizard_update_translations.py index 83571e2e63d..e2a8512a8b3 100644 --- a/bin/addons/base/module/wizard/wizard_update_translations.py +++ b/bin/addons/base/module/wizard/wizard_update_translations.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/res/__init__.py b/bin/addons/base/res/__init__.py index e2cfad9cb32..91f47a8ba42 100644 --- a/bin/addons/base/res/__init__.py +++ b/bin/addons/base/res/__init__.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/res/bank.py b/bin/addons/base/res/bank.py index 390c1949772..028ff8760c7 100644 --- a/bin/addons/base/res/bank.py +++ b/bin/addons/base/res/bank.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/res/country.py b/bin/addons/base/res/country.py index 7e560aafed3..e8aeb6ff3a1 100644 --- a/bin/addons/base/res/country.py +++ b/bin/addons/base/res/country.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/res/ir_property.py b/bin/addons/base/res/ir_property.py index 52700dbd942..f344beb7b14 100644 --- a/bin/addons/base/res/ir_property.py +++ b/bin/addons/base/res/ir_property.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/res/partner/__init__.py b/bin/addons/base/res/partner/__init__.py index 5ca2e49e845..389984c039d 100644 --- a/bin/addons/base/res/partner/__init__.py +++ b/bin/addons/base/res/partner/__init__.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/res/partner/crm.py b/bin/addons/base/res/partner/crm.py index 265ad9594fb..fd3504ada90 100644 --- a/bin/addons/base/res/partner/crm.py +++ b/bin/addons/base/res/partner/crm.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/res/partner/partner.py b/bin/addons/base/res/partner/partner.py index 8770138cba4..99179059b91 100644 --- a/bin/addons/base/res/partner/partner.py +++ b/bin/addons/base/res/partner/partner.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/res/partner/report/__init__.py b/bin/addons/base/res/partner/report/__init__.py index d24c71bcfec..1941a53c849 100644 --- a/bin/addons/base/res/partner/report/__init__.py +++ b/bin/addons/base/res/partner/report/__init__.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/res/partner/wizard/__init__.py b/bin/addons/base/res/partner/wizard/__init__.py index 7beb03df9c0..9cfa8786a5a 100644 --- a/bin/addons/base/res/partner/wizard/__init__.py +++ b/bin/addons/base/res/partner/wizard/__init__.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/res/partner/wizard/wizard_clear_ids.py b/bin/addons/base/res/partner/wizard/wizard_clear_ids.py index 6d3a3623f2a..ad3b3d750ba 100644 --- a/bin/addons/base/res/partner/wizard/wizard_clear_ids.py +++ b/bin/addons/base/res/partner/wizard/wizard_clear_ids.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/res/partner/wizard/wizard_ean_check.py b/bin/addons/base/res/partner/wizard/wizard_ean_check.py index 2b7111909f0..45e58b105c4 100644 --- a/bin/addons/base/res/partner/wizard/wizard_ean_check.py +++ b/bin/addons/base/res/partner/wizard/wizard_ean_check.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/res/partner/wizard/wizard_sms.py b/bin/addons/base/res/partner/wizard/wizard_sms.py index 6a5bebb2741..8b54cd5d581 100644 --- a/bin/addons/base/res/partner/wizard/wizard_sms.py +++ b/bin/addons/base/res/partner/wizard/wizard_sms.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/res/partner/wizard/wizard_spam.py b/bin/addons/base/res/partner/wizard/wizard_spam.py index 030283bbe44..435bc2a9e94 100644 --- a/bin/addons/base/res/partner/wizard/wizard_spam.py +++ b/bin/addons/base/res/partner/wizard/wizard_spam.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/res/res_company.py b/bin/addons/base/res/res_company.py index 20a5a01d439..660005b0107 100644 --- a/bin/addons/base/res/res_company.py +++ b/bin/addons/base/res/res_company.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/res/res_currency.py b/bin/addons/base/res/res_currency.py index 8b752e4af5e..c68d0ceef12 100644 --- a/bin/addons/base/res/res_currency.py +++ b/bin/addons/base/res/res_currency.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/res/res_lang.py b/bin/addons/base/res/res_lang.py index 4c01687e4a5..6a8801b7b19 100644 --- a/bin/addons/base/res/res_lang.py +++ b/bin/addons/base/res/res_lang.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/res/res_request.py b/bin/addons/base/res/res_request.py index 94f4217211f..d506dacddbb 100644 --- a/bin/addons/base/res/res_request.py +++ b/bin/addons/base/res/res_request.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/base/res/res_user.py b/bin/addons/base/res/res_user.py index e7f3f563234..b9c9c1ba1c6 100644 --- a/bin/addons/base/res/res_user.py +++ b/bin/addons/base/res/res_user.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/addons/module_graph.py b/bin/addons/module_graph.py index 69d4a449daa..a1178d2d89d 100755 --- a/bin/addons/module_graph.py +++ b/bin/addons/module_graph.py @@ -3,7 +3,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/ir/__init__.py b/bin/ir/__init__.py index efc8beefc49..e05ff3144bc 100644 --- a/bin/ir/__init__.py +++ b/bin/ir/__init__.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/ir/ir.py b/bin/ir/ir.py index 40b682673cc..7d404dc5d34 100644 --- a/bin/ir/ir.py +++ b/bin/ir/ir.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/netsvc.py b/bin/netsvc.py index 1d5a3e5e9d3..7f966987859 100644 --- a/bin/netsvc.py +++ b/bin/netsvc.py @@ -3,10 +3,10 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # The refactoring about the OpenSSL support come from Tryton -# Copyright (C) 2007-2008 Cédric Krier. -# Copyright (C) 2007-2008 Bertrand Chenal. +# Copyright (C) 2007-2009 Cédric Krier. +# Copyright (C) 2007-2009 Bertrand Chenal. # Copyright (C) 2008 B2CK SPRL. # # This program is free software: you can redistribute it and/or modify diff --git a/bin/openerp-server.py b/bin/openerp-server.py index a6ac69c8ede..d8daaa2be13 100755 --- a/bin/openerp-server.py +++ b/bin/openerp-server.py @@ -3,7 +3,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/osv/__init__.py b/bin/osv/__init__.py index 834459aea75..9bed17315f8 100644 --- a/bin/osv/__init__.py +++ b/bin/osv/__init__.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/osv/expression.py b/bin/osv/expression.py index d572ae85f3a..bfeb379e3b6 100644 --- a/bin/osv/expression.py +++ b/bin/osv/expression.py @@ -3,7 +3,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/osv/fields.py b/bin/osv/fields.py index 83781964dc5..e1f98532527 100644 --- a/bin/osv/fields.py +++ b/bin/osv/fields.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/osv/orm.py b/bin/osv/orm.py index 0f713a8c3b0..6ed05ff148a 100644 --- a/bin/osv/orm.py +++ b/bin/osv/orm.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/osv/osv.py b/bin/osv/osv.py index f31fcdcc58d..8d3ba929f69 100644 --- a/bin/osv/osv.py +++ b/bin/osv/osv.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/pooler.py b/bin/pooler.py index 60ea8066db2..8b5b3b2a865 100644 --- a/bin/pooler.py +++ b/bin/pooler.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/release.py b/bin/release.py index 96e60400622..9c96c3fad75 100644 --- a/bin/release.py +++ b/bin/release.py @@ -3,7 +3,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/report/__init__.py b/bin/report/__init__.py index 50efea9737c..5fdf0349ae0 100644 --- a/bin/report/__init__.py +++ b/bin/report/__init__.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/report/common.py b/bin/report/common.py index 64e05de312b..0bea817787c 100644 --- a/bin/report/common.py +++ b/bin/report/common.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/report/custom.py b/bin/report/custom.py index 1735e0dcafc..80889255962 100644 --- a/bin/report/custom.py +++ b/bin/report/custom.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/report/int_to_text.py b/bin/report/int_to_text.py index e6d8f4ae24b..09d809e963b 100644 --- a/bin/report/int_to_text.py +++ b/bin/report/int_to_text.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/report/interface.py b/bin/report/interface.py index 99b5860c3e0..e872cc77fd3 100644 --- a/bin/report/interface.py +++ b/bin/report/interface.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/report/misc.py b/bin/report/misc.py index 3f11ad741ce..415b119a61b 100644 --- a/bin/report/misc.py +++ b/bin/report/misc.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/report/print_fnc.py b/bin/report/print_fnc.py index 0bb3bb2f9a7..4657de4b329 100644 --- a/bin/report/print_fnc.py +++ b/bin/report/print_fnc.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/report/print_xml.py b/bin/report/print_xml.py index 796ef6989b6..8ed5dd18012 100644 --- a/bin/report/print_xml.py +++ b/bin/report/print_xml.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/report/printscreen/__init__.py b/bin/report/printscreen/__init__.py index 19e04d64467..2ad4eec345e 100644 --- a/bin/report/printscreen/__init__.py +++ b/bin/report/printscreen/__init__.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/report/printscreen/ps_form.py b/bin/report/printscreen/ps_form.py index 6e947b8bcd1..9fb85fd52cb 100644 --- a/bin/report/printscreen/ps_form.py +++ b/bin/report/printscreen/ps_form.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/report/printscreen/ps_list.py b/bin/report/printscreen/ps_list.py index 834e459e355..b59be30f1c8 100644 --- a/bin/report/printscreen/ps_list.py +++ b/bin/report/printscreen/ps_list.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/report/render/__init__.py b/bin/report/render/__init__.py index 210b41fbbb5..80994b5990a 100644 --- a/bin/report/render/__init__.py +++ b/bin/report/render/__init__.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/report/render/render.py b/bin/report/render/render.py index d2a681efaae..b4b0d1af07e 100644 --- a/bin/report/render/render.py +++ b/bin/report/render/render.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/report/render/rml.py b/bin/report/render/rml.py index 587b0f243c9..c32896af640 100644 --- a/bin/report/render/rml.py +++ b/bin/report/render/rml.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/report/render/rml2html/__init__.py b/bin/report/render/rml2html/__init__.py index 7eb47a79f0a..2ec8d7c3079 100644 --- a/bin/report/render/rml2html/__init__.py +++ b/bin/report/render/rml2html/__init__.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/report/render/rml2html/rml2html.py b/bin/report/render/rml2html/rml2html.py index c1c2d57f050..c5321b0f2e5 100644 --- a/bin/report/render/rml2html/rml2html.py +++ b/bin/report/render/rml2html/rml2html.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/report/render/rml2html/utils.py b/bin/report/render/rml2html/utils.py index 7186cc13fff..848dae463ee 100644 --- a/bin/report/render/rml2html/utils.py +++ b/bin/report/render/rml2html/utils.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/report/render/rml2pdf/__init__.py b/bin/report/render/rml2pdf/__init__.py index 4358379f2d6..6f068b7b8ca 100644 --- a/bin/report/render/rml2pdf/__init__.py +++ b/bin/report/render/rml2pdf/__init__.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/report/render/rml2pdf/color.py b/bin/report/render/rml2pdf/color.py index b51df166429..3f3caf7fa43 100644 --- a/bin/report/render/rml2pdf/color.py +++ b/bin/report/render/rml2pdf/color.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/report/render/rml2pdf/trml2pdf.py b/bin/report/render/rml2pdf/trml2pdf.py index 2d6fd6ed1ae..92aba87f372 100644 --- a/bin/report/render/rml2pdf/trml2pdf.py +++ b/bin/report/render/rml2pdf/trml2pdf.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/report/render/rml2pdf/utils.py b/bin/report/render/rml2pdf/utils.py index c1f6edf61e3..25573ed99cc 100644 --- a/bin/report/render/rml2pdf/utils.py +++ b/bin/report/render/rml2pdf/utils.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/report/render/simple.py b/bin/report/render/simple.py index 5096413b1c8..6b52c49b718 100644 --- a/bin/report/render/simple.py +++ b/bin/report/render/simple.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/report/report_sxw.py b/bin/report/report_sxw.py index 7dc479caac0..c4f10212b5a 100644 --- a/bin/report/report_sxw.py +++ b/bin/report/report_sxw.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/service/__init__.py b/bin/service/__init__.py index 938401a6540..573d3fd47a3 100644 --- a/bin/service/__init__.py +++ b/bin/service/__init__.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/service/security.py b/bin/service/security.py index 81c6ef99744..449740a99ff 100644 --- a/bin/service/security.py +++ b/bin/service/security.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/service/web_services.py b/bin/service/web_services.py index e469719cbbb..09256686bdb 100644 --- a/bin/service/web_services.py +++ b/bin/service/web_services.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/sql_db.py b/bin/sql_db.py index 4d4a5f8efb3..92c55c2ad9d 100644 --- a/bin/sql_db.py +++ b/bin/sql_db.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/tiny_socket.py b/bin/tiny_socket.py index 826475949ea..5d82997b8e9 100644 --- a/bin/tiny_socket.py +++ b/bin/tiny_socket.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/tools/__init__.py b/bin/tools/__init__.py index 54c13704936..ad693e14aa1 100644 --- a/bin/tools/__init__.py +++ b/bin/tools/__init__.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/tools/amount_to_text.py b/bin/tools/amount_to_text.py index 3734c9617f5..f933ae263e7 100644 --- a/bin/tools/amount_to_text.py +++ b/bin/tools/amount_to_text.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/tools/amount_to_text_en.py b/bin/tools/amount_to_text_en.py index c8cf4cb0e94..3fcf5b20b4c 100644 --- a/bin/tools/amount_to_text_en.py +++ b/bin/tools/amount_to_text_en.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/tools/config.py b/bin/tools/config.py index 5276fffdf0d..e06424a005e 100644 --- a/bin/tools/config.py +++ b/bin/tools/config.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/tools/convert.py b/bin/tools/convert.py index eb1f10a0c24..089316e9797 100644 --- a/bin/tools/convert.py +++ b/bin/tools/convert.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/tools/func.py b/bin/tools/func.py index 96113e04072..c55ffda5003 100644 --- a/bin/tools/func.py +++ b/bin/tools/func.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/tools/graph.py b/bin/tools/graph.py index 80853cd09ee..9d246e4037f 100644 --- a/bin/tools/graph.py +++ b/bin/tools/graph.py @@ -3,7 +3,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/tools/import_email.py b/bin/tools/import_email.py index cd8c470f96d..d6811350140 100644 --- a/bin/tools/import_email.py +++ b/bin/tools/import_email.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/tools/maintenance.py b/bin/tools/maintenance.py index 9548690beaa..959d9f7bf3c 100644 --- a/bin/tools/maintenance.py +++ b/bin/tools/maintenance.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/tools/misc.py b/bin/tools/misc.py index 3ab4d39f5c1..d27191616aa 100644 --- a/bin/tools/misc.py +++ b/bin/tools/misc.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/tools/osutil.py b/bin/tools/osutil.py index 1925f82f671..5c514417ec8 100644 --- a/bin/tools/osutil.py +++ b/bin/tools/osutil.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/tools/parse_version.py b/bin/tools/parse_version.py index 77ad3c71aab..f79e2bad458 100644 --- a/bin/tools/parse_version.py +++ b/bin/tools/parse_version.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/tools/pdf_utils.py b/bin/tools/pdf_utils.py index 7699177a1d6..5e58f2fdecc 100644 --- a/bin/tools/pdf_utils.py +++ b/bin/tools/pdf_utils.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/tools/sql.py b/bin/tools/sql.py index b186c649ef1..c0feed03f94 100644 --- a/bin/tools/sql.py +++ b/bin/tools/sql.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/tools/translate.py b/bin/tools/translate.py index c4465b626ef..16ac39db0f5 100644 --- a/bin/tools/translate.py +++ b/bin/tools/translate.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/wizard/__init__.py b/bin/wizard/__init__.py index 8996ce0cb80..84395f06914 100644 --- a/bin/wizard/__init__.py +++ b/bin/wizard/__init__.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/workflow/__init__.py b/bin/workflow/__init__.py index 3c1d9641617..62e205f7260 100644 --- a/bin/workflow/__init__.py +++ b/bin/workflow/__init__.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/workflow/common.py b/bin/workflow/common.py index 86931d59f68..21046c74e19 100644 --- a/bin/workflow/common.py +++ b/bin/workflow/common.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/workflow/instance.py b/bin/workflow/instance.py index ce9dfdd0c6a..b78b5ae7dbe 100644 --- a/bin/workflow/instance.py +++ b/bin/workflow/instance.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/workflow/wkf_expr.py b/bin/workflow/wkf_expr.py index dee4167bf48..ecd944871cb 100644 --- a/bin/workflow/wkf_expr.py +++ b/bin/workflow/wkf_expr.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/workflow/wkf_logs.py b/bin/workflow/wkf_logs.py index 0f34ebd9140..5ec8f40b027 100644 --- a/bin/workflow/wkf_logs.py +++ b/bin/workflow/wkf_logs.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/workflow/wkf_service.py b/bin/workflow/wkf_service.py index 1a7be33700c..fdc54910c33 100644 --- a/bin/workflow/wkf_service.py +++ b/bin/workflow/wkf_service.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/bin/workflow/workitem.py b/bin/workflow/workitem.py index ce54dffa1c0..fe098bdefb9 100644 --- a/bin/workflow/workitem.py +++ b/bin/workflow/workitem.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/doc/migrate/3.3.0-3.4.0/post.py b/doc/migrate/3.3.0-3.4.0/post.py index b1a4c68ba7f..52ee6c6c14b 100644 --- a/doc/migrate/3.3.0-3.4.0/post.py +++ b/doc/migrate/3.3.0-3.4.0/post.py @@ -1,7 +1,7 @@ # -*- encoding: utf-8 -*- ############################################################################## # -# Copyright (c) 2004-2008 TINY SPRL. (http://tiny.be) All Rights Reserved. +# Copyright (c) 2004-2009 TINY SPRL. (http://tiny.be) All Rights Reserved. # # $Id$ # diff --git a/doc/migrate/3.3.0-3.4.0/pre.py b/doc/migrate/3.3.0-3.4.0/pre.py index 5168ef940c9..515593ce21a 100644 --- a/doc/migrate/3.3.0-3.4.0/pre.py +++ b/doc/migrate/3.3.0-3.4.0/pre.py @@ -1,7 +1,7 @@ # -*- encoding: utf-8 -*- ############################################################################## # -# Copyright (c) 2004-2008 TINY SPRL. (http://tiny.be) All Rights Reserved. +# Copyright (c) 2004-2009 TINY SPRL. (http://tiny.be) All Rights Reserved. # # $Id$ # diff --git a/doc/migrate/3.4.0-4.0.0/post-tiny.py b/doc/migrate/3.4.0-4.0.0/post-tiny.py index 59835fb1956..710dee9a268 100644 --- a/doc/migrate/3.4.0-4.0.0/post-tiny.py +++ b/doc/migrate/3.4.0-4.0.0/post-tiny.py @@ -1,7 +1,7 @@ # -*- encoding: utf-8 -*- ############################################################################## # -# Copyright (c) 2004-2008 TINY SPRL. (http://tiny.be) All Rights Reserved. +# Copyright (c) 2004-2009 TINY SPRL. (http://tiny.be) All Rights Reserved. # # $Id$ # diff --git a/doc/migrate/3.4.0-4.0.0/post.py b/doc/migrate/3.4.0-4.0.0/post.py index f8518810c44..912180b087f 100644 --- a/doc/migrate/3.4.0-4.0.0/post.py +++ b/doc/migrate/3.4.0-4.0.0/post.py @@ -1,7 +1,7 @@ # -*- encoding: utf-8 -*- ############################################################################## # -# Copyright (c) 2004-2008 TINY SPRL. (http://tiny.be) All Rights Reserved. +# Copyright (c) 2004-2009 TINY SPRL. (http://tiny.be) All Rights Reserved. # # $Id$ # diff --git a/doc/migrate/3.4.0-4.0.0/pre-tiny.py b/doc/migrate/3.4.0-4.0.0/pre-tiny.py index e011d0b451b..9d4e64c2b1b 100644 --- a/doc/migrate/3.4.0-4.0.0/pre-tiny.py +++ b/doc/migrate/3.4.0-4.0.0/pre-tiny.py @@ -1,7 +1,7 @@ # -*- encoding: utf-8 -*- ############################################################################## # -# Copyright (c) 2004-2008 TINY SPRL. (http://tiny.be) All Rights Reserved. +# Copyright (c) 2004-2009 TINY SPRL. (http://tiny.be) All Rights Reserved. # # $Id$ # diff --git a/doc/migrate/3.4.0-4.0.0/pre.py b/doc/migrate/3.4.0-4.0.0/pre.py index 8a520232e74..5f40deefc30 100644 --- a/doc/migrate/3.4.0-4.0.0/pre.py +++ b/doc/migrate/3.4.0-4.0.0/pre.py @@ -1,7 +1,7 @@ # -*- encoding: utf-8 -*- ############################################################################## # -# Copyright (c) 2004-2008 TINY SPRL. (http://tiny.be) All Rights Reserved. +# Copyright (c) 2004-2009 TINY SPRL. (http://tiny.be) All Rights Reserved. # # $Id$ # diff --git a/doc/migrate/4.0.0-4.2.0/pre.py b/doc/migrate/4.0.0-4.2.0/pre.py index 06c6a2b9a68..8285578a266 100644 --- a/doc/migrate/4.0.0-4.2.0/pre.py +++ b/doc/migrate/4.0.0-4.2.0/pre.py @@ -1,7 +1,7 @@ # -*- encoding: utf-8 -*- ############################################################################## # -# Copyright (c) 2004-2008 TINY SPRL. (http://tiny.be) All Rights Reserved. +# Copyright (c) 2004-2009 TINY SPRL. (http://tiny.be) All Rights Reserved. # # $Id$ # diff --git a/doc/migrate/4.0.0-4.2.0/tiny/pre-tiny.py b/doc/migrate/4.0.0-4.2.0/tiny/pre-tiny.py index 14163694001..aa3a63cb6ce 100644 --- a/doc/migrate/4.0.0-4.2.0/tiny/pre-tiny.py +++ b/doc/migrate/4.0.0-4.2.0/tiny/pre-tiny.py @@ -1,7 +1,7 @@ # -*- encoding: utf-8 -*- ############################################################################## # -# Copyright (c) 2004-2008 TINY SPRL. (http://tiny.be) All Rights Reserved. +# Copyright (c) 2004-2009 TINY SPRL. (http://tiny.be) All Rights Reserved. # # $Id$ # diff --git a/doc/migrate/4.2.0-4.4.0/pre.py b/doc/migrate/4.2.0-4.4.0/pre.py index fe29d170eb4..5f02c96fdc0 100644 --- a/doc/migrate/4.2.0-4.4.0/pre.py +++ b/doc/migrate/4.2.0-4.4.0/pre.py @@ -1,7 +1,7 @@ # -*- encoding: utf-8 -*- ############################################################################## # -# Copyright (c) 2004-2008 TINY SPRL. (http://tiny.be) All Rights Reserved. +# Copyright (c) 2004-2009 TINY SPRL. (http://tiny.be) All Rights Reserved. # # $Id$ # diff --git a/doc/tests/check_profile_l10n_all.py b/doc/tests/check_profile_l10n_all.py index 83b59007d2f..f85ebfeb946 100644 --- a/doc/tests/check_profile_l10n_all.py +++ b/doc/tests/check_profile_l10n_all.py @@ -3,7 +3,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/setup.py b/setup.py index daf7b8f7d73..7c55dd4e2e6 100755 --- a/setup.py +++ b/setup.py @@ -3,7 +3,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/win32/OpenERPServerService.py b/win32/OpenERPServerService.py index 7bf8aefb45f..8f5a0835d13 100644 --- a/win32/OpenERPServerService.py +++ b/win32/OpenERPServerService.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify diff --git a/win32/setup.py b/win32/setup.py index 29dee19520d..e6e1493d8d1 100644 --- a/win32/setup.py +++ b/win32/setup.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # # This program is free software: you can redistribute it and/or modify From 56644bfb374a73cc82b308bac2bc4ba2e8e91d15 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Mon, 5 Jan 2009 12:56:08 +0100 Subject: [PATCH 02/68] [FIX] fix the decorator "@wraps" to work on python < 2.5 lp bug: https://launchpad.net/bugs/313547 fixed bzr revid: christophe@tinyerp.com-20090105115608-ke3du6rq5hvre0pd --- bin/tools/func.py | 64 +++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 56 insertions(+), 8 deletions(-) diff --git a/bin/tools/func.py b/bin/tools/func.py index c55ffda5003..7dd515b523d 100644 --- a/bin/tools/func.py +++ b/bin/tools/func.py @@ -1,7 +1,7 @@ # -*- encoding: utf-8 -*- ############################################################################## # -# OpenERP, Open Source Management Solution +# OpenERP, Open Source Management Solution # Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # @@ -20,12 +20,60 @@ # ############################################################################## +__all__ = ['partial', 'wraps', 'update_wrapper'] + try: - from functools import wraps + from functools import partial, wraps, update_wrapper except ImportError: - # this module doesn't exist in python < 2.5 - # we define a identity decorator - def wraps(f): - def identity(x): - return x - return identity + # The functools module doesn't exist in python < 2.5 + # Code taken from python 2.5 + # http://svn.python.org/view/python/tags/r254/Lib/functools.py?view=markup + + def partial(fun, *args, **kwargs): + def _partial(*args2, **kwargs2): + return fun(*(args+args2), **dict(kwargs, **kwargs2)) + return _partial + + ### --- code from python 2.5 + + # update_wrapper() and wraps() are tools to help write + # wrapper functions that can handle naive introspection + + WRAPPER_ASSIGNMENTS = ('__module__', '__name__', '__doc__') + WRAPPER_UPDATES = ('__dict__',) + def update_wrapper(wrapper, + wrapped, + assigned = WRAPPER_ASSIGNMENTS, + updated = WRAPPER_UPDATES): + """Update a wrapper function to look like the wrapped function + + wrapper is the function to be updated + wrapped is the original function + assigned is a tuple naming the attributes assigned directly + from the wrapped function to the wrapper function (defaults to + functools.WRAPPER_ASSIGNMENTS) + updated is a tuple naming the attributes off the wrapper that + are updated with the corresponding attribute from the wrapped + function (defaults to functools.WRAPPER_UPDATES) + """ + for attr in assigned: + setattr(wrapper, attr, getattr(wrapped, attr)) + for attr in updated: + getattr(wrapper, attr).update(getattr(wrapped, attr, {})) + # Return the wrapper so this can be used as a decorator via partial() + return wrapper + + def wraps(wrapped, + assigned = WRAPPER_ASSIGNMENTS, + updated = WRAPPER_UPDATES): + """Decorator factory to apply update_wrapper() to a wrapper function + + Returns a decorator that invokes update_wrapper() with the decorated + function as the wrapper argument and the arguments to wraps() as the + remaining arguments. Default arguments are as for update_wrapper(). + This is a convenience function to simplify applying partial() to + update_wrapper(). + """ + return partial(update_wrapper, wrapped=wrapped, + assigned=assigned, updated=updated) + From b69f3b074ff9ed642415261cb1ae33d1054b4911 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Mon, 5 Jan 2009 13:17:23 +0100 Subject: [PATCH 03/68] [FIX] cannot marshal None bzr revid: christophe@tinyerp.com-20090105121723-hzff90u49rq2sd3e --- bin/service/web_services.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bin/service/web_services.py b/bin/service/web_services.py index 09256686bdb..b97e8a81fa7 100644 --- a/bin/service/web_services.py +++ b/bin/service/web_services.py @@ -286,6 +286,7 @@ class db(netsvc.Service): except Exception, e: tools.debug(e) raise + return True db() class MigrationException(Exception): pass @@ -397,6 +398,8 @@ GNU Public Licence. zip = open(mp, 'w') zip.write(base64.decodestring(zips[module])) zip.close() + + return True except MigrationException, e: self.abortResponse(1, 'Migration Error', 'warning', str(e)) except Exception, e: From b9e8786ef86b4ef89af84aab1a2a2c44d09826b9 Mon Sep 17 00:00:00 2001 From: "mra (Open ERP)" Date: Mon, 5 Jan 2009 18:14:34 +0530 Subject: [PATCH 04/68] changes on quality module bzr revid: mra@tinyerp.com-20090105124434-oll8rix427lv524l --- .../base_module_quality.py | 46 ++++++----------- .../method_test/method_test.py | 32 ++++++------ .../pylint_test/pylint_test.py | 28 +++++------ .../speed_test/speed_test.py | 40 +++++++-------- .../terp_test/terp_test.py | 49 ++++++++----------- .../wizard/module_quality_check.py | 9 ++-- 6 files changed, 85 insertions(+), 119 deletions(-) diff --git a/addons/base_module_quality/base_module_quality.py b/addons/base_module_quality/base_module_quality.py index 0564d7c9066..f8cf125cbc2 100644 --- a/addons/base_module_quality/base_module_quality.py +++ b/addons/base_module_quality/base_module_quality.py @@ -86,7 +86,7 @@ class abstract_quality_check(object): self.tests.append(x3) # raise 'Not Implemented' - def run_test(self, cr, uid, module_path="", module_state=""): + def run_test(self, cr, uid, module_path=""): ''' this method should do the test and fill the score, result and result_details var ''' @@ -114,40 +114,22 @@ class abstract_quality_check(object): result_ids[obj] = ids return result_ids - def format_table(self, test='', header=[], data_list=[]): - res_format = {} - if test=='method': - detail = "" - detail += "\n===Method Test===\n" - res_format['detail'] = detail - if not data_list[2]: - detail += ('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-16s \n! %-20s \n! %-16s ') % (header[0].ljust(40), header[1].ljust(16), header[2].ljust(20), header[3].ljust(16)) - for res in data_list[1]: - detail += ('\n|-\n| %s \n| %s \n| %s \n| %s ') % (res, data_list[1][res][0], data_list[1][res][1], data_list[1][res][2]) - res_format['detail'] = detail + '\n|}' - res_format['summary'] = data_list[0] - elif test=='pylint': - res_format['summary'] = data_list[0] - res_format['detail'] = data_list[1] - elif test=='speed': - detail = "" - detail += "\n===Speed Test===\n" - res_format['detail'] = detail - if not data_list[2]: - detail += ('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-10s \n! %-10s \n! %-10s \n! %-10s \n! %-20s') % (header[0].ljust(40), header[1].ljust(10), header[2].ljust(10), header[3].ljust(10), header[4].ljust(10), header[5].ljust(20)) - for data in data_list[1]: - detail += ('\n|-\n| %s \n| %s \n| %s \n| %s \n| %s \n| %s ') % (data[0], data[1], data[2], data[3], data[4], data[5]) - res_format['detail'] = detail + '\n|}\n' - res_format['summary'] = data_list[0] - elif test=='terp': - res_format['summary'] = data_list[0] - res_format['detail'] = data_list[1] - return res_format + def format_table(self, header=[], data_list=[]): + detail = "" + if header[0]=='method': + detail += ('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-16s \n! %-20s \n! %-16s ') % (header[1].ljust(40), header[2].ljust(16), header[3].ljust(20), header[4].ljust(16)) + for res in data_list[0]: + detail += ('\n|-\n| %s \n| %s \n| %s \n| %s ') % (res, data_list[0][res][0], data_list[0][res][1], data_list[0][res][2]) + detail = detail + '\n|}' + elif header[0]=='speed': + detail += ('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-10s \n! %-10s \n! %-10s \n! %-10s \n! %-20s') % (header[1].ljust(40), header[2].ljust(10), header[3].ljust(10), header[4].ljust(10), header[5].ljust(10), header[6].ljust(20)) + for data in data_list[0]: + detail += ('\n|-\n| %s \n| %s \n| %s \n| %s \n| %s \n| %s ') % (data[0], data[1], data[2], data[3], data[4], data[5]) + detail = detail + '\n|}\n' + return detail def add_quatation(self, x, y): return x/y - - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_module_quality/method_test/method_test.py b/addons/base_module_quality/method_test/method_test.py index 38a07c9428b..b07e7f349e1 100644 --- a/addons/base_module_quality/method_test/method_test.py +++ b/addons/base_module_quality/method_test/method_test.py @@ -31,21 +31,15 @@ class quality_test(base_module_quality.abstract_quality_check): def __init__(self): super(quality_test, self).__init__() -# self.result = """ -#===Method Test===: -# -#This test checks if the module classes are raising exception when calling basic methods or no. -# -#""" self.bool_installed_only = True self.ponderation = 1.0 + self.result_det = {} return None - def run_test(self, cr, uid, module_path, module_state): + def run_test(self, cr, uid, module_path): pool = pooler.get_pool(cr.dbname) module_name = module_path.split('/')[-1] obj_list = self.get_objects(cr, uid, module_name) - result = {} ok_count = 0 ex_count = 0 for obj in obj_list: @@ -71,29 +65,33 @@ class quality_test(base_module_quality.abstract_quality_check): except: temp.append('Exception') ex_count += 1 - result[obj] = temp -# self.result += ('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-16s \n! %-20s \n! %-16s ') % ('Object Name'.ljust(40), 'search()'.ljust(16), 'fields_view_get()'.ljust(20), 'read()'.ljust(16)) - header_list = ['Object Name', 'search()', 'fields_view_get', 'read'] -# for res in result: -# self.result += ('\n|-\n| %s \n| %s \n| %s \n| %s ') % (res, result[res][0],result[res][1], result[res][2]) -# self.result += '\n|}' + self.result_det[obj] = temp self.score = (ok_count + ex_count) and float(ok_count)/float(ok_count + ex_count) or 0.0 + return None + + def get_result(self, cr, uid, module_path, module_state): + self.run_test(cr, uid, module_path) if not self.bool_installed_only or module_state=="installed": summary = """ ===Method Test===: This test checks if the module classes are raising exception when calling basic methods or no. -""" #+ "Score: " + str(self.score) + "/10\n" +""" + "Score: " + str(self.score) + "/10\n" else: summary =""" \n===Method Test===: The module has to be installed before running this test.\n\n """ header_list = "" self.error = True - self.result = self.format_table(test='method', header=header_list, data_list=[summary,result,self.error]) - return None + return summary + def get_result_detail(self): + header_list = ['method', 'Object Name', 'search()', 'fields_view_get', 'read'] + detail = "\n===Method Test===\n" + if not self.error: + detail += self.format_table(header=header_list, data_list=[self.result_det]) + return detail # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_module_quality/pylint_test/pylint_test.py b/addons/base_module_quality/pylint_test/pylint_test.py index 5877dc6ff39..d81b70b2aa9 100644 --- a/addons/base_module_quality/pylint_test/pylint_test.py +++ b/addons/base_module_quality/pylint_test/pylint_test.py @@ -31,17 +31,11 @@ class quality_test(base_module_quality.abstract_quality_check): def __init__(self): super(quality_test, self).__init__() -# self.result = """ -#===Pylint Test===: -# -# This test checks if the module satisfy the current coding standard used by OpenERP. -# -#""" self.bool_installed_only = False self.ponderation = 1.0 return None - def run_test(self, cr, uid, module_path, module_state): + def run_test(self, cr, uid, module_path): config_file_path = config['addons_path']+'/base_module_quality/pylint_test/pylint_test_config.txt' list_files = os.listdir(module_path) for i in list_files: @@ -52,8 +46,6 @@ class quality_test(base_module_quality.abstract_quality_check): n = 0 score = 0.0 - detail = "" - detail = "\n===Pylint Test===\n" for file in list_files: if file.split('.')[-1] == 'py' and not file.endswith('__init__.py') and not file.endswith('__terp__.py'): file_path = os.path.join(module_path, file) @@ -68,30 +60,34 @@ class quality_test(base_module_quality.abstract_quality_check): try: score += float(res[leftchar+1:rightchar]) -# self.result += file + ": " + res[leftchar+1:rightchar] + "/10\n" - detail += file + ": " + res[leftchar+1:rightchar] + "/10\n" + self.result += file + ": " + res[leftchar+1:rightchar] + "/10\n" except: score += 0 -# self.result += file + ": Unable to parse the result. Check the details.\n" - detail += file + ": Unable to parse the result. Check the details.\n" + self.result += file + ": Unable to parse the result. Check the details.\n" self.result_details += res self.score = n and score / n or score + return None + + def get_result(self, cr, uid, module_path, module_state): + self.run_test(cr, uid, module_path) if not self.bool_installed_only or module_state=="installed": summary =""" ===Pylint Test===: This test checks if the module satisfies the current coding standard used by OpenERP. -""" #+ "Score: " + str(self.score) + "/10\n" +""" + "Score: " + str(self.score) + "/10\n" else: summary =""" \n===Pylint Test===: The module has to be installed before running this test.\n\n """ header_list = "" self.error = True - self.result = self.format_table(test='pylint', data_list=[summary,detail,self.error]) - return None + return summary + def get_result_detail(self): + detail = "\n===Pylint Test===\n" + self.result + return detail # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_module_quality/speed_test/speed_test.py b/addons/base_module_quality/speed_test/speed_test.py index d2ab88cbd14..45800e06356 100644 --- a/addons/base_module_quality/speed_test/speed_test.py +++ b/addons/base_module_quality/speed_test/speed_test.py @@ -35,26 +35,17 @@ class quality_test(base_module_quality.abstract_quality_check): def __init__(self): super(quality_test, self).__init__() -# self.result = """ -#===Speed Test===: -# -#This test checks the speed of the module. -# -#""" self.bool_installed_only = True self.ponderation = 1.0 + self.listdata = [] return None - def run_test(self, cr, uid, module_path, module_state): + def run_test(self, cr, uid, module_path): pool = pooler.get_pool(cr.dbname) module_name = module_path.split('/')[-1] -# self.result+=('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-10s \n! %-10s \n! %-10s \n! %-10s \n! %-20s') % ('Object Name'.ljust(40), 'Size-Number of Records (S)'.ljust(10), '1'.ljust(10), 'S/2'.ljust(10), 'S'.ljust(10), 'Complexity using query'.ljust(20)) - header_list = ['Object Name', 'Size-Number of Records (S)', '1', 'S/2', 'S', 'Complexity using query'] obj_list = self.get_objects(cr, uid, module_name) obj_counter = 0 score = 0 obj_ids = self.get_ids(cr, uid, obj_list) - detail = "" - list1 = [] for obj in obj_ids: obj_counter += 1 ids = obj_ids[obj] @@ -77,9 +68,8 @@ class quality_test(base_module_quality.abstract_quality_check): if size < 5: self.score += -2 -# self.result += ('\n|-\n| %s \n| %s \n| %s \n| %s \n| %s \n| %s ') % (obj, size, code_base_complexity, code_half_complexity, code_size_complexity, "Warning! Not enough demo data") list = [obj, size, code_base_complexity, code_half_complexity, code_size_complexity, "Warning! Not enough demo data"] - list1.append(list) + self.listdata.append(list) else: if code_size_complexity <= (code_base_complexity + size): complexity = "O(1)" @@ -87,31 +77,39 @@ class quality_test(base_module_quality.abstract_quality_check): else: complexity = "O(n) or worst" score = 0 -# self.result += ('\n|-\n| %s \n| %s \n| %s \n| %s \n| %s \n| %s ') % (obj, size, code_base_complexity, code_half_complexity, code_size_complexity, complexity) list = [obj, size, code_base_complexity, code_half_complexity, code_size_complexity, complexity] - list1.append(list) + self.listdata.append(list) else: score += -5 -# self.result += ('\n|-\n| %s \n| %s \n| %s \n| %s \n| %s \n| %s ') % (obj, size, "", "", "", "Warning! Object has no demo data") list = [obj, size, "", "", "", "Warning! Object has no demo data"] - list1.append(list) -# self.result += '\n|}\n' + self.listdata.append(list) self.score = obj_counter and score/obj_counter or 0.0 + return None + + def get_result(self, cr, uid, module_path, module_state): + self.run_test(cr, uid, module_path) if not self.bool_installed_only or module_state=="installed": summary = """ ===Speed Test===: This test checks the speed of the module. -"""#+ "Score: " + str(self.score) + "/10\n" +""" + "Score: " + str(self.score) + "/10\n" else: summary =""" \n===Speed Test===: The module has to be installed before running this test.\n\n """ header_list = "" self.error = True - self.result = self.format_table(test='speed', header=header_list, data_list=[summary,list1,self.error]) - return None + return summary + + def get_result_detail(self): + header_list = ['speed', 'Object Name', 'Size-Number of Records (S)', '1', 'S/2', 'S', 'Complexity using query'] + detail = "" + detail += "\n===Speed Test===\n" + if not self.error: + detail += self.format_table(header=header_list, data_list=[self.listdata]) + return detail # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_module_quality/terp_test/terp_test.py b/addons/base_module_quality/terp_test/terp_test.py index e3bbaa356ea..6f76656eae6 100644 --- a/addons/base_module_quality/terp_test/terp_test.py +++ b/addons/base_module_quality/terp_test/terp_test.py @@ -35,10 +35,10 @@ class quality_test(base_module_quality.abstract_quality_check): ''' super(quality_test, self).__init__() self.bool_installed_only = True + self.no_terp = False return None - def run_test(self, cr, uid, module_path, module_state): - no_terp = False + def run_test(self, cr, uid, module_path): list_files = os.listdir(module_path) for i in list_files: path = os.path.join(module_path, i) @@ -50,20 +50,8 @@ class quality_test(base_module_quality.abstract_quality_check): score = 0.0 feel_good_factor = 0 feel_bad_factor = 0 - detail = "\n===TERP Test===\n" - summary = "\n===TERP Test===:\n" - if '__terp__.py' not in list_files: - no_terp = True - - if no_terp: - summary += """ -The module does not contain the __terp__.py file.\n\n """ - header_list = "" - self.error = True - self.result = self.format_table(test='terp', data_list=[summary, detail, self.error]) - return None - + self.no_terp = True terp_file = os.path.join(module_path,'__terp__.py') res = eval(tools.file_open(terp_file).read()) @@ -89,20 +77,25 @@ The module does not contain the __terp__.py file.\n\n """ feel_bad_factor += 1 self.score = round((feel_good_factor * 10) / float(feel_good_factor + feel_bad_factor),2) -# if not self.bool_installed_only or module_state=="installed": - summary += """ -This test checks if the module satisfies the current coding standard for __terp__.py file used by OpenERP. - -""" -# else: -# summary += """ -#The module has to be installed before running this test.\n\n """ -# header_list = "" -# error = True - - detail += "__terp__.py : "+ str(self.score) + "/10\n" - self.result = self.format_table(test='terp', data_list=[summary, detail, self.error]) + self.result += "__terp__.py : "+ str(self.score) + "/10\n" return None + def get_result(self, cr, uid, module_path, module_state): + self.run_test(cr, uid, module_path) + summary = "\n===TERP Test===:\n" + if self.no_terp: + summary += """ +The module does not contain the __terp__.py file.\n\n """ + else: + summary += """ + This test checks if the module satisfies the current coding standard for __terp__.py file used by OpenERP. + """ + "Score: " + str(self.score) + "/10\n" + return summary + + def get_result_detail(self): + detail = "\n===TERP Test===\n" + self.result + return detail + + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file diff --git a/addons/base_module_quality/wizard/module_quality_check.py b/addons/base_module_quality/wizard/module_quality_check.py index 1da35f9f68a..155ad87061a 100644 --- a/addons/base_module_quality/wizard/module_quality_check.py +++ b/addons/base_module_quality/wizard/module_quality_check.py @@ -75,11 +75,10 @@ class wiz_quality_check(osv.osv_memory): ad = tools.config['root_path']+'/addons' module_path = os.path.join(ad, module_data[0].name) val = test.quality_test() - val.run_test(cr, uid, str(module_path), str(module_data[0].state)) - string_ret += val.result['summary'] #summary tab - if not val.error: - string_ret += "Score: " + str(val.score) + "/10\n" #val.score = val.score * val.ponderation ??? - string_detail += val.result['detail'] # detail tab + string_ret += val.get_result(cr, uid, str(module_path), str(module_data[0].state)) #result['summary'] #summary tab + string_detail += val.get_result_detail()#result['detail'] # detail tab +# if not val.error: +# string_ret += "Score: " + str(val.score) + "/10\n" #val.score = val.score * val.ponderation ??? score_sum += (val.add_quatation(val.score, 10) * val.ponderation) ponderation_sum += val.ponderation final_score = str(score_sum / ponderation_sum * 100) + "%" From 3f5c51688fac61bde6e6b047b4c3e2fcd59183a7 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Mon, 5 Jan 2009 14:49:37 +0100 Subject: [PATCH 05/68] [FIX] does not append 3 hours to dtend lp bug: https://launchpad.net/bugs/313679 fixed bzr revid: christophe@tinyerp.com-20090105134937-t9015tkg1pvyc5w0 --- addons/document_ics/document.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/addons/document_ics/document.py b/addons/document_ics/document.py index de155e038f3..f936c352d83 100644 --- a/addons/document_ics/document.py +++ b/addons/document_ics/document.py @@ -1,7 +1,7 @@ # -*- encoding: utf-8 -*- ############################################################################## # -# OpenERP, Open Source Management Solution +# OpenERP, Open Source Management Solution # Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # @@ -41,7 +41,9 @@ ICS_TAGS = { 'attendee':'multiple', 'location':'normal', 'categories': 'normal', - 'description':'normal' + 'description':'normal', + + # TODO: handle the 'duration' property } class document_directory_ics_fields(osv.osv): @@ -126,8 +128,6 @@ class document_directory_content(osv.osv): if len(dt)==10: dt = dt+' 09:00:00' value = datetime.datetime.strptime(dt, '%Y-%m-%d %H:%M:%S') - if field.name=='dtend': - value += datetime.timedelta(hours=3) event.add(field.name).value = value s= StringIO.StringIO(cal.serialize().encode('utf8')) s.name = node @@ -142,3 +142,5 @@ class crm_case(osv.osv): } crm_case() +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: + From fc699edb6c93e7701e9200b8355aa5190bed7556 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Mon, 5 Jan 2009 14:51:56 +0100 Subject: [PATCH 06/68] [IMP] account bzr revid: christophe@tinyerp.com-20090105135156-a8yh6v1bsl2k5u4k --- addons/account/account.py | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/addons/account/account.py b/addons/account/account.py index d5cb84674ba..bbd88d10b2c 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -1594,7 +1594,7 @@ class account_config_wizard(osv.osv_memory): ids=module_obj.search(cr, uid, [('category_id', '=', 'Account Charts'), ('state', '<>', 'installed')]) res=[(m.id, m.shortdesc) for m in module_obj.browse(cr, uid, ids)] res.append((-1, 'None')) - res.sort(lambda x,y: cmp(x[1],y[1])) + res.sort(key=lambda x: x[1]) return res _columns = { @@ -1621,25 +1621,12 @@ class account_config_wizard(osv.osv_memory): 'target':'new', } - def install_account_chart(self, cr, uid,ids, context=None): + def install_account_chart(self, cr, uid, ids, context=None): for res in self.read(cr,uid,ids): - id = res['charts'] - def install(id): + chart_id = res['charts'] + if chart_id > 0: mod_obj = self.pool.get('ir.module.module') - mod_obj.write(cr , uid, [id] ,{'state' : 'to install'}) - mod_obj.download(cr, uid, [id], context=context) - cr.commit() - cr.execute("select m.id as id from ir_module_module_dependency d inner join ir_module_module m on (m.name=d.name) where d.module_id=%s and m.state='uninstalled'",(id,)) - ret = cr.fetchall() - if len(ret): - for r in ret: - install(r[0]) - else: - mod_obj.write(cr , uid, [id] ,{'state' : 'to install'}) - mod_obj.download(cr, uid, [id], context=context) - cr.commit() - if id>0: - install(id) + mod_obj.button_install(cr, uid, [chart_id], context=context) cr.commit() db, pool = pooler.restart_pool(cr.dbname, update_module=True) From 83995087ae81dfc74a615cf267d98b4eea260538 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Mon, 5 Jan 2009 15:44:43 +0100 Subject: [PATCH 07/68] [IMP] ignore elements that are directly in ./bin/addons (also symlinks) bzr revid: christophe@tinyerp.com-20090105144443-sfaljlejk5fdri9x --- .bzrignore | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .bzrignore diff --git a/.bzrignore b/.bzrignore new file mode 100644 index 00000000000..abaed6d70ed --- /dev/null +++ b/.bzrignore @@ -0,0 +1,3 @@ +./bin/addons/* + + From 6600172e4aacbe9e337eee2dafc7797488e420fe Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Mon, 5 Jan 2009 16:28:43 +0100 Subject: [PATCH 08/68] [FIX] Translation - read_string lp bug: https://launchpad.net/bugs/313340 fixed bzr revid: stephane@tinyerp.com-20090105152843-pyw6m15gzl4rxt1u --- bin/osv/orm.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/bin/osv/orm.py b/bin/osv/orm.py index 6ed05ff148a..8caef262f03 100644 --- a/bin/osv/orm.py +++ b/bin/osv/orm.py @@ -1133,8 +1133,6 @@ class orm_template(object): raise _('The copy method is not implemented on this object !') def read_string(self, cr, uid, id, langs, fields=None, context=None): - if not context: - context = {} res = {} res2 = {} self.pool.get('ir.model.access').check(cr, uid, 'ir.translation', 'read') @@ -1154,14 +1152,12 @@ class orm_template(object): res2 = self.pool.get(table).read_string(cr, uid, id, langs, cols, context) for lang in res2: if lang in res: - res[lang] = {'code': lang} + res[lang]['code'] = lang for f in res2[lang]: res[lang][f] = res2[lang][f] return res def write_string(self, cr, uid, id, langs, vals, context=None): - if not context: - context = {} self.pool.get('ir.model.access').check(cr, uid, 'ir.translation', 'write') for lang in langs: for field in vals: From ed0b9d8c35fbcffe9aa939e42259478167ccce0d Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Mon, 5 Jan 2009 16:42:00 +0100 Subject: [PATCH 09/68] [FIX] Use a commit to close the delete statement bzr revid: stephane@tinyerp.com-20090105154200-462px2zlx1d6bs8u --- bin/addons/base/ir/ir_translation.py | 1 + 1 file changed, 1 insertion(+) diff --git a/bin/addons/base/ir/ir_translation.py b/bin/addons/base/ir/ir_translation.py index 116990314be..bc343797e76 100644 --- a/bin/addons/base/ir/ir_translation.py +++ b/bin/addons/base/ir/ir_translation.py @@ -104,6 +104,7 @@ class ir_translation(osv.osv): 'and name=%s ' \ 'and res_id in ('+','.join(map(str,ids))+')', (lang,tt,name)) + cr.commit() for id in ids: self.create(cr, uid, { 'lang':lang, From aef3884e59c6b1aec0e0f127e3e6c1969f4289a9 Mon Sep 17 00:00:00 2001 From: qdp Date: Mon, 5 Jan 2009 17:25:46 +0100 Subject: [PATCH 10/68] improvements on base_module_quality bzr revid: qdp@tinyerp.com-20090105162546-yr8su19er4gkih48 --- .../base_module_quality.py | 27 +-- .../base_module_quality_wizard.xml | 71 +++++--- .../method_test/method_test.py | 18 +- .../pylint_test/pylint_test.py | 18 +- .../terp_test/terp_test.py | 10 +- .../wizard/module_quality_check.py | 170 +++++++++--------- 6 files changed, 161 insertions(+), 153 deletions(-) diff --git a/addons/base_module_quality/base_module_quality.py b/addons/base_module_quality/base_module_quality.py index f8cf125cbc2..8ded5d15005 100644 --- a/addons/base_module_quality/base_module_quality.py +++ b/addons/base_module_quality/base_module_quality.py @@ -28,31 +28,18 @@ class abstract_quality_check(object): This Class provide... ''' -# #This float have to store the rating of the module. -# #Used to compute the final score (average of all scores). -# score = 0.0 -# -# #This char have to store the result. -# #Used to display the result of the test. -# result = "" -# -# #This char have to store the result with more details. -# #Used to provide more details if necessary. -# result_details = "" -# -# #This bool defines if the test can be run only if the module is installed. -# #True => the module have to be installed. -# #False => the module can be uninstalled. -# bool_installed_only = True - def __init__(self): ''' this method should initialize the var ''' #This float have to store the rating of the module. #Used to compute the final score (average of all scores). + #0 <= self.score <= 1 self.score = 0.0 + #This char have to store the name of the test. + self.name = "" + #This char have to store the result. #Used to display the result of the test. self.result = "" @@ -66,13 +53,13 @@ class abstract_quality_check(object): #False => the module can be uninstalled. self.bool_installed_only = True - #This variable is use to make result of test should have more weight (Some tests are more critical than others) - self.ponderation = 0.0 + self.ponderation = 1.0 #Specify test got an error on module self.error = False + #The tests have to subscribe itselfs in this list, that contains all the test that have to be performed. self.tests = [] self.list_folders = os.listdir(config['addons_path']+'/base_module_quality/') for item in self.list_folders: @@ -90,7 +77,7 @@ class abstract_quality_check(object): ''' this method should do the test and fill the score, result and result_details var ''' -# raise 'Not Implemented' + raise 'Not Implemented' def get_objects(self, cr, uid, module): # This function returns all object of the given module.. diff --git a/addons/base_module_quality/base_module_quality_wizard.xml b/addons/base_module_quality/base_module_quality_wizard.xml index a61d1f4e980..5d718385dcc 100644 --- a/addons/base_module_quality/base_module_quality_wizard.xml +++ b/addons/base_module_quality/base_module_quality_wizard.xml @@ -3,46 +3,71 @@ - + + Results of Quality Checks + wizard.quality.check + tree + + + + + + + + + Results of Quality Checks wizard.quality.check form
- - - - - + + + +
- + Results of Quality Checks with detail quality.check.detail form
- - - - - - - + + + + + + + + + +
- + + + Results of Quality Checks with detail + quality.check.detail + tree + + + + + + + + + + +
diff --git a/addons/base_module_quality/method_test/method_test.py b/addons/base_module_quality/method_test/method_test.py index b07e7f349e1..ed53a535bcb 100644 --- a/addons/base_module_quality/method_test/method_test.py +++ b/addons/base_module_quality/method_test/method_test.py @@ -67,26 +67,22 @@ class quality_test(base_module_quality.abstract_quality_check): ex_count += 1 self.result_det[obj] = temp self.score = (ok_count + ex_count) and float(ok_count)/float(ok_count + ex_count) or 0.0 + self.result = self.get_result() + self.result_details = self.get_result_details() + return None - def get_result(self, cr, uid, module_path, module_state): - self.run_test(cr, uid, module_path) - if not self.bool_installed_only or module_state=="installed": - summary = """ + + def get_result(self): + summary = """ ===Method Test===: This test checks if the module classes are raising exception when calling basic methods or no. """ + "Score: " + str(self.score) + "/10\n" - else: - summary =""" \n===Method Test===: - -The module has to be installed before running this test.\n\n """ - header_list = "" - self.error = True return summary - def get_result_detail(self): + def get_result_details(self): header_list = ['method', 'Object Name', 'search()', 'fields_view_get', 'read'] detail = "\n===Method Test===\n" if not self.error: diff --git a/addons/base_module_quality/pylint_test/pylint_test.py b/addons/base_module_quality/pylint_test/pylint_test.py index d81b70b2aa9..04e43dbbbc9 100644 --- a/addons/base_module_quality/pylint_test/pylint_test.py +++ b/addons/base_module_quality/pylint_test/pylint_test.py @@ -31,6 +31,7 @@ class quality_test(base_module_quality.abstract_quality_check): def __init__(self): super(quality_test, self).__init__() + self.name = _("Pylint Test") self.bool_installed_only = False self.ponderation = 1.0 return None @@ -49,7 +50,11 @@ class quality_test(base_module_quality.abstract_quality_check): for file in list_files: if file.split('.')[-1] == 'py' and not file.endswith('__init__.py') and not file.endswith('__terp__.py'): file_path = os.path.join(module_path, file) - res = os.popen('pylint --rcfile=' + config_file_path + ' ' + file_path).read() + try: + res = os.popen('pylint --rcfile=' + config_file_path + ' ' + file_path).read() + except: + self.result += _("Error. Is pylint correctly installed?")+"\n" + break n += 1 leftchar = -1 while res[leftchar:leftchar+1] != ' ' and leftchar-1 <= 0: @@ -57,18 +62,19 @@ class quality_test(base_module_quality.abstract_quality_check): rightchar = -10 while res[rightchar:rightchar+1] != '/' and rightchar+1 <= 0: rightchar += 1 - try: score += float(res[leftchar+1:rightchar]) self.result += file + ": " + res[leftchar+1:rightchar] + "/10\n" except: score += 0 - self.result += file + ": Unable to parse the result. Check the details.\n" + self.result += file + ": "+_("Unable to parse the result. Check the details.")+"\n" self.result_details += res - self.score = n and score / n or score + + average_score = n and score / n or score + self.score = (average_score + 10) /20 return None - def get_result(self, cr, uid, module_path, module_state): + def get_result(self, cr, uid, module_path): self.run_test(cr, uid, module_path) if not self.bool_installed_only or module_state=="installed": summary =""" @@ -85,7 +91,7 @@ The module has to be installed before running this test.\n\n """ self.error = True return summary - def get_result_detail(self): + def get_result_details(self): detail = "\n===Pylint Test===\n" + self.result return detail diff --git a/addons/base_module_quality/terp_test/terp_test.py b/addons/base_module_quality/terp_test/terp_test.py index 6f76656eae6..9ee45727131 100644 --- a/addons/base_module_quality/terp_test/terp_test.py +++ b/addons/base_module_quality/terp_test/terp_test.py @@ -34,8 +34,10 @@ class quality_test(base_module_quality.abstract_quality_check): This test checks the quality of __terp__.py file in the selected module. ''' super(quality_test, self).__init__() - self.bool_installed_only = True + self.bool_installed_only = False self.no_terp = False + self.ponderation = 2 + return None def run_test(self, cr, uid, module_path): @@ -76,7 +78,7 @@ class quality_test(base_module_quality.abstract_quality_check): else: feel_bad_factor += 1 - self.score = round((feel_good_factor * 10) / float(feel_good_factor + feel_bad_factor),2) + self.score = round((feel_good_factor) / float(feel_good_factor + feel_bad_factor),2) self.result += "__terp__.py : "+ str(self.score) + "/10\n" return None @@ -92,10 +94,10 @@ The module does not contain the __terp__.py file.\n\n """ """ + "Score: " + str(self.score) + "/10\n" return summary - def get_result_detail(self): + def get_result_details(self): detail = "\n===TERP Test===\n" + self.result return detail -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_module_quality/wizard/module_quality_check.py b/addons/base_module_quality/wizard/module_quality_check.py index 155ad87061a..827e4719800 100644 --- a/addons/base_module_quality/wizard/module_quality_check.py +++ b/addons/base_module_quality/wizard/module_quality_check.py @@ -27,107 +27,99 @@ import tools import os from base_module_quality import base_module_quality -#TODO: (utiliser les nouveaux wizards pour heriter la vue et rajouter un onglet par test?) -#TODO: implement the speed test + #TODO: add cheks: do the class quality_check inherits the class abstract_quality_check? -#TODO: improve translability -#TODO: clean -#To keep or not? to be discussed... - -#~ view_form = """ -#~
- #~ - #~ - #~ - #~ - #~ -#~
""" - - -#~ view_field = { - #~ "general_info": {'type': 'text', 'string': 'General Info', 'readonly':True}, -#~ } - - -class wiz_quality_check(osv.osv_memory): - -# general_info = "" +class wiz_quality_check(osv.osv): _name = 'wizard.quality.check' - - def _check(self, cr, uid, data, context={}): - string_ret = "" - string_detail = "" - from tools import config - data['ids'] = data.get('module_id', False) - pool = pooler.get_pool(cr.dbname) - module_data = pool.get('ir.module.module').browse(cr, uid, [data['ids']]) - list_folders = os.listdir(config['addons_path']+'/base_module_quality/') - module_name = module_data[0].name - abstract_obj = base_module_quality.abstract_quality_check() - score_sum = 0.0 - ponderation_sum = 0.0 - final_score = "" - for test in abstract_obj.tests: - ad = tools.config['addons_path'] - if module_data[0].name == 'base': - ad = tools.config['root_path']+'/addons' - module_path = os.path.join(ad, module_data[0].name) - val = test.quality_test() - string_ret += val.get_result(cr, uid, str(module_path), str(module_data[0].state)) #result['summary'] #summary tab - string_detail += val.get_result_detail()#result['detail'] # detail tab -# if not val.error: -# string_ret += "Score: " + str(val.score) + "/10\n" #val.score = val.score * val.ponderation ??? - score_sum += (val.add_quatation(val.score, 10) * val.ponderation) - ponderation_sum += val.ponderation - final_score = str(score_sum / ponderation_sum * 100) + "%" - string_ret += "\n\nPonderation Result for module:" + final_score - self.string_detail = string_detail - return "" - - def _check_detail(self, cr, uid, data, context={}): - return self.string_detail - - -# def _general_info(self, cr, uid, data, context={}): -# return self.general_info - - #~ states = { - - #~ 'init': { - #~ 'actions': [_check], - #~ 'result': {'type':'form', 'arch':view_form, 'fields':view_field, 'state':[('end','Ok')]}, - #~ }, - #~ } -#To keep or not? to be discussed... - - #~ 'init': { - #~ 'actions': [], - #~ 'result': {'type':'form', 'arch':form_check, 'fields':fields_check, 'state':[('end','Cancel'),('do','Do Test')]} - #~ }, _columns = { -# 'general_info': fields.text('General Info', readonly="1",), -# 'detail' : fields.text('Detail', readonly="0",), - 'verbose_detail' : fields.one2many('quality.check.detail', 'quality_check', 'Verbose Detail', readonly="0",) + 'name': fields.char('Rated Module', size=64, ), + 'final_score': fields.char('Final Score', size=10,), + 'test_ids' : fields.one2many('quality.check.detail', 'quality_check_id', 'Test Details',) } - _defaults = { -# 'general_info': _check, -# 'detail': _check_detail - 'verbose_detail': _check, - } - wiz_quality_check() -class quality_check_detail(osv.osv_memory): + +class quality_check_detail(osv.osv): _name = 'quality.check.detail' - _rec_name = 'quality_check' _columns = { - 'quality_check': fields.many2one('wizard.quality.check', 'Quality'), - 'general_info': fields.text('General Info', readonly="1",), - 'detail' : fields.text('Detail', readonly="1",), + 'quality_check_id': fields.many2one('wizard.quality.check', 'Quality'), + 'name': fields.char('Name',size=128,), + 'score': fields.float('Score',), + 'ponderation': fields.float('Ponderation',), + 'summary': fields.text('Summary',), + 'detail' : fields.text('Details',), } quality_check_detail() + +class create_quality_check(wizard.interface): + + def _create_quality_check(self, cr, uid, data, context={}): + pool = pooler.get_pool(cr.dbname) + if data['id']: + module_data = pool.get('ir.module.module').browse(cr, uid, [data['id']])[0] + #list_folders = os.listdir(config['addons_path']+'/base_module_quality/') + abstract_obj = base_module_quality.abstract_quality_check() + score_sum = 0.0 + ponderation_sum = 0.0 + create_ids = [] + for test in abstract_obj.tests: + ad = tools.config['addons_path'] + if module_data.name == 'base': + ad = tools.config['root_path']+'/addons' + module_path = os.path.join(ad, module_data.name) + val = test.quality_test() + + if not val.bool_installed_only or module_data.state=="installed": + val.run_test(cr, uid, str(module_path)) + data = { + 'name': val.name, + 'score': val.score, + 'ponderation': val.ponderation, + 'summary': val.result, + 'detail': val.result_details, + } + create_ids.append((0,0,data)) + score_sum += val.score * val.ponderation + ponderation_sum += val.ponderation + else: + data = { + 'name': val.name, + 'score': 0, + 'summary': _("The module has to be installed before running this test.") + } + create_ids.append((0,0,data)) + + final_score = str(score_sum / ponderation_sum * 100) + "%" + data = { + 'name': module_data.name, + 'final_score': final_score, + 'test_ids' : create_ids, + } + obj = pool.get('wizard.quality.check').create(cr, uid, data, context) + return obj + + def _open_quality_check(self, cr, uid, data, context): + obj_id = self._create_quality_check(cr, uid, data, context) + return { + 'domain': "[('id','=', "+ str(obj_id)+")]", + 'name': _('Quality Check'), + 'view_type': 'form', + 'view_mode': 'tree,form', + 'res_model': 'wizard.quality.check', + 'type': 'ir.actions.act_window' + } + + states = { + 'init' : { + 'actions' : [], + 'result': {'type':'action', 'action':_open_quality_check, 'state':'end'} + } + } + +create_quality_check("create_quality_check_wiz") + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From 6d1312b7394d16cacc32e61c53c244b5816d60c1 Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Mon, 5 Jan 2009 19:55:20 +0100 Subject: [PATCH 11/68] [REF] Clean the old code bzr revid: stephane@tinyerp.com-20090105185520-ctkecsx6dagy3jkk --- bin/netsvc.py | 176 ++++++++++++++----------------------------------- bin/osv/osv.py | 1 - 2 files changed, 49 insertions(+), 128 deletions(-) diff --git a/bin/netsvc.py b/bin/netsvc.py index 7f966987859..d9b0f6e400e 100644 --- a/bin/netsvc.py +++ b/bin/netsvc.py @@ -38,81 +38,22 @@ import time import xmlrpclib import release -_service = {} -_group = {} -_res_id = 1 -_res = {} - -class ServiceEndPointCall(object): - def __init__(self, id, method): - self._id = id - self._meth = method - - def __call__(self, *args): - _res[self._id] = self._meth(*args) - return self._id - - -class ServiceEndPoint(object): - def __init__(self, name, id): - self._id = id - self._meth = {} - s = _service[name] - for m in s._method: - self._meth[m] = s._method[m] - - def __getattr__(self, name): - return ServiceEndPointCall(self._id, self._meth[name]) - +SERVICES = {} +GROUPS = {} class Service(object): - _serviceEndPointID = 0 - def __init__(self, name, audience=''): - _service[name] = self + SERVICES[name] = self self.__name = name - self._method = {} - self.exportedMethods = None - self._response_process = None - self._response_process_id = None + self._methods = {} self._response = None def joinGroup(self, name): - if not name in _group: - _group[name] = {} - _group[name][self.__name] = self + GROUPS.setdefault(name, {})[self.__name] = self - def exportMethod(self, m): - if callable(m): - self._method[m.__name__] = m - - def serviceEndPoint(self, s): - if Service._serviceEndPointID >= 2**16: - Service._serviceEndPointID = 0 - Service._serviceEndPointID += 1 - return ServiceEndPoint(s, self._serviceEndPointID) - - def conversationId(self): - return 1 - - def processResponse(self, s, id): - self._response_process, self._response_process_id = s, id - - def processFailure(self, s, id): - pass - - def resumeResponse(self, s): - pass - - def cancelResponse(self, s): - pass - - def suspendResponse(self, s): - if self._response_process: - self._response_process(self._response_process_id, - _res[self._response_process_id]) - self._response_process = None - self._response = s(self._response_process_id) + def exportMethod(self, method): + if callable(method): + self._methods[method.__name__] = method def abortResponse(self, error, description, origin, details): if not tools.config['debug_mode']: @@ -120,24 +61,19 @@ class Service(object): else: raise - def currentFailure(self, s): - pass - - class LocalService(Service): def __init__(self, name): self.__name = name try: - s = _service[name] - self._service = s - for m in s._method: - setattr(self, m, s._method[m]) + self._service = SERVICES[name] + for method_name, method_definition in self._service._methods.items(): + setattr(self, method_name, method_definition) except KeyError, keyError: Logger().notifyChannel('module', LOG_ERROR, 'This service does not exists: %s' % (str(keyError),) ) raise def service_exist(name): - return _service.get(name, False) + return SERVICES.get(name, False) LOG_NOTSET = 'notset' LOG_DEBUG_RPC = 'debug_rpc' @@ -268,26 +204,30 @@ class xmlrpc(object): def __init__(self, name): self.name = name -class GenericXMLRPCRequestHandler: +class OpenERPDispatcherException(Exception): + def __init__(self, exception, traceback): + self.exception = exception + self.traceback = traceback + +class OpenERPDispatcher: def log(self, title, msg): from pprint import pformat - Logger().notifyChannel('XMLRPC-%s' % title, LOG_DEBUG_RPC, pformat(msg)) + Logger().notifyChannel('%s' % title, LOG_DEBUG_RPC, pformat(msg)) - def _dispatch(self, method, params): + def dispatch(self, service_name, method, params): try: + self.log('service', service_name) self.log('method', method) self.log('params', params) - n = self.path.split("/")[-1] - s = LocalService(n) - m = getattr(s, method) - s._service._response = None - r = m(*params) - self.log('result', r) - res = s._service._response - if res is not None: - r = res - self.log('res',r) - return r + service = LocalService(service_name) + method_call = getattr(service, method) + service._service.response = None + result = method_call(*params) + response = service._service._response + if response is not None: + result = response + self.log('result', result) + return result except Exception, e: self.log('exception', e) tb = sys.exc_info() @@ -295,7 +235,15 @@ class GenericXMLRPCRequestHandler: if tools.config['debug_mode']: import pdb pdb.post_mortem(tb[2]) - raise xmlrpclib.Fault(str(e), tb_s) + raise OpenERPDispatcherException(e, tb_s) + +class GenericXMLRPCRequestHandler(OpenERPDispatcher): + def _dispatch(self, method, params): + try: + service_name = self.path.split("/")[-1] + return self.dispatch(service_name, method, params) + except OpenERPDispatcherException, e: + raise xmlrpclib.Fault(str(e.exception), e.traceback) class SSLSocket(object): def __init__(self, socket): @@ -315,7 +263,7 @@ class SSLSocket(object): return getattr(self.socket, name) class SimpleXMLRPCRequestHandler(GenericXMLRPCRequestHandler, SimpleXMLRPCServer.SimpleXMLRPCRequestHandler): - rpc_paths = map(lambda s: '/xmlrpc/%s' % s, _service) + rpc_paths = map(lambda s: '/xmlrpc/%s' % s, SERVICES.keys()) class SecureXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): def setup(self): @@ -348,11 +296,10 @@ class HttpDaemon(threading.Thread): from OpenSSL.SSL import Error as SSLError else: class SSLError(Exception): pass - - try: + try: self.server = server_class((interface, port), handler_class, 0) except SSLError, e: - Logger().notifyChannel('xml-rpc-ssl', LOG_CRITICAL, "Can't load the certificate and/or the private key files") + Logger().notifyChannel('xml-rpc-ssl', LOG_CRITICAL, "Can not load the certificate and/or the private key files") sys.exit(1) except Exception, e: Logger().notifyChannel('xml-rpc', LOG_CRITICAL, "Error occur when strarting the server daemon: %s" % (e,)) @@ -385,19 +332,13 @@ class HttpDaemon(threading.Thread): #signal.alarm(0) # Disable the alarm import tiny_socket -class TinySocketClientThread(threading.Thread): +class TinySocketClientThread(threading.Thread, OpenERPDispatcher): def __init__(self, sock, threads): threading.Thread.__init__(self) self.sock = sock self.threads = threads - self._logger = Logger() - - def log(self, msg): - from pprint import pformat - self._logger.notifyChannel('NETRPC', LOG_DEBUG_RPC, pformat(msg)) def run(self): - import time import select self.running = True try: @@ -414,27 +355,12 @@ class TinySocketClientThread(threading.Thread): self.threads.remove(self) return False try: - self.log(msg) - service = LocalService(msg[0]) - method = getattr(service, msg[1]) - service._service._response = None - result_from_method = method(*msg[2:]) - res = service._service._response - if res != None: - result_from_method = res - self.log(result_from_method) - ts.mysend(result_from_method) - except Exception, e: - self.log(e) - tb = sys.exc_info() - tb_s = "".join(traceback.format_exception(*tb)) - if tools.config['debug_mode']: - import pdb - pdb.post_mortem(tb[2]) - e = Exception(tools.ustr(e)) # avoid problems of pickeling - ts.mysend(e, exception=True, traceback=tb_s) - except: - pass + result = self.dispatch(msg[0], msg[1], msg[2:]) + ts.mysend(result) + except OpenERPDispatcherException, e: + new_e = Exception(tools.ustr(e.exception)) # avoid problems of pickeling + ts.mysend(new_e, exception=True, traceback=e.traceback) + self.sock.close() self.threads.remove(self) return True @@ -481,8 +407,4 @@ class TinySocketServerThread(threading.Thread): except: return False - - - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/bin/osv/osv.py b/bin/osv/osv.py index 8d3ba929f69..5c08a5ee636 100644 --- a/bin/osv/osv.py +++ b/bin/osv/osv.py @@ -87,7 +87,6 @@ class osv_pool(netsvc.Service): self._init_parent = {} netsvc.Service.__init__(self, 'object_proxy', audience='') self.joinGroup('web-services') - self.exportMethod(self.exportedMethods) self.exportMethod(self.obj_list) self.exportMethod(self.exec_workflow) self.exportMethod(self.execute) From 7fdf5188af68dda4e81f82cb348e1c5cdb30797e Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Mon, 5 Jan 2009 20:14:56 +0100 Subject: [PATCH 12/68] [REF] Cleanup bzr revid: stephane@tinyerp.com-20090105191456-26c6brzxqbjvfb7o --- bin/netsvc.py | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/bin/netsvc.py b/bin/netsvc.py index d9b0f6e400e..7fdd5aa0a39 100644 --- a/bin/netsvc.py +++ b/bin/netsvc.py @@ -46,7 +46,6 @@ class Service(object): SERVICES[name] = self self.__name = name self._methods = {} - self._response = None def joinGroup(self, name): GROUPS.setdefault(name, {})[self.__name] = self @@ -71,6 +70,8 @@ class LocalService(Service): except KeyError, keyError: Logger().notifyChannel('module', LOG_ERROR, 'This service does not exists: %s' % (str(keyError),) ) raise + def __call__(self, method, *params): + return getattr(self, method)(*params) def service_exist(name): return SERVICES.get(name, False) @@ -219,13 +220,7 @@ class OpenERPDispatcher: self.log('service', service_name) self.log('method', method) self.log('params', params) - service = LocalService(service_name) - method_call = getattr(service, method) - service._service.response = None - result = method_call(*params) - response = service._service._response - if response is not None: - result = response + result = LocalService(service_name)(method, *params) self.log('result', result) return result except Exception, e: From c5923d87f2b087e54b759c920cdbea041e8ab3ba Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Mon, 5 Jan 2009 22:02:40 +0100 Subject: [PATCH 13/68] [IMP] Use cStringIO bzr revid: stephane@tinyerp.com-20090105210240-nkg2vm08dwhz2xtq --- bin/addons/__init__.py | 4 ++-- .../base/module/wizard/wizard_export_lang.py | 4 ++-- .../base/module/wizard/wizard_module_import.py | 4 ++-- .../module/wizard/wizard_update_translations.py | 4 ++-- bin/report/custom.py | 11 ++++++----- bin/report/print_xml.py | 5 +++-- bin/report/render/rml2html/rml2html.py | 4 ++-- bin/report/render/rml2pdf/trml2pdf.py | 16 ++++++++-------- bin/report/render/simple.py | 2 +- bin/report/report_sxw.py | 4 ++-- bin/service/web_services.py | 2 +- bin/tools/convert.py | 9 ++++++--- bin/tools/misc.py | 4 ++-- 13 files changed, 39 insertions(+), 34 deletions(-) diff --git a/bin/addons/__init__.py b/bin/addons/__init__.py index 4ab55d6a6bc..9a43513f0d5 100644 --- a/bin/addons/__init__.py +++ b/bin/addons/__init__.py @@ -41,7 +41,7 @@ import release import re import base64 from zipfile import PyZipFile, ZIP_DEFLATED -import StringIO +import cStringIO logger = netsvc.Logger() @@ -198,7 +198,7 @@ def get_module_as_zip(modulename, b64enc=True, src=True): if os.path.isfile(ap + '.zip'): val = file(ap + '.zip', 'rb').read() else: - archname = StringIO.StringIO('wb') + archname = cStringIO.StringIO('wb') archive = PyZipFile(archname, "w", ZIP_DEFLATED) archive.writepy(ap) _zippy(archive, ap, src=src) diff --git a/bin/addons/base/module/wizard/wizard_export_lang.py b/bin/addons/base/module/wizard/wizard_export_lang.py index 718464a5c76..e4ed0523b92 100644 --- a/bin/addons/base/module/wizard/wizard_export_lang.py +++ b/bin/addons/base/module/wizard/wizard_export_lang.py @@ -23,7 +23,7 @@ import wizard import tools import base64 -import StringIO +import cStringIO import csv import pooler from osv import fields,osv @@ -49,7 +49,7 @@ class wizard_export_lang(osv.osv_memory): this = self.browse(cr, uid, ids)[0] mods = map(lambda m: m.name, this.modules) or ['all'] mods.sort() - buf=StringIO.StringIO() + buf=cStringIO.StringIO() tools.trans_export(this.lang, mods, buf, this.format, dbname=cr.dbname) if this.format == 'csv': this.advice = _("Save this document to a .CSV file and open it with your favourite spreadsheet software. The file encoding is UTF-8. You have to translate the latest column before reimporting it.") diff --git a/bin/addons/base/module/wizard/wizard_module_import.py b/bin/addons/base/module/wizard/wizard_module_import.py index c166761b275..e686fa856e2 100644 --- a/bin/addons/base/module/wizard/wizard_module_import.py +++ b/bin/addons/base/module/wizard/wizard_module_import.py @@ -28,7 +28,7 @@ import os import tools import zipfile -import StringIO +import cStringIO import base64 finish_form =''' @@ -55,7 +55,7 @@ class move_module_wizard(wizard.interface): module_data = data['form']['module_file'] val =base64.decodestring(module_data) - fp = StringIO.StringIO(val) + fp = cStringIO.StringIO(val) fdata = zipfile.ZipFile(fp, 'r') fname = fdata.namelist()[0] module_name = os.path.split(fname)[0] diff --git a/bin/addons/base/module/wizard/wizard_update_translations.py b/bin/addons/base/module/wizard/wizard_update_translations.py index e2a8512a8b3..d12ca6f6981 100644 --- a/bin/addons/base/module/wizard/wizard_update_translations.py +++ b/bin/addons/base/module/wizard/wizard_update_translations.py @@ -23,7 +23,7 @@ from osv import osv, fields import tools import pooler -import StringIO +import cStringIO class update_translations(osv.osv_memory): def _get_languages(self, cr, uid, context): @@ -45,7 +45,7 @@ class update_translations(osv.osv_memory): def act_update(self, cr, uid, ids, context=None): this = self.browse(cr, uid, ids)[0] lang_name = self._get_lang_name(cr, uid, this.lang) - buf=StringIO.StringIO() + buf=cStringIO.StringIO() tools.trans_export(this.lang, ['all'], buf, 'csv', dbname=cr.dbname) tools.trans_load_data(cr.dbname, buf, 'csv', this.lang, lang_name=lang_name) buf.close() diff --git a/bin/report/custom.py b/bin/report/custom.py index 80889255962..0823457ddce 100644 --- a/bin/report/custom.py +++ b/bin/report/custom.py @@ -20,7 +20,8 @@ # ############################################################################## -import os, time +import os +import time import netsvc import tools @@ -37,7 +38,7 @@ import libxml2 import libxslt from pychart import * import misc -import StringIO +import cStringIO class external_pdf(render.render): def __init__(self, pdf): @@ -358,7 +359,7 @@ class report_custom(report_int): def _create_lines(self, cr, uid, ids, report, fields, results, context): service = netsvc.LocalService("object_proxy") - pdf_string = StringIO.StringIO() + pdf_string = cStringIO.StringIO() can = canvas.init(fname=pdf_string, format='pdf') can.show(80,380,'/16/H'+report['title']) @@ -461,7 +462,7 @@ class report_custom(report_int): def _create_bars(self, cr, uid, ids, report, fields, results, context): service = netsvc.LocalService("object_proxy") - pdf_string = StringIO.StringIO() + pdf_string = cStringIO.StringIO() can = canvas.init(fname=pdf_string, format='pdf') can.show(80,380,'/16/H'+report['title']) @@ -558,7 +559,7 @@ class report_custom(report_int): return True def _create_pie(self, cr, uid, ids, report, fields, results, context): - pdf_string = StringIO.StringIO() + pdf_string = cStringIO.StringIO() can = canvas.init(fname=pdf_string, format='pdf') ar = area.T(size=(350,350), legend=legend.T(), x_grid_style = None, y_grid_style = None) diff --git a/bin/report/print_xml.py b/bin/report/print_xml.py index 8ed5dd18012..972beb7252e 100644 --- a/bin/report/print_xml.py +++ b/bin/report/print_xml.py @@ -162,9 +162,10 @@ class document(object): fname = str(datas['datas_fname']) ext = fname.split('.')[-1].lower() if ext in ('jpg','jpeg', 'png'): - import base64, StringIO + import base64 + import cStringIO dt = base64.decodestring(datas['datas']) - fp = StringIO.StringIO(dt) + fp = cStringIO.StringIO(dt) i = str(len(self.bin_datas)) self.bin_datas[i] = fp diff --git a/bin/report/render/rml2html/rml2html.py b/bin/report/render/rml2html/rml2html.py index c5321b0f2e5..5d005cc45a6 100644 --- a/bin/report/render/rml2html/rml2html.py +++ b/bin/report/render/rml2html/rml2html.py @@ -37,7 +37,7 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA import sys -import StringIO +import cStringIO import xml.dom.minidom import copy @@ -365,7 +365,7 @@ def parseString(data, fout=None): fp.close() return fout else: - fp = StringIO.StringIO() + fp = cStringIO.StringIO() r.render(fp) return fp.getvalue() diff --git a/bin/report/render/rml2pdf/trml2pdf.py b/bin/report/render/rml2pdf/trml2pdf.py index 92aba87f372..ddd014b7bfa 100644 --- a/bin/report/render/rml2pdf/trml2pdf.py +++ b/bin/report/render/rml2pdf/trml2pdf.py @@ -40,7 +40,7 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA import sys -import StringIO +import cStringIO import xml.dom.minidom import copy @@ -355,22 +355,22 @@ class _rml_canvas(object): if node.hasAttribute('name'): image_data = self.images[node.getAttribute('name')] - s = StringIO.StringIO(image_data) + s = cStringIO.StringIO(image_data) else: import base64 image_data = base64.decodestring(node.firstChild.nodeValue) if not image_data: return False - s = StringIO.StringIO(image_data) + s = cStringIO.StringIO(image_data) else: if node.getAttribute('file') in self.images: - s = StringIO.StringIO(self.images[node.getAttribute('file')]) + s = cStringIO.StringIO(self.images[node.getAttribute('file')]) else: try: u = urllib.urlopen(str(node.getAttribute('file'))) - s = StringIO.StringIO(u.read()) + s = cStringIO.StringIO(u.read()) except: u = file(os.path.join(self.path,str(node.getAttribute('file'))), 'rb') - s = StringIO.StringIO(u.read()) + s = cStringIO.StringIO(u.read()) img = ImageReader(s) (sx,sy) = img.getSize() @@ -639,7 +639,7 @@ class _rml_flowable(object): else: import base64 image_data = base64.decodestring(node.firstChild.nodeValue) - image = StringIO.StringIO(image_data) + image = cStringIO.StringIO(image_data) return platypus.Image(image, mask=(250,255,250,255,250,255), **(utils.attr_get(node, ['width','height']))) else: return platypus.Image(node.getAttribute('file'), mask=(250,255,250,255,250,255), **(utils.attr_get(node, ['width','height']))) @@ -794,7 +794,7 @@ def parseString(data, fout=None, images={}, path='.',title=None): fp.close() return fout else: - fp = StringIO.StringIO() + fp = cStringIO.StringIO() r.render(fp) return fp.getvalue() diff --git a/bin/report/render/simple.py b/bin/report/render/simple.py index 6b52c49b718..72f27e147d8 100644 --- a/bin/report/render/simple.py +++ b/bin/report/render/simple.py @@ -22,7 +22,7 @@ import render -from StringIO import StringIO +from cStringIO import StringIO import xml.dom.minidom from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Table diff --git a/bin/report/report_sxw.py b/bin/report/report_sxw.py index c4f10212b5a..e202a9a275b 100644 --- a/bin/report/report_sxw.py +++ b/bin/report/report_sxw.py @@ -21,7 +21,7 @@ ############################################################################## from interface import report_rml -import StringIO +import cStringIO import base64 import copy import ir @@ -618,7 +618,7 @@ class report_sxw(report_rml): if report_type in ['sxw','odt'] and report_xml: context['parents'] = sxw_parents - sxw_io = StringIO.StringIO(report_xml.report_sxw_content) + sxw_io = cStringIO.StringIO(report_xml.report_sxw_content) sxw_z = zipfile.ZipFile(sxw_io, mode='r') rml = sxw_z.read('content.xml') meta = sxw_z.read('meta.xml') diff --git a/bin/service/web_services.py b/bin/service/web_services.py index b97e8a81fa7..dfcf7272d63 100644 --- a/bin/service/web_services.py +++ b/bin/service/web_services.py @@ -105,7 +105,7 @@ class db(netsvc.Service): except Exception, e: serv.actions[id]['clean'] = False serv.actions[id]['exception'] = e - from StringIO import StringIO + from cStringIO import StringIO import traceback e_str = StringIO() traceback.print_exc(file=e_str) diff --git a/bin/tools/convert.py b/bin/tools/convert.py index 089316e9797..7c4ad731b5c 100644 --- a/bin/tools/convert.py +++ b/bin/tools/convert.py @@ -20,8 +20,11 @@ # ############################################################################## import re -import StringIO,xml.dom.minidom -import osv,ir,pooler +import cStringIO +import xml.dom.minidom +import osv +import ir +import pooler import csv import os.path @@ -804,7 +807,7 @@ def convert_csv_import(cr, module, fname, csvcontent, idref=None, mode='init', pool = pooler.get_pool(cr.dbname) - input = StringIO.StringIO(csvcontent) + input = cStringIO.StringIO(csvcontent) reader = csv.reader(input, quotechar='"', delimiter=',') fields = reader.next() fname_partial = "" diff --git a/bin/tools/misc.py b/bin/tools/misc.py index d27191616aa..1803de2ae9d 100644 --- a/bin/tools/misc.py +++ b/bin/tools/misc.py @@ -224,10 +224,10 @@ def file_open(name, mode="r", subdir='addons', pathinfo=False): else: zipname = tail if zipfile.is_zipfile(head+'.zip'): - import StringIO + import cStringIO zfile = zipfile.ZipFile(head+'.zip') try: - fo = StringIO.StringIO(zfile.read(os.path.join( + fo = cStringIO.StringIO(zfile.read(os.path.join( os.path.basename(head), zipname).replace( os.sep, '/'))) From 5a20219f9b04217dbc9f24e2bbe590718c12fabd Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Mon, 5 Jan 2009 22:17:46 +0100 Subject: [PATCH 14/68] [IMP] improve cache system [FIX] cache now take in account default parameters [IMP] new way to clear the cache [FIX] clearing the cache is now made by database bzr revid: christophe@tinyerp.com-20090105211746-o1fapuu319ozi7nv --- bin/addons/base/ir/ir_model.py | 6 +- bin/addons/base/ir/ir_rule.py | 14 ++- bin/addons/base/res/res_company.py | 21 ++-- bin/addons/base/res/res_user.py | 8 +- bin/sql_db.py | 2 +- bin/tools/misc.py | 158 ++++++++++++++++------------- 6 files changed, 112 insertions(+), 97 deletions(-) diff --git a/bin/addons/base/ir/ir_model.py b/bin/addons/base/ir/ir_model.py index b5b063c7657..e591c1a762e 100644 --- a/bin/addons/base/ir/ir_model.py +++ b/bin/addons/base/ir/ir_model.py @@ -376,18 +376,18 @@ class ir_model_access(osv.osv): def write(self, cr, uid, *args, **argv): self.call_cache_clearing_methods() res = super(ir_model_access, self).write(cr, uid, *args, **argv) - self.check() # clear the cache of check function + self.check.clear_cache(cr.dbname) # clear the cache of check function return res def create(self, cr, uid, *args, **argv): res = super(ir_model_access, self).create(cr, uid, *args, **argv) - self.check() + self.check.clear_cache(cr.dbname) # clear the cache of check function return res def unlink(self, cr, uid, *args, **argv): self.call_cache_clearing_methods() res = super(ir_model_access, self).unlink(cr, uid, *args, **argv) - self.check() + self.check.clear_cache(cr.dbname) # clear the cache of check function return res ir_model_access() diff --git a/bin/addons/base/ir/ir_rule.py b/bin/addons/base/ir/ir_rule.py index 6c508f83662..40b40033a62 100644 --- a/bin/addons/base/ir/ir_rule.py +++ b/bin/addons/base/ir/ir_rule.py @@ -46,21 +46,19 @@ class ir_rule_group(osv.osv): def unlink(self, cr, uid, ids, context=None): res = super(ir_rule_group, self).unlink(cr, uid, ids, context=context) # Restart the cache on the domain_get method of ir.rule - self.pool.get('ir.rule').domain_get() + self.pool.get('ir.rule').domain_get.clear_cache(cr.dbname) return res def create(self, cr, user, vals, context=None): res = super(ir_rule_group, self).create(cr, user, vals, context=context) # Restart the cache on the domain_get method of ir.rule - self.pool.get('ir.rule').domain_get() + self.pool.get('ir.rule').domain_get.clear_cache(cr.dbname) return res def write(self, cr, uid, ids, vals, context=None): - if not context: - context={} res = super(ir_rule_group, self).write(cr, uid, ids, vals, context=context) # Restart the cache on the domain_get method of ir.rule - self.pool.get('ir.rule').domain_get() + self.pool.get('ir.rule').domain_get.clear_cache(cr.dbname) return res ir_rule_group() @@ -213,13 +211,13 @@ class ir_rule(osv.osv): def unlink(self, cr, uid, ids, context=None): res = super(ir_rule, self).unlink(cr, uid, ids, context=context) # Restart the cache on the domain_get method of ir.rule - self.domain_get() + self.domain_get.clear_cache(cr.dbname) return res def create(self, cr, user, vals, context=None): res = super(ir_rule, self).create(cr, user, vals, context=context) # Restart the cache on the domain_get method of ir.rule - self.domain_get() + self.domain_get.clear_cache(cr.dbname) return res def write(self, cr, uid, ids, vals, context=None): @@ -227,7 +225,7 @@ class ir_rule(osv.osv): context={} res = super(ir_rule, self).write(cr, uid, ids, vals, context=context) # Restart the cache on the domain_get method - self.domain_get() + self.domain_get.clear_cache(cr.dbname) return res ir_rule() diff --git a/bin/addons/base/res/res_company.py b/bin/addons/base/res/res_company.py index 660005b0107..628a8f8eccf 100644 --- a/bin/addons/base/res/res_company.py +++ b/bin/addons/base/res/res_company.py @@ -68,24 +68,21 @@ class res_company(osv.osv): descendance = self._get_partner_descendance(cr, uid, child_id, descendance) return descendance - def __init__(self, *args, **argv): - return super(res_company, self).__init__(*args, **argv) - # # This function restart the cache on the _get_company_children method # - def cache_restart(self, uid=None): - self._get_company_children() + def cache_restart(self, cr): + self._get_company_children.clear_cache(cr.dbname) - def create(self, *args, **argv): - self.cache_restart() - return super(res_company, self).create(*args, **argv) + def create(self, cr, *args, **argv): + self.cache_restart(cr) + return super(res_company, self).create(cr, *args, **argv) - def write(self, *args, **argv): - self.cache_restart() + def write(self, cr, *args, **argv): + self.cache_restart(cr) # Restart the cache on the company_get method - self.pool.get('ir.rule').domain_get() - return super(res_company, self).write(*args, **argv) + self.pool.get('ir.rule').domain_get.clear_cache(cr.dbname) + return super(res_company, self).write(cr, *args, **argv) def _get_euro(self, cr, uid, context={}): try: diff --git a/bin/addons/base/res/res_user.py b/bin/addons/base/res/res_user.py index b9c9c1ba1c6..96ccfa52b7b 100644 --- a/bin/addons/base/res/res_user.py +++ b/bin/addons/base/res/res_user.py @@ -47,8 +47,8 @@ class groups(osv.osv): _('The name of the group can not start with "-"')) res = super(groups, self).write(cr, uid, ids, vals, context=context) # Restart the cache on the company_get method - self.pool.get('ir.rule').domain_get() - self.pool.get('ir.model.access').check() + self.pool.get('ir.rule').domain_get.clear_cache(cr.dbname) + self.pool.get('ir.model.access').check.clear_cache(cr.dbname) return res def create(self, cr, uid, vals, context=None): @@ -165,9 +165,9 @@ class users(osv.osv): if ok: uid = 1 res = super(users, self).write(cr, uid, ids, values, *args, **argv) - self.company_get() + self.company_get.clear_cache(cr.dbname) # Restart the cache on the company_get method - self.pool.get('ir.rule').domain_get() + self.pool.get('ir.rule').domain_get.clear_cache(cr.dbname) return res def unlink(self, cr, uid, ids): diff --git a/bin/sql_db.py b/bin/sql_db.py index 92c55c2ad9d..49094a438f8 100644 --- a/bin/sql_db.py +++ b/bin/sql_db.py @@ -228,7 +228,7 @@ def db_connect(db_name, serialize=0): def close_db(db_name): PoolManager.close(db_name) - tools.cache.clean_cache_for_db(db_name) + tools.cache.clean_caches_for_db(db_name) # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/bin/tools/misc.py b/bin/tools/misc.py index d27191616aa..6b366eec67f 100644 --- a/bin/tools/misc.py +++ b/bin/tools/misc.py @@ -549,26 +549,74 @@ class cache(object): self.multi = multi self.lasttime = time.time() self.cache = {} - + self.fun = None cache.__caches.append(self) - @classmethod - def clean_cache_for_db(cls, dbname): - def get_dbname_from_key(key): - for e in key: - if e[0] == 'dbname': - return e[1] - return None + + def _generate_keys(self, dbname, kwargs2): + """ + Generate keys depending of the arguments and the self.mutli value + """ + + def to_tuple(d): + i = d.items() + i.sort() + return tuple(i) - for cache in cls.__caches: - keys_to_del = [key for key in cache.cache if get_dbname_from_key(key) == dbname] - for key in keys_to_del: - del cache.cache[key] + if not self.multi: + key = (('dbname', dbname),) + to_tuple(kwargs2) + yield key, None + else: + multis = kwargs2[self.multi][:] + for id in multis: + kwargs2[self.multi] = [id] + key = (('dbname', dbname),) + to_tuple(kwargs2) + yield key, id + + def _unify_args(self, *args, **kwargs): + # Update named arguments with positional argument values (without self and cr) + kwargs2 = self.fun_default_values.copy() + kwargs2.update(kwargs) + kwargs2.update(dict(zip(self.fun_arg_names, args[self.skiparg-2:]))) + for k in kwargs2: + if isinstance(kwargs2[k], (list, dict, set)): + kwargs2[k] = tuple(kwargs2[k]) + elif not is_hashable(kwargs2[k]): + kwargs2[k] = repr(kwargs2[k]) + + return kwargs2 + + def clear(self, dbname, *args, **kwargs): + """clear the cache for database dbname + if *args and **kwargs are both empty, clear all the keys related to this database + """ + if not args and not kwargs: + keys_to_del = [key for key in self.cache if key[0][1] == dbname] + else: + kwargs2 = self._unify_args(*args, **kwargs) + keys_to_del = [key for key, _ in self._generate_keys(dbname, kwargs2) if key in self.cache] + + for key in keys_to_del: + del self.cache[key] + + @classmethod + def clean_caches_for_db(cls, dbname): + for c in cls.__caches: + c.clear(dbname) def __call__(self, fn): - arg_names = inspect.getargspec(fn)[0][self.skiparg:] + if self.fun is not None: + raise Exception("Can not use a cache instance on more than one function") + self.fun = fn - def cached_result(self2, cr=None, *args, **kwargs): + argspec = inspect.getargspec(fn) + self.fun_arg_names = argspec[0][self.skiparg:] + self.fun_default_values = {} + if argspec[3]: + self.fun_default_values = dict(zip(self.fun_arg_names[-len(argspec[3]):], argspec[3])) + debug(self.fun_default_values) + + def cached_result(self2, cr, *args, **kwargs): if time.time()-self.timeout > self.lasttime: self.lasttime = time.time() t = time.time()-self.timeout @@ -576,64 +624,36 @@ class cache(object): if self.cache[key][1] Date: Mon, 5 Jan 2009 22:21:01 +0100 Subject: [PATCH 15/68] [FIX] clear the cache when changing translations bzr revid: christophe@tinyerp.com-20090105212101-p0sp6exmw2jbldyk --- bin/addons/base/ir/ir_translation.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/bin/addons/base/ir/ir_translation.py b/bin/addons/base/ir/ir_translation.py index bc343797e76..20ead222b4a 100644 --- a/bin/addons/base/ir/ir_translation.py +++ b/bin/addons/base/ir/ir_translation.py @@ -98,6 +98,13 @@ class ir_translation(osv.osv): return translations def _set_ids(self, cr, uid, name, tt, lang, ids, value): + # clear the caches + tr = self._get_ids(cr, uid, name, tt, lang, ids) + for res_id in tr: + if tr[res_id]: + self._get_source.clear_cache(cr.dbname, uid, name, tt, lang, tr[res_id]) + self._get_source.clear_cache(cr.dbname, uid, name, tt, lang) + cr.execute('delete from ir_translation ' \ 'where lang=%s ' \ 'and type=%s ' \ From a2aa6d31df3946163d9e34ee3cbddde742790ee4 Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Tue, 6 Jan 2009 01:45:31 +0100 Subject: [PATCH 16/68] [REF] Use the netsvc.SERVICES instead of netsvc._service bzr revid: stephane@tinyerp.com-20090106004531-tj1cmvbev0em9egl --- addons/audittrail/audittrail.py | 2 +- addons/base_module_record/base_module_record.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/audittrail/audittrail.py b/addons/audittrail/audittrail.py index 767536e7a88..54e2d813681 100644 --- a/addons/audittrail/audittrail.py +++ b/addons/audittrail/audittrail.py @@ -341,7 +341,7 @@ def tmp_fct(fct_src): return res return execute -obj = netsvc._service['object'] +obj = netsvc.SERVICES['object'] obj.execute = tmp_fct(obj.execute) obj.exportMethod(obj.execute) diff --git a/addons/base_module_record/base_module_record.py b/addons/base_module_record/base_module_record.py index caba2756f20..fa9c8a6b51f 100644 --- a/addons/base_module_record/base_module_record.py +++ b/addons/base_module_record/base_module_record.py @@ -71,7 +71,7 @@ class base_module_record(osv.osv): self.recording_data = [] self.depends = {} if not installed: - obj = netsvc._service['object'] + obj = netsvc.SERVICES['object'] obj.execute = fnct_call(obj.execute) obj.exportMethod(obj.execute) obj.exec_workflow = fnct_call_workflow(obj.exec_workflow) From 59963a989961dac292fc72bb7ca560557557594a Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Tue, 6 Jan 2009 10:42:59 +0100 Subject: [PATCH 17/68] [FIX] Product By Category show name instead of complete_name lp bug: https://launchpad.net/bugs/314300 fixed bzr revid: christophe@tinyerp.com-20090106094259-rdm10cjtfhplqr5f --- addons/product/product_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/product/product_view.xml b/addons/product/product_view.xml index 1aacaa39691..eb18b1bddce 100644 --- a/addons/product/product_view.xml +++ b/addons/product/product_view.xml @@ -188,7 +188,7 @@ child_id - + From dc585533710d3db84dbc19ec377c977375652d30 Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Tue, 6 Jan 2009 10:44:10 +0100 Subject: [PATCH 18/68] [FIX] Use an exception instead of a string lp bug: https://launchpad.net/bugs/314292 fixed bzr revid: stephane@tinyerp.com-20090106094410-grcs9egk9349ozh3 --- addons/account/account_move_line.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py index 3bb49a94f7b..ee98934d91e 100644 --- a/addons/account/account_move_line.py +++ b/addons/account/account_move_line.py @@ -493,7 +493,7 @@ class account_move_line(osv.osv): merges_rec = [] for line in self.browse(cr, uid, ids, context): if line.reconcile_id: - raise _('Already Reconciled') + raise osv.except_osv(_('Already Reconciled'), _('Already Reconciled')) if line.reconcile_partial_id: for line2 in line.reconcile_partial_id.line_partial_ids: if not line2.reconcile_id: From 98526167691cc0e7931cab1136ca81e8ef954426 Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Tue, 6 Jan 2009 13:12:59 +0100 Subject: [PATCH 19/68] [IMP] Use the osv and wizard exceptions bzr revid: stephane@tinyerp.com-20090106121259-b9hh3t7lclxcta6s --- addons/account/wizard/wizard_bank_reconcile.py | 3 ++- addons/auction/wizard/wizard_aie_send.py | 2 +- addons/auction/wizard/wizard_aie_send_result.py | 3 ++- addons/base_module_merge/wizard/base_module_merge.py | 2 +- .../wizard/base_report_designer_modify.py | 2 +- addons/document/document.py | 6 +++--- addons/stock/stock.py | 2 +- 7 files changed, 11 insertions(+), 9 deletions(-) diff --git a/addons/account/wizard/wizard_bank_reconcile.py b/addons/account/wizard/wizard_bank_reconcile.py index 02e52cd2c65..e082fae88a6 100644 --- a/addons/account/wizard/wizard_bank_reconcile.py +++ b/addons/account/wizard/wizard_bank_reconcile.py @@ -37,7 +37,8 @@ def _action_open_window(self, cr, uid, data, context): cr.execute('select default_credit_account_id from account_journal where id=%s', (form['journal_id'],)) account_id = cr.fetchone()[0] if not account_id: - raise Exception, _('You have to define the bank account\nin the journal definition for reconciliation.') + raise wizard.except_wizard(_('Error'), _('You have to define the bank account\nin the + journal definition for reconciliation.')) return { 'domain': "[('journal_id','=',%d), ('account_id','=',%d), ('state','<>','draft')]" % (form['journal_id'],account_id), 'name': _('Standard Encoding'), diff --git a/addons/auction/wizard/wizard_aie_send.py b/addons/auction/wizard/wizard_aie_send.py index c9a4615f723..a261892e660 100644 --- a/addons/auction/wizard/wizard_aie_send.py +++ b/addons/auction/wizard/wizard_aie_send.py @@ -161,7 +161,7 @@ def _get_dates(self,cr,uid, datas,context={}): return (x.split(' - ')[0], (' - '.join(x.split(' - ')[1:]).decode('latin1','replace').encode('utf-8','replace'))) send_fields['dates']['selection'] = map(_date_decode, response.read().split('\n')) else: - raise "Connection to WWW.Auction-in-Europe.com failed !" + raise wizard.except_wizard(_('Error'), _("Connection to WWW.Auction-in-Europe.com failed !")) return {'objects':len(datas['ids'])} def _send(self,db_name,uid, datas,context={}): diff --git a/addons/auction/wizard/wizard_aie_send_result.py b/addons/auction/wizard/wizard_aie_send_result.py index 9e7955471d7..a1fc9dce280 100644 --- a/addons/auction/wizard/wizard_aie_send_result.py +++ b/addons/auction/wizard/wizard_aie_send_result.py @@ -103,7 +103,8 @@ def _get_dates(self,cr,uid, datas, context): return (x.split(' - ')[0], (' - '.join(x.split(' - ')[1:]).decode('latin1').encode('utf-8'))) send_fields['dates']['selection'] = map(_date_decode, response.read().split('\n')) else: - raise "Connection to WWW.Auction-in-Europe.com failed !" + raise wizard.except_wizard(_('Error'), + _("Connection to WWW.Auction-in-Europe.com failed !")) return {'objects':len(datas['ids'])} def _send(self,cr,uid, datas, context): diff --git a/addons/base_module_merge/wizard/base_module_merge.py b/addons/base_module_merge/wizard/base_module_merge.py index 4fe2db39ff9..e2c8bb3f107 100644 --- a/addons/base_module_merge/wizard/base_module_merge.py +++ b/addons/base_module_merge/wizard/base_module_merge.py @@ -193,7 +193,7 @@ class base_module_merge(wizard.interface): pool = pooler.get_pool(cr.dbname) dep_obj=pool.get('ir.module.module.dependency') if level<1: - raise Exception, 'Recursion error in modules dependencies !' + raise wizard.except_wizard(_('Error'), _('Recursion error in modules dependencies !')) for module in pool.get('ir.module.module').browse(cr, uid, ids): dep_ids = dep_obj.search(cr, uid, [('module_id', '=', module.id)]) if dep_ids: diff --git a/addons/base_report_designer/wizard/base_report_designer_modify.py b/addons/base_report_designer/wizard/base_report_designer_modify.py index a370a462b27..e15a0408ae7 100644 --- a/addons/base_report_designer/wizard/base_report_designer_modify.py +++ b/addons/base_report_designer/wizard/base_report_designer_modify.py @@ -160,7 +160,7 @@ class base_report_designer_modify(wizard.interface): try: return {'file_sxw': base64.encodestring(report.report_sxw_content)} except: - raise Exception, _('Report does not contain the sxw content!') + raise wizard.except_wizard(_('Error'), _('Report does not contain the sxw content!')) states = { 'init': { diff --git a/addons/document/document.py b/addons/document/document.py index 0b6c3dbbc2c..ccf49e1bf28 100644 --- a/addons/document/document.py +++ b/addons/document/document.py @@ -376,14 +376,14 @@ class document_directory(osv.osv): return True def write(self, cr, uid, ids, vals, context=None): if not self._check_duplication(cr,uid,vals,ids,op='write'): - raise except_orm('ValidateError', 'Directory name must be unique!') + raise osv.except_osv('ValidateError', _('Directory name must be unique!')) return super(document_directory,self).write(cr,uid,ids,vals,context=context) def create(self, cr, uid, vals, context=None): if not self._check_duplication(cr,uid,vals): - raise except_orm('ValidateError', 'Directory name must be unique!') + raise osv.except_osv('ValidateError', _('Directory name must be unique!')) if vals.get('name',False) and (vals.get('name').find('/')+1 or vals.get('name').find('@')+1 or vals.get('name').find('$')+1 or vals.get('name').find('#')+1) : - raise 'Error' + raise osv.except_osv('ValidateError', _('Directory name contains special characters!')) return super(document_directory,self).create(cr, uid, vals, context) document_directory() diff --git a/addons/stock/stock.py b/addons/stock/stock.py index 4853a0a6818..70526d58c6b 100644 --- a/addons/stock/stock.py +++ b/addons/stock/stock.py @@ -308,7 +308,7 @@ class stock_tracking(osv.osv): return res def unlink(self, cr ,uid, ids): - raise Exception, _('You can not remove a lot line !') + raise osv.except_osv(_('Error'), _('You can not remove a lot line !")) stock_tracking() #---------------------------------------------------------- From 271403417c32c2420affdbdddf48ef75dc495865 Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Tue, 6 Jan 2009 13:16:53 +0100 Subject: [PATCH 20/68] [FIX] Add the sys package bzr revid: stephane@tinyerp.com-20090106121653-q90ehhewmz0cmqb5 --- bin/service/web_services.py | 1 + 1 file changed, 1 insertion(+) diff --git a/bin/service/web_services.py b/bin/service/web_services.py index dfcf7272d63..8d0202667ff 100644 --- a/bin/service/web_services.py +++ b/bin/service/web_services.py @@ -28,6 +28,7 @@ import string import thread import threading import time +import sys from tools.translate import _ import addons From 1eefc2e1f46c737f58083f6b2e14d6593d242576 Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Tue, 6 Jan 2009 13:42:58 +0100 Subject: [PATCH 21/68] [FIX] bzr revid: stephane@tinyerp.com-20090106124258-p1ob4opvedf2vywt --- addons/account/wizard/wizard_bank_reconcile.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/account/wizard/wizard_bank_reconcile.py b/addons/account/wizard/wizard_bank_reconcile.py index e082fae88a6..9ac1053b125 100644 --- a/addons/account/wizard/wizard_bank_reconcile.py +++ b/addons/account/wizard/wizard_bank_reconcile.py @@ -37,8 +37,7 @@ def _action_open_window(self, cr, uid, data, context): cr.execute('select default_credit_account_id from account_journal where id=%s', (form['journal_id'],)) account_id = cr.fetchone()[0] if not account_id: - raise wizard.except_wizard(_('Error'), _('You have to define the bank account\nin the - journal definition for reconciliation.')) + raise wizard.except_wizard(_('Error'), _('You have to define the bank account\nin the journal definition for reconciliation.')) return { 'domain': "[('journal_id','=',%d), ('account_id','=',%d), ('state','<>','draft')]" % (form['journal_id'],account_id), 'name': _('Standard Encoding'), From 6405b7ffc3e33d3f41b9e4f60e6cb4aafef4fb27 Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Tue, 6 Jan 2009 13:44:51 +0100 Subject: [PATCH 22/68] [FIX] bzr revid: stephane@tinyerp.com-20090106124451-f0yvot5leuzkrry5 --- addons/stock/stock.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/stock/stock.py b/addons/stock/stock.py index 70526d58c6b..26b581c18e1 100644 --- a/addons/stock/stock.py +++ b/addons/stock/stock.py @@ -308,7 +308,7 @@ class stock_tracking(osv.osv): return res def unlink(self, cr ,uid, ids): - raise osv.except_osv(_('Error'), _('You can not remove a lot line !")) + raise osv.except_osv(_('Error'), _('You can not remove a lot line !')) stock_tracking() #---------------------------------------------------------- From 3378bd4d3a4d503d59d259ae7c1220f1547be7df Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Tue, 6 Jan 2009 14:02:10 +0100 Subject: [PATCH 23/68] project_timesheet: [FIX] handle the case when the task work has no summary [IMP] PEP8 lp bug: https://launchpad.net/bugs/314337 fixed bzr revid: christophe@tinyerp.com-20090106130210-yzjpfzyex6g8y224 --- addons/project_timesheet/project_timesheet.py | 64 +++++++++---------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/addons/project_timesheet/project_timesheet.py b/addons/project_timesheet/project_timesheet.py index 8ab64079caf..0472d77d4e5 100644 --- a/addons/project_timesheet/project_timesheet.py +++ b/addons/project_timesheet/project_timesheet.py @@ -31,11 +31,11 @@ class project_work(osv.osv): def create(self, cr, uid, vals, *args, **kwargs): obj = self.pool.get('hr.analytic.timesheet') - vals_line={} + vals_line = {} obj_task = self.pool.get('project.task').browse(cr, uid, vals['task_id']) emp_obj = self.pool.get('hr.employee') - emp_id = emp_obj.search(cr, uid, [('user_id', '=', vals.get('user_id',uid))]) + emp_id = emp_obj.search(cr, uid, [('user_id', '=', vals.get('user_id', uid))]) if not emp_id: raise osv.except_osv(_('Bad Configuration !'), @@ -55,49 +55,49 @@ class project_work(osv.osv): vals_line['general_account_id'] = a vals_line['journal_id'] = emp.journal_id.id - vals_line['name']=obj_task.name + ': ' + vals['name'] - vals_line['user_id']=vals['user_id'] - vals_line['date']=vals['date'][:10] - vals_line['unit_amount']=vals['hours'] - vals_line['account_id']=obj_task.project_id.category_id.id - vals_line['amount']=00.0 - timeline_id=obj.create(cr, uid,vals_line,{}) + vals_line['name'] = '%s: %s' % (obj_task.name, vals['name'] or '/') + vals_line['user_id'] = vals['user_id'] + vals_line['date'] = vals['date'][:10] + vals_line['unit_amount'] = vals['hours'] + vals_line['account_id'] = obj_task.project_id.category_id.id + vals_line['amount'] = 00.0 + timeline_id = obj.create(cr, uid, vals_line, {}) - vals_line['amount']=(-1) * vals['hours']*obj.browse(cr,uid,timeline_id).product_id.standard_price - obj.write(cr, uid,[timeline_id],vals_line,{}) - vals['hr_analytic_timesheet_id']=timeline_id + vals_line['amount'] = (-1) * vals['hours'] * obj.browse(cr, uid, timeline_id).product_id.standard_price + obj.write(cr, uid,[timeline_id], vals_line, {}) + vals['hr_analytic_timesheet_id'] = timeline_id return super(project_work,self).create(cr, uid, vals, *args, **kwargs) - def write(self, cr, uid, ids,vals,context={}): - vals_line={} + def write(self, cr, uid, ids, vals, context=None): + vals_line = {} - task=self.pool.get('project.task.work').browse(cr,uid,ids)[0] - line_id=task.hr_analytic_timesheet_id + task = self.pool.get('project.task.work').browse(cr, uid, ids)[0] + line_id = task.hr_analytic_timesheet_id # in case,if a record is deleted from timesheet,but we change it from tasks! - list_avail_ids=self.pool.get('hr.analytic.timesheet').search(cr,uid,[]) + list_avail_ids = self.pool.get('hr.analytic.timesheet').search(cr, uid, []) if line_id in list_avail_ids: obj = self.pool.get('hr.analytic.timesheet') if 'name' in vals: - vals_line['name']=task.name+': '+vals['name'] + vals_line['name'] = '%s: %s' % (task.name, vals['name'] or '/') if 'user_id' in vals: - vals_line['user_id']=vals['user_id'] + vals_line['user_id'] = vals['user_id'] if 'date' in vals: - vals_line['date']=vals['date'][:10] + vals_line['date'] = vals['date'][:10] if 'hours' in vals: - vals_line['unit_amount']=vals['hours'] - vals_line['amount']=(-1) * vals['hours'] * obj.browse(cr,uid,line_id).product_id.standard_price - obj.write(cr, uid,[line_id],vals_line,{}) + vals_line['unit_amount'] = vals['hours'] + vals_line['amount'] = (-1) * vals['hours'] * obj.browse(cr, uid, line_id).product_id.standard_price + obj.write(cr, uid, [line_id], vals_line, {}) - return super(project_work,self).write(cr, uid, ids,vals,context) + return super(project_work,self).write(cr, uid, ids, vals, context) def unlink(self, cr, uid, ids, *args, **kwargs): - timesheet_id=self.pool.get('project.task.work').browse(cr,uid,ids)[0].hr_analytic_timesheet_id + timesheet_id = self.pool.get('project.task.work').browse(cr, uid, ids)[0].hr_analytic_timesheet_id # delete entry from timesheet too while deleting entry to task. - list_avail_ids=self.pool.get('hr.analytic.timesheet').search(cr,uid,[]) + list_avail_ids = self.pool.get('hr.analytic.timesheet').search(cr, uid, []) if timesheet_id in list_avail_ids: - obj = self.pool.get('hr.analytic.timesheet').unlink(cr,uid,[timesheet_id],*args) + obj = self.pool.get('hr.analytic.timesheet').unlink(cr, uid, [timesheet_id], *args) - return super(project_work,self).unlink(cr, uid, ids,*args, **kwargs) + return super(project_work,self).unlink(cr, uid, ids, *args, **kwargs) _columns={ 'hr_analytic_timesheet_id':fields.integer('Related Timeline Id') @@ -111,10 +111,10 @@ class project_project(osv.osv): def name_get(self, cr, user, ids, context=None): result = [] for project in self.browse(cr, user, ids, context): - if project.category_id and project.category_id.code: - result.append((project.id, '['+(project.category_id.code or '')+'] '+project.name)) - else: - result.append((project.id, '[?] '+project.name)) + name = "[%s] %s" % (project.category_id and project.category_id.code or '?', project.name) + result.append((project.id, name)) return result project_project() +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: + From 5a4fce754f5f5faa3b64b515f37840bfbc8ef233 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Tue, 6 Jan 2009 14:31:53 +0100 Subject: [PATCH 24/68] [FIX] uncomment code for on_change callback on product_id in account_tax_include module [IMP] context *must* be None by default [IMP] membership/demo_data.xml is no more executable lp bug: https://launchpad.net/bugs/314343 fixed bzr revid: christophe@tinyerp.com-20090106133153-zl6mownzzloa14wl --- addons/account/invoice.py | 46 +++++++++++-------- .../account_tax_include/invoice_tax_incl.py | 38 ++++++++------- addons/membership/demo_data.xml | 0 3 files changed, 49 insertions(+), 35 deletions(-) mode change 100755 => 100644 addons/membership/demo_data.xml diff --git a/addons/account/invoice.py b/addons/account/invoice.py index d7762e3a503..64a1c31da64 100644 --- a/addons/account/invoice.py +++ b/addons/account/invoice.py @@ -31,7 +31,7 @@ from tools import config from tools.translate import _ class account_invoice(osv.osv): - def _amount_all(self, cr, uid, ids, name, args, context={}): + def _amount_all(self, cr, uid, ids, name, args, context=None): res = {} for invoice in self.browse(cr,uid,ids, context=context): res[invoice.id] = { @@ -47,6 +47,8 @@ class account_invoice(osv.osv): return res def _get_journal(self, cr, uid, context): + if context is None: + context = {} type_inv = context.get('type', 'out_invoice') type2journal = {'out_invoice': 'sale', 'in_invoice': 'purchase', 'out_refund': 'sale', 'in_refund': 'purchase'} journal_obj = self.pool.get('account.journal') @@ -63,7 +65,7 @@ class account_invoice(osv.osv): else: return pooler.get_pool(cr.dbname).get('res.currency').search(cr, uid, [('rate','=',1.0)])[0] - def _get_journal_analytic(self, cr, uid, type_inv, context={}): + def _get_journal_analytic(self, cr, uid, type_inv, context=None): type2journal = {'out_invoice': 'sale', 'in_invoice': 'purchase', 'out_refund': 'sale', 'in_refund': 'purchase'} tt = type2journal.get(type_inv, 'sale') result = self.pool.get('account.analytic.journal').search(cr, uid, [('type','=',tt)], context=context) @@ -71,7 +73,9 @@ class account_invoice(osv.osv): raise osv.except_osv(_('No Analytic Journal !'),_("You have to define an analytic journal of type '%s' !") % (tt,)) return result[0] - def _get_type(self, cr, uid, context={}): + def _get_type(self, cr, uid, context=None): + if context is None: + context = {} type = context.get('type', 'out_invoice') return type @@ -84,7 +88,7 @@ class account_invoice(osv.osv): def _get_reference_type(self, cr, uid, context=None): return [('none', _('Free Reference'))] - def _amount_residual(self, cr, uid, ids, name, args, context={}): + def _amount_residual(self, cr, uid, ids, name, args, context=None): res = {} data_inv = self.browse(cr, uid, ids) for inv in data_inv: @@ -113,19 +117,19 @@ class account_invoice(osv.osv): res[id]=[x for x in l if x <> line.id] return res - def _get_invoice_line(self, cr, uid, ids, context={}): + def _get_invoice_line(self, cr, uid, ids, context=None): result = {} for line in self.pool.get('account.invoice.line').browse(cr, uid, ids, context=context): result[line.invoice_id.id] = True return result.keys() - def _get_invoice_tax(self, cr, uid, ids, context={}): + def _get_invoice_tax(self, cr, uid, ids, context=None): result = {} for tax in self.pool.get('account.invoice.tax').browse(cr, uid, ids, context=context): result[tax.invoice_id.id] = True return result.keys() - def _compute_lines(self, cr, uid, ids, name, args, context={}): + def _compute_lines(self, cr, uid, ids, name, args, context=None): result = {} for invoice in self.browse(cr, uid, ids, context): moves = self.move_line_id_payment_get(cr, uid, [invoice.id]) @@ -373,7 +377,7 @@ class account_invoice(osv.osv): ok = ok and bool(cr.fetchone()[0]) return ok - def button_reset_taxes(self, cr, uid, ids, context={}): + def button_reset_taxes(self, cr, uid, ids, context=None): ait_obj = self.pool.get('account.invoice.tax') for id in ids: cr.execute("DELETE FROM account_invoice_tax WHERE invoice_id=%s", (id,)) @@ -381,7 +385,7 @@ class account_invoice(osv.osv): ait_obj.create(cr, uid, taxe) return True - def button_compute(self, cr, uid, ids, context={}, set_total=False): + def button_compute(self, cr, uid, ids, context=None, set_total=False): self.button_reset_taxes(cr, uid, ids, context) for inv in self.browse(cr, uid, ids): if set_total: @@ -626,7 +630,7 @@ class account_invoice(osv.osv): self._log_event(cr, uid, ids) return True - def line_get_convert(self, cr, uid, x, part, date, context={}): + def line_get_convert(self, cr, uid, x, part, date, context=None): return { 'date_maturity': x.get('date_maturity', False), 'partner_id':part, @@ -717,7 +721,7 @@ class account_invoice(osv.osv): self.pool.get('res.partner.event').create(cr, uid, {'name':'Invoice: '+name, 'som':False, 'description':name+' '+str(inv['id']), 'document':name, 'partner_id':part, 'date':time.strftime('%Y-%m-%d %H:%M:%S'), 'canal_id':False, 'user_id':uid, 'partner_type':partnertype, 'probability':1.0, 'planned_revenue':pr, 'planned_cost':pc, 'type':eventtype}) return len(invs) - def name_get(self, cr, uid, ids, context={}): + def name_get(self, cr, uid, ids, context=None): if not len(ids): return [] types = { @@ -731,7 +735,7 @@ class account_invoice(osv.osv): def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=80): if not args: args=[] - if not context: + if context is None: context={} ids = [] if name: @@ -809,7 +813,9 @@ class account_invoice(osv.osv): new_ids.append(self.create(cr, uid, invoice)) return new_ids - def pay_and_reconcile(self, cr, uid, ids, pay_amount, pay_account_id, period_id, pay_journal_id, writeoff_acc_id, writeoff_period_id, writeoff_journal_id, context={}, name=''): + def pay_and_reconcile(self, cr, uid, ids, pay_amount, pay_account_id, period_id, pay_journal_id, writeoff_acc_id, writeoff_period_id, writeoff_journal_id, context=None, name=''): + if context is None: + context = {} #TODO check if we can use different period for payment and the writeoff line assert len(ids)==1, "Can only pay one invoice at a time" invoice = self.browse(cr, uid, ids[0]) @@ -871,7 +877,9 @@ class account_invoice_line(osv.osv): res[line.id] = round(line.price_unit * line.quantity * (1-(line.discount or 0.0)/100.0),2) return res - def _price_unit_default(self, cr, uid, context={}): + def _price_unit_default(self, cr, uid, context=None): + if context is None: + context = {} if 'check_total' in context: t = context['check_total'] for l in context.get('invoice_line', {}): @@ -910,7 +918,7 @@ class account_invoice_line(osv.osv): 'price_unit': _price_unit_default, } - def product_id_change_unit_price_inv(self, cr, uid, tax_id, price_unit, qty, address_invoice_id, product, partner_id, context={}): + def product_id_change_unit_price_inv(self, cr, uid, tax_id, price_unit, qty, address_invoice_id, product, partner_id, context=None): tax_obj = self.pool.get('account.tax') if price_unit: taxes = tax_obj.browse(cr, uid, tax_id) @@ -918,7 +926,9 @@ class account_invoice_line(osv.osv): price_unit = price_unit - tax['amount'] return {'price_unit': price_unit,'invoice_line_tax_id': tax_id} - def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, price_unit=False, address_invoice_id=False, context={}): + def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, price_unit=False, address_invoice_id=False, context=None): + if context is None: + context = {} if not partner_id: raise osv.except_osv(_('No Partner Defined !'),_("You must first select a partner !") ) if not product: @@ -965,7 +975,7 @@ class account_invoice_line(osv.osv): domain = {'uos_id':[('category_id','=',res2 )]} return {'value':result, 'domain':domain} - def move_line_get(self, cr, uid, invoice_id, context={}): + def move_line_get(self, cr, uid, invoice_id, context=None): res = [] tax_grouped = {} tax_obj = self.pool.get('account.tax') @@ -1007,7 +1017,7 @@ class account_invoice_line(osv.osv): res[-1]['tax_amount'] = cur_obj.compute(cr, uid, inv.currency_id.id, company_currency, tax_amount, context={'date': inv.date_invoice}) return res - def move_line_get_item(self, cr, uid, line, context={}): + def move_line_get_item(self, cr, uid, line, context=None): return { 'type':'src', 'name': line.name[:64], diff --git a/addons/account_tax_include/invoice_tax_incl.py b/addons/account_tax_include/invoice_tax_incl.py index 1b76b9a17da..cb5345dcb39 100644 --- a/addons/account_tax_include/invoice_tax_incl.py +++ b/addons/account_tax_include/invoice_tax_incl.py @@ -40,7 +40,7 @@ account_invoice() class account_invoice_line(osv.osv): _inherit = "account.invoice.line" - def _amount_line2(self, cr, uid, ids, name, args, context={}): + def _amount_line2(self, cr, uid, ids, name, args, context=None): """ Return the subtotal excluding taxes with respect to price_type. """ @@ -87,7 +87,9 @@ class account_invoice_line(osv.osv): res[line.id]['price_subtotal_incl']= round(res[line.id]['price_subtotal_incl'], 2) return res - def _price_unit_default(self, cr, uid, context={}): + def _price_unit_default(self, cr, uid, context=None): + if context is None: + context = {} if 'check_total' in context: t = context['check_total'] if context.get('price_type', False) == 'tax_included': @@ -116,7 +118,7 @@ class account_invoice_line(osv.osv): 'price_unit': _price_unit_default, } - def move_line_get_item(self, cr, uid, line, context={}): + def move_line_get_item(self, cr, uid, line, context=None): return { 'type':'src', 'name':line.name, @@ -129,28 +131,30 @@ class account_invoice_line(osv.osv): 'account_analytic_id':line.account_analytic_id.id, } -# TODO: check why ? -# -# def product_id_change_unit_price_inv(self, cr, uid, tax_id, price_unit, qty, address_invoice_id, product, partner_id, context={}): -# if context.get('price_type', False) == 'tax_included': -# return {'price_unit': price_unit,'invoice_line_tax_id': tax_id} -# else: -# return super(account_invoice_line, self).product_id_change_unit_price_inv(cr, uid, tax_id, price_unit, qty, address_invoice_id, product, partner_id, context=context) -# -# def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, price_unit=False, address_invoice_id=False, price_type='tax_excluded', context={}): -# context.update({'price_type': price_type}) -# return super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, price_unit, address_invoice_id, context=context) + def product_id_change_unit_price_inv(self, cr, uid, tax_id, price_unit, qty, address_invoice_id, product, partner_id, context=None): + if context is None: + context = {} + # if the tax is already included, just return the value without calculations + if context.get('price_type', False) == 'tax_included': + return {'price_unit': price_unit,'invoice_line_tax_id': tax_id} + else: + return super(account_invoice_line, self).product_id_change_unit_price_inv(cr, uid, tax_id, price_unit, qty, address_invoice_id, product, partner_id, context=context) + + def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, price_unit=False, address_invoice_id=False, price_type='tax_excluded', context=None): + # note: will call product_id_change_unit_price_inv with context... + if context is None: + context = {} + context.update({'price_type': price_type}) + return super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, price_unit, address_invoice_id, context=context) account_invoice_line() class account_invoice_tax(osv.osv): _inherit = "account.invoice.tax" - def compute(self, cr, uid, invoice_id, context={}): + def compute(self, cr, uid, invoice_id, context=None): inv = self.pool.get('account.invoice').browse(cr, uid, invoice_id) line_ids = map(lambda x: x.id, inv.invoice_line) - - tax_grouped = {} tax_obj = self.pool.get('account.tax') cur_obj = self.pool.get('res.currency') diff --git a/addons/membership/demo_data.xml b/addons/membership/demo_data.xml old mode 100755 new mode 100644 From acdff83c9b082f4c305b58492eb4a5e4d27194fb Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Tue, 6 Jan 2009 15:36:21 +0100 Subject: [PATCH 25/68] [IMP] Add the certificat notion for the modules bzr revid: stephane@tinyerp.com-20090106143621-dobpok2qm0jiooec --- bin/addons/base/module/module.py | 31 +++++++++++++++++++++++--- bin/addons/base/module/module_view.xml | 1 + 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/bin/addons/base/module/module.py b/bin/addons/base/module/module.py index ce9e7683e16..69dd7408a59 100644 --- a/bin/addons/base/module/module.py +++ b/bin/addons/base/module/module.py @@ -176,6 +176,7 @@ class module(osv.osv): 'menus_by_module': fields.function(_get_views, method=True, string='Menus', type='text', multi="meta", store=True), 'reports_by_module': fields.function(_get_views, method=True, string='Reports', type='text', multi="meta", store=True), 'views_by_module': fields.function(_get_views, method=True, string='Views', type='text', multi="meta", store=True), + 'certificat' : fields.char('Certificat', size=64, readonly=True), } _defaults = { @@ -186,7 +187,29 @@ class module(osv.osv): _order = 'name' _sql_constraints = [ - ('name_uniq', 'unique (name)', 'The name of the module must be unique !') + ('name_uniq', 'unique (name)', 'The name of the module must be unique !'), + ('certificat_uniq', 'unique (certificat)', 'The certificat ID of the module must be unique !') + ] + + def _check_certificat(self, cr, uid, ids): + if not ids: + return True + + logger = netsvc.Logger() + for mod in self.browse(cr, uid, ids): + if not mod.certificat: + logger.notifyChannel('', netsvc.LOG_WARNING, 'module %s: no certificat' % mod.name) + else: + try: + val = long(mod.certificat) % 97 == 29 + if not val: + raise Exception('Invalid Certificat') + except Exception, ex: + return False + return True + + _constraints = [ + (_check_certificat, "Your certificat is wrong !", ['certificat']), ] def unlink(self, cr, uid, ids, context=None): @@ -309,6 +332,7 @@ class module(osv.osv): 'author': terp.get('author', 'Unknown'), 'website': terp.get('website', ''), 'license': terp.get('license', 'GPL-2'), + 'certificat': terp.get('certificat', ''), }) cr.execute('DELETE FROM ir_module_module_dependency WHERE module_id = %s', (id,)) self._update_dependencies(cr, uid, ids[0], terp.get('depends', [])) @@ -328,6 +352,7 @@ class module(osv.osv): 'author': terp.get('author', 'Unknown'), 'website': terp.get('website', ''), 'license': terp.get('license', 'GPL-2'), + 'certificat': terp.get('certificat', ''), }) res[1] += 1 self._update_dependencies(cr, uid, id, terp.get('depends', [])) @@ -408,6 +433,7 @@ class module(osv.osv): 'author': terp.get('author', 'Unknown'), 'website': terp.get('website', ''), 'license': terp.get('license', 'GPL-2'), + 'certificat': terp.get('certificat', ''), }) cr.execute('DELETE FROM ir_module_module_dependency ' \ 'WHERE module_id = %s', (mod.id,)) @@ -484,8 +510,7 @@ class module(osv.osv): for mod in self.browse(cr, uid, [module_id]): logger.notifyChannel("init", netsvc.LOG_WARNING, 'module %s: description is empty !' % (mod.name)) - return module_id - + return module_id module() diff --git a/bin/addons/base/module/module_view.xml b/bin/addons/base/module/module_view.xml index 0373a729d74..74d3f86e7ef 100644 --- a/bin/addons/base/module/module_view.xml +++ b/bin/addons/base/module/module_view.xml @@ -64,6 +64,7 @@
+ From aeed55dc8f438e7f942bf1642c8ece9b34e26d7f Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Tue, 6 Jan 2009 16:55:37 +0100 Subject: [PATCH 26/68] [REF] Clean the terp file bzr revid: stephane@tinyerp.com-20090106155537-hfkua3ut22qyf67h --- bin/addons/base/__terp__.py | 85 ++++++++++++++++++------------------- 1 file changed, 42 insertions(+), 43 deletions(-) diff --git a/bin/addons/base/__terp__.py b/bin/addons/base/__terp__.py index 438edd23e46..d357db94ede 100644 --- a/bin/addons/base/__terp__.py +++ b/bin/addons/base/__terp__.py @@ -19,50 +19,49 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Base", - "version" : "1.1", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "category" : "Generic Modules/Base", - "description": "The kernel of OpenERP, needed for all installation.", - "depends" : [], - "init_xml" : [ - "base_data.xml", - "base_menu.xml", - "security/base_security.xml", - "res/res_security.xml", - "maintenance/maintenance_security.xml", + 'name': 'Base', + 'version': '1.1', + 'category': 'Generic Modules/Base', + 'description': """The kernel of OpenERP, needed for all installation.""", + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': [], + 'init_xml': [ + 'base_data.xml', + 'base_menu.xml', + 'security/base_security.xml', + 'res/res_security.xml', + 'maintenance/maintenance_security.xml' ], - "demo_xml" : [ - "base_demo.xml", - "res/partner/partner_demo.xml", - "res/partner/crm_demo.xml", + 'update_xml': [ + 'base_update.xml', + 'ir/wizard/wizard_menu_view.xml', + 'ir/ir.xml', + 'ir/workflow/workflow_view.xml', + 'module/module_wizard.xml', + 'module/module_view.xml', + 'module/module_data.xml', + 'module/module_report.xml', + 'res/res_request_view.xml', + 'res/res_lang_view.xml', + 'res/partner/partner_report.xml', + 'res/partner/partner_view.xml', + 'res/partner/partner_wizard.xml', + 'res/bank_view.xml', + 'res/country_view.xml', + 'res/res_currency_view.xml', + 'res/partner/crm_view.xml', + 'res/partner/partner_data.xml', + 'res/ir_property_view.xml', + 'security/base_security.xml', + 'maintenance/maintenance_view.xml', + 'security/ir.model.access.csv' ], - "update_xml" : [ - "base_update.xml", - "ir/wizard/wizard_menu_view.xml", - "ir/ir.xml", - "ir/workflow/workflow_view.xml", - "module/module_wizard.xml", - "module/module_view.xml", - "module/module_data.xml", - "module/module_report.xml", - "res/res_request_view.xml", - "res/res_lang_view.xml", - "res/partner/partner_report.xml", - "res/partner/partner_view.xml", - "res/partner/partner_wizard.xml", - "res/bank_view.xml", - "res/country_view.xml", - "res/res_currency_view.xml", - "res/partner/crm_view.xml", - "res/partner/partner_data.xml", - "res/ir_property_view.xml", - "security/base_security.xml", - "maintenance/maintenance_view.xml", - "security/ir.model.access.csv", - ], - "active": True, - "installable": True, + 'demo_xml': ['base_demo.xml', 'res/partner/partner_demo.xml', 'res/partner/crm_demo.xml'], + 'installable': True, + 'active': True, } +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From bf57ba6da0565d6d273115c1575c763e2f751a1a Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Tue, 6 Jan 2009 16:56:11 +0100 Subject: [PATCH 27/68] [REF] Clean the terp files bzr revid: stephane@tinyerp.com-20090106155611-hkr4o9jktdidn3e7 --- addons/account/__terp__.py | 79 +++++++++---------- addons/account_analytic_analysis/__terp__.py | 35 ++++---- addons/account_analytic_default/__terp__.py | 29 ++++--- addons/account_analytic_plans/__terp__.py | 36 ++++----- addons/account_balance/__terp__.py | 31 ++++---- addons/account_budget/__terp__.py | 34 ++++---- addons/account_chart/__terp__.py | 31 +++----- addons/account_date_check/__terp__.py | 29 ++++--- addons/account_followup/__terp__.py | 37 +++++---- addons/account_invoice_layout/__terp__.py | 33 ++++---- addons/account_payment/__terp__.py | 43 +++++----- addons/account_report/__terp__.py | 39 +++++---- addons/account_reporting/__terp__.py | 36 ++++----- addons/account_tax_include/__terp__.py | 28 +++---- addons/account_voucher/__terp__.py | 41 +++++----- .../analytic_journal_billing_rate/__terp__.py | 30 ++++--- addons/analytic_user_function/__terp__.py | 30 ++++--- addons/auction/__terp__.py | 38 +++++---- addons/audittrail/__terp__.py | 34 ++++---- addons/base_contact/__terp__.py | 33 ++++---- addons/base_iban/__terp__.py | 24 +++--- addons/base_module_merge/__terp__.py | 25 +++--- addons/base_module_publish/__terp__.py | 26 +++--- addons/base_module_quality/__terp__.py | 23 +++--- addons/base_module_record/__terp__.py | 28 +++---- addons/base_report_creator/__terp__.py | 33 ++++---- addons/base_report_designer/__terp__.py | 27 ++++--- addons/base_setup/__terp__.py | 35 ++++---- addons/base_vat/__terp__.py | 22 +++--- addons/board/__terp__.py | 26 +++--- addons/board_account/__terp__.py | 40 +++++----- addons/board_association/__terp__.py | 23 +++--- addons/board_auction/__terp__.py | 32 +++----- addons/board_crm_configuration/__terp__.py | 25 +++--- addons/board_document/__terp__.py | 23 +++--- addons/board_manufacturing/__terp__.py | 31 +++----- addons/board_project/__terp__.py | 40 +++++----- addons/board_sale/__terp__.py | 24 +++--- addons/crm/__terp__.py | 38 ++++----- addons/crm_configuration/__terp__.py | 78 ++++++------------ addons/crm_profiling/__terp__.py | 32 ++++---- addons/crm_vertical/__terp__.py | 29 +++---- addons/custom/__terp__.py | 26 +++--- addons/delivery/__terp__.py | 34 ++++---- addons/document/__terp__.py | 38 ++++----- addons/document_ics/__terp__.py | 32 ++++---- addons/event/__terp__.py | 37 +++++---- addons/event_project/__terp__.py | 30 +++---- addons/google_map/__terp__.py | 27 ++++--- addons/hr/__terp__.py | 43 +++++----- addons/hr_attendance/__terp__.py | 33 ++++---- addons/hr_contract/__terp__.py | 35 ++++---- addons/hr_expense/__terp__.py | 40 +++++----- addons/hr_holidays/__terp__.py | 40 +++++----- addons/hr_timesheet/__terp__.py | 38 ++++----- addons/hr_timesheet_invoice/__terp__.py | 32 ++++---- addons/hr_timesheet_project/__terp__.py | 26 +++--- addons/hr_timesheet_sheet/__terp__.py | 36 ++++----- addons/idea/__terp__.py | 34 ++++---- addons/l10n_be/__terp__.py | 28 +++---- addons/l10n_chart_uk_minimal/__terp__.py | 32 ++++---- addons/l10n_fr/__terp__.py | 33 ++++---- addons/l10n_lu/__terp__.py | 37 +++++---- addons/membership/__terp__.py | 41 +++++----- addons/mrp/__terp__.py | 50 ++++++------ addons/mrp_jit/__terp__.py | 23 +++--- addons/mrp_operations/__terp__.py | 35 ++++---- addons/mrp_repair/__terp__.py | 40 +++++----- addons/mrp_subproduct/__terp__.py | 31 ++++---- addons/point_of_sale/__terp__.py | 38 ++++----- addons/process/__terp__.py | 31 ++++---- addons/product/__terp__.py | 44 ++++++----- addons/product_margin/__terp__.py | 23 +++--- addons/profile_accounting/__terp__.py | 27 +++---- addons/profile_association/__terp__.py | 30 ++++--- addons/profile_auction/__terp__.py | 23 +++--- addons/profile_crm/__terp__.py | 25 +++--- addons/profile_manufacturing/__terp__.py | 27 +++---- addons/profile_service/__terp__.py | 36 ++++----- addons/project/__terp__.py | 42 +++++----- addons/project_gtd/__terp__.py | 30 +++---- addons/project_mrp/__terp__.py | 29 ++++--- addons/project_retro_planning/__terp__.py | 27 +++---- addons/project_timesheet/__terp__.py | 27 ++++--- addons/purchase/__terp__.py | 52 ++++++------ addons/purchase_analytic_plans/__terp__.py | 29 ++++--- addons/report_account/__terp__.py | 31 ++++---- addons/report_analytic/__terp__.py | 31 ++++---- addons/report_analytic_line/__terp__.py | 32 ++++---- addons/report_analytic_planning/__terp__.py | 36 ++++----- addons/report_crm/__terp__.py | 31 ++++---- addons/report_document/__terp__.py | 30 ++++--- addons/report_intrastat/__terp__.py | 34 ++++---- addons/report_mrp/__terp__.py | 29 +++---- addons/report_project/__terp__.py | 31 ++++---- addons/report_purchase/__terp__.py | 33 ++++---- addons/report_sale/__terp__.py | 34 ++++---- addons/report_task/__terp__.py | 28 +++---- addons/report_timesheet/__terp__.py | 32 ++++---- addons/sale/__terp__.py | 52 ++++++------ addons/sale_analytic_plans/__terp__.py | 29 ++++--- addons/sale_crm/__terp__.py | 31 ++++---- addons/sale_journal/__terp__.py | 37 ++++----- addons/scrum/__terp__.py | 36 ++++----- addons/stock/__terp__.py | 56 ++++++------- addons/stock_invoice_directly/__terp__.py | 27 ++++--- addons/stock_location/__terp__.py | 28 +++---- addons/stock_no_autopicking/__terp__.py | 23 +++--- addons/subscription/__terp__.py | 28 +++---- addons/warning/__terp__.py | 25 +++--- addons/wiki/__terp__.py | 39 ++++----- 111 files changed, 1785 insertions(+), 1919 deletions(-) diff --git a/addons/account/__terp__.py b/addons/account/__terp__.py index 29514311192..bfff1d942c5 100644 --- a/addons/account/__terp__.py +++ b/addons/account/__terp__.py @@ -19,12 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Accounting and financial management", - "version" : "1.0", - "depends" : ["product", "base", "process"], - "author" : "Tiny", - "description": """Financial and accounting module that covers: + 'name': 'Accounting and financial management', + 'version': '1.0', + 'category': 'Generic Modules/Accounting', + 'description': """Financial and accounting module that covers: General accounting Cost / Analytic accounting Third party accounting @@ -33,43 +34,39 @@ Customer and Supplier Invoices Bank statements """, - "website" : "http://www.openerp.com", - "category" : "Generic Modules/Accounting", - "init_xml" : [ + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['product', 'base', 'process'], + 'init_xml': [], + 'update_xml': [ + 'security/account_security.xml', + 'security/ir.model.access.csv', + 'account_menuitem.xml', + 'account_wizard.xml', + 'account_view.xml', + 'account_end_fy.xml', + 'account_invoice_view.xml', + 'account_report.xml', + 'partner_view.xml', + 'data/account_invoice.xml', + 'data/account_data2.xml', + 'account_invoice_workflow.xml', + 'project/project_view.xml', + 'project/project_report.xml', + 'product_view.xml', + 'account_assert_test.xml', + 'process/statement_process.xml', + 'process/customer_invoice_process.xml', + 'process/supplier_invoice_process.xml' ], - "demo_xml" : [ - "account_demo.xml", - "project/project_demo.xml", - "project/analytic_account_demo.xml", - "demo/account_minimal.xml", - "account_unit_test.xml", + 'demo_xml': [ + 'account_demo.xml', + 'project/project_demo.xml', + 'project/analytic_account_demo.xml', + 'demo/account_minimal.xml', + 'account_unit_test.xml' ], - "update_xml" : [ - "security/account_security.xml", - "security/ir.model.access.csv", - "account_menuitem.xml", - "account_wizard.xml", - "account_view.xml", - "account_end_fy.xml", - "account_invoice_view.xml", - "account_report.xml", - "partner_view.xml", - "data/account_invoice.xml", - "data/account_data2.xml", - "account_invoice_workflow.xml", - "project/project_view.xml", - "project/project_report.xml", - "product_view.xml", - "account_assert_test.xml", - "process/statement_process.xml", - "process/customer_invoice_process.xml", - "process/supplier_invoice_process.xml", - ], - "translations" : { - "fr": "i18n/french_fr.csv" - }, - "active": False, - "installable": True + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_analytic_analysis/__terp__.py b/addons/account_analytic_analysis/__terp__.py index 28a2aeec8b5..bbf973a77fc 100644 --- a/addons/account_analytic_analysis/__terp__.py +++ b/addons/account_analytic_analysis/__terp__.py @@ -19,27 +19,26 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "report_account_analytic", - "description": """Modify account analytic view to show + 'name': 'report_account_analytic', + 'version': '1.0', + 'category': 'Generic Modules/Accounting', + 'description': """Modify account analytic view to show important data for project manager of services companies. Add menu to show relevant information for each manager.""", - "version" : "1.0", - "author" : "Camptocamp", - "category" : "Generic Modules/Accounting", - "module": "", - "website": "http://www.camptocamp.com/", - "depends" : ["account","hr_timesheet","hr_timesheet_invoice","project"], - "init_xml" : [], - "update_xml" : [ - "security/ir.model.access.csv", - "account_analytic_analysis_view.xml", - "account_analytic_analysis_menu.xml", + 'author': 'Camptocamp', + 'website': 'http://www.camptocamp.com/', + 'depends': ['account', 'hr_timesheet', 'hr_timesheet_invoice', 'project'], + 'init_xml': [], + 'update_xml': [ + 'security/ir.model.access.csv', + 'account_analytic_analysis_view.xml', + 'account_analytic_analysis_menu.xml' ], - "demo_xml" : [], - "active": False, - "installable": True + 'demo_xml': [], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/account_analytic_default/__terp__.py b/addons/account_analytic_default/__terp__.py index d8d7b908ed9..6d98cfd7546 100644 --- a/addons/account_analytic_default/__terp__.py +++ b/addons/account_analytic_default/__terp__.py @@ -19,13 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Account Analytic Default", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "category" : "Generic Modules/Accounting", - "description": """ + 'name': 'Account Analytic Default', + 'version': '1.0', + 'category': 'Generic Modules/Accounting', + 'description': """ Allows to automatically select analytic accounts based on criterions: * Product * Partner @@ -33,14 +33,13 @@ Allows to automatically select analytic accounts based on criterions: * Company * Date """, - "depends" : ['account'], - "init_xml" : [], - "demo_xml" : [], - "update_xml" : [ - "security/ir.model.access.csv", - "account_analytic_default_view.xml"], - "active": False, - "installable": True + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['account'], + 'init_xml': [], + 'update_xml': ['security/ir.model.access.csv', 'account_analytic_default_view.xml'], + 'demo_xml': [], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/account_analytic_plans/__terp__.py b/addons/account_analytic_plans/__terp__.py index e1274107e00..edfcafbb137 100644 --- a/addons/account_analytic_plans/__terp__.py +++ b/addons/account_analytic_plans/__terp__.py @@ -19,12 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Multiple-plans management in Analytic Accounting", - "version" : "1.0", - "depends" : ["account", "account_analytic_default"], - "author" : "Tiny", - "description": """This module allows to use several analytic plans, according to the general journal, + 'name': 'Multiple-plans management in Analytic Accounting', + 'version': '1.0', + 'category': 'Generic Modules/Accounting', + 'description': """This module allows to use several analytic plans, according to the general journal, so that multiple analytic lines are created when the invoice or the entries are confirmed. @@ -52,19 +53,18 @@ Plan2: So when this line of invoice will be confirmed, it will generate 3 analytic lines, for one account entry. """, - "website" : "http://www.openerp.com", - "category" : "Generic Modules/Accounting", - "init_xml" : [ + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['account', 'account_analytic_default'], + 'init_xml': [], + 'update_xml': [ + 'security/ir.model.access.csv', + 'model_wizard.xml', + 'account_analytic_plans_view.xml', + 'account_analytic_plans_report.xml' ], - "demo_xml" : [ - ], - "update_xml" : [ - "security/ir.model.access.csv", - "model_wizard.xml","account_analytic_plans_view.xml", - "account_analytic_plans_report.xml"], - - "active": False, - "installable": True + 'demo_xml': [], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/account_balance/__terp__.py b/addons/account_balance/__terp__.py index 11a7e7dc1d2..6f141c7c8e8 100644 --- a/addons/account_balance/__terp__.py +++ b/addons/account_balance/__terp__.py @@ -19,12 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Accounting and financial management-Compare Accounts", - "version" : "1.1", - "depends" : ["account"], - "author" : "Tiny", - "description": """Account Balance Module is an added functionality to the Financial Management module. + 'name': 'Accounting and financial management-Compare Accounts', + 'version': '1.1', + 'category': 'Generic Modules/Accounting', + 'description': """Account Balance Module is an added functionality to the Financial Management module. This module gives you the various options for printing balance sheet. @@ -38,17 +39,13 @@ 5. You have an option to print the desired report in Landscape format. """, - "website" : "http://www.openerp.com", - "category" : "Generic Modules/Accounting", - "init_xml" : [ - ], - "demo_xml" : [], - "update_xml" : ["account_report.xml","account_wizard.xml",], -# "translations" : { -# "fr": "i18n/french_fr.csv" -# }, - "active": False, - "installable": True + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['account'], + 'init_xml': [], + 'update_xml': ['account_report.xml', 'account_wizard.xml'], + 'demo_xml': [], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/account_budget/__terp__.py b/addons/account_budget/__terp__.py index 5bb24c1b24a..9557d09d942 100644 --- a/addons/account_budget/__terp__.py +++ b/addons/account_budget/__terp__.py @@ -19,13 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Budget Management", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "category" : "Generic Modules/Accounting", - "description": """This module allows accountants to manage analytic and crossovered budgets. + 'name': 'Budget Management', + 'version': '1.0', + 'category': 'Generic Modules/Accounting', + 'description': """This module allows accountants to manage analytic and crossovered budgets. Once the Master Budgets and the Budgets defined (in Financial Management/Budgets/), the Project Managers can set the planned amount on each @@ -44,15 +44,19 @@ Three reports are available: 3. The last one is available from the Analytic Chart of Accounts. It gives the spreading, for the selected Analytic Accounts, of the Master Budgets per Budgets. """, - "depends" : ["account"], - "init_xml" : [], - "demo_xml" : ["crossovered_budget_demo.xml"], - "update_xml" : [ - "security/ir.model.access.csv","account_budget_wizard.xml", - "crossovered_budget_view.xml","crossovered_budget_report.xml","crossovered_budget_workflow.xml" + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['account'], + 'init_xml': [], + 'update_xml': [ + 'security/ir.model.access.csv', + 'account_budget_wizard.xml', + 'crossovered_budget_view.xml', + 'crossovered_budget_report.xml', + 'crossovered_budget_workflow.xml' ], - "active": False, - "installable": True + 'demo_xml': ['crossovered_budget_demo.xml'], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/account_chart/__terp__.py b/addons/account_chart/__terp__.py index b87b690e475..5e0a7e4d0b3 100644 --- a/addons/account_chart/__terp__.py +++ b/addons/account_chart/__terp__.py @@ -19,24 +19,19 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Charts of Accounts", - "version" : "1.1", - "depends" : ["account"], - "author" : "Tiny", - "description": """Remove minimal account chart""", - "website" : "http://www.openerp.com", - "category" : "Generic Modules/Accounting", - "init_xml" : [ - ], - "demo_xml" : [ - ], - "update_xml" : [ -# Must be loaded by each modules -# "account_chart.xml", - ], - "installable": True + 'name': 'Charts of Accounts', + 'version': '1.1', + 'category': 'Generic Modules/Accounting', + 'description': """Remove minimal account chart""", + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['account'], + 'init_xml': [], + 'update_xml': [], + 'demo_xml': [], + 'installable': True, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/account_date_check/__terp__.py b/addons/account_date_check/__terp__.py index 5773993fe7b..251d6b778df 100644 --- a/addons/account_date_check/__terp__.py +++ b/addons/account_date_check/__terp__.py @@ -19,16 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Account Date check", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "depends" : ["account"], - "category" : "Generic Modules/Accounting", - "init_xml" : [], - "demo_xml" : [], - "description": """ + 'name': 'Account Date check', + 'version': '1.0', + 'category': 'Generic Modules/Accounting', + 'description': """ * Adds a field on journals: "Allows date not in the period" * By default, this field is checked. @@ -37,11 +34,13 @@ period when you create an account entry. Otherwise, it generates an error message: "The date of your account move is not in the defined period !" """, - "update_xml" : [ - "account_date_check_view.xml", - ], - "active": False, - "installable": True + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['account'], + 'init_xml': [], + 'update_xml': ['account_date_check_view.xml'], + 'demo_xml': [], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/account_followup/__terp__.py b/addons/account_followup/__terp__.py index faf5e6f1dd9..93c05b920fa 100644 --- a/addons/account_followup/__terp__.py +++ b/addons/account_followup/__terp__.py @@ -19,12 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Accounting follow-ups management", - "version" : "1.0", - "depends" : ["account"], - "author" : "Tiny", - "description": """ + 'name': 'Accounting follow-ups management', + 'version': '1.0', + 'category': 'Generic Modules/Accounting', + 'description': """ Modules to automate letters for unpaid invoices, with multi-level recalls. You can define your multiple levels of recall through the menu: @@ -37,20 +38,18 @@ It will generate a PDF with all the letters according the the different levels of recall defined. You can define different policies for different companies.""", - "website" : "http://www.openerp.com", - "category" : "Generic Modules/Accounting", - "init_xml" : [], - "demo_xml" : ["followup_demo.xml"], - "update_xml" : [ - "security/ir.model.access.csv", - "wizard/wizard_view.xml", - "followup_view.xml", - "followup_report_view.xml", + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['account'], + 'init_xml': [], + 'update_xml': [ + 'security/ir.model.access.csv', + 'wizard/wizard_view.xml', + 'followup_view.xml', + 'followup_report_view.xml' ], - "active": False, - "installable": True + 'demo_xml': ['followup_demo.xml'], + 'installable': True, + 'active': False, } - - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/account_invoice_layout/__terp__.py b/addons/account_invoice_layout/__terp__.py index 03c85f76f66..5526e750df0 100644 --- a/addons/account_invoice_layout/__terp__.py +++ b/addons/account_invoice_layout/__terp__.py @@ -19,12 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "account_invoice_layout", - "version" : "1.0", - "depends" : ["base", "account"], - "author" : "Tiny", - "description": """ + 'name': 'account_invoice_layout', + 'version': '1.0', + 'category': 'Generic Modules/Projects & Services', + 'description': """ This module provides some features to improve the layout of the invoices. It gives you the possibility to @@ -35,17 +36,17 @@ Moreover, there is one option which allow you to print all the selected invoices with a given special message at the bottom of it. This feature can be very useful for printing your invoices with end-of-year wishes, special punctual conditions... """, - "website" : "http://www.openerp.com", - "category" : "Generic Modules/Projects & Services", - "init_xml" : [], - "demo_xml" : [], - "update_xml" : [ - "security/ir.model.access.csv", - "account_invoice_layout_view.xml", - "account_invoice_layout_report.xml", + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['base', 'account'], + 'init_xml': [], + 'update_xml': [ + 'security/ir.model.access.csv', + 'account_invoice_layout_view.xml', + 'account_invoice_layout_report.xml' ], - "active": False, - "installable": True + 'demo_xml': [], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/account_payment/__terp__.py b/addons/account_payment/__terp__.py index 50f8c4dea74..37c39c704ac 100644 --- a/addons/account_payment/__terp__.py +++ b/addons/account_payment/__terp__.py @@ -19,33 +19,32 @@ # along with this program. If not, see . # ############################################################################## + + { - "name": "Payment Management", - "version": "1.0", - "author": "Tiny", - "category": "Generic Modules/Payment", - "depends": ["account"], - "init_xml": [], - "description": """ + 'name': 'Payment Management', + 'version': '1.0', + 'category': 'Generic Modules/Payment', + 'description': """ This module provide : * a more efficient way to manage invoice payment. * a basic mechanism to easily plug various automated payment. """, - "demo_xml": [], - "update_xml": [ - "security/account_payment_security.xml", - "security/ir.model.access.csv", - "payment_wizard.xml", - "payment_view.xml", - "payment_workflow.xml", - "payment_sequence.xml", - "account_invoice_view.xml", - "payment_report.xml", + 'author': 'Tiny', + 'depends': ['account'], + 'init_xml': [], + 'update_xml': [ + 'security/account_payment_security.xml', + 'security/ir.model.access.csv', + 'payment_wizard.xml', + 'payment_view.xml', + 'payment_workflow.xml', + 'payment_sequence.xml', + 'account_invoice_view.xml', + 'payment_report.xml' ], - "active": False, - "installable": True + 'demo_xml': [], + 'installable': True, + 'active': False, } - - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/account_report/__terp__.py b/addons/account_report/__terp__.py index ad8e36fe955..a3130f2d6da 100644 --- a/addons/account_report/__terp__.py +++ b/addons/account_report/__terp__.py @@ -19,31 +19,28 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Reporting for accounting", - "version" : "1.0", - "depends" : ["account"], - "author" : "Tiny", - "description": """Financial and accounting reporting + 'name': 'Reporting for accounting', + 'version': '1.0', + 'category': 'Generic Modules/Accounting', + 'description': """Financial and accounting reporting Fiscal statements Indicators """, - "website" : "http://www.openerp.com", - "category" : "Generic Modules/Accounting", - "init_xml" : [ ], - "demo_xml" : [ ], - "update_xml" : [ - "security/ir.model.access.csv", - "account_view.xml", - "account_report.xml", - "account_wizard.xml", + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['account'], + 'init_xml': [], + 'update_xml': [ + 'security/ir.model.access.csv', + 'account_view.xml', + 'account_report.xml', + 'account_wizard.xml' ], -# "translations" : { -# "fr": "i18n/french_fr.csv" -# }, - "active": False, - "installable": True + 'demo_xml': [], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/account_reporting/__terp__.py b/addons/account_reporting/__terp__.py index a5863cbaaf4..c716357d198 100644 --- a/addons/account_reporting/__terp__.py +++ b/addons/account_reporting/__terp__.py @@ -19,27 +19,25 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Reporting of Balancesheet for accounting", - "version" : "1.0", - "depends" : ["account"], - "author" : "Tiny", - "description": """Financial and accounting reporting + 'name': 'Reporting of Balancesheet for accounting', + 'version': '1.0', + 'category': 'Generic Modules/Accounting', + 'description': """Financial and accounting reporting Balance Sheet Report""", - "category" : "Generic Modules/Accounting", - "init_xml" : [ ], - "demo_xml" : [ ], - "update_xml" : [ - "security/ir.model.access.csv", - "account_view.xml", - "account_report.xml", - "account_data.xml", + 'author': 'Tiny', + 'depends': ['account'], + 'init_xml': [], + 'update_xml': [ + 'security/ir.model.access.csv', + 'account_view.xml', + 'account_report.xml', + 'account_data.xml' ], -# "translations" : { -# "fr": "i18n/french_fr.csv" -# }, - "active": False, - "installable": True + 'demo_xml': [], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/account_tax_include/__terp__.py b/addons/account_tax_include/__terp__.py index f889777b3a3..5ae18ce8acd 100644 --- a/addons/account_tax_include/__terp__.py +++ b/addons/account_tax_include/__terp__.py @@ -19,24 +19,24 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Invoices and prices with taxes included", - "version" : "1.0", - "depends" : ["account"], - "author" : "Tiny", - "description": """Allow the user to work tax included prices. + 'name': 'Invoices and prices with taxes included', + 'version': '1.0', + 'category': 'Generic Modules/Accounting', + 'description': """Allow the user to work tax included prices. Especially useful for b2c businesses. This module implement the modification on the invoice form. """, - "website" : "http://www.openerp.com", - "category" : "Generic Modules/Accounting", - "init_xml" : [ ], - "demo_xml" : [ ], - "update_xml" : [ 'invoice_tax_incl.xml' ], - "active": False, - "installable": True + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['account'], + 'init_xml': [], + 'update_xml': ['invoice_tax_incl.xml'], + 'demo_xml': [], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/account_voucher/__terp__.py b/addons/account_voucher/__terp__.py index 1eea24579c9..77c83cc49be 100755 --- a/addons/account_voucher/__terp__.py +++ b/addons/account_voucher/__terp__.py @@ -19,11 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Accounting - Voucher Management", - "version" : "1.0", - "author" : "Tiny", - "description": """ + 'name': 'Accounting - Voucher Management', + 'version': '1.0', + 'category': 'Generic Modules/Accounting', + 'description': """ India Accounting module includes all the basic requirenment of Basic Accounting, plus new things which available are: * New Invoice - (Local, Retail) @@ -33,22 +35,19 @@ Basic Accounting, plus new things which available are: * VAT Declaration report * Accounting Periods """, - "category" : "Generic Modules/Accounting", - "website" : "http://www.openerp.com", - "depends" : ["base", "account"], - "init_xml" : [ + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['base', 'account'], + 'init_xml': [], + 'update_xml': [ + 'security/ir.model.access.csv', + 'account_voucher_sequence.xml', + 'account_view.xml', + 'account_report.xml', + 'voucher_view.xml' ], - - "demo_xml" : [ - ], - - "update_xml" : [ - "security/ir.model.access.csv", - "account_voucher_sequence.xml", - "account_view.xml", - "account_report.xml", - "voucher_view.xml", - ], - "active": False, - "installable": True + 'demo_xml': [], + 'installable': True, + 'active': False, } +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/analytic_journal_billing_rate/__terp__.py b/addons/analytic_journal_billing_rate/__terp__.py index 252b26f2fae..b99c2ac76f9 100644 --- a/addons/analytic_journal_billing_rate/__terp__.py +++ b/addons/analytic_journal_billing_rate/__terp__.py @@ -19,28 +19,26 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Analytic Journal Billing Rate", - "version" : "1.0", - "depends" : ["analytic_user_function", "account", "hr_timesheet_invoice"], - "author" : "Tiny", - "description": """ + 'name': 'Analytic Journal Billing Rate', + 'version': '1.0', + 'category': 'Generic Modules/Others', + 'description': """ This module allows you to define what is the default invoicing rate for a specific journal on a given account. This is mostly used when a user encode his timesheet: the values are retrieved and the fields are auto-filled... but the possibility to change these values is still available. Obviously if no data has been recorded for the current account, the default value is given as usual by the account data so that this module is perfectly compatible with older configurations. """, - "website" : "http://www.openerp.com", - "category" : "Generic Modules/Others", - "init_xml" : [], - "demo_xml" : [], - "update_xml" : [ - "analytic_journal_billing_rate_view.xml", - "security/ir.model.access.csv", - ], - "active": False, - "installable": True + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['analytic_user_function', 'account', 'hr_timesheet_invoice'], + 'init_xml': [], + 'update_xml': ['analytic_journal_billing_rate_view.xml', 'security/ir.model.access.csv'], + 'demo_xml': [], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/analytic_user_function/__terp__.py b/addons/analytic_user_function/__terp__.py index 0d85a5862a8..ba1e6d5dd65 100644 --- a/addons/analytic_user_function/__terp__.py +++ b/addons/analytic_user_function/__terp__.py @@ -19,28 +19,26 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Analytic User Function", - "version" : "1.0", - "depends" : ["hr_timesheet_sheet"], - "author" : "Tiny", - "description": """ + 'name': 'Analytic User Function', + 'version': '1.0', + 'category': 'Generic Modules/Others', + 'description': """ This module allows you to define what is the default function of a specific user on a given account. This is mostly used when a user encode his timesheet: the values are retrieved and the fields are auto-filled... but the possibility to change these values is still available. Obviously if no data has been recorded for the current account, the default value is given as usual by the employee data so that this module is perfectly compatible with older configurations. """, - "website" : "http://www.openerp.com", - "category" : "Generic Modules/Others", - "init_xml" : [], - "demo_xml" : [], - "update_xml" : [ - "analytic_user_function_view.xml", - "security/ir.model.access.csv", - ], - "active": False, - "installable": True + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['hr_timesheet_sheet'], + 'init_xml': [], + 'update_xml': ['analytic_user_function_view.xml', 'security/ir.model.access.csv'], + 'demo_xml': [], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/auction/__terp__.py b/addons/auction/__terp__.py index 22dbccbfdf4..be216fdf802 100644 --- a/addons/auction/__terp__.py +++ b/addons/auction/__terp__.py @@ -19,30 +19,28 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Auction module", - "version" : "1.0", - "author" : "Tiny", - "category" : "Generic Modules/Auction", - "depends" : ["base","account","hr_attendance"], - "description": '''This module provides functionality to + 'name': 'Auction module', + 'version': '1.0', + 'category': 'Generic Modules/Auction', + 'description': """This module provides functionality to manage artists, articles, sellers, buyers and auction. Manage bids, track of sold, paid and unpaid objects. Delivery Management. - ''', - "update_xml" : [ - # FIXME: review security rules... - "security/ir.model.access.csv", - "auction_view.xml", - "auction_report.xml", - "auction_wizard.xml", + """, + 'author': 'Tiny', + 'depends': ['base', 'account', 'hr_attendance'], + 'init_xml': ['auction_sequence.xml'], + 'update_xml': [ + 'security/ir.model.access.csv', + 'auction_view.xml', + 'auction_report.xml', + 'auction_wizard.xml' ], - "demo_xml" : [ - "auction_demo.xml" - ], - "init_xml" : ["auction_sequence.xml"], - "active": False, - "installable": True + 'demo_xml': ['auction_demo.xml'], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/audittrail/__terp__.py b/addons/audittrail/__terp__.py index 1f84cea7871..20340dedf1b 100644 --- a/addons/audittrail/__terp__.py +++ b/addons/audittrail/__terp__.py @@ -19,23 +19,25 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Audit Trail", - "version" : "1.0", - "depends" : ["base","account","purchase","mrp"], - "website" : "http://www.openerp.com", - "author" : "Tiny", - "init_xml" : [], - "description": """Allows the administrator to track every user operations on all objects of the system. + 'name': 'Audit Trail', + 'version': '1.0', + 'category': 'Generic Modules/Others', + 'description': """Allows the administrator to track every user operations on all objects of the system. Subscribe Rules for read, write, create and delete on objects and check logs""", - "category" : "Generic Modules/Others", - "update_xml" : ["audittrail_view.xml", - "security/ir.model.access.csv", - "security/audittrail_security.xml", - ], - "demo_xml" : ["audittrail_demo.xml"], - "active" : False, - "installable": True + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['base', 'account', 'purchase', 'mrp'], + 'init_xml': [], + 'update_xml': [ + 'audittrail_view.xml', + 'security/ir.model.access.csv', + 'security/audittrail_security.xml' + ], + 'demo_xml': ['audittrail_demo.xml'], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/base_contact/__terp__.py b/addons/base_contact/__terp__.py index 2e5cae98010..20617282a0a 100644 --- a/addons/base_contact/__terp__.py +++ b/addons/base_contact/__terp__.py @@ -19,13 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Base Contact", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "category" : "Generic Modules/Base", - "description": """ + 'name': 'Base Contact', + 'version': '1.0', + 'category': 'Generic Modules/Base', + 'description': """ This module allows you to manage entirely your contacts. It lets you define @@ -39,18 +39,17 @@ Pay attention that this module converts the existing addresses into "addresses + contacts". It means that some fields of the addresses will be missing (like the contact name), since these are supposed to be defined in an other object. """, - "depends" : ["base", "process"], - "init_xml" : [], - "demo_xml" : [ - "base_contact_demo.xml" - ], - "update_xml" : [ - "security/ir.model.access.csv", + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['base', 'process'], + 'init_xml': [], + 'update_xml': [ + 'security/ir.model.access.csv', 'base_contact_view.xml', - "process/base_contact_process.xml" + 'process/base_contact_process.xml' ], - "active": False, - "installable": True + 'demo_xml': ['base_contact_demo.xml'], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/base_iban/__terp__.py b/addons/base_iban/__terp__.py index 2be819ed760..dbe50f0e9ee 100644 --- a/addons/base_iban/__terp__.py +++ b/addons/base_iban/__terp__.py @@ -19,21 +19,21 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "IBAN", - "version" : "1.0", - "author" : "Tiny", - "category" : "Generic Modules/Base", - "depends" : ["base"], - "description": """ + 'name': 'IBAN', + 'version': '1.0', + 'category': 'Generic Modules/Base', + 'description': """ This module install the base for IBAN bank accounts. """, - "update_xml" : ["base_iban_view.xml"], - "init_xml" : ["base_iban_data.xml"], - "active": False, - "installable": True + 'author': 'Tiny', + 'depends': ['base'], + 'init_xml': ['base_iban_data.xml'], + 'update_xml': ['base_iban_view.xml'], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/base_module_merge/__terp__.py b/addons/base_module_merge/__terp__.py index 34090af5442..94966d252ea 100644 --- a/addons/base_module_merge/__terp__.py +++ b/addons/base_module_merge/__terp__.py @@ -19,13 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Module Merger", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "category" : "Generic Modules/Base", - "description": """ + 'name': 'Module Merger', + 'version': '1.0', + 'category': 'Generic Modules/Base', + 'description': """ * The wizard asks a many2many of modules * And then generate a module which is the merge of all selected modules * The new module is provided as a .zip file @@ -34,11 +34,12 @@ * Merging all .py files with the same name in the new module * merging all .xml files and take care of id's. """, - "depends" : ["base"], - "init_xml" : [ ], - "demo_xml" : [ ], - "update_xml" : [ "base_module_merge_wizard.xml" ], - "installable": True + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['base'], + 'init_xml': [], + 'update_xml': ['base_module_merge_wizard.xml'], + 'demo_xml': [], + 'installable': True, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/base_module_publish/__terp__.py b/addons/base_module_publish/__terp__.py index 5631c29c833..aab0f5ca41f 100644 --- a/addons/base_module_publish/__terp__.py +++ b/addons/base_module_publish/__terp__.py @@ -19,13 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Module publisher", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "category" : "Generic Modules/Base", - "description": """ + 'name': 'Module publisher', + 'version': '1.0', + 'category': 'Generic Modules/Base', + 'description': """ This module can be used by developpers to automatically publish their modules in a few click to the following websites: * http://OpenERP.com, section module @@ -36,12 +36,12 @@ in a few click to the following websites: It adds a button "Publish module" on each module, so that you simply have to call this button when you want to release a new version of your module. """, - "depends" : ["base"], - "init_xml" : [ ], - "demo_xml" : [ ], - "update_xml" : [ "base_module_publish_wizard.xml" ], - "installable": True + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['base'], + 'init_xml': [], + 'update_xml': ['base_module_publish_wizard.xml'], + 'demo_xml': [], + 'installable': True, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/base_module_quality/__terp__.py b/addons/base_module_quality/__terp__.py index 1c056d84771..65d6e751153 100644 --- a/addons/base_module_quality/__terp__.py +++ b/addons/base_module_quality/__terp__.py @@ -19,23 +19,24 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Base module quality", - "author" : "Tiny", - "version" : "1.0", - "depends" : ["base",], - "description": """" + 'name': 'Base module quality', + 'version': '1.0', + 'category': 'Tiny Specific Modules/Base module quality', + 'description': """" This module's aim is to check the quality of other modules. It defines a wizard on the list of modules in OpenERP, which allow you to evaluate them on different criteria such as: the respect of OpenERP coding standards, the speed efficiency... This module also provides generic framework to define your own quality test. For further info, coders may take a look into base_module_quality\README.txt """, - "init_xml" : [], - "update_xml" : ["base_module_quality_wizard.xml", "security/ir.model.access.csv",], - "category" : "Tiny Specific Modules/Base module quality", - "active": False, - "installable": True + 'author': 'Tiny', + 'depends': ['base'], + 'init_xml': [], + 'update_xml': ['base_module_quality_wizard.xml', 'security/ir.model.access.csv'], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/base_module_record/__terp__.py b/addons/base_module_record/__terp__.py index 6a3bb2606b0..4c3fbe1fa3f 100644 --- a/addons/base_module_record/__terp__.py +++ b/addons/base_module_record/__terp__.py @@ -19,13 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Module Recorder", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "category" : "Generic Modules/Base", - "description": """ + 'name': 'Module Recorder', + 'version': '1.0', + 'category': 'Generic Modules/Base', + 'description': """ This module allows you to create a new module without any development. It records all operations on objects during the recording session and produce a .ZIP module. So you can create your own module directly from @@ -44,14 +44,12 @@ How to use it: 3. Stop the recording session 4. Export to a reusable module """, - "depends" : ["base"], - "init_xml" : [ ], - "demo_xml" : [ ], - "update_xml" : [ - "security/ir.model.access.csv", - "base_module_record_wizard.xml" - ], - "installable": True + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['base'], + 'init_xml': [], + 'update_xml': ['security/ir.model.access.csv', 'base_module_record_wizard.xml'], + 'demo_xml': [], + 'installable': True, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/base_report_creator/__terp__.py b/addons/base_report_creator/__terp__.py index c4056f3b357..12cb54792fa 100644 --- a/addons/base_report_creator/__terp__.py +++ b/addons/base_report_creator/__terp__.py @@ -19,29 +19,30 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Report Creator", - "version" : "1.0", - "author" : "Tiny & Axelor", - "website" : "", - "category" : "Generic Modules/Base", - "description": """This modules allows you to create any statistic + 'name': 'Report Creator', + 'version': '1.0', + 'category': 'Generic Modules/Base', + 'description': """This modules allows you to create any statistic report on several object. It's a SQL query builder and browser for and users. After installing the module, it adds a menu to define custom report in the "Dashboard" menu. """, - "depends" : ["base","board"], - "init_xml" : [], - "demo_xml" : [], - "update_xml" : [ - "security/ir.model.access.csv", - "base_report_creator_wizard.xml", - "base_report_creator_view.xml" + 'author': 'Tiny & Axelor', + 'website': '', + 'depends': ['base', 'board'], + 'init_xml': [], + 'update_xml': [ + 'security/ir.model.access.csv', + 'base_report_creator_wizard.xml', + 'base_report_creator_view.xml' ], - "active": False, - "installable": True + 'demo_xml': [], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/base_report_designer/__terp__.py b/addons/base_report_designer/__terp__.py index f28b51e07f5..5e420ea5782 100644 --- a/addons/base_report_designer/__terp__.py +++ b/addons/base_report_designer/__terp__.py @@ -19,22 +19,23 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Report designer interface module", - "description" : """ + 'name': 'Report designer interface module', + 'version': '0.1', + 'category': 'Generic Modules/Base', + 'description': """ This module adds wizards to import/export documents to be edited in OpenOffice. """, - "version" : "0.1", - "depends" : ["base"], - "author" : "Tiny", - "website" : "http://www.openerp.com", - "category" : "Generic Modules/Base", - "init_xml" : [ ], - "demo_xml" : ["base_report_data.xml"], - "update_xml" : [ "base_report_designer_wizard.xml" ], - "active": False, - "installable": True + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['base'], + 'init_xml': [], + 'update_xml': ['base_report_designer_wizard.xml'], + 'demo_xml': ['base_report_data.xml'], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/base_setup/__terp__.py b/addons/base_setup/__terp__.py index b9ccf11a0aa..bf5513864d2 100644 --- a/addons/base_setup/__terp__.py +++ b/addons/base_setup/__terp__.py @@ -19,13 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Base Setup", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "category" : "Generic Modules/Base", - "description": """ + 'name': 'Base Setup', + 'version': '1.0', + 'category': 'Generic Modules/Base', + 'description': """ This module implements a configuration system that helps user to configure the system at the installation of a new database. @@ -38,20 +38,13 @@ It also asks screens to help easily configure your company, the header and footer, the account chart to install and the language. """, - "depends" : ["base"], - "init_xml" : [ - "base_setup_data.xml", - ], - "demo_xml" : [ - "base_setup_demo.xml", - ], - "update_xml" : [ - "security/ir.model.access.csv", - "base_setup_wizard.xml", - ], - "active": True, - "installable": True + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['base'], + 'init_xml': ['base_setup_data.xml'], + 'update_xml': ['security/ir.model.access.csv', 'base_setup_wizard.xml'], + 'demo_xml': ['base_setup_demo.xml'], + 'installable': True, + 'active': True, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/base_vat/__terp__.py b/addons/base_vat/__terp__.py index 2ffc42d5724..a50a166f5d8 100644 --- a/addons/base_vat/__terp__.py +++ b/addons/base_vat/__terp__.py @@ -19,17 +19,17 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "VAT", - "description": "Enable the VAT Number for the partner. Check the validity of that VAT Number.", - "version" : "1.0", - "author" : "Tiny", - "category" : "Generic Modules/Base", - "depends" : ["base","account"], - "update_xml" : ["base_vat_data.xml"], - "active": False, - "installable": True + 'name': 'VAT', + 'version': '1.0', + 'category': 'Generic Modules/Base', + 'description': """Enable the VAT Number for the partner. Check the validity of that VAT Number.""", + 'author': 'Tiny', + 'depends': ['base', 'account'], + 'update_xml': ['base_vat_data.xml'], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/board/__terp__.py b/addons/board/__terp__.py index d437927e320..297d0cc6663 100644 --- a/addons/board/__terp__.py +++ b/addons/board/__terp__.py @@ -19,20 +19,18 @@ # along with this program. If not, see . # ############################################################################## + + { - "name":"Dashboard main module", - "version":"1.0", - "author":"Tiny", - "category":"Board/Base", - "depends":["base"], - "demo_xml":[], - "update_xml":[ - "security/ir.model.access.csv", - "board_view.xml"], - "description": "Base module for all dashboards.", - "active":False, - "installable":True, + 'name': 'Dashboard main module', + 'version': '1.0', + 'category': 'Board/Base', + 'description': """Base module for all dashboards.""", + 'author': 'Tiny', + 'depends': ['base'], + 'update_xml': ['security/ir.model.access.csv', 'board_view.xml'], + 'demo_xml': [], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/board_account/__terp__.py b/addons/board_account/__terp__.py index 4bd657b4a22..0b3cd5ba6fa 100644 --- a/addons/board_account/__terp__.py +++ b/addons/board_account/__terp__.py @@ -19,23 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name":"Board for accountant", - "version":"1.0", - "author":"Tiny", - "category":"Board/Accounting", - "depends":[ - "account", - "hr_timesheet_invoice", - "board", - "report_account", - "report_analytic", - "report_analytic_line", - "account_report", - ], - "demo_xml":["board_account_demo.xml"], - "update_xml":["board_account_view.xml"], - "description": """ + 'name': 'Board for accountant', + 'version': '1.0', + 'category': 'Board/Accounting', + 'description': """ This module creates a dashboards for accountants that includes: * List of analytic accounts to close * List of uninvoiced quotations @@ -44,9 +34,19 @@ * Graph of aged receivables * Graph of aged incomes """, - "active":False, - "installable":True, + 'author': 'Tiny', + 'depends': [ + 'account', + 'hr_timesheet_invoice', + 'board', + 'report_account', + 'report_analytic', + 'report_analytic_line', + 'account_report' + ], + 'update_xml': ['board_account_view.xml'], + 'demo_xml': ['board_account_demo.xml'], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/board_association/__terp__.py b/addons/board_association/__terp__.py index bc0e7ecd0cd..6ef5906440d 100644 --- a/addons/board_association/__terp__.py +++ b/addons/board_association/__terp__.py @@ -19,19 +19,20 @@ # along with this program. If not, see . # ############################################################################## + + { - "name":"Dashboard for Associations", - "version":"1.0", - "author":"Tiny", - "category":"Board/Associations", - "depends":["event","membership","board","project"], - "demo_xml":["board_association_demo.xml"], - "update_xml":["board_association_view.xml"], - "description": """ + 'name': 'Dashboard for Associations', + 'version': '1.0', + 'category': 'Board/Associations', + 'description': """ This module implements a dashboard for associations. """, - "active":False, - "installable":True, + 'author': 'Tiny', + 'depends': ['event', 'membership', 'board', 'project'], + 'update_xml': ['board_association_view.xml'], + 'demo_xml': ['board_association_demo.xml'], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/board_auction/__terp__.py b/addons/board_auction/__terp__.py index 1500c0e174e..71785f0b426 100644 --- a/addons/board_auction/__terp__.py +++ b/addons/board_auction/__terp__.py @@ -19,29 +19,21 @@ # along with this program. If not, see . # ############################################################################## + + { - "name":"Board for Auction", - "version":"1.0", - "author":"Tiny", - "category":"Board/Auction", - "depends":[ - "board", - "auction", -# "report_auction", - ], - "demo_xml":["board_auction_demo.xml"], - "update_xml":["board_auction_view.xml","board_auction_manager_view.xml"], - "description": """ + 'name': 'Board for Auction', + 'version': '1.0', + 'category': 'Board/Auction', + 'description': """ This module creates a dashboards for auction that includes: """, - "active":False, - "installable":True, + 'author': 'Tiny', + 'depends': ['board', 'auction'], + 'update_xml': ['board_auction_view.xml', 'board_auction_manager_view.xml'], + 'demo_xml': ['board_auction_demo.xml'], + 'installable': True, + 'active': False, } - - - - - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/board_crm_configuration/__terp__.py b/addons/board_crm_configuration/__terp__.py index 93aa9f4dcc4..42d40935086 100644 --- a/addons/board_crm_configuration/__terp__.py +++ b/addons/board_crm_configuration/__terp__.py @@ -19,17 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name":"Dashboard for CRM Configuration", - "version":"1.0", - "author":"Tiny", - "category":"Board/CRM", - "depends":["board","crm_configuration"], - "demo_xml":["board_crm_demo.xml"], - "update_xml":["board_crm_statistical_view.xml", - "board_crm_view.xml" - ], - "description": """ + 'name': 'Dashboard for CRM Configuration', + 'version': '1.0', + 'category': 'Board/CRM', + 'description': """ This module implements a dashboard for CRM that includes: * My Leads (list) * Leads by Stage (graph) @@ -38,8 +34,11 @@ This module implements a dashboard for CRM that includes: * My Cases (list) * Jobs Tracking (graph) """, - "active":False, - "installable":True, + 'author': 'Tiny', + 'depends': ['board', 'crm_configuration'], + 'update_xml': ['board_crm_statistical_view.xml', 'board_crm_view.xml'], + 'demo_xml': ['board_crm_demo.xml'], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/board_document/__terp__.py b/addons/board_document/__terp__.py index a981027b1a3..7fcf2f74f5f 100644 --- a/addons/board_document/__terp__.py +++ b/addons/board_document/__terp__.py @@ -19,17 +19,18 @@ # along with this program. If not, see . # ############################################################################## + + { - "name":"Dashboard for Document Management", - "version":"1.0", - "author":"Tiny", - "category":"Board/Document", - "depends":["board","document", "report_document"], - "demo_xml":["board_document_demo.xml"], - "update_xml":["board_document_view.xml"], - "description": """ This module implements a dashboard for Document """, - "active":False, - "installable":True, + 'name': 'Dashboard for Document Management', + 'version': '1.0', + 'category': 'Board/Document', + 'description': """ This module implements a dashboard for Document """, + 'author': 'Tiny', + 'depends': ['board', 'document', 'report_document'], + 'update_xml': ['board_document_view.xml'], + 'demo_xml': ['board_document_demo.xml'], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/board_manufacturing/__terp__.py b/addons/board_manufacturing/__terp__.py index 8e3f48ceb28..f93d2da5177 100644 --- a/addons/board_manufacturing/__terp__.py +++ b/addons/board_manufacturing/__terp__.py @@ -19,31 +19,24 @@ # along with this program. If not, see . # ############################################################################## + + { - "name":"Board for manufacturing", - "version":"1.0", - "author":"Tiny", - "category":"Board/Manufacturing", - "depends":[ - "board", - "mrp", - "stock", - "report_mrp", - - - ], - "demo_xml":["board_manufacturing_demo.xml"], - "update_xml":["board_manufacturing_view.xml"], - "description": """ + 'name': 'Board for manufacturing', + 'version': '1.0', + 'category': 'Board/Manufacturing', + 'description': """ This module creates a dashboards for Manufaturing that includes: * List of next production orders * List of deliveries (out packing) * Graph of workcenter load * List of procurement in exception """, - "active":False, - "installable":True, + 'author': 'Tiny', + 'depends': ['board', 'mrp', 'stock', 'report_mrp'], + 'update_xml': ['board_manufacturing_view.xml'], + 'demo_xml': ['board_manufacturing_demo.xml'], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/board_project/__terp__.py b/addons/board_project/__terp__.py index 9c02fa6f0bc..e0d2d75f7c4 100644 --- a/addons/board_project/__terp__.py +++ b/addons/board_project/__terp__.py @@ -19,23 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name":"Board for project users", - "version":"1.0", - "author":"Tiny", - "category":"Board/Projects & Services", - "depends":[ - "project", - "report_timesheet", - "board", - "report_analytic_planning", - "report_analytic_line", - "report_task", - "hr_timesheet_sheet" - ], - "demo_xml":["board_project_demo.xml"], - "update_xml":["board_project_view.xml", "board_project_manager_view.xml"], - "description": """ + 'name': 'Board for project users', + 'version': '1.0', + 'category': 'Board/Projects & Services', + 'description': """ This module implements a dashboard for project member that includes: * List of my open tasks * List of my next deadlines @@ -43,9 +33,19 @@ This module implements a dashboard for project member that includes: * Graph of my timesheet * Graph of my work analysis """, - "active":False, - "installable":True, + 'author': 'Tiny', + 'depends': [ + 'project', + 'report_timesheet', + 'board', + 'report_analytic_planning', + 'report_analytic_line', + 'report_task', + 'hr_timesheet_sheet' + ], + 'update_xml': ['board_project_view.xml', 'board_project_manager_view.xml'], + 'demo_xml': ['board_project_demo.xml'], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/board_sale/__terp__.py b/addons/board_sale/__terp__.py index be05b919d77..51450801ffd 100644 --- a/addons/board_sale/__terp__.py +++ b/addons/board_sale/__terp__.py @@ -19,15 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name":"Dashboard for sales", - "version":"1.0", - "author":"Tiny", - "category":"Board/Sales & Purchase", - "depends":["board","sale", "report_crm", "report_sale"], - "demo_xml":["board_sale_demo.xml"], - "update_xml":["board_sale_view.xml"], - "description": """ + 'name': 'Dashboard for sales', + 'version': '1.0', + 'category': 'Board/Sales & Purchase', + 'description': """ This module implements a dashboard for salesman that includes: * You open quotations * Top 10 sales of the month @@ -35,9 +33,11 @@ This module implements a dashboard for salesman that includes: * Graph of sales by product * Graph of cases of the month """, - "active":False, - "installable":True, + 'author': 'Tiny', + 'depends': ['board', 'sale', 'report_crm', 'report_sale'], + 'update_xml': ['board_sale_view.xml'], + 'demo_xml': ['board_sale_demo.xml'], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/crm/__terp__.py b/addons/crm/__terp__.py index 64af088257e..f22e4b99857 100644 --- a/addons/crm/__terp__.py +++ b/addons/crm/__terp__.py @@ -19,13 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Customer & Supplier Relationship Management", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "category" : "Generic Modules/CRM & SRM", - "description": """The generic Open ERP Customer Relationship Management + 'name': 'Customer & Supplier Relationship Management', + 'version': '1.0', + 'category': 'Generic Modules/CRM & SRM', + 'description': """The generic Open ERP Customer Relationship Management system enables a group of people to intelligently and efficiently manage leads, opportunities, tasks, issues, requests, bugs, campaign, claims, etc. It manages key tasks such as communication, identification, prioritization, @@ -43,19 +43,19 @@ place. The CRM module has a email gateway for the synchronisation interface between mails and Open ERP.""", - "depends" : ["base"], - "init_xml" : ["crm_data.xml"], - "demo_xml" : ["crm_demo.xml"], - "update_xml" : [ - "crm_view.xml", - "crm_report.xml", - "crm_wizard.xml", - "security/crm_security.xml", - "security/ir.model.access.csv", + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['base'], + 'init_xml': ['crm_data.xml'], + 'update_xml': [ + 'crm_view.xml', + 'crm_report.xml', + 'crm_wizard.xml', + 'security/crm_security.xml', + 'security/ir.model.access.csv' ], - "active": False, - "installable": True + 'demo_xml': ['crm_demo.xml'], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/crm_configuration/__terp__.py b/addons/crm_configuration/__terp__.py index a3b44af2ed5..7a2e0147607 100644 --- a/addons/crm_configuration/__terp__.py +++ b/addons/crm_configuration/__terp__.py @@ -19,13 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Customer Relationship Management", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "category" : "Generic Modules/CRM & SRM", - "description": """ + 'name': 'Customer Relationship Management', + 'version': '1.0', + 'category': 'Generic Modules/CRM & SRM', + 'description': """ The Open ERP case and request tracker enables a group of people to intelligently and efficiently manage tasks, issues, and requests. It manages key tasks such as communication, @@ -35,53 +35,25 @@ This module provide screens like: jobs hiring process, leads, business opportunities, fund raising trackings, support & helpdesk, calendar of meetings, eso. """, - "depends" : ["crm","report_crm", "process"], - "init_xml" : [ - "crm_configuration_wizard.xml", - "crm_config_view.xml", - "crm_bugs_view.xml", - "crm_jobs_view.xml", - "crm_lead_view.xml", - "crm_meeting_view.xml", - "crm_opportunity_view.xml", - "crm_fund_view.xml", - "crm_claims_view.xml", - "crm_phonecall_view.xml", - "crm_report_view.xml" + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['crm', 'report_crm', 'process'], + 'init_xml': [ + 'crm_configuration_wizard.xml', + 'crm_config_view.xml', + 'crm_bugs_view.xml', + 'crm_jobs_view.xml', + 'crm_lead_view.xml', + 'crm_meeting_view.xml', + 'crm_opportunity_view.xml', + 'crm_fund_view.xml', + 'crm_claims_view.xml', + 'crm_phonecall_view.xml', + 'crm_report_view.xml' ], - "demo_xml" : [ -# "crm_bugs_demo.xml", -# "crm_fund_demo.xml", -# "crm_jobs_demo.xml", -# "crm_meeting_demo.xml", -# "crm_lead_demo.xml", -# "crm_opportunity_demo.xml", -# "crm_claims_demo.xml", -# "crm_phonecall_demo.xml", - ], - "update_xml" : [ -# "crm_bugs_data.xml", -# "crm_fund_data.xml", -# "crm_jobs_data.xml", -# "crm_meeting_data.xml", -# "crm_lead_data.xml", -# "crm_bugs_menu.xml", -# "crm_fund_menu.xml", -# "crm_jobs_menu.xml", -# "crm_helpdesk_menu.xml", -# "crm_lead_menu.xml", -# "crm_meeting_menu.xml", -# "crm_opportunity_data.xml", -# "crm_opportunity_menu.xml", -# "crm_claims_data.xml", -# "crm_claims_menu.xml", -# "crm_phonecall_data.xml", -# "crm_phonecall_menu.xml", - "security/ir.model.access.csv", - "process/crm_configuration_process.xml", - ], - "active": False, - "installable": True + 'update_xml': ['security/ir.model.access.csv', 'process/crm_configuration_process.xml'], + 'demo_xml': [], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/crm_profiling/__terp__.py b/addons/crm_profiling/__terp__.py index 9a3a5b08af1..d45e7de5f35 100644 --- a/addons/crm_profiling/__terp__.py +++ b/addons/crm_profiling/__terp__.py @@ -19,33 +19,31 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "crm_profiling management", - "version" : "1.3", - "depends" : ["base", "crm"], - "author" : "Tiny", - "description": """ + 'name': 'crm_profiling management', + 'version': '1.3', + 'category': 'Generic Modules/CRM & SRM', + 'description': """ This module allow users to perform segmentation within partners. It use the profiles criteria from the earlier segmentation module and improve it thanks to the new concept of questionnaire. You can now regroup questions into a questionnaire and directly use it on a partner. It also has been merged with the earlier CRM & SRM segmentation tool because they were overlapping. - The menu items related are in "CRM & SRM\Configuration\Segmentations\" + The menu items related are in "CRM & SRM\Configuration\Segmentations" * Note: this module is not compatible with the module segmentation, since it's the same which has been renamed. """, - "website" : "http://www.openerp.com", - "category" : "Generic Modules/CRM & SRM", - "init_xml" : [], - "demo_xml" : ["crm_profiling_demo.xml"], - "update_xml" : [ - "security/ir.model.access.csv", - "crm_profiling_view.xml", - ], - "active": False, - "installable": True + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['base', 'crm'], + 'init_xml': [], + 'update_xml': ['security/ir.model.access.csv', 'crm_profiling_view.xml'], + 'demo_xml': ['crm_profiling_demo.xml'], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/crm_vertical/__terp__.py b/addons/crm_vertical/__terp__.py index cf7c72539cd..d52a9d2496c 100644 --- a/addons/crm_vertical/__terp__.py +++ b/addons/crm_vertical/__terp__.py @@ -19,18 +19,19 @@ # along with this program. If not, see . # ############################################################################## -{ - "name" : "CRM Verticalisation", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "category" : "Vertical Modules/Parametrization", - "description": """Simplification of the interface for CRM.""", - "depends" : ["crm_configuration"], - "init_xml" : [ ], - "demo_xml" : [ ], - "update_xml" : [], - "installable": True -} -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: + +{ + 'name': 'CRM Verticalisation', + 'version': '1.0', + 'category': 'Vertical Modules/Parametrization', + 'description': """Simplification of the interface for CRM.""", + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['crm_configuration'], + 'init_xml': [], + 'update_xml': [], + 'demo_xml': [], + 'installable': True, +} +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/custom/__terp__.py b/addons/custom/__terp__.py index 0a3da30ab10..9f29fbb5ca3 100644 --- a/addons/custom/__terp__.py +++ b/addons/custom/__terp__.py @@ -19,19 +19,19 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Module for custom developments", - "version" : "1.0", - "author" : "Tiny", - "category" : "Generic Modules/Others", - "website": "http://www.openerp.com", - "description": "Sample custom module where you can put your customer specific developments.", - "depends" : ["base"], - "init_xml" : [], - "update_xml" : ["custom_view.xml"], - "active": False, - "installable": True + 'name': 'Module for custom developments', + 'version': '1.0', + 'category': 'Generic Modules/Others', + 'description': """Sample custom module where you can put your customer specific developments.""", + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['base'], + 'init_xml': [], + 'update_xml': ['custom_view.xml'], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/delivery/__terp__.py b/addons/delivery/__terp__.py index d9b1d7a56c1..2a832867984 100644 --- a/addons/delivery/__terp__.py +++ b/addons/delivery/__terp__.py @@ -19,24 +19,24 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Carriers and deliveries", - "version" : "1.0", - "author" : "Tiny", - "category" : "Generic Modules/Sales & Purchases", - "description": "Allows to add delivery methods in sales order and packing. You can define your own carrier and delivery grids for prices. When creating invoices from pickings, Open ERP is able to add and compute the shipping line.", - "depends" : ["sale","purchase", "stock",], - "init_xml" : ["delivery_data.xml"], - "demo_xml" : ["delivery_demo.xml"], - "update_xml" : [ - "security/ir.model.access.csv", - "delivery_view.xml", - "delivery_wizard.xml", - "partner_view.xml", + 'name': 'Carriers and deliveries', + 'version': '1.0', + 'category': 'Generic Modules/Sales & Purchases', + 'description': """Allows to add delivery methods in sales order and packing. You can define your own carrier and delivery grids for prices. When creating invoices from pickings, Open ERP is able to add and compute the shipping line.""", + 'author': 'Tiny', + 'depends': ['sale', 'purchase', 'stock'], + 'init_xml': ['delivery_data.xml'], + 'update_xml': [ + 'security/ir.model.access.csv', + 'delivery_view.xml', + 'delivery_wizard.xml', + 'partner_view.xml' ], - "active": False, - "installable": True, + 'demo_xml': ['delivery_demo.xml'], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/document/__terp__.py b/addons/document/__terp__.py index 2aa70c97b6e..b72e7a734ca 100644 --- a/addons/document/__terp__.py +++ b/addons/document/__terp__.py @@ -19,29 +19,29 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Integrated Document Management System", - "version" : "1.0", - "author" : "Tiny", - "category" : "Generic Modules/Others", - "website": "http://www.openerp.com", - "description": """This is a complete document management system: + 'name': 'Integrated Document Management System', + 'version': '1.0', + 'category': 'Generic Modules/Others', + 'description': """This is a complete document management system: * FTP Interface * User Authentication * Document Indexation """, - "depends" : ["base","process"], - "init_xml" : [ - "document_data.xml", - "document_demo.xml" + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['base', 'process'], + 'init_xml': ['document_data.xml', 'document_demo.xml'], + 'update_xml': [ + 'document_view.xml', + 'document_data.xml', + 'security/document_security.xml', + 'security/ir.model.access.csv' ], - "update_xml" : [ - "document_view.xml", - "document_data.xml", - "security/document_security.xml", - "security/ir.model.access.csv", - ], - "demo_xml" : [], - "active": False, - "installable": True + 'demo_xml': [], + 'installable': True, + 'active': False, } +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/document_ics/__terp__.py b/addons/document_ics/__terp__.py index 704cd417326..6b271ade924 100644 --- a/addons/document_ics/__terp__.py +++ b/addons/document_ics/__terp__.py @@ -19,22 +19,20 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Support for iCal based on Document Management System", - "version" : "1.0", - "author" : "Tiny", - "category" : "Generic Modules/Others", - "website": "http://www.openerp.com", - "description": """Allows to synchronise calendars with others applications.""", - "depends" : ["document","crm_configuration"], - "init_xml" : ["document_data.xml"], - "update_xml" : [ - "document_view.xml", - "security/ir.model.access.csv", - ], - "demo_xml" : [ - "document_demo.xml" - ], - "active": False, - "installable": True + 'name': 'Support for iCal based on Document Management System', + 'version': '1.0', + 'category': 'Generic Modules/Others', + 'description': """Allows to synchronise calendars with others applications.""", + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['document', 'crm_configuration'], + 'init_xml': ['document_data.xml'], + 'update_xml': ['document_view.xml', 'security/ir.model.access.csv'], + 'demo_xml': ['document_demo.xml'], + 'installable': True, + 'active': False, } +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/event/__terp__.py b/addons/event/__terp__.py index 8db0e8e62e0..50dba70a54f 100644 --- a/addons/event/__terp__.py +++ b/addons/event/__terp__.py @@ -19,12 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Event", - "version" : "0.1", - "author" : "Tiny", - "category" : "Generic Modules/Association", - "description": """Organization and management of events. + 'name': 'Event', + 'version': '0.1', + 'category': 'Generic Modules/Association', + 'description': """Organization and management of events. This module allow you * to manage your events and their registrations @@ -37,20 +38,18 @@ - You can access predefined reports about number of registration per event or per event category in : Events \ Reporting """, - "depends" : [ - "crm","base_contact","account" + 'author': 'Tiny', + 'depends': ['crm', 'base_contact', 'account'], + 'init_xml': ['event_data.xml'], + 'update_xml': [ + 'event_wizard.xml', + 'event_view.xml', + 'event_sequence.xml', + 'security/event_security.xml', + 'security/ir.model.access.csv' ], - "demo_xml" : ["event_demo.xml"], - "init_xml" : ["event_data.xml"], - "update_xml" : [ - "event_wizard.xml", - "event_view.xml", - "event_sequence.xml", - "security/event_security.xml", - "security/ir.model.access.csv", - ], - "active" : False, - "installable" : True, + 'demo_xml': ['event_demo.xml'], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/event_project/__terp__.py b/addons/event_project/__terp__.py index 982b2c7412a..2f8184d1ba4 100644 --- a/addons/event_project/__terp__.py +++ b/addons/event_project/__terp__.py @@ -19,26 +19,22 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Event - Project", - "version" : "0.1", - "author" : "Tiny", - "category" : "Generic Modules/Association", - "description": """Organization and management of events. + 'name': 'Event - Project', + 'version': '0.1', + 'category': 'Generic Modules/Association', + 'description': """Organization and management of events. This module allow you to create retro planning for managing your events. """, - "depends" : [ - "project_retro_planning","event", - ], - "demo_xml" : [], - "init_xml" : [], - "update_xml" : [ - "event_wizard.xml", - "event_view.xml", - ], - "active" : False, - "installable" : True, + 'author': 'Tiny', + 'depends': ['project_retro_planning', 'event'], + 'init_xml': [], + 'update_xml': ['event_wizard.xml', 'event_view.xml'], + 'demo_xml': [], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/google_map/__terp__.py b/addons/google_map/__terp__.py index 89f9ee143f6..c3cc5532289 100644 --- a/addons/google_map/__terp__.py +++ b/addons/google_map/__terp__.py @@ -19,21 +19,22 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Google Map", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "category" : "Generic Modules/Others", - "description": """The module adds google map field in partner address + 'name': 'Google Map', + 'version': '1.0', + 'category': 'Generic Modules/Others', + 'description': """The module adds google map field in partner address so that we can directly open google map from the url widget.""", - "depends" : ["base"], - "init_xml" : [], - "demo_xml" : [], - "update_xml" : ["google_map_wizard.xml","google_map_view.xml"], - "active": False, - "installable": True + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['base'], + 'init_xml': [], + 'update_xml': ['google_map_wizard.xml', 'google_map_view.xml'], + 'demo_xml': [], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/hr/__terp__.py b/addons/hr/__terp__.py index 8905a9b5ee8..6685e2e7073 100644 --- a/addons/hr/__terp__.py +++ b/addons/hr/__terp__.py @@ -19,13 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Human Resources", - "version" : "1.0", - "author" : "Tiny", - "category" : "Generic Modules/Human Resources", - "website" : "http://www.openerp.com", - "description": """ + 'name': 'Human Resources', + 'version': '1.0', + 'category': 'Generic Modules/Human Resources', + 'description': """ Module for human resource management. You can manage: * Employees and hierarchies * Work hours sheets @@ -33,23 +33,20 @@ Different reports are also provided, mainly for attendance statistics. """, - "depends" : ["base", "process"], - "init_xml" : [], - "demo_xml" : [ - "hr_demo.xml", - "hr_department_demo.xml", + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['base', 'process'], + 'init_xml': [], + 'update_xml': [ + 'security/hr_security.xml', + 'security/ir.model.access.csv', + 'hr_view.xml', + 'hr_wizard.xml', + 'hr_department_view.xml', + 'process/hr_process.xml' ], - "update_xml" : [ - "security/hr_security.xml", - "security/ir.model.access.csv", - "hr_view.xml", - "hr_wizard.xml", - "hr_department_view.xml", - "process/hr_process.xml" - ], - "active": False, - "installable": True + 'demo_xml': ['hr_demo.xml', 'hr_department_demo.xml'], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/hr_attendance/__terp__.py b/addons/hr_attendance/__terp__.py index 68891d7432b..65dbe0b4563 100644 --- a/addons/hr_attendance/__terp__.py +++ b/addons/hr_attendance/__terp__.py @@ -19,21 +19,24 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Attendances Of Employees", - "version" : "1.1", - "author" : "Tiny", - "category" : "Generic Modules/Human Resources", - "description": "This module aims to manage employee's attendances.", - "depends" : ["base","hr",], - "demo_xml" : ["hr_attendance_demo.xml"], - "update_xml" : [ - "security/hr_security.xml", - "hr_attendance_view.xml", - "hr_attendance_wizard.xml", - "hr_attendance_report.xml", - "security/ir.model.access.csv" + 'name': 'Attendances Of Employees', + 'version': '1.1', + 'category': 'Generic Modules/Human Resources', + 'description': """This module aims to manage employee's attendances.""", + 'author': 'Tiny', + 'depends': ['base', 'hr'], + 'update_xml': [ + 'security/hr_security.xml', + 'hr_attendance_view.xml', + 'hr_attendance_wizard.xml', + 'hr_attendance_report.xml', + 'security/ir.model.access.csv' ], - "active": False, - "installable": True, + 'demo_xml': ['hr_attendance_demo.xml'], + 'installable': True, + 'active': False, } +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/hr_contract/__terp__.py b/addons/hr_contract/__terp__.py index 0a955c250a3..7c1f634d65c 100644 --- a/addons/hr_contract/__terp__.py +++ b/addons/hr_contract/__terp__.py @@ -19,15 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Human Resources Contracts", - "version" : "1.0", - "author" : "Tiny", - "category" : "Generic Modules/Human Resources", - "website" : "http://www.openerp.com", - "depends" : ["hr"], - "module": "", - "description": """ + 'name': 'Human Resources Contracts', + 'version': '1.0', + 'category': 'Generic Modules/Human Resources', + 'description': """ Add all information on the employee form to manage contracts: * Martial status, * Security number, @@ -35,16 +33,17 @@ You can assign several contracts per employee. """, - "init_xml" : ["hr_contract_data.xml", ], - "demo_xml" : [], - "update_xml" : [ - "security/hr_contract_security.xml", - "security/ir.model.access.csv", - "hr_contract_view.xml", + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['hr'], + 'init_xml': ['hr_contract_data.xml'], + 'update_xml': [ + 'security/hr_contract_security.xml', + 'security/ir.model.access.csv', + 'hr_contract_view.xml' ], - "active": False, - "installable": True + 'demo_xml': [], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/hr_expense/__terp__.py b/addons/hr_expense/__terp__.py index bd27671a92c..4f2b03d7bc9 100644 --- a/addons/hr_expense/__terp__.py +++ b/addons/hr_expense/__terp__.py @@ -19,14 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Human Resources Expenses Tracking", - "version" : "1.0", - "author" : "Tiny", - "category" : "Generic Modules/Human Resources", - "website" : "http://www.openerp.com", - "depends" : ["hr","account", "account_tax_include",], - "description": """ + 'name': 'Human Resources Expenses Tracking', + 'version': '1.0', + 'category': 'Generic Modules/Human Resources', + 'description': """ This module aims to manage employee's expenses. The whole workflow is implemented: @@ -40,19 +39,20 @@ the invoice on timesheet module so that you will be able to automatically re-invoice your customer's expenses if your work by project. """, - "init_xml" : [], - "demo_xml" : ["hr_expense_demo.xml", "hr.expense.expense.csv"], - "update_xml" : [ - "security/ir.model.access.csv", - "hr_expense_sequence.xml", - "hr_expense_workflow.xml", - "hr_expense_view.xml", - "hr_expense_report.xml", - "process/hr_expense_process.xml" + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['hr', 'account', 'account_tax_include'], + 'init_xml': [], + 'update_xml': [ + 'security/ir.model.access.csv', + 'hr_expense_sequence.xml', + 'hr_expense_workflow.xml', + 'hr_expense_view.xml', + 'hr_expense_report.xml', + 'process/hr_expense_process.xml' ], - "active": False, - "installable": True + 'demo_xml': ['hr_expense_demo.xml', 'hr.expense.expense.csv'], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/hr_holidays/__terp__.py b/addons/hr_holidays/__terp__.py index 3e5785c7abc..81889f53f1d 100644 --- a/addons/hr_holidays/__terp__.py +++ b/addons/hr_holidays/__terp__.py @@ -1,11 +1,11 @@ # -*- encoding: utf-8 -*- + + { - "name" : "Human Resources: Holidays management", - "version" : "0.1", - "author" : "Tiny & Axelor", - "category" : "Generic Modules/Human Resources", - "website" : "http://www.openerp.com", - "description": """Human Resources: Holidays tracking and workflow + 'name': 'Human Resources: Holidays management', + 'version': '0.1', + 'category': 'Generic Modules/Human Resources', + 'description': """Human Resources: Holidays tracking and workflow This module allows you to manage holidays and holidays requests. For each employee, you can also define a number of available holidays per holiday status. @@ -24,20 +24,20 @@ Administration \ Users \ Users for example, you maybe will do it for the user 'admin'. """, - "depends" : ["hr","crm_configuration", "process"], - "init_xml" : [], - "update_xml" : [ - "security/ir.model.access.csv", - "hr_workflow.xml", - "hr_view.xml", - "hr_holidays_report.xml", - "hr_holidays_wizard.xml", - "process/hr_holidays_process.xml" + 'author': 'Tiny & Axelor', + 'website': 'http://www.openerp.com', + 'depends': ['hr', 'crm_configuration', 'process'], + 'init_xml': [], + 'update_xml': [ + 'security/ir.model.access.csv', + 'hr_workflow.xml', + 'hr_view.xml', + 'hr_holidays_report.xml', + 'hr_holidays_wizard.xml', + 'process/hr_holidays_process.xml' ], -# "demo_xml" : ["hr_bel_holidays_2008.xml",], - "demo_xml" : [], - "active": False, - "installable": True + 'demo_xml': [], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/hr_timesheet/__terp__.py b/addons/hr_timesheet/__terp__.py index 7a22ad60f72..d9df80e8dd7 100644 --- a/addons/hr_timesheet/__terp__.py +++ b/addons/hr_timesheet/__terp__.py @@ -19,13 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Human Resources (Timesheet encoding)", - "version" : "1.0", - "author" : "Tiny", - "category" : "Generic Modules/Human Resources", - "website" : "http://www.openerp.com", - "description": """ + 'name': 'Human Resources (Timesheet encoding)', + 'version': '1.0', + 'category': 'Generic Modules/Human Resources', + 'description': """ This module implement a timesheet system. Each employee can encode and track their time spent on the different projects. A project is an analytic account and the time spent on a project generate costs on @@ -36,19 +36,19 @@ Lots of reporting on time and employee tracking are provided. It is completely integrated with the cost accounting module. It allows you to set up a management by affair. """, - "depends" : ["account", "hr", "base", "hr_attendance", "process"], - "init_xml" : ["hr_timesheet_data.xml"], - "demo_xml" : ["hr_timesheet_demo.xml",], - "update_xml" : [ - "security/ir.model.access.csv", - "hr_timesheet_view.xml", - "hr_timesheet_report.xml", - "hr_timesheet_wizard.xml", - "process/hr_timesheet_process.xml" + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['account', 'hr', 'base', 'hr_attendance', 'process'], + 'init_xml': ['hr_timesheet_data.xml'], + 'update_xml': [ + 'security/ir.model.access.csv', + 'hr_timesheet_view.xml', + 'hr_timesheet_report.xml', + 'hr_timesheet_wizard.xml', + 'process/hr_timesheet_process.xml' ], - "active": False, - "installable": True + 'demo_xml': ['hr_timesheet_demo.xml'], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/hr_timesheet_invoice/__terp__.py b/addons/hr_timesheet_invoice/__terp__.py index d4efaf4ac44..5d88004faad 100644 --- a/addons/hr_timesheet_invoice/__terp__.py +++ b/addons/hr_timesheet_invoice/__terp__.py @@ -19,30 +19,28 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Invoice on analytic lines", - "version" : "1.0", - "author" : "Tiny", - "category" : "Generic Modules/Accounting", - "website" : "http://www.openerp.com", - "depends" : ["account",'hr_timesheet'], - "description": """ + 'name': 'Invoice on analytic lines', + 'version': '1.0', + 'category': 'Generic Modules/Accounting', + 'description': """ Module to generate invoices based on costs (human resources, expenses, ...). You can define price lists in analytic account, make some theoretical revenue reports, eso.""", - "init_xml" : [], - "demo_xml" : [ - 'hr_timesheet_invoice_demo.xml' - ], - "update_xml" : [ - "security/ir.model.access.csv", + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['account', 'hr_timesheet'], + 'init_xml': [], + 'update_xml': [ + 'security/ir.model.access.csv', 'hr_timesheet_invoice_view.xml', 'hr_timesheet_invoice_wizard.xml', 'hr_timesheet_invoice_report.xml' ], - "active": False, - "installable": True + 'demo_xml': ['hr_timesheet_invoice_demo.xml'], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/hr_timesheet_project/__terp__.py b/addons/hr_timesheet_project/__terp__.py index cf392a60b72..4fc307d42c3 100644 --- a/addons/hr_timesheet_project/__terp__.py +++ b/addons/hr_timesheet_project/__terp__.py @@ -19,20 +19,18 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Human Resources (Timesheet encoding from project tasks)", - "version" : "1.0", - "author" : "Tiny", - "category" : "Generic Modules/Human Resources", - "description": """Auto-complete timesheet based on tasks made on the project management module.""", - "website" : "http://www.openerp.com", - "depends" : ["project", "hr_timesheet_sheet"], - "update_xml" : ["hr_timesheet_project_view.xml", - "process/hr_timesheet_project_process.xml", - ], - "active": False, - "installable": True + 'name': 'Human Resources (Timesheet encoding from project tasks)', + 'version': '1.0', + 'category': 'Generic Modules/Human Resources', + 'description': """Auto-complete timesheet based on tasks made on the project management module.""", + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['project', 'hr_timesheet_sheet'], + 'update_xml': ['hr_timesheet_project_view.xml', 'process/hr_timesheet_project_process.xml'], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/hr_timesheet_sheet/__terp__.py b/addons/hr_timesheet_sheet/__terp__.py index 3635a98ae1e..4686086353f 100644 --- a/addons/hr_timesheet_sheet/__terp__.py +++ b/addons/hr_timesheet_sheet/__terp__.py @@ -19,13 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Timesheets", - "version" : "1.0", - "author" : "Tiny", - "category" : "Generic Modules/Human Resources", - "website" : "http://www.openerp.com", - "description": """ + 'name': 'Timesheets', + 'version': '1.0', + 'category': 'Generic Modules/Human Resources', + 'description': """ This module help you easily encode and validate timesheet and attendances within the same view. The upper part of the view is for attendances and track (sign in/sign out) events. The lower part is for timesheet. @@ -44,18 +44,18 @@ The validation can be configured in te company: * Period size (day, week, month, year) * Maximal difference between timesheet and attendances """, - "depends" : ["hr_timesheet", "hr_timesheet_invoice", "process"], - "init_xml" : [], - "demo_xml" : ["hr_timesheet_sheet_demo.xml",], - "update_xml" : [ - "security/ir.model.access.csv", - "hr_timesheet_sheet_view.xml", - "hr_timesheet_workflow.xml", - "process/hr_timesheet_sheet_process.xml", + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['hr_timesheet', 'hr_timesheet_invoice', 'process'], + 'init_xml': [], + 'update_xml': [ + 'security/ir.model.access.csv', + 'hr_timesheet_sheet_view.xml', + 'hr_timesheet_workflow.xml', + 'process/hr_timesheet_sheet_process.xml' ], - "active": False, - "installable": True + 'demo_xml': ['hr_timesheet_sheet_demo.xml'], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/idea/__terp__.py b/addons/idea/__terp__.py index 554f1724268..e5705f8499d 100644 --- a/addons/idea/__terp__.py +++ b/addons/idea/__terp__.py @@ -20,23 +20,23 @@ # ############################################################################## + { - "name" : "Idea Manager", - "version" : "0.1", - "author" : "Tiny", - "website" : "http://openerp.com", - "category" : "Tools", - "description": """This module allows your user to easily and efficiently participate in the innovation of the enterprise. It allows everybody to express ideas about different subjects. Then, others users can comment these ideas and vote for particular ideas. Each idea as a score based on the different votes. The managers can obtain an easy view on best ideas from all the users. Once installed, check the menu 'Ideas' in the 'Tools' main menu.""", - "depends" : ['base'], - "init_xml" : [ ], - "demo_xml" : [ ], - "update_xml" : [ - 'idea_view.xml', - 'idea_workflow.xml', - "security/idea_security.xml", - "security/ir.model.access.csv", - ], - "installable": True + 'name': 'Idea Manager', + 'version': '0.1', + 'category': 'Tools', + 'description': """This module allows your user to easily and efficiently participate in the innovation of the enterprise. It allows everybody to express ideas about different subjects. Then, others users can comment these ideas and vote for particular ideas. Each idea as a score based on the different votes. The managers can obtain an easy view on best ideas from all the users. Once installed, check the menu 'Ideas' in the 'Tools' main menu.""", + 'author': 'Tiny', + 'website': 'http://openerp.com', + 'depends': ['base'], + 'init_xml': [], + 'update_xml': [ + 'idea_view.xml', + 'idea_workflow.xml', + 'security/idea_security.xml', + 'security/ir.model.access.csv' + ], + 'demo_xml': [], + 'installable': True, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/l10n_be/__terp__.py b/addons/l10n_be/__terp__.py index 16b987268ed..cf3c7a08502 100644 --- a/addons/l10n_be/__terp__.py +++ b/addons/l10n_be/__terp__.py @@ -19,15 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Belgium - Plan Comptable Minimum Normalise", - "version" : "1.1", - "author" : "Tiny", - "category" : "Localisation/Account Charts", - "depends" : ["account", "account_report", "base_vat", "base_iban", - "account_chart"], - "init_xml" : [], - "description": """ + 'name': 'Belgium - Plan Comptable Minimum Normalise', + 'version': '1.1', + 'category': 'Localisation/Account Charts', + 'description': """ This is the base module to manage the accounting chart for Belgium in Open ERP. After Installing this module,The Configuration wizard for accounting is launched. @@ -41,13 +39,11 @@ * Prepares an XML file for Vat Declaration of the Main company of the User currently Logged in.Path to access : Financial Management/Reporting/Listing of VAT Customers. """, - "demo_xml" : [ -# "account_demo.xml", -# "account.report.report.csv" - ], - "update_xml" : ["account_pcmn_belgium.xml","l10n_be_wizard.xml", "l10n_be_sequence.xml"], - "installable": True + 'author': 'Tiny', + 'depends': ['account', 'account_report', 'base_vat', 'base_iban', 'account_chart'], + 'init_xml': [], + 'update_xml': ['account_pcmn_belgium.xml', 'l10n_be_wizard.xml', 'l10n_be_sequence.xml'], + 'demo_xml': [], + 'installable': True, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/l10n_chart_uk_minimal/__terp__.py b/addons/l10n_chart_uk_minimal/__terp__.py index 2c8b53cacf7..84ccf3e78b6 100644 --- a/addons/l10n_chart_uk_minimal/__terp__.py +++ b/addons/l10n_chart_uk_minimal/__terp__.py @@ -57,20 +57,24 @@ # Status 1.0 - tested on Open ERP 4.1.0, 4.0.3 # - COGS account type fixed # + + { - "name" : "United Kingdom - minimal", - "version" : "1.1", - "author" : "Seath Solutions Ltd", - "website": "http://www.seathsolutions.com", - "category" : "Localisation/Account Charts", - "description": "This is the base module to manage the accounting chart for United Kingdom in Open ERP.", - "depends" : ["base", "account", "base_iban", "base_vat", "account_chart"], - "init_xml" : [], - "demo_xml" : [], - "update_xml" : ["account_types.xml","account_chart.xml", - "account_tax.xml","l10n_uk_wizard.xml"], - "installable": True + 'name': 'United Kingdom - minimal', + 'version': '1.1', + 'category': 'Localisation/Account Charts', + 'description': """This is the base module to manage the accounting chart for United Kingdom in Open ERP.""", + 'author': 'Seath Solutions Ltd', + 'website': 'http://www.seathsolutions.com', + 'depends': ['base', 'account', 'base_iban', 'base_vat', 'account_chart'], + 'init_xml': [], + 'update_xml': [ + 'account_types.xml', + 'account_chart.xml', + 'account_tax.xml', + 'l10n_uk_wizard.xml' + ], + 'demo_xml': [], + 'installable': True, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/l10n_fr/__terp__.py b/addons/l10n_fr/__terp__.py index dd210e6ffd3..045c05884c1 100644 --- a/addons/l10n_fr/__terp__.py +++ b/addons/l10n_fr/__terp__.py @@ -27,14 +27,13 @@ # Règlement disponible sur http://comptabilite.erp-libre.info # Mise en forme et paramétrage par http://sisalp.fr et http://nbconseil.net # + + { - "name" : "France - Plan comptable Societe - 99-03", - "version" : "1.1", - "author" : "SISalp-NBconseil", - "category" : "Localisation/Account Charts", - "website": "http://erp-libre.info", - "depends" : ["base", "account", "account_chart", 'base_vat'], - "description": """ + 'name': 'France - Plan comptable Societe - 99-03', + 'version': '1.1', + 'category': 'Localisation/Account Charts', + 'description': """ This is the base module to manage the accounting chart for France in Open ERP. After Installing this module,The Configuration wizard for accounting is launched. @@ -46,12 +45,18 @@ * This module installs : The Tax Code chart and taxes for French Accounting. """, - "init_xml" : ["fr_data.xml"], - "update_xml" : ["l10n_fr_view.xml","types.xml", "plan-99-03_societe.xml", - "taxes.xml","fr_wizard.xml",], - "demo_xml" : [], - "installable": True + 'author': 'SISalp-NBconseil', + 'website': 'http://erp-libre.info', + 'depends': ['base', 'account', 'account_chart', 'base_vat'], + 'init_xml': ['fr_data.xml'], + 'update_xml': [ + 'l10n_fr_view.xml', + 'types.xml', + 'plan-99-03_societe.xml', + 'taxes.xml', + 'fr_wizard.xml' + ], + 'demo_xml': [], + 'installable': True, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/l10n_lu/__terp__.py b/addons/l10n_lu/__terp__.py index 2c7c72d041e..e2cb7ed7299 100644 --- a/addons/l10n_lu/__terp__.py +++ b/addons/l10n_lu/__terp__.py @@ -19,27 +19,30 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Luxembourg - Plan Comptable Minimum Normalise", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://openerp.com", - "category" : "Localisation/Account Charts", - "description": """ + 'name': 'Luxembourg - Plan Comptable Minimum Normalise', + 'version': '1.0', + 'category': 'Localisation/Account Charts', + 'description': """ This module installs: *the KLUWER Chart of Accounts, *the Tax Code Chart for Luxembourg *the main taxes used in Luxembourg""", - "depends" : ["account","account_report","base_vat","base_iban"], - "init_xml" : [ ], - "demo_xml" : ["account.report.report.csv"], - "update_xml" : [ - "account.tax.code.template.csv", - "l10n_lu_data.xml", - "account.tax.template.csv", - "l10n_lu_wizard.xml", - "l10n_lu_report.xml", - ], - "installable": True + 'author': 'Tiny', + 'website': 'http://openerp.com', + 'depends': ['account', 'account_report', 'base_vat', 'base_iban'], + 'init_xml': [], + 'update_xml': [ + 'account.tax.code.template.csv', + 'l10n_lu_data.xml', + 'account.tax.template.csv', + 'l10n_lu_wizard.xml', + 'l10n_lu_report.xml' + ], + 'demo_xml': ['account.report.report.csv'], + 'installable': True, } +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/membership/__terp__.py b/addons/membership/__terp__.py index b3a574de666..bf30d42f390 100644 --- a/addons/membership/__terp__.py +++ b/addons/membership/__terp__.py @@ -19,19 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Membership", - "version" : "0.1", - "author" : "Tiny", - "category" : "Generic Modules/Association", - "depends" : [ - "base", "product", "account","process" - ], - "demo_xml" : [ - #"demo_data.xml", - "membership_demo.xml" - ], - "description": """ + 'name': 'Membership', + 'version': '0.1', + 'category': 'Generic Modules/Association', + 'description': """ This module allows you to manage all operations for managing memberships. It supports different kind of members: * Free member @@ -43,16 +37,17 @@ It supports different kind of members: It is integrated with sales and accounting to allow you to automatically invoice and send propositions for membership renewal. """, - "init_xml" : [ - "membership_data.xml", - ], - "update_xml" : [ - "security/ir.model.access.csv", - "membership_view.xml","membership_wizard.xml", - "process/membership_process.xml" - ], - "active" : False, - "installable" : True, + 'author': 'Tiny', + 'depends': ['base', 'product', 'account', 'process'], + 'init_xml': ['membership_data.xml'], + 'update_xml': [ + 'security/ir.model.access.csv', + 'membership_view.xml', + 'membership_wizard.xml', + 'process/membership_process.xml' + ], + 'demo_xml': ['membership_demo.xml'], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/mrp/__terp__.py b/addons/mrp/__terp__.py index 6de7993d128..54d372c6ee3 100644 --- a/addons/mrp/__terp__.py +++ b/addons/mrp/__terp__.py @@ -19,14 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Manufacturing Resource Planning", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "category" : "Generic Modules/Production", - "depends" : ["stock", "hr", "purchase", "product","process"], - "description": """ + 'name': 'Manufacturing Resource Planning', + 'version': '1.0', + 'category': 'Generic Modules/Production', + 'description': """ This is the base module to manage the manufacturing process in Open ERP. Features: @@ -53,24 +52,25 @@ * Print a production order * Stock forecasts """, - "init_xml" : [], - "demo_xml" : ["mrp_demo.xml","mrp_order_point.xml"], - "update_xml" : [ - "security/mrp_security.xml", - "security/ir.model.access.csv", - "mrp_workflow.xml", - "mrp_data.xml", - "mrp_view.xml", - "mrp_wizard.xml", - "mrp_report.xml", - "company_view.xml", - "process/stockable_product_process.xml", - "process/service_product_process.xml", - "process/procurement_process.xml", + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['stock', 'hr', 'purchase', 'product', 'process'], + 'init_xml': [], + 'update_xml': [ + 'security/mrp_security.xml', + 'security/ir.model.access.csv', + 'mrp_workflow.xml', + 'mrp_data.xml', + 'mrp_view.xml', + 'mrp_wizard.xml', + 'mrp_report.xml', + 'company_view.xml', + 'process/stockable_product_process.xml', + 'process/service_product_process.xml', + 'process/procurement_process.xml' ], - "active": False, - "installable": True + 'demo_xml': ['mrp_demo.xml', 'mrp_order_point.xml'], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/mrp_jit/__terp__.py b/addons/mrp_jit/__terp__.py index 67ecfef9597..19342d07d7d 100644 --- a/addons/mrp_jit/__terp__.py +++ b/addons/mrp_jit/__terp__.py @@ -19,12 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name":"MRP JIT", - "version":"1.0", - "author":"Tiny", - "category":"Generic Modules/Production", - "description": """ + 'name': 'MRP JIT', + 'version': '1.0', + 'category': 'Generic Modules/Production', + 'description': """ This module allows Just In Time computation of all procurement. If you install this module, you will not have to run the schedulers anymore. @@ -35,11 +36,11 @@ as possible. In that case, you can not use priorities anymore on the different pickings. """, - "depends":["mrp","sale"], - "demo_xml":[], - "update_xml":["mrp_jit.xml"], - "active":False, - "installable":True, + 'author': 'Tiny', + 'depends': ['mrp', 'sale'], + 'update_xml': ['mrp_jit.xml'], + 'demo_xml': [], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/mrp_operations/__terp__.py b/addons/mrp_operations/__terp__.py index 4983dd66d10..d486803e9fc 100755 --- a/addons/mrp_operations/__terp__.py +++ b/addons/mrp_operations/__terp__.py @@ -19,14 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Workcenter Production start end workflow", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "category" : "Generic Modules/Production", - "depends" : ["stock", "hr", "purchase", "product", "mrp"], - "description": """ + 'name': 'Workcenter Production start end workflow', + 'version': '1.0', + 'category': 'Generic Modules/Production', + 'description': """ This module adds state, date_start,date_stop in production order operation lines (in the "Workcenters" tab) State: draft, confirm, done, cancel @@ -51,15 +50,19 @@ So that we can compare the theoretic delay and real delay. """, - "init_xml" : [], - "demo_xml" : ["mrp_operation_data.xml"], - "update_xml" : [ - "security/ir.model.access.csv", - "mrp_operations_workflow.xml","mrp_operations_view.xml","mrp_operations_report.xml", - "process/mrp_operation_process.xml" + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['stock', 'hr', 'purchase', 'product', 'mrp'], + 'init_xml': [], + 'update_xml': [ + 'security/ir.model.access.csv', + 'mrp_operations_workflow.xml', + 'mrp_operations_view.xml', + 'mrp_operations_report.xml', + 'process/mrp_operation_process.xml' ], - "active": False, - "installable": True + 'demo_xml': ['mrp_operation_data.xml'], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/mrp_repair/__terp__.py b/addons/mrp_repair/__terp__.py index 5ba9b2e4b8e..a246bf86ea6 100644 --- a/addons/mrp_repair/__terp__.py +++ b/addons/mrp_repair/__terp__.py @@ -19,11 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name":"Products Repairs Module", - "version":"1.0", - "author":"Tiny", - "description": """ + 'name': 'Products Repairs Module', + 'version': '1.0', + 'category': 'Custom', + 'description': """ The aim is to have a complete module to manage all products repairs. The following topics should be covered by this module: * Add/remove products in the reparation * Impact for stocks @@ -31,23 +33,19 @@ * Warranty concept * Repair quotation report * Notes for the technician and for the final customer -""", - - "category":"Custom", - "depends":["base","sale","account"], - "demo_xml":[], - "update_xml":[ - #"security/mrp_repair_security.xml", - "security/ir.model.access.csv", - "mrp_repair_sequence.xml", - "mrp_repair_wizard.xml", - "mrp_repair_view.xml", - "mrp_repair_workflow.xml", - "mrp_repair_report.xml", +""", + 'author': 'Tiny', + 'depends': ['base', 'sale', 'account'], + 'update_xml': [ + 'security/ir.model.access.csv', + 'mrp_repair_sequence.xml', + 'mrp_repair_wizard.xml', + 'mrp_repair_view.xml', + 'mrp_repair_workflow.xml', + 'mrp_repair_report.xml' ], - "active": False, - "installable": True, + 'demo_xml': [], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/mrp_subproduct/__terp__.py b/addons/mrp_subproduct/__terp__.py index 23f475f944b..6ea677425f0 100644 --- a/addons/mrp_subproduct/__terp__.py +++ b/addons/mrp_subproduct/__terp__.py @@ -19,15 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "MRP Sub Product", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "depends" : ["base","mrp"], - "category" : "Generic Modules/Production", - "init_xml" : [], - "description": """ + 'name': 'MRP Sub Product', + 'version': '1.0', + 'category': 'Generic Modules/Production', + 'description': """ This module allows you to produce several products from one production order. You can configure sub-products in the bill of material. Without this module: @@ -35,14 +33,13 @@ Without this module: With this module: A + B + C -> D + E """, - "demo_xml" : [], - "update_xml" : [ - "security/ir.model.access.csv", - "mrp_subproduct_view.xml", - ], - "active": False, - "installable": True + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['base', 'mrp'], + 'init_xml': [], + 'update_xml': ['security/ir.model.access.csv', 'mrp_subproduct_view.xml'], + 'demo_xml': [], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/point_of_sale/__terp__.py b/addons/point_of_sale/__terp__.py index ec0b34587e2..43f2f2af81f 100644 --- a/addons/point_of_sale/__terp__.py +++ b/addons/point_of_sale/__terp__.py @@ -19,12 +19,13 @@ # along with this program. If not, see . # ############################################################################## -{ - "name": "Point Of Sale", - "version": "1.0", - "author": "Tiny", - "description": """ + +{ + 'name': 'Point Of Sale', + 'version': '1.0', + 'category': 'Generic Modules/Sales & Purchases', + 'description': """ Main features : - Fast encoding of the sale. - Allow to choose one payment mode (the quick way) or to split the payment between several payment mode. @@ -34,19 +35,20 @@ Main features : - Allow to refund former sales. """, - "category": "Generic Modules/Sales & Purchases", - "depends": ["sale", "purchase", "account", "account_tax_include"], - "init_xml": [], - "demo_xml": [], - "update_xml": [ - "security/point_of_sale_security.xml", - "security/ir.model.access.csv", - "pos_report.xml", "pos_wizard.xml", - "pos_view.xml", "pos_sequence.xml", - "pos_data.xml", "pos_workflow.xml" + 'author': 'Tiny', + 'depends': ['sale', 'purchase', 'account', 'account_tax_include'], + 'init_xml': [], + 'update_xml': [ + 'security/point_of_sale_security.xml', + 'security/ir.model.access.csv', + 'pos_report.xml', + 'pos_wizard.xml', + 'pos_view.xml', + 'pos_sequence.xml', + 'pos_data.xml', + 'pos_workflow.xml' ], - "installable": True, + 'demo_xml': [], + 'installable': True, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/process/__terp__.py b/addons/process/__terp__.py index c05d8fac62d..48dcc085c18 100644 --- a/addons/process/__terp__.py +++ b/addons/process/__terp__.py @@ -19,25 +19,22 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Enterprise Process", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "category" : "Generic Modules/Base", - "description": """ + 'name': 'Enterprise Process', + 'version': '1.0', + 'category': 'Generic Modules/Base', + 'description': """ This module allows you to manage your process for the end-users. """, - "depends" : ["base"], - "init_xml" : [], - "demo_xml" : [], - "update_xml" : [ - "security/ir.model.access.csv", - 'process_view.xml', - ], - "active": False, - "installable": True + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['base'], + 'init_xml': [], + 'update_xml': ['security/ir.model.access.csv', 'process_view.xml'], + 'demo_xml': [], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/product/__terp__.py b/addons/product/__terp__.py index 6eeebef27e3..9c82b11c5c2 100644 --- a/addons/product/__terp__.py +++ b/addons/product/__terp__.py @@ -19,15 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Products & Pricelists", - "version" : "1.0", - "author" : "Tiny", - "category" : "Generic Modules/Inventory Control", - "depends" : ["base", "process"], - "init_xml" : [], - "demo_xml" : ["product_demo.xml"], - "description": """ + 'name': 'Products & Pricelists', + 'version': '1.0', + 'category': 'Generic Modules/Inventory Control', + 'description': """ This is the base module to manage products and pricelists in Open ERP. Products support variants, different pricing methods, suppliers @@ -45,18 +43,22 @@ Print product labels with barcode. """, - "update_xml" : [ - "security/product_security.xml", - "security/ir.model.access.csv", - "product_data.xml", - "product_report.xml", - "product_view.xml", "pricelist_view.xml", - "partner_view.xml", "product_wizard.xml", - "process/product_process.xml" - ], - "active": False, - "installable": True + 'author': 'Tiny', + 'depends': ['base', 'process'], + 'init_xml': [], + 'update_xml': [ + 'security/product_security.xml', + 'security/ir.model.access.csv', + 'product_data.xml', + 'product_report.xml', + 'product_view.xml', + 'pricelist_view.xml', + 'partner_view.xml', + 'product_wizard.xml', + 'process/product_process.xml' + ], + 'demo_xml': ['product_demo.xml'], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/product_margin/__terp__.py b/addons/product_margin/__terp__.py index a8f74903900..f52a4c150ac 100644 --- a/addons/product_margin/__terp__.py +++ b/addons/product_margin/__terp__.py @@ -19,21 +19,22 @@ # along with this program. If not, see . # ############################################################################## + + { - "name":"Margins in Product", - "version":"1.0", - "author":"Tiny", - "category":"Custom", - "description": """ + 'name': 'Margins in Product', + 'version': '1.0', + 'category': 'Custom', + 'description': """ Adds a reporting menu in products that computes sales, purchases, margins and others interesting indicators based on invoices. The wizard to launch the report has several options to help you get the data you need. """, - "depends":["base","product","account"], - "demo_xml":[], - "update_xml":["product_margin_view.xml"], - "active": False, - "installable": True, + 'author': 'Tiny', + 'depends': ['base', 'product', 'account'], + 'update_xml': ['product_margin_view.xml'], + 'demo_xml': [], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/profile_accounting/__terp__.py b/addons/profile_accounting/__terp__.py index 90a48976839..d7d1ffecb63 100644 --- a/addons/profile_accounting/__terp__.py +++ b/addons/profile_accounting/__terp__.py @@ -19,21 +19,18 @@ # along with this program. If not, see . # ############################################################################## + + { - "name":"Accounting only profile", - "version":"1.0", - "author":"Tiny", - "category":"Profile", - "description": "Profile for Accounting", - "depends":["account","report_analytic","board_account","account_followup"], - "demo_xml":[], - "update_xml":[ - "security/ir.model.access.csv", - "profile_accounting.xml" - ], - "active":False, - "installable":True, + 'name': 'Accounting only profile', + 'version': '1.0', + 'category': 'Profile', + 'description': """Profile for Accounting""", + 'author': 'Tiny', + 'depends': ['account', 'report_analytic', 'board_account', 'account_followup'], + 'update_xml': ['security/ir.model.access.csv', 'profile_accounting.xml'], + 'demo_xml': [], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/profile_association/__terp__.py b/addons/profile_association/__terp__.py index f88043de40f..fbc02288c24 100644 --- a/addons/profile_association/__terp__.py +++ b/addons/profile_association/__terp__.py @@ -19,20 +19,18 @@ # along with this program. If not, see . # ############################################################################## -{ - "name":"Association profile", - "version":"0.1", - "author":"Tiny", - "category":"Profile", - "description": "Profile for Associates", - "depends":["membership", "board_association"], - "demo_xml":[], - "update_xml":[ - "security/ir.model.access.csv", - "profile_association.xml" - ], - "active":False, - "installable":True, - } -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: + +{ + 'name': 'Association profile', + 'version': '0.1', + 'category': 'Profile', + 'description': """Profile for Associates""", + 'author': 'Tiny', + 'depends': ['membership', 'board_association'], + 'update_xml': ['security/ir.model.access.csv', 'profile_association.xml'], + 'demo_xml': [], + 'installable': True, + 'active': False, +} +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/profile_auction/__terp__.py b/addons/profile_auction/__terp__.py index 40babba070a..da406a07b7a 100644 --- a/addons/profile_auction/__terp__.py +++ b/addons/profile_auction/__terp__.py @@ -19,17 +19,18 @@ # along with this program. If not, see . # ############################################################################## + + { - "name":"Auction house profile", - "version":"1.0", - "author":"Tiny", - "category":"Profile", - "description": "Profile for Auction house", - "depends":["auction", "board_auction","account","hr_timesheet_sheet"], - "demo_xml":[], - "update_xml":[], - "active":False, - "installable":True, + 'name': 'Auction house profile', + 'version': '1.0', + 'category': 'Profile', + 'description': """Profile for Auction house""", + 'author': 'Tiny', + 'depends': ['auction', 'board_auction', 'account', 'hr_timesheet_sheet'], + 'update_xml': [], + 'demo_xml': [], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/profile_crm/__terp__.py b/addons/profile_crm/__terp__.py index 12534461f3c..5c08e496384 100644 --- a/addons/profile_crm/__terp__.py +++ b/addons/profile_crm/__terp__.py @@ -19,19 +19,18 @@ # along with this program. If not, see . # ############################################################################## + + { - "name":"CRM profile", - "version":"1.0", - "author":"Tiny", - "category":"Profile", - "description": "Profile for CRM", - "depends":[ - "crm_vertical", "board_crm_configuration", - ], - "demo_xml":[], - "update_xml":[], - "active":False, - "installable":True, + 'name': 'CRM profile', + 'version': '1.0', + 'category': 'Profile', + 'description': """Profile for CRM""", + 'author': 'Tiny', + 'depends': ['crm_vertical', 'board_crm_configuration'], + 'update_xml': [], + 'demo_xml': [], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/profile_manufacturing/__terp__.py b/addons/profile_manufacturing/__terp__.py index 0e445cad51b..52598e42874 100644 --- a/addons/profile_manufacturing/__terp__.py +++ b/addons/profile_manufacturing/__terp__.py @@ -19,21 +19,18 @@ # along with this program. If not, see . # ############################################################################## + + { - "name":"Manufacturing industry profile", - "version":"1.0", - "author":"Tiny", - "category":"Profile", - "description": "Profile for manufacturing industries", - "depends":["mrp", "sale", "delivery","board_manufacturing","product_margin"], - "demo_xml":[], - "update_xml":[ - "security/ir.model.access.csv", - "profile_manufacturing.xml" - ], - "active":False, - "installable":True, + 'name': 'Manufacturing industry profile', + 'version': '1.0', + 'category': 'Profile', + 'description': """Profile for manufacturing industries""", + 'author': 'Tiny', + 'depends': ['mrp', 'sale', 'delivery', 'board_manufacturing', 'product_margin'], + 'update_xml': ['security/ir.model.access.csv', 'profile_manufacturing.xml'], + 'demo_xml': [], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/profile_service/__terp__.py b/addons/profile_service/__terp__.py index 21900ba9f33..f8fedb97b18 100644 --- a/addons/profile_service/__terp__.py +++ b/addons/profile_service/__terp__.py @@ -19,26 +19,18 @@ # along with this program. If not, see . # ############################################################################## -{ - "name":"Service company profile", - "version":"1.0", - "author":"Tiny", - "category":"Profile", - "description": "Profile for service companies", - "depends":[ - "hr", - "project", - "board_project", - "account_analytic_analysis" - ], - #"board_project", - #"board_account"], - "demo_xml":[], - "update_xml":[ - "security/ir.model.access.csv", - "profile_service.xml" - ], - "active":False, - "installable":True, -} + +{ + 'name': 'Service company profile', + 'version': '1.0', + 'category': 'Profile', + 'description': """Profile for service companies""", + 'author': 'Tiny', + 'depends': ['hr', 'project', 'board_project', 'account_analytic_analysis'], + 'update_xml': ['security/ir.model.access.csv', 'profile_service.xml'], + 'demo_xml': [], + 'installable': True, + 'active': False, +} +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/project/__terp__.py b/addons/project/__terp__.py index 163038f5cb5..c69eab2a2f5 100644 --- a/addons/project/__terp__.py +++ b/addons/project/__terp__.py @@ -19,29 +19,29 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Project Management", - "version": "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "category" : "Generic Modules/Projects & Services", - "depends" : ["product", "account", "hr", "process"], - "description": """Project management module that track multi-level projects, tasks, works done on tasks, eso. It is able to render planning, + 'name': 'Project Management', + 'version': '1.0', + 'category': 'Generic Modules/Projects & Services', + 'description': """Project management module that track multi-level projects, tasks, works done on tasks, eso. It is able to render planning, order tasks, delegate task, print gantt chart eso.""", - "init_xml" : [], - "demo_xml" : ["project_demo.xml"], - "update_xml": [ - "security/project_security.xml", - "security/ir.model.access.csv", - "project_data.xml", - "project_wizard.xml", - "project_view.xml", - "project_report.xml", - "process/task_process.xml" + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['product', 'account', 'hr', 'process'], + 'init_xml': [], + 'update_xml': [ + 'security/project_security.xml', + 'security/ir.model.access.csv', + 'project_data.xml', + 'project_wizard.xml', + 'project_view.xml', + 'project_report.xml', + 'process/task_process.xml' ], - "active": False, - "installable": True + 'demo_xml': ['project_demo.xml'], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/project_gtd/__terp__.py b/addons/project_gtd/__terp__.py index 4c442540324..b07ddb511a8 100644 --- a/addons/project_gtd/__terp__.py +++ b/addons/project_gtd/__terp__.py @@ -19,13 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Getting Things Done - Time Management Module", - "version": "1.0", - "author" : "Tiny", - "category" : "Generic Modules/Projects & Services", - "depends" : ["project"], - "description": """ + 'name': 'Getting Things Done - Time Management Module', + 'version': '1.0', + 'category': 'Generic Modules/Projects & Services', + 'description': """ This module implements all concepts defined by the Getting Things Done methodology. This world-wide used methodology is used for personal time management improvement. @@ -38,14 +38,16 @@ recording them externally. That way, the mind is freed from the job of remembering everything that needs to be done, and can concentrate on actually performing those tasks. """, - "init_xml" : [], - "demo_xml" : ["project_gtd_demo.xml"], - "update_xml": [ - "security/ir.model.access.csv", - "project_gtd_view.xml","project_gtd_wizard.xml" + 'author': 'Tiny', + 'depends': ['project'], + 'init_xml': [], + 'update_xml': [ + 'security/ir.model.access.csv', + 'project_gtd_view.xml', + 'project_gtd_wizard.xml' ], - "active": False, - "installable": True + 'demo_xml': ['project_gtd_demo.xml'], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/project_mrp/__terp__.py b/addons/project_mrp/__terp__.py index c1548e121df..6ed7e55aa42 100644 --- a/addons/project_mrp/__terp__.py +++ b/addons/project_mrp/__terp__.py @@ -19,27 +19,26 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Project Management - MRP and Sale Integration", - "version": "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "category" : "Generic Modules/Projects & Services", - "depends" : ["project", 'mrp', "sale", "mrp_jit"], - "description": """ + 'name': 'Project Management - MRP and Sale Integration', + 'version': '1.0', + 'category': 'Generic Modules/Projects & Services', + 'description': """ This module is used to automatically create tasks based on different procurements: sales order, manufacturing order, ... It is mainly used to invoices services based on tasks automatically created by sales orders. """, - "init_xml" : [], - "demo_xml" : [], - "update_xml": ["project_workflow.xml", - "process/project_mrp_process.xml" - ], - "active": False, - "installable": True + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['project', 'mrp', 'sale', 'mrp_jit'], + 'init_xml': [], + 'update_xml': ['project_workflow.xml', 'process/project_mrp_process.xml'], + 'demo_xml': [], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/project_retro_planning/__terp__.py b/addons/project_retro_planning/__terp__.py index 129587d6ddb..bdee89933ce 100644 --- a/addons/project_retro_planning/__terp__.py +++ b/addons/project_retro_planning/__terp__.py @@ -19,21 +19,20 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Project Retro planning", - "version" : "0.1", - "author" : "Tiny", - "category" : "Generic Modules/Projects & Services", - "description": """ + 'name': 'Project Retro planning', + 'version': '0.1', + 'category': 'Generic Modules/Projects & Services', + 'description': """ - Stop date of project is change will change all the tasks of that project to same number of days """, - "depends" : [ - "base", "project" - ], - "demo_xml" : [], - "init_xml" : [], - "update_xml" : [], - "active" : False, - "installable" : True, + 'author': 'Tiny', + 'depends': ['base', 'project'], + 'init_xml': [], + 'update_xml': [], + 'demo_xml': [], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/project_timesheet/__terp__.py b/addons/project_timesheet/__terp__.py index 412c0b1d7d8..160d97a3edc 100644 --- a/addons/project_timesheet/__terp__.py +++ b/addons/project_timesheet/__terp__.py @@ -19,23 +19,24 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Project Timesheet", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "category" : "Generic Modules/Human Resources", - "description": """ + 'name': 'Project Timesheet', + 'version': '1.0', + 'category': 'Generic Modules/Human Resources', + 'description': """ This module lets you transfer the entries under tasks defined for Project Management to the Timesheet line entries for particular date and particular user with the effect of creating, editing and deleting either ways. """, - "depends" : ["base", "project", "hr_timesheet"], - "init_xml" : [], - "demo_xml" : [], - "update_xml" : [], - "active": False, - "installable": True + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['base', 'project', 'hr_timesheet'], + 'init_xml': [], + 'update_xml': [], + 'demo_xml': [], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/purchase/__terp__.py b/addons/purchase/__terp__.py index 2ef28031194..8b9bcbfdee9 100644 --- a/addons/purchase/__terp__.py +++ b/addons/purchase/__terp__.py @@ -19,35 +19,33 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Purchase Management", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "depends" : ["base", "account", "stock", "process"], - "category" : "Generic Modules/Sales & Purchases", - "description": """Module for purchase management + 'name': 'Purchase Management', + 'version': '1.0', + 'category': 'Generic Modules/Sales & Purchases', + 'description': """Module for purchase management Request for quotation, Create Supplier Invoice, Print Order...""", - "init_xml" : [], - "demo_xml" : ["purchase_demo.xml", - #"purchase_unit_test.xml" - ], - "update_xml" : [ - "security/purchase_security.xml", - "security/ir.model.access.csv", - "purchase_workflow.xml", - "purchase_sequence.xml", - "purchase_data.xml", - "purchase_view.xml", - "purchase_report.xml", - "purchase_wizard.xml", - "stock_view.xml", - "partner_view.xml", - "process/purchase_process.xml" + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['base', 'account', 'stock', 'process'], + 'init_xml': [], + 'update_xml': [ + 'security/purchase_security.xml', + 'security/ir.model.access.csv', + 'purchase_workflow.xml', + 'purchase_sequence.xml', + 'purchase_data.xml', + 'purchase_view.xml', + 'purchase_report.xml', + 'purchase_wizard.xml', + 'stock_view.xml', + 'partner_view.xml', + 'process/purchase_process.xml' ], - "active": False, - "installable": True + 'demo_xml': ['purchase_demo.xml'], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/purchase_analytic_plans/__terp__.py b/addons/purchase_analytic_plans/__terp__.py index 9a8c51fefea..3fbdc9ffe8c 100644 --- a/addons/purchase_analytic_plans/__terp__.py +++ b/addons/purchase_analytic_plans/__terp__.py @@ -19,23 +19,22 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Purchase Analytic Distribution Management", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "depends" : ["purchase","account_analytic_plans"], - "category" : "Generic Modules/Sales & Purchases", - "init_xml" : [], - "demo_xml" : [], - "description": """ + 'name': 'Purchase Analytic Distribution Management', + 'version': '1.0', + 'category': 'Generic Modules/Sales & Purchases', + 'description': """ The base module to manage analytic distribution and purchase orders. """, - "update_xml" : [ - "purchase_analytic_plans_view.xml", - ], - "active": False, - "installable": True + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['purchase', 'account_analytic_plans'], + 'init_xml': [], + 'update_xml': ['purchase_analytic_plans_view.xml'], + 'demo_xml': [], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/report_account/__terp__.py b/addons/report_account/__terp__.py index 165ddc9c19e..da3e12900a7 100644 --- a/addons/report_account/__terp__.py +++ b/addons/report_account/__terp__.py @@ -19,23 +19,20 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Account Reporting - Reporting", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "depends" : ["account"], - "category" : "Generic Modules/Accounting", - "description": "A module that adds new reports based on the account module.", - "init_xml" : [], - "demo_xml" : [], - "update_xml" : [ - "security/ir.model.access.csv", - "report_receivable_view.xml", - ], - "active": False, - "installable": True + 'name': 'Account Reporting - Reporting', + 'version': '1.0', + 'category': 'Generic Modules/Accounting', + 'description': """A module that adds new reports based on the account module.""", + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['account'], + 'init_xml': [], + 'update_xml': ['security/ir.model.access.csv', 'report_receivable_view.xml'], + 'demo_xml': [], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/report_analytic/__terp__.py b/addons/report_analytic/__terp__.py index 759a017da29..9c2150591a1 100644 --- a/addons/report_analytic/__terp__.py +++ b/addons/report_analytic/__terp__.py @@ -19,23 +19,20 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Analytic Account Reporting", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "depends" : ["account","hr_timesheet_invoice"], - "category" : "Generic Modules/Accounting", - "description": "A module that adds new reports based on analytic accounts.", - "init_xml" : [], - "demo_xml" : [], - "update_xml" : [ - "security/ir.model.access.csv", - "report_analytic_view.xml", - ], - "active": False, - "installable": True + 'name': 'Analytic Account Reporting', + 'version': '1.0', + 'category': 'Generic Modules/Accounting', + 'description': """A module that adds new reports based on analytic accounts.""", + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['account', 'hr_timesheet_invoice'], + 'init_xml': [], + 'update_xml': ['security/ir.model.access.csv', 'report_analytic_view.xml'], + 'demo_xml': [], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/report_analytic_line/__terp__.py b/addons/report_analytic_line/__terp__.py index 741e7fcabec..02dee2db341 100644 --- a/addons/report_analytic_line/__terp__.py +++ b/addons/report_analytic_line/__terp__.py @@ -19,24 +19,20 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Analytic lines - Reporting", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "depends" : ["account", "hr_timesheet_invoice"], - "category" : "Generic Modules/Accounting", - "description": "A report on analytic lines, costs by products, months and accounts.", - "init_xml" : [], - "demo_xml" : [ - ], - "update_xml" : [ - "security/ir.model.access.csv", - "report_analytic_line_view.xml", - ], - "active": False, - "installable": True + 'name': 'Analytic lines - Reporting', + 'version': '1.0', + 'category': 'Generic Modules/Accounting', + 'description': """A report on analytic lines, costs by products, months and accounts.""", + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['account', 'hr_timesheet_invoice'], + 'init_xml': [], + 'update_xml': ['security/ir.model.access.csv', 'report_analytic_line_view.xml'], + 'demo_xml': [], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/report_analytic_planning/__terp__.py b/addons/report_analytic_planning/__terp__.py index 0e0a58cb319..ae7e40991dd 100644 --- a/addons/report_analytic_planning/__terp__.py +++ b/addons/report_analytic_planning/__terp__.py @@ -19,26 +19,24 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Analytic planning - Reporting", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "depends" : ["account", "hr_timesheet_invoice","project","report_analytic_line"], - "category" : "Generic Modules/Accounting", - "description": "Planning on analytic accounts.", - "init_xml" : [], - "demo_xml" : [ - "report_account_analytic.planning.csv" + 'name': 'Analytic planning - Reporting', + 'version': '1.0', + 'category': 'Generic Modules/Accounting', + 'description': """Planning on analytic accounts.""", + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['account', 'hr_timesheet_invoice', 'project', 'report_analytic_line'], + 'init_xml': [], + 'update_xml': [ + 'security/ir.model.access.csv', + 'report_analytic_planning_view.xml', + 'report_analytic_planning_report.xml' ], - "update_xml" : [ - "security/ir.model.access.csv", - "report_analytic_planning_view.xml", - "report_analytic_planning_report.xml" - ], - "active": False, - "installable": True + 'demo_xml': ['report_account_analytic.planning.csv'], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/report_crm/__terp__.py b/addons/report_crm/__terp__.py index d33630e320c..6b06fda9eef 100644 --- a/addons/report_crm/__terp__.py +++ b/addons/report_crm/__terp__.py @@ -19,24 +19,21 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "CRM Management - Reporting", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "depends" : ["crm"], - "category" : "Generic Modules/CRM & SRM", - "description": """A module that adds new reports based on CRM cases. + 'name': 'CRM Management - Reporting', + 'version': '1.0', + 'category': 'Generic Modules/CRM & SRM', + 'description': """A module that adds new reports based on CRM cases. Case By section, Case By category""", - "init_xml" : [], - "demo_xml" : [], - "update_xml" : [ - "security/ir.model.access.csv", - "report_crm_view.xml", - ], - "active": False, - "installable": True + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['crm'], + 'init_xml': [], + 'update_xml': ['security/ir.model.access.csv', 'report_crm_view.xml'], + 'demo_xml': [], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/report_document/__terp__.py b/addons/report_document/__terp__.py index 50cb46425fd..00ac105c5f6 100644 --- a/addons/report_document/__terp__.py +++ b/addons/report_document/__terp__.py @@ -19,25 +19,23 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Document Management - Reporting", - "version" : "1.0", - "author" : "Tiny", - "depends" : ["document"], - "category" : "Generic Modules/Document Management", - "description": """ + 'name': 'Document Management - Reporting', + 'version': '1.0', + 'category': 'Generic Modules/Document Management', + 'description': """ Reporting for the Document Management module: * My Files * All users Files """, - "init_xml" : [], - "demo_xml" : [], - "update_xml" : [ - "report_document_view.xml", - "security/ir.model.access.csv", - ], - "active": False, - "installable": True - } + 'author': 'Tiny', + 'depends': ['document'], + 'init_xml': [], + 'update_xml': ['report_document_view.xml', 'security/ir.model.access.csv'], + 'demo_xml': [], + 'installable': True, + 'active': False, +} # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/report_intrastat/__terp__.py b/addons/report_intrastat/__terp__.py index 642906d9818..7c2b19b70f8 100644 --- a/addons/report_intrastat/__terp__.py +++ b/addons/report_intrastat/__terp__.py @@ -19,24 +19,24 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Intrastat Reporting - Reporting", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "depends" : ["base", "product", "stock", "sale", "purchase"], - "category" : "Generic Modules/Inventory Control", - "description": "A module that adds intrastat reports.", - "init_xml" : ["report_intrastat_data.xml",], - "demo_xml" : [], - "update_xml" : [ - "security/ir.model.access.csv", - "report_intrastat_view.xml", - "intrastat_report.xml", + 'name': 'Intrastat Reporting - Reporting', + 'version': '1.0', + 'category': 'Generic Modules/Inventory Control', + 'description': """A module that adds intrastat reports.""", + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['base', 'product', 'stock', 'sale', 'purchase'], + 'init_xml': ['report_intrastat_data.xml'], + 'update_xml': [ + 'security/ir.model.access.csv', + 'report_intrastat_view.xml', + 'intrastat_report.xml' ], - "active": False, - "installable": True + 'demo_xml': [], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/report_mrp/__terp__.py b/addons/report_mrp/__terp__.py index 7c3fa5880f1..020f0d80e9e 100644 --- a/addons/report_mrp/__terp__.py +++ b/addons/report_mrp/__terp__.py @@ -19,23 +19,20 @@ # along with this program. If not, see . # ############################################################################## + + { - "name": "MRP Management - Reporting", - "version": "1.0", - "author": "Tiny", - "website": "http://www.openerp.com", - "depends": ["mrp"], - "category": "Generic Modules/Production", - "description": """A module that adds new reports based on MRP cases. + 'name': 'MRP Management - Reporting', + 'version': '1.0', + 'category': 'Generic Modules/Production', + 'description': """A module that adds new reports based on MRP cases. Workcenter loads, Weekly Stock value variation""", - "init_xml": [], - "demo_xml": [], - "update_xml": [ - "security/ir.model.access.csv", - "report_mrp_view.xml", - ], - "installable": True + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['mrp'], + 'init_xml': [], + 'update_xml': ['security/ir.model.access.csv', 'report_mrp_view.xml'], + 'demo_xml': [], + 'installable': True, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/report_project/__terp__.py b/addons/report_project/__terp__.py index 34ada9036ed..922050f1865 100644 --- a/addons/report_project/__terp__.py +++ b/addons/report_project/__terp__.py @@ -19,24 +19,21 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Sales Management - Reporting", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "depends" : ["project", "report_task"], - "category" : "Generic Modules/Sales & Purchases", - "description": """A module that adds some reports on projects. + 'name': 'Sales Management - Reporting', + 'version': '1.0', + 'category': 'Generic Modules/Sales & Purchases', + 'description': """A module that adds some reports on projects. Closed Tasks (By User and By Project), Finished Task (By User and By Project)""", - "init_xml" : [], - "demo_xml" : [], - "update_xml" : [ - "security/ir.model.access.csv", - "report_project_view.xml", - ], - "active": False, - "installable": True + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['project', 'report_task'], + 'init_xml': [], + 'update_xml': ['security/ir.model.access.csv', 'report_project_view.xml'], + 'demo_xml': [], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/report_purchase/__terp__.py b/addons/report_purchase/__terp__.py index b2b6cc19e8e..407bd7007c6 100644 --- a/addons/report_purchase/__terp__.py +++ b/addons/report_purchase/__terp__.py @@ -19,24 +19,21 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Purchase Management - Reporting", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "depends" : ["purchase"], - "category" : "Generic Modules/Sales & Purchases", - "description": '''Module to add views like - Purchase By Product, Purchase By Category of Product, All Months, Current Month.''', - "init_xml" : [], - "demo_xml" : [], - "update_xml" : [ - "security/ir.model.access.csv", - "report_purchase_view.xml", - ], - "active": False, - "installable": True + 'name': 'Purchase Management - Reporting', + 'version': '1.0', + 'category': 'Generic Modules/Sales & Purchases', + 'description': """Module to add views like + Purchase By Product, Purchase By Category of Product, All Months, Current Month.""", + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['purchase'], + 'init_xml': [], + 'update_xml': ['security/ir.model.access.csv', 'report_purchase_view.xml'], + 'demo_xml': [], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/report_sale/__terp__.py b/addons/report_sale/__terp__.py index 98bf4554bd1..07baa4c283a 100644 --- a/addons/report_sale/__terp__.py +++ b/addons/report_sale/__terp__.py @@ -19,14 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Sales Management - Reporting", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "depends" : ["sale"], - "category" : "Generic Modules/Sales & Purchases", - "description": """ + 'name': 'Sales Management - Reporting', + 'version': '1.0', + 'category': 'Generic Modules/Sales & Purchases', + 'description': """ Reporting for the sale module: * Sales order by product (my/this month/all) * Sales order by category of product (my/this month/all) @@ -37,16 +36,17 @@ * Uninvoiced Sales * Uninvoiced but shipped Sales """, - "init_xml" : [], - "demo_xml" : [], - "update_xml" : [ - "security/ir.model.access.csv", - "report_sale_view.xml", - "report_sale_graph.xml", + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['sale'], + 'init_xml': [], + 'update_xml': [ + 'security/ir.model.access.csv', + 'report_sale_view.xml', + 'report_sale_graph.xml' ], - "active": False, - "installable": True + 'demo_xml': [], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/report_task/__terp__.py b/addons/report_task/__terp__.py index 7b0d30ac29a..e57304ca7df 100644 --- a/addons/report_task/__terp__.py +++ b/addons/report_task/__terp__.py @@ -19,24 +19,18 @@ # along with this program. If not, see . # ############################################################################## + + { - 'name' : 'Report on tasks by user for projects', - 'version' :'1.0', - 'author' : 'Tiny', - "category": "Generic Modules/Projects & Services", - 'depends' : ['base','project'], - 'description': 'Gives statistics on tasks by user on projects to check the pipeline of users.', - 'init_xml' : [], - 'update_xml': [ - "security/ir.model.access.csv", - 'report_task_view.xml', - ], + 'name': 'Report on tasks by user for projects', + 'version': '1.0', + 'category': 'Generic Modules/Projects & Services', + 'description': """Gives statistics on tasks by user on projects to check the pipeline of users.""", + 'author': 'Tiny', + 'depends': ['base', 'project'], + 'init_xml': [], + 'update_xml': ['security/ir.model.access.csv', 'report_task_view.xml'], + 'installable': True, 'active': False, - 'installable': True } - - - - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/report_timesheet/__terp__.py b/addons/report_timesheet/__terp__.py index f447d1ae5a7..d0bdb535bef 100644 --- a/addons/report_timesheet/__terp__.py +++ b/addons/report_timesheet/__terp__.py @@ -19,23 +19,21 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Timesheet - Reporting", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "description": '''Module to add timesheet views like - All Month, Timesheet By User, Timesheet Of Month, Timesheet By Account''', - "depends" : ["hr_timesheet",'hr_timesheet_invoice'], - "category" : "Generic Modules/Human Resources", - "init_xml" : [], - "demo_xml" : [], - "update_xml" : [ - "security/ir.model.access.csv", - "report_timesheet_view.xml"], - "active": False, - "installable": True + 'name': 'Timesheet - Reporting', + 'version': '1.0', + 'category': 'Generic Modules/Human Resources', + 'description': """Module to add timesheet views like + All Month, Timesheet By User, Timesheet Of Month, Timesheet By Account""", + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['hr_timesheet', 'hr_timesheet_invoice'], + 'init_xml': [], + 'update_xml': ['security/ir.model.access.csv', 'report_timesheet_view.xml'], + 'demo_xml': [], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/sale/__terp__.py b/addons/sale/__terp__.py index 53270d4632f..afdcac8c111 100644 --- a/addons/sale/__terp__.py +++ b/addons/sale/__terp__.py @@ -19,16 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Sales Management", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "depends" : ["product", "stock", "mrp", "process"], - "category" : "Generic Modules/Sales & Purchases", - "init_xml" : [], - "demo_xml" : ["sale_demo.xml"], - "description": """ + 'name': 'Sales Management', + 'version': '1.0', + 'category': 'Generic Modules/Sales & Purchases', + 'description': """ The base module to manage quotations and sales orders. * Workflow with validation steps: @@ -44,23 +41,26 @@ - all at once, multi-parcel - delivery costs """, - "update_xml" : [ - "security/sale_security.xml", - "security/ir.model.access.csv", - "sale_workflow.xml", - "sale_sequence.xml", - "sale_data.xml", - "sale_wizard.xml", - "sale_view.xml", - "sale_report.xml", - "sale_wizard.xml", - "stock_view.xml", - "process/sale_process.xml", - "product_view.xml", + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['product', 'stock', 'mrp', 'process'], + 'init_xml': [], + 'update_xml': [ + 'security/sale_security.xml', + 'security/ir.model.access.csv', + 'sale_workflow.xml', + 'sale_sequence.xml', + 'sale_data.xml', + 'sale_wizard.xml', + 'sale_view.xml', + 'sale_report.xml', + 'sale_wizard.xml', + 'stock_view.xml', + 'process/sale_process.xml', + 'product_view.xml' ], - "active": False, - "installable": True + 'demo_xml': ['sale_demo.xml'], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/sale_analytic_plans/__terp__.py b/addons/sale_analytic_plans/__terp__.py index 87fde914ec3..5289f613008 100644 --- a/addons/sale_analytic_plans/__terp__.py +++ b/addons/sale_analytic_plans/__terp__.py @@ -19,23 +19,22 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Sales Analytic Distribution Management", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "depends" : ["sale","account_analytic_plans"], - "category" : "Generic Modules/Sales & Purchases", - "init_xml" : [], - "demo_xml" : [], - "description": """ + 'name': 'Sales Analytic Distribution Management', + 'version': '1.0', + 'category': 'Generic Modules/Sales & Purchases', + 'description': """ The base module to manage analytic distribution and sales orders. """, - "update_xml" : [ - "sale_analytic_plans_view.xml", - ], - "active": False, - "installable": True + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['sale', 'account_analytic_plans'], + 'init_xml': [], + 'update_xml': ['sale_analytic_plans_view.xml'], + 'demo_xml': [], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/sale_crm/__terp__.py b/addons/sale_crm/__terp__.py index 227a4dc249c..e4a7c6cd802 100644 --- a/addons/sale_crm/__terp__.py +++ b/addons/sale_crm/__terp__.py @@ -19,14 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Sale CRM Stuff", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "depends" : ["sale", "crm_configuration"], - "category" : "Generic Modules/Sales & Purchases", - "description": """ + 'name': 'Sale CRM Stuff', + 'version': '1.0', + 'category': 'Generic Modules/Sales & Purchases', + 'description': """ This module adds a shortcut on one or several cases in the CRM. This shortcut allows you to generate a sale order based the selected case. If different cases are open (a list), it generates one sale order by @@ -39,15 +38,13 @@ This shortcut allows you to generate a CRM case for the partners. We suggest you to install this module if you installed both the sale and the crm_configuration modules. """, - "init_xml" : [], - "demo_xml" : [], - "update_xml" : [ - "sale_crm_wizard.xml", - "sale_crm_view.xml", - "process/sale_crm_process.xml" - ], - "active": False, - "installable": True + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['sale', 'crm_configuration'], + 'init_xml': [], + 'update_xml': ['sale_crm_wizard.xml', 'sale_crm_view.xml', 'process/sale_crm_process.xml'], + 'demo_xml': [], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/sale_journal/__terp__.py b/addons/sale_journal/__terp__.py index baa7f11910a..08f4e90f26e 100644 --- a/addons/sale_journal/__terp__.py +++ b/addons/sale_journal/__terp__.py @@ -19,22 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Managing sales and deliveries by journal", - "version" : "1.0", - "author" : "Tiny", - "category" : "Generic Modules/Sales & Purchases", - "website": "http://www.openerp.com", - "depends" : ["stock","sale"], - "demo_xml" : ['sale_journal_demo.xml'], - "init_xml" : ['sale_journal_data.xml'], - "update_xml" : [ - "security/ir.model.access.csv", - "sale_journal_view.xml", - "picking_journal_view.xml", - "picking_journal_view_report.xml" - ], - "description" : """ + 'name': 'Managing sales and deliveries by journal', + 'version': '1.0', + 'category': 'Generic Modules/Sales & Purchases', + 'description': """ The sale journal modules allows you to categorise your sales and deliveries (packing lists) between different journals. This module is very helpful for bigger companies that @@ -57,8 +48,18 @@ Some statistics by journals are provided. """, - "active": False, - "installable": True + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['stock', 'sale'], + 'init_xml': ['sale_journal_data.xml'], + 'update_xml': [ + 'security/ir.model.access.csv', + 'sale_journal_view.xml', + 'picking_journal_view.xml', + 'picking_journal_view_report.xml' + ], + 'demo_xml': ['sale_journal_demo.xml'], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/scrum/__terp__.py b/addons/scrum/__terp__.py index 48c08d1754a..d0b63fdffdf 100644 --- a/addons/scrum/__terp__.py +++ b/addons/scrum/__terp__.py @@ -19,14 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Scrum, Agile Development Method", - "version": "1.0", - "author" : "Tiny", - "depends" : ["project", "process"], - "category" : "Enterprise Specific Modules/Information Technology", - "init_xml" : [], - "description": """ + 'name': 'Scrum, Agile Development Method', + 'version': '1.0', + 'category': 'Enterprise Specific Modules/Information Technology', + 'description': """ This modules implements all concepts defined by the scrum project management methodology for IT companies: * Project with sprints, product owner, scrum master @@ -48,17 +47,18 @@ More information on the methodology: * http://controlchaos.com """, - "demo_xml" : ["scrum_demo.xml"], - "update_xml": [ - "security/ir.model.access.csv", - "scrum_view.xml", - "scrum_report.xml", - "scrum_wizard.xml", - "process/scrum_process.xml", + 'author': 'Tiny', + 'depends': ['project', 'process'], + 'init_xml': [], + 'update_xml': [ + 'security/ir.model.access.csv', + 'scrum_view.xml', + 'scrum_report.xml', + 'scrum_wizard.xml', + 'process/scrum_process.xml' ], - "active": False, - "installable": True + 'demo_xml': ['scrum_demo.xml'], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/stock/__terp__.py b/addons/stock/__terp__.py index 2bf3fe674c8..b21a4008d07 100644 --- a/addons/stock/__terp__.py +++ b/addons/stock/__terp__.py @@ -19,37 +19,37 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Stock Management", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "depends" : ["product", "account"], - "category" : "Generic Modules/Inventory Control", - "description": '''Module provides Inventory Management, define warehouse, stock location, Pickings, + 'name': 'Stock Management', + 'version': '1.0', + 'category': 'Generic Modules/Inventory Control', + 'description': """Module provides Inventory Management, define warehouse, stock location, Pickings, Incoming products, Outgoing products, Internal movements of product, Traceability. Reports for stock like lots by location, Stock Forecast, Item Labels, Picking List etc.. - ''', - "init_xml" : [], - "demo_xml" : ["stock_demo.xml"], - "update_xml" : [ - "stock_workflow.xml", - "stock_data.xml", - "stock_incoterms.xml", - "stock_wizard.xml", - "stock_view.xml", - "stock_report.xml", - "stock_sequence.xml", - "product_data.xml", - "product_view.xml", - "partner_view.xml", - "report_stock_view.xml", - "security/stock_security.xml", - "security/ir.model.access.csv", + """, + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['product', 'account'], + 'init_xml': [], + 'update_xml': [ + 'stock_workflow.xml', + 'stock_data.xml', + 'stock_incoterms.xml', + 'stock_wizard.xml', + 'stock_view.xml', + 'stock_report.xml', + 'stock_sequence.xml', + 'product_data.xml', + 'product_view.xml', + 'partner_view.xml', + 'report_stock_view.xml', + 'security/stock_security.xml', + 'security/ir.model.access.csv' ], - "active": False, - "installable": True + 'demo_xml': ['stock_demo.xml'], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/stock_invoice_directly/__terp__.py b/addons/stock_invoice_directly/__terp__.py index 55cfb9afc7c..bbcfc12250d 100644 --- a/addons/stock_invoice_directly/__terp__.py +++ b/addons/stock_invoice_directly/__terp__.py @@ -19,22 +19,23 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Invoice Picking Directly", - "version" : "1.0", - "author" : "Tiny", - "website" : "http://www.openerp.com", - "depends" : ["delivery", "stock"], - "category" : "Generic Modules/Sales & Purchases", - "description": """ + 'name': 'Invoice Picking Directly', + 'version': '1.0', + 'category': 'Generic Modules/Sales & Purchases', + 'description': """ When you send or deliver goods, this module automatically launch the invoicing wizard if the delivery is to be invoiced. """, - "init_xml" : [], - "demo_xml" : [], - "update_xml" : [], - "active": False, - "installable": True + 'author': 'Tiny', + 'website': 'http://www.openerp.com', + 'depends': ['delivery', 'stock'], + 'init_xml': [], + 'update_xml': [], + 'demo_xml': [], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/stock_location/__terp__.py b/addons/stock_location/__terp__.py index 45b9749d544..a5046292fb3 100644 --- a/addons/stock_location/__terp__.py +++ b/addons/stock_location/__terp__.py @@ -19,13 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Stock Location Paths", - "version" : "1.0", - "author" : "Tiny", - "depends" : [ "stock"], - "category" : "Generic Modules/Inventory Control", - "description":""" + 'name': 'Stock Location Paths', + 'version': '1.0', + 'category': 'Generic Modules/Inventory Control', + 'description': """ Manages product's path in locations. This module may be useful for different purposes: @@ -37,12 +37,12 @@ This module may be useful for different purposes: - Supplier Return * Manage products to be rent. """, - "init_xml" : [], - "demo_xml" : [], - "update_xml" : ["stock_view.xml", - "security/ir.model.access.csv", - ], - "active": False, - "installable": True + 'author': 'Tiny', + 'depends': ['stock'], + 'init_xml': [], + 'update_xml': ['stock_view.xml', 'security/ir.model.access.csv'], + 'demo_xml': [], + 'installable': True, + 'active': False, } - +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/stock_no_autopicking/__terp__.py b/addons/stock_no_autopicking/__terp__.py index 2d485928084..80fb543cd21 100644 --- a/addons/stock_no_autopicking/__terp__.py +++ b/addons/stock_no_autopicking/__terp__.py @@ -19,12 +19,13 @@ # along with this program. If not, see . # ############################################################################## + + { - "name":"Stock No Auto-Picking", - "version":"1.0", - "author":"Tiny", - "category":"Generic Modules/Production", - "description": """ + 'name': 'Stock No Auto-Picking', + 'version': '1.0', + 'category': 'Generic Modules/Production', + 'description': """ This module allows an intermediate picking process to provide raw materials to production orders. @@ -33,11 +34,11 @@ which is sub-contracted to "No Auto-Picking" and put the location of the supplier in the routing of the assembly operation. """, - "depends":["mrp"], - "demo_xml":[], - "update_xml":["stock_no_autopicking_view.xml"], - "active":False, - "installable":True, + 'author': 'Tiny', + 'depends': ['mrp'], + 'update_xml': ['stock_no_autopicking_view.xml'], + 'demo_xml': [], + 'installable': True, + 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/subscription/__terp__.py b/addons/subscription/__terp__.py index f93d2c1c313..7ee57cecafd 100644 --- a/addons/subscription/__terp__.py +++ b/addons/subscription/__terp__.py @@ -19,21 +19,19 @@ # along with this program. If not, see . # ############################################################################## + + { - "name" : "Subscription and recurring operations", - "version" : "1.0", - "author" : "Tiny", - "category" : "Generic Modules/Others", - "description": '''Module allows to create new documents and add subscription on that document.''', - "depends" : ["base"], - "init_xml" : [], - "demo_xml" : [], - "update_xml" : [ - "security/ir.model.access.csv", - "subscription_view.xml"], - "active": False, - "installable": True + 'name': 'Subscription and recurring operations', + 'version': '1.0', + 'category': 'Generic Modules/Others', + 'description': """Module allows to create new documents and add subscription on that document.""", + 'author': 'Tiny', + 'depends': ['base'], + 'init_xml': [], + 'update_xml': ['security/ir.model.access.csv', 'subscription_view.xml'], + 'demo_xml': [], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/warning/__terp__.py b/addons/warning/__terp__.py index 3285c967e32..d9a680c5aa3 100644 --- a/addons/warning/__terp__.py +++ b/addons/warning/__terp__.py @@ -19,19 +19,18 @@ # along with this program. If not, see . # ############################################################################## + + { - "name":"Module for Warnings form onchange Event", - "version":"1.0", - "author":"Tiny", - "category":"Tools", - "depends":["base","sale"], - "demo_xml":[], - "update_xml":[ - "warning_view.xml"], - "description": "Module for Warnings form onchange Event.", - "active":False, - "installable":True, + 'name': 'Module for Warnings form onchange Event', + 'version': '1.0', + 'category': 'Tools', + 'description': """Module for Warnings form onchange Event.""", + 'author': 'Tiny', + 'depends': ['base', 'sale'], + 'update_xml': ['warning_view.xml'], + 'demo_xml': [], + 'installable': True, + 'active': False, } - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/wiki/__terp__.py b/addons/wiki/__terp__.py index 547fe8d70e0..6ed5025fd8c 100644 --- a/addons/wiki/__terp__.py +++ b/addons/wiki/__terp__.py @@ -1,26 +1,27 @@ + + { - "name" : "Document Management - Wiki", - "version" : "1.0", - "author" : "Tiny & Axelor", - "description": """ + 'name': 'Document Management - Wiki', + 'version': '1.0', + 'category': 'Generic Modules/Others', + 'description': """ The base module to manage documents(wiki) keep track for the wiki groups, pages, and history """, - "category" : "Generic Modules/Others", - "depends" : ["base"], - "website" : "http://openerp.com", - "init_xml" : [], - "demo_xml" : [ - "data/wiki_faq.xml", + 'author': 'Tiny & Axelor', + 'website': 'http://openerp.com', + 'depends': ['base'], + 'init_xml': [], + 'update_xml': [ + 'wiki_view.xml', + 'data/wiki_quickstart.xml', + 'data/wiki_main.xml', + 'wizard/wizard_view.xml', + 'security/ir.model.access.csv' ], - "update_xml" : [ - "wiki_view.xml", - "data/wiki_quickstart.xml", - "data/wiki_main.xml", - "wizard/wizard_view.xml", - "security/ir.model.access.csv" - ], - "active": False, - "installable": True + 'demo_xml': ['data/wiki_faq.xml'], + 'installable': True, + 'active': False, } +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From 5418bf7003f9733309f8b82e9ed86e9af25aa71a Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Tue, 6 Jan 2009 17:24:21 +0100 Subject: [PATCH 28/68] [FIX] Typo bzr revid: stephane@tinyerp.com-20090106162421-w79hcim4hrlpp80a --- bin/addons/base/module/module.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/bin/addons/base/module/module.py b/bin/addons/base/module/module.py index 69dd7408a59..f5f5b80914e 100644 --- a/bin/addons/base/module/module.py +++ b/bin/addons/base/module/module.py @@ -176,7 +176,7 @@ class module(osv.osv): 'menus_by_module': fields.function(_get_views, method=True, string='Menus', type='text', multi="meta", store=True), 'reports_by_module': fields.function(_get_views, method=True, string='Reports', type='text', multi="meta", store=True), 'views_by_module': fields.function(_get_views, method=True, string='Views', type='text', multi="meta", store=True), - 'certificat' : fields.char('Certificat', size=64, readonly=True), + 'certificate' : fields.char('Certificate', size=64, readonly=True), } _defaults = { @@ -188,28 +188,28 @@ class module(osv.osv): _sql_constraints = [ ('name_uniq', 'unique (name)', 'The name of the module must be unique !'), - ('certificat_uniq', 'unique (certificat)', 'The certificat ID of the module must be unique !') + ('certificate_uniq', 'unique (certificate)', 'The certificate ID of the module must be unique !') ] - def _check_certificat(self, cr, uid, ids): + def _check_certificate(self, cr, uid, ids): if not ids: return True logger = netsvc.Logger() for mod in self.browse(cr, uid, ids): - if not mod.certificat: - logger.notifyChannel('', netsvc.LOG_WARNING, 'module %s: no certificat' % mod.name) + if not mod.certificate: + logger.notifyChannel('', netsvc.LOG_WARNING, 'module %s: no certificate' % mod.name) else: try: - val = long(mod.certificat) % 97 == 29 + val = long(mod.certificate) % 97 == 29 if not val: - raise Exception('Invalid Certificat') + raise Exception('Invalid Certificate') except Exception, ex: return False return True _constraints = [ - (_check_certificat, "Your certificat is wrong !", ['certificat']), + (_check_certificate, "Your certificate is wrong !", ['certificate']), ] def unlink(self, cr, uid, ids, context=None): @@ -332,7 +332,7 @@ class module(osv.osv): 'author': terp.get('author', 'Unknown'), 'website': terp.get('website', ''), 'license': terp.get('license', 'GPL-2'), - 'certificat': terp.get('certificat', ''), + 'certificate': terp.get('certificate', ''), }) cr.execute('DELETE FROM ir_module_module_dependency WHERE module_id = %s', (id,)) self._update_dependencies(cr, uid, ids[0], terp.get('depends', [])) @@ -352,7 +352,7 @@ class module(osv.osv): 'author': terp.get('author', 'Unknown'), 'website': terp.get('website', ''), 'license': terp.get('license', 'GPL-2'), - 'certificat': terp.get('certificat', ''), + 'certificate': terp.get('certificate', ''), }) res[1] += 1 self._update_dependencies(cr, uid, id, terp.get('depends', [])) @@ -433,7 +433,7 @@ class module(osv.osv): 'author': terp.get('author', 'Unknown'), 'website': terp.get('website', ''), 'license': terp.get('license', 'GPL-2'), - 'certificat': terp.get('certificat', ''), + 'certificate': terp.get('certificate', ''), }) cr.execute('DELETE FROM ir_module_module_dependency ' \ 'WHERE module_id = %s', (mod.id,)) From 97ed5c5fce47ed4c40985f8644e25c79c5022c7e Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Tue, 6 Jan 2009 17:24:38 +0100 Subject: [PATCH 29/68] [IMP] Add the certificate id bzr revid: stephane@tinyerp.com-20090106162438-8ga4rblobjx4yqp1 --- bin/addons/base/__terp__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/bin/addons/base/__terp__.py b/bin/addons/base/__terp__.py index d357db94ede..967b2a266b4 100644 --- a/bin/addons/base/__terp__.py +++ b/bin/addons/base/__terp__.py @@ -63,5 +63,6 @@ 'demo_xml': ['base_demo.xml', 'res/partner/partner_demo.xml', 'res/partner/crm_demo.xml'], 'installable': True, 'active': True, + 'certificate': '76807797149', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From 2d1eb446efc16ad52c9d17c817dd1cedf05d69ca Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Tue, 6 Jan 2009 17:25:05 +0100 Subject: [PATCH 30/68] [IMP] Add the certificate IDs for each module bzr revid: stephane@tinyerp.com-20090106162505-nin0ntvh2hmwul6y --- addons/account/__terp__.py | 1 + addons/account_analytic_analysis/__terp__.py | 1 + addons/account_analytic_default/__terp__.py | 1 + addons/account_analytic_plans/__terp__.py | 1 + addons/account_balance/__terp__.py | 1 + addons/account_budget/__terp__.py | 1 + addons/account_chart/__terp__.py | 1 + addons/account_date_check/__terp__.py | 1 + addons/account_followup/__terp__.py | 1 + addons/account_invoice_layout/__terp__.py | 1 + addons/account_payment/__terp__.py | 1 + addons/account_report/__terp__.py | 1 + addons/account_reporting/__terp__.py | 1 + addons/account_tax_include/__terp__.py | 1 + addons/account_voucher/__terp__.py | 1 + addons/analytic_journal_billing_rate/__terp__.py | 1 + addons/analytic_user_function/__terp__.py | 1 + addons/auction/__terp__.py | 1 + addons/audittrail/__terp__.py | 1 + addons/base_contact/__terp__.py | 1 + addons/base_iban/__terp__.py | 1 + addons/base_module_merge/__terp__.py | 1 + addons/base_module_publish/__terp__.py | 1 + addons/base_module_quality/__terp__.py | 1 + addons/base_module_record/__terp__.py | 1 + addons/base_report_creator/__terp__.py | 1 + addons/base_report_designer/__terp__.py | 1 + addons/base_setup/__terp__.py | 1 + addons/base_vat/__terp__.py | 1 + addons/board/__terp__.py | 1 + addons/board_account/__terp__.py | 1 + addons/board_association/__terp__.py | 1 + addons/board_auction/__terp__.py | 1 + addons/board_crm_configuration/__terp__.py | 1 + addons/board_document/__terp__.py | 1 + addons/board_manufacturing/__terp__.py | 1 + addons/board_project/__terp__.py | 1 + addons/board_sale/__terp__.py | 1 + addons/crm/__terp__.py | 1 + addons/crm_configuration/__terp__.py | 1 + addons/crm_profiling/__terp__.py | 1 + addons/crm_vertical/__terp__.py | 1 + addons/custom/__terp__.py | 1 + addons/delivery/__terp__.py | 1 + addons/document/__terp__.py | 1 + addons/document_ics/__terp__.py | 1 + addons/event/__terp__.py | 1 + addons/event_project/__terp__.py | 1 + addons/google_map/__terp__.py | 1 + addons/hr/__terp__.py | 1 + addons/hr_attendance/__terp__.py | 1 + addons/hr_contract/__terp__.py | 1 + addons/hr_expense/__terp__.py | 1 + addons/hr_holidays/__terp__.py | 1 + addons/hr_timesheet/__terp__.py | 1 + addons/hr_timesheet_invoice/__terp__.py | 1 + addons/hr_timesheet_project/__terp__.py | 1 + addons/hr_timesheet_sheet/__terp__.py | 1 + addons/idea/__terp__.py | 1 + addons/l10n_be/__terp__.py | 1 + addons/l10n_chart_uk_minimal/__terp__.py | 1 + addons/l10n_fr/__terp__.py | 1 + addons/l10n_lu/__terp__.py | 1 + addons/membership/__terp__.py | 1 + addons/mrp/__terp__.py | 1 + addons/mrp_jit/__terp__.py | 1 + addons/mrp_operations/__terp__.py | 1 + addons/mrp_repair/__terp__.py | 1 + addons/mrp_subproduct/__terp__.py | 1 + addons/point_of_sale/__terp__.py | 1 + addons/process/__terp__.py | 1 + addons/product/__terp__.py | 1 + addons/product_margin/__terp__.py | 1 + addons/profile_accounting/__terp__.py | 1 + addons/profile_association/__terp__.py | 1 + addons/profile_auction/__terp__.py | 1 + addons/profile_crm/__terp__.py | 1 + addons/profile_manufacturing/__terp__.py | 1 + addons/profile_service/__terp__.py | 1 + addons/project/__terp__.py | 1 + addons/project_gtd/__terp__.py | 1 + addons/project_mrp/__terp__.py | 1 + addons/project_retro_planning/__terp__.py | 1 + addons/project_timesheet/__terp__.py | 1 + addons/purchase/__terp__.py | 1 + addons/purchase_analytic_plans/__terp__.py | 1 + addons/report_account/__terp__.py | 1 + addons/report_analytic/__terp__.py | 1 + addons/report_analytic_line/__terp__.py | 1 + addons/report_analytic_planning/__terp__.py | 1 + addons/report_crm/__terp__.py | 1 + addons/report_document/__terp__.py | 1 + addons/report_intrastat/__terp__.py | 1 + addons/report_mrp/__terp__.py | 1 + addons/report_project/__terp__.py | 1 + addons/report_purchase/__terp__.py | 1 + addons/report_sale/__terp__.py | 1 + addons/report_task/__terp__.py | 1 + addons/report_timesheet/__terp__.py | 1 + addons/sale/__terp__.py | 1 + addons/sale_analytic_plans/__terp__.py | 1 + addons/sale_crm/__terp__.py | 1 + addons/sale_journal/__terp__.py | 1 + addons/scrum/__terp__.py | 1 + addons/stock/__terp__.py | 1 + addons/stock_invoice_directly/__terp__.py | 1 + addons/stock_location/__terp__.py | 1 + addons/stock_no_autopicking/__terp__.py | 1 + addons/subscription/__terp__.py | 1 + addons/warning/__terp__.py | 1 + addons/wiki/__terp__.py | 1 + 111 files changed, 111 insertions(+) diff --git a/addons/account/__terp__.py b/addons/account/__terp__.py index bfff1d942c5..55a0285576f 100644 --- a/addons/account/__terp__.py +++ b/addons/account/__terp__.py @@ -68,5 +68,6 @@ ], 'installable': True, 'active': False, + 'certificate': '80331923549', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_analytic_analysis/__terp__.py b/addons/account_analytic_analysis/__terp__.py index bbf973a77fc..01aacd1b4ae 100644 --- a/addons/account_analytic_analysis/__terp__.py +++ b/addons/account_analytic_analysis/__terp__.py @@ -40,5 +40,6 @@ Add menu to show relevant information for each manager.""", 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '42927202589', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_analytic_default/__terp__.py b/addons/account_analytic_default/__terp__.py index 6d98cfd7546..ae3e599119d 100644 --- a/addons/account_analytic_default/__terp__.py +++ b/addons/account_analytic_default/__terp__.py @@ -41,5 +41,6 @@ Allows to automatically select analytic accounts based on criterions: 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '74229833581', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_analytic_plans/__terp__.py b/addons/account_analytic_plans/__terp__.py index edfcafbb137..4aa0112276f 100644 --- a/addons/account_analytic_plans/__terp__.py +++ b/addons/account_analytic_plans/__terp__.py @@ -66,5 +66,6 @@ for one account entry. 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '36417675373', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_balance/__terp__.py b/addons/account_balance/__terp__.py index 6f141c7c8e8..05de61e62ae 100644 --- a/addons/account_balance/__terp__.py +++ b/addons/account_balance/__terp__.py @@ -47,5 +47,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '81928745309', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_budget/__terp__.py b/addons/account_budget/__terp__.py index 9557d09d942..bcb1ab7ffd6 100644 --- a/addons/account_budget/__terp__.py +++ b/addons/account_budget/__terp__.py @@ -58,5 +58,6 @@ Three reports are available: 'demo_xml': ['crossovered_budget_demo.xml'], 'installable': True, 'active': False, + 'certificate': '43819694157', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_chart/__terp__.py b/addons/account_chart/__terp__.py index 5e0a7e4d0b3..bb3aee9760c 100644 --- a/addons/account_chart/__terp__.py +++ b/addons/account_chart/__terp__.py @@ -33,5 +33,6 @@ 'update_xml': [], 'demo_xml': [], 'installable': True, + 'certificate': '73332443901', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_date_check/__terp__.py b/addons/account_date_check/__terp__.py index 251d6b778df..9f38a0c5305 100644 --- a/addons/account_date_check/__terp__.py +++ b/addons/account_date_check/__terp__.py @@ -42,5 +42,6 @@ period !" 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '66174843389', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_followup/__terp__.py b/addons/account_followup/__terp__.py index 93c05b920fa..5c58289f215 100644 --- a/addons/account_followup/__terp__.py +++ b/addons/account_followup/__terp__.py @@ -51,5 +51,6 @@ 'demo_xml': ['followup_demo.xml'], 'installable': True, 'active': False, + 'certificate': '72481076453', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_invoice_layout/__terp__.py b/addons/account_invoice_layout/__terp__.py index 5526e750df0..05389645833 100644 --- a/addons/account_invoice_layout/__terp__.py +++ b/addons/account_invoice_layout/__terp__.py @@ -48,5 +48,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '57235078173', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_payment/__terp__.py b/addons/account_payment/__terp__.py index 37c39c704ac..ee4cb9d6c80 100644 --- a/addons/account_payment/__terp__.py +++ b/addons/account_payment/__terp__.py @@ -46,5 +46,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '61703998541', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_report/__terp__.py b/addons/account_report/__terp__.py index a3130f2d6da..4b7e64864fc 100644 --- a/addons/account_report/__terp__.py +++ b/addons/account_report/__terp__.py @@ -42,5 +42,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '50976406925', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_reporting/__terp__.py b/addons/account_reporting/__terp__.py index c716357d198..4f98660da09 100644 --- a/addons/account_reporting/__terp__.py +++ b/addons/account_reporting/__terp__.py @@ -39,5 +39,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '72305016797', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_tax_include/__terp__.py b/addons/account_tax_include/__terp__.py index 5ae18ce8acd..9e8c138cd41 100644 --- a/addons/account_tax_include/__terp__.py +++ b/addons/account_tax_include/__terp__.py @@ -38,5 +38,6 @@ This module implement the modification on the invoice form. 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '70514190381', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_voucher/__terp__.py b/addons/account_voucher/__terp__.py index 77c83cc49be..d8991034e59 100755 --- a/addons/account_voucher/__terp__.py +++ b/addons/account_voucher/__terp__.py @@ -49,5 +49,6 @@ Basic Accounting, plus new things which available are: 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '37580727101', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/analytic_journal_billing_rate/__terp__.py b/addons/analytic_journal_billing_rate/__terp__.py index b99c2ac76f9..882ef832758 100644 --- a/addons/analytic_journal_billing_rate/__terp__.py +++ b/addons/analytic_journal_billing_rate/__terp__.py @@ -40,5 +40,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '30271787965', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/analytic_user_function/__terp__.py b/addons/analytic_user_function/__terp__.py index ba1e6d5dd65..ae5231cb84e 100644 --- a/addons/analytic_user_function/__terp__.py +++ b/addons/analytic_user_function/__terp__.py @@ -40,5 +40,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '82277138269', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/auction/__terp__.py b/addons/auction/__terp__.py index be216fdf802..e2e7cd53e11 100644 --- a/addons/auction/__terp__.py +++ b/addons/auction/__terp__.py @@ -42,5 +42,6 @@ 'demo_xml': ['auction_demo.xml'], 'installable': True, 'active': False, + 'certificate': '39333102717', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/audittrail/__terp__.py b/addons/audittrail/__terp__.py index 20340dedf1b..ccd86944270 100644 --- a/addons/audittrail/__terp__.py +++ b/addons/audittrail/__terp__.py @@ -39,5 +39,6 @@ 'demo_xml': ['audittrail_demo.xml'], 'installable': True, 'active': False, + 'certificate': '62572348749', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_contact/__terp__.py b/addons/base_contact/__terp__.py index 20617282a0a..f50bfdef95a 100644 --- a/addons/base_contact/__terp__.py +++ b/addons/base_contact/__terp__.py @@ -51,5 +51,6 @@ 'demo_xml': ['base_contact_demo.xml'], 'installable': True, 'active': False, + 'certificate': '31287885469', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_iban/__terp__.py b/addons/base_iban/__terp__.py index dbe50f0e9ee..99af88babf2 100644 --- a/addons/base_iban/__terp__.py +++ b/addons/base_iban/__terp__.py @@ -35,5 +35,6 @@ This module install the base for IBAN bank accounts. 'update_xml': ['base_iban_view.xml'], 'installable': True, 'active': False, + 'certificate': '50014379549', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_module_merge/__terp__.py b/addons/base_module_merge/__terp__.py index 94966d252ea..6d7b4d97fe1 100644 --- a/addons/base_module_merge/__terp__.py +++ b/addons/base_module_merge/__terp__.py @@ -41,5 +41,6 @@ 'update_xml': ['base_module_merge_wizard.xml'], 'demo_xml': [], 'installable': True, + 'certificate': '35756279709', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_module_publish/__terp__.py b/addons/base_module_publish/__terp__.py index aab0f5ca41f..e65a6b421e4 100644 --- a/addons/base_module_publish/__terp__.py +++ b/addons/base_module_publish/__terp__.py @@ -43,5 +43,6 @@ to call this button when you want to release a new version of your module. 'update_xml': ['base_module_publish_wizard.xml'], 'demo_xml': [], 'installable': True, + 'certificate': '67939821245', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_module_quality/__terp__.py b/addons/base_module_quality/__terp__.py index 65d6e751153..d77b50cd830 100644 --- a/addons/base_module_quality/__terp__.py +++ b/addons/base_module_quality/__terp__.py @@ -38,5 +38,6 @@ This module's aim is to check the quality of other modules. 'update_xml': ['base_module_quality_wizard.xml', 'security/ir.model.access.csv'], 'installable': True, 'active': False, + 'certificate': '75119475677', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_module_record/__terp__.py b/addons/base_module_record/__terp__.py index 4c3fbe1fa3f..aaf16cc283f 100644 --- a/addons/base_module_record/__terp__.py +++ b/addons/base_module_record/__terp__.py @@ -51,5 +51,6 @@ How to use it: 'update_xml': ['security/ir.model.access.csv', 'base_module_record_wizard.xml'], 'demo_xml': [], 'installable': True, + 'certificate': '83134865813', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_report_creator/__terp__.py b/addons/base_report_creator/__terp__.py index 12cb54792fa..d95ebf3ef09 100644 --- a/addons/base_report_creator/__terp__.py +++ b/addons/base_report_creator/__terp__.py @@ -44,5 +44,6 @@ the "Dashboard" menu. 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '31285794149', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_report_designer/__terp__.py b/addons/base_report_designer/__terp__.py index 5e420ea5782..38c9eb12b42 100644 --- a/addons/base_report_designer/__terp__.py +++ b/addons/base_report_designer/__terp__.py @@ -37,5 +37,6 @@ OpenOffice. 'demo_xml': ['base_report_data.xml'], 'installable': True, 'active': False, + 'certificate': '56379010493', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_setup/__terp__.py b/addons/base_setup/__terp__.py index bf5513864d2..d4499f2e093 100644 --- a/addons/base_setup/__terp__.py +++ b/addons/base_setup/__terp__.py @@ -46,5 +46,6 @@ 'demo_xml': ['base_setup_demo.xml'], 'installable': True, 'active': True, + 'certificate': '86711085869', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_vat/__terp__.py b/addons/base_vat/__terp__.py index a50a166f5d8..a4e15b75188 100644 --- a/addons/base_vat/__terp__.py +++ b/addons/base_vat/__terp__.py @@ -31,5 +31,6 @@ 'update_xml': ['base_vat_data.xml'], 'installable': True, 'active': False, + 'certificate': '84849360989', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/board/__terp__.py b/addons/board/__terp__.py index 297d0cc6663..fe03a113ea3 100644 --- a/addons/board/__terp__.py +++ b/addons/board/__terp__.py @@ -32,5 +32,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '76912305725', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/board_account/__terp__.py b/addons/board_account/__terp__.py index 0b3cd5ba6fa..e44cc0b45c5 100644 --- a/addons/board_account/__terp__.py +++ b/addons/board_account/__terp__.py @@ -48,5 +48,6 @@ 'demo_xml': ['board_account_demo.xml'], 'installable': True, 'active': False, + 'certificate': '76016921229', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/board_association/__terp__.py b/addons/board_association/__terp__.py index 6ef5906440d..58557ed5a97 100644 --- a/addons/board_association/__terp__.py +++ b/addons/board_association/__terp__.py @@ -34,5 +34,6 @@ This module implements a dashboard for associations. 'demo_xml': ['board_association_demo.xml'], 'installable': True, 'active': False, + 'certificate': '79647781773', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/board_auction/__terp__.py b/addons/board_auction/__terp__.py index 71785f0b426..e7e49542632 100644 --- a/addons/board_auction/__terp__.py +++ b/addons/board_auction/__terp__.py @@ -35,5 +35,6 @@ 'demo_xml': ['board_auction_demo.xml'], 'installable': True, 'active': False, + 'certificate': '49187078189', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/board_crm_configuration/__terp__.py b/addons/board_crm_configuration/__terp__.py index 42d40935086..eb6e0a435d1 100644 --- a/addons/board_crm_configuration/__terp__.py +++ b/addons/board_crm_configuration/__terp__.py @@ -40,5 +40,6 @@ This module implements a dashboard for CRM that includes: 'demo_xml': ['board_crm_demo.xml'], 'installable': True, 'active': False, + 'certificate': '71599098909', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/board_document/__terp__.py b/addons/board_document/__terp__.py index 7fcf2f74f5f..17e44ae48d7 100644 --- a/addons/board_document/__terp__.py +++ b/addons/board_document/__terp__.py @@ -32,5 +32,6 @@ 'demo_xml': ['board_document_demo.xml'], 'installable': True, 'active': False, + 'certificate': '44628458429', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/board_manufacturing/__terp__.py b/addons/board_manufacturing/__terp__.py index f93d2da5177..41e0d37bcdf 100644 --- a/addons/board_manufacturing/__terp__.py +++ b/addons/board_manufacturing/__terp__.py @@ -38,5 +38,6 @@ 'demo_xml': ['board_manufacturing_demo.xml'], 'installable': True, 'active': False, + 'certificate': '30407612797', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/board_project/__terp__.py b/addons/board_project/__terp__.py index e0d2d75f7c4..d89aecab86e 100644 --- a/addons/board_project/__terp__.py +++ b/addons/board_project/__terp__.py @@ -47,5 +47,6 @@ This module implements a dashboard for project member that includes: 'demo_xml': ['board_project_demo.xml'], 'installable': True, 'active': False, + 'certificate': '39350482013', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/board_sale/__terp__.py b/addons/board_sale/__terp__.py index 51450801ffd..0546c03b50f 100644 --- a/addons/board_sale/__terp__.py +++ b/addons/board_sale/__terp__.py @@ -39,5 +39,6 @@ This module implements a dashboard for salesman that includes: 'demo_xml': ['board_sale_demo.xml'], 'installable': True, 'active': False, + 'certificate': '46503501021', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/crm/__terp__.py b/addons/crm/__terp__.py index f22e4b99857..34927ec17a3 100644 --- a/addons/crm/__terp__.py +++ b/addons/crm/__terp__.py @@ -57,5 +57,6 @@ between mails and Open ERP.""", 'demo_xml': ['crm_demo.xml'], 'installable': True, 'active': False, + 'certificate': '79056041421', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/crm_configuration/__terp__.py b/addons/crm_configuration/__terp__.py index 7a2e0147607..2adb0b4a2f2 100644 --- a/addons/crm_configuration/__terp__.py +++ b/addons/crm_configuration/__terp__.py @@ -55,5 +55,6 @@ meetings, eso. 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '80531386589', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/crm_profiling/__terp__.py b/addons/crm_profiling/__terp__.py index d45e7de5f35..37629b2071e 100644 --- a/addons/crm_profiling/__terp__.py +++ b/addons/crm_profiling/__terp__.py @@ -45,5 +45,6 @@ 'demo_xml': ['crm_profiling_demo.xml'], 'installable': True, 'active': False, + 'certificate': '33984979005', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/crm_vertical/__terp__.py b/addons/crm_vertical/__terp__.py index d52a9d2496c..44e8113a165 100644 --- a/addons/crm_vertical/__terp__.py +++ b/addons/crm_vertical/__terp__.py @@ -33,5 +33,6 @@ 'update_xml': [], 'demo_xml': [], 'installable': True, + 'certificate': '59915476845', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/custom/__terp__.py b/addons/custom/__terp__.py index 9f29fbb5ca3..a94e143c59f 100644 --- a/addons/custom/__terp__.py +++ b/addons/custom/__terp__.py @@ -33,5 +33,6 @@ 'update_xml': ['custom_view.xml'], 'installable': True, 'active': False, + 'certificate': '45633383861', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/delivery/__terp__.py b/addons/delivery/__terp__.py index 2a832867984..6b4e8785038 100644 --- a/addons/delivery/__terp__.py +++ b/addons/delivery/__terp__.py @@ -38,5 +38,6 @@ 'demo_xml': ['delivery_demo.xml'], 'installable': True, 'active': False, + 'certificate': '33981912253', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/document/__terp__.py b/addons/document/__terp__.py index b72e7a734ca..c6a772f5287 100644 --- a/addons/document/__terp__.py +++ b/addons/document/__terp__.py @@ -43,5 +43,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '70515416461', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/document_ics/__terp__.py b/addons/document_ics/__terp__.py index 6b271ade924..0a9a626d3cc 100644 --- a/addons/document_ics/__terp__.py +++ b/addons/document_ics/__terp__.py @@ -34,5 +34,6 @@ 'demo_xml': ['document_demo.xml'], 'installable': True, 'active': False, + 'certificate': '71242387229', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/event/__terp__.py b/addons/event/__terp__.py index 50dba70a54f..2cd05130736 100644 --- a/addons/event/__terp__.py +++ b/addons/event/__terp__.py @@ -51,5 +51,6 @@ 'demo_xml': ['event_demo.xml'], 'installable': True, 'active': False, + 'certificate': '83059161581', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/event_project/__terp__.py b/addons/event_project/__terp__.py index 2f8184d1ba4..741f9796509 100644 --- a/addons/event_project/__terp__.py +++ b/addons/event_project/__terp__.py @@ -36,5 +36,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '69726863885', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/google_map/__terp__.py b/addons/google_map/__terp__.py index c3cc5532289..6b6b15b0838 100644 --- a/addons/google_map/__terp__.py +++ b/addons/google_map/__terp__.py @@ -36,5 +36,6 @@ url widget.""", 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '29498930765', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/hr/__terp__.py b/addons/hr/__terp__.py index 6685e2e7073..793a9c91591 100644 --- a/addons/hr/__terp__.py +++ b/addons/hr/__terp__.py @@ -48,5 +48,6 @@ 'demo_xml': ['hr_demo.xml', 'hr_department_demo.xml'], 'installable': True, 'active': False, + 'certificate': '86710558965', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/hr_attendance/__terp__.py b/addons/hr_attendance/__terp__.py index 65dbe0b4563..6afa17c958c 100644 --- a/addons/hr_attendance/__terp__.py +++ b/addons/hr_attendance/__terp__.py @@ -38,5 +38,6 @@ 'demo_xml': ['hr_attendance_demo.xml'], 'installable': True, 'active': False, + 'certificate': '63495605613', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/hr_contract/__terp__.py b/addons/hr_contract/__terp__.py index 7c1f634d65c..a253d60109e 100644 --- a/addons/hr_contract/__terp__.py +++ b/addons/hr_contract/__terp__.py @@ -45,5 +45,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '46298028637', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/hr_expense/__terp__.py b/addons/hr_expense/__terp__.py index 4f2b03d7bc9..8c08af34e70 100644 --- a/addons/hr_expense/__terp__.py +++ b/addons/hr_expense/__terp__.py @@ -54,5 +54,6 @@ 'demo_xml': ['hr_expense_demo.xml', 'hr.expense.expense.csv'], 'installable': True, 'active': False, + 'certificate': '62479841789', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/hr_holidays/__terp__.py b/addons/hr_holidays/__terp__.py index 81889f53f1d..235002e1c81 100644 --- a/addons/hr_holidays/__terp__.py +++ b/addons/hr_holidays/__terp__.py @@ -39,5 +39,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '86579209325', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/hr_timesheet/__terp__.py b/addons/hr_timesheet/__terp__.py index d9df80e8dd7..c17deafa743 100644 --- a/addons/hr_timesheet/__terp__.py +++ b/addons/hr_timesheet/__terp__.py @@ -50,5 +50,6 @@ to set up a management by affair. 'demo_xml': ['hr_timesheet_demo.xml'], 'installable': True, 'active': False, + 'certificate': '71405533469', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/hr_timesheet_invoice/__terp__.py b/addons/hr_timesheet_invoice/__terp__.py index 5d88004faad..899c466bdf7 100644 --- a/addons/hr_timesheet_invoice/__terp__.py +++ b/addons/hr_timesheet_invoice/__terp__.py @@ -42,5 +42,6 @@ reports, eso.""", 'demo_xml': ['hr_timesheet_invoice_demo.xml'], 'installable': True, 'active': False, + 'certificate': '56091842381', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/hr_timesheet_project/__terp__.py b/addons/hr_timesheet_project/__terp__.py index 4fc307d42c3..fba04fc201b 100644 --- a/addons/hr_timesheet_project/__terp__.py +++ b/addons/hr_timesheet_project/__terp__.py @@ -32,5 +32,6 @@ 'update_xml': ['hr_timesheet_project_view.xml', 'process/hr_timesheet_project_process.xml'], 'installable': True, 'active': False, + 'certificate': '68570797709', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/hr_timesheet_sheet/__terp__.py b/addons/hr_timesheet_sheet/__terp__.py index 4686086353f..006569b4c0e 100644 --- a/addons/hr_timesheet_sheet/__terp__.py +++ b/addons/hr_timesheet_sheet/__terp__.py @@ -57,5 +57,6 @@ The validation can be configured in te company: 'demo_xml': ['hr_timesheet_sheet_demo.xml'], 'installable': True, 'active': False, + 'certificate': '73297700829', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/idea/__terp__.py b/addons/idea/__terp__.py index e5705f8499d..37b6d0c52ab 100644 --- a/addons/idea/__terp__.py +++ b/addons/idea/__terp__.py @@ -38,5 +38,6 @@ ], 'demo_xml': [], 'installable': True, + 'certificate': '71515601309', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/l10n_be/__terp__.py b/addons/l10n_be/__terp__.py index cf3c7a08502..da667a14984 100644 --- a/addons/l10n_be/__terp__.py +++ b/addons/l10n_be/__terp__.py @@ -45,5 +45,6 @@ 'update_xml': ['account_pcmn_belgium.xml', 'l10n_be_wizard.xml', 'l10n_be_sequence.xml'], 'demo_xml': [], 'installable': True, + 'certificate': '31977724637', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/l10n_chart_uk_minimal/__terp__.py b/addons/l10n_chart_uk_minimal/__terp__.py index 84ccf3e78b6..3b714b16986 100644 --- a/addons/l10n_chart_uk_minimal/__terp__.py +++ b/addons/l10n_chart_uk_minimal/__terp__.py @@ -76,5 +76,6 @@ ], 'demo_xml': [], 'installable': True, + 'certificate': '64392144797', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/l10n_fr/__terp__.py b/addons/l10n_fr/__terp__.py index 045c05884c1..62d93db9f66 100644 --- a/addons/l10n_fr/__terp__.py +++ b/addons/l10n_fr/__terp__.py @@ -58,5 +58,6 @@ ], 'demo_xml': [], 'installable': True, + 'certificate': '30349198621', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/l10n_lu/__terp__.py b/addons/l10n_lu/__terp__.py index e2cb7ed7299..62d39d81e67 100644 --- a/addons/l10n_lu/__terp__.py +++ b/addons/l10n_lu/__terp__.py @@ -44,5 +44,6 @@ This module installs: ], 'demo_xml': ['account.report.report.csv'], 'installable': True, + 'certificate': '78164766621', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/membership/__terp__.py b/addons/membership/__terp__.py index bf30d42f390..54dce054fad 100644 --- a/addons/membership/__terp__.py +++ b/addons/membership/__terp__.py @@ -49,5 +49,6 @@ invoice and send propositions for membership renewal. 'demo_xml': ['membership_demo.xml'], 'installable': True, 'active': False, + 'certificate': '42907796381', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/mrp/__terp__.py b/addons/mrp/__terp__.py index 54d372c6ee3..17d03b13877 100644 --- a/addons/mrp/__terp__.py +++ b/addons/mrp/__terp__.py @@ -72,5 +72,6 @@ 'demo_xml': ['mrp_demo.xml', 'mrp_order_point.xml'], 'installable': True, 'active': False, + 'certificate': '32052481373', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/mrp_jit/__terp__.py b/addons/mrp_jit/__terp__.py index 19342d07d7d..c1af98d7e80 100644 --- a/addons/mrp_jit/__terp__.py +++ b/addons/mrp_jit/__terp__.py @@ -42,5 +42,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '86634760061', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/mrp_operations/__terp__.py b/addons/mrp_operations/__terp__.py index d486803e9fc..ed7f848fe5f 100755 --- a/addons/mrp_operations/__terp__.py +++ b/addons/mrp_operations/__terp__.py @@ -64,5 +64,6 @@ 'demo_xml': ['mrp_operation_data.xml'], 'installable': True, 'active': False, + 'certificate': '56233813133', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/mrp_repair/__terp__.py b/addons/mrp_repair/__terp__.py index a246bf86ea6..380e02a6c67 100644 --- a/addons/mrp_repair/__terp__.py +++ b/addons/mrp_repair/__terp__.py @@ -47,5 +47,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '60814381277', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/mrp_subproduct/__terp__.py b/addons/mrp_subproduct/__terp__.py index 6ea677425f0..80181422a55 100644 --- a/addons/mrp_subproduct/__terp__.py +++ b/addons/mrp_subproduct/__terp__.py @@ -41,5 +41,6 @@ With this module: 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '50060616733', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/point_of_sale/__terp__.py b/addons/point_of_sale/__terp__.py index 43f2f2af81f..46e6f519b08 100644 --- a/addons/point_of_sale/__terp__.py +++ b/addons/point_of_sale/__terp__.py @@ -50,5 +50,6 @@ Main features : ], 'demo_xml': [], 'installable': True, + 'certificate': '48272150909', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/process/__terp__.py b/addons/process/__terp__.py index 48dcc085c18..b76360ee420 100644 --- a/addons/process/__terp__.py +++ b/addons/process/__terp__.py @@ -36,5 +36,6 @@ This module allows you to manage your process for the end-users. 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '55447636669', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/product/__terp__.py b/addons/product/__terp__.py index 9c82b11c5c2..cc73f8ba899 100644 --- a/addons/product/__terp__.py +++ b/addons/product/__terp__.py @@ -60,5 +60,6 @@ 'demo_xml': ['product_demo.xml'], 'installable': True, 'active': False, + 'certificate': '68861431437', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/product_margin/__terp__.py b/addons/product_margin/__terp__.py index f52a4c150ac..0096c61abe6 100644 --- a/addons/product_margin/__terp__.py +++ b/addons/product_margin/__terp__.py @@ -36,5 +36,6 @@ the report has several options to help you get the data you need. 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '64392591773', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/profile_accounting/__terp__.py b/addons/profile_accounting/__terp__.py index d7d1ffecb63..73f6f984624 100644 --- a/addons/profile_accounting/__terp__.py +++ b/addons/profile_accounting/__terp__.py @@ -32,5 +32,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '38455352045', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/profile_association/__terp__.py b/addons/profile_association/__terp__.py index fbc02288c24..7a7efca044b 100644 --- a/addons/profile_association/__terp__.py +++ b/addons/profile_association/__terp__.py @@ -32,5 +32,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '78696047261', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/profile_auction/__terp__.py b/addons/profile_auction/__terp__.py index da406a07b7a..997087a1049 100644 --- a/addons/profile_auction/__terp__.py +++ b/addons/profile_auction/__terp__.py @@ -32,5 +32,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '65280135565', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/profile_crm/__terp__.py b/addons/profile_crm/__terp__.py index 5c08e496384..bbee7356313 100644 --- a/addons/profile_crm/__terp__.py +++ b/addons/profile_crm/__terp__.py @@ -32,5 +32,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '73301264221', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/profile_manufacturing/__terp__.py b/addons/profile_manufacturing/__terp__.py index 52598e42874..bd2a089d7e9 100644 --- a/addons/profile_manufacturing/__terp__.py +++ b/addons/profile_manufacturing/__terp__.py @@ -32,5 +32,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '27737506213', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/profile_service/__terp__.py b/addons/profile_service/__terp__.py index f8fedb97b18..828722a2389 100644 --- a/addons/profile_service/__terp__.py +++ b/addons/profile_service/__terp__.py @@ -32,5 +32,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '30405502077', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/project/__terp__.py b/addons/project/__terp__.py index c69eab2a2f5..0c31600ff6d 100644 --- a/addons/project/__terp__.py +++ b/addons/project/__terp__.py @@ -43,5 +43,6 @@ 'demo_xml': ['project_demo.xml'], 'installable': True, 'active': False, + 'certificate': '75116868317', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/project_gtd/__terp__.py b/addons/project_gtd/__terp__.py index b07ddb511a8..272c7e69a12 100644 --- a/addons/project_gtd/__terp__.py +++ b/addons/project_gtd/__terp__.py @@ -49,5 +49,6 @@ performing those tasks. 'demo_xml': ['project_gtd_demo.xml'], 'installable': True, 'active': False, + 'certificate': '43525236301', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/project_mrp/__terp__.py b/addons/project_mrp/__terp__.py index 6ed7e55aa42..f1da23862e1 100644 --- a/addons/project_mrp/__terp__.py +++ b/addons/project_mrp/__terp__.py @@ -40,5 +40,6 @@ created by sales orders. 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '31976495453', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/project_retro_planning/__terp__.py b/addons/project_retro_planning/__terp__.py index bdee89933ce..14cb39754e8 100644 --- a/addons/project_retro_planning/__terp__.py +++ b/addons/project_retro_planning/__terp__.py @@ -34,5 +34,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '57235475485', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/project_timesheet/__terp__.py b/addons/project_timesheet/__terp__.py index 160d97a3edc..d764fc80684 100644 --- a/addons/project_timesheet/__terp__.py +++ b/addons/project_timesheet/__terp__.py @@ -38,5 +38,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '75123647453', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/purchase/__terp__.py b/addons/purchase/__terp__.py index 8b9bcbfdee9..129d020ebe9 100644 --- a/addons/purchase/__terp__.py +++ b/addons/purchase/__terp__.py @@ -47,5 +47,6 @@ 'demo_xml': ['purchase_demo.xml'], 'installable': True, 'active': False, + 'certificate': '57234283549', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/purchase_analytic_plans/__terp__.py b/addons/purchase_analytic_plans/__terp__.py index 3fbdc9ffe8c..c639aa1eb66 100644 --- a/addons/purchase_analytic_plans/__terp__.py +++ b/addons/purchase_analytic_plans/__terp__.py @@ -36,5 +36,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '62176518909', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/report_account/__terp__.py b/addons/report_account/__terp__.py index da3e12900a7..2b568ce08b0 100644 --- a/addons/report_account/__terp__.py +++ b/addons/report_account/__terp__.py @@ -34,5 +34,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '61754222813', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/report_analytic/__terp__.py b/addons/report_analytic/__terp__.py index 9c2150591a1..0d072fcf1ef 100644 --- a/addons/report_analytic/__terp__.py +++ b/addons/report_analytic/__terp__.py @@ -34,5 +34,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '59950675429', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/report_analytic_line/__terp__.py b/addons/report_analytic_line/__terp__.py index 02dee2db341..905eca096eb 100644 --- a/addons/report_analytic_line/__terp__.py +++ b/addons/report_analytic_line/__terp__.py @@ -34,5 +34,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '75179053853', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/report_analytic_planning/__terp__.py b/addons/report_analytic_planning/__terp__.py index ae7e40991dd..73a71fc0bca 100644 --- a/addons/report_analytic_planning/__terp__.py +++ b/addons/report_analytic_planning/__terp__.py @@ -38,5 +38,6 @@ 'demo_xml': ['report_account_analytic.planning.csv'], 'installable': True, 'active': False, + 'certificate': '34901836973', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/report_crm/__terp__.py b/addons/report_crm/__terp__.py index 6b06fda9eef..35ea350abf8 100644 --- a/addons/report_crm/__terp__.py +++ b/addons/report_crm/__terp__.py @@ -35,5 +35,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '30422968285', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/report_document/__terp__.py b/addons/report_document/__terp__.py index 00ac105c5f6..d6ae3bccef3 100644 --- a/addons/report_document/__terp__.py +++ b/addons/report_document/__terp__.py @@ -37,5 +37,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '68012774557', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/report_intrastat/__terp__.py b/addons/report_intrastat/__terp__.py index 7c2b19b70f8..f23feae9786 100644 --- a/addons/report_intrastat/__terp__.py +++ b/addons/report_intrastat/__terp__.py @@ -38,5 +38,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '56982189085', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/report_mrp/__terp__.py b/addons/report_mrp/__terp__.py index 020f0d80e9e..4e75a21e41d 100644 --- a/addons/report_mrp/__terp__.py +++ b/addons/report_mrp/__terp__.py @@ -34,5 +34,6 @@ 'update_xml': ['security/ir.model.access.csv', 'report_mrp_view.xml'], 'demo_xml': [], 'installable': True, + 'certificate': '71582896029', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/report_project/__terp__.py b/addons/report_project/__terp__.py index 922050f1865..c88f64c45e2 100644 --- a/addons/report_project/__terp__.py +++ b/addons/report_project/__terp__.py @@ -35,5 +35,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '86804423149', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/report_purchase/__terp__.py b/addons/report_purchase/__terp__.py index 407bd7007c6..5cc72c7de17 100644 --- a/addons/report_purchase/__terp__.py +++ b/addons/report_purchase/__terp__.py @@ -35,5 +35,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '73370750365', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/report_sale/__terp__.py b/addons/report_sale/__terp__.py index 07baa4c283a..6f8f4408c49 100644 --- a/addons/report_sale/__terp__.py +++ b/addons/report_sale/__terp__.py @@ -48,5 +48,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '59949739573', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/report_task/__terp__.py b/addons/report_task/__terp__.py index e57304ca7df..4784e0d6c87 100644 --- a/addons/report_task/__terp__.py +++ b/addons/report_task/__terp__.py @@ -32,5 +32,6 @@ 'update_xml': ['security/ir.model.access.csv', 'report_task_view.xml'], 'installable': True, 'active': False, + 'certificate': '27671328157', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/report_timesheet/__terp__.py b/addons/report_timesheet/__terp__.py index d0bdb535bef..bdf3189755f 100644 --- a/addons/report_timesheet/__terp__.py +++ b/addons/report_timesheet/__terp__.py @@ -35,5 +35,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '78701510301', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/sale/__terp__.py b/addons/sale/__terp__.py index afdcac8c111..3f1a147e541 100644 --- a/addons/sale/__terp__.py +++ b/addons/sale/__terp__.py @@ -62,5 +62,6 @@ 'demo_xml': ['sale_demo.xml'], 'installable': True, 'active': False, + 'certificate': '58103601429', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/sale_analytic_plans/__terp__.py b/addons/sale_analytic_plans/__terp__.py index 5289f613008..09583f59f11 100644 --- a/addons/sale_analytic_plans/__terp__.py +++ b/addons/sale_analytic_plans/__terp__.py @@ -36,5 +36,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '66055860861', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/sale_crm/__terp__.py b/addons/sale_crm/__terp__.py index e4a7c6cd802..e950030db95 100644 --- a/addons/sale_crm/__terp__.py +++ b/addons/sale_crm/__terp__.py @@ -46,5 +46,6 @@ crm_configuration modules. 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '64360130141', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/sale_journal/__terp__.py b/addons/sale_journal/__terp__.py index 08f4e90f26e..b03479be8b8 100644 --- a/addons/sale_journal/__terp__.py +++ b/addons/sale_journal/__terp__.py @@ -61,5 +61,6 @@ 'demo_xml': ['sale_journal_demo.xml'], 'installable': True, 'active': False, + 'certificate': '77661619085', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/scrum/__terp__.py b/addons/scrum/__terp__.py index d0b63fdffdf..3915aa5e57a 100644 --- a/addons/scrum/__terp__.py +++ b/addons/scrum/__terp__.py @@ -60,5 +60,6 @@ 'demo_xml': ['scrum_demo.xml'], 'installable': True, 'active': False, + 'certificate': '84121063261', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/stock/__terp__.py b/addons/stock/__terp__.py index b21a4008d07..edb265eee53 100644 --- a/addons/stock/__terp__.py +++ b/addons/stock/__terp__.py @@ -51,5 +51,6 @@ 'demo_xml': ['stock_demo.xml'], 'installable': True, 'active': False, + 'certificate': '55421559965', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/stock_invoice_directly/__terp__.py b/addons/stock_invoice_directly/__terp__.py index bbcfc12250d..e89b1b2d56d 100644 --- a/addons/stock_invoice_directly/__terp__.py +++ b/addons/stock_invoice_directly/__terp__.py @@ -37,5 +37,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '81385081261', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/stock_location/__terp__.py b/addons/stock_location/__terp__.py index a5046292fb3..42b9f52eeb0 100644 --- a/addons/stock_location/__terp__.py +++ b/addons/stock_location/__terp__.py @@ -44,5 +44,6 @@ This module may be useful for different purposes: 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '46505115101', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/stock_no_autopicking/__terp__.py b/addons/stock_no_autopicking/__terp__.py index 80fb543cd21..31a01a2ae93 100644 --- a/addons/stock_no_autopicking/__terp__.py +++ b/addons/stock_no_autopicking/__terp__.py @@ -40,5 +40,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '75124168925', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/subscription/__terp__.py b/addons/subscription/__terp__.py index 7ee57cecafd..97e2f7cef54 100644 --- a/addons/subscription/__terp__.py +++ b/addons/subscription/__terp__.py @@ -33,5 +33,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '29454782573', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/warning/__terp__.py b/addons/warning/__terp__.py index d9a680c5aa3..09c6cdc854e 100644 --- a/addons/warning/__terp__.py +++ b/addons/warning/__terp__.py @@ -32,5 +32,6 @@ 'demo_xml': [], 'installable': True, 'active': False, + 'certificate': '80334018749', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/wiki/__terp__.py b/addons/wiki/__terp__.py index 6ed5025fd8c..6ed97909ded 100644 --- a/addons/wiki/__terp__.py +++ b/addons/wiki/__terp__.py @@ -23,5 +23,6 @@ 'demo_xml': ['data/wiki_faq.xml'], 'installable': True, 'active': False, + 'certificate': '86363630317', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From 7381181cb9181efa2cd7bd2f5d7a0b600dd44004 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Tue, 6 Jan 2009 17:28:38 +0100 Subject: [PATCH 31/68] [FIX] ir.translation: clear cache of function _get_ids when writing a translation [FIX] ir.translation: cache of function _get_ids must be multi on ids [FIX] cache system: bug with multi lp bug: https://launchpad.net/bugs/314334 fixed bzr revid: christophe@tinyerp.com-20090106162838-fukq9grp6dk97v61 --- bin/addons/base/ir/ir_translation.py | 8 +++----- bin/tools/misc.py | 3 +-- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/bin/addons/base/ir/ir_translation.py b/bin/addons/base/ir/ir_translation.py index 20ead222b4a..286971357e1 100644 --- a/bin/addons/base/ir/ir_translation.py +++ b/bin/addons/base/ir/ir_translation.py @@ -79,9 +79,9 @@ class ir_translation(osv.osv): cr.execute('CREATE INDEX ir_translation_lts ON ir_translation (lang, type, src)') cr.commit() - @tools.cache(skiparg=3) + @tools.cache(skiparg=3, multi='ids') def _get_ids(self, cr, uid, name, tt, lang, ids): - translations = {} + translations = dict.fromkeys(ids, False) if ids: cr.execute('select res_id,value ' \ 'from ir_translation ' \ @@ -92,9 +92,6 @@ class ir_translation(osv.osv): (lang,tt,name)) for res_id, value in cr.fetchall(): translations[res_id] = value - for res_id in ids: - if res_id not in translations: - translations[res_id] = False return translations def _set_ids(self, cr, uid, name, tt, lang, ids, value): @@ -104,6 +101,7 @@ class ir_translation(osv.osv): if tr[res_id]: self._get_source.clear_cache(cr.dbname, uid, name, tt, lang, tr[res_id]) self._get_source.clear_cache(cr.dbname, uid, name, tt, lang) + self._get_ids.clear_cache(cr.dbname, uid, name, tt, lang, ids) cr.execute('delete from ir_translation ' \ 'where lang=%s ' \ diff --git a/bin/tools/misc.py b/bin/tools/misc.py index 89a4c64d954..2cfa18b0ef5 100644 --- a/bin/tools/misc.py +++ b/bin/tools/misc.py @@ -569,7 +569,7 @@ class cache(object): else: multis = kwargs2[self.multi][:] for id in multis: - kwargs2[self.multi] = [id] + kwargs2[self.multi] = (id,) key = (('dbname', dbname),) + to_tuple(kwargs2) yield key, id @@ -614,7 +614,6 @@ class cache(object): self.fun_default_values = {} if argspec[3]: self.fun_default_values = dict(zip(self.fun_arg_names[-len(argspec[3]):], argspec[3])) - debug(self.fun_default_values) def cached_result(self2, cr, *args, **kwargs): if time.time()-self.timeout > self.lasttime: From 4a19fde96a398791609402717d6de9879f74ec4d Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Tue, 6 Jan 2009 17:28:39 +0100 Subject: [PATCH 32/68] [FIX] Typo bzr revid: stephane@tinyerp.com-20090106162839-defmafdtls9aj9rl --- bin/addons/base/module/module_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/addons/base/module/module_view.xml b/bin/addons/base/module/module_view.xml index 74d3f86e7ef..aa0638ff729 100644 --- a/bin/addons/base/module/module_view.xml +++ b/bin/addons/base/module/module_view.xml @@ -64,7 +64,7 @@ - + From 9ac4708047bf57345624001a486d0cba32428001 Mon Sep 17 00:00:00 2001 From: "mra (Open ERP)" Date: Wed, 7 Jan 2009 15:03:01 +0530 Subject: [PATCH 33/68] small changes bzr revid: mra@tinyerp.com-20090107093301-riilvjtanc4ibqdq --- .../base_module_quality.py | 2 +- .../method_test/method_test.py | 10 ++---- .../pylint_test/pylint_test.py | 1 + .../speed_test/speed_test.py | 32 ++++++++++--------- .../terp_test/terp_test.py | 25 +++++++++------ 5 files changed, 37 insertions(+), 33 deletions(-) diff --git a/addons/base_module_quality/base_module_quality.py b/addons/base_module_quality/base_module_quality.py index 8ded5d15005..21c17e99a1e 100644 --- a/addons/base_module_quality/base_module_quality.py +++ b/addons/base_module_quality/base_module_quality.py @@ -59,7 +59,7 @@ class abstract_quality_check(object): #Specify test got an error on module self.error = False - #The tests have to subscribe itselfs in this list, that contains all the test that have to be performed. + #The tests have to subscribe itselfs in this list, that contains all the test that have to be performed. self.tests = [] self.list_folders = os.listdir(config['addons_path']+'/base_module_quality/') for item in self.list_folders: diff --git a/addons/base_module_quality/method_test/method_test.py b/addons/base_module_quality/method_test/method_test.py index ed53a535bcb..5c244309b14 100644 --- a/addons/base_module_quality/method_test/method_test.py +++ b/addons/base_module_quality/method_test/method_test.py @@ -31,6 +31,7 @@ class quality_test(base_module_quality.abstract_quality_check): def __init__(self): super(quality_test, self).__init__() + self.name = _("Method Test") self.bool_installed_only = True self.ponderation = 1.0 self.result_det = {} @@ -69,22 +70,17 @@ class quality_test(base_module_quality.abstract_quality_check): self.score = (ok_count + ex_count) and float(ok_count)/float(ok_count + ex_count) or 0.0 self.result = self.get_result() self.result_details = self.get_result_details() - return None - def get_result(self): summary = """ -===Method Test===: - This test checks if the module classes are raising exception when calling basic methods or no. - -""" + "Score: " + str(self.score) + "/10\n" +""" return summary def get_result_details(self): header_list = ['method', 'Object Name', 'search()', 'fields_view_get', 'read'] - detail = "\n===Method Test===\n" + detail = "" #"\n===Method Test===\n" if not self.error: detail += self.format_table(header=header_list, data_list=[self.result_det]) return detail diff --git a/addons/base_module_quality/pylint_test/pylint_test.py b/addons/base_module_quality/pylint_test/pylint_test.py index 04e43dbbbc9..3c40bad9bb2 100644 --- a/addons/base_module_quality/pylint_test/pylint_test.py +++ b/addons/base_module_quality/pylint_test/pylint_test.py @@ -47,6 +47,7 @@ class quality_test(base_module_quality.abstract_quality_check): n = 0 score = 0.0 + self.result += "\nThis test checks if the module satisfies the current coding standard used by OpenERP. \n\n" for file in list_files: if file.split('.')[-1] == 'py' and not file.endswith('__init__.py') and not file.endswith('__terp__.py'): file_path = os.path.join(module_path, file) diff --git a/addons/base_module_quality/speed_test/speed_test.py b/addons/base_module_quality/speed_test/speed_test.py index 45800e06356..7ea7d5dd72b 100644 --- a/addons/base_module_quality/speed_test/speed_test.py +++ b/addons/base_module_quality/speed_test/speed_test.py @@ -35,6 +35,7 @@ class quality_test(base_module_quality.abstract_quality_check): def __init__(self): super(quality_test, self).__init__() + self.name = _("Speed Test") self.bool_installed_only = True self.ponderation = 1.0 self.listdata = [] @@ -84,29 +85,30 @@ class quality_test(base_module_quality.abstract_quality_check): list = [obj, size, "", "", "", "Warning! Object has no demo data"] self.listdata.append(list) self.score = obj_counter and score/obj_counter or 0.0 + self.result = self.get_result() + self.result_details = self.get_result_details() + return None - def get_result(self, cr, uid, module_path, module_state): - self.run_test(cr, uid, module_path) - if not self.bool_installed_only or module_state=="installed": - summary = """ -===Speed Test===: - + def get_result(self): +## self.run_test(cr, uid, module_path) +# if not self.bool_installed_only or module_state=="installed": + summary = """ This test checks the speed of the module. -""" + "Score: " + str(self.score) + "/10\n" - else: - summary =""" \n===Speed Test===: - -The module has to be installed before running this test.\n\n """ - header_list = "" - self.error = True +""" +# else: +# summary =""" \n===Speed Test===: +# +#The module has to be installed before running this test.\n\n """ +# header_list = "" +# self.error = True return summary - def get_result_detail(self): + def get_result_details(self): header_list = ['speed', 'Object Name', 'Size-Number of Records (S)', '1', 'S/2', 'S', 'Complexity using query'] detail = "" - detail += "\n===Speed Test===\n" +# detail += "\n===Speed Test===\n" if not self.error: detail += self.format_table(header=header_list, data_list=[self.listdata]) return detail diff --git a/addons/base_module_quality/terp_test/terp_test.py b/addons/base_module_quality/terp_test/terp_test.py index 9ee45727131..f42b697c3ad 100644 --- a/addons/base_module_quality/terp_test/terp_test.py +++ b/addons/base_module_quality/terp_test/terp_test.py @@ -30,10 +30,11 @@ import re class quality_test(base_module_quality.abstract_quality_check): def __init__(self): - ''' - This test checks the quality of __terp__.py file in the selected module. - ''' +# ''' +# This test checks the quality of __terp__.py file in the selected module. +# ''' super(quality_test, self).__init__() + self.name = _("Terp Test") self.bool_installed_only = False self.no_terp = False self.ponderation = 2 @@ -54,6 +55,9 @@ class quality_test(base_module_quality.abstract_quality_check): feel_bad_factor = 0 if '__terp__.py' not in list_files: self.no_terp = True + if self.no_terp: + self.result += "The module does not contain the __terp__.py file" + terp_file = os.path.join(module_path,'__terp__.py') res = eval(tools.file_open(terp_file).read()) @@ -79,19 +83,20 @@ class quality_test(base_module_quality.abstract_quality_check): feel_bad_factor += 1 self.score = round((feel_good_factor) / float(feel_good_factor + feel_bad_factor),2) - self.result += "__terp__.py : "+ str(self.score) + "/10\n" + self.result += "\nThis test checks if the module satisfies the current coding standard for __terp__.py file used by OpenERP." +# self.result += "__terp__.py : "+ str(self.score) + "/10\n" return None def get_result(self, cr, uid, module_path, module_state): - self.run_test(cr, uid, module_path) - summary = "\n===TERP Test===:\n" +# self.run_test(cr, uid, module_path) +# summary = "\n===TERP Test===:\n" if self.no_terp: summary += """ The module does not contain the __terp__.py file.\n\n """ - else: - summary += """ - This test checks if the module satisfies the current coding standard for __terp__.py file used by OpenERP. - """ + "Score: " + str(self.score) + "/10\n" +# else: +# summary += """ +# This test checks if the module satisfies the current coding standard for __terp__.py file used by OpenERP. +# """ + "Score: " + str(self.score) + "/10\n" return summary def get_result_details(self): From 36d897d37168599861152e8c3f0ed42ee0a6ada8 Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Wed, 7 Jan 2009 10:45:20 +0100 Subject: [PATCH 34/68] [FIX] Error with the certificate lp bug: https://launchpad.net/bugs/314645 fixed bzr revid: stephane@tinyerp.com-20090107094520-lru4gr22nqdhgjdm --- bin/addons/base/module/module.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bin/addons/base/module/module.py b/bin/addons/base/module/module.py index f5f5b80914e..a5cff1d19ce 100644 --- a/bin/addons/base/module/module.py +++ b/bin/addons/base/module/module.py @@ -332,7 +332,7 @@ class module(osv.osv): 'author': terp.get('author', 'Unknown'), 'website': terp.get('website', ''), 'license': terp.get('license', 'GPL-2'), - 'certificate': terp.get('certificate', ''), + 'certificate': terp.get('certificate'), }) cr.execute('DELETE FROM ir_module_module_dependency WHERE module_id = %s', (id,)) self._update_dependencies(cr, uid, ids[0], terp.get('depends', [])) @@ -352,7 +352,7 @@ class module(osv.osv): 'author': terp.get('author', 'Unknown'), 'website': terp.get('website', ''), 'license': terp.get('license', 'GPL-2'), - 'certificate': terp.get('certificate', ''), + 'certificate': terp.get('certificate'), }) res[1] += 1 self._update_dependencies(cr, uid, id, terp.get('depends', [])) @@ -433,7 +433,7 @@ class module(osv.osv): 'author': terp.get('author', 'Unknown'), 'website': terp.get('website', ''), 'license': terp.get('license', 'GPL-2'), - 'certificate': terp.get('certificate', ''), + 'certificate': terp.get('certificate'), }) cr.execute('DELETE FROM ir_module_module_dependency ' \ 'WHERE module_id = %s', (mod.id,)) From d5272929f4cc3850712e37c8ee28de434ec69307 Mon Sep 17 00:00:00 2001 From: "Jay (Open ERP)" Date: Wed, 7 Jan 2009 17:00:02 +0530 Subject: [PATCH 35/68] Minor edit: widget email to employees lp bug: https://launchpad.net/bugs/314674 fixed bzr revid: jvo@tinyerp.com-20090107113002-dn4slvm9117awdmw --- addons/hr/hr_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/hr/hr_view.xml b/addons/hr/hr_view.xml index 89403b4344a..25ebec25fdd 100644 --- a/addons/hr/hr_view.xml +++ b/addons/hr/hr_view.xml @@ -51,7 +51,7 @@ - + From 8e34540eebaf0ff5e75e68c700d419310180983a Mon Sep 17 00:00:00 2001 From: "hda (Tiny)" Date: Wed, 7 Jan 2009 18:19:42 +0530 Subject: [PATCH 36/68] bugfix lp bug: https://launchpad.net/bugs/314649 fixed bzr revid: hda@tinyerp.com-20090107124942-hfkwl249gqs993ig --- addons/account/wizard/wizard_fiscalyear_close.py | 2 +- addons/hr_timesheet_project/wizard/timesheet_hour_encode.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/account/wizard/wizard_fiscalyear_close.py b/addons/account/wizard/wizard_fiscalyear_close.py index c30878aae71..7dfc86ac5c3 100644 --- a/addons/account/wizard/wizard_fiscalyear_close.py +++ b/addons/account/wizard/wizard_fiscalyear_close.py @@ -163,7 +163,7 @@ def _data_save(self, cr, uid, data, context): 'WHERE fiscalyear_id = %s', ('done',fy_id)) cr.execute('UPDATE account_fiscalyear ' \ 'SET state = %s, end_journal_period_id = %s' \ - 'WHERE id = %s', ('done',start_jp,fy_id)) + 'WHERE id = %s', ('done',start_jp.id,fy_id)) return {} class wiz_journal_close(wizard.interface): diff --git a/addons/hr_timesheet_project/wizard/timesheet_hour_encode.py b/addons/hr_timesheet_project/wizard/timesheet_hour_encode.py index 94456e40209..29979afd03a 100644 --- a/addons/hr_timesheet_project/wizard/timesheet_hour_encode.py +++ b/addons/hr_timesheet_project/wizard/timesheet_hour_encode.py @@ -57,7 +57,7 @@ def _action_line_create(self, cr, uid, data, context): if res2: res.update(res2['value']) if hasattr(ts, 'on_change_account_id'): - res2 = ts.on_change_account_id(cr, uid, False, aa.id) + res2 = ts.on_change_account_id(cr, uid, False, uid, aa.id, context) if res2: res.update(res2['value']) id = ts.create(cr, uid, res, context) From 1d2fef3edfc768aa681dd609db2516d34fae27a0 Mon Sep 17 00:00:00 2001 From: "mra (Open ERP)" Date: Wed, 7 Jan 2009 18:37:53 +0530 Subject: [PATCH 37/68] quality module bzr revid: mra@tinyerp.com-20090107130753-n0or93qkfcuj96b6 --- .../base_module_quality.py | 19 +++++------ .../method_test/method_test.py | 12 +++++-- .../speed_test/speed_test.py | 34 ++++++++----------- 3 files changed, 33 insertions(+), 32 deletions(-) diff --git a/addons/base_module_quality/base_module_quality.py b/addons/base_module_quality/base_module_quality.py index 21c17e99a1e..6db637ab32e 100644 --- a/addons/base_module_quality/base_module_quality.py +++ b/addons/base_module_quality/base_module_quality.py @@ -103,16 +103,15 @@ class abstract_quality_check(object): def format_table(self, header=[], data_list=[]): detail = "" - if header[0]=='method': - detail += ('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-16s \n! %-20s \n! %-16s ') % (header[1].ljust(40), header[2].ljust(16), header[3].ljust(20), header[4].ljust(16)) - for res in data_list[0]: - detail += ('\n|-\n| %s \n| %s \n| %s \n| %s ') % (res, data_list[0][res][0], data_list[0][res][1], data_list[0][res][2]) - detail = detail + '\n|}' - elif header[0]=='speed': - detail += ('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-10s \n! %-10s \n! %-10s \n! %-10s \n! %-20s') % (header[1].ljust(40), header[2].ljust(10), header[3].ljust(10), header[4].ljust(10), header[5].ljust(10), header[6].ljust(20)) - for data in data_list[0]: - detail += ('\n|-\n| %s \n| %s \n| %s \n| %s \n| %s \n| %s ') % (data[0], data[1], data[2], data[3], data[4], data[5]) - detail = detail + '\n|}\n' + header_list = [] + final_list = [] + for head in data_list[1]: + header_list.append(head) + detail += (header[0]) % tuple(header_list) + for res in data_list[0]: + data_list[0][res].append(res) + detail += (header[1]) % tuple(data_list[0][res]) + detail = detail + '\n|}' return detail def add_quatation(self, x, y): diff --git a/addons/base_module_quality/method_test/method_test.py b/addons/base_module_quality/method_test/method_test.py index 5c244309b14..8ca77b996f5 100644 --- a/addons/base_module_quality/method_test/method_test.py +++ b/addons/base_module_quality/method_test/method_test.py @@ -35,6 +35,7 @@ class quality_test(base_module_quality.abstract_quality_check): self.bool_installed_only = True self.ponderation = 1.0 self.result_det = {} + self.data_list = [] return None def run_test(self, cr, uid, module_path): @@ -67,6 +68,7 @@ class quality_test(base_module_quality.abstract_quality_check): temp.append('Exception') ex_count += 1 self.result_det[obj] = temp + self.data_list.append(self.result_det) self.score = (ok_count + ex_count) and float(ok_count)/float(ok_count + ex_count) or 0.0 self.result = self.get_result() self.result_details = self.get_result_details() @@ -79,10 +81,14 @@ This test checks if the module classes are raising exception when calling basic return summary def get_result_details(self): - header_list = ['method', 'Object Name', 'search()', 'fields_view_get', 'read'] - detail = "" #"\n===Method Test===\n" + header_list = [] + header_list.append('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-16s \n! %-20s \n! %-16s ') + header_list.append('\n|-\n| %s \n| %s \n| %s \n| %s ') + header_view = ['Object Name', 'search()', 'fields_view_get', 'read'] + self.data_list.append(header_view) + detail = "" if not self.error: - detail += self.format_table(header=header_list, data_list=[self.result_det]) + detail += self.format_table(header=header_list, data_list=self.data_list) return detail # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_module_quality/speed_test/speed_test.py b/addons/base_module_quality/speed_test/speed_test.py index 7ea7d5dd72b..d631ab2c96b 100644 --- a/addons/base_module_quality/speed_test/speed_test.py +++ b/addons/base_module_quality/speed_test/speed_test.py @@ -38,7 +38,8 @@ class quality_test(base_module_quality.abstract_quality_check): self.name = _("Speed Test") self.bool_installed_only = True self.ponderation = 1.0 - self.listdata = [] + self.result_det = {} + self.data_list = [] return None def run_test(self, cr, uid, module_path): pool = pooler.get_pool(cr.dbname) @@ -69,8 +70,8 @@ class quality_test(base_module_quality.abstract_quality_check): if size < 5: self.score += -2 - list = [obj, size, code_base_complexity, code_half_complexity, code_size_complexity, "Warning! Not enough demo data"] - self.listdata.append(list) + list = [size, code_base_complexity, code_half_complexity, code_size_complexity, "Warning! Not enough demo data"] + self.result_det[obj] = list else: if code_size_complexity <= (code_base_complexity + size): complexity = "O(1)" @@ -78,12 +79,13 @@ class quality_test(base_module_quality.abstract_quality_check): else: complexity = "O(n) or worst" score = 0 - list = [obj, size, code_base_complexity, code_half_complexity, code_size_complexity, complexity] - self.listdata.append(list) + list = [size, code_base_complexity, code_half_complexity, code_size_complexity, complexity] + self.result_det[obj] = list else: score += -5 - list = [obj, size, "", "", "", "Warning! Object has no demo data"] - self.listdata.append(list) + list = [size, "", "", "", "Warning! Object has no demo data"] + self.result_det[obj] = list + self.data_list.append(self.result_det) self.score = obj_counter and score/obj_counter or 0.0 self.result = self.get_result() self.result_details = self.get_result_details() @@ -91,26 +93,20 @@ class quality_test(base_module_quality.abstract_quality_check): return None def get_result(self): -## self.run_test(cr, uid, module_path) -# if not self.bool_installed_only or module_state=="installed": summary = """ This test checks the speed of the module. - """ -# else: -# summary =""" \n===Speed Test===: -# -#The module has to be installed before running this test.\n\n """ -# header_list = "" -# self.error = True return summary def get_result_details(self): - header_list = ['speed', 'Object Name', 'Size-Number of Records (S)', '1', 'S/2', 'S', 'Complexity using query'] + header_list = [] + header_list.append('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-10s \n! %-10s \n! %-10s \n! %-10s \n! %-20s') + header_list.append('\n|-\n| %s \n| %s \n| %s \n| %s \n| %s \n| %s ') + header_view = ['Object Name', 'Size-Number of Records (S)', '1', 'S/2', 'S', 'Complexity using query'] detail = "" -# detail += "\n===Speed Test===\n" + self.data_list.append(header_view) if not self.error: - detail += self.format_table(header=header_list, data_list=[self.listdata]) + detail += self.format_table(header=header_list, data_list=self.data_list) return detail # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From 66c1bc25db58e95a146d0cec9a0d4e13f9dc948d Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Wed, 7 Jan 2009 14:22:12 +0100 Subject: [PATCH 38/68] [FIX] fix 'product categories' view lp bug: https://launchpad.net/bugs/314708 fixed bzr revid: christophe@tinyerp.com-20090107132212-j2uov5iudj10upp7 --- addons/product/product_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/product/product_view.xml b/addons/product/product_view.xml index eb18b1bddce..15be242e809 100644 --- a/addons/product/product_view.xml +++ b/addons/product/product_view.xml @@ -207,7 +207,7 @@ ir.actions.act_window product.category form - + From db58ebc5cbbab1f1e358d2e673f860b5ad2142d7 Mon Sep 17 00:00:00 2001 From: "hda (Tiny)" Date: Wed, 7 Jan 2009 19:13:16 +0530 Subject: [PATCH 39/68] bugfix bzr revid: hda@tinyerp.com-20090107134316-v4fa8t4gtxnsfxss --- bin/tools/translate.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/tools/translate.py b/bin/tools/translate.py index 16ac39db0f5..b7a59538c9e 100644 --- a/bin/tools/translate.py +++ b/bin/tools/translate.py @@ -359,7 +359,7 @@ def trans_generate(lang, modules, dbname=None): push_translation(module, 'view', encode(obj.model), 0, t) elif model=='ir.actions.wizard': service_name = 'wizard.'+encode(obj.wiz_name) - obj2 = netsvc._service[service_name] + obj2 = netsvc.SERVICES[service_name] for state_name, state_def in obj2.states.iteritems(): if 'result' in state_def: result = state_def['result'] From 0391fd7dc039743a3e4f22548ef00811d0400d93 Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Wed, 7 Jan 2009 15:22:34 +0100 Subject: [PATCH 40/68] [FIX] Change the label of the field certificate bzr revid: stephane@tinyerp.com-20090107142234-cye349u0debxgupy --- bin/addons/base/module/module.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/addons/base/module/module.py b/bin/addons/base/module/module.py index a5cff1d19ce..16da7d10ba6 100644 --- a/bin/addons/base/module/module.py +++ b/bin/addons/base/module/module.py @@ -176,7 +176,7 @@ class module(osv.osv): 'menus_by_module': fields.function(_get_views, method=True, string='Menus', type='text', multi="meta", store=True), 'reports_by_module': fields.function(_get_views, method=True, string='Reports', type='text', multi="meta", store=True), 'views_by_module': fields.function(_get_views, method=True, string='Views', type='text', multi="meta", store=True), - 'certificate' : fields.char('Certificate', size=64, readonly=True), + 'certificate' : fields.char('Quality Certificate', size=64, readonly=True), } _defaults = { @@ -198,7 +198,7 @@ class module(osv.osv): logger = netsvc.Logger() for mod in self.browse(cr, uid, ids): if not mod.certificate: - logger.notifyChannel('', netsvc.LOG_WARNING, 'module %s: no certificate' % mod.name) + logger.notifyChannel('', netsvc.LOG_WARNING, 'module %s: no quality certificate' % mod.name) else: try: val = long(mod.certificate) % 97 == 29 From 78d2de2600f3d383edffacb6c0b213b8d8200817 Mon Sep 17 00:00:00 2001 From: "Jay (Open ERP)" Date: Wed, 7 Jan 2009 19:53:15 +0530 Subject: [PATCH 41/68] Corrected terp test on Quality Module bzr revid: jvo@tinyerp.com-20090107142315-xb8qq0u9coexf04m --- .../base_module_quality.py | 2 +- .../method_test/method_test.py | 2 +- .../terp_test/terp_test.py | 26 ++++++++++++++++--- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/addons/base_module_quality/base_module_quality.py b/addons/base_module_quality/base_module_quality.py index 6db637ab32e..1be9de1ec5b 100644 --- a/addons/base_module_quality/base_module_quality.py +++ b/addons/base_module_quality/base_module_quality.py @@ -25,7 +25,7 @@ from tools import config class abstract_quality_check(object): ''' - This Class provide... + This Class provides... ''' def __init__(self): diff --git a/addons/base_module_quality/method_test/method_test.py b/addons/base_module_quality/method_test/method_test.py index 8ca77b996f5..58c536e9e9c 100644 --- a/addons/base_module_quality/method_test/method_test.py +++ b/addons/base_module_quality/method_test/method_test.py @@ -76,7 +76,7 @@ class quality_test(base_module_quality.abstract_quality_check): def get_result(self): summary = """ -This test checks if the module classes are raising exception when calling basic methods or no. +This test checks if the module classes are raising exception when calling basic methods or not. """ return summary diff --git a/addons/base_module_quality/terp_test/terp_test.py b/addons/base_module_quality/terp_test/terp_test.py index f42b697c3ad..70048202cea 100644 --- a/addons/base_module_quality/terp_test/terp_test.py +++ b/addons/base_module_quality/terp_test/terp_test.py @@ -43,6 +43,9 @@ class quality_test(base_module_quality.abstract_quality_check): def run_test(self, cr, uid, module_path): list_files = os.listdir(module_path) + + current_module = module_path.split('/')[-1] + for i in list_files: path = os.path.join(module_path, i) if os.path.isdir(path): @@ -61,24 +64,39 @@ class quality_test(base_module_quality.abstract_quality_check): terp_file = os.path.join(module_path,'__terp__.py') res = eval(tools.file_open(terp_file).read()) - terp_keys = ['category', 'name', 'description', 'author', 'website', 'update_xml', 'init_xml', 'depends', 'version', 'active', 'installable', 'demo_xml'] + terp_keys = ['category', 'name', 'description', 'author', 'website', 'update_xml', 'init_xml', 'depends', 'version', 'active', 'installable', 'demo_xml', 'certificate'] for key in terp_keys: if key in res: - feel_good_factor += 1 + feel_good_factor += 1 # each tag should appear if isinstance(res[key],(str,unicode)): if not res[key]: feel_bad_factor += 1 else: - if key == 'description' and res[key] and len(str(res[key]))>=25: + + if key == 'description' and res[key] and len(str(res[key])) >= 150: # no. of chars should be >=150 feel_good_factor += 1 if res['description'].count('\n') >= 4:# description contains minimum 5 lines feel_good_factor += 1 if key == 'website': - ptrn = re.compile('https?://[\w\.]*') # reg ex matching on temporary basis. + ptrn = re.compile('https?://[\w\.]*') # reg ex matching on temporary basis.Website is correctly formatted result = ptrn.search(str(res[key])) if result: feel_good_factor += 1 + else: + feel_bad_factor += 1 + + if isinstance(res[key],bool): + if key == 'active': + if current_module != 'base': + if res[key]: + feel_bad_factor += 1 + else: + if not res[key]: + feel_bad_factor += 1 + + if key == 'installable' and not res[key]: # installable tag is provided and True + feel_bad_factor +=1 else: feel_bad_factor += 1 From 91e2f842616bfc85f06aae2ff954afa226496b59 Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Wed, 7 Jan 2009 15:33:17 +0100 Subject: [PATCH 42/68] [FIX] Certificate or None bzr revid: stephane@tinyerp.com-20090107143317-8huptlakzzav0v2d --- bin/addons/base/module/module.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bin/addons/base/module/module.py b/bin/addons/base/module/module.py index 16da7d10ba6..cb9068cefde 100644 --- a/bin/addons/base/module/module.py +++ b/bin/addons/base/module/module.py @@ -332,7 +332,7 @@ class module(osv.osv): 'author': terp.get('author', 'Unknown'), 'website': terp.get('website', ''), 'license': terp.get('license', 'GPL-2'), - 'certificate': terp.get('certificate'), + 'certificate': terp.get('certificate') or None, }) cr.execute('DELETE FROM ir_module_module_dependency WHERE module_id = %s', (id,)) self._update_dependencies(cr, uid, ids[0], terp.get('depends', [])) @@ -352,7 +352,7 @@ class module(osv.osv): 'author': terp.get('author', 'Unknown'), 'website': terp.get('website', ''), 'license': terp.get('license', 'GPL-2'), - 'certificate': terp.get('certificate'), + 'certificate': terp.get('certificate') or None, }) res[1] += 1 self._update_dependencies(cr, uid, id, terp.get('depends', [])) @@ -433,7 +433,7 @@ class module(osv.osv): 'author': terp.get('author', 'Unknown'), 'website': terp.get('website', ''), 'license': terp.get('license', 'GPL-2'), - 'certificate': terp.get('certificate'), + 'certificate': terp.get('certificate') or None, }) cr.execute('DELETE FROM ir_module_module_dependency ' \ 'WHERE module_id = %s', (mod.id,)) From c56395453a0ada2038217544a59029e1fb4853ed Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Wed, 7 Jan 2009 15:52:34 +0100 Subject: [PATCH 43/68] [FIX] when a module can not be loaded, the pool is delete, allowing to recreate a new pool... bzr revid: christophe@tinyerp.com-20090107145234-96rg0fq1jgwe9fcd --- bin/addons/__init__.py | 20 +++++++++++--------- bin/osv/osv.py | 4 +++- bin/pooler.py | 8 +++++++- 3 files changed, 21 insertions(+), 11 deletions(-) diff --git a/bin/addons/__init__.py b/bin/addons/__init__.py index 9a43513f0d5..7501aab3ad3 100644 --- a/bin/addons/__init__.py +++ b/bin/addons/__init__.py @@ -317,11 +317,17 @@ def register_class(m): """ Register module named m, if not already registered """ + + def log(e): + mt = isinstance(e, zipimport.ZipImportError) and 'zip ' or '' + msg = "Couldn't load%s module %s" % (mt, m) + logger.notifyChannel('init', netsvc.LOG_CRITICAL, msg) + logger.notifyChannel('init', netsvc.LOG_CRITICAL, e) + global loaded if m in loaded: return logger.notifyChannel('init', netsvc.LOG_INFO, 'module %s: registering objects' % m) - loaded.append(m) mod_path = get_module_path(m) try: zip_mod_path = mod_path + '.zip' @@ -335,15 +341,11 @@ def register_class(m): else: zimp = zipimport.zipimporter(zip_mod_path) zimp.load_module(m) - except zipimport.ZipImportError: - logger.notifyChannel('init', netsvc.LOG_CRITICAL, 'Couldn\'t find zip module %s' % m) - raise - except ImportError: - logger.notifyChannel('init', netsvc.LOG_CRITICAL, 'Couldn\'t find module %s' % m) - raise - except Exception: - logger.notifyChannel('init', netsvc.LOG_CRITICAL, 'Couldn\'t find module %s' % (m)) + except Exception, e: + log(e) raise + else: + loaded.append(m) class MigrationManager(object): diff --git a/bin/osv/osv.py b/bin/osv/osv.py index 5c08a5ee636..87902b4b5eb 100644 --- a/bin/osv/osv.py +++ b/bin/osv/osv.py @@ -1,7 +1,7 @@ # -*- encoding: utf-8 -*- ############################################################################## # -# OpenERP, Open Source Management Solution +# OpenERP, Open Source Management Solution # Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # @@ -261,3 +261,5 @@ class osv(orm.orm): self.pool = pool orm.orm.__init__(self, cr) +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: + diff --git a/bin/pooler.py b/bin/pooler.py index 8b5b3b2a865..0064e2397b6 100644 --- a/bin/pooler.py +++ b/bin/pooler.py @@ -35,7 +35,13 @@ def get_db_and_pool(db_name, force_demo=False, status=None, update_module=False) import osv.osv pool = osv.osv.osv_pool() pool_dic[db_name] = pool - addons.load_modules(db, force_demo, status, update_module) + + try: + addons.load_modules(db, force_demo, status, update_module) + except Exception, e: + del pool_dic[db_name] + raise + cr = db.cursor() try: pool.init_set(cr, False) From 6c360b6d59f300fda18dfdfc3ae2f2b20a6ad479 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Wed, 7 Jan 2009 16:53:45 +0100 Subject: [PATCH 44/68] [FIX] migrate_databases: convert exception before raising it to client [IMP] the verification of the presence of the description and the validation of the quality certificate is done only at instanciation of the module bzr revid: christophe@tinyerp.com-20090107155345-gb86zqkrulonb7sg --- bin/addons/__init__.py | 10 ++++-- bin/addons/base/module/module.py | 54 ++++++++------------------------ bin/service/web_services.py | 13 +++++++- 3 files changed, 33 insertions(+), 44 deletions(-) diff --git a/bin/addons/__init__.py b/bin/addons/__init__.py index 7501aab3ad3..b4bd6dc5796 100644 --- a/bin/addons/__init__.py +++ b/bin/addons/__init__.py @@ -513,6 +513,8 @@ def load_module_graph(cr, graph, status=None, check_access_rules=True, **kwargs) migrations = MigrationManager(cr, graph) check_rules = False + modobj = None + for package in graph: status['progress'] = (float(statusi)+0.1)/len(graph) m = package.name @@ -524,6 +526,12 @@ def load_module_graph(cr, graph, status=None, check_access_rules=True, **kwargs) logger.notifyChannel('init', netsvc.LOG_INFO, 'module %s loading objects' % m) modules = pool.instanciate(m, cr) + if modobj is None: + modobj = pool.get('ir.module.module') + + if modobj: + modobj.check(cr, 1, [mid]) + idref = {} status['progress'] = (float(statusi)+0.4)/len(graph) if hasattr(package, 'init') or hasattr(package, 'update') or package.state in ('to install', 'to upgrade'): @@ -566,7 +574,6 @@ def load_module_graph(cr, graph, status=None, check_access_rules=True, **kwargs) #cr.execute("update ir_module_module set state='installed', latest_version=%s where id=%s", (ver, mid,)) # Set new modules and dependencies - modobj = pool.get('ir.module.module') modobj.write(cr, 1, [mid], {'state':'installed', 'latest_version':ver}) cr.commit() @@ -584,7 +591,6 @@ def load_module_graph(cr, graph, status=None, check_access_rules=True, **kwargs) logger.notifyChannel('init', netsvc.LOG_WARNING, 'object %s (%s) has no access rules!' % (model,name)) - pool = pooler.get_pool(cr.dbname) cr.execute('select model from ir_model where state=%s', ('manual',)) for model in cr.dictfetchall(): pool.get('ir.model').instanciate(cr, 1, model['model'], {}) diff --git a/bin/addons/base/module/module.py b/bin/addons/base/module/module.py index cb9068cefde..35c1e9f48ca 100644 --- a/bin/addons/base/module/module.py +++ b/bin/addons/base/module/module.py @@ -191,27 +191,6 @@ class module(osv.osv): ('certificate_uniq', 'unique (certificate)', 'The certificate ID of the module must be unique !') ] - def _check_certificate(self, cr, uid, ids): - if not ids: - return True - - logger = netsvc.Logger() - for mod in self.browse(cr, uid, ids): - if not mod.certificate: - logger.notifyChannel('', netsvc.LOG_WARNING, 'module %s: no quality certificate' % mod.name) - else: - try: - val = long(mod.certificate) % 97 == 29 - if not val: - raise Exception('Invalid Certificate') - except Exception, ex: - return False - return True - - _constraints = [ - (_check_certificate, "Your certificate is wrong !", ['certificate']), - ] - def unlink(self, cr, uid, ids, context=None): if not ids: return True @@ -489,28 +468,21 @@ class module(osv.osv): if os.path.exists(f): logger.notifyChannel("init", netsvc.LOG_INFO, 'module %s: loading translation file for language %s' % (mod.name, lang)) tools.trans_load(cr.dbname, f, lang, verbose=False) + - def write(self, cr, uid, ids, vals, context=None): - # Override the write method because we want to show a warning when the description field is empty ! - if isinstance( ids, (long, int) ): - ids = [ids] - if 'description' in vals and not vals['description']: - logger = netsvc.Logger() - for mod in self.browse(cr, uid, ids): - logger.notifyChannel("init", netsvc.LOG_WARNING, 'module %s: description is empty !' % (mod.name)) + def check(self, cr, uid, ids, context=None): + logger = netsvc.Logger() + for mod in self.browse(cr, uid, ids, context=context): + if not mod.description: + logger.notifyChannel("init", netsvc.LOG_WARNING, 'module %s: description is empty !' % (mod.name,)) - return super(module, self).write(cr, uid, ids, vals, context=context) - - def create(self, cr, uid, vals, context=None): - # Override the create method because we want to show a warning when the description field is empty ! - module_id = super(module, self).create(cr, uid, vals, context=context) - - if 'description' in vals and not vals['description']: - logger = netsvc.Logger() - for mod in self.browse(cr, uid, [module_id]): - logger.notifyChannel("init", netsvc.LOG_WARNING, 'module %s: description is empty !' % (mod.name)) - - return module_id + if not mod.certificate: + logger.notifyChannel('init', netsvc.LOG_WARNING, 'module %s: no quality certificate' % (mod.name,)) + else: + val = long(mod.certificate) % 97 == 29 + if not val: + logger.notifyChannel('init', netsvc.LOG_CRITICAL, 'module %s: invalid quality certificate: %s' % (mod.name, mod.certificate)) + raise osv.except_osv(_('Error'), _('Module %s: Invalid Quality Certificate') % (mod.name,)) module() diff --git a/bin/service/web_services.py b/bin/service/web_services.py index 8d0202667ff..ef0dedc551e 100644 --- a/bin/service/web_services.py +++ b/bin/service/web_services.py @@ -277,6 +277,10 @@ class db(netsvc.Service): return release.version def migrate_databases(self, password, databases): + + from osv.orm import except_orm + from osv.osv import except_osv + security.check_super(password) l = netsvc.Logger() for db in databases: @@ -284,8 +288,15 @@ class db(netsvc.Service): l.notifyChannel('migration', netsvc.LOG_INFO, 'migrate database %s' % (db,)) tools.config['update']['base'] = True pooler.restart_pool(db, force_demo=False, update_module=True) + except except_orm, inst: + self.abortResponse(1, inst.name, 'warning', inst.value) + except except_osv, inst: + self.abortResponse(1, inst.name, inst.exc_type, inst.value) except Exception, e: - tools.debug(e) + import traceback + tb_s = reduce(lambda x, y: x+y, traceback.format_exception( sys.exc_type, sys.exc_value, sys.exc_traceback)) + logger = Logger() + logger.notifyChannel('web-services', LOG_ERROR, tb_s) raise return True db() From bc3451b40253f5e7812cd78fb3b115bdc4804319 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Wed, 7 Jan 2009 17:00:12 +0100 Subject: [PATCH 45/68] [FIX] product: complete_name: pass the context to name_get lp bug: https://launchpad.net/bugs/314723 fixed bzr revid: christophe@tinyerp.com-20090107160012-18v2klefi72tan3k --- addons/product/product.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/product/product.py b/addons/product/product.py index 90348783a0c..8378e682dae 100644 --- a/addons/product/product.py +++ b/addons/product/product.py @@ -174,7 +174,7 @@ product_ul() #---------------------------------------------------------- class product_category(osv.osv): - def name_get(self, cr, uid, ids, context={}): + def name_get(self, cr, uid, ids, context=None): if not len(ids): return [] reads = self.read(cr, uid, ids, ['name','parent_id'], context) @@ -187,7 +187,7 @@ class product_category(osv.osv): return res def _name_get_fnc(self, cr, uid, ids, prop, unknow_none, context): - res = self.name_get(cr, uid, ids) + res = self.name_get(cr, uid, ids, context) return dict(res) _name = "product.category" From 195fc4a475454ec8190b7d5480cdd97059621b5a Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Wed, 7 Jan 2009 19:44:27 +0100 Subject: [PATCH 46/68] [FIX] handle correctly the convertion of exceptions to unicode lp bug: https://launchpad.net/bugs/314292 fixed bzr revid: christophe@tinyerp.com-20090107184427-jnpi8sc14qduspwe --- bin/netsvc.py | 7 +++++-- bin/tools/misc.py | 11 +++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/bin/netsvc.py b/bin/netsvc.py index 7fdd5aa0a39..a1dc8b06968 100644 --- a/bin/netsvc.py +++ b/bin/netsvc.py @@ -160,6 +160,9 @@ class Logger(object): level_method = getattr(log, level) + if isinstance(msg, Exception): + msg = tools.exception_to_unicode(msg) + result = tools.ustr(msg).strip().split('\n') if len(result)>1: for idx, s in enumerate(result): @@ -238,7 +241,7 @@ class GenericXMLRPCRequestHandler(OpenERPDispatcher): service_name = self.path.split("/")[-1] return self.dispatch(service_name, method, params) except OpenERPDispatcherException, e: - raise xmlrpclib.Fault(str(e.exception), e.traceback) + raise xmlrpclib.Fault(tools.exception_to_unicode(e.exception), e.traceback) class SSLSocket(object): def __init__(self, socket): @@ -353,7 +356,7 @@ class TinySocketClientThread(threading.Thread, OpenERPDispatcher): result = self.dispatch(msg[0], msg[1], msg[2:]) ts.mysend(result) except OpenERPDispatcherException, e: - new_e = Exception(tools.ustr(e.exception)) # avoid problems of pickeling + new_e = Exception(tools.exception_to_unicode(e.exception)) # avoid problems of pickeling ts.mysend(new_e, exception=True, traceback=e.traceback) self.sock.close() diff --git a/bin/tools/misc.py b/bin/tools/misc.py index 2cfa18b0ef5..4260282d426 100644 --- a/bin/tools/misc.py +++ b/bin/tools/misc.py @@ -679,6 +679,17 @@ def ustr(value): return unicode(value, 'utf-8') +def exception_to_unicode(e): + if hasattr(e, 'message'): + return ustr(e.message) + if hasattr(e, 'args'): + return "\n".join((ustr(a) for a in e.args)) + try: + return ustr(e) + except: + return u"Unknow message" + + # to be compatible with python 2.4 import __builtin__ if not hasattr(__builtin__, 'all'): From 5b6bcfb55917f2755e4998ed5f684a1b19f8d872 Mon Sep 17 00:00:00 2001 From: qdp Date: Thu, 8 Jan 2009 09:49:26 +0100 Subject: [PATCH 47/68] *imrpovements bzr revid: qdp@tinyerp.com-20090108084926-n4dxtv1bczx9id1t --- .../base_module_quality.py | 18 +++---- .../base_module_quality_wizard.xml | 13 +++-- .../method_test/method_test.py | 20 +++----- .../pylint_test/pylint_test.py | 37 +++++++------- .../speed_test/speed_test.py | 51 ++++++++----------- .../terp_test/terp_test.py | 30 +++++------ .../wizard/module_quality_check.py | 26 ++++++---- 7 files changed, 95 insertions(+), 100 deletions(-) diff --git a/addons/base_module_quality/base_module_quality.py b/addons/base_module_quality/base_module_quality.py index 1be9de1ec5b..48a4d6dc69a 100644 --- a/addons/base_module_quality/base_module_quality.py +++ b/addons/base_module_quality/base_module_quality.py @@ -21,6 +21,7 @@ ############################################################################## import pooler import os +import osv from tools import config class abstract_quality_check(object): @@ -77,7 +78,8 @@ class abstract_quality_check(object): ''' this method should do the test and fill the score, result and result_details var ''' - raise 'Not Implemented' + + raise osv.except_osv(_('Programming Error'), _('Test Is Not Implemented')) def get_objects(self, cr, uid, module): # This function returns all object of the given module.. @@ -103,14 +105,12 @@ class abstract_quality_check(object): def format_table(self, header=[], data_list=[]): detail = "" - header_list = [] - final_list = [] - for head in data_list[1]: - header_list.append(head) - detail += (header[0]) % tuple(header_list) - for res in data_list[0]: - data_list[0][res].append(res) - detail += (header[1]) % tuple(data_list[0][res]) + detail += (header[0]) % tuple(header[1]) + frow = '\n|-' + for i in header[1]: + frow += '\n| %s' + for key, value in data_list.items(): + detail += (frow) % tuple(value) detail = detail + '\n|}' return detail diff --git a/addons/base_module_quality/base_module_quality_wizard.xml b/addons/base_module_quality/base_module_quality_wizard.xml index 5d718385dcc..a33f27342e3 100644 --- a/addons/base_module_quality/base_module_quality_wizard.xml +++ b/addons/base_module_quality/base_module_quality_wizard.xml @@ -21,8 +21,8 @@ form - - + + @@ -38,8 +38,10 @@ - + + + @@ -55,8 +57,9 @@ tree - - + + + diff --git a/addons/base_module_quality/method_test/method_test.py b/addons/base_module_quality/method_test/method_test.py index 58c536e9e9c..b9c52279875 100644 --- a/addons/base_module_quality/method_test/method_test.py +++ b/addons/base_module_quality/method_test/method_test.py @@ -34,8 +34,6 @@ class quality_test(base_module_quality.abstract_quality_check): self.name = _("Method Test") self.bool_installed_only = True self.ponderation = 1.0 - self.result_det = {} - self.data_list = [] return None def run_test(self, cr, uid, module_path): @@ -44,8 +42,9 @@ class quality_test(base_module_quality.abstract_quality_check): obj_list = self.get_objects(cr, uid, module_name) ok_count = 0 ex_count = 0 + result_dict = {} for obj in obj_list: - temp = [] + temp = [obj] try: res = pool.get(obj).search(cr, uid, []) temp.append('Ok') @@ -67,11 +66,10 @@ class quality_test(base_module_quality.abstract_quality_check): except: temp.append('Exception') ex_count += 1 - self.result_det[obj] = temp - self.data_list.append(self.result_det) + result_dict[obj] = temp self.score = (ok_count + ex_count) and float(ok_count)/float(ok_count + ex_count) or 0.0 self.result = self.get_result() - self.result_details = self.get_result_details() + self.result_details = self.get_result_details(result_dict) return None def get_result(self): @@ -80,15 +78,11 @@ This test checks if the module classes are raising exception when calling basic """ return summary - def get_result_details(self): - header_list = [] - header_list.append('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-16s \n! %-20s \n! %-16s ') - header_list.append('\n|-\n| %s \n| %s \n| %s \n| %s ') - header_view = ['Object Name', 'search()', 'fields_view_get', 'read'] - self.data_list.append(header_view) + def get_result_details(self, dict): + header = ('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-16s \n! %-20s \n! %-16s ', [_('Object Name'), 'search()', 'fields_view_get()', 'read()']) detail = "" if not self.error: - detail += self.format_table(header=header_list, data_list=self.data_list) + detail += self.format_table(header, dict) return detail # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_module_quality/pylint_test/pylint_test.py b/addons/base_module_quality/pylint_test/pylint_test.py index 3c40bad9bb2..7275b378105 100644 --- a/addons/base_module_quality/pylint_test/pylint_test.py +++ b/addons/base_module_quality/pylint_test/pylint_test.py @@ -47,7 +47,8 @@ class quality_test(base_module_quality.abstract_quality_check): n = 0 score = 0.0 - self.result += "\nThis test checks if the module satisfies the current coding standard used by OpenERP. \n\n" + self.result += """\nThis test checks if the module satisfies the current coding standard used by OpenERP. \n +Rating for *.py files goes from -10/10 to 10/10\n\n""" for file in list_files: if file.split('.')[-1] == 'py' and not file.endswith('__init__.py') and not file.endswith('__terp__.py'): file_path = os.path.join(module_path, file) @@ -72,29 +73,29 @@ class quality_test(base_module_quality.abstract_quality_check): self.result_details += res average_score = n and score / n or score - self.score = (average_score + 10) /20 + self.score = (average_score + 10) / 20 return None - def get_result(self, cr, uid, module_path): - self.run_test(cr, uid, module_path) - if not self.bool_installed_only or module_state=="installed": - summary =""" -===Pylint Test===: + #~ def get_result(self, cr, uid, module_path): + #~ self.run_test(cr, uid, module_path) + #~ if not self.bool_installed_only or module_state=="installed": + #~ summary =""" +#~ ===Pylint Test===: -This test checks if the module satisfies the current coding standard used by OpenERP. +#~ This test checks if the module satisfies the current coding standard used by OpenERP. -""" + "Score: " + str(self.score) + "/10\n" - else: - summary =""" \n===Pylint Test===: +#~ """ + "Score: " + str(self.score) + "/10\n" + #~ else: + #~ summary =""" \n===Pylint Test===: -The module has to be installed before running this test.\n\n """ - header_list = "" - self.error = True - return summary +#~ The module has to be installed before running this test.\n\n """ + #~ header_list = "" + #~ self.error = True + #~ return summary - def get_result_details(self): - detail = "\n===Pylint Test===\n" + self.result - return detail + #~ def get_result_details(self): + #~ detail = "\n===Pylint Test===\n" + self.result + #~ return detail # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_module_quality/speed_test/speed_test.py b/addons/base_module_quality/speed_test/speed_test.py index d631ab2c96b..1f246ee7f33 100644 --- a/addons/base_module_quality/speed_test/speed_test.py +++ b/addons/base_module_quality/speed_test/speed_test.py @@ -38,9 +38,8 @@ class quality_test(base_module_quality.abstract_quality_check): self.name = _("Speed Test") self.bool_installed_only = True self.ponderation = 1.0 - self.result_det = {} - self.data_list = [] return None + def run_test(self, cr, uid, module_path): pool = pooler.get_pool(cr.dbname) module_name = module_path.split('/')[-1] @@ -48,48 +47,45 @@ class quality_test(base_module_quality.abstract_quality_check): obj_counter = 0 score = 0 obj_ids = self.get_ids(cr, uid, obj_list) + result_dict = {} for obj in obj_ids: obj_counter += 1 ids = obj_ids[obj] ids = ids[:100] size = len(ids) if size: - c1 = cr.count + list = [] + #we perform the operation twice, and count the number of queries in the second run. This allows to avoid the cache effect. (like translated terms that asks for more queries) pool.get(obj).read(cr, uid, [ids[0]]) + c = cr.count pool.get(obj).read(cr, uid, [ids[0]]) - code_base_complexity = cr.count - c1 + code_base_complexity = cr.count - c pool.get(obj).read(cr, uid, ids[:size/2]) + c = cr.count pool.get(obj).read(cr, uid, ids[:size/2]) - code_half_complexity = cr.count - c1 + code_half_complexity = cr.count - c pool.get(obj).read(cr, uid, ids) + c = cr.count pool.get(obj).read(cr, uid, ids) - code_size_complexity = cr.count - c1 + code_size_complexity = cr.count - c if size < 5: - self.score += -2 - list = [size, code_base_complexity, code_half_complexity, code_size_complexity, "Warning! Not enough demo data"] - self.result_det[obj] = list + list = [obj, size, code_base_complexity, code_half_complexity, code_size_complexity, "Warning! Not enough demo data"] else: if code_size_complexity <= (code_base_complexity + size): complexity = "O(1)" - score = 10 + score += 1 else: complexity = "O(n) or worst" - score = 0 - list = [size, code_base_complexity, code_half_complexity, code_size_complexity, complexity] - self.result_det[obj] = list + list = [obj, size, code_base_complexity, code_half_complexity, code_size_complexity, complexity] else: - score += -5 - list = [size, "", "", "", "Warning! Object has no demo data"] - self.result_det[obj] = list - self.data_list.append(self.result_det) - self.score = obj_counter and score/obj_counter or 0.0 - self.result = self.get_result() - self.result_details = self.get_result_details() - + list = [obj, size, "", "", "", "Warning! Object has no demo data"] + result_dict[obj] = list + self.score = obj_counter and score / obj_counter or 0.0 + self.result_details = self.get_result_details(result_dict) return None def get_result(self): @@ -98,16 +94,11 @@ This test checks the speed of the module. """ return summary - def get_result_details(self): - header_list = [] - header_list.append('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-10s \n! %-10s \n! %-10s \n! %-10s \n! %-20s') - header_list.append('\n|-\n| %s \n| %s \n| %s \n| %s \n| %s \n| %s ') - header_view = ['Object Name', 'Size-Number of Records (S)', '1', 'S/2', 'S', 'Complexity using query'] - detail = "" - self.data_list.append(header_view) + def get_result_details(self, dict): + header = ('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-10s \n! %-10s \n! %-10s \n! %-10s \n! %-20s', [_('Object Name'), _('Size-Number of Records (S)'), _('1'), _('S/2'), _('S'), _('Reading Complexity')]) if not self.error: - detail += self.format_table(header=header_list, data_list=self.data_list) - return detail + return self.format_table(header, data_list=dict) + return "" # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_module_quality/terp_test/terp_test.py b/addons/base_module_quality/terp_test/terp_test.py index 70048202cea..c55b5222df2 100644 --- a/addons/base_module_quality/terp_test/terp_test.py +++ b/addons/base_module_quality/terp_test/terp_test.py @@ -58,8 +58,8 @@ class quality_test(base_module_quality.abstract_quality_check): feel_bad_factor = 0 if '__terp__.py' not in list_files: self.no_terp = True - if self.no_terp: self.result += "The module does not contain the __terp__.py file" + return None terp_file = os.path.join(module_path,'__terp__.py') res = eval(tools.file_open(terp_file).read()) @@ -105,21 +105,21 @@ class quality_test(base_module_quality.abstract_quality_check): # self.result += "__terp__.py : "+ str(self.score) + "/10\n" return None - def get_result(self, cr, uid, module_path, module_state): -# self.run_test(cr, uid, module_path) -# summary = "\n===TERP Test===:\n" - if self.no_terp: - summary += """ -The module does not contain the __terp__.py file.\n\n """ -# else: -# summary += """ -# This test checks if the module satisfies the current coding standard for __terp__.py file used by OpenERP. -# """ + "Score: " + str(self.score) + "/10\n" - return summary + #~ def get_result(self, cr, uid, module_path, module_state): +#~ # self.run_test(cr, uid, module_path) +#~ # summary = "\n===TERP Test===:\n" + #~ if self.no_terp: + #~ summary += """ +#~ The module does not contain the __terp__.py file.\n\n """ +#~ # else: +#~ # summary += """ +#~ # This test checks if the module satisfies the current coding standard for __terp__.py file used by OpenERP. +#~ # """ + "Score: " + str(self.score) + "/10\n" + #~ return summary - def get_result_details(self): - detail = "\n===TERP Test===\n" + self.result - return detail + #~ def get_result_details(self): + #~ detail = "\n===TERP Test===\n" + self.result + #~ return detail diff --git a/addons/base_module_quality/wizard/module_quality_check.py b/addons/base_module_quality/wizard/module_quality_check.py index 827e4719800..1cd2031f202 100644 --- a/addons/base_module_quality/wizard/module_quality_check.py +++ b/addons/base_module_quality/wizard/module_quality_check.py @@ -35,8 +35,8 @@ class wiz_quality_check(osv.osv): _name = 'wizard.quality.check' _columns = { 'name': fields.char('Rated Module', size=64, ), - 'final_score': fields.char('Final Score', size=10,), - 'test_ids' : fields.one2many('quality.check.detail', 'quality_check_id', 'Test Details',) + 'final_score': fields.char('Final Score (%)', size=10,), + 'test_ids' : fields.one2many('quality.check.detail', 'quality_check_id', 'Tests',) } wiz_quality_check() @@ -46,10 +46,11 @@ class quality_check_detail(osv.osv): _columns = { 'quality_check_id': fields.many2one('wizard.quality.check', 'Quality'), 'name': fields.char('Name',size=128,), - 'score': fields.float('Score',), - 'ponderation': fields.float('Ponderation',), + 'score': fields.float('Score (%)',), + 'ponderation': fields.float('Ponderation',help='Some tests are more critical than others, so they have a bigger weight in the computation of final rating'), 'summary': fields.text('Summary',), 'detail' : fields.text('Details',), + 'state': fields.selection([('done','Done'),('skipped','Skipped'),], 'State', size=6, help='The test will be completed only if the module is installed or if the test may be processed on uninstalled module.'), } quality_check_detail() @@ -58,8 +59,10 @@ class create_quality_check(wizard.interface): def _create_quality_check(self, cr, uid, data, context={}): pool = pooler.get_pool(cr.dbname) - if data['id']: - module_data = pool.get('ir.module.module').browse(cr, uid, [data['id']])[0] + print data, context + objs = [] + for id in data['ids']: + module_data = pool.get('ir.module.module').browse(cr, uid, id) #list_folders = os.listdir(config['addons_path']+'/base_module_quality/') abstract_obj = base_module_quality.abstract_quality_check() score_sum = 0.0 @@ -76,10 +79,11 @@ class create_quality_check(wizard.interface): val.run_test(cr, uid, str(module_path)) data = { 'name': val.name, - 'score': val.score, + 'score': val.score * 100, 'ponderation': val.ponderation, 'summary': val.result, 'detail': val.result_details, + 'state': 'done', } create_ids.append((0,0,data)) score_sum += val.score * val.ponderation @@ -88,6 +92,7 @@ class create_quality_check(wizard.interface): data = { 'name': val.name, 'score': 0, + 'state': 'skipped', 'summary': _("The module has to be installed before running this test.") } create_ids.append((0,0,data)) @@ -99,12 +104,13 @@ class create_quality_check(wizard.interface): 'test_ids' : create_ids, } obj = pool.get('wizard.quality.check').create(cr, uid, data, context) - return obj + objs.append(obj) + return objs def _open_quality_check(self, cr, uid, data, context): - obj_id = self._create_quality_check(cr, uid, data, context) + obj_ids = self._create_quality_check(cr, uid, data, context) return { - 'domain': "[('id','=', "+ str(obj_id)+")]", + 'domain': "[('id','in', ["+','.join(map(str,obj_ids))+"])]", 'name': _('Quality Check'), 'view_type': 'form', 'view_mode': 'tree,form', From f8e9998c256e5bbfdca2aaccf9e0eaee21303fa2 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Thu, 8 Jan 2009 10:02:00 +0100 Subject: [PATCH 48/68] [FIX] do not check the module base before it is fully initialized lp bug: https://launchpad.net/bugs/314986 fixed bzr revid: christophe@tinyerp.com-20090108090200-cftkgm715r094woq --- bin/addons/__init__.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bin/addons/__init__.py b/bin/addons/__init__.py index b4bd6dc5796..1b72281830b 100644 --- a/bin/addons/__init__.py +++ b/bin/addons/__init__.py @@ -482,7 +482,7 @@ class MigrationManager(object): del mod -def load_module_graph(cr, graph, status=None, check_access_rules=True, **kwargs): +def load_module_graph(cr, graph, status=None, perform_checks=True, **kwargs): # **kwargs is passed directly to convert_xml_import if not status: status={} @@ -529,7 +529,7 @@ def load_module_graph(cr, graph, status=None, check_access_rules=True, **kwargs) if modobj is None: modobj = pool.get('ir.module.module') - if modobj: + if modobj and perform_checks: modobj.check(cr, 1, [mid]) idref = {} @@ -585,7 +585,7 @@ def load_module_graph(cr, graph, status=None, check_access_rules=True, **kwargs) statusi+=1 - if check_access_rules and check_rules: + if perform_checks and check_rules: cr.execute("""select model,name from ir_model where id not in (select model_id from ir_model_access)""") for (model,name) in cr.fetchall(): logger.notifyChannel('init', netsvc.LOG_WARNING, 'object %s (%s) has no access rules!' % (model,name)) @@ -611,7 +611,7 @@ def load_modules(db, force_demo=False, status=None, update_module=False): report = tools.assertion_report() if update_module: basegraph = create_graph(['base'], force) - load_module_graph(cr, basegraph, status, check_access_rules=False, report=report) + load_module_graph(cr, basegraph, status, perform_checks=False, report=report) modobj = pool.get('ir.module.module') logger.notifyChannel('init', netsvc.LOG_INFO, 'updating modules list') From 69e276222efb679980aa01a53fef92f7ea18a045 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Thu, 8 Jan 2009 10:37:58 +0100 Subject: [PATCH 49/68] [FIX] fix a bug in the "Close fiscal year wizard" that avoiding to close a fiscal year without creating new entries bzr revid: christophe@tinyerp.com-20090108093758-tf3urqgh8oejhzqk --- addons/account/wizard/wizard_fiscalyear_close.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/addons/account/wizard/wizard_fiscalyear_close.py b/addons/account/wizard/wizard_fiscalyear_close.py index 7dfc86ac5c3..fcb51906f3d 100644 --- a/addons/account/wizard/wizard_fiscalyear_close.py +++ b/addons/account/wizard/wizard_fiscalyear_close.py @@ -55,14 +55,15 @@ def _data_save(self, cr, uid, data, context): pool = pooler.get_pool(cr.dbname) fy_id = data['form']['fy_id'] + new_fyear = pool.get('account.fiscalyear').browse(cr, uid, data['form']['fy2_id']) + start_jp = new_fyear.start_journal_period_id + if data['form']['report_new']: periods_fy2 = pool.get('account.fiscalyear').browse(cr, uid, data['form']['fy2_id']).period_ids if not periods_fy2: raise wizard.except_wizard(_('UserError'), _('There are no periods defined on New Fiscal Year.')) period=periods_fy2[0] - new_fyear = pool.get('account.fiscalyear').browse(cr, uid, data['form']['fy2_id']) - start_jp = new_fyear.start_journal_period_id if not start_jp: raise wizard.except_wizard(_('UserError'), _('The new fiscal year should have a journal for new entries define on it')) @@ -163,7 +164,7 @@ def _data_save(self, cr, uid, data, context): 'WHERE fiscalyear_id = %s', ('done',fy_id)) cr.execute('UPDATE account_fiscalyear ' \ 'SET state = %s, end_journal_period_id = %s' \ - 'WHERE id = %s', ('done',start_jp.id,fy_id)) + 'WHERE id = %s', ('done', start_jp and start_jp.id or None, fy_id)) return {} class wiz_journal_close(wizard.interface): From 54d7b2ac6316fda0c98a21966ae7ffeb582c4360 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Thu, 8 Jan 2009 11:04:56 +0100 Subject: [PATCH 50/68] [FIX] the cache key is sorted using, items keys, avoiding to compare items values lp bug: https://launchpad.net/bugs/314979 fixed bzr revid: christophe@tinyerp.com-20090108100456-1oot7y77w4symn1j --- bin/tools/misc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/tools/misc.py b/bin/tools/misc.py index 4260282d426..c42c77a056e 100644 --- a/bin/tools/misc.py +++ b/bin/tools/misc.py @@ -560,7 +560,7 @@ class cache(object): def to_tuple(d): i = d.items() - i.sort() + i.sort(key=lambda (x,y): x) return tuple(i) if not self.multi: From e96989b95e7e7668cf0e4781899728ac8216ce3c Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Thu, 8 Jan 2009 11:08:56 +0100 Subject: [PATCH 51/68] [FIX] closing fiscal year wizard: bugfix in sql query bzr revid: christophe@tinyerp.com-20090108100856-y2r0b6pftoilvq10 --- addons/account/wizard/wizard_fiscalyear_close.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/account/wizard/wizard_fiscalyear_close.py b/addons/account/wizard/wizard_fiscalyear_close.py index fcb51906f3d..2aa218088d8 100644 --- a/addons/account/wizard/wizard_fiscalyear_close.py +++ b/addons/account/wizard/wizard_fiscalyear_close.py @@ -163,7 +163,7 @@ def _data_save(self, cr, uid, data, context): cr.execute('UPDATE account_period SET state = %s ' \ 'WHERE fiscalyear_id = %s', ('done',fy_id)) cr.execute('UPDATE account_fiscalyear ' \ - 'SET state = %s, end_journal_period_id = %s' \ + 'SET state = %s, end_journal_period_id = %s ' \ 'WHERE id = %s', ('done', start_jp and start_jp.id or None, fy_id)) return {} From d6219e509d6f94e700c73c3c5b9c3724e6659632 Mon Sep 17 00:00:00 2001 From: "Apa (Open ERP)" Date: Thu, 8 Jan 2009 16:24:31 +0530 Subject: [PATCH 52/68] for invoice, ca, u plz, put disc(%) the label of the column on the same line, like for sale order=Done bzr revid: apa@tinyerp.com-20090108105431-uet3mmjsu0rgpqff --- addons/account/report/invoice.rml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/account/report/invoice.rml b/addons/account/report/invoice.rml index e1a65319898..40d768e0935 100644 --- a/addons/account/report/invoice.rml +++ b/addons/account/report/invoice.rml @@ -297,7 +297,7 @@ - + Description @@ -312,7 +312,7 @@ Unit Price - Disc. (%) + Disc.(%) Price From bd79edc10e43011d2d16d4ae22bcf05f1688a2e8 Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Thu, 8 Jan 2009 12:33:59 +0100 Subject: [PATCH 53/68] [FIX] Typo bzr revid: stephane@tinyerp.com-20090108113359-rkerxjd5iz6qe52n --- addons/account/account.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/account/account.py b/addons/account/account.py index bbd88d10b2c..af54ce70206 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -1224,15 +1224,15 @@ class account_tax(osv.osv): # 'base_code_id': fields.many2one('account.tax.code', 'Base Code', help="Use this code for the VAT declaration."), 'tax_code_id': fields.many2one('account.tax.code', 'Tax Code', help="Use this code for the VAT declaration."), - 'base_sign': fields.float('Base Code Sign', help="Usualy 1 or -1."), - 'tax_sign': fields.float('Tax Code Sign', help="Usualy 1 or -1."), + 'base_sign': fields.float('Base Code Sign', help="Usually 1 or -1."), + 'tax_sign': fields.float('Tax Code Sign', help="Usually 1 or -1."), # Same fields for refund invoices 'ref_base_code_id': fields.many2one('account.tax.code', 'Refund Base Code', help="Use this code for the VAT declaration."), 'ref_tax_code_id': fields.many2one('account.tax.code', 'Refund Tax Code', help="Use this code for the VAT declaration."), - 'ref_base_sign': fields.float('Base Code Sign', help="Usualy 1 or -1."), - 'ref_tax_sign': fields.float('Tax Code Sign', help="Usualy 1 or -1."), + 'ref_base_sign': fields.float('Base Code Sign', help="Usually 1 or -1."), + 'ref_tax_sign': fields.float('Tax Code Sign', help="Usually 1 or -1."), 'include_base_amount': fields.boolean('Include in base amount', help="Indicate if the amount of tax must be included in the base amount for the computation of the next taxes"), 'company_id': fields.many2one('res.company', 'Company', required=True), 'description': fields.char('Internal Name',size=32), From b141de765db622f36e195261426756a343dd96c7 Mon Sep 17 00:00:00 2001 From: "Jay (Open ERP)" Date: Thu, 8 Jan 2009 18:05:15 +0530 Subject: [PATCH 54/68] Corrections on reports(Ref: VRA) bzr revid: jvo@tinyerp.com-20090108123515-helru2m311uskjsk --- addons/account/report/invoice.rml | 8 ++++---- addons/account/wizard/wizard_fiscalyear_close.py | 4 ++-- .../report/report_account_invoice_layout.rml | 4 ++-- .../report/special_message_invoice.rml | 4 ++-- addons/mrp_repair/report/order.rml | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/addons/account/report/invoice.rml b/addons/account/report/invoice.rml index 40d768e0935..74c873f9374 100644 --- a/addons/account/report/invoice.rml +++ b/addons/account/report/invoice.rml @@ -350,7 +350,7 @@ - [[ format(l.note or removeParentNode('tr')) ]] + [[ format(l.note) or removeParentNode('tr') ]] @@ -463,7 +463,7 @@ - + @@ -541,7 +541,7 @@ - [[ format(o.comment or removeParentNode('blockTable')) ]] + [[ format(o.comment) or removeParentNode('blockTable') ]] @@ -551,7 +551,7 @@ - [[ format((o.payment_term and o.payment_term.note) or removeParentNode('blockTable')) ]] + [[ format(o.payment_term and o.payment_term.note) or removeParentNode('blockTable') ]] diff --git a/addons/account/wizard/wizard_fiscalyear_close.py b/addons/account/wizard/wizard_fiscalyear_close.py index 2aa218088d8..7f1928d816c 100644 --- a/addons/account/wizard/wizard_fiscalyear_close.py +++ b/addons/account/wizard/wizard_fiscalyear_close.py @@ -51,7 +51,7 @@ def _data_load(self, cr, uid, data, context): def _data_save(self, cr, uid, data, context): if not data['form']['sure']: - raise wizard.except_wizard(_('UserError'), _('Closing of fiscal year canceled, please check the box !')) + raise wizard.except_wizard(_('UserError'), _('Closing of fiscal year cancelled, please check the box !')) pool = pooler.get_pool(cr.dbname) fy_id = data['form']['fy_id'] @@ -99,7 +99,7 @@ def _data_save(self, cr, uid, data, context): 'period_id': period.id, 'account_id': account.id }, {'journal_id': new_journal.id, 'period_id':period.id}) - if accnt_type_data.close_method=='unreconciled': + if accnt_type_data.close_method == 'unreconciled': offset = 0 limit = 100 while True: diff --git a/addons/account_invoice_layout/report/report_account_invoice_layout.rml b/addons/account_invoice_layout/report/report_account_invoice_layout.rml index 9690d42236a..e118288b547 100644 --- a/addons/account_invoice_layout/report/report_account_invoice_layout.rml +++ b/addons/account_invoice_layout/report/report_account_invoice_layout.rml @@ -287,11 +287,11 @@ -[[ format(o.comment or '') ]] +[[ format(o.comment) or '' ]] -[[ format((o.payment_term and o.payment_term.note) or '') ]] +[[ format(o.payment_term and o.payment_term.note) or '' ]] diff --git a/addons/account_invoice_layout/report/special_message_invoice.rml b/addons/account_invoice_layout/report/special_message_invoice.rml index 1e146007883..e29f845e185 100644 --- a/addons/account_invoice_layout/report/special_message_invoice.rml +++ b/addons/account_invoice_layout/report/special_message_invoice.rml @@ -287,11 +287,11 @@ -[[ format(o.comment or '') ]] +[[ format(o.comment) or '' ]] -[[ format((o.payment_term and o.payment_term.note) or '') ]] +[[ format(o.payment_term and o.payment_term.note) or '' ]]
[[ repeatIn((spcl_msg(data['form']) and spcl_msg(data['form']).splitlines()) or [], 'note') ]] [[ note or removeParentNode('para') ]] diff --git a/addons/mrp_repair/report/order.rml b/addons/mrp_repair/report/order.rml index 4151811f0ea..781bffaae59 100644 --- a/addons/mrp_repair/report/order.rml +++ b/addons/mrp_repair/report/order.rml @@ -395,7 +395,7 @@ - [[ format(o.quotation_notes or '') ]] + [[ format(o.quotation_notes) or '' ]] From 8a06bea953c16c90d4bef269638b5d6b467b89a9 Mon Sep 17 00:00:00 2001 From: qdp Date: Thu, 8 Jan 2009 14:03:20 +0100 Subject: [PATCH 55/68] base_module_quality improvements: *added note field *improved transability *improved output *cleaned *modified format_table method bzr revid: qdp@tinyerp.com-20090108130320-ypcc4jxbx51jv1ra --- .../base_module_quality.py | 3 ++ .../base_module_quality_wizard.xml | 1 + .../method_test/method_test.py | 25 +++++------ .../pylint_test/pylint_test.py | 41 +++++++------------ .../speed_test/speed_test.py | 39 ++++++++++++------ .../terp_test/terp_test.py | 22 ++++++++-- .../wizard/module_quality_check.py | 3 ++ 7 files changed, 78 insertions(+), 56 deletions(-) diff --git a/addons/base_module_quality/base_module_quality.py b/addons/base_module_quality/base_module_quality.py index 48a4d6dc69a..4590a51dfe3 100644 --- a/addons/base_module_quality/base_module_quality.py +++ b/addons/base_module_quality/base_module_quality.py @@ -41,6 +41,9 @@ class abstract_quality_check(object): #This char have to store the name of the test. self.name = "" + #This char have to store the aim of the test and eventually a note. + self.note = "" + #This char have to store the result. #Used to display the result of the test. self.result = "" diff --git a/addons/base_module_quality/base_module_quality_wizard.xml b/addons/base_module_quality/base_module_quality_wizard.xml index a33f27342e3..d60ab6d3b29 100644 --- a/addons/base_module_quality/base_module_quality_wizard.xml +++ b/addons/base_module_quality/base_module_quality_wizard.xml @@ -38,6 +38,7 @@ + diff --git a/addons/base_module_quality/method_test/method_test.py b/addons/base_module_quality/method_test/method_test.py index b9c52279875..1abaa288e86 100644 --- a/addons/base_module_quality/method_test/method_test.py +++ b/addons/base_module_quality/method_test/method_test.py @@ -32,6 +32,9 @@ class quality_test(base_module_quality.abstract_quality_check): def __init__(self): super(quality_test, self).__init__() self.name = _("Method Test") + self.note = _(""" +This test checks if the module classes are raising exception when calling basic methods or not. +""") self.bool_installed_only = True self.ponderation = 1.0 return None @@ -47,38 +50,32 @@ class quality_test(base_module_quality.abstract_quality_check): temp = [obj] try: res = pool.get(obj).search(cr, uid, []) - temp.append('Ok') + temp.append(_('Ok')) ok_count += 1 except: - temp.append('Exception') + temp.append(_('Exception')) ex_count += 1 try: res1 = pool.get(obj).fields_view_get(cr, uid,) - temp.append('Ok') + temp.append(_('Ok')) ok_count += 1 except: - temp.append('Exception') + temp.append(_('Exception')) ex_count += 1 try: res2 = pool.get(obj).read(cr, uid, []) - temp.append('Ok') + temp.append(_('Ok')) ok_count += 1 except: - temp.append('Exception') + temp.append(_('Exception')) ex_count += 1 result_dict[obj] = temp self.score = (ok_count + ex_count) and float(ok_count)/float(ok_count + ex_count) or 0.0 - self.result = self.get_result() - self.result_details = self.get_result_details(result_dict) + self.result = self.get_result(result_dict) return None - def get_result(self): - summary = """ -This test checks if the module classes are raising exception when calling basic methods or not. -""" - return summary - def get_result_details(self, dict): + def get_result(self, dict): header = ('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-16s \n! %-20s \n! %-16s ', [_('Object Name'), 'search()', 'fields_view_get()', 'read()']) detail = "" if not self.error: diff --git a/addons/base_module_quality/pylint_test/pylint_test.py b/addons/base_module_quality/pylint_test/pylint_test.py index 7275b378105..930ab7d29f1 100644 --- a/addons/base_module_quality/pylint_test/pylint_test.py +++ b/addons/base_module_quality/pylint_test/pylint_test.py @@ -32,6 +32,7 @@ class quality_test(base_module_quality.abstract_quality_check): def __init__(self): super(quality_test, self).__init__() self.name = _("Pylint Test") + self.note = _("""This test uses Pylint and checks if the module satisfies the coding standard of Python. See http://www.logilab.org/project/name/pylint for further info.\n """) self.bool_installed_only = False self.ponderation = 1.0 return None @@ -47,8 +48,8 @@ class quality_test(base_module_quality.abstract_quality_check): n = 0 score = 0.0 - self.result += """\nThis test checks if the module satisfies the current coding standard used by OpenERP. \n -Rating for *.py files goes from -10/10 to 10/10\n\n""" + dict = {} + self.result_details += '' for file in list_files: if file.split('.')[-1] == 'py' and not file.endswith('__init__.py') and not file.endswith('__terp__.py'): file_path = os.path.join(module_path, file) @@ -66,36 +67,24 @@ Rating for *.py files goes from -10/10 to 10/10\n\n""" rightchar += 1 try: score += float(res[leftchar+1:rightchar]) - self.result += file + ": " + res[leftchar+1:rightchar] + "/10\n" + #self.result += file + ": " + res[leftchar+1:rightchar] + "/10\n" + dict[file] = [file, res[leftchar+1:rightchar]] except: score += 0 - self.result += file + ": "+_("Unable to parse the result. Check the details.")+"\n" + #self.result += file + ": "+_("Unable to parse the result. Check the details.")+"\n" + dict[file] = [file, _("Unable to parse the result. Check the details.")] self.result_details += res - + self.result_details += '' average_score = n and score / n or score - self.score = (average_score + 10) / 20 + self.score = (max(average_score,0)) / 10 + self.result = self.get_result(dict) return None - #~ def get_result(self, cr, uid, module_path): - #~ self.run_test(cr, uid, module_path) - #~ if not self.bool_installed_only or module_state=="installed": - #~ summary =""" -#~ ===Pylint Test===: - -#~ This test checks if the module satisfies the current coding standard used by OpenERP. - -#~ """ + "Score: " + str(self.score) + "/10\n" - #~ else: - #~ summary =""" \n===Pylint Test===: - -#~ The module has to be installed before running this test.\n\n """ - #~ header_list = "" - #~ self.error = True - #~ return summary - - #~ def get_result_details(self): - #~ detail = "\n===Pylint Test===\n" + self.result - #~ return detail + def get_result(self, dict): + header = ('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-10s \n', [_('File Name'), _('Result (/10)'),]) + if not self.error: + return self.format_table(header, data_list=dict) + return "" # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_module_quality/speed_test/speed_test.py b/addons/base_module_quality/speed_test/speed_test.py index 1f246ee7f33..d35f6362074 100644 --- a/addons/base_module_quality/speed_test/speed_test.py +++ b/addons/base_module_quality/speed_test/speed_test.py @@ -35,9 +35,13 @@ class quality_test(base_module_quality.abstract_quality_check): def __init__(self): super(quality_test, self).__init__() - self.name = _("Speed Test") self.bool_installed_only = True self.ponderation = 1.0 + self.name = _("Speed Test") + self.note = _(""" +This test checks the speed of the module. Note that at least 5 demo data is needed in order to run it. + +""") return None def run_test(self, cr, uid, module_path): @@ -48,6 +52,8 @@ class quality_test(base_module_quality.abstract_quality_check): score = 0 obj_ids = self.get_ids(cr, uid, obj_list) result_dict = {} + result_dict2 = {} + self.result_details += _("O(1) means that the number of SQL requests to read the object does not depand on the number of objects we are reading. This feature is hardly wished.\n") for obj in obj_ids: obj_counter += 1 ids = obj_ids[obj] @@ -73,29 +79,38 @@ class quality_test(base_module_quality.abstract_quality_check): code_size_complexity = cr.count - c if size < 5: - list = [obj, size, code_base_complexity, code_half_complexity, code_size_complexity, "Warning! Not enough demo data"] + list = [obj, size, code_base_complexity, code_half_complexity, code_size_complexity, _("Warning! Not enough demo data")] else: if code_size_complexity <= (code_base_complexity + size): - complexity = "O(1)" + complexity = _("O(1)") score += 1 + list2 = [obj, _("Efficient")] else: - complexity = "O(n) or worst" + complexity = _("O(n) or worst") + list2 = [obj, _("Not Efficient")] + list = [obj, size, code_base_complexity, code_half_complexity, code_size_complexity, complexity] + else: - list = [obj, size, "", "", "", "Warning! Object has no demo data"] + list = [obj, size, "", "", "", _("Warning! Object has no demo data")] + list2 = [obj, _("No demo data")] result_dict[obj] = list + result_dict2[obj] = list2 + self.score = obj_counter and score / obj_counter or 0.0 - self.result_details = self.get_result_details(result_dict) + self.result_details += self.get_result_details(result_dict) + self.result += self.get_result(result_dict2) + return None - def get_result(self): - summary = """ -This test checks the speed of the module. -""" - return summary + def get_result(self, dict): + header = ('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-10s \n', [_('Object Name'), _('Result'),]) + if not self.error: + return self.format_table(header, data_list=dict) + return "" def get_result_details(self, dict): - header = ('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-10s \n! %-10s \n! %-10s \n! %-10s \n! %-20s', [_('Object Name'), _('Size-Number of Records (S)'), _('1'), _('S/2'), _('S'), _('Reading Complexity')]) + header = ('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-10s \n! %-10s \n! %-10s \n! %-10s \n! %-20s', [_('Object Name'), _('N (Number of Records)'), _('1'), _('N/2'), _('N'), _('Reading Complexity')]) if not self.error: return self.format_table(header, data_list=dict) return "" diff --git a/addons/base_module_quality/terp_test/terp_test.py b/addons/base_module_quality/terp_test/terp_test.py index c55b5222df2..cf9977c89b7 100644 --- a/addons/base_module_quality/terp_test/terp_test.py +++ b/addons/base_module_quality/terp_test/terp_test.py @@ -35,13 +35,14 @@ class quality_test(base_module_quality.abstract_quality_check): # ''' super(quality_test, self).__init__() self.name = _("Terp Test") + self.note = _("This test checks if the module satisfies the current coding standard used by OpenERP.") self.bool_installed_only = False self.no_terp = False self.ponderation = 2 return None - def run_test(self, cr, uid, module_path): + def run_test_terp(self, cr, uid, module_path): list_files = os.listdir(module_path) current_module = module_path.split('/')[-1] @@ -58,7 +59,7 @@ class quality_test(base_module_quality.abstract_quality_check): feel_bad_factor = 0 if '__terp__.py' not in list_files: self.no_terp = True - self.result += "The module does not contain the __terp__.py file" + self.result += _("The module does not contain the __terp__.py file") return None terp_file = os.path.join(module_path,'__terp__.py') @@ -100,11 +101,24 @@ class quality_test(base_module_quality.abstract_quality_check): else: feel_bad_factor += 1 - self.score = round((feel_good_factor) / float(feel_good_factor + feel_bad_factor),2) - self.result += "\nThis test checks if the module satisfies the current coding standard for __terp__.py file used by OpenERP." + score = round((feel_good_factor) / float(feel_good_factor + feel_bad_factor),2) + # self.result += "__terp__.py : "+ str(self.score) + "/10\n" + return [_('__terp__.py file'), score] + + + def run_test(self, cr, uid, module_path): + terp_score = self.run_test_terp(cr, uid, module_path) + self.score = terp_score[1] + self.result = self.get_result({'__terp__.py': terp_score}) return None + def get_result(self, dict): + header = ('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-10s \n', [_('Object Name'), _('Result (/1)'),]) + if not self.error: + return self.format_table(header, data_list=dict) + return "" + #~ def get_result(self, cr, uid, module_path, module_state): #~ # self.run_test(cr, uid, module_path) #~ # summary = "\n===TERP Test===:\n" diff --git a/addons/base_module_quality/wizard/module_quality_check.py b/addons/base_module_quality/wizard/module_quality_check.py index 1cd2031f202..002810b7976 100644 --- a/addons/base_module_quality/wizard/module_quality_check.py +++ b/addons/base_module_quality/wizard/module_quality_check.py @@ -48,6 +48,7 @@ class quality_check_detail(osv.osv): 'name': fields.char('Name',size=128,), 'score': fields.float('Score (%)',), 'ponderation': fields.float('Ponderation',help='Some tests are more critical than others, so they have a bigger weight in the computation of final rating'), + 'note': fields.text('Note',), 'summary': fields.text('Summary',), 'detail' : fields.text('Details',), 'state': fields.selection([('done','Done'),('skipped','Skipped'),], 'State', size=6, help='The test will be completed only if the module is installed or if the test may be processed on uninstalled module.'), @@ -84,6 +85,7 @@ class create_quality_check(wizard.interface): 'summary': val.result, 'detail': val.result_details, 'state': 'done', + 'note': val.note, } create_ids.append((0,0,data)) score_sum += val.score * val.ponderation @@ -91,6 +93,7 @@ class create_quality_check(wizard.interface): else: data = { 'name': val.name, + 'note': val.note, 'score': 0, 'state': 'skipped', 'summary': _("The module has to be installed before running this test.") From 3822eeb075b98701c34c42ec448594fde251b505 Mon Sep 17 00:00:00 2001 From: qdp Date: Thu, 8 Jan 2009 14:21:34 +0100 Subject: [PATCH 56/68] [FIX]fixed recursion problem when closing fiscalyear lp bug: https://launchpad.net/bugs/314979 fixed bzr revid: qdp@tinyerp.com-20090108132134-83fb7xtd2qtm89dq --- addons/account/account_move_line.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py index ee98934d91e..a6d44eda261 100644 --- a/addons/account/account_move_line.py +++ b/addons/account/account_move_line.py @@ -791,6 +791,7 @@ class account_move_line(osv.osv): move_id = vals.get('move_id', False) journal = self.pool.get('account.journal').browse(cr, uid, context['journal_id']) + is_new_move = False if not move_id: if journal.centralisation: # use the first move ever created for this journal and period @@ -815,10 +816,7 @@ class account_move_line(osv.osv): vals['move_id'] = move_id else: raise osv.except_osv(_('No piece number !'), _('Can not create an automatic sequence for this piece !\n\nPut a sequence in the journal definition for automatic numbering or create a sequence manually for this piece.')) - else: - if 'date' in vals: - self.pool.get('account.move').write(cr, uid, [move_id], {'date':vals['date']}, context=context) - del vals['date'] + is_new_move = True ok = not (journal.type_control_ids or journal.account_control_ids) if ('account_id' in vals): @@ -931,6 +929,8 @@ class account_move_line(osv.osv): if data['tax_code_id']: self.create(cr, uid, data, context) + if not is_new_move and 'date' in vals: + self.pool.get('account.move').write(cr, uid, [move_id], {'date':vals['date']}, context=context) if check: tmp = self.pool.get('account.move').validate(cr, uid, [vals['move_id']], context) if journal.entry_posted and tmp: From 991d683215c0f10bfe91f5f870af18746739f59f Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Thu, 8 Jan 2009 14:48:37 +0100 Subject: [PATCH 57/68] modifs bzr revid: fp@tinyerp.com-20090108134837-8ofhj6idt7r2sp1x --- addons/custom/__terp__.py | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/custom/__terp__.py b/addons/custom/__terp__.py index a94e143c59f..9f29fbb5ca3 100644 --- a/addons/custom/__terp__.py +++ b/addons/custom/__terp__.py @@ -33,6 +33,5 @@ 'update_xml': ['custom_view.xml'], 'installable': True, 'active': False, - 'certificate': '45633383861', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From a527763cd835f56f4d5eff5b37003f8e52307397 Mon Sep 17 00:00:00 2001 From: Quentin Date: Thu, 8 Jan 2009 15:47:35 +0100 Subject: [PATCH 58/68] bugfixes bzr revid: qdp@jade-20090108144735-0005tsmvb1nzxtp9 --- .../base_module_quality/method_test/method_test.py | 4 +--- .../base_module_quality/pylint_test/pylint_test.py | 5 ++++- addons/base_module_quality/speed_test/speed_test.py | 12 ++++++------ 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/addons/base_module_quality/method_test/method_test.py b/addons/base_module_quality/method_test/method_test.py index 1abaa288e86..34841dd41cc 100644 --- a/addons/base_module_quality/method_test/method_test.py +++ b/addons/base_module_quality/method_test/method_test.py @@ -20,9 +20,7 @@ # ############################################################################## - -import os -from tools import config +from tools.translate import _ from base_module_quality import base_module_quality import pooler diff --git a/addons/base_module_quality/pylint_test/pylint_test.py b/addons/base_module_quality/pylint_test/pylint_test.py index 930ab7d29f1..8a7f953837f 100644 --- a/addons/base_module_quality/pylint_test/pylint_test.py +++ b/addons/base_module_quality/pylint_test/pylint_test.py @@ -23,6 +23,7 @@ import os from tools import config +from tools.translate import _ from base_module_quality import base_module_quality @@ -35,6 +36,8 @@ class quality_test(base_module_quality.abstract_quality_check): self.note = _("""This test uses Pylint and checks if the module satisfies the coding standard of Python. See http://www.logilab.org/project/name/pylint for further info.\n """) self.bool_installed_only = False self.ponderation = 1.0 + self.result = "" + self.result_details = "" return None def run_test(self, cr, uid, module_path): @@ -81,7 +84,7 @@ class quality_test(base_module_quality.abstract_quality_check): return None def get_result(self, dict): - header = ('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-10s \n', [_('File Name'), _('Result (/10)'),]) + header = ('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-10s \n', [_('File Name'), _('Result (/10)')]) if not self.error: return self.format_table(header, data_list=dict) return "" diff --git a/addons/base_module_quality/speed_test/speed_test.py b/addons/base_module_quality/speed_test/speed_test.py index d35f6362074..33456e4729f 100644 --- a/addons/base_module_quality/speed_test/speed_test.py +++ b/addons/base_module_quality/speed_test/speed_test.py @@ -24,6 +24,7 @@ import netsvc from osv import fields, osv import os from tools import config +from tools.translate import _ import pooler import time @@ -54,11 +55,11 @@ This test checks the speed of the module. Note that at least 5 demo data is need result_dict = {} result_dict2 = {} self.result_details += _("O(1) means that the number of SQL requests to read the object does not depand on the number of objects we are reading. This feature is hardly wished.\n") - for obj in obj_ids: + for obj, ids in obj_ids.items(): obj_counter += 1 - ids = obj_ids[obj] ids = ids[:100] size = len(ids) + list2 = [] if size: list = [] @@ -80,6 +81,7 @@ This test checks the speed of the module. Note that at least 5 demo data is need if size < 5: list = [obj, size, code_base_complexity, code_half_complexity, code_size_complexity, _("Warning! Not enough demo data")] + list2 = [obj, _("No enough data")] else: if code_size_complexity <= (code_base_complexity + size): complexity = _("O(1)") @@ -93,18 +95,16 @@ This test checks the speed of the module. Note that at least 5 demo data is need else: list = [obj, size, "", "", "", _("Warning! Object has no demo data")] - list2 = [obj, _("No demo data")] + list2 = [obj, _("No data")] result_dict[obj] = list result_dict2[obj] = list2 - self.score = obj_counter and score / obj_counter or 0.0 self.result_details += self.get_result_details(result_dict) self.result += self.get_result(result_dict2) - return None def get_result(self, dict): - header = ('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-10s \n', [_('Object Name'), _('Result'),]) + header = ('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-10s', [_('Object Name'), _('Result')]) if not self.error: return self.format_table(header, data_list=dict) return "" From 3254d46e1d56492c8a3d0f65e241d5760cf064c4 Mon Sep 17 00:00:00 2001 From: "mga (Tiny/Axelor)" Date: Fri, 9 Jan 2009 11:17:23 +0530 Subject: [PATCH 59/68] change out put format for the pylint from text=> html apply wiki css to make looks like wiki widget bzr revid: mga@tinyerp.com-20090109054723-w89wtrdj193maq65 --- addons/base_module_quality/pylint_test/pylint_test.py | 10 +++++++--- .../pylint_test/pylint_test_config.txt | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/addons/base_module_quality/pylint_test/pylint_test.py b/addons/base_module_quality/pylint_test/pylint_test.py index 8a7f953837f..04eef3fa7e1 100644 --- a/addons/base_module_quality/pylint_test/pylint_test.py +++ b/addons/base_module_quality/pylint_test/pylint_test.py @@ -52,7 +52,11 @@ class quality_test(base_module_quality.abstract_quality_check): n = 0 score = 0.0 dict = {} - self.result_details += '' + self.result_details += ''' + + + + ''' for file in list_files: if file.split('.')[-1] == 'py' and not file.endswith('__init__.py') and not file.endswith('__terp__.py'): file_path = os.path.join(module_path, file) @@ -76,8 +80,8 @@ class quality_test(base_module_quality.abstract_quality_check): score += 0 #self.result += file + ": "+_("Unable to parse the result. Check the details.")+"\n" dict[file] = [file, _("Unable to parse the result. Check the details.")] - self.result_details += res - self.result_details += '' + self.result_details += res.replace(''' Date: Fri, 9 Jan 2009 11:59:05 +0530 Subject: [PATCH 60/68] modify detail field with widget=html_tag bzr revid: mra@tinyerp.com-20090109062905-m08ppqhgs8sc5kcm --- addons/base_module_quality/base_module_quality_wizard.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/base_module_quality/base_module_quality_wizard.xml b/addons/base_module_quality/base_module_quality_wizard.xml index d60ab6d3b29..467e7e7dc24 100644 --- a/addons/base_module_quality/base_module_quality_wizard.xml +++ b/addons/base_module_quality/base_module_quality_wizard.xml @@ -45,7 +45,7 @@ - + From 74a6e4000e1187e14af2387283f66e9808b04be7 Mon Sep 17 00:00:00 2001 From: "Jay (Open ERP)" Date: Fri, 9 Jan 2009 13:09:37 +0530 Subject: [PATCH 61/68] Minot edit of Account for recursion bzr revid: jvo@tinyerp.com-20090109073937-plxgu32hxe5y5w47 --- addons/account/account.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/account/account.py b/addons/account/account.py index a883755f7e4..dece8d18b21 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -154,7 +154,7 @@ class account_account(osv.osv): args[pos] = ('id','in',ids1) pos+=1 - if context and context.has_key('consolidate_childs'): #add concolidated childs of accounts + if context and context.has_key('consolidate_childs'): #add consolidated childs of accounts ids = super(account_account,self).search(cr, uid, args, offset, limit, order, context=context, count=count) for consolidate_child in self.browse(cr, uid, context['account_id']).child_consol_ids: @@ -170,7 +170,7 @@ class account_account(osv.osv): ids3 = [] for rec in self.browse(cr, uid, ids2, context=context): for child in rec.child_consol_ids: - ids3.append[child.id] + ids3.append(child.id) if ids3: ids3 = self._get_children_and_consol(cr, uid, ids3, context) return ids2+ids3 From 24216293789163df0af0d69ad09bd51ccc332eb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Najla=C3=A2=20EL=20KHAYAT?= Date: Fri, 9 Jan 2009 09:26:58 +0100 Subject: [PATCH 64/68] add exception for cursor bzr revid: nel@tinyerp.com-20090109082658-uwf8zywyilsmiel9 --- addons/mrp/wizard/wizard_orderpoint_procurement.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/addons/mrp/wizard/wizard_orderpoint_procurement.py b/addons/mrp/wizard/wizard_orderpoint_procurement.py index fad59243837..e847e117927 100644 --- a/addons/mrp/wizard/wizard_orderpoint_procurement.py +++ b/addons/mrp/wizard/wizard_orderpoint_procurement.py @@ -41,10 +41,13 @@ parameter_fields = { def _procure_calculation_orderpoint(self, db_name, uid, data, context): db, pool = pooler.get_db_and_pool(db_name) cr = db.cursor() - proc_obj = pool.get('mrp.procurement') - automatic = data['form']['automatic'] - proc_obj._procure_orderpoint_confirm(cr, uid, automatic=automatic,\ - use_new_cursor=cr.dbname, context=context) + try: + proc_obj = pool.get('mrp.procurement') + automatic = data['form']['automatic'] + proc_obj._procure_orderpoint_confirm(cr, uid, automatic=automatic,\ + use_new_cursor=cr.dbname, context=context) + finally: + cr.close() return {} def _procure_calculation(self, cr, uid, data, context): From 3ccc8357d5d5466acc97f1b065f500e9b096eeb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Najla=C3=A2=20EL=20KHAYAT?= Date: Fri, 9 Jan 2009 09:27:49 +0100 Subject: [PATCH 65/68] add exception for cursor bzr revid: nel@tinyerp.com-20090109082749-hpj8lpsu1jtukhis --- addons/mrp/wizard/wizard_procurement.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/addons/mrp/wizard/wizard_procurement.py b/addons/mrp/wizard/wizard_procurement.py index b8a19c3ff97..7a0433f34c3 100644 --- a/addons/mrp/wizard/wizard_procurement.py +++ b/addons/mrp/wizard/wizard_procurement.py @@ -35,8 +35,11 @@ parameter_fields = { def _procure_calculation_procure(self, db_name, uid, data, context): db, pool = pooler.get_db_and_pool(db_name) cr = db.cursor() - proc_obj = pool.get('mrp.procurement') - proc_obj._procure_confirm(cr, uid, use_new_cursor=cr.dbname, context=context) + try: + proc_obj = pool.get('mrp.procurement') + proc_obj._procure_confirm(cr, uid, use_new_cursor=cr.dbname, context=context) + finally: + cr.close() return {} def _procure_calculation(self, cr, uid, data, context): From 02de8a94c797e589b23f2ed0557920a1bde5f324 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Najla=C3=A2=20EL=20KHAYAT?= Date: Fri, 9 Jan 2009 09:30:15 +0100 Subject: [PATCH 66/68] change versions of terp files bzr revid: nel@tinyerp.com-20090109083015-1m378z8fkk6s38xy --- addons/account/__terp__.py | 2 +- addons/account_analytic_analysis/__terp__.py | 2 +- addons/account_payment/__terp__.py | 2 +- addons/hr/__terp__.py | 2 +- addons/hr_holidays/__terp__.py | 2 +- addons/mrp/__terp__.py | 2 +- addons/product/__terp__.py | 2 +- addons/project/__terp__.py | 2 +- addons/stock/__terp__.py | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/addons/account/__terp__.py b/addons/account/__terp__.py index 3d3905ed249..ea8e9868628 100644 --- a/addons/account/__terp__.py +++ b/addons/account/__terp__.py @@ -21,7 +21,7 @@ ############################################################################## { "name" : "Accounting and financial management", - "version" : "1.0", + "version" : "1.1", "depends" : ["product", "base", "process"], "author" : "Tiny", "description": """Financial and accounting module that covers: diff --git a/addons/account_analytic_analysis/__terp__.py b/addons/account_analytic_analysis/__terp__.py index 650dcd4fb50..fc8e1c650b5 100644 --- a/addons/account_analytic_analysis/__terp__.py +++ b/addons/account_analytic_analysis/__terp__.py @@ -24,7 +24,7 @@ "description": """Modifiy the account analytic view to show important data for project manager of services companies. Add menu to show relevant information for each manager.""", - "version" : "1.0", + "version" : "1.1", "author" : "Camptocamp", "category" : "Generic Modules/Accounting", "module": "", diff --git a/addons/account_payment/__terp__.py b/addons/account_payment/__terp__.py index 0a88b0b5940..09790dc4e1e 100644 --- a/addons/account_payment/__terp__.py +++ b/addons/account_payment/__terp__.py @@ -21,7 +21,7 @@ ############################################################################## { "name": "Payment Management", - "version": "1.0", + "version": "1.1", "author": "Tiny", "category": "Generic Modules/Payment", "depends": ["account"], diff --git a/addons/hr/__terp__.py b/addons/hr/__terp__.py index d39891ed3ee..7fc30815e57 100644 --- a/addons/hr/__terp__.py +++ b/addons/hr/__terp__.py @@ -21,7 +21,7 @@ ############################################################################## { "name" : "Human Resources", - "version" : "1.0", + "version" : "1.1", "author" : "Tiny", "category" : "Generic Modules/Human Resources", "website" : "http://www.openerp.com", diff --git a/addons/hr_holidays/__terp__.py b/addons/hr_holidays/__terp__.py index 0018d20d984..feef8b159ea 100644 --- a/addons/hr_holidays/__terp__.py +++ b/addons/hr_holidays/__terp__.py @@ -1,7 +1,7 @@ # -*- encoding: utf-8 -*- { "name" : "Human Resources: Holidays management", - "version" : "0.1", + "version" : "1.1", "author" : "Tiny & Axelor", "category" : "Generic Modules/Human Resources", "website" : "http://www.openerp.com", diff --git a/addons/mrp/__terp__.py b/addons/mrp/__terp__.py index 5ea266c3a0d..3cb5bdbe1c7 100644 --- a/addons/mrp/__terp__.py +++ b/addons/mrp/__terp__.py @@ -21,7 +21,7 @@ ############################################################################## { "name" : "Manufacturing Resource Planning", - "version" : "1.0", + "version" : "1.1", "author" : "Tiny", "website" : "http://www.openerp.com", "category" : "Generic Modules/Production", diff --git a/addons/product/__terp__.py b/addons/product/__terp__.py index bbc4d667b75..8619679aeb6 100644 --- a/addons/product/__terp__.py +++ b/addons/product/__terp__.py @@ -21,7 +21,7 @@ ############################################################################## { "name" : "Products & Pricelists", - "version" : "1.0", + "version" : "1.1", "author" : "Tiny", "category" : "Generic Modules/Inventory Control", "depends" : ["base", "process"], diff --git a/addons/project/__terp__.py b/addons/project/__terp__.py index 3668c7d7470..1837346d740 100644 --- a/addons/project/__terp__.py +++ b/addons/project/__terp__.py @@ -21,7 +21,7 @@ ############################################################################## { "name" : "Project Management", - "version": "1.0", + "version": "1.1", "author" : "Tiny", "website" : "http://www.openerp.com", "category" : "Generic Modules/Projects & Services", diff --git a/addons/stock/__terp__.py b/addons/stock/__terp__.py index dc09385b09f..bf10b150fe3 100644 --- a/addons/stock/__terp__.py +++ b/addons/stock/__terp__.py @@ -21,7 +21,7 @@ ############################################################################## { "name" : "Stock Management", - "version" : "1.0", + "version" : "1.1", "author" : "Tiny", "website" : "http://www.openerp.com", "depends" : ["product", "account"], From 7bc60a97aec122bcc9b48eb56d28415f08bdd1fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Najla=C3=A2=20EL=20KHAYAT?= Date: Fri, 9 Jan 2009 16:02:58 +0100 Subject: [PATCH 67/68] delete process file from terp bzr revid: nel@tinyerp.com-20090109150258-m4nmvhz7df4n79mq --- addons/stock/__terp__.py | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/stock/__terp__.py b/addons/stock/__terp__.py index a698adc2564..319faba6e14 100644 --- a/addons/stock/__terp__.py +++ b/addons/stock/__terp__.py @@ -44,7 +44,6 @@ "report_stock_view.xml", "security/stock_security.xml", "security/ir.model.access.csv", - "process/stock_process.xml" ], 'demo_xml': ['stock_demo.xml'], 'installable': True, From 123f3119bac13d4c21a541afefe2cadf90c8ae98 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Fri, 9 Jan 2009 16:14:48 +0100 Subject: [PATCH 68/68] [IMP] change version number bzr revid: christophe@tinyerp.com-20090109151448-7ibcvg3h47k2mlf1 --- addons/purchase/__terp__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/purchase/__terp__.py b/addons/purchase/__terp__.py index 129d020ebe9..f66c1d75dbe 100644 --- a/addons/purchase/__terp__.py +++ b/addons/purchase/__terp__.py @@ -23,7 +23,7 @@ { 'name': 'Purchase Management', - 'version': '1.0', + 'version': '1.1', 'category': 'Generic Modules/Sales & Purchases', 'description': """Module for purchase management Request for quotation, Create Supplier Invoice, Print Order...""",