diff --git a/configuration_helper/__init__.py b/configuration_helper/__init__.py
deleted file mode 100644
index bfca433c9..000000000
--- a/configuration_helper/__init__.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# Author: David BEAL
-# Copyright 2014 Akretion
-#
-# 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 . import config # noqa
diff --git a/configuration_helper/__openerp__.py b/configuration_helper/__openerp__.py
deleted file mode 100644
index 7ca0618fb..000000000
--- a/configuration_helper/__openerp__.py
+++ /dev/null
@@ -1,82 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# Author: David BEAL
-# Copyright 2014 Akretion
-#
-# 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 .
-#
-##############################################################################
-
-{
- 'name': 'Configuration Helper',
- 'version': '0.8',
- 'author': 'Akretion',
- 'maintainer': 'Akretion',
- 'category': 'server',
- 'complexity': 'normal',
- 'depends': ['base'],
- 'description': """
-Configuration Helper
-====================
-
-*This module is intended for developer only. It does nothing used alone.*
-
-This module :
-
- * create automatically related fields in 'whatiwant.config.settings'
- using those defined in 'res.company' : it avoid duplicated field definitions.
- * company_id field with default value is created
- * onchange_company_id is defined to update all related fields
- * supported fields: char, text, integer, float, datetime, date, boolean, m2o
-
-
-How to use
-----------
-
-.. code-block:: python
-
- from . company import ResCompany
-
- class WhatiwantClassSettings(orm.TransientModel):
- _inherit = ['res.config.settings', 'abstract.config.settings']
- _name = 'whatiwant.config.settings'
- # fields must be defined in ResCompany class
- # related fields are automatically generated from previous definitions
- _companyObject = ResCompany
-
-
-Roadmap
--------
- * support (or check support) for these field types : o2m, m2m, reference, property, selection
- * automatically generate a default view for 'whatiwant.config.settings' (in --debug ?)
-
-
-Contributors
-------------
-
-* David BEAL
-* Sébastien BEAU
-* Yannick Vaucher, Camptocamp, (code refactoring from his module 'delivery_carrier_label_postlogistics')
-
- """,
- 'website': 'http://www.akretion.com/',
- 'data': [
- ],
- 'tests': [],
- 'installable': True,
- 'auto_install': False,
- 'license': 'AGPL-3',
- 'application': True,
-}
diff --git a/configuration_helper/config.py b/configuration_helper/config.py
deleted file mode 100644
index 187d683ab..000000000
--- a/configuration_helper/config.py
+++ /dev/null
@@ -1,114 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# Author: David BEAL, Copyright 2014 Akretion
-#
-# 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 .
-#
-##############################################################################
-import re
-
-from openerp.osv import orm, fields
-
-
-class AbstractConfigSettings(orm.AbstractModel):
- _name = 'abstract.config.settings'
- _description = 'Abstract configuration settings'
- # prefix field name to differentiate fields in company with those in config
- _prefix = 'setting_'
- # this is the class name to import in your module
- # (it should be ResCompany or res_company, depends of your code)
- _companyObject = None
-
- def _filter_field(self, field_key):
- """Inherit in your module to define for which company field
- you don't want have a matching related field"""
- return True
-
- def __init__(self, pool, cr):
- super(AbstractConfigSettings, self).__init__(pool, cr)
- if self._companyObject:
- for field_key in self._companyObject._columns:
- #allows to exclude some field
- if self._filter_field(field_key):
- args = ('company_id', field_key)
- kwargs = {
- 'string': self._companyObject._columns[field_key].string,
- 'help': self._companyObject._columns[field_key].help,
- 'type': self._companyObject._columns[field_key]._type,
- }
- if '_obj' in self._companyObject._columns[field_key].__dict__.keys():
- kwargs['relation'] = \
- self._companyObject._columns[field_key]._obj
- if '_domain' in \
- self._companyObject._columns[field_key].__dict__.keys():
- kwargs['domain'] = \
- self._companyObject._columns[field_key]._domain
- field_key = re.sub('^' + self._prefix, '', field_key)
- self._columns[field_key] = \
- fields.related(*args, **kwargs)
-
- _columns = {
- 'company_id': fields.many2one(
- 'res.company',
- 'Company',
- required=True),
- }
-
- def _default_company(self, cr, uid, context=None):
- user = self.pool['res.users'].browse(cr, uid, uid, context=context)
- return user.company_id.id
-
- _defaults = {
- 'company_id': _default_company,
- }
-
- def field_to_populate_as_related(self, cr, uid, field, company_cols, context=None):
- """Only fields which comes from company with the right prefix
- must be defined as related"""
- if self._prefix + field in company_cols:
- return True
- return False
-
- def onchange_company_id(self, cr, uid, ids, company_id, context=None):
- " update related fields "
- values = {}
- values['currency_id'] = False
- if not company_id:
- return {'value': values}
- company_m = self.pool['res.company']
- company = company_m.browse(
- cr, uid, company_id, context=context)
- company_cols = company_m._columns.keys()
- for field in self._columns:
- if self.field_to_populate_as_related(
- cr, uid, field, company_cols, context=context):
- cpny_field = self._columns[field].arg[-1]
- if self._columns[field]._type == 'many2one':
- values[field] = company[cpny_field]['id'] or False
- else:
- values[field] = company[cpny_field]
- return {'value': values}
-
- def create(self, cr, uid, values, context=None):
- id = super(AbstractConfigSettings, self).create(
- cr, uid, values, context=context)
- # Hack: to avoid some nasty bug, related fields are not written
- # upon record creation. Hence we write on those fields here.
- vals = {}
- for fname, field in self._columns.iteritems():
- if isinstance(field, fields.related) and fname in values:
- vals[fname] = values[fname]
- self.write(cr, uid, [id], vals, context)
- return id