diff --git a/addons/account/__openerp__.py b/addons/account/__openerp__.py index 19662ea2f33..9445688ec6d 100644 --- a/addons/account/__openerp__.py +++ b/addons/account/__openerp__.py @@ -22,7 +22,7 @@ "name" : "Accounting and Financial Management", "version" : "1.1", "author" : "OpenERP SA", - "category": 'Finance', + "category": 'Accounting & Finance', 'complexity': "normal", "description": """ Accounting and Financial Management. diff --git a/addons/account/account_installer.xml b/addons/account/account_installer.xml index b7bf5d89fe2..b35b37aa972 100644 --- a/addons/account/account_installer.xml +++ b/addons/account/account_installer.xml @@ -43,26 +43,6 @@ - - account.installer.modules.form - base.setup.installer - form - - - - - - - - - - - - - - - - Install your Chart of Accounts ir.actions.act_window diff --git a/addons/account/installer.py b/addons/account/installer.py index 417ac2f0461..bed92df4fd2 100644 --- a/addons/account/installer.py +++ b/addons/account/installer.py @@ -224,26 +224,4 @@ class account_installer(osv.osv_memory): account_installer() -class account_installer_modules(osv.osv_memory): - _inherit = 'base.setup.installer' - _columns = { - 'account_analytic_plans': fields.boolean('Multiple Analytic Plans', - help="Allows invoice lines to impact multiple analytic accounts " - "simultaneously."), - 'account_payment': fields.boolean('Suppliers Payment Management', - help="Streamlines invoice payment and creates hooks to plug " - "automated payment systems in."), - 'account_followup': fields.boolean('Followups Management', - help="Helps you generate reminder letters for unpaid invoices, " - "including multiple levels of reminding and customized " - "per-partner policies."), - 'account_anglo_saxon': fields.boolean('Anglo-Saxon Accounting', - help="This module will support the Anglo-Saxons accounting methodology by " - "changing the accounting logic with stock transactions."), - 'account_asset': fields.boolean('Assets Management', - help="Helps you to manage your assets and their depreciation entries."), - } - -account_installer_modules() - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_accountant/__openerp__.py b/addons/account_accountant/__openerp__.py index c018d277d46..d808a38fa18 100644 --- a/addons/account_accountant/__openerp__.py +++ b/addons/account_accountant/__openerp__.py @@ -22,7 +22,7 @@ "name" : "Accountant Access", "version" : "1.1", "author" : "OpenERP SA", - "category": 'Finance', + "category": 'Hidden', 'complexity': "normal", "description": """ Accounting Access Rights. diff --git a/addons/account_analytic_analysis/__openerp__.py b/addons/account_analytic_analysis/__openerp__.py index 5e93307865c..f75fe3d1615 100644 --- a/addons/account_analytic_analysis/__openerp__.py +++ b/addons/account_analytic_analysis/__openerp__.py @@ -23,7 +23,7 @@ { 'name' : 'Analytic Account View', 'version' : '1.1', - 'category' : 'Finance', + 'category' : 'Hidden', 'complexity': "normal", 'description': """ This module is for modifying account analytic view to show important data to project manager of services companies. diff --git a/addons/account_analytic_default/__openerp__.py b/addons/account_analytic_default/__openerp__.py index 07cde53d003..e46f285d9c6 100644 --- a/addons/account_analytic_default/__openerp__.py +++ b/addons/account_analytic_default/__openerp__.py @@ -22,7 +22,7 @@ { 'name' : 'Account Analytic Defaults', 'version' : '1.0', - 'category' : 'Finance', + 'category' : 'Hidden', 'complexity': "normal", 'description': """Set default values for your analytic accounts Allows to automatically select analytic accounts based on criterions: diff --git a/addons/account_analytic_plans/__openerp__.py b/addons/account_analytic_plans/__openerp__.py index d6a5834517e..ffb20ffe3e8 100644 --- a/addons/account_analytic_plans/__openerp__.py +++ b/addons/account_analytic_plans/__openerp__.py @@ -21,9 +21,9 @@ { - 'name' : 'Manage multiple plans in Analytic Accounting', + 'name' : 'Multiple Analytic Plans', 'version' : '1.0', - 'category' : 'Finance', + 'category' : 'Accounting & Finance', 'complexity': "normal", 'description': """ This module allows to use several analytic plans, according to the general journal. diff --git a/addons/account_anglo_saxon/__openerp__.py b/addons/account_anglo_saxon/__openerp__.py index 79afb26ab26..8cf6a37c3fc 100644 --- a/addons/account_anglo_saxon/__openerp__.py +++ b/addons/account_anglo_saxon/__openerp__.py @@ -19,7 +19,7 @@ ############################################################################## { - "name" : "Stock Accounting for Anglo-Saxon countries", + "name" : "Anglo-Saxon Accouting", "version" : "1.2", "author" : "OpenERP SA, Veritos", "website" : "http://tinyerp.com - http://veritos.nl", @@ -36,7 +36,7 @@ when the invoice is created to transfer this amount to the debtor or creditor ac Secondly, price differences between actual purchase price and fixed product standard price are booked on a separate account""", "images" : ["images/account_anglo_saxon.jpeg"], "depends" : ["product", "purchase"], - "category" : "Warehouse", + "category" : "Accounting & Finance", "init_xml" : [], "demo_xml" : [], "update_xml" : ["product_view.xml",], diff --git a/addons/account_asset/__openerp__.py b/addons/account_asset/__openerp__.py index 4cad6f74af3..dd1161e1a14 100644 --- a/addons/account_asset/__openerp__.py +++ b/addons/account_asset/__openerp__.py @@ -20,16 +20,16 @@ ############################################################################## { - "name" : "Asset management", + "name" : "Assets Management", "version" : "1.0", "depends" : ["account"], - "author" : "Tiny", + "author" : "OpenERP S.A.", "description": """Financial and accounting asset management. This Module manages the assets owned by a company or an individual. It will keep track of depreciation's occurred on those assets. And it allows to create Move's of the depreciation lines. """, "website" : "http://www.openerp.com", - "category" : "Generic Modules/Accounting", + "category" : "Accounting & Finance", "init_xml" : [ ], "demo_xml" : [ 'account_asset_demo.xml' diff --git a/addons/account_budget/__openerp__.py b/addons/account_budget/__openerp__.py index 9ff5964637a..e4782ee0d2a 100644 --- a/addons/account_budget/__openerp__.py +++ b/addons/account_budget/__openerp__.py @@ -21,9 +21,9 @@ { - 'name': 'Budget Management', + 'name': 'Budgets', 'version': '1.0', - 'category': 'Finance', + 'category': 'Project Management', 'complexity': "normal", 'description': """ This module allows accountants to manage analytic and crossovered budgets. diff --git a/addons/account_cancel/__openerp__.py b/addons/account_cancel/__openerp__.py index 469033ac56e..ac73a2b8c31 100644 --- a/addons/account_cancel/__openerp__.py +++ b/addons/account_cancel/__openerp__.py @@ -23,7 +23,7 @@ "name" : "Cancel Entries", "version" : "1.1", "author" : "OpenERP SA", - "category": 'Finance', + "category": 'Hidden', 'complexity': "normal", "description": """ Allows cancelling accounting entries. diff --git a/addons/account_chart/__openerp__.py b/addons/account_chart/__openerp__.py index 2b958c4a943..948f13b5dcb 100644 --- a/addons/account_chart/__openerp__.py +++ b/addons/account_chart/__openerp__.py @@ -23,7 +23,7 @@ { 'name': 'Charts of Accounts', 'version': '1.1', - 'category': 'Finance', + 'category': 'Hidden', 'description': """ Remove minimal account chart. ============================= diff --git a/addons/account_coda/__openerp__.py b/addons/account_coda/__openerp__.py index fb39bc4c5ba..dd604e41aca 100644 --- a/addons/account_coda/__openerp__.py +++ b/addons/account_coda/__openerp__.py @@ -23,7 +23,7 @@ "name" : "Account CODA - import bank statements from coda file", "version" : "1.0", "author" : "OpenERP SA", - "category" : "Finance", + "category" : "Hidden", 'complexity': "normal", "description": """ Module provides functionality to import bank statements from coda files. diff --git a/addons/account_followup/__openerp__.py b/addons/account_followup/__openerp__.py index 9df99b720a2..ca6321d5672 100644 --- a/addons/account_followup/__openerp__.py +++ b/addons/account_followup/__openerp__.py @@ -20,9 +20,9 @@ ############################################################################## { - 'name': 'Reminders', + 'name': 'Followups Management', 'version': '1.0', - 'category': 'Finance', + 'category': 'Accounting & Finance', 'complexity': "normal", 'description': """ Modules to automate letters for unpaid invoices, with multi-level recalls. diff --git a/addons/account_invoice_layout/__openerp__.py b/addons/account_invoice_layout/__openerp__.py index b045b7b0b5d..557f3c2e02c 100644 --- a/addons/account_invoice_layout/__openerp__.py +++ b/addons/account_invoice_layout/__openerp__.py @@ -23,7 +23,7 @@ { 'name': 'Improve Invoice Layout', 'version': '1.0', - 'category': 'Finance', + 'category': 'Hidden', 'complexity': "easy", 'description': """ This module provides some features to improve the layout of the invoices. diff --git a/addons/account_payment/__openerp__.py b/addons/account_payment/__openerp__.py index 8a90a140558..1912dfa5198 100644 --- a/addons/account_payment/__openerp__.py +++ b/addons/account_payment/__openerp__.py @@ -20,10 +20,10 @@ ############################################################################## { - "name": "Payment Management", + "name": "Suppliers Payment Management", "version": "1.1", "author": "OpenERP SA", - "category": "Finance", + "category": "Accounting & Finance", 'complexity': "easy", "description": """ Module to manage invoice payment. diff --git a/addons/account_sequence/__openerp__.py b/addons/account_sequence/__openerp__.py index f7ab18f3e7e..31d4f373e2f 100644 --- a/addons/account_sequence/__openerp__.py +++ b/addons/account_sequence/__openerp__.py @@ -22,7 +22,7 @@ { 'name': 'Entries Sequence Numbering', 'version': '1.1', - 'category': 'Finance', + 'category': 'Hidden', 'complexity': "easy", 'description': """ This module maintains internal sequence number for accounting entries. diff --git a/addons/account_voucher/__openerp__.py b/addons/account_voucher/__openerp__.py index 7da2b2da99c..97ac9950efb 100644 --- a/addons/account_voucher/__openerp__.py +++ b/addons/account_voucher/__openerp__.py @@ -32,7 +32,7 @@ Account Voucher module includes all the basic requirements of Voucher Entries fo * Voucher Receipt * Cheque Register """, - "category" : "Finance", + "category" : "Hidden", "website" : "http://tinyerp.com", "images" : ["images/customer_payment.jpeg","images/journal_voucher.jpeg","images/sales_receipt.jpeg","images/supplier_voucher.jpeg"], "depends" : ["account"], diff --git a/addons/analytic/__openerp__.py b/addons/analytic/__openerp__.py index 30712a78167..65f6588a1e3 100644 --- a/addons/analytic/__openerp__.py +++ b/addons/analytic/__openerp__.py @@ -24,7 +24,7 @@ "version": "1.1", "author" : "OpenERP SA", "website" : "http://www.openerp.com", - "category" : "Finance", + "category" : "Hidden", "depends" : ["base", "decimal_precision"], "description": """ Module for defining analytic accounting object. diff --git a/addons/analytic_journal_billing_rate/__openerp__.py b/addons/analytic_journal_billing_rate/__openerp__.py index a9241213251..059e85d9367 100644 --- a/addons/analytic_journal_billing_rate/__openerp__.py +++ b/addons/analytic_journal_billing_rate/__openerp__.py @@ -22,7 +22,7 @@ { 'name': 'Analytic Journal Billing Rate, Define the default invoicing rate for a specific journal', 'version': '1.0', - 'category': 'Human Resources', + 'category': 'Hidden', 'description': """ This module allows you to define what is the default invoicing rate for a specific journal on a given account. ============================================================================================================== diff --git a/addons/analytic_user_function/__openerp__.py b/addons/analytic_user_function/__openerp__.py index 9716495aabc..bb3ca084be7 100644 --- a/addons/analytic_user_function/__openerp__.py +++ b/addons/analytic_user_function/__openerp__.py @@ -23,7 +23,7 @@ { 'name': 'Human Resources', 'version': '1.0', - 'category': 'Generic Modules/Others', + 'category': 'Hidden', 'description': """ This module allows you to define what is the default function of a specific user on a given account. ==================================================================================================== diff --git a/addons/anonymization/__openerp__.py b/addons/anonymization/__openerp__.py index 842b774eb9c..41e906c078a 100644 --- a/addons/anonymization/__openerp__.py +++ b/addons/anonymization/__openerp__.py @@ -24,7 +24,7 @@ { 'name': 'Database Anonymization', 'version': '1.0', - 'category': 'Tools', + 'category': 'Hidden', 'complexity': "easy", 'description': """ This module allows you to anonymize a database. diff --git a/addons/association/__init__.py b/addons/association/__init__.py index 5b34f17fec9..4716d0d109b 100644 --- a/addons/association/__init__.py +++ b/addons/association/__init__.py @@ -18,6 +18,5 @@ # along with this program. If not, see . # ############################################################################## -import profile_association # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/association/__openerp__.py b/addons/association/__openerp__.py index 51d44bf681d..0251eb68d02 100644 --- a/addons/association/__openerp__.py +++ b/addons/association/__openerp__.py @@ -23,8 +23,7 @@ { 'name': 'Association profile', 'version': '0.1', - 'category': 'General', - 'category': 'Profile', + 'category': 'Vertical Applications', 'complexity': "normal", 'description': """ This module is to configure modules related to an association. diff --git a/addons/association/profile_association.py b/addons/association/profile_association.py deleted file mode 100644 index 0e66af14a1d..00000000000 --- a/addons/association/profile_association.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2010 Tiny SPRL (). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## -from lxml import etree -from osv import fields, osv - -class profile_association_config_install_modules_wizard(osv.osv_memory): - _inherit = 'base.setup.installer' - - _columns = { - 'hr_expense':fields.boolean('Resources Management: Expenses Tracking', help="Tracks and manages employee expenses, and can " - "automatically re-invoice clients if the expenses are " - "project-related."), - 'event_project':fields.boolean('Event Management: Events', help="Helps you to manage and organize your events."), - 'project_gtd':fields.boolean('Getting Things Done', - help="GTD is a methodology to efficiently organise yourself and your tasks. This module fully integrates GTD principle with OpenERP's project management."), - 'wiki': fields.boolean('Wiki', help="Lets you create wiki pages and page groups in order " - "to keep track of business knowledge and share it with " - "and between your employees."), - } - - # Will be removed when rd-v61-al-config-depends will be done - def fields_view_get(self, cr, user, view_id=None, view_type='form', context=None, toolbar=False, submenu=False): - res = super(profile_association_config_install_modules_wizard, self).fields_view_get(cr, user, view_id, view_type, context, toolbar=toolbar, submenu=submenu) - doc = etree.XML(res['arch']) - for module in ['project_gtd','hr_expense']: - count = 0 - for node in doc.xpath("//field[@name='%s']" % (module)): - count = count + 1 - if count > 1: - node.set('invisible', '1') - res['arch'] = etree.tostring(doc) - return res - -profile_association_config_install_modules_wizard() -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/association/profile_association.xml b/addons/association/profile_association.xml index 12222ecbd90..8ce97cb2e43 100644 --- a/addons/association/profile_association.xml +++ b/addons/association/profile_association.xml @@ -1,24 +1,6 @@ - - Association Application Configuration - base.setup.installer - form - - - - - - - - - - - - - - ' % _('Automatic Base Setup')] + arch.append('' % _('Install Applications')) + module_proxy = self.pool.get('ir.module.module') + + extended_view = in_extended_view_group(cr, uid, context=context) + + for module_category in module_category_proxy.browse(cr, uid, module_category_ids, context=context): + domain = [('category_id', '=', module_category.id)] + if not extended_view: + domain.append(('complexity', '!=', 'expert')) + + default_modules = DEFAULT_MODULES.get(module_category.name, False) + if default_modules: + domain.append(('name', 'not in', default_modules)) + + modules = module_proxy.browse(cr, uid, module_proxy.search(cr, uid, domain, context=context), context=context) + if not modules: + continue + + readonly = any(module.state == 'installed' for module in modules) + + attributes = { + 'name' : 'category_%d' % (module_category.id,), + 'on_change' : 'on_change_%s_%d(category_%d)' % ('category', module_category.id, module_category.id,), + } + if readonly: + attributes['modifiers'] = simplejson.dumps({'readonly' : True}) + + arch.append("""""" % (" ".join(["%s='%s'" % (key, value,) + for key, value in attributes.iteritems()]),)) + + # Compute the module to show + + for module_category in module_category_proxy.browse(cr, uid, module_category_ids, context=context): + domain = [('category_id', '=', module_category.id)] + + if not extended_view: + domain.append(('complexity', '!=', 'expert')) + + default_modules = DEFAULT_MODULES.get(module_category.name, False) + if default_modules: + domain.append(('name', 'not in', default_modules)) + + modules = module_proxy.browse(cr, uid, module_proxy.search(cr, uid, domain, context=context), context=context) + + if not modules: + continue + + modifiers = { + 'invisible' : [('category_%d' % (module_category.id), '=', False)], + } + module_modifiers = dict(modifiers) + + arch.append("""""" % ( + cgi.escape(module_category.name), + simplejson.dumps(modifiers)) + ) + + for module in modules: + #module_modifiers['readonly'] = module.state == 'installed' + + arch.append("""""" % ( + module.id, + simplejson.dumps(module_modifiers)) + ) + + arch.append( + '' + '' + '