From 313d2ae218dc60817a6954596172c50ad1738a85 Mon Sep 17 00:00:00 2001
From: Fabien Morin <fabien@nexedi.com>
Date: Tue, 24 Jun 2008 10:06:33 +0000
Subject: [PATCH] Use a new propertysheet : EGovOrganisation containing only
 egov specific properties. (Thanks to jerome)

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@21753 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../DocumentTemplateItem/Organisation.py      |   3 +-
 .../EGovGenericProperties.py                  |  58 ++++++
 ...egistrationCode.py => EGovOrganisation.py} |  23 ++-
 .../PropertySheetTemplateItem/Organisation.py | 185 ------------------
 bt5/erp5_egov/bt/revision                     |   2 +-
 .../bt/template_property_sheet_id_list        |   4 +-
 6 files changed, 76 insertions(+), 199 deletions(-)
 create mode 100644 bt5/erp5_egov/PropertySheetTemplateItem/EGovGenericProperties.py
 rename bt5/erp5_egov/PropertySheetTemplateItem/{CorporateRegistrationCode.py => EGovOrganisation.py} (76%)
 delete mode 100644 bt5/erp5_egov/PropertySheetTemplateItem/Organisation.py

diff --git a/bt5/erp5_egov/DocumentTemplateItem/Organisation.py b/bt5/erp5_egov/DocumentTemplateItem/Organisation.py
index 54cda54ee5..baa57047dc 100644
--- a/bt5/erp5_egov/DocumentTemplateItem/Organisation.py
+++ b/bt5/erp5_egov/DocumentTemplateItem/Organisation.py
@@ -89,10 +89,11 @@ class Organisation(XMLObject):
                       , PropertySheet.CategoryCore
                       , PropertySheet.DublinCore
                       , PropertySheet.Organisation
+                      , PropertySheet.EGovOrganisation
                       , PropertySheet.Mapping
                       , PropertySheet.Task
                       , PropertySheet.Reference
-                      , PropertySheet.PSJ_Form
+                      , PropertySheet.EGovGenericProperties
                       )
 
 
diff --git a/bt5/erp5_egov/PropertySheetTemplateItem/EGovGenericProperties.py b/bt5/erp5_egov/PropertySheetTemplateItem/EGovGenericProperties.py
new file mode 100644
index 0000000000..2142d1fd2b
--- /dev/null
+++ b/bt5/erp5_egov/PropertySheetTemplateItem/EGovGenericProperties.py
@@ -0,0 +1,58 @@
+#############################################################################
+#
+# Copyright (c) 2008-2009 Nexedi SA and Contributors. All Rights Reserved.
+#                         Fabien Morin <fabien@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.
+#
+##############################################################################
+
+
+class EGovGenericProperties:
+  """
+    Autorisation properties and categories
+  """
+
+  _properties = (
+    # Autorisation properties
+    { 'id'         : 'corporate_registration_code'
+    , 'description': 'The corporate registration code of this organisation'
+    , 'type'       : 'string'
+    , 'mode'       : 'w'
+    },
+    { 'id'                       : 'birthplace'
+    , 'storage_id'               : 'default_birthplace'
+    , 'description'              : 'The current address of the person'
+    , 'type'                     : 'content'
+    , 'portal_type'              : ( 'Address', )
+    , 'acquired_property_id'     : ( 'text', 'street_address', 'city',
+                                     'zip_code', 'region', 'region_title')
+    , 'acquisition_base_category': ( 'subordination', )
+    , 'acquisition_portal_type'  : ( 'Organisation', )
+    , 'acquisition_copy_value'   : 0
+    , 'acquisition_mask_value'   : 1
+    , 'acquisition_sync_value'   : 0
+    , 'acquisition_accessor_id'  : 'getDefaultBirthplaceValue'
+    , 'acquisition_depends'      : None
+    , 'mode'                     : 'w'
+    },
+  )
diff --git a/bt5/erp5_egov/PropertySheetTemplateItem/CorporateRegistrationCode.py b/bt5/erp5_egov/PropertySheetTemplateItem/EGovOrganisation.py
similarity index 76%
rename from bt5/erp5_egov/PropertySheetTemplateItem/CorporateRegistrationCode.py
rename to bt5/erp5_egov/PropertySheetTemplateItem/EGovOrganisation.py
index 9b24c50ed6..9b5b2099aa 100644
--- a/bt5/erp5_egov/PropertySheetTemplateItem/CorporateRegistrationCode.py
+++ b/bt5/erp5_egov/PropertySheetTemplateItem/EGovOrganisation.py
@@ -1,7 +1,7 @@
 ##############################################################################
 #
 # Copyright (c) 2008-2009 Nexedi SA and Contributors. All Rights Reserved.
-#                         Fabien Morin <fabien@nexedi.com>
+#                 Fabien Morin <fabien@nexedi.com>
 #
 # WARNING: This program as such is intended to be used by professional
 # programmers who take the whole responsability of assessing all potential
@@ -26,16 +26,19 @@
 #
 ##############################################################################
 
-class CorporateRegistrationCode:
+
+
+class EGovOrganisation:
   """
-    A new property to set on Assignment the corporate_registration_code
-    number.
+    Organisation properties and categories specific for egov
   """
 
   _properties = (
-    { 'id'         : 'corporate_registration_code'
-    , 'description': 'RCCM du siege'
-    , 'type'       : 'string'
-    , 'mode'       : 'w'
-    },
-  )
+    # Personnal properties
+    { 'id'         : 'password',
+      'description': 'The password used by ERP5Security',
+      'type'       : 'string',
+      'write_permission' : 'Set own password',
+      'read_permission'  : 'Manage users',
+      'mode'       : 'w' },
+   )
diff --git a/bt5/erp5_egov/PropertySheetTemplateItem/Organisation.py b/bt5/erp5_egov/PropertySheetTemplateItem/Organisation.py
deleted file mode 100644
index 7812f34ea7..0000000000
--- a/bt5/erp5_egov/PropertySheetTemplateItem/Organisation.py
+++ /dev/null
@@ -1,185 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.
-#          Jean-Paul Smets-Solanes <jp@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.
-#
-##############################################################################
-
-
-
-class Organisation:
-  """
-    Organisation properties and categories
-  """
-
-  _properties = (
-    # Personnal properties
-    { 'id'         : 'password',
-      'description': 'The password used by ERP5Security',
-      'type'       : 'string',
-      'write_permission' : 'Set own password',
-      'read_permission'  : 'Manage users',
-      'mode'       : 'w' },
-    { 'id'          : 'corporate_name',
-      'description' : 'The official name of this organisation',
-      'type'        : 'string',
-      'mode'        : 'w' },
-    { 'id'          : 'social_capital',
-      'description' : 'The social capital of this organisation',
-      'type'        : 'int',
-      'mode'        : 'w' },
-    { 'id'          : 'social_capital_currency_id',
-      'description' : "The currency in which the social capital is expressed",
-      'type'        : 'string',
-      'portal_type' : ('Currency'),
-      'acquisition_base_category' : ('price_currency'),
-      'acquisition_portal_type'   : ('Currency'),
-      'acquisition_copy_value'    : 0,
-      'acquisition_mask_value'    : 1,
-      'acquisition_sync_value'    : 0,
-      'acquisition_accessor_id'   : 'getId',
-      'mode'        : 'w' },
-    { 'id'          : 'social_capital_currency_title',
-      'description' : "The currency in which the social capital is expressed",
-      'type'        : 'string',
-      'portal_type' : ('Currency'),
-      'acquisition_base_category' : ('price_currency'),
-      'acquisition_portal_type'   : ('Currency'),
-      'acquisition_copy_value'    : 0,
-      'acquisition_mask_value'    : 1,
-      'acquisition_sync_value'    : 0,
-      'acquisition_accessor_id'   : 'getTitle',
-      'mode'        : 'w' },
-    { 'id'          : 'activity_code',
-      'description' : 'The activity code of this organisation',
-      'type'        : 'string',
-      'mode'        : 'w' },
-    { 'id'          : 'geographic_incorporate_code',
-      'description' : 'The geographic incorporate code of this organisation, sometimes derivated from corporate code',
-      'type'        : 'string',
-      'mode'        : 'w' },
-    { 'id'          : 'vat_code',
-      'description' : 'The VAT (Value Added Tax) code of this organisation',
-      'type'        : 'string',
-      'mode'        : 'w' },
-    { 'id'          : 'social_code',
-      'description' : 'The social code of this organisation',
-      'type'        : 'string',
-      'mode'        : 'w' },
-
-    # Acquisition
-    { 'id'          : 'address',
-      'storage_id'  : 'default_address',
-      'description' : 'The default address of this organisations',
-      'type'        : 'content',
-      'portal_type' : ('Address'),
-      'acquired_property_id'      : ( 'text', 'street_address', 'city',
-                                     'zip_code', 'region', 'region_title'),
-      'acquisition_base_category' : ('region', ),
-      'acquisition_portal_type'   : ('Category',),
-      'acquisition_copy_value'    : 0,
-      'acquisition_mask_value'    : 1,
-      'acquisition_sync_value'    : 0,
-      'acquisition_accessor_id'   : 'getDefaultAddressValue',
-      'acquisition_depends'       : None,
-      'mode'        : 'w' },
-    { 'id'          : 'telephone',
-      'storage_id'  : 'default_telephone',
-      'description' : 'The default phone for this organisation',
-      'type'        : 'content',
-      'portal_type' : ('Telephone'),
-      'acquired_property_id'      : ( 'text', 'telephone_number' ),
-      'acquisition_base_category' : ('region', ),
-      'acquisition_portal_type'   : ('Category',),
-      'acquisition_copy_value'    : 0,
-      'acquisition_mask_value'    : 1,
-      'acquisition_sync_value'    : 0,
-      'acquisition_accessor_id'   : 'getDefaultTelephoneValue',
-      'acquisition_depends'       : None,
-      'mode'        : 'w' },
-    { 'id'          : 'mobile_telephone',
-      'storage_id'  : 'mobile_telephone',
-      'description' : 'A default mobile phone for this organisation',
-      'type'        : 'content',
-      'portal_type' : ('Telephone'),
-      'acquired_property_id'      : ( 'text', 'telephone_number' ),
-      'acquisition_base_category' : ('region', ),
-      'acquisition_portal_type'   : ('Category',),
-      'acquisition_copy_value'    : 0,
-      'acquisition_mask_value'    : 1,
-      'acquisition_sync_value'    : 0,
-      'acquisition_accessor_id'   : 'getDefaultMobileTelephoneValue',
-      'acquisition_depends'       : None,
-      'mode'        : 'w' },
-    { 'id'          : 'fax',
-      'storage_id'  : 'default_fax',
-      'description' : 'The defaut fax phone number for this organisation',
-      'type'        : 'content',
-      'portal_type' : ('Fax'),
-      'acquired_property_id'      : ( 'text', 'telephone_number' ),
-      'acquisition_base_category' : ('region', ),
-      'acquisition_portal_type'   : ('Category',),
-      'acquisition_copy_value'    : 0,
-      'acquisition_mask_value'    : 1,
-      'acquisition_sync_value'    : 0,
-      'acquisition_accessor_id'   : 'getDefaultFaxValue',
-      'acquisition_depends'       : None,
-      'mode'        : 'w' },
-    { 'id'          : 'email',
-      'storage_id'  : 'default_email',
-      'description' : 'The default email address for this organisation',
-      'type'        : 'content',
-      'portal_type' : ('Email'),
-      'acquired_property_id'      : ( 'text', ),
-      'acquisition_base_category' : ('region', ),
-      'acquisition_portal_type'   : ('Category',),
-      'acquisition_copy_value'    : 0,
-      'acquisition_mask_value'    : 1,
-      'acquisition_sync_value'    : 0,
-      'acquisition_accessor_id'   : 'getDefaultEmailValue',
-      'acquisition_depends'       : None,
-      'mode'        : 'w' },
-    { 'id'          : 'alternate_email',
-      'storage_id'  : 'alternate_email',
-      'description' : 'An alternate email address for this organisation',
-      'type'        : 'content',
-      'portal_type' : ('Email'),
-      'acquired_property_id'      : ( 'text', ),
-      'acquisition_base_category' : ('region', ),
-      'acquisition_portal_type'   : ('Category',),
-      'acquisition_copy_value'    : 0,
-      'acquisition_mask_value'    : 1,
-      'acquisition_sync_value'    : 0,
-      'acquisition_accessor_id'   : 'getDefaultAlternateEmailValue',
-      'acquisition_depends'       : None,
-      'mode'        : 'w' },
-    # Amortisation
-    { 'id'          : 'financial_year_stop_date',
-      'description' : 'The date which ends the organisation financial year',
-      'type'        : 'date',
-      'mode'        : 'w' },
-   )
-
-  _categories = ( 'role', 'group', 'activity', 'skill', 'market_segment', 'region',
-                  'social_form', 'function', 'price_currency', 'economical_class', 'site', )
diff --git a/bt5/erp5_egov/bt/revision b/bt5/erp5_egov/bt/revision
index a14c1ee5ab..cd004727f2 100644
--- a/bt5/erp5_egov/bt/revision
+++ b/bt5/erp5_egov/bt/revision
@@ -1 +1 @@
-180
\ No newline at end of file
+182
\ No newline at end of file
diff --git a/bt5/erp5_egov/bt/template_property_sheet_id_list b/bt5/erp5_egov/bt/template_property_sheet_id_list
index 4bcdda00a9..5b5aefea9d 100644
--- a/bt5/erp5_egov/bt/template_property_sheet_id_list
+++ b/bt5/erp5_egov/bt/template_property_sheet_id_list
@@ -1,2 +1,2 @@
-Organisation
-CorporateRegistrationCode
\ No newline at end of file
+EGovOrganisation
+EGovGenericProperties
\ No newline at end of file
-- 
2.30.9