diff --git a/addons/account/res_config_view.xml b/addons/account/res_config_view.xml
index 991e084039b..946c776a28b 100644
--- a/addons/account/res_config_view.xml
+++ b/addons/account/res_config_view.xml
@@ -116,7 +116,7 @@
+ sequence="14" action="action_account_config"/>
diff --git a/addons/base_setup/__init__.py b/addons/base_setup/__init__.py
index 82fe6ca3601..e425344e380 100644
--- a/addons/base_setup/__init__.py
+++ b/addons/base_setup/__init__.py
@@ -20,5 +20,6 @@
##############################################################################
import base_setup
+import res_config
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/base_setup/__openerp__.py b/addons/base_setup/__openerp__.py
index 093f2f492ff..343ca8cb286 100644
--- a/addons/base_setup/__openerp__.py
+++ b/addons/base_setup/__openerp__.py
@@ -36,7 +36,7 @@ Shows you a list of applications features to install from.
'website': 'http://www.openerp.com',
'depends': ['base'],
'init_xml': [],
- 'update_xml': ['security/ir.model.access.csv', 'base_setup_views.xml' ],
+ 'update_xml': ['security/ir.model.access.csv', 'base_setup_views.xml', 'res_config_view.xml'],
'demo_xml': [],
'installable': True,
'auto_install': True,
diff --git a/addons/base_setup/base_setup.py b/addons/base_setup/base_setup.py
index a3effd98148..6d23ed9bd9a 100644
--- a/addons/base_setup/base_setup.py
+++ b/addons/base_setup/base_setup.py
@@ -18,7 +18,6 @@
# along with this program. If not, see .
#
##############################################################################
-import pytz
import simplejson
import cgi
@@ -75,61 +74,6 @@ class product_installer(osv.osv_memory):
if val.customers == 'import':
return {'type': 'ir.actions.act_window'}
-# Define users preferences for new users (ir.values)
-
-def _lang_get(self, cr, uid, context=None):
- obj = self.pool.get('res.lang')
- ids = obj.search(cr, uid, [('translatable','=',True)])
- res = obj.read(cr, uid, ids, ['code', 'name'], context=context)
- res = [(r['code'], r['name']) for r in res]
- return res
-
-def _tz_get(self,cr,uid, context=None):
- return [(x, x) for x in pytz.all_timezones]
-
-class user_preferences_config(osv.osv_memory):
- _name = 'user.preferences.config'
- _inherit = 'res.config'
- _columns = {
- 'context_tz': fields.selection(_tz_get, 'Timezone', size=64,
- help="Set default for new user's timezone, used to perform timezone conversions "
- "between the server and the client."),
- 'context_lang': fields.selection(_lang_get, 'Language', required=True,
- help="Sets default language for the all user interface, when UI "
- "translations are available. If you want to Add new Language, you can add it from 'Load an Official Translation' wizard from 'Administration' menu."),
- 'view': fields.selection([('simple','Simplified'),
- ('extended','Extended')],
- 'Interface', required=True, help= "If you use OpenERP for the first time we strongly advise you to select the simplified interface, which has less features but is easier. You can always switch later from the user preferences." ),
- 'menu_tips': fields.boolean('Display Tips', help="Check out this box if you want to always display tips on each menu action"),
-
- }
- _defaults={
- 'view' : lambda self,cr,uid,*args: self.pool.get('res.users').browse(cr, uid, uid).view or 'simple',
- 'context_lang' : 'en_US',
- 'menu_tips' : True
- }
-
- def default_get(self, cr, uid, fields, context=None):
- if context is None:
- context = {}
- res = super(user_preferences_config, self).default_get(cr, uid, fields, context=context)
- res_default = self.pool.get('ir.values').get(cr, uid, 'default', False, ['res.users'])
- for id, field, value in res_default:
- res.update({field: value})
- return res
-
- def execute(self, cr, uid, ids, context=None):
- user_obj = self.pool.get('res.users')
- user_ids = user_obj.search(cr, uid, [], context=context)
- for o in self.browse(cr, uid, ids, context=context):
- user_obj.write(cr , uid, user_ids ,{'context_tz' : o.context_tz, 'context_lang' : o.context_lang, 'view' : o.view, 'menu_tips' : o.menu_tips}, context=context)
- ir_values_obj = self.pool.get('ir.values')
- ir_values_obj.set(cr, uid, 'default', False, 'context_tz', ['res.users'], o.context_tz)
- ir_values_obj.set(cr, uid, 'default', False, 'context_lang', ['res.users'], o.context_lang)
- ir_values_obj.set(cr, uid, 'default', False, 'view', ['res.users'], o.view)
- ir_values_obj.set(cr, uid, 'default', False, 'menu_tips', ['res.users'], o.menu_tips)
- return {}
-
# Specify Your Terminology
class specify_partner_terminology(osv.osv_memory):
diff --git a/addons/base_setup/base_setup_views.xml b/addons/base_setup/base_setup_views.xml
index 40e88c604ef..f0d86128b57 100644
--- a/addons/base_setup/base_setup_views.xml
+++ b/addons/base_setup/base_setup_views.xml
@@ -1,69 +1,6 @@
-
-
- Set default users preferences
- user.preferences.config
- form
-
-
-
-
-
- Define Users's Preferences
-
-
- This will set the default preferences for new users and update all existing ones. Afterwards, users are free to change those values on their own user preference form.
-
-
-
- 12
-
-
-
-
-
-
-
-
-
-
-
-
-
- Define default users preferences
- ir.actions.act_window
- user.preferences.config
- form
-
- form
- new
-
-
-
-
- once
-
-
-
-
- Create Additional Users
- ir.actions.act_window
- res.users
- form
- tree,form
-
-
-
-
-
- 1000
-
-
-
Specify Your Terminology
@@ -110,23 +47,6 @@
-->
-
-
- Set Company Header and Footer
- ir.actions.act_window
- res.company
-
- form
- form
- {'res_id': user.company_id.id}
- Fill in your company data (address, logo, bank accounts) so that it's printed on your reports. You can click on the button 'Preview Header' in order to check the header/footer of PDF documents.
-
-
-
-
- 1
-
-
sale settingssale.config.settings
diff --git a/addons/base_setup/res_config.py b/addons/base_setup/res_config.py
new file mode 100644
index 00000000000..92914f8f7a3
--- /dev/null
+++ b/addons/base_setup/res_config.py
@@ -0,0 +1,40 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Business Applications
+# Copyright (C) 2004-2012 OpenERP S.A. ().
+#
+# 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 osv import osv, fields
+
+class base_config_settings(osv.osv_memory):
+ _name = 'base.config.settings'
+ _inherit = 'res.config.settings'
+ _columns = {
+ 'module_multi_company': fields.boolean('Multi Company',
+ help="""Work in multi-company environments, with appropriate security access between companies.
+ This installs the module multi_company."""),
+ 'module_portal': fields.boolean('Portal',
+ help="""Define a portal for your customers or suppliers. The portal is a group of
+ external users that has specific access rights and rules.
+ This installs the module portal."""),
+ 'module_share': fields.boolean('Share',
+ help="""Share OpenERP documents (records) with external users.
+ This installs the module share."""),
+ }
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/base_setup/res_config_view.xml b/addons/base_setup/res_config_view.xml
new file mode 100644
index 00000000000..f9c851a3002
--- /dev/null
+++ b/addons/base_setup/res_config_view.xml
@@ -0,0 +1,41 @@
+
+
+
+
+ General Settings
+ base.config.settings
+ form
+
+
+
+
+
+
+ General Settings
+ base.config.settings
+ form
+ inline
+
+
+
+
+
diff --git a/addons/base_synchro/base_synchro_view.xml b/addons/base_synchro/base_synchro_view.xml
index f977b7160ac..ab0591269f1 100644
--- a/addons/base_synchro/base_synchro_view.xml
+++ b/addons/base_synchro/base_synchro_view.xml
@@ -1,7 +1,7 @@
-
+
base.synchro.obj.line.treebase.synchro.obj.line
diff --git a/addons/crm/res_config.py b/addons/crm/res_config.py
index 92789f498cd..e51ba58c666 100644
--- a/addons/crm/res_config.py
+++ b/addons/crm/res_config.py
@@ -26,12 +26,12 @@ class crm_configuration(osv.osv_memory):
_inherit = ['sale.config.settings', 'fetchmail.config.settings']
_columns = {
- 'module_crm_caldav': fields.boolean("Caldav Synchronization",
- help="""Use protocol caldav to synchronize meetings with other calendar applications (like Sunbird).
- This installs the module crm_caldav."""),
'fetchmail_lead': fields.boolean("Create Leads from Incoming Mails",
fetchmail_model='crm.lead', fetchmail_name='Incoming leads',
help="""Allows you to configure your incoming mail server, and create leads from incoming emails."""),
+ 'module_crm_caldav': fields.boolean("Caldav Synchronization",
+ help="""Use protocol caldav to synchronize meetings with other calendar applications (like Sunbird).
+ This installs the module crm_caldav."""),
'lead_server': fields.char('Server', size=256),
'lead_port': fields.integer('Port'),
'lead_type': fields.selection([
@@ -57,8 +57,4 @@ class crm_configuration(osv.osv_memory):
This installs the module google_map."""),
}
- _defaults = {
- 'lead_type': 'pop',
- }
-
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/crm/res_config_view.xml b/addons/crm/res_config_view.xml
index c908125a2bf..12bd97ff1ff 100644
--- a/addons/crm/res_config_view.xml
+++ b/addons/crm/res_config_view.xml
@@ -10,15 +10,9 @@
-
-
-
-
-
-
-
+
+
-
@@ -36,7 +30,8 @@
-
+
diff --git a/addons/crm_claim/res_config.py b/addons/crm_claim/res_config.py
index 73a6680663d..0dca243890b 100644
--- a/addons/crm_claim/res_config.py
+++ b/addons/crm_claim/res_config.py
@@ -26,21 +26,7 @@ class crm_claim_settings(osv.osv_memory):
_inherit = ['sale.config.settings', 'fetchmail.config.settings']
_columns = {
- 'fetchmail_claim': fields.boolean("Create claims from an email account",
- fetchmail_model='crm.claim', fetchmail_name='Incoming claims',
+ 'fetchmail_claim': fields.boolean("Create Claims from Incoming Mails", readonly=True,
+ fetchmail_model='crm.claim', fetchmail_name='Incoming Claims',
help="""Allows you to configure your incoming mail server, and create claims from incoming emails."""),
- 'claim_server' : fields.char('Server', size=256),
- 'claim_port' : fields.integer('Port'),
- 'claim_type': fields.selection([
- ('pop', 'POP Server'),
- ('imap', 'IMAP Server'),
- ('local', 'Local Server'),
- ], 'Type'),
- 'claim_is_ssl': fields.boolean('SSL/TLS', help="Connections are encrypted with SSL/TLS through a dedicated port (default: IMAPS=993, POP=995)"),
- 'claim_user' : fields.char('Username', size=256),
- 'claim_password' : fields.char('Password', size=1024),
- }
-
- _defaults = {
- 'claim_type': 'pop',
}
diff --git a/addons/crm_claim/res_config_view.xml b/addons/crm_claim/res_config_view.xml
index c6c66290303..46a4d4ff690 100644
--- a/addons/crm_claim/res_config_view.xml
+++ b/addons/crm_claim/res_config_view.xml
@@ -11,15 +11,9 @@
-
-
-
-
-
-
-
+
+
-
diff --git a/addons/document_ftp/__init__.py b/addons/document_ftp/__init__.py
index b86320f9909..e7e4a647563 100644
--- a/addons/document_ftp/__init__.py
+++ b/addons/document_ftp/__init__.py
@@ -18,8 +18,10 @@
# along with this program. If not, see .
#
##############################################################################
+
import ftpserver
import wizard
+import res_config
post_load = ftpserver.start_server
diff --git a/addons/document_ftp/__openerp__.py b/addons/document_ftp/__openerp__.py
index c10cd913f56..f6ab4616b2d 100644
--- a/addons/document_ftp/__openerp__.py
+++ b/addons/document_ftp/__openerp__.py
@@ -40,7 +40,8 @@ FTP client.
'update_xml': [
'wizard/ftp_configuration_view.xml',
'wizard/ftp_browse_view.xml',
- 'security/ir.model.access.csv'
+ 'security/ir.model.access.csv',
+ 'res_config_view.xml',
],
'demo_xml': [],
'test': [
diff --git a/addons/document_ftp/res_config.py b/addons/document_ftp/res_config.py
new file mode 100644
index 00000000000..374368d60bd
--- /dev/null
+++ b/addons/document_ftp/res_config.py
@@ -0,0 +1,37 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Business Applications
+# Copyright (C) 2004-2012 OpenERP S.A. ().
+#
+# 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 osv import fields, osv
+from tools import config
+
+class documnet_ftp_setting(osv.osv_memory):
+ _name = 'knowledge.config.settings'
+ _inherit = 'knowledge.config.settings'
+ _columns = {
+ 'document_ftp_url': fields.char('Browse Documents', size=128,
+ help ="""Click the url to browse the documents""", readonly=True),
+ }
+
+ def get_default_ftp_config(self, cr, uid, fields, context=None):
+ action = self.pool.get('ir.model.data').get_object(cr, uid, 'document_ftp', 'action_document_browse')
+ return {'document_ftp_url': action.url}
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/document_ftp/res_config_view.xml b/addons/document_ftp/res_config_view.xml
new file mode 100644
index 00000000000..3b6b2f0f319
--- /dev/null
+++ b/addons/document_ftp/res_config_view.xml
@@ -0,0 +1,15 @@
+
+
+
+ Knowledge Application
+ knowledge.config.settings
+ form
+
+
+
+
+
+
+
+
+
diff --git a/addons/fetchmail/res_config.py b/addons/fetchmail/res_config.py
index 2b4072a63c3..f7dade6ae33 100644
--- a/addons/fetchmail/res_config.py
+++ b/addons/fetchmail/res_config.py
@@ -25,99 +25,72 @@ class fetchmail_config_settings(osv.osv_memory):
""" This wizard can be inherited in conjunction with 'res.config.settings', in order to
define fields that configure a fetchmail server.
- It relies on the following convention on a set of fields::
+ It relies on the following convention on the object::
- class my_config_wizard(osv.osv_memory):
+ class my_config_settings(osv.osv_memory):
_name = 'my.settings'
- _inherits = ['res.config.settings', 'fetchmail.config.settings']
+ _inherit = ['res.config.settings', 'fetchmail.config.settings']
_columns = {
- 'fetchmail_X': fields.boolean(..., fetchmail_model='my.model', fetchmail_name='Blah'),
- 'X_server': fields.char('Server Name', size=256),
- 'X_port': fields.integer('Port'),
- 'X_type': fields.selection(
- [('pop', 'POP Server'), ('imap', 'IMAP Server'), ('local', 'Local Server')],
- 'Server Type'),
- 'X_is_ssl': fields.boolean('SSL/TLS'),
- 'X_user': fields.char('Username', size=256),
- 'X_password': fields.char('Password', size=1024),
+ 'fetchmail_stuff': fields.boolean(..., readonly=True,
+ fetchmail_model='my.stuff', fetchmail_name='Incoming Stuff'),
}
- The method ``get_default_fetchmail_servers`` retrieves the current fetchmail configuration
- for all fields that start with 'fetchmail_'. It looks up configurations that match the
- given model name (``fetchmail_model``). The method ``set_fetchmail_servers`` updates the
- fetchmail configurations by following the same conventions. Both methods are called
- automatically by the methods of the model 'res.config.settings'.
+ def configure_fetchmail_stuff(self, cr, uid, ids, context=None):
+ return self.configure_fetchmail(cr, uid, 'fetchmail_stuff', context)
- The onchange method ``onchange_fetchmail`` can be used to react on changes on the fields
- 'X_type' and 'X_is_ssl'. Its first parameter is the fields' prefix (here 'X').
+ and in the form view::
+
+
+
+
+ The method ``get_default_fetchmail`` determines the value of all fields that start
+ with 'fetchmail_'. It looks up fetchmail server configurations that match the given
+ model name (``fetchmail_model``) and are active.
+
+ The button action ``configure_fetchmail_stuff`` is caught by the object, and calls
+ automatically the method ``configure_fetchmail``; it opens the fetchmail server
+ configuration form for the corresponding field.
"""
_name = 'fetchmail.config.settings'
- def get_default_fetchmail_servers(self, cr, uid, fields, context=None):
+ def get_default_fetchmail(self, cr, uid, fields, context=None):
+ """ determine the value of all fields like 'fetchmail_XXX' """
ir_model = self.pool.get('ir.model')
fetchmail_server = self.pool.get('fetchmail.server')
- fetchmail_fields = [f for f in self._columns if f.startswith('fetchmail_')]
+ fetchmail_fields = [f for f in fields if f.startswith('fetchmail_')]
res = {}
- for field in fetchmail_fields:
- model_name = self._columns[field].fetchmail_model
+ for f in fetchmail_fields:
+ model_name = self._columns[f].fetchmail_model
model_id = ir_model.search(cr, uid, [('model', '=', model_name)])[0]
server_ids = fetchmail_server.search(cr, uid, [('object_id', '=', model_id), ('state', '=', 'done')])
- if server_ids:
- server = fetchmail_server.browse(cr, uid, server_ids[0], context)
- prefix = field[10:]
- res.update({
- field: True,
- prefix + '_server': server.server,
- prefix + '_port': server.port,
- prefix + '_type': server.type,
- prefix + '_is_ssl': server.is_ssl,
- prefix + '_user': server.user,
- prefix + '_password': server.password,
- })
+ res[f] = bool(server_ids)
return res
- def set_fetchmail_servers(self, cr, uid, ids, context):
- ir_model = self.pool.get('ir.model')
- fetchmail_server = self.pool.get('fetchmail.server')
- fetchmail_fields = [f for f in self._columns if f.startswith('fetchmail_')]
- config = self.browse(cr, uid, ids[0], context)
- for field in fetchmail_fields:
- model_name = self._columns[field].fetchmail_model
- model_id = ir_model.search(cr, uid, [('model', '=', model_name)])[0]
- server_ids = fetchmail_server.search(cr, uid, [('object_id', '=', model_id), ('state', '=', 'done')])
- if config[field]:
- prefix = field[10:]
- values = {
- 'server': config[prefix + '_server'],
- 'port': config[prefix + '_port'],
- 'type': config[prefix + '_type'],
- 'is_ssl': config[prefix + '_is_ssl'],
- 'user': config[prefix + '_user'],
- 'password': config[prefix + '_password'],
- }
- if not server_ids:
- values.update({
- 'name': getattr(self._columns[field], 'fetchmail_name', model_name),
- 'object_id': model_id,
- })
- server_ids = [fetchmail_server.create(cr, uid, values, context=context)]
- else:
- server_ids = fetchmail_server.search(cr, uid, [('object_id', '=', model_id)], context=context)
- fetchmail_server.write(cr, uid, server_ids, values, context=context)
- fetchmail_server.button_confirm_login(cr, uid, server_ids, context)
- else:
- fetchmail_server.set_draft(cr, uid, server_ids, context)
-
- def onchange_fetchmail(self, cr, uid, ids, prefix, server_type, ssl, context=None):
- values = {}
- if server_type == 'pop':
- values[prefix + '_port'] = ssl and 995 or 110
- elif server_type == 'imap':
- values[prefix + '_port'] = ssl and 993 or 143
+ def configure_fetchmail(self, cr, uid, field, context=None):
+ """ open the form view of the fetchmail.server to configure """
+ action = {
+ 'type': 'ir.actions.act_window',
+ 'res_model': 'fetchmail.server',
+ 'view_mode': 'form',
+ }
+ model_name = self._columns[field].fetchmail_model
+ model_id = self.pool.get('ir.model').search(cr, uid, [('model', '=', model_name)])[0]
+ server_ids = self.pool.get('fetchmail.server').search(cr, uid, [('object_id', '=', model_id)])
+ if server_ids:
+ action['res_id'] = server_ids[0]
else:
- values[prefix + '_server'] = False
- values[prefix + '_port'] = 0
- return {'value': values}
+ action['context'] = {
+ 'default_name': self._columns[field].fetchmail_name,
+ 'default_object_id': model_id,
+ }
+ return action
+
+ def __getattr__(self, name):
+ """ catch calls to 'configure_fetchmail_XXX' """
+ if name.startswith('configure_fetchmail_'):
+ return (lambda cr, uid, ids, context=None:
+ self.configure_fetchmail(cr, uid, name[10:], context))
+ return super(fetchmail_config_settings, self).__getattr__(name)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/hr/res_config_view.xml b/addons/hr/res_config_view.xml
index a34783772c9..38764fd6d73 100644
--- a/addons/hr/res_config_view.xml
+++ b/addons/hr/res_config_view.xml
@@ -49,7 +49,8 @@
inline
-
+
diff --git a/addons/hr_recruitment/res_config.py b/addons/hr_recruitment/res_config.py
index 2afec802689..eeb36b60ae7 100644
--- a/addons/hr_recruitment/res_config.py
+++ b/addons/hr_recruitment/res_config.py
@@ -29,24 +29,9 @@ class hr_applicant_settings(osv.osv_memory):
'module_document_ftp': fields.boolean('Index & Track Documents',
help="""Manage your CV's and motivation letter related to all applicants.
This installs the module document_ftp."""),
- 'fetchmail_applicants': fields.boolean('Create Applicants from an Email Account',
+ 'fetchmail_applicants': fields.boolean('Create Applicants from Incoming Mails', readonly=True,
fetchmail_model='hr.applicant', fetchmail_name='Incoming HR Applications',
help ="""Allow applicants to send their job application to an email address (jobs@mycompany.com),
and create automatically application documents in the system."""),
- 'applicants_server': fields.char('Server', size=256),
- 'applicants_port': fields.integer('Port'),
- 'applicants_type': fields.selection([
- ('pop', 'POP Server'),
- ('imap', 'IMAP Server'),
- ('local', 'Local Server'),
- ], 'Type'),
- 'applicants_is_ssl': fields.boolean('SSL/TLS',
- help="Connections are encrypted with SSL/TLS through a dedicated port (default: IMAPS=993, POP=995)"),
- 'applicants_user': fields.char('Username', size=256),
- 'applicants_password': fields.char('Password', size=1024),
- }
-
- _defaults = {
- 'applicants_type': 'pop',
}
diff --git a/addons/hr_recruitment/res_config_view.xml b/addons/hr_recruitment/res_config_view.xml
index 32575a4726d..c6015198c8e 100644
--- a/addons/hr_recruitment/res_config_view.xml
+++ b/addons/hr_recruitment/res_config_view.xml
@@ -12,16 +12,9 @@
-
-
-
-
-
-
-
-
+
+
+
diff --git a/addons/knowledge/__init__.py b/addons/knowledge/__init__.py
index 9a3d6d2fbb6..53c45089ddc 100644
--- a/addons/knowledge/__init__.py
+++ b/addons/knowledge/__init__.py
@@ -19,5 +19,6 @@
#
##############################################################################
+import res_config
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/knowledge/__openerp__.py b/addons/knowledge/__openerp__.py
index aa45834bb38..edefd6655ea 100644
--- a/addons/knowledge/__openerp__.py
+++ b/addons/knowledge/__openerp__.py
@@ -40,6 +40,7 @@ document and Wiki based Hidden.
'security/knowledge_security.xml',
'security/ir.model.access.csv',
'knowledge_view.xml',
+ 'res_config_view.xml',
],
'demo_xml': ['knowledge_demo.xml'],
'installable': True,
diff --git a/addons/knowledge/res_config.py b/addons/knowledge/res_config.py
new file mode 100644
index 00000000000..a43d4377bcd
--- /dev/null
+++ b/addons/knowledge/res_config.py
@@ -0,0 +1,44 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Business Applications
+# Copyright (C) 2004-2012 OpenERP S.A. ().
+#
+# 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 osv import osv, fields
+
+class knowledge_config_settings(osv.osv_memory):
+ _name = 'knowledge.config.settings'
+ _inherit = 'res.config.settings'
+ _columns = {
+ 'module_wiki_faq': fields.boolean('Use a Wiki for Frequently Asked Questions',
+ help="""This installs the module wiki_faq."""),
+ 'module_wiki_quality_manual': fields.boolean('Track Quality with a Wiki',
+ help="""This installs the module wiki_quality_manual."""),
+ 'module_document': fields.boolean('Document Management',
+ help="""This is a complete document management system, with: user authentication,
+ full document search (but pptx and docx are not supported), and a document dashboard.
+ This installs the module document."""),
+ 'module_document_ftp': fields.boolean('Share repositories (FTP)',
+ help="""Access your documents in OpenERP through an FTP interface.
+ This installs the module document_ftp."""),
+ 'module_document_webdav': fields.boolean('Share Repositories (WebDAV)',
+ help="""Access your documents in OpenERP through WebDAV.
+ This installs the module document_webdav."""),
+ }
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/knowledge/res_config_view.xml b/addons/knowledge/res_config_view.xml
new file mode 100644
index 00000000000..6816a9da3a1
--- /dev/null
+++ b/addons/knowledge/res_config_view.xml
@@ -0,0 +1,41 @@
+
+
+
+
+ Configure Knowledge
+ knowledge.config.settings
+ form
+
+
+
+
+
+
+ Configure Knowledge
+ knowledge.config.settings
+ form
+ inline
+
+
+
+
+
diff --git a/addons/marketing/__init__.py b/addons/marketing/__init__.py
index e68279cad8d..ff0c032da87 100644
--- a/addons/marketing/__init__.py
+++ b/addons/marketing/__init__.py
@@ -19,6 +19,6 @@
#
##############################################################################
+import res_config
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/marketing/__openerp__.py b/addons/marketing/__openerp__.py
index c097c22b84e..8088a0a1a1b 100644
--- a/addons/marketing/__openerp__.py
+++ b/addons/marketing/__openerp__.py
@@ -38,7 +38,8 @@ Contains the installer for marketing-related modules.
'update_xml': [
'security/marketing_security.xml',
'security/ir.model.access.csv',
- 'marketing_view.xml'
+ 'marketing_view.xml',
+ 'res_config_view.xml',
],
'demo_xml': ['marketing_demo.xml'],
'installable': True,
diff --git a/addons/marketing/res_config.py b/addons/marketing/res_config.py
new file mode 100644
index 00000000000..7584f00e6b0
--- /dev/null
+++ b/addons/marketing/res_config.py
@@ -0,0 +1,40 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Business Applications
+# Copyright (C) 2004-2012 OpenERP S.A. ().
+#
+# 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 osv import fields, osv
+
+class marketing_config_settings(osv.osv_memory):
+ _name = 'marketing.config.settings'
+ _inherit = 'res.config.settings'
+ _columns = {
+ 'module_marketing_campaign': fields.boolean('Marketing Campaigns',
+ help="""Provides leads automation through marketing campaigns.
+ Campaigns can in fact be defined on any resource, not just CRM leads.
+ This installs the module marketing_campaign."""),
+ 'module_marketing_campaign_crm_demo': fields.boolean('Demo Data for Marketing Campaigns',
+ help="""Installs demo data like leads, campaigns and segments for Marketing Campaigns.
+ This installs the module marketing_campaign_crm_demo."""),
+ 'module_crm_profiling': fields.boolean('Track Customer Profile to Focus your Campaigns',
+ help="""Allows users to perform segmentation within partners.
+ This installs the module crm_profiling."""),
+ }
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/marketing/res_config_view.xml b/addons/marketing/res_config_view.xml
new file mode 100644
index 00000000000..b7230aa65a7
--- /dev/null
+++ b/addons/marketing/res_config_view.xml
@@ -0,0 +1,36 @@
+
+
+
+
+ Configure Marketing
+ marketing.config.settings
+ form
+
+
+
+
+
+
+ Configure Marketing
+ marketing.config.settings
+ form
+ inline
+
+
+
+
+
+
diff --git a/addons/mrp/res_config_view.xml b/addons/mrp/res_config_view.xml
index 66b8e735ed6..35120562286 100644
--- a/addons/mrp/res_config_view.xml
+++ b/addons/mrp/res_config_view.xml
@@ -38,7 +38,7 @@
+ sequence="8" action="action_mrp_configuration"/>
diff --git a/addons/product/product_view.xml b/addons/product/product_view.xml
index bc482ab7c10..2bd73985389 100644
--- a/addons/product/product_view.xml
+++ b/addons/product/product_view.xml
@@ -107,7 +107,7 @@
-
+
diff --git a/addons/project/res_config_view.xml b/addons/project/res_config_view.xml
index 021bab3962c..f1221ea0a44 100644
--- a/addons/project/res_config_view.xml
+++ b/addons/project/res_config_view.xml
@@ -39,7 +39,7 @@
+ sequence="10" action="action_config_settings"/>
diff --git a/addons/project_issue/res_config.py b/addons/project_issue/res_config.py
index 92d43162d35..21e50b21e8d 100644
--- a/addons/project_issue/res_config.py
+++ b/addons/project_issue/res_config.py
@@ -26,21 +26,7 @@ class project_issue_settings(osv.osv_memory):
_inherit = ['project.config.settings', 'fetchmail.config.settings']
_columns = {
- 'fetchmail_issue': fields.boolean("Create issues from Incoming Mails",
- fetchmail_model='project.issue', fetchmail_name='Incoming issues',
+ 'fetchmail_issue': fields.boolean("Create Issues from Incoming Mails", readonly=True,
+ fetchmail_model='project.issue', fetchmail_name='Incoming Issues',
help="""Allows you to configure your incoming mail server, and create issues from incoming emails."""),
- 'issue_server' : fields.char('Server', size=256),
- 'issue_port' : fields.integer('Port'),
- 'issue_type': fields.selection([
- ('pop', 'POP Server'),
- ('imap', 'IMAP Server'),
- ('local', 'Local Server'),
- ], 'Type'),
- 'issue_is_ssl': fields.boolean('SSL/TLS', help="Connections are encrypted with SSL/TLS through a dedicated port (default: IMAPS=993, POP=995)"),
- 'issue_user' : fields.char('Username', size=256),
- 'issue_password' : fields.char('Password', size=1024),
- }
-
- _defaults = {
- 'issue_type': 'pop',
}
diff --git a/addons/project_issue/res_config_view.xml b/addons/project_issue/res_config_view.xml
index d2cc501bc96..6b2ef4c56a2 100644
--- a/addons/project_issue/res_config_view.xml
+++ b/addons/project_issue/res_config_view.xml
@@ -10,13 +10,8 @@
-
-
-
-
-
-
-
+
+
diff --git a/addons/purchase/res_config_view.xml b/addons/purchase/res_config_view.xml
index 26d40ac0be0..b2cd5220a65 100644
--- a/addons/purchase/res_config_view.xml
+++ b/addons/purchase/res_config_view.xml
@@ -39,7 +39,7 @@
+ sequence="3" action="action_purchase_configuration"/>
account settings
diff --git a/addons/sale/res_config_view.xml b/addons/sale/res_config_view.xml
index 1341a446162..6645e942ca7 100644
--- a/addons/sale/res_config_view.xml
+++ b/addons/sale/res_config_view.xml
@@ -43,7 +43,8 @@
-
+
account settings
diff --git a/addons/stock/res_config_view.xml b/addons/stock/res_config_view.xml
index 06611f4cdb0..e62a0b9251f 100644
--- a/addons/stock/res_config_view.xml
+++ b/addons/stock/res_config_view.xml
@@ -48,7 +48,7 @@
+ sequence="5" action="action_stock_config_settings"/>