Improved Configuration Wizards
authorFabien Pinckaers <fp@tinyerp.com>
Sun, 24 Aug 2008 17:11:01 +0000 (19:11 +0200)
committerFabien Pinckaers <fp@tinyerp.com>
Sun, 24 Aug 2008 17:11:01 +0000 (19:11 +0200)
bzr revid: fp@tinyerp.com-20080824171101-vr90k1aexnwk2rjs

addons/base_setup/wizard/wizard_base_setup.py
addons/profile_service/profile_service.py
addons/profile_service/profile_service.xml

index b37efde..ce51267 100644 (file)
@@ -38,13 +38,13 @@ view_form_profit = """<?xml version="1.0"?>
 <form string="Setup">
     <image name="gtk-dialog-info"/>
     <group>
-        <separator string="Select a profile" colspan="2"/>
+        <separator string="Select a Profile" colspan="2"/>
         <newline/>
         <field align="0.0" name="profile"/>
         <newline/>
-        <label string="A profile sets a pre-selection of modules for enterprise needs." colspan="2" align="0.0"/>
+        <label string="A profile sets a pre-selection of modules for specific needs. These profiles have been setup to help you discover the different aspects of OpenERP. This is just an overview, we have 300+ available modules." colspan="2" align="0.0"/>
         <newline/>
-        <label string="You'll be able to install others modules later through the Administration menu." colspan="2" align="0.0"/>
+        <label string="You'll be able to install more modules later through the Administration menu." colspan="2" align="0.0"/>
     </group>
 </form>"""
 
@@ -52,13 +52,13 @@ view_form_charts = """<?xml version="1.0"?>
 <form string="Setup">
     <image name="gtk-dialog-info" colspan="2"/>
     <group>
-        <separator string="Select a chart of accounts" colspan="2"/>
+        <separator string="Select a Chart of Accounts" colspan="2"/>
         <newline/>
         <field name="charts" align="0.0"/>
         <newline/>
-        <label string="There are many other chart of accounts available on the OpenERP website." colspan="2" align="0.0"/>
+        <label string="There are much more charts of accounts available on the OpenERP website." colspan="2" align="0.0"/>
         <newline/>
-        <label string="If you don't select one now, you'll be able to install an other one through the Administration menu." colspan="2" align="0.0"/>
+        <label string="If you don't select one now, you'll be able to install another one through the Administration menu." colspan="2" align="0.0"/>
     </group>
 </form>"""
 
@@ -66,7 +66,7 @@ view_form_company = """<?xml version="1.0"?>
 <form string="Setup">
     <image name="gtk-dialog-info" colspan="2"/>
     <group>
-        <separator string="Define main company" colspan="4"/>
+        <separator string="Define Main Company" colspan="4"/>
         <newline/>
         <field name="name" align="0.0" colspan="4" required="True"/>
         <newline/>
@@ -432,8 +432,8 @@ IBAN: BE74 1262 0121 6907 - SWIFT: CPDF BE71 - VAT: BE0477.472.701""",
             'actions': [_update],
             'result': {'type': 'form', 'arch': view_form_finish, 'fields': {},
                 'state': [
-                    ('menu', 'Use Directly'),
-                    ('config', 'Start Configuration', 'gtk-ok', True)
+                    ('menu', 'Use Directly', 'gtk-ok'),
+                    ('config', 'Start Configuration', 'gtk-go-forward', True)
                 ]
             }
         },
index 585105c..6fe1f9f 100644 (file)
 from osv import fields, osv
 import pooler
 
-##class config_install_extra_modules(osv.osv_memory):
-##    _name='config.install_extra_modules'
-##    def _get_uninstall_modules(self,cr,uid,context=None):
-##        module_obj=self.pool.get('ir.module.module')
-##        line_obj=self.pool.get('config.install_extra_modules.line')
-##        uninstall_module_ids=module_obj.search(cr,uid,[('state', 'in', ['uninstalled', 'uninstallable'])])
-##        res=[]
-##        for id in uninstall_module_ids:
-##            res.append(line_obj.create(cr,uid,{'module_id':id},context=None))
-##        print res
-##        return res
-##    _columns = {
-##        'name':fields.char('Name', size=64),
-##        'module_ids':fields.one2many('config.install_extra_modules.line', 'config_id', 'Modules'),
-##
-##    }
-##    _defaults={
-##       'module_ids':_get_uninstall_modules
-##    }
-##    def action_install(self, cr, uid, ids, context=None):
-##        res=self.read(cr,uid,ids)[0]
-##        mod_obj = self.pool.get('ir.module.module')
-##        line_obj=self.pool.get('config.install_extra_modules.line')
-##        if 'module_ids' in res:
-##            module_ids=res['module_ids']
-##            lines=line_obj.read(cr,uid,module_ids)
-##            for line in lines:
-##                if 'install' in line and 'module_id' and line and line['install']:
-##                    mod_obj.download(cr, uid, [line['module_id']], context=context)
-##                    cr.commit()
-##                    db, pool = pooler.restart_pool(cr.dbname, update_module=True)
-##        return {
-##                'view_type': 'form',
-##                "view_mode": 'form',
-##                'res_model': 'ir.module.module.configuration.wizard',
-##                'type': 'ir.actions.act_window',
-##                'target':'new',
-##            }
-##
-##config_install_extra_modules()
-#
-#class config_install_extra_modules_line(osv.osv_memory):
-#    _name='config.install_extra_modules.line'
-#    _columns = {
-#        'name':fields.char('Name', size=64),
-#        'install':fields.boolean('Install'),
-#        'config_id': fields.many2one('config.install_extra_modules', 'Configuration Module Wizard'),
-#        'module_id':fields.many2one('ir.module.module', 'Module',readonly=True,required=True),
-#
-#    }
-#
-#
-#config_install_extra_modules_line()
-
 class config_install_extra_modules(osv.osv_memory):
     _name='config.install_extra_modules'
+    _rec_name = 'crm_configuration'
     _columns = {
-        'name':fields.char('Name', size=64),
-        'timesheets_module':fields.boolean('Timesheets Management'),
-        'holidays_module':fields.boolean('Hollidays Management'),
-
+        'crm_configuration':fields.boolean('CRM & Calendars', help="This installs the customer relationship features like: leads and opportunities tracking, shared calendar, jobs tracking, bug tracker, and so on."),
+        'hr_timesheet':fields.boolean('Timesheets', help="Timesheets allows you to track time and costs spent on different projects, represented by analytic accounts."),
+        'hr_timesheet_invoice':fields.boolean('Invoice on Timesheets', help="There are different invoicing methods in OpenERP: from sale orders, from shippings, ... Install this module if you plan to invoice your customers based on time spent on projects."),
+        'hr_holidays':fields.boolean('Holidays Management', help="Tracks the full holidays management process, from the employee's request to the global planning."),
+        'hr_expense':fields.boolean('Expenses Tracking', help="Tracks the personal expenses process, from the employee expense encoding, to the reimbursement of the employee up to the reinvoicing to the final customer."),
+        'account_budget_crossover':fields.boolean('Analytic Budgets', help="Allows you to manage analytic budgets by journals. This module is used to manage budgets of your projects."),
+        '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."),
+        'scrum':fields.boolean('Scrum Methodology', help="Scrum is an 'agile development methodology', mainly used in IT projects. It helps you to manage teams, long term roadmaps, sprints, and so on."),
+        'base_contact':fields.boolean('Contacts Management', help="Allows you to manage partners (enterprises), addresses of partners and contacts of these partners (employee/people). Install this if you plan to manage your relationships with partners and contacts."),
     }
     def action_cancel(self,cr,uid,ids,conect=None):
         return {
@@ -103,16 +55,11 @@ class config_install_extra_modules(osv.osv_memory):
     def action_install(self, cr, uid, ids, context=None):
         res=self.read(cr,uid,ids)[0]
         mod_obj = self.pool.get('ir.module.module')
-        if 'timesheets_module' in res and res['timesheets_module']:
-            ids = mod_obj.search(cr, uid, [('name', '=', 'hr_timesheet')])
-            mod_obj.download(cr, uid, ids, context=context)
-            cr.commit()
-            #db, pool = pooler.restart_pool(cr.dbname, update_module=True)
-        if  'hr_holidays_module' in res and res['hr_holidays_module']:
-            ids = mod_obj.search(cr, uid, [('name', '=', 'hr_holidays')])
-            mod_obj.download(cr, uid, ids, context=context)
-            cr.commit()
-            #db, pool = pooler.restart_pool(cr.dbname, update_module=True)
+        for r in res:
+            if r<>'id' and res[r]:
+                ids = mod_obj.search(cr, uid, [('name', '=', res[r])])
+                mod_obj.download(cr, uid, ids, context=context)
+                cr.commit()
         return {
                 'view_type': 'form',
                 "view_mode": 'form',
@@ -120,7 +67,6 @@ class config_install_extra_modules(osv.osv_memory):
                 'type': 'ir.actions.act_window',
                 'target':'new',
             }
-
 config_install_extra_modules()
 
 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
index 3603841..e3a4dbc 100644 (file)
@@ -7,11 +7,23 @@
             <field name="type">form</field>
             <field name="arch" type="xml">
                 <form string="Install Extra Module">
-                    <separator colspan="4" string="Install More Modules"/>
-                    <field name="timesheets_module"/>
-                    <field name="holidays_module"/>
-                                       <separator string="" colspan="4"/>
-                                       <label string="" colspan="2"/>
+                    <separator string="Services Management" colspan="4"/>
+                    <field name="hr_timesheet"/>
+                    <field name="hr_timesheet_invoice"/>
+                    <field name="project_gtd"/>
+                    <field name="scrum"/>
+
+                    <separator string="Resources Management" colspan="4"/>
+                    <field name="hr_holidays"/>
+                    <field name="hr_expense"/>
+                    <field name="account_budget_crossover"/>
+
+                    <separator string="Relationship Management" colspan="4"/>
+                    <field name="crm_configuration"/>
+                    <field name="base_contact"/>
+
+                    <separator string="" colspan="4"/>
+                    <label string="" colspan="2"/>
                     <group col="4" colspan="2">
                         <button special="cancel" string="Cancel" name="action_cancel" type="object" icon='gtk-cancel'/>
                         <button name="action_install" string="Install" icon='gtk-ok' type="object"/>
@@ -32,7 +44,7 @@
       <record model="ir.module.module.configuration.step"
             id="config_install_module">
             <field name="name">Install Extra modules</field>
-            <field name="note">Install more modules. A few modules are proposed according to the service profile you selected. You will be able to install them based on our requirements.</field>
+            <field name="note">A few modules are proposed according to the 'service profile' you selected. You will be able to install them or more modules later through the Administration menu.</field>
             <field name="action_id" ref="action_config_install_module"/>
             <field name="state">open</field>
         </record>