summaryrefslogtreecommitdiff
path: root/ishtar_common
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common')
-rw-r--r--ishtar_common/migrations/0001_initial.py1209
-rw-r--r--ishtar_common/models.py2
-rw-r--r--ishtar_common/old_migrations/0001_initial.py408
-rw-r--r--ishtar_common/old_migrations/0002_auto__chg_field_person_surname.py (renamed from ishtar_common/migrations/0002_auto__chg_field_person_surname.py)0
-rw-r--r--ishtar_common/old_migrations/0003_auto__del_field_person_person_type.py (renamed from ishtar_common/migrations/0003_auto__del_field_person_person_type.py)0
-rw-r--r--ishtar_common/old_migrations/0004_auto.py (renamed from ishtar_common/migrations/0004_auto.py)0
-rw-r--r--ishtar_common/old_migrations/0005_auto__add_documenttemplate.py (renamed from ishtar_common/migrations/0005_auto__add_documenttemplate.py)0
-rw-r--r--ishtar_common/old_migrations/0006_auto__chg_field_organization_name__chg_field_historicalorganization_na.py (renamed from ishtar_common/migrations/0006_auto__chg_field_organization_name__chg_field_historicalorganization_na.py)0
-rw-r--r--ishtar_common/old_migrations/0007_auto__add_field_organization_history_creator__add_field_historicalorga.py (renamed from ishtar_common/migrations/0007_auto__add_field_organization_history_creator__add_field_historicalorga.py)0
-rw-r--r--ishtar_common/old_migrations/0008_init_history_creator.py (renamed from ishtar_common/migrations/0008_init_history_creator.py)0
-rw-r--r--ishtar_common/old_migrations/0009_auto__add_field_organization_email__add_field_historicalorganization_e.py (renamed from ishtar_common/migrations/0009_auto__add_field_organization_email__add_field_historicalorganization_e.py)0
-rw-r--r--ishtar_common/old_migrations/0010_auto__del_wizardstep__del_wizard__add_globalvar__chg_field_person_atta.py (renamed from ishtar_common/migrations/0010_auto__del_wizardstep__del_wizard__add_globalvar__chg_field_person_atta.py)0
-rw-r--r--ishtar_common/old_migrations/0011_auto__chg_field_person_surname__chg_field_person_name.py (renamed from ishtar_common/migrations/0011_auto__chg_field_person_surname__chg_field_person_name.py)0
-rw-r--r--ishtar_common/old_migrations/0012_auto__add_field_person_raw_name__chg_field_person_name.py (renamed from ishtar_common/migrations/0012_auto__add_field_person_raw_name__chg_field_person_name.py)0
-rw-r--r--ishtar_common/old_migrations/0013_auto__add_field_organization_merge_key__add_field_historicalorganizati.py (renamed from ishtar_common/migrations/0013_auto__add_field_organization_merge_key__add_field_historicalorganizati.py)0
-rw-r--r--ishtar_common/old_migrations/0014_auto__chg_field_organization_history_creator__chg_field_organization_h.py (renamed from ishtar_common/migrations/0014_auto__chg_field_organization_history_creator__chg_field_organization_h.py)0
-rw-r--r--ishtar_common/old_migrations/0015_auto__chg_field_organization_town__chg_field_historicalorganization_to.py (renamed from ishtar_common/migrations/0015_auto__chg_field_organization_town__chg_field_historicalorganization_to.py)0
-rw-r--r--ishtar_common/old_migrations/0016_auto__add_import.py (renamed from ishtar_common/migrations/0016_auto__add_import.py)0
-rw-r--r--ishtar_common/old_migrations/0017_auto__add_supporttype__add_format.py (renamed from ishtar_common/migrations/0017_auto__add_supporttype__add_format.py)0
-rw-r--r--ishtar_common/old_migrations/0018_auto__add_itemkey.py (renamed from ishtar_common/migrations/0018_auto__add_itemkey.py)0
-rw-r--r--ishtar_common/old_migrations/0019_auto__add_field_itemkey_importer.py (renamed from ishtar_common/migrations/0019_auto__add_field_itemkey_importer.py)0
-rw-r--r--ishtar_common/old_migrations/0020_auto__chg_field_person_title.py (renamed from ishtar_common/migrations/0020_auto__chg_field_person_title.py)0
-rw-r--r--ishtar_common/old_migrations/0021_auto__add_importerdefault__add_importertype__add_importtarget__add_for.py (renamed from ishtar_common/migrations/0021_auto__add_importerdefault__add_importertype__add_importtarget__add_for.py)0
-rw-r--r--ishtar_common/old_migrations/0022_auto__add_field_import_importer_type.py (renamed from ishtar_common/migrations/0022_auto__add_field_import_importer_type.py)0
-rw-r--r--ishtar_common/old_migrations/0023_auto__add_importerdefaultvalues__del_field_importerdefault_value.py (renamed from ishtar_common/migrations/0023_auto__add_importerdefaultvalues__del_field_importerdefault_value.py)0
-rw-r--r--ishtar_common/old_migrations/0024_auto__add_importerduplicatefield__chg_field_importerdefault_target__ad.py (renamed from ishtar_common/migrations/0024_auto__add_importerduplicatefield__chg_field_importerdefault_target__ad.py)0
-rw-r--r--ishtar_common/old_migrations/0025_auto__add_unique_formatertype_formater_type_many_split_options.py (renamed from ishtar_common/migrations/0025_auto__add_unique_formatertype_formater_type_many_split_options.py)0
-rw-r--r--ishtar_common/old_migrations/0026_auto__add_targetkey__add_unique_targetkey_target_value__add_field_impo.py (renamed from ishtar_common/migrations/0026_auto__add_targetkey__add_unique_targetkey_target_value__add_field_impo.py)0
-rw-r--r--ishtar_common/old_migrations/0027_auto__chg_field_targetkey_target.py (renamed from ishtar_common/migrations/0027_auto__chg_field_targetkey_target.py)0
-rw-r--r--ishtar_common/old_migrations/0028_auto__chg_field_targetkey_key__chg_field_targetkey_value.py (renamed from ishtar_common/migrations/0028_auto__chg_field_targetkey_key__chg_field_targetkey_value.py)0
-rw-r--r--ishtar_common/old_migrations/0029_auto.py (renamed from ishtar_common/migrations/0029_auto.py)0
-rw-r--r--ishtar_common/old_migrations/0030_auto__add_state__chg_field_sourcetype_txt_idx__chg_field_authortype_tx.py (renamed from ishtar_common/migrations/0030_auto__add_state__chg_field_sourcetype_txt_idx__chg_field_authortype_tx.py)0
-rw-r--r--ishtar_common/old_migrations/0031_auto__del_unique_targetkey_target_value__add_unique_targetkey_target_k.py (renamed from ishtar_common/migrations/0031_auto__del_unique_targetkey_target_value__add_unique_targetkey_target_k.py)0
-rw-r--r--ishtar_common/old_migrations/0033_auto__add_field_targetkey_associated_import__add_field_targetkey_assoc.py (renamed from ishtar_common/migrations/0033_auto__add_field_targetkey_associated_import__add_field_targetkey_assoc.py)0
-rw-r--r--ishtar_common/old_migrations/0034_auto__add_field_import_encoding.py (renamed from ishtar_common/migrations/0034_auto__add_field_import_encoding.py)0
-rw-r--r--ishtar_common/old_migrations/0035_auto__add_field_importtarget_force_new__add_field_importerduplicatefie.py (renamed from ishtar_common/migrations/0035_auto__add_field_importtarget_force_new__add_field_importerduplicatefie.py)0
-rw-r--r--ishtar_common/old_migrations/0036_auto__add_field_import_imported_images.py (renamed from ishtar_common/migrations/0036_auto__add_field_import_imported_images.py)0
-rw-r--r--ishtar_common/old_migrations/0037_auto__add_field_importertype_slug.py (renamed from ishtar_common/migrations/0037_auto__add_field_importertype_slug.py)0
-rw-r--r--ishtar_common/old_migrations/0038_auto__add_field_importtarget_comment.py (renamed from ishtar_common/migrations/0038_auto__add_field_importtarget_comment.py)0
-rw-r--r--ishtar_common/old_migrations/0039_auto__add_field_import_match_file.py (renamed from ishtar_common/migrations/0039_auto__add_field_import_match_file.py)0
-rw-r--r--ishtar_common/old_migrations/0040_auto__chg_field_person_title.py (renamed from ishtar_common/migrations/0040_auto__chg_field_person_title.py)0
-rw-r--r--ishtar_common/old_migrations/0041_auto__add_field_importertype_unicity_keys__add_field_importtarget_conc.py (renamed from ishtar_common/migrations/0041_auto__add_field_importertype_unicity_keys__add_field_importtarget_conc.py)0
-rw-r--r--ishtar_common/old_migrations/0042_auto__add_field_importtarget_concat_str__add_unique_importercolumn_col.py (renamed from ishtar_common/migrations/0042_auto__add_field_importtarget_concat_str__add_unique_importercolumn_col.py)0
-rw-r--r--ishtar_common/old_migrations/0043_auto__add_field_importerduplicatefield_concat__add_field_importerdupli.py (renamed from ishtar_common/migrations/0043_auto__add_field_importerduplicatefield_concat__add_field_importerdupli.py)0
-rw-r--r--ishtar_common/old_migrations/0044_auto__add_operationtype.py (renamed from ishtar_common/migrations/0044_auto__add_operationtype.py)0
-rw-r--r--ishtar_common/old_migrations/0045_auto__chg_field_person_merge_key__chg_field_historicalorganization_mer.py (renamed from ishtar_common/migrations/0045_auto__chg_field_person_merge_key__chg_field_historicalorganization_mer.py)0
-rw-r--r--ishtar_common/old_migrations/0046_auto__add_field_person_exclude_from_merge__add_field_historicalorganiz.py (renamed from ishtar_common/migrations/0046_auto__add_field_person_exclude_from_merge__add_field_historicalorganiz.py)0
-rw-r--r--ishtar_common/old_migrations/0047_auto__chg_field_person_exclude_from_merge__chg_field_historicalorganiz.py (renamed from ishtar_common/migrations/0047_auto__chg_field_person_exclude_from_merge__chg_field_historicalorganiz.py)0
-rw-r--r--ishtar_common/old_migrations/0048_auto__add_ishtarsiteprofile.py (renamed from ishtar_common/migrations/0048_auto__add_ishtarsiteprofile.py)0
-rw-r--r--ishtar_common/old_migrations/0049_auto__add_field_person_alt_address__add_field_person_alt_address_compl.py (renamed from ishtar_common/migrations/0049_auto__add_field_person_alt_address__add_field_person_alt_address_compl.py)0
-rw-r--r--ishtar_common/old_migrations/0050_auto__chg_field_person_phone_desc3__chg_field_person_phone_desc2__chg_.py (renamed from ishtar_common/migrations/0050_auto__chg_field_person_phone_desc3__chg_field_person_phone_desc2__chg_.py)0
-rw-r--r--ishtar_common/old_migrations/0051_auto__add_field_ishtarsiteprofile_homepage.py (renamed from ishtar_common/migrations/0051_auto__add_field_ishtarsiteprofile_homepage.py)0
-rw-r--r--ishtar_common/old_migrations/0052_auto__add_field_ishtarsiteprofile_file_external_id__add_field_ishtarsi.py (renamed from ishtar_common/migrations/0052_auto__add_field_ishtarsiteprofile_file_external_id__add_field_ishtarsi.py)0
-rw-r--r--ishtar_common/old_migrations/0053_auto__add_field_ishtarsiteprofile_currency.py (renamed from ishtar_common/migrations/0053_auto__add_field_ishtarsiteprofile_currency.py)0
-rw-r--r--ishtar_common/old_migrations/0054_auto__add_field_ishtarsiteprofile_person_raw_name.py (renamed from ishtar_common/migrations/0054_auto__add_field_ishtarsiteprofile_person_raw_name.py)0
-rw-r--r--ishtar_common/old_migrations/0055_auto.py (renamed from ishtar_common/migrations/0055_auto.py)0
-rw-r--r--ishtar_common/old_migrations/0056_auto__add_titletype__add_field_person_pretitle.py (renamed from ishtar_common/migrations/0056_auto__add_titletype__add_field_person_pretitle.py)0
-rw-r--r--ishtar_common/old_migrations/0057_rename_pretitle_old_title.py (renamed from ishtar_common/migrations/0057_rename_pretitle_old_title.py)0
-rw-r--r--ishtar_common/old_migrations/0058_generate_title.py (renamed from ishtar_common/migrations/0058_generate_title.py)0
-rw-r--r--ishtar_common/old_migrations/0059_rename_exc_from_merge_to_archived.py (renamed from ishtar_common/migrations/0059_rename_exc_from_merge_to_archived.py)0
-rw-r--r--ishtar_common/old_migrations/0060_auto__add_historicalperson.py (renamed from ishtar_common/migrations/0060_auto__add_historicalperson.py)0
-rw-r--r--ishtar_common/old_migrations/0061_auto__add_field_historicalperson_salutation__add_field_person_salutati.py (renamed from ishtar_common/migrations/0061_auto__add_field_historicalperson_salutation__add_field_person_salutati.py)0
-rw-r--r--ishtar_common/old_migrations/0062_remove_ishtar_local_prefix.py (renamed from ishtar_common/migrations/0062_remove_ishtar_local_prefix.py)0
-rw-r--r--ishtar_common/old_migrations/0063_auto__add_field_ishtaruser_advanced_shortcut_menu.py (renamed from ishtar_common/migrations/0063_auto__add_field_ishtaruser_advanced_shortcut_menu.py)0
-rw-r--r--ishtar_common/old_migrations/0064_auto__add_field_importercolumn_label.py (renamed from ishtar_common/migrations/0064_auto__add_field_importercolumn_label.py)0
-rw-r--r--ishtar_common/old_migrations/0065_auto__add_spatialreferencesystem__add_field_ishtarsiteprofile_mapping.py (renamed from ishtar_common/migrations/0065_auto__add_spatialreferencesystem__add_field_ishtarsiteprofile_mapping.py)0
-rw-r--r--ishtar_common/old_migrations/0066_auto__add_field_ishtarsiteprofile_base_color__add_field_ishtarsiteprof.py (renamed from ishtar_common/migrations/0066_auto__add_field_ishtarsiteprofile_base_color__add_field_ishtarsiteprof.py)0
-rw-r--r--ishtar_common/old_migrations/0067_auto__add_field_ishtarsiteprofile_container_external_id__add_field_ish.py (renamed from ishtar_common/migrations/0067_auto__add_field_ishtarsiteprofile_container_external_id__add_field_ish.py)0
-rw-r--r--ishtar_common/old_migrations/0068_auto__add_field_spatialreferencesystem_auth_name.py (renamed from ishtar_common/migrations/0068_auto__add_field_spatialreferencesystem_auth_name.py)0
-rw-r--r--ishtar_common/old_migrations/0069_auto__chg_field_import_error_file__chg_field_import_match_file__chg_fi.py (renamed from ishtar_common/migrations/0069_auto__chg_field_import_error_file__chg_field_import_match_file__chg_fi.py)0
-rw-r--r--ishtar_common/old_migrations/0070_auto__add_importermodel__add_field_importertype_new_associated_models.py (renamed from ishtar_common/migrations/0070_auto__add_importermodel__add_field_importertype_new_associated_models.py)0
-rw-r--r--ishtar_common/old_migrations/0071_migrate_importermodels.py (renamed from ishtar_common/migrations/0071_migrate_importermodels.py)0
-rw-r--r--ishtar_common/old_migrations/0072_auto__del_field_importertype_new_associated_models__chg_field_importer.py (renamed from ishtar_common/migrations/0072_auto__del_field_importertype_new_associated_models__chg_field_importer.py)0
-rw-r--r--ishtar_common/old_migrations/0073_auto__add_field_importercolumn_export_field_name.py (renamed from ishtar_common/migrations/0073_auto__add_field_importercolumn_export_field_name.py)0
-rw-r--r--ishtar_common/old_migrations/0074_auto__add_field_import_name.py (renamed from ishtar_common/migrations/0074_auto__add_field_import_name.py)0
-rw-r--r--ishtar_common/old_migrations/0075_auto__add_field_authortype_order.py (renamed from ishtar_common/migrations/0075_auto__add_field_authortype_order.py)0
-rw-r--r--ishtar_common/old_migrations/__init__.py0
-rw-r--r--ishtar_common/utils.py4
78 files changed, 1215 insertions, 408 deletions
diff --git a/ishtar_common/migrations/0001_initial.py b/ishtar_common/migrations/0001_initial.py
index fc22881bc..94f6bb415 100644
--- a/ishtar_common/migrations/0001_initial.py
+++ b/ishtar_common/migrations/0001_initial.py
@@ -1,408 +1,803 @@
# -*- coding: utf-8 -*-
-import datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
- def forwards(self, orm):
- # Adding model 'Wizard'
- db.create_table('ishtar_common_wizard', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('url_name', self.gf('django.db.models.fields.CharField')(unique=True, max_length=128)),
- ))
- db.send_create_signal('ishtar_common', ['Wizard'])
-
- # Adding model 'WizardStep'
- db.create_table('ishtar_common_wizardstep', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('order', self.gf('django.db.models.fields.IntegerField')()),
- ('wizard', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Wizard'])),
- ('url_name', self.gf('django.db.models.fields.CharField')(max_length=128)),
- ('name', self.gf('django.db.models.fields.CharField')(max_length=128)),
- ))
- db.send_create_signal('ishtar_common', ['WizardStep'])
-
- # Adding model 'Department'
- db.create_table('ishtar_common_department', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('label', self.gf('django.db.models.fields.CharField')(max_length=30)),
- ('number', self.gf('django.db.models.fields.CharField')(unique=True, max_length=3)),
- ))
- db.send_create_signal('ishtar_common', ['Department'])
-
- # Adding model 'OrganizationType'
- db.create_table('ishtar_common_organizationtype', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
- ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
- ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
- ))
- db.send_create_signal('ishtar_common', ['OrganizationType'])
-
- # Adding model 'HistoricalOrganization'
- db.create_table('ishtar_common_historicalorganization', (
- ('id', self.gf('django.db.models.fields.IntegerField')(db_index=True, blank=True)),
- ('history_modifier_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
- ('address', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('address_complement', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('postal_code', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)),
- ('town', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),
- ('country', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),
- ('phone', self.gf('django.db.models.fields.CharField')(max_length=18, null=True, blank=True)),
- ('mobile_phone', self.gf('django.db.models.fields.CharField')(max_length=18, null=True, blank=True)),
- ('name', self.gf('django.db.models.fields.CharField')(max_length=100)),
- ('organization_type_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
- ('history_id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('history_date', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
- ('history_user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True)),
- ('history_type', self.gf('django.db.models.fields.CharField')(max_length=1)),
- ))
- db.send_create_signal('ishtar_common', ['HistoricalOrganization'])
-
- # Adding model 'Organization'
- db.create_table('ishtar_common_organization', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('history_modifier', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['auth.User'])),
- ('address', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('address_complement', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('postal_code', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)),
- ('town', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),
- ('country', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),
- ('phone', self.gf('django.db.models.fields.CharField')(max_length=18, null=True, blank=True)),
- ('mobile_phone', self.gf('django.db.models.fields.CharField')(max_length=18, null=True, blank=True)),
- ('name', self.gf('django.db.models.fields.CharField')(max_length=100)),
- ('organization_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.OrganizationType'])),
- ))
- db.send_create_signal('ishtar_common', ['Organization'])
-
- # Adding model 'PersonType'
- db.create_table('ishtar_common_persontype', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
- ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
- ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
- ))
- db.send_create_signal('ishtar_common', ['PersonType'])
-
- # Adding M2M table for field rights on 'PersonType'
- db.create_table('ishtar_common_persontype_rights', (
- ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
- ('persontype', models.ForeignKey(orm['ishtar_common.persontype'], null=False)),
- ('wizardstep', models.ForeignKey(orm['ishtar_common.wizardstep'], null=False))
- ))
- db.create_unique('ishtar_common_persontype_rights', ['persontype_id', 'wizardstep_id'])
-
- # Adding model 'Person'
- db.create_table('ishtar_common_person', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('history_modifier', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['auth.User'])),
- ('address', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('address_complement', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('postal_code', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)),
- ('town', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),
- ('country', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),
- ('phone', self.gf('django.db.models.fields.CharField')(max_length=18, null=True, blank=True)),
- ('mobile_phone', self.gf('django.db.models.fields.CharField')(max_length=18, null=True, blank=True)),
- ('title', self.gf('django.db.models.fields.CharField')(max_length=2)),
- ('surname', self.gf('django.db.models.fields.CharField')(max_length=20)),
- ('name', self.gf('django.db.models.fields.CharField')(max_length=30)),
- ('email', self.gf('django.db.models.fields.CharField')(max_length=40, null=True, blank=True)),
- ('person_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.PersonType'])),
- ('attached_to', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Organization'], null=True, blank=True)),
- ))
- db.send_create_signal('ishtar_common', ['Person'])
-
- # Adding model 'IshtarUser'
- db.create_table('ishtar_common_ishtaruser', (
- ('user_ptr', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['auth.User'], unique=True, primary_key=True)),
- ('person', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Person'], unique=True)),
- ))
- db.send_create_signal('ishtar_common', ['IshtarUser'])
-
- # Adding model 'AuthorType'
- db.create_table('ishtar_common_authortype', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
- ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
- ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
- ))
- db.send_create_signal('ishtar_common', ['AuthorType'])
-
- # Adding model 'Author'
- db.create_table('ishtar_common_author', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('person', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Person'])),
- ('author_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.AuthorType'])),
- ))
- db.send_create_signal('ishtar_common', ['Author'])
-
- # Adding model 'SourceType'
- db.create_table('ishtar_common_sourcetype', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
- ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
- ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
- ))
- db.send_create_signal('ishtar_common', ['SourceType'])
-
- # Adding model 'Arrondissement'
- db.create_table('ishtar_common_arrondissement', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('name', self.gf('django.db.models.fields.CharField')(max_length=30)),
- ('department', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Department'])),
- ))
- db.send_create_signal('ishtar_common', ['Arrondissement'])
-
- # Adding model 'Canton'
- db.create_table('ishtar_common_canton', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('name', self.gf('django.db.models.fields.CharField')(max_length=30)),
- ('arrondissement', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Arrondissement'])),
- ))
- db.send_create_signal('ishtar_common', ['Canton'])
-
- # Adding model 'Town'
- db.create_table('ishtar_common_town', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('name', self.gf('django.db.models.fields.CharField')(max_length=100)),
- ('surface', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
- ('center', self.gf('django.contrib.gis.db.models.fields.PointField')(srid=27572, null=True, blank=True)),
- ('numero_insee', self.gf('django.db.models.fields.CharField')(unique=True, max_length=6)),
- ('departement', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Department'], null=True, blank=True)),
- ('canton', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Canton'], null=True, blank=True)),
- ))
- db.send_create_signal('ishtar_common', ['Town'])
-
-
- def backwards(self, orm):
- # Deleting model 'Wizard'
- db.delete_table('ishtar_common_wizard')
-
- # Deleting model 'WizardStep'
- db.delete_table('ishtar_common_wizardstep')
-
- # Deleting model 'Department'
- db.delete_table('ishtar_common_department')
-
- # Deleting model 'OrganizationType'
- db.delete_table('ishtar_common_organizationtype')
-
- # Deleting model 'HistoricalOrganization'
- db.delete_table('ishtar_common_historicalorganization')
-
- # Deleting model 'Organization'
- db.delete_table('ishtar_common_organization')
-
- # Deleting model 'PersonType'
- db.delete_table('ishtar_common_persontype')
-
- # Removing M2M table for field rights on 'PersonType'
- db.delete_table('ishtar_common_persontype_rights')
-
- # Deleting model 'Person'
- db.delete_table('ishtar_common_person')
-
- # Deleting model 'IshtarUser'
- db.delete_table('ishtar_common_ishtaruser')
-
- # Deleting model 'AuthorType'
- db.delete_table('ishtar_common_authortype')
-
- # Deleting model 'Author'
- db.delete_table('ishtar_common_author')
-
- # Deleting model 'SourceType'
- db.delete_table('ishtar_common_sourcetype')
-
- # Deleting model 'Arrondissement'
- db.delete_table('ishtar_common_arrondissement')
-
- # Deleting model 'Canton'
- db.delete_table('ishtar_common_canton')
-
- # Deleting model 'Town'
- db.delete_table('ishtar_common_town')
-
-
- models = {
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- 'contenttypes.contenttype': {
- 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
- 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
- },
- 'ishtar_common.arrondissement': {
- 'Meta': {'object_name': 'Arrondissement'},
- 'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '30'})
- },
- 'ishtar_common.author': {
- 'Meta': {'object_name': 'Author'},
- 'author_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.AuthorType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'person': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Person']"})
- },
- 'ishtar_common.authortype': {
- 'Meta': {'object_name': 'AuthorType'},
- 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- 'ishtar_common.canton': {
- 'Meta': {'object_name': 'Canton'},
- 'arrondissement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Arrondissement']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '30'})
- },
- 'ishtar_common.department': {
- 'Meta': {'ordering': "['number']", 'object_name': 'Department'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'label': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
- 'number': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'})
- },
- 'ishtar_common.historicalorganization': {
- 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalOrganization'},
- 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
- 'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
- 'history_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}),
- 'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}),
- 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'organization_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
- 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
- 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
- 'town': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'})
- },
- 'ishtar_common.ishtaruser': {
- 'Meta': {'object_name': 'IshtarUser', '_ormbases': ['auth.User']},
- 'person': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Person']", 'unique': 'True'}),
- 'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'primary_key': 'True'})
- },
- 'ishtar_common.organization': {
- 'Meta': {'object_name': 'Organization'},
- 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
- 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'organization_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.OrganizationType']"}),
- 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
- 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
- 'town': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'})
- },
- 'ishtar_common.organizationtype': {
- 'Meta': {'object_name': 'OrganizationType'},
- 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- 'ishtar_common.person': {
- 'Meta': {'object_name': 'Person'},
- 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'attached_to': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Organization']", 'null': 'True', 'blank': 'True'}),
- 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
- 'email': ('django.db.models.fields.CharField', [], {'max_length': '40', 'null': 'True', 'blank': 'True'}),
- 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
- 'person_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.PersonType']"}),
- 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
- 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
- 'surname': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '2'}),
- 'town': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'})
- },
- 'ishtar_common.persontype': {
- 'Meta': {'object_name': 'PersonType'},
- 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'rights': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.WizardStep']", 'symmetrical': 'False'}),
- 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- 'ishtar_common.sourcetype': {
- 'Meta': {'object_name': 'SourceType'},
- 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- 'ishtar_common.town': {
- 'Meta': {'ordering': "['numero_insee']", 'object_name': 'Town'},
- 'canton': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Canton']", 'null': 'True', 'blank': 'True'}),
- 'center': ('django.contrib.gis.db.models.fields.PointField', [], {'srid': '27572', 'null': 'True', 'blank': 'True'}),
- 'departement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'numero_insee': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '6'}),
- 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
- },
- 'ishtar_common.wizard': {
- 'Meta': {'ordering': "['url_name']", 'object_name': 'Wizard'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'url_name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'})
- },
- 'ishtar_common.wizardstep': {
- 'Meta': {'ordering': "['wizard', 'order']", 'object_name': 'WizardStep'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'order': ('django.db.models.fields.IntegerField', [], {}),
- 'url_name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'wizard': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Wizard']"})
- }
- }
-
- complete_apps = ['ishtar_common'] \ No newline at end of file
+from __future__ import unicode_literals
+
+from django.db import models, migrations
+import re
+import django.contrib.gis.db.models.fields
+import ishtar_common.models
+import django.contrib.auth.models
+import django.db.models.deletion
+from django.conf import settings
+import django.core.validators
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('contenttypes', '0002_remove_content_type_name'),
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+ ('auth', '0007_auto_20170414_2049'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='Arrondissement',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('name', models.CharField(max_length=30, verbose_name='Nom')),
+ ],
+ ),
+ migrations.CreateModel(
+ name='Author',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ],
+ options={
+ 'ordering': ('author_type__order', 'person__name'),
+ 'verbose_name': 'Author',
+ 'verbose_name_plural': 'Authors',
+ 'permissions': (('view_author', 'Can view all Authors'), ('view_own_author', 'Can view own Author'), ('add_own_author', 'Can add own Author'), ('change_own_author', 'Can change own Author'), ('delete_own_author', 'Can delete own Author')),
+ },
+ ),
+ migrations.CreateModel(
+ name='AuthorType',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('label', models.CharField(max_length=100, verbose_name='Label')),
+ ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])),
+ ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)),
+ ('available', models.BooleanField(default=True, verbose_name='Available')),
+ ('order', models.IntegerField(default=1, verbose_name='Order')),
+ ],
+ options={
+ 'ordering': ['order', 'label'],
+ 'verbose_name': 'Author type',
+ 'verbose_name_plural': 'Author types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='Canton',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('name', models.CharField(max_length=30, verbose_name='Nom')),
+ ('arrondissement', models.ForeignKey(verbose_name='Arrondissement', to='ishtar_common.Arrondissement')),
+ ],
+ ),
+ migrations.CreateModel(
+ name='Department',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('label', models.CharField(max_length=30, verbose_name='Label')),
+ ('number', models.CharField(unique=True, max_length=3, verbose_name='Number')),
+ ],
+ options={
+ 'ordering': ['number'],
+ 'verbose_name': 'Department',
+ 'verbose_name_plural': 'Departments',
+ },
+ ),
+ migrations.CreateModel(
+ name='DocumentTemplate',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('name', models.CharField(max_length=100, verbose_name='Name')),
+ ('template', models.FileField(upload_to=b'upload/templates/', verbose_name='Template')),
+ ('associated_object_name', models.CharField(max_length=100, verbose_name='Associated object', choices=[(b'archaeological_operations.models.AdministrativeAct', 'Administrative Act')])),
+ ('available', models.BooleanField(default=True, verbose_name='Available')),
+ ],
+ options={
+ 'ordering': ['associated_object_name', 'name'],
+ 'verbose_name': 'Document template',
+ 'verbose_name_plural': 'Document templates',
+ },
+ ),
+ migrations.CreateModel(
+ name='Format',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('label', models.CharField(max_length=100, verbose_name='Label')),
+ ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])),
+ ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)),
+ ('available', models.BooleanField(default=True, verbose_name='Available')),
+ ],
+ options={
+ 'ordering': ['label'],
+ 'verbose_name': 'Format type',
+ 'verbose_name_plural': 'Format types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='FormaterType',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('formater_type', models.CharField(max_length=20, verbose_name='Formater type', choices=[(b'IntegerFormater', 'Integer'), (b'FloatFormater', 'Float'), (b'UnicodeFormater', 'String'), (b'DateFormater', 'Date'), (b'TypeFormater', 'Type'), (b'YearFormater', 'Year'), (b'StrToBoolean', 'String to boolean'), (b'FileFormater', 'File'), (b'UnknowType', 'Unknow type')])),
+ ('options', models.CharField(max_length=500, null=True, verbose_name='Options', blank=True)),
+ ('many_split', models.CharField(max_length=10, null=True, verbose_name='Split character(s)', blank=True)),
+ ],
+ options={
+ 'ordering': ('formater_type', 'options'),
+ 'verbose_name': 'Importer - Formater type',
+ 'verbose_name_plural': 'Importer - Formater types',
+ },
+ ),
+ migrations.CreateModel(
+ name='GlobalVar',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('slug', models.SlugField(unique=True, verbose_name='Variable name')),
+ ('description', models.TextField(null=True, verbose_name='Description of the variable', blank=True)),
+ ('value', models.TextField(null=True, verbose_name='Value', blank=True)),
+ ],
+ options={
+ 'ordering': ['slug'],
+ 'verbose_name': 'Global variable',
+ 'verbose_name_plural': 'Global variables',
+ },
+ bases=(models.Model, ishtar_common.models.Cached),
+ ),
+ migrations.CreateModel(
+ name='HistoricalOrganization',
+ fields=[
+ ('id', models.IntegerField(verbose_name='ID', db_index=True, auto_created=True, blank=True)),
+ ('address', models.TextField(null=True, verbose_name='Address', blank=True)),
+ ('address_complement', models.TextField(null=True, verbose_name='Address complement', blank=True)),
+ ('postal_code', models.CharField(max_length=10, null=True, verbose_name='Postal code', blank=True)),
+ ('town', models.CharField(max_length=70, null=True, verbose_name='Town', blank=True)),
+ ('country', models.CharField(max_length=30, null=True, verbose_name='Country', blank=True)),
+ ('alt_address', models.TextField(null=True, verbose_name='Other address: address', blank=True)),
+ ('alt_address_complement', models.TextField(null=True, verbose_name='Other address: address complement', blank=True)),
+ ('alt_postal_code', models.CharField(max_length=10, null=True, verbose_name='Other address: postal code', blank=True)),
+ ('alt_town', models.CharField(max_length=70, null=True, verbose_name='Other address: town', blank=True)),
+ ('alt_country', models.CharField(max_length=30, null=True, verbose_name='Other address: country', blank=True)),
+ ('phone', models.CharField(max_length=18, null=True, verbose_name='Phone', blank=True)),
+ ('phone_desc', models.CharField(max_length=300, null=True, verbose_name='Phone description', blank=True)),
+ ('phone2', models.CharField(max_length=18, null=True, verbose_name='Phone description 2', blank=True)),
+ ('phone_desc2', models.CharField(max_length=300, null=True, verbose_name='Phone description 2', blank=True)),
+ ('phone3', models.CharField(max_length=18, null=True, verbose_name='Phone 3', blank=True)),
+ ('phone_desc3', models.CharField(max_length=300, null=True, verbose_name='Phone description 3', blank=True)),
+ ('raw_phone', models.TextField(null=True, verbose_name='Raw phone', blank=True)),
+ ('mobile_phone', models.CharField(max_length=18, null=True, verbose_name='Mobile phone', blank=True)),
+ ('email', models.EmailField(max_length=300, null=True, verbose_name='Email', blank=True)),
+ ('alt_address_is_prefered', models.BooleanField(default=False, verbose_name='Alternative address is prefered')),
+ ('merge_key', models.TextField(null=True, verbose_name='Merge key', blank=True)),
+ ('archived', models.NullBooleanField(default=False)),
+ ('name', models.CharField(max_length=500, verbose_name='Name')),
+ ('history_id', models.AutoField(serialize=False, primary_key=True)),
+ ('history_date', models.DateTimeField()),
+ ('history_type', models.CharField(max_length=1, choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')])),
+ ],
+ options={
+ 'ordering': ('-history_date', '-history_id'),
+ 'get_latest_by': 'history_date',
+ 'verbose_name': 'historical Organization',
+ },
+ ),
+ migrations.CreateModel(
+ name='HistoricalPerson',
+ fields=[
+ ('id', models.IntegerField(verbose_name='ID', db_index=True, auto_created=True, blank=True)),
+ ('address', models.TextField(null=True, verbose_name='Address', blank=True)),
+ ('address_complement', models.TextField(null=True, verbose_name='Address complement', blank=True)),
+ ('postal_code', models.CharField(max_length=10, null=True, verbose_name='Postal code', blank=True)),
+ ('town', models.CharField(max_length=70, null=True, verbose_name='Town', blank=True)),
+ ('country', models.CharField(max_length=30, null=True, verbose_name='Country', blank=True)),
+ ('alt_address', models.TextField(null=True, verbose_name='Other address: address', blank=True)),
+ ('alt_address_complement', models.TextField(null=True, verbose_name='Other address: address complement', blank=True)),
+ ('alt_postal_code', models.CharField(max_length=10, null=True, verbose_name='Other address: postal code', blank=True)),
+ ('alt_town', models.CharField(max_length=70, null=True, verbose_name='Other address: town', blank=True)),
+ ('alt_country', models.CharField(max_length=30, null=True, verbose_name='Other address: country', blank=True)),
+ ('phone', models.CharField(max_length=18, null=True, verbose_name='Phone', blank=True)),
+ ('phone_desc', models.CharField(max_length=300, null=True, verbose_name='Phone description', blank=True)),
+ ('phone2', models.CharField(max_length=18, null=True, verbose_name='Phone description 2', blank=True)),
+ ('phone_desc2', models.CharField(max_length=300, null=True, verbose_name='Phone description 2', blank=True)),
+ ('phone3', models.CharField(max_length=18, null=True, verbose_name='Phone 3', blank=True)),
+ ('phone_desc3', models.CharField(max_length=300, null=True, verbose_name='Phone description 3', blank=True)),
+ ('raw_phone', models.TextField(null=True, verbose_name='Raw phone', blank=True)),
+ ('mobile_phone', models.CharField(max_length=18, null=True, verbose_name='Mobile phone', blank=True)),
+ ('email', models.EmailField(max_length=300, null=True, verbose_name='Email', blank=True)),
+ ('alt_address_is_prefered', models.BooleanField(default=False, verbose_name='Alternative address is prefered')),
+ ('merge_key', models.TextField(null=True, verbose_name='Merge key', blank=True)),
+ ('archived', models.NullBooleanField(default=False)),
+ ('old_title', models.CharField(blank=True, max_length=100, null=True, verbose_name='Title', choices=[(b'Mr', 'Mr'), (b'Ms', 'Miss'), (b'Mr and Miss', 'Mr and Mrs'), (b'Md', 'Mrs'), (b'Dr', 'Doctor')])),
+ ('salutation', models.CharField(max_length=200, null=True, verbose_name='Salutation', blank=True)),
+ ('surname', models.CharField(max_length=50, null=True, verbose_name='Surname', blank=True)),
+ ('name', models.CharField(max_length=200, null=True, verbose_name='Name', blank=True)),
+ ('raw_name', models.CharField(max_length=300, null=True, verbose_name='Raw name', blank=True)),
+ ('contact_type', models.CharField(max_length=300, null=True, verbose_name='Contact type', blank=True)),
+ ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)),
+ ('history_id', models.AutoField(serialize=False, primary_key=True)),
+ ('history_date', models.DateTimeField()),
+ ('history_type', models.CharField(max_length=1, choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')])),
+ ],
+ options={
+ 'ordering': ('-history_date', '-history_id'),
+ 'get_latest_by': 'history_date',
+ 'verbose_name': 'historical Person',
+ },
+ ),
+ migrations.CreateModel(
+ name='Import',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('name', models.CharField(max_length=500, null=True, verbose_name='Name', blank=True)),
+ ('imported_file', models.FileField(upload_to=b'upload/imports/', max_length=220, verbose_name='Imported file')),
+ ('imported_images', models.FileField(max_length=220, upload_to=b'upload/imports/', null=True, verbose_name='Associated images (zip file)', blank=True)),
+ ('encoding', models.CharField(default=b'utf-8', max_length=15, verbose_name='Encoding', choices=[(b'windows-1252', b'windows-1252'), (b'ISO-8859-15', b'ISO-8859-15'), (b'utf-8', b'utf-8')])),
+ ('skip_lines', models.IntegerField(default=1, verbose_name='Skip lines')),
+ ('error_file', models.FileField(max_length=255, upload_to=b'upload/imports/', null=True, verbose_name='Error file', blank=True)),
+ ('result_file', models.FileField(max_length=255, upload_to=b'upload/imports/', null=True, verbose_name='Result file', blank=True)),
+ ('match_file', models.FileField(max_length=255, upload_to=b'upload/imports/', null=True, verbose_name='Match file', blank=True)),
+ ('state', models.CharField(default=b'C', max_length=2, verbose_name='State', choices=[(b'C', 'Created'), (b'AP', 'Analyse in progress'), (b'A', 'Analysed'), (b'P', 'Import pending'), (b'IP', 'Import in progress'), (b'FE', 'Finished with errors'), (b'F', 'Finished'), (b'AC', 'Archived')])),
+ ('conservative_import', models.BooleanField(default=False, help_text=b'If set to true, do not overload existing values', verbose_name='Conservative import')),
+ ('creation_date', models.DateTimeField(auto_now_add=True, verbose_name='Creation date', null=True)),
+ ('end_date', models.DateTimeField(verbose_name='End date', null=True, editable=False, blank=True)),
+ ('seconds_remaining', models.IntegerField(verbose_name='Remaining seconds', null=True, editable=False, blank=True)),
+ ],
+ options={
+ 'verbose_name': 'Import',
+ 'verbose_name_plural': 'Imports',
+ },
+ ),
+ migrations.CreateModel(
+ name='ImporterColumn',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('label', models.CharField(max_length=200, null=True, verbose_name='Label', blank=True)),
+ ('col_number', models.IntegerField(default=1, verbose_name='Column number')),
+ ('description', models.TextField(null=True, verbose_name='Description', blank=True)),
+ ('required', models.BooleanField(default=False, verbose_name='Required')),
+ ('export_field_name', models.CharField(help_text='Fill this field if the field name is ambiguous for export. For instance: concatenated fields.', max_length=200, null=True, verbose_name='Export field name', blank=True)),
+ ],
+ options={
+ 'ordering': ('importer_type', 'col_number'),
+ 'verbose_name': 'Importer - Column',
+ 'verbose_name_plural': 'Importer - Columns',
+ },
+ ),
+ migrations.CreateModel(
+ name='ImporterDefault',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('target', models.CharField(max_length=500, verbose_name='Target')),
+ ],
+ options={
+ 'verbose_name': 'Importer - Default',
+ 'verbose_name_plural': 'Importer - Defaults',
+ },
+ ),
+ migrations.CreateModel(
+ name='ImporterDefaultValues',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('target', models.CharField(max_length=500, verbose_name='Target')),
+ ('value', models.CharField(max_length=500, verbose_name='Value')),
+ ('default_target', models.ForeignKey(related_name='default_values', to='ishtar_common.ImporterDefault')),
+ ],
+ options={
+ 'verbose_name': 'Importer - Default value',
+ 'verbose_name_plural': 'Importer - Default values',
+ },
+ ),
+ migrations.CreateModel(
+ name='ImporterDuplicateField',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('field_name', models.CharField(max_length=200, null=True, verbose_name='Field name', blank=True)),
+ ('force_new', models.BooleanField(default=False, verbose_name='Force creation of new items')),
+ ('concat', models.BooleanField(default=False, verbose_name='Concatenate with existing')),
+ ('concat_str', models.CharField(max_length=5, null=True, verbose_name='Concatenate character', blank=True)),
+ ('column', models.ForeignKey(related_name='duplicate_fields', to='ishtar_common.ImporterColumn')),
+ ],
+ options={
+ 'verbose_name': 'Importer - Duplicate field',
+ 'verbose_name_plural': 'Importer - Duplicate fields',
+ },
+ ),
+ migrations.CreateModel(
+ name='ImporterModel',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('name', models.CharField(max_length=200, verbose_name='Name')),
+ ('klass', models.CharField(max_length=200, verbose_name='Class name')),
+ ],
+ options={
+ 'ordering': ('name',),
+ 'verbose_name': 'Importer - Model',
+ 'verbose_name_plural': 'Importer - Models',
+ },
+ ),
+ migrations.CreateModel(
+ name='ImporterType',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('name', models.CharField(max_length=100, null=True, verbose_name='Name', blank=True)),
+ ('slug', models.SlugField(null=True, max_length=100, blank=True, unique=True, verbose_name='Slug')),
+ ('description', models.CharField(max_length=500, null=True, verbose_name='Description', blank=True)),
+ ('is_template', models.BooleanField(default=False, verbose_name='Is template')),
+ ('unicity_keys', models.CharField(max_length=500, null=True, verbose_name='Unicity keys (separator ";")', blank=True)),
+ ('associated_models', models.ForeignKey(related_name='+', verbose_name='Associated model', blank=True, to='ishtar_common.ImporterModel', null=True)),
+ ('created_models', models.ManyToManyField(help_text='Leave blank for no restrictions', related_name='+', verbose_name='Models that can accept new items', to='ishtar_common.ImporterModel', blank=True)),
+ ],
+ options={
+ 'ordering': ('name',),
+ 'verbose_name': 'Importer - Type',
+ 'verbose_name_plural': 'Importer - Types',
+ },
+ ),
+ migrations.CreateModel(
+ name='ImportTarget',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('target', models.CharField(max_length=500, verbose_name='Target')),
+ ('force_new', models.BooleanField(default=False, verbose_name='Force creation of new items')),
+ ('concat', models.BooleanField(default=False, verbose_name='Concatenate with existing')),
+ ('concat_str', models.CharField(max_length=5, null=True, verbose_name='Concatenate character', blank=True)),
+ ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)),
+ ('column', models.ForeignKey(related_name='targets', to='ishtar_common.ImporterColumn')),
+ ('formater_type', models.ForeignKey(to='ishtar_common.FormaterType')),
+ ],
+ options={
+ 'verbose_name': 'Importer - Target',
+ 'verbose_name_plural': 'Importer - Targets',
+ },
+ ),
+ migrations.CreateModel(
+ name='IshtarSiteProfile',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('label', models.TextField(verbose_name='Name')),
+ ('slug', models.SlugField(unique=True, verbose_name='Slug')),
+ ('description', models.TextField(null=True, verbose_name='Description', blank=True)),
+ ('base_color', models.CharField(default=b'rgba(0, 0, 0, 0)', max_length=200, verbose_name='CSS color code for base module')),
+ ('files', models.BooleanField(default=False, verbose_name='Files module')),
+ ('files_color', models.CharField(default=b'rgba(0, 32, 210, 0.1)', max_length=200, verbose_name='CSS color code for files module')),
+ ('context_record', models.BooleanField(default=False, verbose_name='Context records module')),
+ ('context_record_color', models.CharField(default=b'rgba(210,200,0,0.2)', max_length=200, verbose_name='CSS color code for context record module')),
+ ('find', models.BooleanField(default=False, help_text='Need context records module', verbose_name='Finds module')),
+ ('find_color', models.CharField(default=b'rgba(210,0,0,0.15)', max_length=200, verbose_name='CSS color code for find module')),
+ ('warehouse', models.BooleanField(default=False, help_text='Need finds module', verbose_name='Warehouses module')),
+ ('warehouse_color', models.CharField(default=b'rgba(10,20,200,0.15)', max_length=200, verbose_name='CSS code for warehouse module')),
+ ('mapping', models.BooleanField(default=False, verbose_name='Mapping module')),
+ ('mapping_color', models.CharField(default=b'rgba(72, 236, 0, 0.15)', max_length=200, verbose_name='CSS code for mapping module')),
+ ('homepage', models.TextField(help_text='Homepage of Ishtar - if not defined a default homepage will appear. Use the markdown syntax. {random_image} can be used to display a random image.', null=True, verbose_name='Home page', blank=True)),
+ ('file_external_id', models.TextField(default=b'{year}-{numeric_reference}', help_text='Formula to manage file external ID. Change this with care. With incorrect formula, the application might be unusable and import of external data can be destructive.', verbose_name='File external id')),
+ ('parcel_external_id', models.TextField(default=b'{associated_file__external_id}{operation__code_patriarche}-{town__numero_insee}-{section}{parcel_number}', help_text='Formula to manage parcel external ID. Change this with care. With incorrect formula, the application might be unusable and import of external data can be destructive.', verbose_name='Parcel external id')),
+ ('context_record_external_id', models.TextField(default=b'{parcel__external_id}-{label}', help_text='Formula to manage context record external ID. Change this with care. With incorrect formula, the application might be unusable and import of external data can be destructive.', verbose_name='Context record external id')),
+ ('base_find_external_id', models.TextField(default=b'{context_record__external_id}-{label}', help_text='Formula to manage base find external ID. Change this with care. With incorrect formula, the application might be unusable and import of external data can be destructive.', verbose_name='Base find external id')),
+ ('find_external_id', models.TextField(default=b'{get_first_base_find__context_record__external_id}-{label}', help_text='Formula to manage find external ID. Change this with care. With incorrect formula, the application might be unusable and import of external data can be destructive.', verbose_name='Find external id')),
+ ('container_external_id', models.TextField(default=b'{responsible__external_id}-{index}', help_text='Formula to manage container external ID. Change this with care. With incorrect formula, the application might be unusable and import of external data can be destructive.', verbose_name='Container external id')),
+ ('warehouse_external_id', models.TextField(default=b'{name|slug}', help_text='Formula to manage warehouse external ID. Change this with care. With incorrect formula, the application might be unusable and import of external data can be destructive.', verbose_name='Warehouse external id')),
+ ('person_raw_name', models.TextField(default=b'{name|upper} {surname}', help_text='Formula to manage person raw_name. Change this with care. With incorrect formula, the application might be unusable and import of external data can be destructive.', verbose_name='Raw name for person')),
+ ('active', models.BooleanField(default=False, verbose_name='Current active')),
+ ('currency', models.CharField(default='\u20ac', max_length=b'5', verbose_name='Currency', choices=[('\u20ac', 'Euro'), ('$', 'US dollar')])),
+ ],
+ options={
+ 'ordering': ['label'],
+ 'verbose_name': 'Ishtar site profile',
+ 'verbose_name_plural': 'Ishtar site profiles',
+ },
+ bases=(models.Model, ishtar_common.models.Cached),
+ ),
+ migrations.CreateModel(
+ name='IshtarUser',
+ fields=[
+ ('user_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to=settings.AUTH_USER_MODEL)),
+ ('advanced_shortcut_menu', models.BooleanField(default=False, verbose_name='Advanced shortcut menu')),
+ ],
+ options={
+ 'verbose_name': 'Ishtar user',
+ 'verbose_name_plural': 'Ishtar users',
+ },
+ bases=('auth.user',),
+ managers=[
+ (b'objects', django.contrib.auth.models.UserManager()),
+ ],
+ ),
+ migrations.CreateModel(
+ name='ItemKey',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('key', models.CharField(max_length=100, verbose_name='Key')),
+ ('object_id', models.PositiveIntegerField()),
+ ('content_type', models.ForeignKey(to='contenttypes.ContentType')),
+ ('importer', models.ForeignKey(blank=True, to='ishtar_common.Import', help_text='Specific key to an import', null=True)),
+ ],
+ ),
+ migrations.CreateModel(
+ name='OperationType',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('label', models.CharField(max_length=100, verbose_name='Label')),
+ ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])),
+ ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)),
+ ('available', models.BooleanField(default=True, verbose_name='Available')),
+ ('order', models.IntegerField(default=1, verbose_name='Order')),
+ ('preventive', models.BooleanField(default=True, verbose_name='Is preventive')),
+ ],
+ options={
+ 'ordering': ['-preventive', 'order', 'label'],
+ 'verbose_name': 'Operation type',
+ 'verbose_name_plural': 'Operation types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='Organization',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('address', models.TextField(null=True, verbose_name='Address', blank=True)),
+ ('address_complement', models.TextField(null=True, verbose_name='Address complement', blank=True)),
+ ('postal_code', models.CharField(max_length=10, null=True, verbose_name='Postal code', blank=True)),
+ ('town', models.CharField(max_length=70, null=True, verbose_name='Town', blank=True)),
+ ('country', models.CharField(max_length=30, null=True, verbose_name='Country', blank=True)),
+ ('alt_address', models.TextField(null=True, verbose_name='Other address: address', blank=True)),
+ ('alt_address_complement', models.TextField(null=True, verbose_name='Other address: address complement', blank=True)),
+ ('alt_postal_code', models.CharField(max_length=10, null=True, verbose_name='Other address: postal code', blank=True)),
+ ('alt_town', models.CharField(max_length=70, null=True, verbose_name='Other address: town', blank=True)),
+ ('alt_country', models.CharField(max_length=30, null=True, verbose_name='Other address: country', blank=True)),
+ ('phone', models.CharField(max_length=18, null=True, verbose_name='Phone', blank=True)),
+ ('phone_desc', models.CharField(max_length=300, null=True, verbose_name='Phone description', blank=True)),
+ ('phone2', models.CharField(max_length=18, null=True, verbose_name='Phone description 2', blank=True)),
+ ('phone_desc2', models.CharField(max_length=300, null=True, verbose_name='Phone description 2', blank=True)),
+ ('phone3', models.CharField(max_length=18, null=True, verbose_name='Phone 3', blank=True)),
+ ('phone_desc3', models.CharField(max_length=300, null=True, verbose_name='Phone description 3', blank=True)),
+ ('raw_phone', models.TextField(null=True, verbose_name='Raw phone', blank=True)),
+ ('mobile_phone', models.CharField(max_length=18, null=True, verbose_name='Mobile phone', blank=True)),
+ ('email', models.EmailField(max_length=300, null=True, verbose_name='Email', blank=True)),
+ ('alt_address_is_prefered', models.BooleanField(default=False, verbose_name='Alternative address is prefered')),
+ ('merge_key', models.TextField(null=True, verbose_name='Merge key', blank=True)),
+ ('archived', models.NullBooleanField(default=False)),
+ ('name', models.CharField(max_length=500, verbose_name='Name')),
+ ('history_creator', models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Creator', blank=True, to=settings.AUTH_USER_MODEL, null=True)),
+ ('history_modifier', models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Last editor', blank=True, to=settings.AUTH_USER_MODEL, null=True)),
+ ('imports', models.ManyToManyField(related_name='imported_ishtar_common_organization', to='ishtar_common.Import', blank=True)),
+ ('merge_candidate', models.ManyToManyField(related_name='merge_candidate_rel_+', to='ishtar_common.Organization', blank=True)),
+ ('merge_exclusion', models.ManyToManyField(related_name='merge_exclusion_rel_+', to='ishtar_common.Organization', blank=True)),
+ ],
+ options={
+ 'verbose_name': 'Organization',
+ 'verbose_name_plural': 'Organizations',
+ 'permissions': (('view_organization', 'Peut voir toutes les Organisations'), ('view_own_organization', 'Peut voir sa propre Organisation'), ('add_own_organization', 'Peut ajouter sa propre Organisation'), ('change_own_organization', 'Peut modifier sa propre Organisation'), ('delete_own_organization', 'Peut supprimer sa propre Organisation')),
+ },
+ bases=(models.Model, ishtar_common.models.OwnPerms, ishtar_common.models.ValueGetter),
+ ),
+ migrations.CreateModel(
+ name='OrganizationType',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('label', models.CharField(max_length=100, verbose_name='Label')),
+ ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])),
+ ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)),
+ ('available', models.BooleanField(default=True, verbose_name='Available')),
+ ],
+ options={
+ 'ordering': ('label',),
+ 'verbose_name': 'Organization type',
+ 'verbose_name_plural': 'Organization types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='Person',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('address', models.TextField(null=True, verbose_name='Address', blank=True)),
+ ('address_complement', models.TextField(null=True, verbose_name='Address complement', blank=True)),
+ ('postal_code', models.CharField(max_length=10, null=True, verbose_name='Postal code', blank=True)),
+ ('town', models.CharField(max_length=70, null=True, verbose_name='Town', blank=True)),
+ ('country', models.CharField(max_length=30, null=True, verbose_name='Country', blank=True)),
+ ('alt_address', models.TextField(null=True, verbose_name='Other address: address', blank=True)),
+ ('alt_address_complement', models.TextField(null=True, verbose_name='Other address: address complement', blank=True)),
+ ('alt_postal_code', models.CharField(max_length=10, null=True, verbose_name='Other address: postal code', blank=True)),
+ ('alt_town', models.CharField(max_length=70, null=True, verbose_name='Other address: town', blank=True)),
+ ('alt_country', models.CharField(max_length=30, null=True, verbose_name='Other address: country', blank=True)),
+ ('phone', models.CharField(max_length=18, null=True, verbose_name='Phone', blank=True)),
+ ('phone_desc', models.CharField(max_length=300, null=True, verbose_name='Phone description', blank=True)),
+ ('phone2', models.CharField(max_length=18, null=True, verbose_name='Phone description 2', blank=True)),
+ ('phone_desc2', models.CharField(max_length=300, null=True, verbose_name='Phone description 2', blank=True)),
+ ('phone3', models.CharField(max_length=18, null=True, verbose_name='Phone 3', blank=True)),
+ ('phone_desc3', models.CharField(max_length=300, null=True, verbose_name='Phone description 3', blank=True)),
+ ('raw_phone', models.TextField(null=True, verbose_name='Raw phone', blank=True)),
+ ('mobile_phone', models.CharField(max_length=18, null=True, verbose_name='Mobile phone', blank=True)),
+ ('email', models.EmailField(max_length=300, null=True, verbose_name='Email', blank=True)),
+ ('alt_address_is_prefered', models.BooleanField(default=False, verbose_name='Alternative address is prefered')),
+ ('merge_key', models.TextField(null=True, verbose_name='Merge key', blank=True)),
+ ('archived', models.NullBooleanField(default=False)),
+ ('old_title', models.CharField(blank=True, max_length=100, null=True, verbose_name='Title', choices=[(b'Mr', 'Mr'), (b'Ms', 'Miss'), (b'Mr and Miss', 'Mr and Mrs'), (b'Md', 'Mrs'), (b'Dr', 'Doctor')])),
+ ('salutation', models.CharField(max_length=200, null=True, verbose_name='Salutation', blank=True)),
+ ('surname', models.CharField(max_length=50, null=True, verbose_name='Surname', blank=True)),
+ ('name', models.CharField(max_length=200, null=True, verbose_name='Name', blank=True)),
+ ('raw_name', models.CharField(max_length=300, null=True, verbose_name='Raw name', blank=True)),
+ ('contact_type', models.CharField(max_length=300, null=True, verbose_name='Contact type', blank=True)),
+ ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)),
+ ('attached_to', models.ForeignKey(related_name='members', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Is attached to', blank=True, to='ishtar_common.Organization', null=True)),
+ ('history_creator', models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Creator', blank=True, to=settings.AUTH_USER_MODEL, null=True)),
+ ('history_modifier', models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Last editor', blank=True, to=settings.AUTH_USER_MODEL, null=True)),
+ ('imports', models.ManyToManyField(related_name='imported_ishtar_common_person', to='ishtar_common.Import', blank=True)),
+ ('merge_candidate', models.ManyToManyField(related_name='merge_candidate_rel_+', to='ishtar_common.Person', blank=True)),
+ ('merge_exclusion', models.ManyToManyField(related_name='merge_exclusion_rel_+', to='ishtar_common.Person', blank=True)),
+ ],
+ options={
+ 'verbose_name': 'Person',
+ 'verbose_name_plural': 'Persons',
+ 'permissions': (('view_person', 'Peut voir toutes les Personnes'), ('view_own_person', 'Peut voir sa propre Personne'), ('add_own_person', 'Peut ajouter sa propre Personne'), ('change_own_person', 'Peut modifier sa propre Personne'), ('delete_own_person', 'Peut supprimer sa propre Personne')),
+ },
+ bases=(models.Model, ishtar_common.models.OwnPerms, ishtar_common.models.ValueGetter),
+ ),
+ migrations.CreateModel(
+ name='PersonType',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('label', models.CharField(max_length=100, verbose_name='Label')),
+ ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])),
+ ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)),
+ ('available', models.BooleanField(default=True, verbose_name='Available')),
+ ('groups', models.ManyToManyField(to='auth.Group', verbose_name='Groups', blank=True)),
+ ],
+ options={
+ 'ordering': ('label',),
+ 'verbose_name': 'Person type',
+ 'verbose_name_plural': 'Person types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='Regexp',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('name', models.CharField(max_length=100, verbose_name='Name')),
+ ('description', models.CharField(max_length=500, null=True, verbose_name='Description', blank=True)),
+ ('regexp', models.CharField(max_length=500, verbose_name='Regular expression')),
+ ],
+ options={
+ 'verbose_name': 'Importer - Regular expression',
+ 'verbose_name_plural': 'Importer - Regular expressions',
+ },
+ ),
+ migrations.CreateModel(
+ name='SourceType',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('label', models.CharField(max_length=100, verbose_name='Label')),
+ ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])),
+ ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)),
+ ('available', models.BooleanField(default=True, verbose_name='Available')),
+ ],
+ options={
+ 'ordering': ['label'],
+ 'verbose_name': 'Source type',
+ 'verbose_name_plural': 'Source types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='SpatialReferenceSystem',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('label', models.CharField(max_length=100, verbose_name='Label')),
+ ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])),
+ ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)),
+ ('available', models.BooleanField(default=True, verbose_name='Available')),
+ ('order', models.IntegerField(default=10, verbose_name='Order')),
+ ('auth_name', models.CharField(default=b'EPSG', max_length=256, verbose_name='Authority name')),
+ ('srid', models.IntegerField(verbose_name='Authority SRID')),
+ ],
+ options={
+ 'ordering': ('label',),
+ 'verbose_name': 'Spatial reference system',
+ 'verbose_name_plural': 'Spatial reference systems',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='State',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('label', models.CharField(max_length=30, verbose_name='Label')),
+ ('number', models.CharField(unique=True, max_length=3, verbose_name='Number')),
+ ],
+ options={
+ 'ordering': ['number'],
+ 'verbose_name': 'State',
+ },
+ ),
+ migrations.CreateModel(
+ name='SupportType',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('label', models.CharField(max_length=100, verbose_name='Label')),
+ ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])),
+ ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)),
+ ('available', models.BooleanField(default=True, verbose_name='Available')),
+ ],
+ options={
+ 'verbose_name': 'Support type',
+ 'verbose_name_plural': 'Support types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='TargetKey',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('key', models.TextField(verbose_name='Key')),
+ ('value', models.TextField(null=True, verbose_name='Value', blank=True)),
+ ('is_set', models.BooleanField(default=False, verbose_name='Is set')),
+ ('associated_import', models.ForeignKey(blank=True, to='ishtar_common.Import', null=True)),
+ ('associated_user', models.ForeignKey(blank=True, to='ishtar_common.IshtarUser', null=True)),
+ ('target', models.ForeignKey(related_name='keys', to='ishtar_common.ImportTarget')),
+ ],
+ options={
+ 'verbose_name': 'Importer - Target key',
+ 'verbose_name_plural': 'Importer - Targets keys',
+ },
+ ),
+ migrations.CreateModel(
+ name='TitleType',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('label', models.CharField(max_length=100, verbose_name='Label')),
+ ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])),
+ ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)),
+ ('available', models.BooleanField(default=True, verbose_name='Available')),
+ ],
+ options={
+ 'ordering': ('label',),
+ 'verbose_name': 'Title type',
+ 'verbose_name_plural': 'Title types',
+ },
+ bases=(ishtar_common.models.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='Town',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('name', models.CharField(max_length=100, verbose_name='Name')),
+ ('surface', models.IntegerField(null=True, verbose_name='Surface (m2)', blank=True)),
+ ('center', django.contrib.gis.db.models.fields.PointField(srid=27572, null=True, verbose_name='Localisation', blank=True)),
+ ('numero_insee', models.CharField(unique=True, max_length=6, verbose_name='Num\xe9ro INSEE')),
+ ('canton', models.ForeignKey(verbose_name='Canton', blank=True, to='ishtar_common.Canton', null=True)),
+ ('departement', models.ForeignKey(verbose_name='D\xe9partement', blank=True, to='ishtar_common.Department', null=True)),
+ ('imports', models.ManyToManyField(related_name='imported_ishtar_common_town', to='ishtar_common.Import', blank=True)),
+ ],
+ options={
+ 'ordering': ['numero_insee'],
+ 'verbose_name': 'Town',
+ 'verbose_name_plural': 'Towns',
+ },
+ ),
+ migrations.AddField(
+ model_name='person',
+ name='person_types',
+ field=models.ManyToManyField(to='ishtar_common.PersonType', verbose_name='Types'),
+ ),
+ migrations.AddField(
+ model_name='person',
+ name='title',
+ field=models.ForeignKey(verbose_name='Title', blank=True, to='ishtar_common.TitleType', null=True),
+ ),
+ migrations.AddField(
+ model_name='organization',
+ name='organization_type',
+ field=models.ForeignKey(verbose_name='Type', to='ishtar_common.OrganizationType'),
+ ),
+ migrations.AddField(
+ model_name='ishtaruser',
+ name='person',
+ field=models.OneToOneField(related_name='ishtaruser', verbose_name='Person', to='ishtar_common.Person'),
+ ),
+ migrations.AddField(
+ model_name='importtarget',
+ name='regexp_filter',
+ field=models.ForeignKey(blank=True, to='ishtar_common.Regexp', null=True),
+ ),
+ migrations.AddField(
+ model_name='importertype',
+ name='users',
+ field=models.ManyToManyField(to='ishtar_common.IshtarUser', verbose_name='Users', blank=True),
+ ),
+ migrations.AddField(
+ model_name='importerdefault',
+ name='importer_type',
+ field=models.ForeignKey(related_name='defaults', to='ishtar_common.ImporterType'),
+ ),
+ migrations.AddField(
+ model_name='importercolumn',
+ name='importer_type',
+ field=models.ForeignKey(related_name='columns', to='ishtar_common.ImporterType'),
+ ),
+ migrations.AddField(
+ model_name='importercolumn',
+ name='regexp_pre_filter',
+ field=models.ForeignKey(blank=True, to='ishtar_common.Regexp', null=True),
+ ),
+ migrations.AddField(
+ model_name='import',
+ name='importer_type',
+ field=models.ForeignKey(to='ishtar_common.ImporterType'),
+ ),
+ migrations.AddField(
+ model_name='import',
+ name='user',
+ field=models.ForeignKey(to='ishtar_common.IshtarUser'),
+ ),
+ migrations.AddField(
+ model_name='historicalperson',
+ name='attached_to',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='ishtar_common.Organization', null=True),
+ ),
+ migrations.AddField(
+ model_name='historicalperson',
+ name='history_creator',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to=settings.AUTH_USER_MODEL, null=True),
+ ),
+ migrations.AddField(
+ model_name='historicalperson',
+ name='history_modifier',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to=settings.AUTH_USER_MODEL, null=True),
+ ),
+ migrations.AddField(
+ model_name='historicalperson',
+ name='history_user',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, null=True),
+ ),
+ migrations.AddField(
+ model_name='historicalperson',
+ name='title',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='ishtar_common.TitleType', null=True),
+ ),
+ migrations.AddField(
+ model_name='historicalorganization',
+ name='history_creator',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to=settings.AUTH_USER_MODEL, null=True),
+ ),
+ migrations.AddField(
+ model_name='historicalorganization',
+ name='history_modifier',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to=settings.AUTH_USER_MODEL, null=True),
+ ),
+ migrations.AddField(
+ model_name='historicalorganization',
+ name='history_user',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, null=True),
+ ),
+ migrations.AddField(
+ model_name='historicalorganization',
+ name='organization_type',
+ field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.DO_NOTHING, db_constraint=False, blank=True, to='ishtar_common.OrganizationType', null=True),
+ ),
+ migrations.AlterUniqueTogether(
+ name='formatertype',
+ unique_together=set([('formater_type', 'options', 'many_split')]),
+ ),
+ migrations.AddField(
+ model_name='department',
+ name='state',
+ field=models.ForeignKey(verbose_name='State', blank=True, to='ishtar_common.State', null=True),
+ ),
+ migrations.AddField(
+ model_name='author',
+ name='author_type',
+ field=models.ForeignKey(verbose_name='Author type', to='ishtar_common.AuthorType'),
+ ),
+ migrations.AddField(
+ model_name='author',
+ name='person',
+ field=models.ForeignKey(related_name='author', verbose_name='Person', to='ishtar_common.Person'),
+ ),
+ migrations.AddField(
+ model_name='arrondissement',
+ name='department',
+ field=models.ForeignKey(verbose_name='D\xe9partement', to='ishtar_common.Department'),
+ ),
+ migrations.AlterUniqueTogether(
+ name='targetkey',
+ unique_together=set([('target', 'key', 'associated_user', 'associated_import')]),
+ ),
+ migrations.AlterUniqueTogether(
+ name='importercolumn',
+ unique_together=set([('importer_type', 'col_number')]),
+ ),
+ ]
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index e1a643ea3..d70bcd426 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -251,7 +251,7 @@ def is_unique(cls, field):
return func
-class OwnPerms:
+class OwnPerms(object):
"""
Manage special permissions for object's owner
"""
diff --git a/ishtar_common/old_migrations/0001_initial.py b/ishtar_common/old_migrations/0001_initial.py
new file mode 100644
index 000000000..fc22881bc
--- /dev/null
+++ b/ishtar_common/old_migrations/0001_initial.py
@@ -0,0 +1,408 @@
+# -*- coding: utf-8 -*-
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+ def forwards(self, orm):
+ # Adding model 'Wizard'
+ db.create_table('ishtar_common_wizard', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('url_name', self.gf('django.db.models.fields.CharField')(unique=True, max_length=128)),
+ ))
+ db.send_create_signal('ishtar_common', ['Wizard'])
+
+ # Adding model 'WizardStep'
+ db.create_table('ishtar_common_wizardstep', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('order', self.gf('django.db.models.fields.IntegerField')()),
+ ('wizard', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Wizard'])),
+ ('url_name', self.gf('django.db.models.fields.CharField')(max_length=128)),
+ ('name', self.gf('django.db.models.fields.CharField')(max_length=128)),
+ ))
+ db.send_create_signal('ishtar_common', ['WizardStep'])
+
+ # Adding model 'Department'
+ db.create_table('ishtar_common_department', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('label', self.gf('django.db.models.fields.CharField')(max_length=30)),
+ ('number', self.gf('django.db.models.fields.CharField')(unique=True, max_length=3)),
+ ))
+ db.send_create_signal('ishtar_common', ['Department'])
+
+ # Adding model 'OrganizationType'
+ db.create_table('ishtar_common_organizationtype', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
+ ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
+ ))
+ db.send_create_signal('ishtar_common', ['OrganizationType'])
+
+ # Adding model 'HistoricalOrganization'
+ db.create_table('ishtar_common_historicalorganization', (
+ ('id', self.gf('django.db.models.fields.IntegerField')(db_index=True, blank=True)),
+ ('history_modifier_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
+ ('address', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('address_complement', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('postal_code', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)),
+ ('town', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),
+ ('country', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),
+ ('phone', self.gf('django.db.models.fields.CharField')(max_length=18, null=True, blank=True)),
+ ('mobile_phone', self.gf('django.db.models.fields.CharField')(max_length=18, null=True, blank=True)),
+ ('name', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('organization_type_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),
+ ('history_id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('history_date', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
+ ('history_user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True)),
+ ('history_type', self.gf('django.db.models.fields.CharField')(max_length=1)),
+ ))
+ db.send_create_signal('ishtar_common', ['HistoricalOrganization'])
+
+ # Adding model 'Organization'
+ db.create_table('ishtar_common_organization', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('history_modifier', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['auth.User'])),
+ ('address', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('address_complement', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('postal_code', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)),
+ ('town', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),
+ ('country', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),
+ ('phone', self.gf('django.db.models.fields.CharField')(max_length=18, null=True, blank=True)),
+ ('mobile_phone', self.gf('django.db.models.fields.CharField')(max_length=18, null=True, blank=True)),
+ ('name', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('organization_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.OrganizationType'])),
+ ))
+ db.send_create_signal('ishtar_common', ['Organization'])
+
+ # Adding model 'PersonType'
+ db.create_table('ishtar_common_persontype', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
+ ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
+ ))
+ db.send_create_signal('ishtar_common', ['PersonType'])
+
+ # Adding M2M table for field rights on 'PersonType'
+ db.create_table('ishtar_common_persontype_rights', (
+ ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
+ ('persontype', models.ForeignKey(orm['ishtar_common.persontype'], null=False)),
+ ('wizardstep', models.ForeignKey(orm['ishtar_common.wizardstep'], null=False))
+ ))
+ db.create_unique('ishtar_common_persontype_rights', ['persontype_id', 'wizardstep_id'])
+
+ # Adding model 'Person'
+ db.create_table('ishtar_common_person', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('history_modifier', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['auth.User'])),
+ ('address', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('address_complement', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('postal_code', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)),
+ ('town', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),
+ ('country', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),
+ ('phone', self.gf('django.db.models.fields.CharField')(max_length=18, null=True, blank=True)),
+ ('mobile_phone', self.gf('django.db.models.fields.CharField')(max_length=18, null=True, blank=True)),
+ ('title', self.gf('django.db.models.fields.CharField')(max_length=2)),
+ ('surname', self.gf('django.db.models.fields.CharField')(max_length=20)),
+ ('name', self.gf('django.db.models.fields.CharField')(max_length=30)),
+ ('email', self.gf('django.db.models.fields.CharField')(max_length=40, null=True, blank=True)),
+ ('person_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.PersonType'])),
+ ('attached_to', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Organization'], null=True, blank=True)),
+ ))
+ db.send_create_signal('ishtar_common', ['Person'])
+
+ # Adding model 'IshtarUser'
+ db.create_table('ishtar_common_ishtaruser', (
+ ('user_ptr', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['auth.User'], unique=True, primary_key=True)),
+ ('person', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Person'], unique=True)),
+ ))
+ db.send_create_signal('ishtar_common', ['IshtarUser'])
+
+ # Adding model 'AuthorType'
+ db.create_table('ishtar_common_authortype', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
+ ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
+ ))
+ db.send_create_signal('ishtar_common', ['AuthorType'])
+
+ # Adding model 'Author'
+ db.create_table('ishtar_common_author', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('person', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Person'])),
+ ('author_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.AuthorType'])),
+ ))
+ db.send_create_signal('ishtar_common', ['Author'])
+
+ # Adding model 'SourceType'
+ db.create_table('ishtar_common_sourcetype', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
+ ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('available', self.gf('django.db.models.fields.BooleanField')(default=False)),
+ ))
+ db.send_create_signal('ishtar_common', ['SourceType'])
+
+ # Adding model 'Arrondissement'
+ db.create_table('ishtar_common_arrondissement', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('name', self.gf('django.db.models.fields.CharField')(max_length=30)),
+ ('department', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Department'])),
+ ))
+ db.send_create_signal('ishtar_common', ['Arrondissement'])
+
+ # Adding model 'Canton'
+ db.create_table('ishtar_common_canton', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('name', self.gf('django.db.models.fields.CharField')(max_length=30)),
+ ('arrondissement', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Arrondissement'])),
+ ))
+ db.send_create_signal('ishtar_common', ['Canton'])
+
+ # Adding model 'Town'
+ db.create_table('ishtar_common_town', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('name', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('surface', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('center', self.gf('django.contrib.gis.db.models.fields.PointField')(srid=27572, null=True, blank=True)),
+ ('numero_insee', self.gf('django.db.models.fields.CharField')(unique=True, max_length=6)),
+ ('departement', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Department'], null=True, blank=True)),
+ ('canton', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Canton'], null=True, blank=True)),
+ ))
+ db.send_create_signal('ishtar_common', ['Town'])
+
+
+ def backwards(self, orm):
+ # Deleting model 'Wizard'
+ db.delete_table('ishtar_common_wizard')
+
+ # Deleting model 'WizardStep'
+ db.delete_table('ishtar_common_wizardstep')
+
+ # Deleting model 'Department'
+ db.delete_table('ishtar_common_department')
+
+ # Deleting model 'OrganizationType'
+ db.delete_table('ishtar_common_organizationtype')
+
+ # Deleting model 'HistoricalOrganization'
+ db.delete_table('ishtar_common_historicalorganization')
+
+ # Deleting model 'Organization'
+ db.delete_table('ishtar_common_organization')
+
+ # Deleting model 'PersonType'
+ db.delete_table('ishtar_common_persontype')
+
+ # Removing M2M table for field rights on 'PersonType'
+ db.delete_table('ishtar_common_persontype_rights')
+
+ # Deleting model 'Person'
+ db.delete_table('ishtar_common_person')
+
+ # Deleting model 'IshtarUser'
+ db.delete_table('ishtar_common_ishtaruser')
+
+ # Deleting model 'AuthorType'
+ db.delete_table('ishtar_common_authortype')
+
+ # Deleting model 'Author'
+ db.delete_table('ishtar_common_author')
+
+ # Deleting model 'SourceType'
+ db.delete_table('ishtar_common_sourcetype')
+
+ # Deleting model 'Arrondissement'
+ db.delete_table('ishtar_common_arrondissement')
+
+ # Deleting model 'Canton'
+ db.delete_table('ishtar_common_canton')
+
+ # Deleting model 'Town'
+ db.delete_table('ishtar_common_town')
+
+
+ models = {
+ 'auth.group': {
+ 'Meta': {'object_name': 'Group'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
+ 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+ },
+ 'auth.permission': {
+ 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+ 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+ },
+ 'auth.user': {
+ 'Meta': {'object_name': 'User'},
+ 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+ 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+ 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'contenttypes.contenttype': {
+ 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+ 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ 'ishtar_common.arrondissement': {
+ 'Meta': {'object_name': 'Arrondissement'},
+ 'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '30'})
+ },
+ 'ishtar_common.author': {
+ 'Meta': {'object_name': 'Author'},
+ 'author_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.AuthorType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'person': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Person']"})
+ },
+ 'ishtar_common.authortype': {
+ 'Meta': {'object_name': 'AuthorType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'ishtar_common.canton': {
+ 'Meta': {'object_name': 'Canton'},
+ 'arrondissement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Arrondissement']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '30'})
+ },
+ 'ishtar_common.department': {
+ 'Meta': {'ordering': "['number']", 'object_name': 'Department'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+ 'number': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'})
+ },
+ 'ishtar_common.historicalorganization': {
+ 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalOrganization'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'history_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
+ 'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}),
+ 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'organization_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.ishtaruser': {
+ 'Meta': {'object_name': 'IshtarUser', '_ormbases': ['auth.User']},
+ 'person': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Person']", 'unique': 'True'}),
+ 'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'primary_key': 'True'})
+ },
+ 'ishtar_common.organization': {
+ 'Meta': {'object_name': 'Organization'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'organization_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.OrganizationType']"}),
+ 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'town': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.organizationtype': {
+ 'Meta': {'object_name': 'OrganizationType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'ishtar_common.person': {
+ 'Meta': {'object_name': 'Person'},
+ 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'attached_to': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Organization']", 'null': 'True', 'blank': 'True'}),
+ 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+ 'email': ('django.db.models.fields.CharField', [], {'max_length': '40', 'null': 'True', 'blank': 'True'}),
+ 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+ 'person_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.PersonType']"}),
+ 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),
+ 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+ 'surname': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '2'}),
+ 'town': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.persontype': {
+ 'Meta': {'object_name': 'PersonType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'rights': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.WizardStep']", 'symmetrical': 'False'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'ishtar_common.sourcetype': {
+ 'Meta': {'object_name': 'SourceType'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'ishtar_common.town': {
+ 'Meta': {'ordering': "['numero_insee']", 'object_name': 'Town'},
+ 'canton': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Canton']", 'null': 'True', 'blank': 'True'}),
+ 'center': ('django.contrib.gis.db.models.fields.PointField', [], {'srid': '27572', 'null': 'True', 'blank': 'True'}),
+ 'departement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'numero_insee': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '6'}),
+ 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'ishtar_common.wizard': {
+ 'Meta': {'ordering': "['url_name']", 'object_name': 'Wizard'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'url_name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'})
+ },
+ 'ishtar_common.wizardstep': {
+ 'Meta': {'ordering': "['wizard', 'order']", 'object_name': 'WizardStep'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {}),
+ 'url_name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+ 'wizard': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Wizard']"})
+ }
+ }
+
+ complete_apps = ['ishtar_common'] \ No newline at end of file
diff --git a/ishtar_common/migrations/0002_auto__chg_field_person_surname.py b/ishtar_common/old_migrations/0002_auto__chg_field_person_surname.py
index 105144aac..105144aac 100644
--- a/ishtar_common/migrations/0002_auto__chg_field_person_surname.py
+++ b/ishtar_common/old_migrations/0002_auto__chg_field_person_surname.py
diff --git a/ishtar_common/migrations/0003_auto__del_field_person_person_type.py b/ishtar_common/old_migrations/0003_auto__del_field_person_person_type.py
index 369568ecc..369568ecc 100644
--- a/ishtar_common/migrations/0003_auto__del_field_person_person_type.py
+++ b/ishtar_common/old_migrations/0003_auto__del_field_person_person_type.py
diff --git a/ishtar_common/migrations/0004_auto.py b/ishtar_common/old_migrations/0004_auto.py
index 074080757..074080757 100644
--- a/ishtar_common/migrations/0004_auto.py
+++ b/ishtar_common/old_migrations/0004_auto.py
diff --git a/ishtar_common/migrations/0005_auto__add_documenttemplate.py b/ishtar_common/old_migrations/0005_auto__add_documenttemplate.py
index 383ee5a32..383ee5a32 100644
--- a/ishtar_common/migrations/0005_auto__add_documenttemplate.py
+++ b/ishtar_common/old_migrations/0005_auto__add_documenttemplate.py
diff --git a/ishtar_common/migrations/0006_auto__chg_field_organization_name__chg_field_historicalorganization_na.py b/ishtar_common/old_migrations/0006_auto__chg_field_organization_name__chg_field_historicalorganization_na.py
index f852608a3..f852608a3 100644
--- a/ishtar_common/migrations/0006_auto__chg_field_organization_name__chg_field_historicalorganization_na.py
+++ b/ishtar_common/old_migrations/0006_auto__chg_field_organization_name__chg_field_historicalorganization_na.py
diff --git a/ishtar_common/migrations/0007_auto__add_field_organization_history_creator__add_field_historicalorga.py b/ishtar_common/old_migrations/0007_auto__add_field_organization_history_creator__add_field_historicalorga.py
index 5423b758e..5423b758e 100644
--- a/ishtar_common/migrations/0007_auto__add_field_organization_history_creator__add_field_historicalorga.py
+++ b/ishtar_common/old_migrations/0007_auto__add_field_organization_history_creator__add_field_historicalorga.py
diff --git a/ishtar_common/migrations/0008_init_history_creator.py b/ishtar_common/old_migrations/0008_init_history_creator.py
index c28292e61..c28292e61 100644
--- a/ishtar_common/migrations/0008_init_history_creator.py
+++ b/ishtar_common/old_migrations/0008_init_history_creator.py
diff --git a/ishtar_common/migrations/0009_auto__add_field_organization_email__add_field_historicalorganization_e.py b/ishtar_common/old_migrations/0009_auto__add_field_organization_email__add_field_historicalorganization_e.py
index 1ef247b56..1ef247b56 100644
--- a/ishtar_common/migrations/0009_auto__add_field_organization_email__add_field_historicalorganization_e.py
+++ b/ishtar_common/old_migrations/0009_auto__add_field_organization_email__add_field_historicalorganization_e.py
diff --git a/ishtar_common/migrations/0010_auto__del_wizardstep__del_wizard__add_globalvar__chg_field_person_atta.py b/ishtar_common/old_migrations/0010_auto__del_wizardstep__del_wizard__add_globalvar__chg_field_person_atta.py
index 4bba74da9..4bba74da9 100644
--- a/ishtar_common/migrations/0010_auto__del_wizardstep__del_wizard__add_globalvar__chg_field_person_atta.py
+++ b/ishtar_common/old_migrations/0010_auto__del_wizardstep__del_wizard__add_globalvar__chg_field_person_atta.py
diff --git a/ishtar_common/migrations/0011_auto__chg_field_person_surname__chg_field_person_name.py b/ishtar_common/old_migrations/0011_auto__chg_field_person_surname__chg_field_person_name.py
index a21e00efb..a21e00efb 100644
--- a/ishtar_common/migrations/0011_auto__chg_field_person_surname__chg_field_person_name.py
+++ b/ishtar_common/old_migrations/0011_auto__chg_field_person_surname__chg_field_person_name.py
diff --git a/ishtar_common/migrations/0012_auto__add_field_person_raw_name__chg_field_person_name.py b/ishtar_common/old_migrations/0012_auto__add_field_person_raw_name__chg_field_person_name.py
index 015956610..015956610 100644
--- a/ishtar_common/migrations/0012_auto__add_field_person_raw_name__chg_field_person_name.py
+++ b/ishtar_common/old_migrations/0012_auto__add_field_person_raw_name__chg_field_person_name.py
diff --git a/ishtar_common/migrations/0013_auto__add_field_organization_merge_key__add_field_historicalorganizati.py b/ishtar_common/old_migrations/0013_auto__add_field_organization_merge_key__add_field_historicalorganizati.py
index b0934572d..b0934572d 100644
--- a/ishtar_common/migrations/0013_auto__add_field_organization_merge_key__add_field_historicalorganizati.py
+++ b/ishtar_common/old_migrations/0013_auto__add_field_organization_merge_key__add_field_historicalorganizati.py
diff --git a/ishtar_common/migrations/0014_auto__chg_field_organization_history_creator__chg_field_organization_h.py b/ishtar_common/old_migrations/0014_auto__chg_field_organization_history_creator__chg_field_organization_h.py
index 86783b8fd..86783b8fd 100644
--- a/ishtar_common/migrations/0014_auto__chg_field_organization_history_creator__chg_field_organization_h.py
+++ b/ishtar_common/old_migrations/0014_auto__chg_field_organization_history_creator__chg_field_organization_h.py
diff --git a/ishtar_common/migrations/0015_auto__chg_field_organization_town__chg_field_historicalorganization_to.py b/ishtar_common/old_migrations/0015_auto__chg_field_organization_town__chg_field_historicalorganization_to.py
index d5d1c4742..d5d1c4742 100644
--- a/ishtar_common/migrations/0015_auto__chg_field_organization_town__chg_field_historicalorganization_to.py
+++ b/ishtar_common/old_migrations/0015_auto__chg_field_organization_town__chg_field_historicalorganization_to.py
diff --git a/ishtar_common/migrations/0016_auto__add_import.py b/ishtar_common/old_migrations/0016_auto__add_import.py
index f7d87ff13..f7d87ff13 100644
--- a/ishtar_common/migrations/0016_auto__add_import.py
+++ b/ishtar_common/old_migrations/0016_auto__add_import.py
diff --git a/ishtar_common/migrations/0017_auto__add_supporttype__add_format.py b/ishtar_common/old_migrations/0017_auto__add_supporttype__add_format.py
index 7ce790321..7ce790321 100644
--- a/ishtar_common/migrations/0017_auto__add_supporttype__add_format.py
+++ b/ishtar_common/old_migrations/0017_auto__add_supporttype__add_format.py
diff --git a/ishtar_common/migrations/0018_auto__add_itemkey.py b/ishtar_common/old_migrations/0018_auto__add_itemkey.py
index 4de340549..4de340549 100644
--- a/ishtar_common/migrations/0018_auto__add_itemkey.py
+++ b/ishtar_common/old_migrations/0018_auto__add_itemkey.py
diff --git a/ishtar_common/migrations/0019_auto__add_field_itemkey_importer.py b/ishtar_common/old_migrations/0019_auto__add_field_itemkey_importer.py
index 9206279d1..9206279d1 100644
--- a/ishtar_common/migrations/0019_auto__add_field_itemkey_importer.py
+++ b/ishtar_common/old_migrations/0019_auto__add_field_itemkey_importer.py
diff --git a/ishtar_common/migrations/0020_auto__chg_field_person_title.py b/ishtar_common/old_migrations/0020_auto__chg_field_person_title.py
index 8d4674ace..8d4674ace 100644
--- a/ishtar_common/migrations/0020_auto__chg_field_person_title.py
+++ b/ishtar_common/old_migrations/0020_auto__chg_field_person_title.py
diff --git a/ishtar_common/migrations/0021_auto__add_importerdefault__add_importertype__add_importtarget__add_for.py b/ishtar_common/old_migrations/0021_auto__add_importerdefault__add_importertype__add_importtarget__add_for.py
index 21f6e5f78..21f6e5f78 100644
--- a/ishtar_common/migrations/0021_auto__add_importerdefault__add_importertype__add_importtarget__add_for.py
+++ b/ishtar_common/old_migrations/0021_auto__add_importerdefault__add_importertype__add_importtarget__add_for.py
diff --git a/ishtar_common/migrations/0022_auto__add_field_import_importer_type.py b/ishtar_common/old_migrations/0022_auto__add_field_import_importer_type.py
index d5091b542..d5091b542 100644
--- a/ishtar_common/migrations/0022_auto__add_field_import_importer_type.py
+++ b/ishtar_common/old_migrations/0022_auto__add_field_import_importer_type.py
diff --git a/ishtar_common/migrations/0023_auto__add_importerdefaultvalues__del_field_importerdefault_value.py b/ishtar_common/old_migrations/0023_auto__add_importerdefaultvalues__del_field_importerdefault_value.py
index 74c5e0a1c..74c5e0a1c 100644
--- a/ishtar_common/migrations/0023_auto__add_importerdefaultvalues__del_field_importerdefault_value.py
+++ b/ishtar_common/old_migrations/0023_auto__add_importerdefaultvalues__del_field_importerdefault_value.py
diff --git a/ishtar_common/migrations/0024_auto__add_importerduplicatefield__chg_field_importerdefault_target__ad.py b/ishtar_common/old_migrations/0024_auto__add_importerduplicatefield__chg_field_importerdefault_target__ad.py
index d5d3293f0..d5d3293f0 100644
--- a/ishtar_common/migrations/0024_auto__add_importerduplicatefield__chg_field_importerdefault_target__ad.py
+++ b/ishtar_common/old_migrations/0024_auto__add_importerduplicatefield__chg_field_importerdefault_target__ad.py
diff --git a/ishtar_common/migrations/0025_auto__add_unique_formatertype_formater_type_many_split_options.py b/ishtar_common/old_migrations/0025_auto__add_unique_formatertype_formater_type_many_split_options.py
index 73c88ce1a..73c88ce1a 100644
--- a/ishtar_common/migrations/0025_auto__add_unique_formatertype_formater_type_many_split_options.py
+++ b/ishtar_common/old_migrations/0025_auto__add_unique_formatertype_formater_type_many_split_options.py
diff --git a/ishtar_common/migrations/0026_auto__add_targetkey__add_unique_targetkey_target_value__add_field_impo.py b/ishtar_common/old_migrations/0026_auto__add_targetkey__add_unique_targetkey_target_value__add_field_impo.py
index b4752a48e..b4752a48e 100644
--- a/ishtar_common/migrations/0026_auto__add_targetkey__add_unique_targetkey_target_value__add_field_impo.py
+++ b/ishtar_common/old_migrations/0026_auto__add_targetkey__add_unique_targetkey_target_value__add_field_impo.py
diff --git a/ishtar_common/migrations/0027_auto__chg_field_targetkey_target.py b/ishtar_common/old_migrations/0027_auto__chg_field_targetkey_target.py
index d6ea7e10a..d6ea7e10a 100644
--- a/ishtar_common/migrations/0027_auto__chg_field_targetkey_target.py
+++ b/ishtar_common/old_migrations/0027_auto__chg_field_targetkey_target.py
diff --git a/ishtar_common/migrations/0028_auto__chg_field_targetkey_key__chg_field_targetkey_value.py b/ishtar_common/old_migrations/0028_auto__chg_field_targetkey_key__chg_field_targetkey_value.py
index b99480a2b..b99480a2b 100644
--- a/ishtar_common/migrations/0028_auto__chg_field_targetkey_key__chg_field_targetkey_value.py
+++ b/ishtar_common/old_migrations/0028_auto__chg_field_targetkey_key__chg_field_targetkey_value.py
diff --git a/ishtar_common/migrations/0029_auto.py b/ishtar_common/old_migrations/0029_auto.py
index 9bcf818b5..9bcf818b5 100644
--- a/ishtar_common/migrations/0029_auto.py
+++ b/ishtar_common/old_migrations/0029_auto.py
diff --git a/ishtar_common/migrations/0030_auto__add_state__chg_field_sourcetype_txt_idx__chg_field_authortype_tx.py b/ishtar_common/old_migrations/0030_auto__add_state__chg_field_sourcetype_txt_idx__chg_field_authortype_tx.py
index cd5d06576..cd5d06576 100644
--- a/ishtar_common/migrations/0030_auto__add_state__chg_field_sourcetype_txt_idx__chg_field_authortype_tx.py
+++ b/ishtar_common/old_migrations/0030_auto__add_state__chg_field_sourcetype_txt_idx__chg_field_authortype_tx.py
diff --git a/ishtar_common/migrations/0031_auto__del_unique_targetkey_target_value__add_unique_targetkey_target_k.py b/ishtar_common/old_migrations/0031_auto__del_unique_targetkey_target_value__add_unique_targetkey_target_k.py
index 7fddc0fca..7fddc0fca 100644
--- a/ishtar_common/migrations/0031_auto__del_unique_targetkey_target_value__add_unique_targetkey_target_k.py
+++ b/ishtar_common/old_migrations/0031_auto__del_unique_targetkey_target_value__add_unique_targetkey_target_k.py
diff --git a/ishtar_common/migrations/0033_auto__add_field_targetkey_associated_import__add_field_targetkey_assoc.py b/ishtar_common/old_migrations/0033_auto__add_field_targetkey_associated_import__add_field_targetkey_assoc.py
index 2a6c8fc15..2a6c8fc15 100644
--- a/ishtar_common/migrations/0033_auto__add_field_targetkey_associated_import__add_field_targetkey_assoc.py
+++ b/ishtar_common/old_migrations/0033_auto__add_field_targetkey_associated_import__add_field_targetkey_assoc.py
diff --git a/ishtar_common/migrations/0034_auto__add_field_import_encoding.py b/ishtar_common/old_migrations/0034_auto__add_field_import_encoding.py
index 2774b3c15..2774b3c15 100644
--- a/ishtar_common/migrations/0034_auto__add_field_import_encoding.py
+++ b/ishtar_common/old_migrations/0034_auto__add_field_import_encoding.py
diff --git a/ishtar_common/migrations/0035_auto__add_field_importtarget_force_new__add_field_importerduplicatefie.py b/ishtar_common/old_migrations/0035_auto__add_field_importtarget_force_new__add_field_importerduplicatefie.py
index 2a396ee62..2a396ee62 100644
--- a/ishtar_common/migrations/0035_auto__add_field_importtarget_force_new__add_field_importerduplicatefie.py
+++ b/ishtar_common/old_migrations/0035_auto__add_field_importtarget_force_new__add_field_importerduplicatefie.py
diff --git a/ishtar_common/migrations/0036_auto__add_field_import_imported_images.py b/ishtar_common/old_migrations/0036_auto__add_field_import_imported_images.py
index d0741abca..d0741abca 100644
--- a/ishtar_common/migrations/0036_auto__add_field_import_imported_images.py
+++ b/ishtar_common/old_migrations/0036_auto__add_field_import_imported_images.py
diff --git a/ishtar_common/migrations/0037_auto__add_field_importertype_slug.py b/ishtar_common/old_migrations/0037_auto__add_field_importertype_slug.py
index c7bf06c5d..c7bf06c5d 100644
--- a/ishtar_common/migrations/0037_auto__add_field_importertype_slug.py
+++ b/ishtar_common/old_migrations/0037_auto__add_field_importertype_slug.py
diff --git a/ishtar_common/migrations/0038_auto__add_field_importtarget_comment.py b/ishtar_common/old_migrations/0038_auto__add_field_importtarget_comment.py
index a2cbe1579..a2cbe1579 100644
--- a/ishtar_common/migrations/0038_auto__add_field_importtarget_comment.py
+++ b/ishtar_common/old_migrations/0038_auto__add_field_importtarget_comment.py
diff --git a/ishtar_common/migrations/0039_auto__add_field_import_match_file.py b/ishtar_common/old_migrations/0039_auto__add_field_import_match_file.py
index 6df3e81a8..6df3e81a8 100644
--- a/ishtar_common/migrations/0039_auto__add_field_import_match_file.py
+++ b/ishtar_common/old_migrations/0039_auto__add_field_import_match_file.py
diff --git a/ishtar_common/migrations/0040_auto__chg_field_person_title.py b/ishtar_common/old_migrations/0040_auto__chg_field_person_title.py
index 2623f9eae..2623f9eae 100644
--- a/ishtar_common/migrations/0040_auto__chg_field_person_title.py
+++ b/ishtar_common/old_migrations/0040_auto__chg_field_person_title.py
diff --git a/ishtar_common/migrations/0041_auto__add_field_importertype_unicity_keys__add_field_importtarget_conc.py b/ishtar_common/old_migrations/0041_auto__add_field_importertype_unicity_keys__add_field_importtarget_conc.py
index 990f35efc..990f35efc 100644
--- a/ishtar_common/migrations/0041_auto__add_field_importertype_unicity_keys__add_field_importtarget_conc.py
+++ b/ishtar_common/old_migrations/0041_auto__add_field_importertype_unicity_keys__add_field_importtarget_conc.py
diff --git a/ishtar_common/migrations/0042_auto__add_field_importtarget_concat_str__add_unique_importercolumn_col.py b/ishtar_common/old_migrations/0042_auto__add_field_importtarget_concat_str__add_unique_importercolumn_col.py
index 7f8bac846..7f8bac846 100644
--- a/ishtar_common/migrations/0042_auto__add_field_importtarget_concat_str__add_unique_importercolumn_col.py
+++ b/ishtar_common/old_migrations/0042_auto__add_field_importtarget_concat_str__add_unique_importercolumn_col.py
diff --git a/ishtar_common/migrations/0043_auto__add_field_importerduplicatefield_concat__add_field_importerdupli.py b/ishtar_common/old_migrations/0043_auto__add_field_importerduplicatefield_concat__add_field_importerdupli.py
index efde90aca..efde90aca 100644
--- a/ishtar_common/migrations/0043_auto__add_field_importerduplicatefield_concat__add_field_importerdupli.py
+++ b/ishtar_common/old_migrations/0043_auto__add_field_importerduplicatefield_concat__add_field_importerdupli.py
diff --git a/ishtar_common/migrations/0044_auto__add_operationtype.py b/ishtar_common/old_migrations/0044_auto__add_operationtype.py
index f623809de..f623809de 100644
--- a/ishtar_common/migrations/0044_auto__add_operationtype.py
+++ b/ishtar_common/old_migrations/0044_auto__add_operationtype.py
diff --git a/ishtar_common/migrations/0045_auto__chg_field_person_merge_key__chg_field_historicalorganization_mer.py b/ishtar_common/old_migrations/0045_auto__chg_field_person_merge_key__chg_field_historicalorganization_mer.py
index 39114eba5..39114eba5 100644
--- a/ishtar_common/migrations/0045_auto__chg_field_person_merge_key__chg_field_historicalorganization_mer.py
+++ b/ishtar_common/old_migrations/0045_auto__chg_field_person_merge_key__chg_field_historicalorganization_mer.py
diff --git a/ishtar_common/migrations/0046_auto__add_field_person_exclude_from_merge__add_field_historicalorganiz.py b/ishtar_common/old_migrations/0046_auto__add_field_person_exclude_from_merge__add_field_historicalorganiz.py
index e0dbc9222..e0dbc9222 100644
--- a/ishtar_common/migrations/0046_auto__add_field_person_exclude_from_merge__add_field_historicalorganiz.py
+++ b/ishtar_common/old_migrations/0046_auto__add_field_person_exclude_from_merge__add_field_historicalorganiz.py
diff --git a/ishtar_common/migrations/0047_auto__chg_field_person_exclude_from_merge__chg_field_historicalorganiz.py b/ishtar_common/old_migrations/0047_auto__chg_field_person_exclude_from_merge__chg_field_historicalorganiz.py
index 4bc7b8a48..4bc7b8a48 100644
--- a/ishtar_common/migrations/0047_auto__chg_field_person_exclude_from_merge__chg_field_historicalorganiz.py
+++ b/ishtar_common/old_migrations/0047_auto__chg_field_person_exclude_from_merge__chg_field_historicalorganiz.py
diff --git a/ishtar_common/migrations/0048_auto__add_ishtarsiteprofile.py b/ishtar_common/old_migrations/0048_auto__add_ishtarsiteprofile.py
index 5a2c21bf1..5a2c21bf1 100644
--- a/ishtar_common/migrations/0048_auto__add_ishtarsiteprofile.py
+++ b/ishtar_common/old_migrations/0048_auto__add_ishtarsiteprofile.py
diff --git a/ishtar_common/migrations/0049_auto__add_field_person_alt_address__add_field_person_alt_address_compl.py b/ishtar_common/old_migrations/0049_auto__add_field_person_alt_address__add_field_person_alt_address_compl.py
index d64e3a964..d64e3a964 100644
--- a/ishtar_common/migrations/0049_auto__add_field_person_alt_address__add_field_person_alt_address_compl.py
+++ b/ishtar_common/old_migrations/0049_auto__add_field_person_alt_address__add_field_person_alt_address_compl.py
diff --git a/ishtar_common/migrations/0050_auto__chg_field_person_phone_desc3__chg_field_person_phone_desc2__chg_.py b/ishtar_common/old_migrations/0050_auto__chg_field_person_phone_desc3__chg_field_person_phone_desc2__chg_.py
index b68b3b9bb..b68b3b9bb 100644
--- a/ishtar_common/migrations/0050_auto__chg_field_person_phone_desc3__chg_field_person_phone_desc2__chg_.py
+++ b/ishtar_common/old_migrations/0050_auto__chg_field_person_phone_desc3__chg_field_person_phone_desc2__chg_.py
diff --git a/ishtar_common/migrations/0051_auto__add_field_ishtarsiteprofile_homepage.py b/ishtar_common/old_migrations/0051_auto__add_field_ishtarsiteprofile_homepage.py
index 7f8c65857..7f8c65857 100644
--- a/ishtar_common/migrations/0051_auto__add_field_ishtarsiteprofile_homepage.py
+++ b/ishtar_common/old_migrations/0051_auto__add_field_ishtarsiteprofile_homepage.py
diff --git a/ishtar_common/migrations/0052_auto__add_field_ishtarsiteprofile_file_external_id__add_field_ishtarsi.py b/ishtar_common/old_migrations/0052_auto__add_field_ishtarsiteprofile_file_external_id__add_field_ishtarsi.py
index 7b902a432..7b902a432 100644
--- a/ishtar_common/migrations/0052_auto__add_field_ishtarsiteprofile_file_external_id__add_field_ishtarsi.py
+++ b/ishtar_common/old_migrations/0052_auto__add_field_ishtarsiteprofile_file_external_id__add_field_ishtarsi.py
diff --git a/ishtar_common/migrations/0053_auto__add_field_ishtarsiteprofile_currency.py b/ishtar_common/old_migrations/0053_auto__add_field_ishtarsiteprofile_currency.py
index 04d293b04..04d293b04 100644
--- a/ishtar_common/migrations/0053_auto__add_field_ishtarsiteprofile_currency.py
+++ b/ishtar_common/old_migrations/0053_auto__add_field_ishtarsiteprofile_currency.py
diff --git a/ishtar_common/migrations/0054_auto__add_field_ishtarsiteprofile_person_raw_name.py b/ishtar_common/old_migrations/0054_auto__add_field_ishtarsiteprofile_person_raw_name.py
index 06e380189..06e380189 100644
--- a/ishtar_common/migrations/0054_auto__add_field_ishtarsiteprofile_person_raw_name.py
+++ b/ishtar_common/old_migrations/0054_auto__add_field_ishtarsiteprofile_person_raw_name.py
diff --git a/ishtar_common/migrations/0055_auto.py b/ishtar_common/old_migrations/0055_auto.py
index db41eb868..db41eb868 100644
--- a/ishtar_common/migrations/0055_auto.py
+++ b/ishtar_common/old_migrations/0055_auto.py
diff --git a/ishtar_common/migrations/0056_auto__add_titletype__add_field_person_pretitle.py b/ishtar_common/old_migrations/0056_auto__add_titletype__add_field_person_pretitle.py
index 6db62c107..6db62c107 100644
--- a/ishtar_common/migrations/0056_auto__add_titletype__add_field_person_pretitle.py
+++ b/ishtar_common/old_migrations/0056_auto__add_titletype__add_field_person_pretitle.py
diff --git a/ishtar_common/migrations/0057_rename_pretitle_old_title.py b/ishtar_common/old_migrations/0057_rename_pretitle_old_title.py
index 8a13b6c88..8a13b6c88 100644
--- a/ishtar_common/migrations/0057_rename_pretitle_old_title.py
+++ b/ishtar_common/old_migrations/0057_rename_pretitle_old_title.py
diff --git a/ishtar_common/migrations/0058_generate_title.py b/ishtar_common/old_migrations/0058_generate_title.py
index d30850cab..d30850cab 100644
--- a/ishtar_common/migrations/0058_generate_title.py
+++ b/ishtar_common/old_migrations/0058_generate_title.py
diff --git a/ishtar_common/migrations/0059_rename_exc_from_merge_to_archived.py b/ishtar_common/old_migrations/0059_rename_exc_from_merge_to_archived.py
index c329b76e2..c329b76e2 100644
--- a/ishtar_common/migrations/0059_rename_exc_from_merge_to_archived.py
+++ b/ishtar_common/old_migrations/0059_rename_exc_from_merge_to_archived.py
diff --git a/ishtar_common/migrations/0060_auto__add_historicalperson.py b/ishtar_common/old_migrations/0060_auto__add_historicalperson.py
index a1db55c37..a1db55c37 100644
--- a/ishtar_common/migrations/0060_auto__add_historicalperson.py
+++ b/ishtar_common/old_migrations/0060_auto__add_historicalperson.py
diff --git a/ishtar_common/migrations/0061_auto__add_field_historicalperson_salutation__add_field_person_salutati.py b/ishtar_common/old_migrations/0061_auto__add_field_historicalperson_salutation__add_field_person_salutati.py
index eb3b34a26..eb3b34a26 100644
--- a/ishtar_common/migrations/0061_auto__add_field_historicalperson_salutation__add_field_person_salutati.py
+++ b/ishtar_common/old_migrations/0061_auto__add_field_historicalperson_salutation__add_field_person_salutati.py
diff --git a/ishtar_common/migrations/0062_remove_ishtar_local_prefix.py b/ishtar_common/old_migrations/0062_remove_ishtar_local_prefix.py
index b1406a111..b1406a111 100644
--- a/ishtar_common/migrations/0062_remove_ishtar_local_prefix.py
+++ b/ishtar_common/old_migrations/0062_remove_ishtar_local_prefix.py
diff --git a/ishtar_common/migrations/0063_auto__add_field_ishtaruser_advanced_shortcut_menu.py b/ishtar_common/old_migrations/0063_auto__add_field_ishtaruser_advanced_shortcut_menu.py
index 19a076913..19a076913 100644
--- a/ishtar_common/migrations/0063_auto__add_field_ishtaruser_advanced_shortcut_menu.py
+++ b/ishtar_common/old_migrations/0063_auto__add_field_ishtaruser_advanced_shortcut_menu.py
diff --git a/ishtar_common/migrations/0064_auto__add_field_importercolumn_label.py b/ishtar_common/old_migrations/0064_auto__add_field_importercolumn_label.py
index 2f2b6efcc..2f2b6efcc 100644
--- a/ishtar_common/migrations/0064_auto__add_field_importercolumn_label.py
+++ b/ishtar_common/old_migrations/0064_auto__add_field_importercolumn_label.py
diff --git a/ishtar_common/migrations/0065_auto__add_spatialreferencesystem__add_field_ishtarsiteprofile_mapping.py b/ishtar_common/old_migrations/0065_auto__add_spatialreferencesystem__add_field_ishtarsiteprofile_mapping.py
index 2c1dc8a49..2c1dc8a49 100644
--- a/ishtar_common/migrations/0065_auto__add_spatialreferencesystem__add_field_ishtarsiteprofile_mapping.py
+++ b/ishtar_common/old_migrations/0065_auto__add_spatialreferencesystem__add_field_ishtarsiteprofile_mapping.py
diff --git a/ishtar_common/migrations/0066_auto__add_field_ishtarsiteprofile_base_color__add_field_ishtarsiteprof.py b/ishtar_common/old_migrations/0066_auto__add_field_ishtarsiteprofile_base_color__add_field_ishtarsiteprof.py
index 16baf8881..16baf8881 100644
--- a/ishtar_common/migrations/0066_auto__add_field_ishtarsiteprofile_base_color__add_field_ishtarsiteprof.py
+++ b/ishtar_common/old_migrations/0066_auto__add_field_ishtarsiteprofile_base_color__add_field_ishtarsiteprof.py
diff --git a/ishtar_common/migrations/0067_auto__add_field_ishtarsiteprofile_container_external_id__add_field_ish.py b/ishtar_common/old_migrations/0067_auto__add_field_ishtarsiteprofile_container_external_id__add_field_ish.py
index 2bff66138..2bff66138 100644
--- a/ishtar_common/migrations/0067_auto__add_field_ishtarsiteprofile_container_external_id__add_field_ish.py
+++ b/ishtar_common/old_migrations/0067_auto__add_field_ishtarsiteprofile_container_external_id__add_field_ish.py
diff --git a/ishtar_common/migrations/0068_auto__add_field_spatialreferencesystem_auth_name.py b/ishtar_common/old_migrations/0068_auto__add_field_spatialreferencesystem_auth_name.py
index a7f83884d..a7f83884d 100644
--- a/ishtar_common/migrations/0068_auto__add_field_spatialreferencesystem_auth_name.py
+++ b/ishtar_common/old_migrations/0068_auto__add_field_spatialreferencesystem_auth_name.py
diff --git a/ishtar_common/migrations/0069_auto__chg_field_import_error_file__chg_field_import_match_file__chg_fi.py b/ishtar_common/old_migrations/0069_auto__chg_field_import_error_file__chg_field_import_match_file__chg_fi.py
index 1fbccf642..1fbccf642 100644
--- a/ishtar_common/migrations/0069_auto__chg_field_import_error_file__chg_field_import_match_file__chg_fi.py
+++ b/ishtar_common/old_migrations/0069_auto__chg_field_import_error_file__chg_field_import_match_file__chg_fi.py
diff --git a/ishtar_common/migrations/0070_auto__add_importermodel__add_field_importertype_new_associated_models.py b/ishtar_common/old_migrations/0070_auto__add_importermodel__add_field_importertype_new_associated_models.py
index b78e71bbf..b78e71bbf 100644
--- a/ishtar_common/migrations/0070_auto__add_importermodel__add_field_importertype_new_associated_models.py
+++ b/ishtar_common/old_migrations/0070_auto__add_importermodel__add_field_importertype_new_associated_models.py
diff --git a/ishtar_common/migrations/0071_migrate_importermodels.py b/ishtar_common/old_migrations/0071_migrate_importermodels.py
index cc9b6f449..cc9b6f449 100644
--- a/ishtar_common/migrations/0071_migrate_importermodels.py
+++ b/ishtar_common/old_migrations/0071_migrate_importermodels.py
diff --git a/ishtar_common/migrations/0072_auto__del_field_importertype_new_associated_models__chg_field_importer.py b/ishtar_common/old_migrations/0072_auto__del_field_importertype_new_associated_models__chg_field_importer.py
index 9d1c9f55c..9d1c9f55c 100644
--- a/ishtar_common/migrations/0072_auto__del_field_importertype_new_associated_models__chg_field_importer.py
+++ b/ishtar_common/old_migrations/0072_auto__del_field_importertype_new_associated_models__chg_field_importer.py
diff --git a/ishtar_common/migrations/0073_auto__add_field_importercolumn_export_field_name.py b/ishtar_common/old_migrations/0073_auto__add_field_importercolumn_export_field_name.py
index a2b5ed719..a2b5ed719 100644
--- a/ishtar_common/migrations/0073_auto__add_field_importercolumn_export_field_name.py
+++ b/ishtar_common/old_migrations/0073_auto__add_field_importercolumn_export_field_name.py
diff --git a/ishtar_common/migrations/0074_auto__add_field_import_name.py b/ishtar_common/old_migrations/0074_auto__add_field_import_name.py
index 8374ce83f..8374ce83f 100644
--- a/ishtar_common/migrations/0074_auto__add_field_import_name.py
+++ b/ishtar_common/old_migrations/0074_auto__add_field_import_name.py
diff --git a/ishtar_common/migrations/0075_auto__add_field_authortype_order.py b/ishtar_common/old_migrations/0075_auto__add_field_authortype_order.py
index e768e57de..e768e57de 100644
--- a/ishtar_common/migrations/0075_auto__add_field_authortype_order.py
+++ b/ishtar_common/old_migrations/0075_auto__add_field_authortype_order.py
diff --git a/ishtar_common/old_migrations/__init__.py b/ishtar_common/old_migrations/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/ishtar_common/old_migrations/__init__.py
diff --git a/ishtar_common/utils.py b/ishtar_common/utils.py
index f1e2e4b96..962db5945 100644
--- a/ishtar_common/utils.py
+++ b/ishtar_common/utils.py
@@ -31,6 +31,10 @@ from django.utils.translation import ugettext_lazy as _, ugettext
from django.template.defaultfilters import slugify
+def get_current_year():
+ return datetime.datetime.now().year
+
+
def get_cache(cls, extra_args=[]):
cache_key = u"{}-{}-{}".format(
settings.PROJECT_SLUG, cls._meta.app_label, cls.__name__)