From 63e80fa37164ec85ad643d09ddb4255289e40fb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com> Date: Wed, 20 Sep 2006 18:29:54 +0000 Subject: [PATCH] Add a constraint on accounts, to check that m9's gap and account_type are consistant. Attach this constraint to account types. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@10215 20353a03-c40f-0410-a6d1-a30d3c3de9de --- .../M9AccountTypeConstraint.py | 50 +++++++++++++++++++ .../property_sheet_list.xml | 3 ++ .../PropertySheetTemplateItem/M9Account.py | 38 ++++++++++++++ bt5/erp5_accounting_l10n_fr_m9/bt/revision | 2 +- .../bt/template_constraint_id_list | 1 + .../template_portal_type_property_sheet_list | 1 + .../bt/template_property_sheet_id_list | 1 + 7 files changed, 95 insertions(+), 1 deletion(-) create mode 100644 bt5/erp5_accounting_l10n_fr_m9/ConstraintTemplateItem/M9AccountTypeConstraint.py create mode 100644 bt5/erp5_accounting_l10n_fr_m9/PropertySheetTemplateItem/M9Account.py diff --git a/bt5/erp5_accounting_l10n_fr_m9/ConstraintTemplateItem/M9AccountTypeConstraint.py b/bt5/erp5_accounting_l10n_fr_m9/ConstraintTemplateItem/M9AccountTypeConstraint.py new file mode 100644 index 0000000000..f8f4880813 --- /dev/null +++ b/bt5/erp5_accounting_l10n_fr_m9/ConstraintTemplateItem/M9AccountTypeConstraint.py @@ -0,0 +1,50 @@ +############################################################################## +# +# Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved. +# Jerome Perrin <jerome@nexedi.com> +# +# WARNING: This program as such is intended to be used by professional +# programmers who take the whole responsability of assessing all potential +# consequences resulting from its eventual inadequacies and bugs +# End users who are looking for a ready-to-use solution with commercial +# garantees and support are strongly adviced to contract a Free Software +# Service Company +# +# 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 2 +# 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, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +############################################################################## + +from Products.ERP5.Constraint.AccountTypeConstraint import \ + AccountTypeConstraint + +class M9AccountTypeConstraint(AccountTypeConstraint): + """Account type constraints specific to erp5_accounting_l10n_fr_m9 + """ + _account_type_map = ( + ('gap/fr/m9/1', ('equity', )), + ('gap/fr/m9/2', ('asset', )), + ('gap/fr/m9/3', ('asset', )), + ('gap/fr/m9/4/40', ('liability/payable', )), + ('gap/fr/m9/4/41', ('asset/receivable', )), + ('gap/fr/m9/4/42', ('liability/payable', )), + ('gap/fr/m9/4/43', ('liability/payable', )), + ('gap/fr/m9/4', ('liability/payable', 'asset/receivable')), + ('gap/fr/m9/5/59', ('asset', )), + ('gap/fr/m9/5', ('asset/cash', )), + ('gap/fr/m9/6', ('expense', )), + ('gap/fr/m9/7', ('income', )), + ('gap/fr/m9/8', ('equity', )), + ) + diff --git a/bt5/erp5_accounting_l10n_fr_m9/PortalTypePropertySheetTemplateItem/property_sheet_list.xml b/bt5/erp5_accounting_l10n_fr_m9/PortalTypePropertySheetTemplateItem/property_sheet_list.xml index d5c85903e0..ed18f54535 100644 --- a/bt5/erp5_accounting_l10n_fr_m9/PortalTypePropertySheetTemplateItem/property_sheet_list.xml +++ b/bt5/erp5_accounting_l10n_fr_m9/PortalTypePropertySheetTemplateItem/property_sheet_list.xml @@ -1,4 +1,7 @@ <property_sheet_list> + <portal_type id="Account"> + <item>M9Account</item> + </portal_type> <portal_type id="Purchase Invoice Transmission Sheet"> <item>SortIndex</item> <item>Task</item> diff --git a/bt5/erp5_accounting_l10n_fr_m9/PropertySheetTemplateItem/M9Account.py b/bt5/erp5_accounting_l10n_fr_m9/PropertySheetTemplateItem/M9Account.py new file mode 100644 index 0000000000..e03689ddbf --- /dev/null +++ b/bt5/erp5_accounting_l10n_fr_m9/PropertySheetTemplateItem/M9Account.py @@ -0,0 +1,38 @@ +############################################################################## +# +# Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved. +# +# WARNING: This program as such is intended to be used by professional +# programmers who take the whole responsability of assessing all potential +# consequences resulting from its eventual inadequacies and bugs +# End users who are looking for a ready-to-use solution with commercial +# garantees and support are strongly adviced to contract a Free Software +# Service Company +# +# 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 2 +# 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, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +############################################################################## + +class M9Account: + """Accounts uses constraints from M9 accounting. + """ + + _constraints = ( + { 'id': 'm9_account_type_constraint', + 'description' : 'Account Type and GAP Category checks', + 'type' : 'M9AccountTypeConstraint', }, + ) + + diff --git a/bt5/erp5_accounting_l10n_fr_m9/bt/revision b/bt5/erp5_accounting_l10n_fr_m9/bt/revision index c7930257df..301160a930 100644 --- a/bt5/erp5_accounting_l10n_fr_m9/bt/revision +++ b/bt5/erp5_accounting_l10n_fr_m9/bt/revision @@ -1 +1 @@ -7 \ No newline at end of file +8 \ No newline at end of file diff --git a/bt5/erp5_accounting_l10n_fr_m9/bt/template_constraint_id_list b/bt5/erp5_accounting_l10n_fr_m9/bt/template_constraint_id_list index e69de29bb2..d497c9b15f 100644 --- a/bt5/erp5_accounting_l10n_fr_m9/bt/template_constraint_id_list +++ b/bt5/erp5_accounting_l10n_fr_m9/bt/template_constraint_id_list @@ -0,0 +1 @@ +M9AccountTypeConstraint \ No newline at end of file diff --git a/bt5/erp5_accounting_l10n_fr_m9/bt/template_portal_type_property_sheet_list b/bt5/erp5_accounting_l10n_fr_m9/bt/template_portal_type_property_sheet_list index 02ff443246..d399441298 100644 --- a/bt5/erp5_accounting_l10n_fr_m9/bt/template_portal_type_property_sheet_list +++ b/bt5/erp5_accounting_l10n_fr_m9/bt/template_portal_type_property_sheet_list @@ -1,2 +1,3 @@ +Account | M9Account Purchase Invoice Transmission Sheet | SortIndex Purchase Invoice Transmission Sheet | Task \ No newline at end of file diff --git a/bt5/erp5_accounting_l10n_fr_m9/bt/template_property_sheet_id_list b/bt5/erp5_accounting_l10n_fr_m9/bt/template_property_sheet_id_list index e69de29bb2..7c1eded822 100644 --- a/bt5/erp5_accounting_l10n_fr_m9/bt/template_property_sheet_id_list +++ b/bt5/erp5_accounting_l10n_fr_m9/bt/template_property_sheet_id_list @@ -0,0 +1 @@ +M9Account \ No newline at end of file -- 2.30.9