diff --git a/bin/addons/base/maintenance/maintenance.py b/bin/addons/base/maintenance/maintenance.py
index bc4d6925911..94e0954799d 100644
--- a/bin/addons/base/maintenance/maintenance.py
+++ b/bin/addons/base/maintenance/maintenance.py
@@ -140,7 +140,7 @@ class maintenance_contract_wizard(osv.osv_memory):
contract = self.read(cr, uid, ids, ['name', 'password'])[0]
- contract_info = remote_contact(contract['name'], contract['password'], modules)
+ contract_info = remote_contract(contract['name'], contract['password'], modules)
is_ok = contract_info['status'] in ('partial', 'full')
if is_ok:
diff --git a/bin/addons/base/module/module_wizard.xml b/bin/addons/base/module/module_wizard.xml
index 7f86447201c..a7e3ceba627 100644
--- a/bin/addons/base/module/module_wizard.xml
+++ b/bin/addons/base/module/module_wizard.xml
@@ -22,13 +22,7 @@
-
- Create RST Technical Guide
- tech.guide.rst
-
-
-
-
+
Export a Translation File
wizard.module.lang.export
form
@@ -66,6 +60,7 @@
+
Export a Translation File
ir.actions.act_window
diff --git a/bin/addons/base/module/report/ir_module_reference.rml b/bin/addons/base/module/report/ir_module_reference.rml
index 9cb301e89a1..52ffd04fd7f 100644
--- a/bin/addons/base/module/report/ir_module_reference.rml
+++ b/bin/addons/base/module/report/ir_module_reference.rml
@@ -184,6 +184,10 @@
+
+
+
+ [[ module.description ]]
@@ -215,10 +219,6 @@
-
-
-
- [[ module.description ]]
diff --git a/bin/addons/base/module/wizard/__init__.py b/bin/addons/base/module/wizard/__init__.py
index 8c799d1bc61..63c49313c66 100644
--- a/bin/addons/base/module/wizard/__init__.py
+++ b/bin/addons/base/module/wizard/__init__.py
@@ -28,7 +28,6 @@ import wizard_export_lang
import wizard_import_lang
import wizard_module_import
import wizard_update_translations
-import wizard_tech_guide_rst
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/bin/addons/base/module/wizard/wizard_export_lang.py b/bin/addons/base/module/wizard/wizard_export_lang.py
index e4ed0523b92..2a56cac2fcc 100644
--- a/bin/addons/base/module/wizard/wizard_export_lang.py
+++ b/bin/addons/base/module/wizard/wizard_export_lang.py
@@ -73,7 +73,7 @@ class wizard_export_lang(osv.osv_memory):
'format': fields.selection( ( ('csv','CSV File'), ('po','PO File'), ('tgz', 'TGZ Archive')), 'File Format', required=True),
'modules': fields.many2many('ir.module.module', 'rel_modules_langexport', 'wiz_id', 'module_id', 'Modules', domain=[('state','=','installed')]),
'data': fields.binary('File', readonly=True),
- 'advice': fields.text('', readonly=True),
+ 'advice': fields.text('Advice', readonly=True),
'state': fields.selection( ( ('choose','choose'), # choose language
('get','get'), # get the file
) ),
diff --git a/bin/addons/base/module/wizard/wizard_tech_guide_rst.py b/bin/addons/base/module/wizard/wizard_tech_guide_rst.py
deleted file mode 100644
index e2a12cf113a..00000000000
--- a/bin/addons/base/module/wizard/wizard_tech_guide_rst.py
+++ /dev/null
@@ -1,241 +0,0 @@
-# -*- encoding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved
-# $Id$
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU 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 General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-import wizard
-import osv
-import pooler
-import os
-import tools
-
-import zipfile
-from StringIO import StringIO
-import base64
-
-choose_file_form ='''
-
-'''
-
-choose_file_fields = {
- 'rst_file': {'string': 'file', 'type': 'binary', 'required': True, 'readonly': True},
- 'name': {'string': 'filename', 'type': 'char', 'required': True, 'readonly': True},
-}
-
-
-class RstDoc(object):
- def __init__(self, module, objects):
- self.dico = {
- 'name': module.name,
- 'shortdesc': module.shortdesc,
- 'latest_version': module.latest_version,
- 'website': module.website,
- 'description': self._handle_text(module.description),
- 'report_list': self._handle_list_items(module.reports_by_module),
- 'menu_list': self._handle_list_items(module.menus_by_module),
- 'view_list': self._handle_list_items(module.views_by_module),
- 'depends': module.dependencies_id,
- }
- self.objects = objects
-
- def _handle_list_items(self, list_item_as_string):
- return [item.replace('*', '\*') for item in list_item_as_string.split('\n')]
-
- def _handle_text(self, txt):
- lst = [' %s' % line for line in txt.split('\n')]
- return '\n'.join(lst)
-
- def _write_header(self):
- sl = [
- "",
- "Introspection report on objects",
- "===============================",
- "",
- ":Module: %(name)s",
- ":Name: %(shortdesc)s",
- ":Version: %(latest_version)s",
- ":Directory: %(name)s",
- ":Web: %(website)s",
- "",
- "Description",
- "-----------",
- "",
- "::",
- " ",
- " %(description)s",
- ""]
- return '\n'.join(sl) % (self.dico)
-
- def _write_reports(self):
- sl = ["",
- "Reports",
- "-------"]
- for report in self.dico['report_list']:
- if report:
- sl.append("")
- sl.append(" * %s" % report)
- sl.append("")
- return '\n'.join(sl)
-
- def _write_menus(self):
- sl = ["",
- "Menus",
- "-------"]
- for menu in self.dico['menu_list']:
- if menu:
- sl.append("")
- sl.append(" * %s" % menu)
-
- sl.append("")
- return '\n'.join(sl)
-
- def _write_views(self):
- sl = ["",
- "Views",
- "-----"]
- for view in self.dico['view_list']:
- if view:
- sl.append("")
- sl.append(" * %s" % view)
- sl.append("")
- return '\n'.join(sl)
-
- def _write_depends(self):
- sl = ["",
- "Dependencies",
- "------------"]
- for dependency in self.dico['depends']:
- sl.append("")
- sl.append(" * %s - %s" % (dependency.name, dependency.state))
- return '\n'.join(sl)
-
- def _write_objects(self):
- # {'fields': [('name', {'translate': True, 'required': True, 'type': 'char', 'string': 'Name', 'size': 64})], 'object': browse_record(ir.model, 87)}
- def write_field(field_def):
- field_name = field[0]
- field_dict = field[1]
- field_required = field_dict.get('required', '') and ', required'
- field_readonly = field_dict.get('readonly', '') and ', readonly'
- s = ""
- s += ":%s: " % (field_name)
- s += field_dict.get('string', 'Unknown')
- s += ", " + field_dict['type']
- s += field_required
- s += field_readonly
- s += " " + field_dict.get('help', '')
- return s
-
- sl = ["",
- "Objects",
- "-------"]
- for obj in self.objects:
- title = obj['object'].name
- sl.append("")
- sl.append(title)
- sl.append('#' * len(title))
- sl.append("")
-
- for field in obj['fields']:
- sl.append("")
- sl.append(write_field(field))
- sl.append("")
-
- return '\n'.join(sl)
-
- def write(self):
- s = ''
- s += self._write_header()
- s += self._write_reports()
- s += self._write_menus()
- s += self._write_views()
- s += self._write_depends()
- s += self._write_objects()
-
- return s
-
-
-class wizard_tech_guide_rst(wizard.interface):
-
- def _generate(self, cr, uid, data, context):
- pool = pooler.get_pool(cr.dbname)
- module_model = pool.get('ir.module.module')
- module = module_model.browse(cr, uid, data['id'])
-
- objects = self._get_objects(cr, uid, module)
- rstdoc = RstDoc(module, objects)
- out = rstdoc.write()
-
- return {
- 'rst_file': base64.encodestring(out),
- 'name': '%s_technical_guide.rst' % module.name.replace('.', '_')
- }
-
-## def _object_doc(self, cr, uid, obj):
-## pool = pooler.get_pool(cr.dbname)
-## modobj = pool.get(obj)
-## return modobj.__doc__
-
- def _get_objects(self, cr, uid, module):
- res = []
- objects = self._object_find(cr, uid, module)
- for obj in objects:
- dico = {
- 'object': obj,
- 'fields': self._fields_find(cr, uid, obj.model)
- }
- res.append(dico)
- return res
-
- def _object_find(self, cr, uid, module):
- pool = pooler.get_pool(cr.dbname)
- ids2 = pool.get('ir.model.data').search(cr, uid, [('module','=',module.name), ('model','=','ir.model')])
- ids = []
- for mod in pool.get('ir.model.data').browse(cr, uid, ids2):
- ids.append(mod.res_id)
- modobj = pool.get('ir.model')
- return modobj.browse(cr, uid, ids)
-
- def _fields_find(self, cr, uid, obj):
- pool = pooler.get_pool(cr.dbname)
- modobj = pool.get(obj)
- res = modobj.fields_get(cr, uid).items()
- return res
-
- states = {
- 'init': {
- 'actions': [_generate],
- 'result': {
- 'type': 'form',
- 'arch': choose_file_form,
- 'fields': choose_file_fields,
- 'state': [
- ('end', 'Close', 'gtk-close'),
- ]
- }
- },
- }
-
-wizard_tech_guide_rst('tech.guide.rst')
-