Improved Configuration Wizards

bzr revid: fp@tinyerp.com-20080824171101-vr90k1aexnwk2rjs
This commit is contained in:
Fabien Pinckaers 2008-08-24 19:11:01 +02:00
parent fdb4812d33
commit 6b1a162bc1
3 changed files with 42 additions and 84 deletions

View 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)
]
}
},

View File

@ -30,67 +30,19 @@
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:

View 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>