From 6d59f0d43094bfae59a36dacfd6806b5a6a0b572 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Sat, 4 Feb 2017 12:15:57 +0100 Subject: Makefile: adapt fixtures --- Makefile.example | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Makefile.example b/Makefile.example index 516daadc5..1acb9d10a 100644 --- a/Makefile.example +++ b/Makefile.example @@ -166,7 +166,7 @@ fixtures_auth: auth.group \ > '../fixtures/initial_data-auth-'$(default_data)'.json' -fixtures_common: fixtures_common_importers fixtures_common_towns fixtures_spatialrefsystem +fixtures_common: fixtures_common_importers fixtures_spatialrefsystem cd $(project); $(PYTHON) ./manage.py dumpdata --indent 4 \ ishtar_common.authortype \ ishtar_common.persontype \ @@ -223,10 +223,12 @@ fixtures_finds: cd $(project); $(PYTHON) ./manage.py dumpdata --indent 4 \ archaeological_finds.materialtype \ archaeological_finds.treatmenttype \ - archaeological_finds.ConservatoryState \ - archaeological_finds.PreservationType \ - archaeological_finds.ObjectType \ - archaeological_finds.IntegrityType \ + archaeological_finds.treatmentstate \ + archaeological_finds.conservatorystate \ + archaeological_finds.remarkabilitytype \ + archaeological_finds.preservationtype \ + archaeological_finds.objecttype \ + archaeological_finds.integritytype \ > '../archaeological_finds/fixtures/initial_data-'$(default_data)'.json' fixtures_warehouse: @@ -256,9 +258,11 @@ sdist: clean distribute_test: sdist twine upload -r pypitest dist/* + rm -rf ishtar.egg-info distribute_main: sdist twine upload -r pypi dist/* + rm -rf ishtar.egg-info deb: clean debuild -i -us -uc -b -- cgit v1.2.3 From 527c94d6ad95403fc65ca62b9dcb87e3ea3781d1 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Sat, 4 Feb 2017 13:17:26 +0100 Subject: Importers: importer model is now a real DB type - add field to manage created model restriction --- Makefile.example | 1 + ishtar_common/admin.py | 7 + ...add_field_importertype_new_associated_models.py | 515 ++++++++++++++++++++ .../migrations/0071_migrate_importermodels.py | 520 +++++++++++++++++++++ ...pe_new_associated_models__chg_field_importer.py | 489 +++++++++++++++++++ ishtar_common/models.py | 50 +- ishtar_common/tests.py | 19 +- 7 files changed, 1565 insertions(+), 36 deletions(-) create mode 100644 ishtar_common/migrations/0070_auto__add_importermodel__add_field_importertype_new_associated_models.py create mode 100644 ishtar_common/migrations/0071_migrate_importermodels.py create mode 100644 ishtar_common/migrations/0072_auto__del_field_importertype_new_associated_models__chg_field_importer.py diff --git a/Makefile.example b/Makefile.example index 1acb9d10a..37d439c10 100644 --- a/Makefile.example +++ b/Makefile.example @@ -178,6 +178,7 @@ fixtures_common: fixtures_common_importers fixtures_spatialrefsystem fixtures_common_importers: cd $(project); $(PYTHON) ./manage.py dumpdata --indent 4 \ + ishtar_common.importermodel \ ishtar_common.importertype \ ishtar_common.regexp \ ishtar_common.importerdefault \ diff --git a/ishtar_common/admin.py b/ishtar_common/admin.py index 7b671caae..219a6adeb 100644 --- a/ishtar_common/admin.py +++ b/ishtar_common/admin.py @@ -249,6 +249,13 @@ class ImporterColumnAdmin(admin.ModelAdmin): admin.site.register(models.ImporterColumn, ImporterColumnAdmin) +class ImporterModelAdmin(admin.ModelAdmin): + list_display = ('name', 'klass') + model = models.ImporterModel + +admin.site.register(models.ImporterModel, ImporterModelAdmin) + + class FormaterTypeAdmin(admin.ModelAdmin): list_display = ('formater_type', 'options') admin.site.register(models.FormaterType, FormaterTypeAdmin) diff --git a/ishtar_common/migrations/0070_auto__add_importermodel__add_field_importertype_new_associated_models.py b/ishtar_common/migrations/0070_auto__add_importermodel__add_field_importertype_new_associated_models.py new file mode 100644 index 000000000..b78e71bbf --- /dev/null +++ b/ishtar_common/migrations/0070_auto__add_importermodel__add_field_importertype_new_associated_models.py @@ -0,0 +1,515 @@ +# -*- 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 'ImporterModel' + db.create_table('ishtar_common_importermodel', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('name', self.gf('django.db.models.fields.CharField')(max_length=200)), + ('klass', self.gf('django.db.models.fields.CharField')(max_length=200)), + )) + db.send_create_signal('ishtar_common', ['ImporterModel']) + + # Adding field 'ImporterType.new_associated_models' + db.add_column('ishtar_common_importertype', 'new_associated_models', + self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, to=orm['ishtar_common.ImporterModel']), + keep_default=False) + + # Adding M2M table for field created_models on 'ImporterType' + db.create_table('ishtar_common_importertype_created_models', ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('importertype', models.ForeignKey(orm['ishtar_common.importertype'], null=False)), + ('importermodel', models.ForeignKey(orm['ishtar_common.importermodel'], null=False)) + )) + db.create_unique('ishtar_common_importertype_created_models', ['importertype_id', 'importermodel_id']) + + + def backwards(self, orm): + # Deleting model 'ImporterModel' + db.delete_table('ishtar_common_importermodel') + + # Deleting field 'ImporterType.new_associated_models' + db.delete_column('ishtar_common_importertype', 'new_associated_models_id') + + # Removing M2M table for field created_models on 'ImporterType' + db.delete_table('ishtar_common_importertype_created_models') + + + 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', [], {'related_name': "'author'", 'to': "orm['ishtar_common.Person']"}) + }, + 'ishtar_common.authortype': { + 'Meta': {'ordering': "['label']", 'object_name': 'AuthorType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + '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': '100'}) + }, + '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'}), + 'state': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.State']", 'null': 'True', 'blank': 'True'}) + }, + 'ishtar_common.documenttemplate': { + 'Meta': {'ordering': "['associated_object_name', 'name']", 'object_name': 'DocumentTemplate'}, + 'associated_object_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'template': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}) + }, + 'ishtar_common.format': { + 'Meta': {'object_name': 'Format'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + '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': '100'}) + }, + 'ishtar_common.formatertype': { + 'Meta': {'ordering': "('formater_type', 'options')", 'unique_together': "(('formater_type', 'options', 'many_split'),)", 'object_name': 'FormaterType'}, + 'formater_type': ('django.db.models.fields.CharField', [], {'max_length': '20'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'many_split': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'options': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}) + }, + 'ishtar_common.globalvar': { + 'Meta': {'ordering': "['slug']", 'object_name': 'GlobalVar'}, + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}), + 'value': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}) + }, + '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'}), + 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}), + 'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}), + 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'history_creator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', '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'}), + 'merge_key': ('django.db.models.fields.TextField', [], {'null': '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': '500'}), + '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'}), + 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}) + }, + 'ishtar_common.historicalperson': { + 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalPerson'}, + 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}), + 'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}), + 'attached_to_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'contact_type': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'history_creator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', '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'}), + 'merge_key': ('django.db.models.fields.TextField', [], {'null': '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': '200', 'null': 'True', 'blank': 'True'}), + 'old_title': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'raw_name': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'salutation': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'surname': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}), + 'title_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}) + }, + 'ishtar_common.import': { + 'Meta': {'object_name': 'Import'}, + 'conservative_import': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'creation_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), + 'encoding': ('django.db.models.fields.CharField', [], {'default': "'utf-8'", 'max_length': '15'}), + 'end_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'error_file': ('django.db.models.fields.files.FileField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'imported_file': ('django.db.models.fields.files.FileField', [], {'max_length': '220'}), + 'imported_images': ('django.db.models.fields.files.FileField', [], {'max_length': '220', 'null': 'True', 'blank': 'True'}), + 'importer_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.ImporterType']"}), + 'match_file': ('django.db.models.fields.files.FileField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'result_file': ('django.db.models.fields.files.FileField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'seconds_remaining': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'skip_lines': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'state': ('django.db.models.fields.CharField', [], {'default': "'C'", 'max_length': '2'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.IshtarUser']"}) + }, + 'ishtar_common.importercolumn': { + 'Meta': {'ordering': "('importer_type', 'col_number')", 'unique_together': "(('importer_type', 'col_number'),)", 'object_name': 'ImporterColumn'}, + 'col_number': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'importer_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'columns'", 'to': "orm['ishtar_common.ImporterType']"}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'regexp_pre_filter': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Regexp']", 'null': 'True', 'blank': 'True'}), + 'required': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) + }, + 'ishtar_common.importerdefault': { + 'Meta': {'object_name': 'ImporterDefault'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'importer_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'defaults'", 'to': "orm['ishtar_common.ImporterType']"}), + 'target': ('django.db.models.fields.CharField', [], {'max_length': '500'}) + }, + 'ishtar_common.importerdefaultvalues': { + 'Meta': {'object_name': 'ImporterDefaultValues'}, + 'default_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'default_values'", 'to': "orm['ishtar_common.ImporterDefault']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'target': ('django.db.models.fields.CharField', [], {'max_length': '500'}), + 'value': ('django.db.models.fields.CharField', [], {'max_length': '500'}) + }, + 'ishtar_common.importerduplicatefield': { + 'Meta': {'object_name': 'ImporterDuplicateField'}, + 'column': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'duplicate_fields'", 'to': "orm['ishtar_common.ImporterColumn']"}), + 'concat': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'concat_str': ('django.db.models.fields.CharField', [], {'max_length': '5', 'null': 'True', 'blank': 'True'}), + 'field_name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'force_new': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}) + }, + 'ishtar_common.importermodel': { + 'Meta': {'object_name': 'ImporterModel'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'klass': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '200'}) + }, + 'ishtar_common.importertype': { + 'Meta': {'object_name': 'ImporterType'}, + 'associated_models': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'created_models': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.ImporterModel']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_template': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'new_associated_models': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.ImporterModel']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '100', 'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'unicity_keys': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), + 'users': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['ishtar_common.IshtarUser']", 'null': 'True', 'blank': 'True'}) + }, + 'ishtar_common.importtarget': { + 'Meta': {'object_name': 'ImportTarget'}, + 'column': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'targets'", 'to': "orm['ishtar_common.ImporterColumn']"}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'concat': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'concat_str': ('django.db.models.fields.CharField', [], {'max_length': '5', 'null': 'True', 'blank': 'True'}), + 'force_new': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'formater_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.FormaterType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'regexp_filter': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Regexp']", 'null': 'True', 'blank': 'True'}), + 'target': ('django.db.models.fields.CharField', [], {'max_length': '500'}) + }, + 'ishtar_common.ishtarsiteprofile': { + 'Meta': {'ordering': "['label']", 'object_name': 'IshtarSiteProfile'}, + 'active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'base_color': ('django.db.models.fields.CharField', [], {'default': "'rgba(0, 0, 0, 0)'", 'max_length': '200'}), + 'base_find_external_id': ('django.db.models.fields.TextField', [], {'default': "'{context_record__external_id}-{label}'"}), + 'container_external_id': ('django.db.models.fields.TextField', [], {'default': "'{responsible__external_id}-{index}'"}), + 'context_record': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'context_record_color': ('django.db.models.fields.CharField', [], {'default': "'rgba(210,200,0,0.2)'", 'max_length': '200'}), + 'context_record_external_id': ('django.db.models.fields.TextField', [], {'default': "'{parcel__external_id}-{label}'"}), + 'currency': ('django.db.models.fields.CharField', [], {'default': "u'\\u20ac'", 'max_length': "'5'"}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'file_external_id': ('django.db.models.fields.TextField', [], {'default': "'{year}-{numeric_reference}'"}), + 'files': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'files_color': ('django.db.models.fields.CharField', [], {'default': "'rgba(0, 32, 210, 0.1)'", 'max_length': '200'}), + 'find': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'find_color': ('django.db.models.fields.CharField', [], {'default': "'rgba(210,0,0,0.15)'", 'max_length': '200'}), + 'find_external_id': ('django.db.models.fields.TextField', [], {'default': "'{get_first_base_find__context_record__external_id}-{label}'"}), + 'homepage': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'label': ('django.db.models.fields.TextField', [], {}), + 'mapping': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'mapping_color': ('django.db.models.fields.CharField', [], {'default': "'rgba(72, 236, 0, 0.15)'", 'max_length': '200'}), + 'parcel_external_id': ('django.db.models.fields.TextField', [], {'default': "'{associated_file__external_id}{operation__code_patriarche}-{town__numero_insee}-{section}{parcel_number}'"}), + 'person_raw_name': ('django.db.models.fields.TextField', [], {'default': "'{name|upper} {surname}'"}), + 'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}), + 'warehouse': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'warehouse_color': ('django.db.models.fields.CharField', [], {'default': "'rgba(10,20,200,0.15)'", 'max_length': '200'}), + 'warehouse_external_id': ('django.db.models.fields.TextField', [], {'default': "'{name|slug}'"}) + }, + 'ishtar_common.ishtaruser': { + 'Meta': {'object_name': 'IshtarUser', '_ormbases': ['auth.User']}, + 'advanced_shortcut_menu': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'person': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ishtaruser'", 'unique': 'True', 'to': "orm['ishtar_common.Person']"}), + 'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'primary_key': 'True'}) + }, + 'ishtar_common.itemkey': { + 'Meta': {'object_name': 'ItemKey'}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'importer': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Import']", 'null': 'True', 'blank': 'True'}), + 'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}) + }, + 'ishtar_common.operationtype': { + 'Meta': {'ordering': "['-preventive', 'order', 'label']", 'object_name': 'OperationType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + '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'}), + 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'preventive': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + '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'}), + 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}), + 'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}), + 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), + 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_organization'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'merge_candidate': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_candidate_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}), + 'merge_exclusion': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_exclusion_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}), + 'merge_key': ('django.db.models.fields.TextField', [], {'null': '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': '500'}), + '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'}), + 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}) + }, + 'ishtar_common.organizationtype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'OrganizationType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + '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': '100'}) + }, + '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'}), + 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}), + 'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}), + 'attached_to': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'members'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'contact_type': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), + 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_person'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'merge_candidate': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_candidate_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}), + 'merge_exclusion': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_exclusion_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}), + 'merge_key': ('django.db.models.fields.TextField', [], {'null': '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': '200', 'null': 'True', 'blank': 'True'}), + 'old_title': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'person_types': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.PersonType']", 'symmetrical': 'False'}), + 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'raw_name': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'salutation': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'surname': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}), + 'title': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.TitleType']", 'null': 'True', 'blank': 'True'}), + 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}) + }, + 'ishtar_common.persontype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'PersonType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['auth.Group']", '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': '100'}) + }, + 'ishtar_common.regexp': { + 'Meta': {'object_name': 'Regexp'}, + 'description': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'regexp': ('django.db.models.fields.CharField', [], {'max_length': '500'}) + }, + 'ishtar_common.sourcetype': { + 'Meta': {'ordering': "['label']", 'object_name': 'SourceType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + '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': '100'}) + }, + 'ishtar_common.spatialreferencesystem': { + 'Meta': {'ordering': "('label',)", 'object_name': 'SpatialReferenceSystem'}, + 'auth_name': ('django.db.models.fields.CharField', [], {'default': "'EPSG'", 'max_length': '256'}), + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + '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'}), + 'order': ('django.db.models.fields.IntegerField', [], {'default': '10'}), + 'srid': ('django.db.models.fields.IntegerField', [], {}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'ishtar_common.state': { + 'Meta': {'ordering': "['number']", 'object_name': 'State'}, + '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.supporttype': { + 'Meta': {'object_name': 'SupportType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + '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': '100'}) + }, + 'ishtar_common.targetkey': { + 'Meta': {'unique_together': "(('target', 'key', 'associated_user', 'associated_import'),)", 'object_name': 'TargetKey'}, + 'associated_import': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Import']", 'null': 'True', 'blank': 'True'}), + 'associated_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.IshtarUser']", 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_set': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'key': ('django.db.models.fields.TextField', [], {}), + 'target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'keys'", 'to': "orm['ishtar_common.ImportTarget']"}), + 'value': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}) + }, + 'ishtar_common.titletype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'TitleType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + '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': '100'}) + }, + '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'}), + 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_town'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + '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'}) + } + } + + complete_apps = ['ishtar_common'] \ No newline at end of file diff --git a/ishtar_common/migrations/0071_migrate_importermodels.py b/ishtar_common/migrations/0071_migrate_importermodels.py new file mode 100644 index 000000000..cc9b6f449 --- /dev/null +++ b/ishtar_common/migrations/0071_migrate_importermodels.py @@ -0,0 +1,520 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +def get_importer_models(): + MODELS = [ + ('ishtar_common.models.Person', u"Person"), + ('ishtar_common.models.Organization', u"Organization"), + ('archaeological_operations.models.Operation', u"Operation"), + ('archaeological_operations.models.ArchaeologicalSite', + u"Archaeological site"), + ('archaeological_operations.models.Parcel', u"Parcels"), + ('archaeological_operations.models.OperationSource', + u"Operation source"), + ] + MODELS = [('archaeological_files.models.File', + u"Archaeological files")] + MODELS + MODELS = [('archaeological_context_records.models.ContextRecord', + u"Context records"), + ('archaeological_context_records.models.RecordRelations', + u"Context record relations")] + MODELS + MODELS = [('archaeological_finds.models.BaseFind', + u"Base finds"), ] + MODELS + return MODELS + + +class Migration(SchemaMigration): + + def forwards(self, orm): + models = dict(get_importer_models()) + for klass in models.keys(): + obj, c = orm['ishtar_common.importermodel'].objects.get_or_create( + name=models[klass], klass=klass + ) + models[klass] = obj + + for imp in orm['ishtar_common.importertype'].objects.all(): + if imp.associated_models not in models: + raise NotImplemented("{} is missing in models types") + imp.new_associated_models = models[imp.associated_models] + imp.save() + + def backwards(self, orm): + pass + + 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', [], {'related_name': "'author'", 'to': "orm['ishtar_common.Person']"}) + }, + 'ishtar_common.authortype': { + 'Meta': {'ordering': "['label']", 'object_name': 'AuthorType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + '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': '100'}) + }, + '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'}), + 'state': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.State']", 'null': 'True', 'blank': 'True'}) + }, + 'ishtar_common.documenttemplate': { + 'Meta': {'ordering': "['associated_object_name', 'name']", 'object_name': 'DocumentTemplate'}, + 'associated_object_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'template': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}) + }, + 'ishtar_common.format': { + 'Meta': {'object_name': 'Format'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + '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': '100'}) + }, + 'ishtar_common.formatertype': { + 'Meta': {'ordering': "('formater_type', 'options')", 'unique_together': "(('formater_type', 'options', 'many_split'),)", 'object_name': 'FormaterType'}, + 'formater_type': ('django.db.models.fields.CharField', [], {'max_length': '20'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'many_split': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'options': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}) + }, + 'ishtar_common.globalvar': { + 'Meta': {'ordering': "['slug']", 'object_name': 'GlobalVar'}, + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}), + 'value': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}) + }, + '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'}), + 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}), + 'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}), + 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'history_creator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', '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'}), + 'merge_key': ('django.db.models.fields.TextField', [], {'null': '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': '500'}), + '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'}), + 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}) + }, + 'ishtar_common.historicalperson': { + 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalPerson'}, + 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}), + 'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}), + 'attached_to_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'contact_type': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'history_creator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', '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'}), + 'merge_key': ('django.db.models.fields.TextField', [], {'null': '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': '200', 'null': 'True', 'blank': 'True'}), + 'old_title': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'raw_name': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'salutation': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'surname': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}), + 'title_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}) + }, + 'ishtar_common.import': { + 'Meta': {'object_name': 'Import'}, + 'conservative_import': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'creation_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), + 'encoding': ('django.db.models.fields.CharField', [], {'default': "'utf-8'", 'max_length': '15'}), + 'end_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'error_file': ('django.db.models.fields.files.FileField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'imported_file': ('django.db.models.fields.files.FileField', [], {'max_length': '220'}), + 'imported_images': ('django.db.models.fields.files.FileField', [], {'max_length': '220', 'null': 'True', 'blank': 'True'}), + 'importer_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.ImporterType']"}), + 'match_file': ('django.db.models.fields.files.FileField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'result_file': ('django.db.models.fields.files.FileField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'seconds_remaining': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'skip_lines': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'state': ('django.db.models.fields.CharField', [], {'default': "'C'", 'max_length': '2'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.IshtarUser']"}) + }, + 'ishtar_common.importercolumn': { + 'Meta': {'ordering': "('importer_type', 'col_number')", 'unique_together': "(('importer_type', 'col_number'),)", 'object_name': 'ImporterColumn'}, + 'col_number': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'importer_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'columns'", 'to': "orm['ishtar_common.ImporterType']"}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'regexp_pre_filter': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Regexp']", 'null': 'True', 'blank': 'True'}), + 'required': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) + }, + 'ishtar_common.importerdefault': { + 'Meta': {'object_name': 'ImporterDefault'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'importer_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'defaults'", 'to': "orm['ishtar_common.ImporterType']"}), + 'target': ('django.db.models.fields.CharField', [], {'max_length': '500'}) + }, + 'ishtar_common.importerdefaultvalues': { + 'Meta': {'object_name': 'ImporterDefaultValues'}, + 'default_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'default_values'", 'to': "orm['ishtar_common.ImporterDefault']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'target': ('django.db.models.fields.CharField', [], {'max_length': '500'}), + 'value': ('django.db.models.fields.CharField', [], {'max_length': '500'}) + }, + 'ishtar_common.importerduplicatefield': { + 'Meta': {'object_name': 'ImporterDuplicateField'}, + 'column': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'duplicate_fields'", 'to': "orm['ishtar_common.ImporterColumn']"}), + 'concat': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'concat_str': ('django.db.models.fields.CharField', [], {'max_length': '5', 'null': 'True', 'blank': 'True'}), + 'field_name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'force_new': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}) + }, + 'ishtar_common.importermodel': { + 'Meta': {'object_name': 'ImporterModel'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'klass': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '200'}) + }, + 'ishtar_common.importertype': { + 'Meta': {'object_name': 'ImporterType'}, + 'associated_models': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'created_models': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.ImporterModel']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_template': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'new_associated_models': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.ImporterModel']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '100', 'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'unicity_keys': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), + 'users': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['ishtar_common.IshtarUser']", 'null': 'True', 'blank': 'True'}) + }, + 'ishtar_common.importtarget': { + 'Meta': {'object_name': 'ImportTarget'}, + 'column': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'targets'", 'to': "orm['ishtar_common.ImporterColumn']"}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'concat': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'concat_str': ('django.db.models.fields.CharField', [], {'max_length': '5', 'null': 'True', 'blank': 'True'}), + 'force_new': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'formater_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.FormaterType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'regexp_filter': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Regexp']", 'null': 'True', 'blank': 'True'}), + 'target': ('django.db.models.fields.CharField', [], {'max_length': '500'}) + }, + 'ishtar_common.ishtarsiteprofile': { + 'Meta': {'ordering': "['label']", 'object_name': 'IshtarSiteProfile'}, + 'active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'base_color': ('django.db.models.fields.CharField', [], {'default': "'rgba(0, 0, 0, 0)'", 'max_length': '200'}), + 'base_find_external_id': ('django.db.models.fields.TextField', [], {'default': "'{context_record__external_id}-{label}'"}), + 'container_external_id': ('django.db.models.fields.TextField', [], {'default': "'{responsible__external_id}-{index}'"}), + 'context_record': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'context_record_color': ('django.db.models.fields.CharField', [], {'default': "'rgba(210,200,0,0.2)'", 'max_length': '200'}), + 'context_record_external_id': ('django.db.models.fields.TextField', [], {'default': "'{parcel__external_id}-{label}'"}), + 'currency': ('django.db.models.fields.CharField', [], {'default': "u'\\u20ac'", 'max_length': "'5'"}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'file_external_id': ('django.db.models.fields.TextField', [], {'default': "'{year}-{numeric_reference}'"}), + 'files': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'files_color': ('django.db.models.fields.CharField', [], {'default': "'rgba(0, 32, 210, 0.1)'", 'max_length': '200'}), + 'find': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'find_color': ('django.db.models.fields.CharField', [], {'default': "'rgba(210,0,0,0.15)'", 'max_length': '200'}), + 'find_external_id': ('django.db.models.fields.TextField', [], {'default': "'{get_first_base_find__context_record__external_id}-{label}'"}), + 'homepage': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'label': ('django.db.models.fields.TextField', [], {}), + 'mapping': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'mapping_color': ('django.db.models.fields.CharField', [], {'default': "'rgba(72, 236, 0, 0.15)'", 'max_length': '200'}), + 'parcel_external_id': ('django.db.models.fields.TextField', [], {'default': "'{associated_file__external_id}{operation__code_patriarche}-{town__numero_insee}-{section}{parcel_number}'"}), + 'person_raw_name': ('django.db.models.fields.TextField', [], {'default': "'{name|upper} {surname}'"}), + 'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}), + 'warehouse': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'warehouse_color': ('django.db.models.fields.CharField', [], {'default': "'rgba(10,20,200,0.15)'", 'max_length': '200'}), + 'warehouse_external_id': ('django.db.models.fields.TextField', [], {'default': "'{name|slug}'"}) + }, + 'ishtar_common.ishtaruser': { + 'Meta': {'object_name': 'IshtarUser', '_ormbases': ['auth.User']}, + 'advanced_shortcut_menu': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'person': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ishtaruser'", 'unique': 'True', 'to': "orm['ishtar_common.Person']"}), + 'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'primary_key': 'True'}) + }, + 'ishtar_common.itemkey': { + 'Meta': {'object_name': 'ItemKey'}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'importer': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Import']", 'null': 'True', 'blank': 'True'}), + 'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}) + }, + 'ishtar_common.operationtype': { + 'Meta': {'ordering': "['-preventive', 'order', 'label']", 'object_name': 'OperationType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + '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'}), + 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'preventive': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + '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'}), + 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}), + 'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}), + 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), + 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_organization'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'merge_candidate': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_candidate_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}), + 'merge_exclusion': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_exclusion_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}), + 'merge_key': ('django.db.models.fields.TextField', [], {'null': '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': '500'}), + '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'}), + 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}) + }, + 'ishtar_common.organizationtype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'OrganizationType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + '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': '100'}) + }, + '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'}), + 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}), + 'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}), + 'attached_to': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'members'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'contact_type': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), + 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_person'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'merge_candidate': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_candidate_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}), + 'merge_exclusion': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_exclusion_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}), + 'merge_key': ('django.db.models.fields.TextField', [], {'null': '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': '200', 'null': 'True', 'blank': 'True'}), + 'old_title': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'person_types': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.PersonType']", 'symmetrical': 'False'}), + 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'raw_name': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'salutation': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'surname': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}), + 'title': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.TitleType']", 'null': 'True', 'blank': 'True'}), + 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}) + }, + 'ishtar_common.persontype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'PersonType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['auth.Group']", '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': '100'}) + }, + 'ishtar_common.regexp': { + 'Meta': {'object_name': 'Regexp'}, + 'description': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'regexp': ('django.db.models.fields.CharField', [], {'max_length': '500'}) + }, + 'ishtar_common.sourcetype': { + 'Meta': {'ordering': "['label']", 'object_name': 'SourceType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + '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': '100'}) + }, + 'ishtar_common.spatialreferencesystem': { + 'Meta': {'ordering': "('label',)", 'object_name': 'SpatialReferenceSystem'}, + 'auth_name': ('django.db.models.fields.CharField', [], {'default': "'EPSG'", 'max_length': '256'}), + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + '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'}), + 'order': ('django.db.models.fields.IntegerField', [], {'default': '10'}), + 'srid': ('django.db.models.fields.IntegerField', [], {}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'ishtar_common.state': { + 'Meta': {'ordering': "['number']", 'object_name': 'State'}, + '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.supporttype': { + 'Meta': {'object_name': 'SupportType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + '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': '100'}) + }, + 'ishtar_common.targetkey': { + 'Meta': {'unique_together': "(('target', 'key', 'associated_user', 'associated_import'),)", 'object_name': 'TargetKey'}, + 'associated_import': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Import']", 'null': 'True', 'blank': 'True'}), + 'associated_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.IshtarUser']", 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_set': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'key': ('django.db.models.fields.TextField', [], {}), + 'target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'keys'", 'to': "orm['ishtar_common.ImportTarget']"}), + 'value': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}) + }, + 'ishtar_common.titletype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'TitleType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + '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': '100'}) + }, + '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'}), + 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_town'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + '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'}) + } + } + + complete_apps = ['ishtar_common'] \ No newline at end of file diff --git a/ishtar_common/migrations/0072_auto__del_field_importertype_new_associated_models__chg_field_importer.py b/ishtar_common/migrations/0072_auto__del_field_importertype_new_associated_models__chg_field_importer.py new file mode 100644 index 000000000..9d1c9f55c --- /dev/null +++ b/ishtar_common/migrations/0072_auto__del_field_importertype_new_associated_models__chg_field_importer.py @@ -0,0 +1,489 @@ +# -*- 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): + db.delete_column('ishtar_common_importertype', 'associated_models') + db.rename_column('ishtar_common_importertype', + 'new_associated_models_id', 'associated_models_id') + + def backwards(self, orm): + # User chose to not deal with backwards NULL issues for 'ImporterType.associated_models' + raise RuntimeError("Cannot reverse this migration. 'ImporterType.associated_models' and its values cannot be restored.") + + 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', [], {'related_name': "'author'", 'to': "orm['ishtar_common.Person']"}) + }, + 'ishtar_common.authortype': { + 'Meta': {'ordering': "['label']", 'object_name': 'AuthorType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + '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': '100'}) + }, + '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'}), + 'state': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.State']", 'null': 'True', 'blank': 'True'}) + }, + 'ishtar_common.documenttemplate': { + 'Meta': {'ordering': "['associated_object_name', 'name']", 'object_name': 'DocumentTemplate'}, + 'associated_object_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'template': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}) + }, + 'ishtar_common.format': { + 'Meta': {'object_name': 'Format'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + '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': '100'}) + }, + 'ishtar_common.formatertype': { + 'Meta': {'ordering': "('formater_type', 'options')", 'unique_together': "(('formater_type', 'options', 'many_split'),)", 'object_name': 'FormaterType'}, + 'formater_type': ('django.db.models.fields.CharField', [], {'max_length': '20'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'many_split': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'options': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}) + }, + 'ishtar_common.globalvar': { + 'Meta': {'ordering': "['slug']", 'object_name': 'GlobalVar'}, + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}), + 'value': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}) + }, + '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'}), + 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}), + 'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}), + 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'history_creator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', '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'}), + 'merge_key': ('django.db.models.fields.TextField', [], {'null': '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': '500'}), + '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'}), + 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}) + }, + 'ishtar_common.historicalperson': { + 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalPerson'}, + 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}), + 'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}), + 'attached_to_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'contact_type': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'history_creator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', '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'}), + 'merge_key': ('django.db.models.fields.TextField', [], {'null': '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': '200', 'null': 'True', 'blank': 'True'}), + 'old_title': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'raw_name': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'salutation': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'surname': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}), + 'title_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}) + }, + 'ishtar_common.import': { + 'Meta': {'object_name': 'Import'}, + 'conservative_import': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'creation_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), + 'encoding': ('django.db.models.fields.CharField', [], {'default': "'utf-8'", 'max_length': '15'}), + 'end_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'error_file': ('django.db.models.fields.files.FileField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'imported_file': ('django.db.models.fields.files.FileField', [], {'max_length': '220'}), + 'imported_images': ('django.db.models.fields.files.FileField', [], {'max_length': '220', 'null': 'True', 'blank': 'True'}), + 'importer_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.ImporterType']"}), + 'match_file': ('django.db.models.fields.files.FileField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'result_file': ('django.db.models.fields.files.FileField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'seconds_remaining': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'skip_lines': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'state': ('django.db.models.fields.CharField', [], {'default': "'C'", 'max_length': '2'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.IshtarUser']"}) + }, + 'ishtar_common.importercolumn': { + 'Meta': {'ordering': "('importer_type', 'col_number')", 'unique_together': "(('importer_type', 'col_number'),)", 'object_name': 'ImporterColumn'}, + 'col_number': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'importer_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'columns'", 'to': "orm['ishtar_common.ImporterType']"}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'regexp_pre_filter': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Regexp']", 'null': 'True', 'blank': 'True'}), + 'required': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) + }, + 'ishtar_common.importerdefault': { + 'Meta': {'object_name': 'ImporterDefault'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'importer_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'defaults'", 'to': "orm['ishtar_common.ImporterType']"}), + 'target': ('django.db.models.fields.CharField', [], {'max_length': '500'}) + }, + 'ishtar_common.importerdefaultvalues': { + 'Meta': {'object_name': 'ImporterDefaultValues'}, + 'default_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'default_values'", 'to': "orm['ishtar_common.ImporterDefault']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'target': ('django.db.models.fields.CharField', [], {'max_length': '500'}), + 'value': ('django.db.models.fields.CharField', [], {'max_length': '500'}) + }, + 'ishtar_common.importerduplicatefield': { + 'Meta': {'object_name': 'ImporterDuplicateField'}, + 'column': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'duplicate_fields'", 'to': "orm['ishtar_common.ImporterColumn']"}), + 'concat': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'concat_str': ('django.db.models.fields.CharField', [], {'max_length': '5', 'null': 'True', 'blank': 'True'}), + 'field_name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'force_new': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}) + }, + 'ishtar_common.importermodel': { + 'Meta': {'ordering': "('name',)", 'object_name': 'ImporterModel'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'klass': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '200'}) + }, + 'ishtar_common.importertype': { + 'Meta': {'object_name': 'ImporterType'}, + 'associated_models': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.ImporterModel']"}), + 'created_models': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.ImporterModel']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_template': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '100', 'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'unicity_keys': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), + 'users': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['ishtar_common.IshtarUser']", 'null': 'True', 'blank': 'True'}) + }, + 'ishtar_common.importtarget': { + 'Meta': {'object_name': 'ImportTarget'}, + 'column': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'targets'", 'to': "orm['ishtar_common.ImporterColumn']"}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'concat': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'concat_str': ('django.db.models.fields.CharField', [], {'max_length': '5', 'null': 'True', 'blank': 'True'}), + 'force_new': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'formater_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.FormaterType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'regexp_filter': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Regexp']", 'null': 'True', 'blank': 'True'}), + 'target': ('django.db.models.fields.CharField', [], {'max_length': '500'}) + }, + 'ishtar_common.ishtarsiteprofile': { + 'Meta': {'ordering': "['label']", 'object_name': 'IshtarSiteProfile'}, + 'active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'base_color': ('django.db.models.fields.CharField', [], {'default': "'rgba(0, 0, 0, 0)'", 'max_length': '200'}), + 'base_find_external_id': ('django.db.models.fields.TextField', [], {'default': "'{context_record__external_id}-{label}'"}), + 'container_external_id': ('django.db.models.fields.TextField', [], {'default': "'{responsible__external_id}-{index}'"}), + 'context_record': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'context_record_color': ('django.db.models.fields.CharField', [], {'default': "'rgba(210,200,0,0.2)'", 'max_length': '200'}), + 'context_record_external_id': ('django.db.models.fields.TextField', [], {'default': "'{parcel__external_id}-{label}'"}), + 'currency': ('django.db.models.fields.CharField', [], {'default': "u'\\u20ac'", 'max_length': "'5'"}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'file_external_id': ('django.db.models.fields.TextField', [], {'default': "'{year}-{numeric_reference}'"}), + 'files': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'files_color': ('django.db.models.fields.CharField', [], {'default': "'rgba(0, 32, 210, 0.1)'", 'max_length': '200'}), + 'find': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'find_color': ('django.db.models.fields.CharField', [], {'default': "'rgba(210,0,0,0.15)'", 'max_length': '200'}), + 'find_external_id': ('django.db.models.fields.TextField', [], {'default': "'{get_first_base_find__context_record__external_id}-{label}'"}), + 'homepage': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'label': ('django.db.models.fields.TextField', [], {}), + 'mapping': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'mapping_color': ('django.db.models.fields.CharField', [], {'default': "'rgba(72, 236, 0, 0.15)'", 'max_length': '200'}), + 'parcel_external_id': ('django.db.models.fields.TextField', [], {'default': "'{associated_file__external_id}{operation__code_patriarche}-{town__numero_insee}-{section}{parcel_number}'"}), + 'person_raw_name': ('django.db.models.fields.TextField', [], {'default': "'{name|upper} {surname}'"}), + 'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}), + 'warehouse': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'warehouse_color': ('django.db.models.fields.CharField', [], {'default': "'rgba(10,20,200,0.15)'", 'max_length': '200'}), + 'warehouse_external_id': ('django.db.models.fields.TextField', [], {'default': "'{name|slug}'"}) + }, + 'ishtar_common.ishtaruser': { + 'Meta': {'object_name': 'IshtarUser', '_ormbases': ['auth.User']}, + 'advanced_shortcut_menu': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'person': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ishtaruser'", 'unique': 'True', 'to': "orm['ishtar_common.Person']"}), + 'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'primary_key': 'True'}) + }, + 'ishtar_common.itemkey': { + 'Meta': {'object_name': 'ItemKey'}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'importer': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Import']", 'null': 'True', 'blank': 'True'}), + 'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}) + }, + 'ishtar_common.operationtype': { + 'Meta': {'ordering': "['-preventive', 'order', 'label']", 'object_name': 'OperationType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + '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'}), + 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'preventive': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + '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'}), + 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}), + 'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}), + 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), + 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_organization'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'merge_candidate': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_candidate_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}), + 'merge_exclusion': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_exclusion_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}), + 'merge_key': ('django.db.models.fields.TextField', [], {'null': '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': '500'}), + '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'}), + 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}) + }, + 'ishtar_common.organizationtype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'OrganizationType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + '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': '100'}) + }, + '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'}), + 'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}), + 'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}), + 'attached_to': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'members'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'contact_type': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), + 'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_person'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'merge_candidate': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_candidate_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}), + 'merge_exclusion': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_exclusion_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}), + 'merge_key': ('django.db.models.fields.TextField', [], {'null': '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': '200', 'null': 'True', 'blank': 'True'}), + 'old_title': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'person_types': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.PersonType']", 'symmetrical': 'False'}), + 'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'raw_name': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'salutation': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'surname': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}), + 'title': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.TitleType']", 'null': 'True', 'blank': 'True'}), + 'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}) + }, + 'ishtar_common.persontype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'PersonType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['auth.Group']", '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': '100'}) + }, + 'ishtar_common.regexp': { + 'Meta': {'object_name': 'Regexp'}, + 'description': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'regexp': ('django.db.models.fields.CharField', [], {'max_length': '500'}) + }, + 'ishtar_common.sourcetype': { + 'Meta': {'ordering': "['label']", 'object_name': 'SourceType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + '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': '100'}) + }, + 'ishtar_common.spatialreferencesystem': { + 'Meta': {'ordering': "('label',)", 'object_name': 'SpatialReferenceSystem'}, + 'auth_name': ('django.db.models.fields.CharField', [], {'default': "'EPSG'", 'max_length': '256'}), + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + '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'}), + 'order': ('django.db.models.fields.IntegerField', [], {'default': '10'}), + 'srid': ('django.db.models.fields.IntegerField', [], {}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'ishtar_common.state': { + 'Meta': {'ordering': "['number']", 'object_name': 'State'}, + '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.supporttype': { + 'Meta': {'object_name': 'SupportType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + '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': '100'}) + }, + 'ishtar_common.targetkey': { + 'Meta': {'unique_together': "(('target', 'key', 'associated_user', 'associated_import'),)", 'object_name': 'TargetKey'}, + 'associated_import': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Import']", 'null': 'True', 'blank': 'True'}), + 'associated_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.IshtarUser']", 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_set': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'key': ('django.db.models.fields.TextField', [], {}), + 'target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'keys'", 'to': "orm['ishtar_common.ImportTarget']"}), + 'value': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}) + }, + 'ishtar_common.titletype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'TitleType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + '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': '100'}) + }, + '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'}), + 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_town'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + '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'}) + } + } + + complete_apps = ['ishtar_common'] \ No newline at end of file diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 12f286c61..7b596d209 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -1707,28 +1707,6 @@ IMPORTER_CLASSES.update({ 'archaeological_files.data_importer.FileImporterSraPdL'}) -def get_importer_models(): - MODELS = [ - ('ishtar_common.models.Person', _(u"Person")), - ('ishtar_common.models.Organization', _(u"Organization")), - ('archaeological_operations.models.Operation', _(u"Operation")), - ('archaeological_operations.models.ArchaeologicalSite', - _(u"Archaeological site")), - ('archaeological_operations.models.Parcel', _(u"Parcels")), - ('archaeological_operations.models.OperationSource', - _(u"Operation source")), - ] - MODELS = [('archaeological_files.models.File', - _(u"Archaeological files"))] + MODELS - MODELS = [('archaeological_context_records.models.ContextRecord', - _(u"Context records")), - ('archaeological_context_records.models.RecordRelations', - _(u"Context record relations"))] + MODELS - MODELS = [('archaeological_finds.models.BaseFind', - _(u"Base finds")), ] + MODELS - return MODELS - - def get_model_fields(model): """ Return a dict of fields from model @@ -1751,6 +1729,19 @@ def import_class(full_path_classname): return getattr(module, mods[-1]) +class ImporterModel(models.Model): + name = models.CharField(_(u"Name"), max_length=200) + klass = models.CharField(_(u"Class name"), max_length=200) + + class Meta: + verbose_name = _(u"Importer - Model") + verbose_name_plural = _(u"Importer - Models") + ordering = ('name',) + + def __unicode__(self): + return self.name + + class ImporterType(models.Model): """ Description of a table to be mapped with ishtar database @@ -1763,9 +1754,13 @@ class ImporterType(models.Model): max_length=500) users = models.ManyToManyField('IshtarUser', verbose_name=_(u"Users"), blank=True, null=True) - associated_models = models.CharField(_(u"Associated model"), - max_length=200, - choices=get_importer_models()) + associated_models = models.ForeignKey( + ImporterModel, verbose_name=_(u"Associated model"), + related_name='+', blank=True, null=True) + created_models = models.ManyToManyField( + ImporterModel, verbose_name=_(u"Models that can accept new items"), + blank=True, null=True, help_text=_(u"Leave blank for no restrictions"), + related_name='+') is_template = models.BooleanField(_(u"Is template"), default=False) unicity_keys = models.CharField(_(u"Unicity keys (separator \";\")"), blank=True, null=True, max_length=500) @@ -1781,7 +1776,7 @@ class ImporterType(models.Model): if self.slug and self.slug in IMPORTER_CLASSES: cls = import_class(IMPORTER_CLASSES[self.slug]) return cls - OBJECT_CLS = import_class(self.associated_models) + OBJECT_CLS = import_class(self.associated_models.klass) DEFAULTS = dict([(default.keys, default.values) for default in self.defaults.all()]) LINE_FORMAT = [] @@ -1836,7 +1831,6 @@ class ImporterType(models.Model): def get_associated_model(parent_model, keys): model = None - OBJECT_CLS = None if isinstance(parent_model, unicode) or \ isinstance(parent_model, str): OBJECT_CLS = import_class(parent_model) @@ -1874,7 +1868,7 @@ class ImporterDefault(models.Model): @property def associated_model(self): - return get_associated_model(self.importer_type.associated_models, + return get_associated_model(self.importer_type.associated_models.klass, self.keys) @property diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py index 0082624d7..b57ff0a94 100644 --- a/ishtar_common/tests.py +++ b/ishtar_common/tests.py @@ -271,10 +271,12 @@ class AdminGenTypeTest(TestCase): '../ishtar_common/fixtures/initial_importtypes-fr.json', settings.ROOT_PATH + '../archaeological_operations/fixtures/initial_data-fr.json'] - models = [models.OrganizationType, models.PersonType, models.TitleType, + gen_models = [models.OrganizationType, models.PersonType, models.TitleType, models.AuthorType, models.SourceType, models.OperationType, models.SpatialReferenceSystem] # models.Format, models.SupportType -- need fixtures + models_with_data = gen_models # + [models.ImporterModel] + models = models_with_data module_name = 'ishtar_common' def setUp(self): @@ -294,14 +296,15 @@ class AdminGenTypeTest(TestCase): self.assertEqual( response.status_code, 200, msg="Can not access admin list for {}.".format(model)) - url = base_url + "{}/".format(model.objects.all()[0].pk) - response = self.client.get(url) - self.assertEqual( - response.status_code, 200, - msg="Can not access admin detail for {}.".format(model)) + if model in self.models_with_data: + url = base_url + "{}/".format(model.objects.all()[0].pk) + response = self.client.get(url) + self.assertEqual( + response.status_code, 200, + msg="Can not access admin detail for {}.".format(model)) def test_csv_export(self): - for model in self.models: + for model in self.gen_models: url = '/admin/{}/{}/'.format(self.module_name, model.__name__.lower()) response = self.client.post(url, {'action': 'export_as_csv'}) @@ -311,7 +314,7 @@ class AdminGenTypeTest(TestCase): def test_str(self): # test __str__ - for model in self.models: + for model in self.models_with_data: self.assertTrue(str(model.objects.all()[0])) -- cgit v1.2.3 From c17f21d49c54514f6945d95b010cbb237d724ca8 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Sat, 4 Feb 2017 13:27:12 +0100 Subject: Fixtures: adapt importers to new import model management --- ishtar_common/fixtures/initial_importtypes-fr.json | 5864 +++++--------------- 1 file changed, 1294 insertions(+), 4570 deletions(-) diff --git a/ishtar_common/fixtures/initial_importtypes-fr.json b/ishtar_common/fixtures/initial_importtypes-fr.json index a8a7c8935..bb5977227 100644 --- a/ishtar_common/fixtures/initial_importtypes-fr.json +++ b/ishtar_common/fixtures/initial_importtypes-fr.json @@ -1,106 +1,82 @@ [ { - "pk": 15, - "model": "ishtar_common.importertype", + "pk": 2, + "model": "ishtar_common.importermodel", "fields": { - "description": "Import depuis la base filemaker du SRA PdL", - "is_template": true, - "unicity_keys": "code_patriarche", - "users": [], - "slug": "operatio", - "associated_models": "archaeological_operations.models.Operation", - "name": "OPERATIO - Op\u00e9rations" + "name": "Archaeological files", + "klass": "archaeological_files.models.File" } }, { - "pk": 6, - "model": "ishtar_common.importertype", + "pk": 4, + "model": "ishtar_common.importermodel", "fields": { - "description": "Test d'import depuis le DBF simplifi\u00e9 de patrairche", - "is_template": true, - "unicity_keys": null, - "users": [], - "slug": null, - "associated_models": "archaeological_operations.models.Operation", - "name": "OPE PATRIARCHE DBF simplifi\u00e9 (TEST)" + "name": "Archaeological site", + "klass": "archaeological_operations.models.ArchaeologicalSite" + } + }, + { + "pk": 3, + "model": "ishtar_common.importermodel", + "fields": { + "name": "Base finds", + "klass": "archaeological_finds.models.BaseFind" + } + }, + { + "pk": 10, + "model": "ishtar_common.importermodel", + "fields": { + "name": "Context record relations", + "klass": "archaeological_context_records.models.RecordRelations" } }, { "pk": 7, - "model": "ishtar_common.importertype", + "model": "ishtar_common.importermodel", "fields": { - "description": "Import simple d'UE (pas de relations)", - "is_template": true, - "unicity_keys": null, - "users": [], - "slug": null, - "associated_models": "archaeological_context_records.models.ContextRecord", - "name": "SISPEO_UE" + "name": "Context records", + "klass": "archaeological_context_records.models.ContextRecord" } }, { - "pk": 8, - "model": "ishtar_common.importertype", + "pk": 6, + "model": "ishtar_common.importermodel", "fields": { - "description": "Import depuis csv issu de SISPEO", - "is_template": true, - "unicity_keys": null, - "users": [], - "slug": null, - "associated_models": "archaeological_finds.models.BaseFind", - "name": "SISPEO_mobilier" + "name": "Operation", + "klass": "archaeological_operations.models.Operation" } }, { - "pk": 9, - "model": "ishtar_common.importertype", + "pk": 8, + "model": "ishtar_common.importermodel", "fields": { - "description": "Import des parcelles depuis un export de base SISPEO", - "is_template": true, - "unicity_keys": null, - "users": [], - "slug": null, - "associated_models": "archaeological_operations.models.Parcel", - "name": "SISPEO_parcelles" + "name": "Operation source", + "klass": "archaeological_operations.models.OperationSource" } }, { - "pk": 10, - "model": "ishtar_common.importertype", + "pk": 1, + "model": "ishtar_common.importermodel", "fields": { - "description": "Import depuis un export de la base File Maker Objet du SRA PdL", - "is_template": true, - "unicity_keys": null, - "users": [], - "slug": null, - "associated_models": "archaeological_finds.models.BaseFind", - "name": "FM_SRA_PdL_Mobilier" + "name": "Organization", + "klass": "ishtar_common.models.Organization" } }, { - "pk": 14, - "model": "ishtar_common.importertype", + "pk": 9, + "model": "ishtar_common.importermodel", "fields": { - "description": "Exports dossiers SRA PdL : importeur Filemaker dossiers", - "is_template": false, - "unicity_keys": "external_id", - "users": [], - "slug": "sra-pdl-files", - "associated_models": "archaeological_files.models.File", - "name": "sra-pdl-files" + "name": "Parcels", + "klass": "archaeological_operations.models.Parcel" } }, { - "pk": 16, - "model": "ishtar_common.importertype", + "pk": 5, + "model": "ishtar_common.importermodel", "fields": { - "description": "Base contact du SRA Pays de la Loire", - "is_template": true, - "unicity_keys": "", - "users": [], - "slug": "pdl-contact", - "associated_models": "ishtar_common.models.Person", - "name": "PDL - Contact" + "name": "Person", + "klass": "ishtar_common.models.Person" } }, { @@ -108,11 +84,12 @@ "model": "ishtar_common.importertype", "fields": { "description": "", + "created_models": [], "is_template": true, "unicity_keys": "external_id", "users": [], "slug": "mcc-parcelles", - "associated_models": "archaeological_operations.models.Parcel", + "associated_models": 9, "name": "MCC - Parcelles" } }, @@ -121,11 +98,12 @@ "model": "ishtar_common.importertype", "fields": { "description": "", + "created_models": [], "is_template": true, "unicity_keys": "external_id", "users": [], "slug": "mcc-operations", - "associated_models": "archaeological_operations.models.Operation", + "associated_models": 6, "name": "MCC - Op\u00e9rations" } }, @@ -134,11 +112,12 @@ "model": "ishtar_common.importertype", "fields": { "description": "", + "created_models": [], "is_template": true, "unicity_keys": "", "users": [], "slug": "mcc-documentation", - "associated_models": "archaeological_operations.models.OperationSource", + "associated_models": 8, "name": "MCC - Documentation" } }, @@ -147,11 +126,12 @@ "model": "ishtar_common.importertype", "fields": { "description": "", + "created_models": [], "is_template": true, "unicity_keys": "external_id", "users": [], "slug": "mcc-ue", - "associated_models": "archaeological_context_records.models.ContextRecord", + "associated_models": 7, "name": "MCC - UE" } }, @@ -160,11 +140,12 @@ "model": "ishtar_common.importertype", "fields": { "description": "", + "created_models": [], "is_template": true, "unicity_keys": "external_id", "users": [], "slug": "mcc-mobilier", - "associated_models": "archaeological_finds.models.BaseFind", + "associated_models": 3, "name": "MCC - Mobilier" } }, @@ -173,11 +154,12 @@ "model": "ishtar_common.importertype", "fields": { "description": "Unit\u00e9s d'enregisttrement", + "created_models": [], "is_template": true, "unicity_keys": "external_id", "users": [], "slug": "ishtar_context_record", - "associated_models": "archaeological_context_records.models.ContextRecord", + "associated_models": 7, "name": "ISHTAR-UE" } }, @@ -186,11 +168,12 @@ "model": "ishtar_common.importertype", "fields": { "description": "Parcelles de terrain", + "created_models": [], "is_template": true, "unicity_keys": "external_id", "users": [], "slug": "ishtar_parcels", - "associated_models": "archaeological_operations.models.Parcel", + "associated_models": 9, "name": "ISHTAR-PARCELLES" } }, @@ -199,11 +182,12 @@ "model": "ishtar_common.importertype", "fields": { "description": "Import complet standard operations", + "created_models": [], "is_template": true, "unicity_keys": "code_patriarche", "users": [], "slug": "ishtar_operations", - "associated_models": "archaeological_operations.models.Operation", + "associated_models": 6, "name": "ISHTAR-OP\u00c9RATIONS" } }, @@ -212,11 +196,12 @@ "model": "ishtar_common.importertype", "fields": { "description": "Mobilier", + "created_models": [], "is_template": true, "unicity_keys": "external_id", "users": [], "slug": "ishtar_finds", - "associated_models": "archaeological_finds.models.BaseFind", + "associated_models": 3, "name": "ISHTAR-MOBILIER" } }, @@ -229,38 +214,6 @@ "description": "" } }, - { - "pk": 16, - "model": "ishtar_common.importerdefault", - "fields": { - "importer_type": 14, - "target": "responsible_town_planning_service__attached_to" - } - }, - { - "pk": 17, - "model": "ishtar_common.importerdefault", - "fields": { - "importer_type": 14, - "target": "" - } - }, - { - "pk": 18, - "model": "ishtar_common.importerdefault", - "fields": { - "importer_type": 14, - "target": "in_charge" - } - }, - { - "pk": 19, - "model": "ishtar_common.importerdefault", - "fields": { - "importer_type": 14, - "target": "general_contractor__attached_to" - } - }, { "pk": 20, "model": "ishtar_common.importerdefault", @@ -269,22 +222,6 @@ "target": "authors" } }, - { - "pk": 21, - "model": "ishtar_common.importerdefault", - "fields": { - "importer_type": 15, - "target": "operator" - } - }, - { - "pk": 22, - "model": "ishtar_common.importerdefault", - "fields": { - "importer_type": 16, - "target": "attached_to" - } - }, { "pk": 1, "model": "ishtar_common.importerdefault", @@ -317,51 +254,6 @@ "target": "scientist__person_types" } }, - { - "pk": 21, - "model": "ishtar_common.importerdefaultvalues", - "fields": { - "default_target": 16, - "target": "organization_type", - "value": "planning_service" - } - }, - { - "pk": 22, - "model": "ishtar_common.importerdefaultvalues", - "fields": { - "default_target": 17, - "target": "file_type", - "value": "preventive" - } - }, - { - "pk": 23, - "model": "ishtar_common.importerdefaultvalues", - "fields": { - "default_target": 17, - "target": "creation_date", - "value": "2015-10-25 19:44:44.496129" - } - }, - { - "pk": 24, - "model": "ishtar_common.importerdefaultvalues", - "fields": { - "default_target": 18, - "target": "attached_to", - "value": "9" - } - }, - { - "pk": 25, - "model": "ishtar_common.importerdefaultvalues", - "fields": { - "default_target": 19, - "target": "organization_type", - "value": "general_contractor" - } - }, { "pk": 26, "model": "ishtar_common.importerdefaultvalues", @@ -371,24 +263,6 @@ "value": "main_author" } }, - { - "pk": 27, - "model": "ishtar_common.importerdefaultvalues", - "fields": { - "default_target": 21, - "target": "organization_type", - "value": "operator" - } - }, - { - "pk": 28, - "model": "ishtar_common.importerdefaultvalues", - "fields": { - "default_target": 22, - "target": "organization_type", - "value": "undefined" - } - }, { "pk": 1, "model": "ishtar_common.importerdefaultvalues", @@ -430,10 +304,10 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 1, - "description": "Code patriarche", + "description": "Code Patriarche", "regexp_pre_filter": null, "required": true, - "label": null, + "label": "Code Patriarche", "importer_type": 1 } }, @@ -442,10 +316,10 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 3, - "description": null, + "description": "", "regexp_pre_filter": null, "required": true, - "label": null, + "label": "Type d'op\u00e9ration", "importer_type": 1 } }, @@ -454,10 +328,10 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 4, - "description": null, + "description": "", "regexp_pre_filter": null, "required": true, - "label": null, + "label": "Nom de l'op\u00e9ration", "importer_type": 1 } }, @@ -466,10 +340,10 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 5, - "description": null, + "description": "", "regexp_pre_filter": null, "required": true, - "label": null, + "label": "Nom de l'op\u00e9rateur", "importer_type": 1 } }, @@ -478,10 +352,10 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 6, - "description": "Nom du responsable de l'op\u00e9ration. Nom et Pr\u00e9nom sont group\u00e9 et donc mis dans le NOM seul dans l'annuaire.", + "description": "Nom du responsable de l'op\u00e9ration. Nom et Pr\u00e9nom sont group\u00e9s et donc mis dans le NOM seul dans l'annuaire.", "regexp_pre_filter": null, "required": true, - "label": null, + "label": "Nom du responsable de l'op\u00e9ration", "importer_type": 1 } }, @@ -493,7 +367,7 @@ "description": "Date de d\u00e9but de l'op\u00e9ration avec le format ANN\u00c9E/MOIS/JOUR", "regexp_pre_filter": null, "required": true, - "label": null, + "label": "Date d\u00e9but", "importer_type": 1 } }, @@ -505,7 +379,7 @@ "description": "Date de fin de l'op\u00e9ration avec le format ANN\u00c9E/MOIS/JOUR", "regexp_pre_filter": null, "required": true, - "label": null, + "label": "Date fin", "importer_type": 1 } }, @@ -514,10 +388,10 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 9, - "description": null, + "description": "", "regexp_pre_filter": null, "required": false, - "label": null, + "label": "P\u00e9riodes", "importer_type": 1 } }, @@ -526,10 +400,10 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 1, - "description": "Code patriarche de l'op\u00e9ration associ\u00e9e", + "description": "Code Patriarche de l'op\u00e9ration associ\u00e9e", "regexp_pre_filter": null, "required": true, - "label": null, + "label": "Code Patriarche", "importer_type": 2 } }, @@ -541,7 +415,7 @@ "description": "Commune (via num\u00e9ro INSEE)", "regexp_pre_filter": 2, "required": true, - "label": null, + "label": "Commune", "importer_type": 2 } }, @@ -553,7 +427,7 @@ "description": "Identifiant externe", "regexp_pre_filter": null, "required": true, - "label": null, + "label": "Identifiant externe", "importer_type": 2 } }, @@ -565,7 +439,7 @@ "description": "Num\u00e9ro", "regexp_pre_filter": null, "required": false, - "label": null, + "label": "Parcelle", "importer_type": 2 } }, @@ -577,7 +451,7 @@ "description": "Section", "regexp_pre_filter": null, "required": false, - "label": null, + "label": "Section cadastrale", "importer_type": 2 } }, @@ -589,7 +463,7 @@ "description": "Ann\u00e9e", "regexp_pre_filter": null, "required": false, - "label": null, + "label": "Ann\u00e9e cadastrale", "importer_type": 2 } }, @@ -601,7 +475,7 @@ "description": "Lieu dit / adresse", "regexp_pre_filter": null, "required": false, - "label": null, + "label": "Adresse", "importer_type": 2 } }, @@ -610,10 +484,10 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 1, - "description": "Code patriarche de l'op\u00e9ration associ\u00e9e", + "description": "Code Patriarche de l'op\u00e9ration associ\u00e9e", "regexp_pre_filter": null, "required": true, - "label": null, + "label": "Code Patriarche", "importer_type": 3 } }, @@ -622,10 +496,10 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 2, - "description": null, + "description": "", "regexp_pre_filter": null, "required": true, - "label": null, + "label": "Identifiant externe", "importer_type": 3 } }, @@ -634,10 +508,10 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 3, - "description": null, + "description": "", "regexp_pre_filter": null, "required": true, - "label": null, + "label": "Type de document", "importer_type": 3 } }, @@ -646,10 +520,10 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 4, - "description": null, + "description": "", "regexp_pre_filter": null, "required": false, - "label": null, + "label": "Type de support", "importer_type": 3 } }, @@ -658,10 +532,10 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 5, - "description": null, + "description": "", "regexp_pre_filter": null, "required": false, - "label": null, + "label": "Num\u00e9ro", "importer_type": 3 } }, @@ -670,10 +544,10 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 6, - "description": null, + "description": "", "regexp_pre_filter": null, "required": false, - "label": null, + "label": "Nom de l'auteur", "importer_type": 3 } }, @@ -682,10 +556,10 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 7, - "description": null, + "description": "", "regexp_pre_filter": null, "required": false, - "label": null, + "label": "Date de cr\u00e9ation", "importer_type": 3 } }, @@ -694,10 +568,10 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 8, - "description": null, + "description": "", "regexp_pre_filter": null, "required": false, - "label": null, + "label": "Type de format", "importer_type": 3 } }, @@ -706,10 +580,10 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 9, - "description": null, + "description": "", "regexp_pre_filter": null, "required": false, - "label": null, + "label": "Description", "importer_type": 3 } }, @@ -718,10 +592,10 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 12, - "description": null, + "description": "", "regexp_pre_filter": null, "required": false, - "label": null, + "label": "Commentaire", "importer_type": 3 } }, @@ -730,10 +604,10 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 13, - "description": null, + "description": "", "regexp_pre_filter": null, "required": false, - "label": null, + "label": "\u00c9chelle", "importer_type": 3 } }, @@ -742,10 +616,10 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 16, - "description": null, + "description": "", "regexp_pre_filter": null, "required": false, - "label": null, + "label": "Information suppl\u00e9mentaire", "importer_type": 3 } }, @@ -754,10 +628,10 @@ "model": "ishtar_common.importercolumn", "fields": { "col_number": 1, - "description": "Code patriarche de l'op\u00e9ration associ\u00e9e", + "description": "Code Patriarche de l'op\u00e9ration associ\u00e9e", "regexp_pre_filter": null, "required": true, - "label": null, + "label": "Code Patriarche", "importer_type": 4 } }, @@ -769,7 +643,7 @@ "description": "Commune (via num\u00e9ro INSEE)", "regexp_pre_filter": null, "required": true, - "label": null, + "label": "Commune", "importer_type": 4 } }, @@ -781,7 +655,7 @@ "description": "Parcelle (identifiant externe)", "regexp_pre_filter": null, "required": true, - "label": null, + "label": "Parcelle", "importer_type": 4 } }, @@ -793,7 +667,7 @@ "description": "Label / Identifiant externe ", "regexp_pre_filter": null, "required": true, - "label": null, + "label": "Identifiant externe", "importer_type": 4 } }, @@ -805,7 +679,7 @@ "description": "Type", "regexp_pre_filter": null, "required": false, - "label": null, + "label": "Type", "importer_type": 4 } }, @@ -817,7 +691,7 @@ "description": "Description", "regexp_pre_filter": null, "required": false, - "label": null, + "label": "Description", "importer_type": 4 } }, @@ -829,7 +703,7 @@ "description": "Identification", "regexp_pre_filter": null, "required": false, - "label": null, + "label": "Identification", "importer_type": 4 } }, @@ -841,7 +715,7 @@ "description": "Date d'ouverture", "regexp_pre_filter": null, "required": false, - "label": null, + "label": "Date d\u00e9but", "importer_type": 4 } }, @@ -853,7 +727,7 @@ "description": "Date de fermeture", "regexp_pre_filter": null, "required": false, - "label": null, + "label": "Date fin", "importer_type": 4 } }, @@ -865,7 +739,7 @@ "description": "Commentaire", "regexp_pre_filter": null, "required": false, - "label": null, + "label": "Commentaire", "importer_type": 4 } }, @@ -877,7 +751,7 @@ "description": "Nature", "regexp_pre_filter": null, "required": false, - "label": null, + "label": "Nature", "importer_type": 4 } }, @@ -889,7 +763,7 @@ "description": "Chronologie (plusieurs possibles s\u00e9par\u00e9es par &)", "regexp_pre_filter": null, "required": false, - "label": null, + "label": "Chronologie", "importer_type": 4 } }, @@ -901,7 +775,7 @@ "description": "Code patriarche de l'op\u00e9ration associ\u00e9e", "regexp_pre_filter": null, "required": true, - "label": null, + "label": "Code Patriarche", "importer_type": 5 } }, @@ -913,7 +787,7 @@ "description": "Commune (via num\u00e9ro INSEE)", "regexp_pre_filter": null, "required": true, - "label": null, + "label": "Commune", "importer_type": 5 } }, @@ -937,7 +811,7 @@ "description": "Identifiant UE", "regexp_pre_filter": null, "required": true, - "label": null, + "label": "UE", "importer_type": 5 } }, @@ -949,7 +823,7 @@ "description": "Identifiant externe", "regexp_pre_filter": null, "required": true, - "label": null, + "label": "Identifiant externe", "importer_type": 5 } }, @@ -961,7 +835,7 @@ "description": "Sous classe de mat\u00e9riaux", "regexp_pre_filter": null, "required": false, - "label": null, + "label": "Mat\u00e9riau", "importer_type": 5 } }, @@ -1069,7 +943,7 @@ "description": "Datations s\u00e9par\u00e9es par des \"&\"", "regexp_pre_filter": null, "required": false, - "label": null, + "label": "Datation", "importer_type": 5 } }, @@ -1110,4349 +984,1275 @@ } }, { - "pk": 55, + "pk": 265, "model": "ishtar_common.importercolumn", "fields": { "col_number": 1, - "description": "Type d'op\u00e9ration patriarche (ex: EV, AET, OPD, etc.)", + "description": "Code PATRIARCHE ou code num\u00e9rique (entier) UNIQUE pour une op\u00e9ration.", "regexp_pre_filter": null, "required": true, - "label": null, - "importer_type": 6 + "label": "CODE OPERATION", + "importer_type": 17 } }, { - "pk": 56, + "pk": 266, "model": "ishtar_common.importercolumn", "fields": { "col_number": 2, - "description": "Intitul\u00e9 de l'op\u00e9ration dans Patriarche", + "description": "Nom usuel de l'op\u00e9ration.", "regexp_pre_filter": null, - "required": false, - "label": null, - "importer_type": 6 + "required": true, + "label": "Nom", + "importer_type": 17 } }, { - "pk": 57, + "pk": 267, "model": "ishtar_common.importercolumn", "fields": { "col_number": 3, - "description": "Nom du responsable de l'op\u00e9ration", + "description": "Ann\u00e9e de r\u00e9f\u00e9rence (peut \u00eatre celle o\u00f9 le projet d'op\u00e9ration a \u00e9t\u00e9 cr\u00e9\u00e9 ou bien celle de la r\u00e9alisation selon votre usage).", "regexp_pre_filter": null, - "required": false, - "label": null, - "importer_type": 6 + "required": true, + "label": "Ann\u00e9e", + "importer_type": 17 } }, { - "pk": 58, + "pk": 268, "model": "ishtar_common.importercolumn", "fields": { "col_number": 4, - "description": "Pr\u00e9nom du responsable de l'op\u00e9ration", + "description": "Index (num\u00e9ro par ann\u00e9e), le couple ann\u00e9e + index doit \u00eatre unique.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 6 + "label": "Index (num\u00e9ro par ann\u00e9e)", + "importer_type": 17 } }, { - "pk": 59, + "pk": 269, "model": "ishtar_common.importercolumn", "fields": { "col_number": 5, - "description": "Chronologie dans PATRIARCHE, h\u00e9las une seule chronologie est enregistr\u00e9e", + "description": "Type d'op\u00e9ration (parmi une liste).", "regexp_pre_filter": null, - "required": false, - "label": null, - "importer_type": 6 + "required": true, + "label": "Type d'op\u00e9ration", + "importer_type": 17 } }, { - "pk": 60, + "pk": 335, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 8, - "description": "Date du d\u00e9but de l'op\u00e9ration au format jour/mois/ann\u00e9e", + "col_number": 6, + "description": "Ancien code unique de l'op\u00e9ration, peut \u00eatre la r\u00e9f\u00e9rence unique d'une op\u00e9ration pass\u00e9e comme un code DRACAR par exemple, 200 carac. max.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 6 + "label": "Ancien code", + "importer_type": 17 } }, { - "pk": 61, + "pk": 270, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 9, - "description": "Date du fin de l'op\u00e9ration au format jour/mois/ann\u00e9e", + "col_number": 7, + "description": "R\u00e9f\u00e9rence du dossier administratif associ\u00e9 \u00e0 l'op\u00e9ration sous la forme ANNEE-INDEX. Exemple : \"2002-4\".", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 6 + "label": "R\u00e9f\u00e9rence du dossier administratif", + "importer_type": 17 } }, { - "pk": 62, + "pk": 271, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 10, - "description": "Identification de l'op\u00e9ration, import\u00e9 en tant que commentaire", + "col_number": 8, + "description": "Identifiants des sites (entit\u00e9s arch\u00e9ologiques) concern\u00e9es par l'op\u00e9ration, s\u00e9par\u00e9es par \u00ab\u00a0&\u00a0\u00bb. Exemple : \"44 125 0028 & 44 125 0029\".", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 6 - } - }, - { - "pk": 63, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 11, - "description": "CODE Patriarche de l'op\u00e9ration, AVEC le code REGION", - "regexp_pre_filter": null, - "required": true, - "label": null, - "importer_type": 6 + "label": "Identifiants des sites (EAs)", + "importer_type": 17 } }, { - "pk": 64, + "pk": 272, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 12, - "description": "Surface en m2", + "col_number": 9, + "description": "Types de vestiges (s\u00e9par\u00e9s par un \u00ab\u00a0&\u00a0\u00bb). Exemple : \"four & fosses & villa\".", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 6 + "label": "Types de vestiges", + "importer_type": 17 } }, { - "pk": 65, + "pk": 273, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 1, - "description": "Code OA avec le num\u00e9ro de r\u00e9gion (ex: 18 pour les PdL)", + "col_number": 10, + "description": "P\u00e9riodes concern\u00e9es (s\u00e9par\u00e9es par un \u00ab\u00a0&\u00a0\u00bb). \r\nExemple : \"Gallo-romain & Fer & Med\".", "regexp_pre_filter": null, - "required": true, - "label": null, - "importer_type": 7 + "required": false, + "label": "P\u00e9riodes", + "importer_type": 17 } }, { - "pk": 66, + "pk": 274, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 2, - "description": "Code de l'UE (peut \u00eatre la concat\u00e9nation de fait + US ou autre)", + "col_number": 11, + "description": "Titre (M., Mme, etc.) du responsable scientifique.", "regexp_pre_filter": null, - "required": true, - "label": null, - "importer_type": 7 + "required": false, + "label": "Titre du responsable scientifique", + "importer_type": 17 } }, { - "pk": 67, + "pk": 275, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 3, - "description": "Parcelle (peut \u00eatre li\u00e9 \u00e0 une parcelle virtuelle, ex: XXX 0)", + "col_number": 12, + "description": "Pr\u00e9nom du responsable scientifique (responsable d'op\u00e9ration).", "regexp_pre_filter": null, - "required": true, - "label": null, - "importer_type": 7 + "required": false, + "label": "Pr\u00e9nom du responsable scientifique", + "importer_type": 17 } }, { - "pk": 68, + "pk": 276, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 4, - "description": "Commentaire", + "col_number": 13, + "description": "Nom du responsable scientifique (responsable d'op\u00e9ration).", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 7 + "label": "Nom du responsable scientifique", + "importer_type": 17 } }, { - "pk": 94, + "pk": 277, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 5, - "description": "Type d'UE : identification", + "col_number": 14, + "description": "Rattachement du responsable scientifique (responsable d'op\u00e9ration). Exemple : \"INRAP\" ou plus pr\u00e9cis \"INRAP Direction interr\u00e9gionale Grand Ouest\" selon votre degr\u00e9 de pr\u00e9cision dans la gestion des rattachements et des organisations.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 7 + "label": "Rattachement du responsable scientifique", + "importer_type": 17 } }, { - "pk": 95, + "pk": 278, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 6, - "description": "Description de l'UE consid\u00e9r\u00e9e", + "col_number": 15, + "description": "Nom de l'op\u00e9rateur (organisation). Peut \u00eatre diff\u00e9rent de l'organisation de rattachement du responsable d'op\u00e9ration.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 7 + "label": "Nom de l'op\u00e9rateur", + "importer_type": 17 } }, { - "pk": 96, + "pk": 279, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 7, - "description": "Datation (p\u00e9riode) pour l'UE s\u00e9par\u00e9es par un &", + "col_number": 16, + "description": "R\u00e9f\u00e9rence de l'op\u00e9rateur (code ou autre r\u00e9f\u00e9rence interne de l'op\u00e9rateur).", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 7 + "label": "R\u00e9f\u00e9rence de l'op\u00e9rateur", + "importer_type": 17 } }, { - "pk": 69, + "pk": 280, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 1, - "description": "Code patriarche de l'op\u00e9ration associ\u00e9e", + "col_number": 17, + "description": "Titre (M., Mme, etc.) du responsable du suivi scientifique.", "regexp_pre_filter": null, - "required": true, - "label": null, - "importer_type": 8 + "required": false, + "label": "Titre du responsable du suivi scientifique", + "importer_type": 17 } }, { - "pk": 70, + "pk": 281, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 2, - "description": "Code Document de SISPEO, soit l'identifiant complet (ancien du mobilier), ex: M.CE.0091_XXX.XX_0030", + "col_number": 18, + "description": "Pr\u00e9nom du responsable du suivi scientifique (ex\u00a0: resp. SRA ou pilote de l'op\u00e9ration, mais non responsable de celle-ci).", "regexp_pre_filter": null, - "required": true, - "label": null, - "importer_type": 8 + "required": false, + "label": "Pr\u00e9nom du responsable du suivi scientifique", + "importer_type": 17 } }, { - "pk": 72, + "pk": 282, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 3, - "description": "UE - a passer en majuscule dans l'export csv de SISPEO / bien v\u00e9rifier qu'il n'y a pas de doublons dans l'import des UE pr\u00e9c\u00e9dent", + "col_number": 19, + "description": "Nom du responsable du suivi scientifique (ex : resp. SRA ou pilote de l'op\u00e9ration, mais non responsable de celle-ci).", "regexp_pre_filter": null, - "required": true, - "label": null, - "importer_type": 8 + "required": false, + "label": "Nom du responsable du suivi scientifique", + "importer_type": 17 } }, { - "pk": 74, + "pk": 283, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 4, - "description": "Type de manti\u00e8re de mobilier, s\u00e9par\u00e9s par des \"&\"", + "col_number": 20, + "description": "Rattachement du responsable du suivi scientifique.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 8 + "label": "Rattachement du responsable du suivi scientifique", + "importer_type": 17 } }, { - "pk": 73, + "pk": 284, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 5, - "description": "\u00c9tat de conservation / lien avec une liste", + "col_number": 21, + "description": "Surface couverte par l'op\u00e9ration (m2).", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 8 + "label": "Surface couverte par l'op\u00e9ration", + "importer_type": 17 } }, { - "pk": 77, + "pk": 285, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 6, - "description": "Commentaire", + "col_number": 22, + "description": "Date de d\u00e9but de l'op\u00e9ration (habituellement d\u00e9but du terrain mais vous pouvez utiliser autre chose).", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 8 + "label": "Date de d\u00e9but de l'op\u00e9ration", + "importer_type": 17 } }, { - "pk": 122, + "pk": 286, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 7, - "description": "Identifiant pr\u00e9c\u00e9dent / label libre", + "col_number": 23, + "description": "Date de fin de l'op\u00e9ration (habituellement fin du terrain mais vous pouvez utiliser autre chose).", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 8 + "label": "Date de fin de l'op\u00e9ration", + "importer_type": 17 } }, { - "pk": 75, + "pk": 287, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 8, - "description": "Contient des objets complets ou non (pb il peut aussi y en avoir des incomplets m\u00e9lang\u00e9s \u00e0 des complets non isol\u00e9s...)\r\nA Am\u00e9liorer", + "col_number": 24, + "description": "Date de cl\u00f4ture (peut \u00eatre la date de rendu de la documentation, la fin de la recherche associ\u00e9e ou autre). Habituellement cela repr\u00e9sente la date \u00e0 partir de laquelle la documentation issue de l'op\u00e9ration n'est plus du ressort du responsable d'op\u00e9ration, mais vous pouvez utiliser autre chose.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 8 + "label": "Date de cl\u00f4ture", + "importer_type": 17 } }, { - "pk": 78, + "pk": 288, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 9, - "description": "Datations s\u00e9par\u00e9es par des \"&\"", + "col_number": 25, + "description": "Date d'avis (ex\u00a0: avis de CIRA ou autre selon votre usage).", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 8 + "label": "Date d'avis", + "importer_type": 17 } }, { - "pk": 124, + "pk": 289, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 10, - "description": "Description de l'objet ou du lot d'objet", + "col_number": 26, + "description": "R\u00e9sultats consid\u00e9r\u00e9s comme n\u00e9gatif (d\u2019ordinaire utilis\u00e9 pour les diagnostics n\u00e9gatifs).", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 8 + "label": "R\u00e9sultats consid\u00e9r\u00e9s comme n\u00e9gatif", + "importer_type": 17 } }, { - "pk": 79, + "pk": 290, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 11, - "description": "Nombre d'objets", + "col_number": 27, + "description": "Pr\u00e9nom du rapporteur (CIRA ou autre selon votre usage de la notion d'avis).", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 8 + "label": "Pr\u00e9nom du rapporteur", + "importer_type": 17 } }, { - "pk": 80, + "pk": 291, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 12, - "description": "Poids (en g)", + "col_number": 28, + "description": "Nom du rapporteur (CIRA ou autre selon votre usage de la notion d'avis).", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 8 + "label": "Nom du rapporteur", + "importer_type": 17 } }, { - "pk": 81, + "pk": 292, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 13, - "description": "Longueur en cm", + "col_number": 29, + "description": "Rattachement rapporteur (organisation).", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 8 + "label": "Rattachement du rapporteur", + "importer_type": 17 } }, { - "pk": 125, + "pk": 293, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 14, - "description": "Largeur en cm", + "col_number": 30, + "description": "Date limite pr\u00e9vue pour le rendu de la documentation scientifique.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 8 + "label": "Date limite pour le rendu de la documentation", + "importer_type": 17 } }, { - "pk": 126, + "pk": 294, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 15, - "description": "Hauteur en cm", + "col_number": 31, + "description": "Documentation re\u00e7ue.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 8 + "label": "Documentation re\u00e7ue", + "importer_type": 17 } }, { - "pk": 127, + "pk": 295, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 16, - "description": "Diam\u00e8tre en cm", + "col_number": 32, + "description": "Date limite pr\u00e9vue pour le rendu du mobilier.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 8 + "label": "Date limite rendu du mobilier", + "importer_type": 17 } }, { - "pk": 128, + "pk": 296, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 18, - "description": "Datation pr\u00e9cise, champs txt libre", + "col_number": 33, + "description": "Mobilier re\u00e7u ou livr\u00e9 selon vos usages et proc\u00e9dures.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 8 + "label": "Mobilier re\u00e7u", + "importer_type": 17 } }, { - "pk": 82, + "pk": 297, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 19, - "description": "Types d'objets se r\u00e9f\u00e9ren\u00e7ant par rapport \u00e0 un th\u00e9saurus", + "col_number": 34, + "description": "Commentaire g\u00e9n\u00e9ral.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 8 + "label": "Commentaire g\u00e9n\u00e9ral", + "importer_type": 17 } }, { - "pk": 76, + "pk": 298, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 20, - "description": "Isolation ou lot d'objets", + "col_number": 35, + "description": "Date de livraison du rapport.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 8 + "label": "Date de livraison du rapport", + "importer_type": 17 } }, { - "pk": 83, + "pk": 299, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 1, - "description": "Code patriarche de l'op\u00e9ration associ\u00e9e", + "col_number": 36, + "description": "\u00c9tat de traitement du rapport.", "regexp_pre_filter": null, - "required": true, - "label": null, - "importer_type": 9 - } - }, - { - "pk": 84, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 2, - "description": "Commune (via num\u00e9ro INSEE)", - "regexp_pre_filter": 2, - "required": true, - "label": null, - "importer_type": 9 + "required": false, + "label": "\u00c9tat de traitement du rapport", + "importer_type": 17 } }, { - "pk": 85, + "pk": 300, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 4, - "description": "Section de la parcelle", + "col_number": 37, + "description": "Commentaire sur la documentation scientifique (y compris mobilier).", "regexp_pre_filter": null, - "required": true, - "label": null, - "importer_type": 9 + "required": false, + "label": "Commentaire sur la documentation", + "importer_type": 17 } }, { - "pk": 86, + "pk": 301, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 5, - "description": "Num\u00e9ro de la parcelle (ex: 125)", + "col_number": 38, + "description": "Nom du fichier image (jpg ou png. Exemple \"IMG_5023.jpg\". Les fichiers images doivent \u00eatre joints \u00e0 l'import dans un fichier ZIP.", "regexp_pre_filter": null, - "required": true, - "label": null, - "importer_type": 9 + "required": false, + "label": "Image", + "importer_type": 17 } }, { - "pk": 87, + "pk": 302, "model": "ishtar_common.importercolumn", "fields": { "col_number": 1, - "description": "Numero OA reference", + "description": "Code PATRIARCHE ou code UNIQUE de l'op\u00e9ration associ\u00e9e.", "regexp_pre_filter": null, "required": true, - "label": null, - "importer_type": 10 + "label": "CODE OPERATION", + "importer_type": 18 } }, { - "pk": 88, + "pk": 311, "model": "ishtar_common.importercolumn", "fields": { "col_number": 2, - "description": "Ref\u00e9rence pr\u00e9c\u00e9dente de l'objet (base ou inventaire pr\u00e9c\u00e9dent, fouille, sp\u00e9cialiste, etc;)", + "description": "Commune (via num\u00e9ro INSEE).", "regexp_pre_filter": null, "required": true, - "label": null, - "importer_type": 10 + "label": "INSEE", + "importer_type": 18 } }, { - "pk": 89, + "pk": 312, "model": "ishtar_common.importercolumn", "fields": { "col_number": 3, - "description": "UE li\u00e9e au mobilier", + "description": "Parcelle (identifiant externe), soit la section plus la parcelle sans espaces. Exemple : \"ZA253\".", "regexp_pre_filter": null, "required": true, - "label": null, - "importer_type": 10 + "label": "Parcelle", + "importer_type": 18 } }, { - "pk": 90, + "pk": 313, "model": "ishtar_common.importercolumn", "fields": { "col_number": 4, - "description": "Mati\u00e8res s\u00e9par\u00e9es par des \"&\"", + "description": "Ann\u00e9e de la r\u00e9f\u00e9rence cadastrale. Exemple : \"1980\".", "regexp_pre_filter": null, - "required": true, - "label": null, - "importer_type": 10 + "required": false, + "label": "Ann\u00e9e cadastre", + "importer_type": 18 } }, { - "pk": 91, + "pk": 314, "model": "ishtar_common.importercolumn", "fields": { "col_number": 5, - "description": "Etat de conservation", + "description": "Label / Identifiant (externe) de l'UE, ex: \"US 145\", \"Tranch\u00e9e 145\", \"145\", \"St 17\" etc.\r\nDoit \u00eatre unique pour une parcelle donn\u00e9e. Maximum 200 caract\u00e8res.", "regexp_pre_filter": null, - "required": false, - "label": null, - "importer_type": 10 + "required": true, + "label": "Label UE", + "importer_type": 18 } }, { - "pk": 92, + "pk": 315, "model": "ishtar_common.importercolumn", "fields": { "col_number": 6, - "description": "Commentaires", + "description": "Type d'UE. Exemple : \"US\", \"Couche\", \"Tranch\u00e9e\", \"zone\", \"Secteur\", \"Log\", \"Carr\u00e9\", etc.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 10 - } + "label": "Type", + "importer_type": 18 + } }, { - "pk": 93, + "pk": 316, "model": "ishtar_common.importercolumn", "fields": { "col_number": 7, - "description": "Label libre", + "description": "Description.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 10 + "label": "Description", + "importer_type": 18 } }, { - "pk": 192, + "pk": 317, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 2, - "description": null, + "col_number": 8, + "description": "Commentaire g\u00e9n\u00e9ral.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 14 + "label": "Commentaire g\u00e9n\u00e9ral", + "importer_type": 18 } }, { - "pk": 193, + "pk": 318, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 3, - "description": null, + "col_number": 9, + "description": "Taille ou longueur (en m\u00e8tre). Exemple : \"1.2\", \"12\".", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 14 + "label": "Taille ou longueur", + "importer_type": 18 } }, { - "pk": 194, + "pk": 319, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 5, - "description": null, + "col_number": 10, + "description": "Largeur (en m\u00e8tre). Exemple : \"1.2\", \"12\".", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 14 + "label": "Largeur", + "importer_type": 18 } }, { - "pk": 195, + "pk": 320, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 9, - "description": null, + "col_number": 11, + "description": "\u00c9paisseur (en m\u00e8tre). Exemple : \"0.2\", \"2\".", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 14 + "label": "\u00c9paisseur", + "importer_type": 18 } }, { - "pk": 196, + "pk": 321, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 10, - "description": null, + "col_number": 12, + "description": "Profondeur (en m\u00e8tre). Exemple : \"0.2\", \"2\".", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 14 + "label": "Profondeur", + "importer_type": 18 } }, { - "pk": 197, + "pk": 322, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 12, - "description": null, + "col_number": 13, + "description": "Lieu, description textuelle de la localisation. Exemple : \"Au pied de l'arbre du P\u00e8re Jahouen\", \"En limite nord de la parcelle\", etc.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 14 + "label": "Lieu, localisation", + "importer_type": 18 } }, { - "pk": 198, + "pk": 323, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 13, - "description": null, + "col_number": 14, + "description": "Contient ou non du mobilier (oui/non).", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 14 + "label": "Contient du mobilier", + "importer_type": 18 } }, { - "pk": 199, + "pk": 324, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 14, - "description": null, + "col_number": 15, + "description": "Nom du fichier image (jpg ou png). Exemple : \"IMG_5023.jpg\". Les fichiers images doivent \u00eatre joints \u00e0 l'import dans un fichier ZIP.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 14 + "label": "Image", + "importer_type": 18 } }, { - "pk": 200, + "pk": 325, "model": "ishtar_common.importercolumn", "fields": { "col_number": 16, - "description": null, + "description": "Chronologies associ\u00e9es (plusieurs possibles s\u00e9par\u00e9es par &). Exemple : \"Gallo-romain & M\u00e9di\u00e9val\", \"GR&MED\", \"M\u00e9solithique final & M\u00e9so moyen & Epipal\", etc.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 14 + "label": "P\u00e9riodes", + "importer_type": 18 } }, { - "pk": 201, + "pk": 326, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 18, - "description": null, + "col_number": 17, + "description": "Commentaire sur les datations. Exemple : \"IIe - IIIe s.\", \"fin XVe ou plus tard\", etc.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 14 + "label": "Commentaire sur les datations", + "importer_type": 18 } }, { - "pk": 202, + "pk": 327, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 19, - "description": null, + "col_number": 18, + "description": "Description du remplissage. Exemple : \"Limons argileux brun riche en charbons\".", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 14 + "label": "Description du remplissage", + "importer_type": 18 } }, { - "pk": 203, + "pk": 328, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 20, - "description": null, + "col_number": 19, + "description": "Interpr\u00e9tation. Exemple : \"Mur de cl\u00f4ture\", \"Sol couvert d'une mosa\u00efque, \"Pal\u00e9osol du d\u00e9but de l'Holoc\u00e8ne\", \"Four de r\u00e9duction de minerai de fer\", \"TP\", etc.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 14 + "label": "Interpr\u00e9tation", + "importer_type": 18 } }, { - "pk": 204, + "pk": 329, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 35, - "description": null, + "col_number": 20, + "description": "Activit\u00e9, r\u00e9f\u00e9rence \u00e0 des types. Exemple : \"Naturelle\", \"Construction\", etc.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 14 + "label": "Type d'activit\u00e9", + "importer_type": 18 } }, { - "pk": 205, + "pk": 330, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 37, - "description": null, + "col_number": 21, + "description": "Identification (type). Exemple : \"Niveau d'occupation\", \"Mur\", \"Colluvions\", \"Chablis\", etc.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 14 + "label": "Identification (type)", + "importer_type": 18 } }, { - "pk": 206, + "pk": 331, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 38, - "description": null, + "col_number": 22, + "description": "Terminus ante quem, limite temporelle avant laquelle l'UE s'est form\u00e9e, ici sous la forme de valeurs enti\u00e8res. Exemple : \"322\", \"-45\", etc.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 14 + "label": "TAQ", + "importer_type": 18 } }, { - "pk": 207, + "pk": 332, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 41, - "description": null, + "col_number": 23, + "description": "Terminus post quem, limite temporelle apr\u00e8s laquelle l'UE s'est form\u00e9e, ici sous la forme de valeurs enti\u00e8res. Exemple : \"322\", \"-45\", etc.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 14 + "label": "TPQ", + "importer_type": 18 } }, { - "pk": 208, + "pk": 333, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 42, - "description": null, + "col_number": 24, + "description": "Terminus ante quem estim\u00e9, limite temporelle avant laquelle l'UE s'est form\u00e9e, ici sous la forme de valeurs enti\u00e8res. Exemple : \"322\", \"-45\", etc.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 14 + "label": "TAQ estim\u00e9", + "importer_type": 18 } }, { - "pk": 209, + "pk": 334, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 47, - "description": null, + "col_number": 25, + "description": "Terminus post quem estim\u00e9, limite temporelle avant laquelle l'UE s'est form\u00e9e, ici sous la forme de valeurs enti\u00e8res. Exemple : \"322\", \"-45\", etc.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 14 + "label": "TPQ estim\u00e9", + "importer_type": 18 } }, { - "pk": 210, + "pk": 303, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 49, - "description": null, + "col_number": 1, + "description": "Code PATRIARCHE ou code num\u00e9rique (entier) UNIQUE pour une op\u00e9ration.", "regexp_pre_filter": null, - "required": false, - "label": null, - "importer_type": 14 + "required": true, + "label": "CODE OPERATION", + "importer_type": 19 } }, { - "pk": 211, + "pk": 304, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 50, - "description": null, - "regexp_pre_filter": null, - "required": false, - "label": null, - "importer_type": 14 + "col_number": 2, + "description": "Commune (via num\u00e9ro INSEE).", + "regexp_pre_filter": 2, + "required": true, + "label": "Commune", + "importer_type": 19 } }, { - "pk": 212, + "pk": 305, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 53, - "description": null, + "col_number": 3, + "description": "Identifiant externe.", "regexp_pre_filter": null, - "required": false, - "label": null, - "importer_type": 14 + "required": true, + "label": "ID externe", + "importer_type": 19 } }, { - "pk": 213, + "pk": 306, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 54, - "description": null, + "col_number": 4, + "description": "Section. Exemple : \"ZA\". Maximum 4 caract\u00e8res.", "regexp_pre_filter": null, - "required": false, - "label": null, - "importer_type": 14 + "required": true, + "label": "Section", + "importer_type": 19 } }, { - "pk": 214, + "pk": 307, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 55, - "description": null, + "col_number": 5, + "description": "Num\u00e9ro de la parcelle. Exemple : \"253\". Peut accueillir une r\u00e9f\u00e9rence sous la forme de caract\u00e8res (maximum 6).", "regexp_pre_filter": null, - "required": false, - "label": null, - "importer_type": 14 + "required": true, + "label": "Parcelle", + "importer_type": 19 } }, { - "pk": 215, + "pk": 308, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 57, - "description": null, + "col_number": 6, + "description": "Ann\u00e9e de la r\u00e9f\u00e9rence cadastrale. Exemple : \"1980\".", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 14 + "label": "Ann\u00e9e cadastrale", + "importer_type": 19 } }, { - "pk": 216, + "pk": 309, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 58, - "description": null, + "col_number": 7, + "description": "Lieu-dit ou adresse associ\u00e9s \u00e0 la parcelle.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 14 + "label": "Adresse", + "importer_type": 19 } }, { - "pk": 217, + "pk": 310, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 72, - "description": null, + "col_number": 8, + "description": "Parcelle dans le domaine public ou non (oui/non).", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 14 + "label": "Domaine public", + "importer_type": 19 } }, { - "pk": 218, + "pk": 336, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 75, - "description": null, + "col_number": 1, + "description": "Code PATRIARCHE ou code num\u00e9rique (entier) UNIQUE pour une op\u00e9ration.", "regexp_pre_filter": null, - "required": false, - "label": null, - "importer_type": 14 + "required": true, + "label": "CODE OPERATION", + "importer_type": 20 } }, { - "pk": 219, + "pk": 337, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 76, - "description": null, + "col_number": 2, + "description": "Commune (via num\u00e9ro INSEE).", "regexp_pre_filter": null, - "required": false, - "label": null, - "importer_type": 14 + "required": true, + "label": "INSEE", + "importer_type": 20 } }, { - "pk": 220, + "pk": 338, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 77, - "description": null, + "col_number": 3, + "description": "Parcelle (identifiant externe), soit la section plus la parcelle sans espaces. Exemple : \"ZA253\".", "regexp_pre_filter": null, - "required": false, - "label": null, - "importer_type": 14 + "required": true, + "label": "Parcelle", + "importer_type": 20 } }, { - "pk": 221, + "pk": 339, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 85, - "description": null, + "col_number": 4, + "description": "Label / Identifiant (externe) de l'UE. Exemple : \"US 145\", \"Tranch\u00e9e 145\", \"145\", \"St 17\", etc. Doit \u00eatre unique pour une parcelle donn\u00e9e.", "regexp_pre_filter": null, - "required": false, - "label": null, - "importer_type": 14 + "required": true, + "label": "Label UE", + "importer_type": 20 } }, { - "pk": 222, + "pk": 340, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 87, - "description": null, + "col_number": 5, + "description": "Identifiant libre pour le mobilier. Exemple : \"12\", \"Lot 24\", \"Sac vert\", etc.\r\nDoit \u00eatre unique \u00e0 l'\u00e9chelle de l'UE associ\u00e9e.", "regexp_pre_filter": null, - "required": false, - "label": null, - "importer_type": 14 + "required": true, + "label": "Label mobilier", + "importer_type": 20 } }, { - "pk": 223, + "pk": 341, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 88, - "description": null, + "col_number": 6, + "description": "Identifiant pr\u00e9c\u00e9dent, li\u00e9 \u00e0 une base de donn\u00e9e ou un autre mode d'enregistrement. Exemple : \"400.01.05\", \"Beau biface\", \"inv. 4523\", \"Iso.4220\", etc.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 14 + "label": "Identifiant pr\u00e9c\u00e9dent", + "importer_type": 20 } }, { - "pk": 224, + "pk": 343, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 89, - "description": null, + "col_number": 7, + "description": "R\u00e9f\u00e9rence du point topo, d'ordinaire un entier mais peut \u00eatre autre chose. Champ texte, max. 120 caract\u00e8res. Exemple : \"7220\", \"pt. 72\", etc.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 14 + "label": "Ref. point topo", + "importer_type": 20 } }, { - "pk": 230, + "pk": 342, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 1, - "description": "Code Patriarche", + "col_number": 8, + "description": "Description du mobilier, objet ou lot. Exemple : \"Fibule aviforme\".", "regexp_pre_filter": null, - "required": true, - "label": null, - "importer_type": 15 + "required": false, + "label": "Description", + "importer_type": 20 } }, { - "pk": 231, + "pk": 344, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 3, - "description": "Type d'op\u00e9ration", + "col_number": 9, + "description": "D\u00e9finit si on enregistre ici un objet seul (parfois appel\u00e9 Isolation) ou un lot d'objets. Exemple : \"lot\", \"objet\", \"Iso\", \"vrac\", etc.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 15 + "label": "Lot ou objet", + "importer_type": 20 } }, { - "pk": 232, + "pk": 345, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 4, - "description": "Nom de l'op\u00e9ration", + "col_number": 10, + "description": "D\u00e9finit si un objet est complet ou non. Exemple : \"complet\", \"est complet\", \"incomplet\".\r\nEst ici traduit en binaire : \"complet\" (vrai) ou \"incomplet\" (faux). ", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 15 + "label": "Compl\u00e9tude", + "importer_type": 20 } }, { - "pk": 233, + "pk": 346, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 5, - "description": "Nom de l'op\u00e9rateur", + "col_number": 11, + "description": "Type(s) de mat\u00e9riau(x) s\u00e9par\u00e9s par des \"&\". Exemple : \"m\u00e9tal & os\", \"LT\", \"Min\u00e9ral\", \"Granito\u00efde & Basalte & Ardoise\".", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 15 + "label": "Materiaux(x)", + "importer_type": 20 } }, { - "pk": 234, + "pk": 347, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 6, - "description": "Nom du responsable de l'op\u00e9ration.", + "col_number": 12, + "description": "\u00c9tat de conservation. Exemple : \"Instable\", \"Stable\", \"Inconnu\", etc.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 15 + "label": "\u00c9tat de conservation", + "importer_type": 20 } }, { - "pk": 235, + "pk": 348, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 7, - "description": "Pr\u00e9nom du responsable de l'op\u00e9ration.", + "col_number": 13, + "description": "Commentaire relatif \u00e0 la conservation. Exemple : \"Devrait \u00eatre conserv\u00e9 dans une chambre climatis\u00e9e\", \"Ne sera plus qu'une poudre, si on ne s'en occupe pas sous peu\", \" \u00e0 jeter\", etc.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 15 + "label": "Commentaire conservation", + "importer_type": 20 } }, { - "pk": 236, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 8, - "description": "Date de d\u00e9but de l'op\u00e9ration avec le format ANN\u00c9E/MOIS/JOUR", - "regexp_pre_filter": null, - "required": false, - "label": null, - "importer_type": 15 - } - }, - { - "pk": 237, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 9, - "description": "Date de fin de l'op\u00e9ration avec le format ANN\u00c9E/MOIS/JOUR", - "regexp_pre_filter": null, - "required": false, - "label": null, - "importer_type": 15 - } - }, - { - "pk": 238, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 10, - "description": "P\u00e9riodes chronologiques", - "regexp_pre_filter": null, - "required": false, - "label": null, - "importer_type": 15 - } - }, - { - "pk": 239, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 11, - "description": "Ann\u00e9e de r\u00e9f\u00e9rence administrative", - "regexp_pre_filter": null, - "required": false, - "label": null, - "importer_type": 15 - } - }, - { - "pk": 240, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 12, - "description": "Num\u00e9ro de r\u00e9f\u00e9rence administrative de l'op\u00e9ration", - "regexp_pre_filter": null, - "required": false, - "label": null, - "importer_type": 15 - } - }, - { - "pk": 241, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 13, - "description": "Ancienne ref type DRACAR", - "regexp_pre_filter": null, - "required": false, - "label": null, - "importer_type": 15 - } - }, - { - "pk": 242, + "pk": 349, "model": "ishtar_common.importercolumn", "fields": { "col_number": 14, - "description": "Commentaires", + "description": "Type(s) d'objet(s), s\u00e9par\u00e9s par des \"&\". Exemple : \"tesson & charbon\", \"os & m\u00e9tal\", \"faune\", \"fibule & bague\", \"lame & lamelle\", \"\u00e9clat & nucl\u00e9us\", etc.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 15 + "label": "Type(s) d'objet(s)", + "importer_type": 20 } }, { - "pk": 243, + "pk": 350, "model": "ishtar_common.importercolumn", "fields": { "col_number": 15, - "description": "Date de rendu du rapport (du premier si il y en a plusieurs)", + "description": "Type(s) d'actions de conservation \u00e0 mener, s\u00e9par\u00e9s par des \"&\". Exemple : \"\u00c0 restaurer\", \"reconditionnement\", \"\u00c0 reconditionner & \u00e0 stabiliser\"", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 15 + "label": "Type(s) d'actions de conservation \u00e0 mener", + "importer_type": 20 } }, { - "pk": 244, + "pk": 351, "model": "ishtar_common.importercolumn", "fields": { "col_number": 16, - "description": "\u00c9tat de traitement des rapports", - "regexp_pre_filter": null, - "required": false, - "label": null, - "importer_type": 15 - } - }, - { - "pk": 245, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 1, - "description": "Adresse du domicile", - "regexp_pre_filter": null, - "required": false, - "label": null, - "importer_type": 16 - } - }, - { - "pk": 246, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 2, - "description": "Courriel", - "regexp_pre_filter": null, - "required": false, - "label": null, - "importer_type": 16 - } - }, - { - "pk": 247, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 3, - "description": "Adresse", - "regexp_pre_filter": null, - "required": false, - "label": null, - "importer_type": 16 - } - }, - { - "pk": 251, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 4, - "description": "Commentaire : #AFEAF", - "regexp_pre_filter": null, - "required": false, - "label": null, - "importer_type": 16 - } - }, - { - "pk": 252, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 7, - "description": "Commentaire : #BSR_CONTRI", - "regexp_pre_filter": null, - "required": false, - "label": null, - "importer_type": 16 - } - }, - { - "pk": 248, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 10, - "description": "Code postal domicie", + "description": "Type(s) d'int\u00e9r\u00eat scientifique ou d'int\u00e9grit\u00e9, s\u00e9par\u00e9s par des \"&\". Exemple : \"Arch\u00e9ologiquement complet\", \"absent\", \"perdu\", etc.\r\nPeut \u00e9galement qualifier (selon votre usage) des qualit\u00e9s de fragmentation : \"proximal\", \"distal\", etc.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 16 + "label": "Type(s) d'int\u00e9grit\u00e9(s) et/ou int\u00e9r\u00eat(s)", + "importer_type": 20 } }, { - "pk": 249, + "pk": 352, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 11, - "description": "Code postal", + "col_number": 17, + "description": "Type(s) de remarquabilit\u00e9(s), s\u00e9par\u00e9s par des \"&\". Exemple : \"Mus\u00e9e\", \"Publication\", \"Tessonier & Publication\", etc.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 16 + "label": "Type(s) de remarqualibit\u00e9(s)", + "importer_type": 20 } }, { - "pk": 250, + "pk": 353, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 17, - "description": "Quelle est l'adresse pr\u00e9f\u00e9r\u00e9e ? (pro/domicile)", + "col_number": 18, + "description": "Longueur en cm (nombre d\u00e9cimal).", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 16 + "label": "Longueur (cm)", + "importer_type": 20 } }, { - "pk": 253, + "pk": 354, "model": "ishtar_common.importercolumn", "fields": { "col_number": 19, - "description": "Type de contact", + "description": "Largeur en cm (nombre d\u00e9cimal).", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 16 + "label": "Largeur (cm)", + "importer_type": 20 } }, { - "pk": 254, + "pk": 355, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 28, - "description": "Nom", + "col_number": 20, + "description": "Hauteur en cm (nombre d\u00e9cimal).", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 16 + "label": "Hauteur (cm)", + "importer_type": 20 } }, { - "pk": 255, + "pk": 356, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 29, - "description": "Nom de la structure associ\u00e9e", + "col_number": 21, + "description": "Diam\u00e8tre en cm (nombre d\u00e9cimal).", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 16 + "label": "Diam\u00e8tre (cm)", + "importer_type": 20 } }, { - "pk": 256, + "pk": 357, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 31, - "description": "Commentaire", + "col_number": 22, + "description": "Commentaire permettant de donner des pr\u00e9cisions (ou d'importer des donn\u00e9es mixtes). Exemple : \"18 x 12 x 5\", \"col de 43 mm\", etc.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 16 + "label": "Commentaire / Pr\u00e9cisions sur les dimensions ", + "importer_type": 20 } }, { - "pk": 257, + "pk": 358, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 32, - "description": "T\u00e9l\u00e9phone champs brut", + "col_number": 23, + "description": "Nombre d'objet(s) li\u00e9(s) \u00e0 cet enregistrement (entier). Exemple : \"12\".\r\nAttention, ce champ n'est pas contraint par l'information de type OBJET/LOT (colonne n\u00b09).", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 16 + "label": "Nombre", + "importer_type": 20 } }, { - "pk": 258, + "pk": 359, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 33, - "description": "Pays du domicile", + "col_number": 24, + "description": "Marquage visible sur le mobilier. Exemple : \"id1234 la Roche aux F\u00e9es\", \"MTX-45\", etc.\r\nCeci reproduit d'ordinaire un marquage r\u00e9alis\u00e9 par un arch\u00e9ologue. Il ne s'agit pas ici de reproduire une \u00e9pigraphie ou tout autre inscription arch\u00e9ologique (graffito, d\u00e9dicaces, defixio, etc.) , mais vous pouvez l'utiliser pour cela si vous n'avez pas \u00e0 utiliser de marquage arch\u00e9ologique.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 16 + "label": "Marque", + "importer_type": 20 } }, { - "pk": 259, + "pk": 360, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 34, - "description": "Pays", + "col_number": 25, + "description": "Commentaire g\u00e9n\u00e9ral libre. Exemple : \"habillage en nid d'abeille, poli g\u00e9n\u00e9ralis\u00e9, encoche emmanchement lat\u00e9ral ouvert sur la face sup\u00e9rieure\", \"1 bord + bec tubulaire\", \"fibule de Langton Down\", etc.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 16 + "label": "Commentaire g\u00e9n\u00e9ral", + "importer_type": 20 } }, { - "pk": 260, + "pk": 361, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 36, - "description": "Pr\u00e9nom", + "col_number": 26, + "description": "Commentaire g\u00e9n\u00e9ral sur les datations, si besoin. Exemple : \"plut\u00f4t fin IIe s. ou d\u00e9but IIIe s.\", \"Datation \u00e0 pr\u00e9ciser avant publication\", \" Datation rapide faite par M. Dupont\", etc.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 16 + "label": "Commentaire g\u00e9n\u00e9ral sur les datations", + "importer_type": 20 } }, { - "pk": 261, + "pk": 362, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 37, - "description": "Titre", + "col_number": 27, + "description": "Valeur estim\u00e9e (\u20ac), sous la forme d'un nombre d\u00e9cimal. Exemple : \"4500\", \"0.2\", etc.\r\nUtile essentiellement pour les probl\u00e8mes de partage, vente, assurance etc.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 16 + "label": "Valeur estim\u00e9e", + "importer_type": 20 } }, { - "pk": 262, + "pk": 363, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 41, - "description": "Type de t\u00e9l\u00e9phone (\u00e0 retraiter)", + "col_number": 28, + "description": "Nom exact du fichier image, sous la forme XXXXX.jpg.\r\nAttention au respect strict des caract\u00e8res et majuscules lors d'un import de ce type, \".JPG\" ou \"*.jpg\", etc.\r\nExemple : \"P1030831.JPG\", \"IMG_6485.JPG\", \"fibule.jpg\", etc.\r\nLors de l'import il faut ajouter ces images sous la forme d'un fichier zip (joint au csv import\u00e9) pour que les images soient automatiquement int\u00e9gr\u00e9es.\r\n", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 16 + "label": "Image", + "importer_type": 20 } }, { - "pk": 263, + "pk": 364, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 42, - "description": "Ville du domicile", + "col_number": 29, + "description": "Chronologies associ\u00e9es (plusieurs possibles s\u00e9par\u00e9es par &). Exemple : \"Gallo-romain & M\u00e9di\u00e9val\", \"GR&MED\", \"M\u00e9solithique final & M\u00e9so moyen & Epipal\", etc.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 16 + "label": "P\u00e9riodes", + "importer_type": 20 } }, { - "pk": 264, + "pk": 365, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 43, - "description": "Ville", + "col_number": 30, + "description": "Coordonn\u00e9e X pour cet objet.", "regexp_pre_filter": null, "required": false, - "label": null, - "importer_type": 16 - } - }, - { - "pk": 265, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 1, - "description": "Code PATRIARCHE\r\n ou\r\n code num\u00e9rique (entier) UNIQUE pour une op\u00e9ration", - "regexp_pre_filter": null, - "required": true, - "label": "CODE OPERATION", - "importer_type": 17 - } - }, - { - "pk": 266, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 2, - "description": "Nom usuel de l'op\u00e9ration", - "regexp_pre_filter": null, - "required": true, - "label": "Nom", - "importer_type": 17 + "label": "Coordonn\u00e9e X", + "importer_type": 20 } }, { - "pk": 267, + "pk": 366, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 3, - "description": "Ann\u00e9e de r\u00e9f\u00e9rence (peut \u00eatre celle o\u00f9 le projet d'op\u00e9ration a \u00e9t\u00e9 cr\u00e9\u00e9 ou bien celle de la r\u00e9alisation selon votre usage) ", + "col_number": 31, + "description": "Coordonn\u00e9e Y pour cet objet.", "regexp_pre_filter": null, - "required": true, - "label": "Ann\u00e9e", - "importer_type": 17 + "required": false, + "label": "Coordonn\u00e9e Y", + "importer_type": 20 } }, { - "pk": 268, + "pk": 367, "model": "ishtar_common.importercolumn", "fields": { - "col_number": 4, - "description": "Index (num\u00e9ro par ann\u00e9e), le couple ann\u00e9e + index doit \u00eatre unique", + "col_number": 32, + "description": "Coordonn\u00e9e Z pour cet objet (altitude NGF ou arbitraire).", "regexp_pre_filter": null, - "required": false, - "label": "Index (num\u00e9ro par ann\u00e9e)", - "importer_type": 17 - } - }, - { - "pk": 269, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 5, - "description": "Type d'op\u00e9ration (parmi une liste)", - "regexp_pre_filter": null, - "required": true, - "label": "Type d'op\u00e9ration", - "importer_type": 17 - } - }, - { - "pk": 335, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 6, - "description": "Ancien code unique de l'op\u00e9ration, peut \u00eatre la r\u00e9f\u00e9rence unique d'une op\u00e9ration pass\u00e9e comme un code DRACAR par exemple, 200 carac. max.", - "regexp_pre_filter": null, - "required": false, - "label": "Ancien code", - "importer_type": 17 - } - }, - { - "pk": 270, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 7, - "description": "R\u00e9f\u00e9rence du dossier administratif associ\u00e9 \u00e0 l'op\u00e9ration sous la forme ANNEE-INDEX. Exemple : \"2002-4\".", - "regexp_pre_filter": null, - "required": false, - "label": "R\u00e9f\u00e9rence du dossier administratif", - "importer_type": 17 - } - }, - { - "pk": 271, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 8, - "description": "Identifiants des sites (entit\u00e9s arch\u00e9ologiques) concern\u00e9es par l'op\u00e9ration, s\u00e9par\u00e9es par \u00ab\u00a0&\u00a0\u00bb. \r\nExemple : \"44 125 0028 & 44 125 0029\"", - "regexp_pre_filter": null, - "required": false, - "label": "Identifiants des sites (EAs)", - "importer_type": 17 - } - }, - { - "pk": 272, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 9, - "description": "Types de vestiges (s\u00e9par\u00e9s par un \u00ab\u00a0&\u00a0\u00bb)\r\nExemple : \"four & fosses & villa\"", - "regexp_pre_filter": null, - "required": false, - "label": "Types de vestiges", - "importer_type": 17 - } - }, - { - "pk": 273, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 10, - "description": "P\u00e9riodes concern\u00e9es (s\u00e9par\u00e9es par un \u00ab\u00a0&\u00a0\u00bb). \r\nExemple : \"Gallo-romain & Fer & Med\".", - "regexp_pre_filter": null, - "required": false, - "label": "P\u00e9riodes", - "importer_type": 17 - } - }, - { - "pk": 274, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 11, - "description": "Titre (M., Mme, etc.) du responsable scientifique", - "regexp_pre_filter": null, - "required": false, - "label": "Titre du responsable scientifique", - "importer_type": 17 - } - }, - { - "pk": 275, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 12, - "description": "Pr\u00e9nom du responsable scientifique (responsable d'op\u00e9ration)", - "regexp_pre_filter": null, - "required": false, - "label": "Pr\u00e9nom du responsable scientifique", - "importer_type": 17 - } - }, - { - "pk": 276, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 13, - "description": "Nom du responsable scientifique (responsable d'op\u00e9ration)", - "regexp_pre_filter": null, - "required": false, - "label": "Nom du responsable scientifique", - "importer_type": 17 - } - }, - { - "pk": 277, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 14, - "description": "Rattachement du responsable scientifique (responsable d'op\u00e9ration)\r\nExemple : \"INRAP\" ou plus pr\u00e9cis \"INRAP Direction interr\u00e9gionale Grand Ouest\" selon votre degr\u00e9 de pr\u00e9cision dans la gestion des rattachements et des organisations.", - "regexp_pre_filter": null, - "required": false, - "label": "Rattachement du responsable scientifique", - "importer_type": 17 - } - }, - { - "pk": 278, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 15, - "description": "Nom de l'op\u00e9rateur (organisation). Peut \u00eatre diff\u00e9rent de l'organisation de rattachement du responsable d'op\u00e9ration.", - "regexp_pre_filter": null, - "required": false, - "label": "Nom de l'op\u00e9rateur", - "importer_type": 17 - } - }, - { - "pk": 279, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 16, - "description": "R\u00e9f\u00e9rence de l'op\u00e9rateur (code ou autre r\u00e9f\u00e9rence interne de l'op\u00e9rateur)", - "regexp_pre_filter": null, - "required": false, - "label": "R\u00e9f\u00e9rence de l'op\u00e9rateur", - "importer_type": 17 - } - }, - { - "pk": 280, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 17, - "description": "Titre (M., Mme, etc.) du responsable du suivi scientifique", - "regexp_pre_filter": null, - "required": false, - "label": "Titre du responsable du suivi scientifique", - "importer_type": 17 - } - }, - { - "pk": 281, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 18, - "description": "Pr\u00e9nom du responsable du suivi scientifique (ex\u00a0: resp. SRA ou pilote de l'op\u00e9ration, mais non responsable de celle-ci)", - "regexp_pre_filter": null, - "required": false, - "label": "Pr\u00e9nom du responsable du suivi scientifique", - "importer_type": 17 - } - }, - { - "pk": 282, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 19, - "description": "Nom du responsable du suivi scientifique (ex : resp. SRA ou pilote de l'op\u00e9ration, mais non responsable de celle-ci)", - "regexp_pre_filter": null, - "required": false, - "label": "Nom du responsable du suivi scientifique", - "importer_type": 17 - } - }, - { - "pk": 283, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 20, - "description": "Rattachement du resp. du suivi scientifique", - "regexp_pre_filter": null, - "required": false, - "label": "Rattachement du responsable du suivi scientifique", - "importer_type": 17 - } - }, - { - "pk": 284, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 21, - "description": "Surface couverte par l'op\u00e9ration (m2)", - "regexp_pre_filter": null, - "required": false, - "label": "Surface couverte par l'op\u00e9ration", - "importer_type": 17 - } - }, - { - "pk": 285, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 22, - "description": "Date de d\u00e9but de l'op\u00e9ration (d\u00e9but du terrain d'ordinaire mais vous pouvez utiliser autre chose)", - "regexp_pre_filter": null, - "required": false, - "label": "Date de d\u00e9but de l'op\u00e9ration", - "importer_type": 17 - } - }, - { - "pk": 286, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 23, - "description": "Date de fin de l'op\u00e9ration (fin du terrain d'ordinaire mais vous pouvez utiliser autre chose)", - "regexp_pre_filter": null, - "required": false, - "label": "Date de fin de l'op\u00e9ration", - "importer_type": 17 - } - }, - { - "pk": 287, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 24, - "description": "Date de cl\u00f4ture (peut-\u00eatre la date de rendu de la documentation, la fin de la recherche associ\u00e9e ou autre) d\u2019ordinaire cela repr\u00e9sente la date \u00e0 partir de laquelle la documentation issue de l'op\u00e9ration n'est plus du ressort du responsable d'op\u00e9ration, mais vous pouvez utiliser autre chose.", - "regexp_pre_filter": null, - "required": false, - "label": "Date de cl\u00f4ture", - "importer_type": 17 - } - }, - { - "pk": 288, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 25, - "description": "Date d'avis (ex\u00a0: avis de CIRA ou autre selon votre usage)", - "regexp_pre_filter": null, - "required": false, - "label": "Date d'avis", - "importer_type": 17 - } - }, - { - "pk": 289, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 26, - "description": "R\u00e9sultats consid\u00e9r\u00e9s comme n\u00e9gatif (d\u2019ordinaire utilis\u00e9 pour les diagnostics n\u00e9gatifs)", - "regexp_pre_filter": null, - "required": false, - "label": "R\u00e9sultats consid\u00e9r\u00e9s comme n\u00e9gatif", - "importer_type": 17 - } - }, - { - "pk": 290, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 27, - "description": "Pr\u00e9nom du rapporteur (CIRA ou autre selon votre usage de la notion d'avis)", - "regexp_pre_filter": null, - "required": false, - "label": "Pr\u00e9nom du rapporteur", - "importer_type": 17 - } - }, - { - "pk": 291, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 28, - "description": "Nom du rapporteur (CIRA ou autre selon votre usage de la notion d'avis)", - "regexp_pre_filter": null, - "required": false, - "label": "Nom du rapporteur", - "importer_type": 17 - } - }, - { - "pk": 292, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 29, - "description": "Rattachement rapporteur (organisation)", - "regexp_pre_filter": null, - "required": false, - "label": "Rattachement du rapporteur", - "importer_type": 17 - } - }, - { - "pk": 293, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 30, - "description": "Date limite pr\u00e9vue pour le rendu de la documentation scientifique", - "regexp_pre_filter": null, - "required": false, - "label": "Date limite pour le rendu de la documentation", - "importer_type": 17 - } - }, - { - "pk": 294, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 31, - "description": "Documentation re\u00e7ue", - "regexp_pre_filter": null, - "required": false, - "label": "Documentation re\u00e7ue", - "importer_type": 17 - } - }, - { - "pk": 295, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 32, - "description": "Date limite pr\u00e9vue pour le rendu du mobilier", - "regexp_pre_filter": null, - "required": false, - "label": "Date limite rendu du mobilier", - "importer_type": 17 - } - }, - { - "pk": 296, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 33, - "description": "Mobilier re\u00e7u ou livr\u00e9 selon vos usages et proc\u00e9dures", - "regexp_pre_filter": null, - "required": false, - "label": "Mobilier re\u00e7u", - "importer_type": 17 - } - }, - { - "pk": 297, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 34, - "description": "Commentaire g\u00e9n\u00e9ral", - "regexp_pre_filter": null, - "required": false, - "label": "Commentaire g\u00e9n\u00e9ral", - "importer_type": 17 - } - }, - { - "pk": 298, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 35, - "description": "Date de livraison du rapport", - "regexp_pre_filter": null, - "required": false, - "label": "Date de livraison du rapport", - "importer_type": 17 - } - }, - { - "pk": 299, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 36, - "description": "\u00c9tat de traitement du rapport", - "regexp_pre_filter": null, - "required": false, - "label": "\u00c9tat de traitement du rapport", - "importer_type": 17 - } - }, - { - "pk": 300, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 37, - "description": "Commentaire sur la documentation scientifique (y compris mobilier)", - "regexp_pre_filter": null, - "required": false, - "label": "Commentaire sur la documentation", - "importer_type": 17 - } - }, - { - "pk": 301, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 38, - "description": "Nom du fichier image (jpg ou png), exemple \"IMG_5023.jpg\"\r\nLes fichiers images doivent \u00eatre joints \u00e0 l'import dans un fichier ZIP", - "regexp_pre_filter": null, - "required": false, - "label": "Image", - "importer_type": 17 - } - }, - { - "pk": 302, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 1, - "description": "Code PATRIARCHE ou code UNIQUE de l'op\u00e9ration associ\u00e9e", - "regexp_pre_filter": null, - "required": true, - "label": "CODE OPERATION", - "importer_type": 18 - } - }, - { - "pk": 311, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 2, - "description": "Commune (via num\u00e9ro INSEE)", - "regexp_pre_filter": null, - "required": true, - "label": "INSEE", - "importer_type": 18 - } - }, - { - "pk": 312, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 3, - "description": "Parcelle (identifiant externe), soit la section plus la parcelle sans espaces, par exemple \"ZA253\"", - "regexp_pre_filter": null, - "required": true, - "label": "Parcelle", - "importer_type": 18 - } - }, - { - "pk": 313, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 4, - "description": "Ann\u00e9e de la r\u00e9f\u00e9rence cadastrale (exemple : \"1980\")", - "regexp_pre_filter": null, - "required": false, - "label": "Ann\u00e9e cadastre", - "importer_type": 18 - } - }, - { - "pk": 314, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 5, - "description": "Label / Identifiant (externe) de l'UE, ex: \"US 145\", \"Tranch\u00e9e 145\", \"145\", \"St 17\" etc.\r\nDoit \u00eatre unique pour une parcelle donn\u00e9e. Maximum 200 caract\u00e8res.", - "regexp_pre_filter": null, - "required": true, - "label": "Label UE", - "importer_type": 18 - } - }, - { - "pk": 315, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 6, - "description": "Type d'UE, exemple : \"US\", \"Couche\", \"Tranch\u00e9e\", \"zone\", \"Secteur\", \"Log\", \"Carr\u00e9\", etc.", - "regexp_pre_filter": null, - "required": false, - "label": "Type", - "importer_type": 18 - } - }, - { - "pk": 316, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 7, - "description": "Description.", - "regexp_pre_filter": null, - "required": false, - "label": "Description", - "importer_type": 18 - } - }, - { - "pk": 317, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 8, - "description": "Commentaire g\u00e9n\u00e9ral.", - "regexp_pre_filter": null, - "required": false, - "label": "Commentaire g\u00e9n\u00e9ral", - "importer_type": 18 - } - }, - { - "pk": 318, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 9, - "description": "Taille ou longueur (en m\u00e8tre), exemple \"1.2\", \"12\"", - "regexp_pre_filter": null, - "required": false, - "label": "Taille ou longueur", - "importer_type": 18 - } - }, - { - "pk": 319, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 10, - "description": "Largeur (en m\u00e8tre), exemple \"1.2\", \"12\"", - "regexp_pre_filter": null, - "required": false, - "label": "Largeur", - "importer_type": 18 - } - }, - { - "pk": 320, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 11, - "description": "\u00c9paisseur (en m\u00e8tre), exemple \"0.2\", \"2\"", - "regexp_pre_filter": null, - "required": false, - "label": "\u00c9paisseur", - "importer_type": 18 - } - }, - { - "pk": 321, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 12, - "description": "Profondeur (en m\u00e8tre), exemple \"0.2\", \"2\"", - "regexp_pre_filter": null, - "required": false, - "label": "Profondeur", - "importer_type": 18 - } - }, - { - "pk": 322, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 13, - "description": "Lieu, description textuelle de la localisation exemple : \"Au pied de l'arbre du P\u00e8re Jahouen\", \"En limite nord de la parcelle\", etc.", - "regexp_pre_filter": null, - "required": false, - "label": "Lieu, localisation", - "importer_type": 18 - } - }, - { - "pk": 323, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 14, - "description": "Contient ou non du mobilier (oui/non)", - "regexp_pre_filter": null, - "required": false, - "label": "Contient du mobilier", - "importer_type": 18 - } - }, - { - "pk": 324, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 15, - "description": "Nom du fichier image (jpg ou png), exemple \"IMG_5023.jpg\".\r\nLes fichiers images doivent \u00eatre joints \u00e0 l'import dans un fichier ZIP", - "regexp_pre_filter": null, - "required": false, - "label": "Image", - "importer_type": 18 - } - }, - { - "pk": 325, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 16, - "description": "Chronologies associ\u00e9es (plusieurs possibles s\u00e9par\u00e9es par &), exemple : \"Gallo-romain & M\u00e9di\u00e9val\", \"GR&MED\", \"M\u00e9solithique final & M\u00e9so moyen & Epipal\", etc.", - "regexp_pre_filter": null, - "required": false, - "label": "Periodes", - "importer_type": 18 - } - }, - { - "pk": 326, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 17, - "description": "Commentaire sur les datations, exemple : \"IIe - IIIe s.\", \"fin XVe ou plus tard\", etc.", - "regexp_pre_filter": null, - "required": false, - "label": "Commentaire sur les datations", - "importer_type": 18 - } - }, - { - "pk": 327, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 18, - "description": "Description du remplissage. exemple \"Limons argileux brun riche en charbons\"", - "regexp_pre_filter": null, - "required": false, - "label": "Description du remplissage", - "importer_type": 18 - } - }, - { - "pk": 328, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 19, - "description": "Interpr\u00e9tation., exemple \"Mur de cl\u00f4ture\", \"Sol couvert d'une mosa\u00efque, \"Pal\u00e9osol du d\u00e9but de l'Holoc\u00e8ne\", \"Four de r\u00e9duction de minerai de fer\", \"TP\", etc.", - "regexp_pre_filter": null, - "required": false, - "label": "Interpr\u00e9tation", - "importer_type": 18 - } - }, - { - "pk": 329, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 20, - "description": "Activit\u00e9, r\u00e9f\u00e9rence \u00e0 des types, par exemple : \"Naturelle\", \"Construction\", etc.", - "regexp_pre_filter": null, - "required": false, - "label": "Type d'activit\u00e9", - "importer_type": 18 - } - }, - { - "pk": 330, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 21, - "description": "Identification (type), par exemple \"Niveau d'occupation\", \"Mur\", \"Colluvions\", \"Chablis\", etc.", - "regexp_pre_filter": null, - "required": false, - "label": "Identification (type)", - "importer_type": 18 - } - }, - { - "pk": 331, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 22, - "description": "Terminus ante quem, limite temporelle avant laquelle l'UE s'est form\u00e9e, ici sous la forme de valeurs enti\u00e8res, exemple : \"322\", \"-45\", etc.", - "regexp_pre_filter": null, - "required": false, - "label": "TAQ", - "importer_type": 18 - } - }, - { - "pk": 332, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 23, - "description": "Terminus post quem, limite temporelle apr\u00e8s laquelle l'UE s'est form\u00e9e, ici sous la forme de valeurs enti\u00e8res, exemple : \"322\", \"-45\", etc.", - "regexp_pre_filter": null, - "required": false, - "label": "TPQ", - "importer_type": 18 - } - }, - { - "pk": 333, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 24, - "description": "Terminus ante quem estim\u00e9e, limite temporelle avant laquelle l'UE s'est form\u00e9e, ici sous la forme de valeurs enti\u00e8res, exemple : \"322\", \"-45\", etc.", - "regexp_pre_filter": null, - "required": false, - "label": "TAQ estim\u00e9e", - "importer_type": 18 - } - }, - { - "pk": 334, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 25, - "description": "Terminus post quem estim\u00e9e, limite temporelle avant laquelle l'UE s'est form\u00e9e, ici sous la forme de valeurs enti\u00e8res, exemple : \"322\", \"-45\", etc.", - "regexp_pre_filter": null, - "required": false, - "label": "TPQ estim\u00e9e", - "importer_type": 18 - } - }, - { - "pk": 303, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 1, - "description": "Code PATRIARCHE\r\n ou\r\n code num\u00e9rique (entier) UNIQUE pour une op\u00e9ration", - "regexp_pre_filter": null, - "required": true, - "label": "CODE OPERATION", - "importer_type": 19 - } - }, - { - "pk": 304, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 2, - "description": "Commune (via num\u00e9ro INSEE)", - "regexp_pre_filter": 2, - "required": true, - "label": null, - "importer_type": 19 - } - }, - { - "pk": 305, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 3, - "description": "Identifiant externe", - "regexp_pre_filter": null, - "required": true, - "label": null, - "importer_type": 19 - } - }, - { - "pk": 306, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 4, - "description": "Section (ex : \"ZA\"), maximum 4 caract\u00e8res", - "regexp_pre_filter": null, - "required": true, - "label": null, - "importer_type": 19 - } - }, - { - "pk": 307, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 5, - "description": "Num\u00e9ro de la parcelle (ex: \"253\"), mais peut accueillir une r\u00e9f\u00e9rence sous la forme de caract\u00e8res (maximum 6)", - "regexp_pre_filter": null, - "required": true, - "label": null, - "importer_type": 19 - } - }, - { - "pk": 308, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 6, - "description": "Ann\u00e9e de la r\u00e9f\u00e9rence cadastrale (exemple : \"1980\")", - "regexp_pre_filter": null, - "required": false, - "label": null, - "importer_type": 19 - } - }, - { - "pk": 309, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 7, - "description": "Lieu dit ou adresse associ\u00e9s \u00e0 la parcelle", - "regexp_pre_filter": null, - "required": false, - "label": null, - "importer_type": 19 - } - }, - { - "pk": 310, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 8, - "description": "Parcelle dans le domaine public ou non (binaire, oui/non)", - "regexp_pre_filter": null, - "required": false, - "label": null, - "importer_type": 19 - } - }, - { - "pk": 336, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 1, - "description": "Code PATRIARCHE ou code num\u00e9rique (entier) UNIQUE pour une op\u00e9ration.", - "regexp_pre_filter": null, - "required": true, - "label": "CODE OPERATION", - "importer_type": 20 - } - }, - { - "pk": 337, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 2, - "description": "Commune (via num\u00e9ro INSEE).", - "regexp_pre_filter": null, - "required": true, - "label": "INSEE", - "importer_type": 20 - } - }, - { - "pk": 338, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 3, - "description": "Parcelle (identifiant externe), soit la section plus la parcelle sans espaces. Exemple : \"ZA253\".", - "regexp_pre_filter": null, - "required": true, - "label": "Parcelle", - "importer_type": 20 - } - }, - { - "pk": 339, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 4, - "description": "Label / Identifiant (externe) de l'UE. Exemple : \"US 145\", \"Tranch\u00e9e 145\", \"145\", \"St 17\", etc. Doit \u00eatre unique pour une parcelle donn\u00e9e.", - "regexp_pre_filter": null, - "required": true, - "label": "Label UE", - "importer_type": 20 - } - }, - { - "pk": 340, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 5, - "description": "Identifiant libre pour le mobilier. Exemple : \"12\", \"Lot 24\", \"Sac vert\", etc.\r\nDoit \u00eatre unique \u00e0 l'\u00e9chelle de l'UE associ\u00e9e.", - "regexp_pre_filter": null, - "required": true, - "label": "Label mobilier", - "importer_type": 20 - } - }, - { - "pk": 341, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 6, - "description": "Identifiant pr\u00e9c\u00e9dent, li\u00e9 \u00e0 une base de donn\u00e9e ou un autre mode d'enregistrement. Exemple : \"400.01.05\", \"Beau biface\", \"inv. 4523\", \"Iso.4220\", etc.", - "regexp_pre_filter": null, - "required": false, - "label": "Identifiant pr\u00e9c\u00e9dent", - "importer_type": 20 - } - }, - { - "pk": 343, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 7, - "description": "R\u00e9f\u00e9rence du point topo, d'ordinaire un entier mais peut \u00eatre autre chose. Champ texte, max. 120 caract\u00e8res. Exemple : \"7220\", \"pt. 72\", etc.", - "regexp_pre_filter": null, - "required": false, - "label": "Ref. point topo", - "importer_type": 20 - } - }, - { - "pk": 342, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 8, - "description": "Description du mobilier, objet ou lot. Champ texte, max. 1000 caract\u00e8res. Exemple : \"Fibule aviforme \u00e0 roustade bipolaire\".", - "regexp_pre_filter": null, - "required": false, - "label": "Description", - "importer_type": 20 - } - }, - { - "pk": 344, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 9, - "description": "D\u00e9finit si on enregistre ici un objet seul (parfois appel\u00e9 Isolation) ou un lot d'objets. Exemple : \"lot\", \"objet\", \"Iso\", \"vrac\", etc.\r\nEst ici traduit en binaire (est seul ?) : \"objet\" (vrai) ou \"lot\" (faux).", - "regexp_pre_filter": null, - "required": false, - "label": "Lot ou objet", - "importer_type": 20 - } - }, - { - "pk": 345, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 10, - "description": "D\u00e9finit si un objet est complet ou non. Exemple : \"complet\", \"est complet\", \"incomplet\".\r\nEst ici traduit en binaire : \"complet\" (vrai) ou \"incomplet\" (faux). ", - "regexp_pre_filter": null, - "required": false, - "label": "Compl\u00e9tude", - "importer_type": 20 - } - }, - { - "pk": 346, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 11, - "description": "Type(s) de mat\u00e9riau(x) s\u00e9par\u00e9s par des \"&\". Exemple : \"m\u00e9tal & os\", \"LT\", \"Min\u00e9ral\", \"Granito\u00efde & Basalte & Ardoise\".", - "regexp_pre_filter": null, - "required": false, - "label": "Materiaux(x)", - "importer_type": 20 - } - }, - { - "pk": 347, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 12, - "description": "\u00c9tat de conservation. Exemple : \"Instable\", \"Stable\", \"Inconnu\", etc.", - "regexp_pre_filter": null, - "required": false, - "label": "\u00c9tat de conservation", - "importer_type": 20 - } - }, - { - "pk": 348, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 13, - "description": "Commentaire relatif \u00e0 la conservation. Champ texte, max. 1000 caract\u00e8res. Exemple : \"Devrait \u00eatre conserv\u00e9 dans une chambre climatis\u00e9e\", \"Ne sera plus qu'une poudre, si on ne s'en occupe pas sous peu\", \" \u00e0 jeter\", etc.", - "regexp_pre_filter": null, - "required": false, - "label": "Commentaire conservation", - "importer_type": 20 - } - }, - { - "pk": 349, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 14, - "description": "Type(s) d'objet(s), s\u00e9par\u00e9s par des \"&\". Exemple : \"tesson & charbon\", \"os & m\u00e9tal\", \"faune\", \"fibule & bague\", \"lame & lamelle\", \"\u00e9clat & nucl\u00e9us\", etc.", - "regexp_pre_filter": null, - "required": false, - "label": "Type(s) d'objet(s)", - "importer_type": 20 - } - }, - { - "pk": 350, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 15, - "description": "Type(s) d'actions de conservation \u00e0 mener, s\u00e9par\u00e9s par des \"&\". Exemple : \"\u00c0 restaurer\", \"reconditionnement\", \"\u00c0 reconditionner & \u00c0 stabiliser\"", - "regexp_pre_filter": null, - "required": false, - "label": "Type(s) d'actions de conservation \u00e0 mener", - "importer_type": 20 - } - }, - { - "pk": 351, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 16, - "description": "Type(s) d'int\u00e9r\u00eat scientifique ou d'int\u00e9grit\u00e9, s\u00e9par\u00e9s par des \"&\". Exemple : \"Arch\u00e9ologiquement complet\", \"absent\", \"perdu\", etc.\r\nPeut \u00e9galement qualifier (selon votre usage) des qualit\u00e9s de fragmentation : \"proximal\", \"distal\", etc.", - "regexp_pre_filter": null, - "required": false, - "label": "Type(s) d'int\u00e9grit\u00e9(s) et/ou int\u00e9r\u00eat(s)", - "importer_type": 20 - } - }, - { - "pk": 352, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 17, - "description": "Type(s) de remarquabilit\u00e9(s), s\u00e9par\u00e9s par des \"&\". Exemple : \"Mus\u00e9e\", \"Publication\", \"Tessonier & Publication\", etc.", - "regexp_pre_filter": null, - "required": false, - "label": "Type(s) de remarqualibit\u00e9(s)", - "importer_type": 20 - } - }, - { - "pk": 353, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 18, - "description": "Longueur en cm (nombre d\u00e9cimal).", - "regexp_pre_filter": null, - "required": false, - "label": "Longueur (cm)", - "importer_type": 20 - } - }, - { - "pk": 354, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 19, - "description": "Largeur en cm (nombre d\u00e9cimal).", - "regexp_pre_filter": null, - "required": false, - "label": "Largeur (cm)", - "importer_type": 20 - } - }, - { - "pk": 355, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 20, - "description": "Hauteur en cm (nombre d\u00e9cimal).", - "regexp_pre_filter": null, - "required": false, - "label": "Hauteur (cm)", - "importer_type": 20 - } - }, - { - "pk": 356, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 21, - "description": "Diam\u00e8tre en cm (nombre d\u00e9cimal).", - "regexp_pre_filter": null, - "required": false, - "label": "Diam\u00e8tre (cm)", - "importer_type": 20 - } - }, - { - "pk": 357, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 22, - "description": "Commentaire permettant de donner des pr\u00e9cisions (ou d'importer des donn\u00e9es mixtes). Champ texte, max. 1000 caract\u00e8res. Exemple : \"18 x 12 x 5\", \"col de 43 mm\", etc.", - "regexp_pre_filter": null, - "required": false, - "label": "Commentaire / Pr\u00e9cisions sur les dimensions ", - "importer_type": 20 - } - }, - { - "pk": 358, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 23, - "description": "Nombre d'objet(s) li\u00e9(s) \u00e0 cet enregistrement (entier). Exemple : \"12\".\r\nAttention, ce champ n'est pas contraint par l'information de type OBJET/LOT (colonne n\u00b09).", - "regexp_pre_filter": null, - "required": false, - "label": "Nombre", - "importer_type": 20 - } - }, - { - "pk": 359, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 24, - "description": "Marquage visible sur le mobilier. Champ texte. Exemple : \"id1234 la Roche aux F\u00e9es\", \"MTX-45\", etc.\r\nCeci reproduit d'ordinaire un marquage r\u00e9alis\u00e9 par un arch\u00e9ologue. Il ne s'agit pas ici de reproduire une \u00e9pigraphie ou tout autre inscription arch\u00e9ologique (graffito, d\u00e9dicaces, defixio, etc.) , mais vous pouvez l'utiliser pour cela si vous n'avez pas \u00e0 utiliser de marquage arch\u00e9ologique.", - "regexp_pre_filter": null, - "required": false, - "label": "Marque", - "importer_type": 20 - } - }, - { - "pk": 360, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 25, - "description": "Commentaire g\u00e9n\u00e9ral libre. Champ texte. Exemple : \"habillage en nid d'abeille, poli g\u00e9n\u00e9ralis\u00e9, encoche emmanchement lat\u00e9ral ouvert sur la face sup\u00e9rieure\", \"1 bord + bec tubulaire\", \"fibule de Langton Down\", etc.", - "regexp_pre_filter": null, - "required": false, - "label": "Commentaire g\u00e9n\u00e9ral", - "importer_type": 20 - } - }, - { - "pk": 361, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 26, - "description": "Commentaire g\u00e9n\u00e9ral sur les datations, si besoin. Champ texte. Exemple : \"plut\u00f4t fin IIe s. ou d\u00e9but IIIe s.\", \"Datation \u00e0 pr\u00e9ciser avant publication\", \" Datation rapide faite par M. Dupont\", etc.", - "regexp_pre_filter": null, - "required": false, - "label": "Commentaire g\u00e9n\u00e9ral sur les datations", - "importer_type": 20 - } - }, - { - "pk": 362, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 27, - "description": "Valeur estim\u00e9e (\u20ac), sous la forme d'un nombre d\u00e9cimal. Exemple : \"4500\", \"0.2\", etc.\r\nUtile essentiellement pour les probl\u00e8mes de partage, vente, assurance etc.", - "regexp_pre_filter": null, - "required": false, - "label": "Valeur estim\u00e9e", - "importer_type": 20 - } - }, - { - "pk": 363, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 28, - "description": "Nom exact du fichier image, sous la forme XXXXX.jpg.\r\nAttention au respect strict des caract\u00e8res et majuscules lors d'un import de ce type, \".JPG\" ou \"*.jpg\", etc.\r\nExemple : \"P1030831.JPG\", \"IMG_6485.JPG\", \"fibule.jpg\", etc.\r\nLors de l'import il faut ajouter ces images sous la forme d'un fichier zip (joint au csv import\u00e9) pour que les images soient automatiquement int\u00e9gr\u00e9es.\r\n", - "regexp_pre_filter": null, - "required": false, - "label": "Image", - "importer_type": 20 - } - }, - { - "pk": 364, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 29, - "description": "Chronologies associ\u00e9es (plusieurs possibles s\u00e9par\u00e9es par &). Exemple : \"Gallo-romain & M\u00e9di\u00e9val\", \"GR&MED\", \"M\u00e9solithique final & M\u00e9so moyen & Epipal\", etc.", - "regexp_pre_filter": null, - "required": false, - "label": "P\u00e9riodes", - "importer_type": 20 - } - }, - { - "pk": 365, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 30, - "description": "Coordonn\u00e9e X pour cet objet", - "regexp_pre_filter": null, - "required": false, - "label": "Coordonn\u00e9e X", - "importer_type": 20 - } - }, - { - "pk": 366, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 31, - "description": "Coordonn\u00e9e Y pour cet objet", - "regexp_pre_filter": null, - "required": false, - "label": "Coordonn\u00e9e Y", - "importer_type": 20 - } - }, - { - "pk": 367, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 32, - "description": "Coordonn\u00e9e Z pour cet objet (altitude NGF ou arbitraire)", - "regexp_pre_filter": null, - "required": false, - "label": "Coordonn\u00e9e Z", - "importer_type": 20 - } - }, - { - "pk": 368, - "model": "ishtar_common.importercolumn", - "fields": { - "col_number": 33, - "description": "Code permettant de qualifier le mode de projection des donnes (SRS /EPSG). Exemple : \"EPSG:2154\" pour le Lambert 93", - "regexp_pre_filter": null, - "required": false, - "label": "Syst\u00e8me de r\u00e9f\u00e9rence spatiale", - "importer_type": 20 - } - }, - { - "pk": 46, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "find__conservatory_state", - "column": 45, - "formater_type": 22, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 49, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "topographic_localisation", - "column": 48, - "formater_type": 3, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 50, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "special_interest", - "column": 49, - "formater_type": 3, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 51, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "description", - "column": 50, - "formater_type": 16, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 15, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "operation__code_patriarche", - "column": 14, - "formater_type": 1, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 28, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "label", - "column": 27, - "formater_type": 3, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 48, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "comment", - "column": 47, - "formater_type": 35, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 13, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "town__numero_insee", - "column": 12, - "formater_type": 11, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 2, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "operation_type", - "column": 2, - "formater_type": 2, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 4, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "operator__name", - "column": 4, - "formater_type": 3, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 6, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "start_date", - "column": 6, - "formater_type": 5, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 7, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "excavation_end_date", - "column": 7, - "formater_type": 5, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 8, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "periods", - "column": 8, - "formater_type": 6, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 14, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "address", - "column": 13, - "formater_type": 10, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 16, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "external_id", - "column": 15, - "formater_type": 11, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 17, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "source_type", - "column": 16, - "formater_type": 12, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 18, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "support_type", - "column": 17, - "formater_type": 13, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 40, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "find__material_types", - "column": 39, - "formater_type": 20, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 19, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "item_number", - "column": 18, - "formater_type": 1, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 20, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "authors__person__raw_name", - "column": 19, - "formater_type": 4, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 21, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "creation_date", - "column": 20, - "formater_type": 14, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 22, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "format_type", - "column": 21, - "formater_type": 15, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 23, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "description", - "column": 22, - "formater_type": 16, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 24, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "comment", - "column": 23, - "formater_type": 16, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 25, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "scale", - "column": 24, - "formater_type": 17, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 53, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "parcel_number", - "column": 51, - "formater_type": 8, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 54, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "section", - "column": 52, - "formater_type": 7, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 5, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "scientist__raw_name", - "column": 5, - "formater_type": 4, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 56, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "year", - "column": 11, - "formater_type": 14, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 35, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "comment", - "column": 34, - "formater_type": 16, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 31, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "identification", - "column": 30, - "formater_type": 24, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 57, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "interpretation", - "column": 54, - "formater_type": 16, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 26, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "additional_information", - "column": 25, - "formater_type": 16, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 29, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "unit", - "column": 28, - "formater_type": 18, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 30, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "description", - "column": 29, - "formater_type": 16, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 32, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "opening_date", - "column": 31, - "formater_type": 5, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 33, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "closing_date", - "column": 32, - "formater_type": 5, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 1, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "code_patriarche", - "column": 1, - "formater_type": 1, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 41, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "find__find_number", - "column": 40, - "formater_type": 1, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 42, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "find__weight", - "column": 41, - "formater_type": 21, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 43, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "find__weight_unit", - "column": 42, - "formater_type": 7, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 45, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "discovery_date", - "column": 44, - "formater_type": 5, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 36, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "datings__period", - "column": 35, - "formater_type": 6, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": true - } - }, - { - "pk": 253, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "find__datings__period", - "column": 228, - "formater_type": 6, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": true - } - }, - { - "pk": 55, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "external_id", - "column": 53, - "formater_type": 11, - "concat_str": "-", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 27, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "operation__code_patriarche", - "column": 26, - "formater_type": 1, - "concat_str": "-", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 250, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "parcel__external_id", - "column": 225, - "formater_type": 28, - "concat_str": "-", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 34, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "parcel__external_id", - "column": 33, - "formater_type": 11, - "concat_str": "-", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 37, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "context_record__external_id", - "column": 36, - "formater_type": 11, - "concat_str": "-", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 252, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "context_record__external_id", - "column": 227, - "formater_type": 28, - "concat_str": "-", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 44, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "context_record__external_id", - "column": 43, - "formater_type": 3, - "concat_str": "-", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 9, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "operation__code_patriarche", - "column": 9, - "formater_type": 1, - "concat_str": "-", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 251, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "context_record__external_id", - "column": 226, - "formater_type": 35, - "concat_str": "-", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 290, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "code_patriarche", - "column": 265, - "formater_type": 1, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 293, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "operation_code", - "column": 268, - "formater_type": 1, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 296, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "periods", - "column": 273, - "formater_type": 6, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 299, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "scientist__surname", - "column": 275, - "formater_type": 3, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 308, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "surface", - "column": 284, - "formater_type": 1, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 311, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "end_date", - "column": 287, - "formater_type": 25, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 317, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "documentation_deadline", - "column": 293, - "formater_type": 25, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 320, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "finds_received", - "column": 296, - "formater_type": 19, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 323, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "report_processing", - "column": 299, - "formater_type": 37, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 47, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "find__preservation_to_considers", - "column": 46, - "formater_type": 23, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 325, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "image", - "column": 301, - "formater_type": 27, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 328, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "town__numero_insee", - "column": 304, - "formater_type": 11, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 331, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "parcel_number", - "column": 307, - "formater_type": 8, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 334, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "public_domain", - "column": 310, - "formater_type": 19, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 338, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "remains", - "column": 272, - "formater_type": 41, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 344, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "width", - "column": 319, - "formater_type": 21, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 349, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "image", - "column": 324, - "formater_type": 27, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 356, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "taq", - "column": 331, - "formater_type": 1, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 359, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "tpq_estimated", - "column": 334, - "formater_type": 1, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 365, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "label", - "column": 340, - "formater_type": 3, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 368, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "is_isolated", - "column": 344, - "formater_type": 19, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 371, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "find__conservatory_state", - "column": 347, - "formater_type": 22, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 374, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "find__preservation_to_considers", - "column": 350, - "formater_type": 23, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 377, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "find__length", - "column": 353, - "formater_type": 21, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 379, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "find__height", - "column": 355, - "formater_type": 21, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 382, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "find__find_number", - "column": 358, - "formater_type": 1, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 350, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "datings__period", - "column": 325, - "formater_type": 6, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": true - } - }, - { - "pk": 335, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "parcel__external_id", - "column": 311, - "formater_type": 28, - "concat_str": "-", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 38, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "label", - "column": 37, - "formater_type": 3, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 3, - "model": "ishtar_common.importtarget", - "fields": { - "comment": null, - "target": "common_name", - "column": 3, - "formater_type": 3, - "concat_str": null, - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 291, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "common_name", - "column": 266, - "formater_type": 35, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 294, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "operation_type", - "column": 269, - "formater_type": 2, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 300, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "scientist__name", - "column": 276, - "formater_type": 30, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 303, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "operator_reference", - "column": 279, - "formater_type": 3, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 309, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "start_date", - "column": 285, - "formater_type": 25, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 312, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "cira_date", - "column": 288, - "formater_type": 25, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 318, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "documentation_received", - "column": 294, - "formater_type": 19, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 321, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "comment", - "column": 297, - "formater_type": 35, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 324, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "scientific_documentation_comment", - "column": 300, - "formater_type": 35, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 326, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "operation__code_patriarche", - "column": 302, - "formater_type": 1, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 329, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "external_id", - "column": 305, - "formater_type": 11, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 332, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "year", - "column": 308, - "formater_type": 14, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 345, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "thickness", - "column": 320, - "formater_type": 21, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 348, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "has_furniture", - "column": 323, - "formater_type": 19, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 351, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "datings_comment", - "column": 326, - "formater_type": 16, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 354, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "activity", - "column": 329, - "formater_type": 42, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 357, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "tpq", - "column": 332, - "formater_type": 1, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 360, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "old_code", - "column": 335, - "formater_type": 30, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 384, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "find__comment", - "column": 360, - "formater_type": 35, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 385, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "find__dating_comment", - "column": 361, - "formater_type": 35, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 388, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "find__datings__period", - "column": 364, - "formater_type": 6, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": true - } - }, - { - "pk": 342, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "comment", - "column": 317, - "formater_type": 35, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 347, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "location", - "column": 322, - "formater_type": 35, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 353, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "interpretation", - "column": 328, - "formater_type": 35, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 341, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "description", - "column": 316, - "formater_type": 35, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 339, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "label", - "column": 314, - "formater_type": 30, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 302, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "operator__name", - "column": 278, - "formater_type": 10, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 305, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "in_charge__surname", - "column": 281, - "formater_type": 39, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 306, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "in_charge__name", - "column": 282, - "formater_type": 30, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 314, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "cira_rapporteur__surname", - "column": 290, - "formater_type": 39, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 315, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "cira_rapporteur__name", - "column": 291, - "formater_type": 30, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 366, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "find__previous_id", - "column": 341, - "formater_type": 3, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 369, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "find__is_complete", - "column": 345, - "formater_type": 19, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 378, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "find__width", - "column": 354, - "formater_type": 21, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 375, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "find__integrities", - "column": 351, - "formater_type": 43, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 380, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "find__diameter", - "column": 356, - "formater_type": 21, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false - } - }, - { - "pk": 386, - "model": "ishtar_common.importtarget", - "fields": { - "comment": "", - "target": "find__estimated_value", - "column": 362, - "formater_type": 21, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false + "required": false, + "label": "Coordonn\u00e9e Z", + "importer_type": 20 } }, { - "pk": 297, - "model": "ishtar_common.importtarget", + "pk": 368, + "model": "ishtar_common.importercolumn", "fields": { - "comment": "", - "target": "archaeological_sites__reference", - "column": 271, - "formater_type": 45, - "concat_str": "", - "regexp_filter": null, - "concat": false, - "force_new": false + "col_number": 33, + "description": "Code permettant de qualifier le mode de projection des donnes (SRS /EPSG). Exemple : \"2154\" pour le Lambert 93.", + "regexp_pre_filter": null, + "required": false, + "label": "Syst\u00e8me de r\u00e9f\u00e9rence spatiale", + "importer_type": 20 } }, { - "pk": 336, + "pk": 46, "model": "ishtar_common.importtarget", "fields": { - "comment": "", - "target": "parcel__external_id", - "column": 312, - "formater_type": 11, - "concat_str": "-", + "comment": null, + "target": "find__conservatory_state", + "column": 45, + "formater_type": 22, + "concat_str": null, "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 61, + "pk": 49, "model": "ishtar_common.importtarget", "fields": { "comment": null, - "target": "scientist__surname", - "column": 58, - "formater_type": 4, + "target": "topographic_localisation", + "column": 48, + "formater_type": 3, "concat_str": null, "regexp_filter": null, "concat": false, @@ -5460,13 +2260,13 @@ } }, { - "pk": 70, + "pk": 50, "model": "ishtar_common.importtarget", "fields": { "comment": null, - "target": "parcel__external_id", - "column": 67, - "formater_type": 11, + "target": "special_interest", + "column": 49, + "formater_type": 3, "concat_str": null, "regexp_filter": null, "concat": false, @@ -5474,12 +2274,12 @@ } }, { - "pk": 71, + "pk": 51, "model": "ishtar_common.importtarget", "fields": { "comment": null, - "target": "comment", - "column": 68, + "target": "description", + "column": 50, "formater_type": 16, "concat_str": null, "regexp_filter": null, @@ -5488,12 +2288,12 @@ } }, { - "pk": 72, + "pk": 15, "model": "ishtar_common.importtarget", "fields": { "comment": null, - "target": "context_record__operation__code_patriarche", - "column": 69, + "target": "operation__code_patriarche", + "column": 14, "formater_type": 1, "concat_str": null, "regexp_filter": null, @@ -5502,12 +2302,12 @@ } }, { - "pk": 75, + "pk": 28, "model": "ishtar_common.importtarget", "fields": { - "comment": null, - "target": "context_record__external_id", - "column": 72, + "comment": "", + "target": "label", + "column": 27, "formater_type": 3, "concat_str": null, "regexp_filter": null, @@ -5516,13 +2316,13 @@ } }, { - "pk": 73, + "pk": 48, "model": "ishtar_common.importtarget", "fields": { - "comment": null, - "target": "external_id", - "column": 70, - "formater_type": 3, + "comment": "", + "target": "comment", + "column": 47, + "formater_type": 35, "concat_str": null, "regexp_filter": null, "concat": false, @@ -5530,13 +2330,13 @@ } }, { - "pk": 76, + "pk": 13, "model": "ishtar_common.importtarget", "fields": { "comment": null, - "target": "find__conservatory_state", - "column": 73, - "formater_type": 22, + "target": "town__numero_insee", + "column": 12, + "formater_type": 11, "concat_str": null, "regexp_filter": null, "concat": false, @@ -5544,13 +2344,13 @@ } }, { - "pk": 77, + "pk": 2, "model": "ishtar_common.importtarget", "fields": { "comment": null, - "target": "find__material_types", - "column": 74, - "formater_type": 20, + "target": "operation_type", + "column": 2, + "formater_type": 2, "concat_str": null, "regexp_filter": null, "concat": false, @@ -5558,69 +2358,69 @@ } }, { - "pk": 254, + "pk": 4, "model": "ishtar_common.importtarget", "fields": { - "comment": "", - "target": "find__label", - "column": 229, + "comment": null, + "target": "operator__name", + "column": 4, "formater_type": 3, - "concat_str": "", + "concat_str": null, "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 255, + "pk": 6, "model": "ishtar_common.importtarget", "fields": { - "comment": "", - "target": "code_patriarche", - "column": 230, - "formater_type": 1, - "concat_str": "", + "comment": null, + "target": "start_date", + "column": 6, + "formater_type": 5, + "concat_str": null, "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 257, + "pk": 7, "model": "ishtar_common.importtarget", "fields": { - "comment": "", - "target": "common_name", - "column": 232, - "formater_type": 35, - "concat_str": "", + "comment": null, + "target": "excavation_end_date", + "column": 7, + "formater_type": 5, + "concat_str": null, "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 259, + "pk": 8, "model": "ishtar_common.importtarget", "fields": { - "comment": "", - "target": "scientist__raw_name", - "column": 234, - "formater_type": 30, - "concat_str": "", + "comment": null, + "target": "periods", + "column": 8, + "formater_type": 6, + "concat_str": null, "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 78, + "pk": 14, "model": "ishtar_common.importtarget", "fields": { "comment": null, - "target": "find__is_complete", - "column": 75, - "formater_type": 19, + "target": "address", + "column": 13, + "formater_type": 10, "concat_str": null, "regexp_filter": null, "concat": false, @@ -5628,55 +2428,55 @@ } }, { - "pk": 261, + "pk": 16, "model": "ishtar_common.importtarget", "fields": { - "comment": "", - "target": "start_date", - "column": 236, - "formater_type": 5, - "concat_str": "", + "comment": null, + "target": "external_id", + "column": 15, + "formater_type": 11, + "concat_str": null, "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 263, + "pk": 17, "model": "ishtar_common.importtarget", "fields": { - "comment": "", - "target": "periods", - "column": 238, - "formater_type": 6, - "concat_str": "", + "comment": null, + "target": "source_type", + "column": 16, + "formater_type": 12, + "concat_str": null, "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 265, + "pk": 18, "model": "ishtar_common.importtarget", "fields": { - "comment": "", - "target": "operation_code", - "column": 240, - "formater_type": 1, - "concat_str": "", + "comment": null, + "target": "support_type", + "column": 17, + "formater_type": 13, + "concat_str": null, "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 58, + "pk": 40, "model": "ishtar_common.importtarget", "fields": { "comment": null, - "target": "operation_type", - "column": 55, - "formater_type": 2, + "target": "find__material_types", + "column": 39, + "formater_type": 20, "concat_str": null, "regexp_filter": null, "concat": false, @@ -5684,13 +2484,13 @@ } }, { - "pk": 59, + "pk": 19, "model": "ishtar_common.importtarget", "fields": { "comment": null, - "target": "common_name", - "column": 56, - "formater_type": 3, + "target": "item_number", + "column": 18, + "formater_type": 1, "concat_str": null, "regexp_filter": null, "concat": false, @@ -5698,12 +2498,12 @@ } }, { - "pk": 60, + "pk": 20, "model": "ishtar_common.importtarget", "fields": { "comment": null, - "target": "scientist__raw_name", - "column": 57, + "target": "authors__person__raw_name", + "column": 19, "formater_type": 4, "concat_str": null, "regexp_filter": null, @@ -5712,13 +2512,13 @@ } }, { - "pk": 62, + "pk": 21, "model": "ishtar_common.importtarget", "fields": { "comment": null, - "target": "periods", - "column": 59, - "formater_type": 6, + "target": "creation_date", + "column": 20, + "formater_type": 14, "concat_str": null, "regexp_filter": null, "concat": false, @@ -5726,13 +2526,13 @@ } }, { - "pk": 64, + "pk": 22, "model": "ishtar_common.importtarget", "fields": { "comment": null, - "target": "excavation_end_date", - "column": 61, - "formater_type": 25, + "target": "format_type", + "column": 21, + "formater_type": 15, "concat_str": null, "regexp_filter": null, "concat": false, @@ -5740,13 +2540,13 @@ } }, { - "pk": 65, + "pk": 23, "model": "ishtar_common.importtarget", "fields": { "comment": null, - "target": "comment", - "column": 62, - "formater_type": 4, + "target": "description", + "column": 22, + "formater_type": 16, "concat_str": null, "regexp_filter": null, "concat": false, @@ -5754,13 +2554,13 @@ } }, { - "pk": 66, + "pk": 24, "model": "ishtar_common.importtarget", "fields": { "comment": null, - "target": "code_patriarche", - "column": 63, - "formater_type": 1, + "target": "comment", + "column": 23, + "formater_type": 16, "concat_str": null, "regexp_filter": null, "concat": false, @@ -5768,13 +2568,13 @@ } }, { - "pk": 67, + "pk": 25, "model": "ishtar_common.importtarget", "fields": { "comment": null, - "target": "surface", - "column": 64, - "formater_type": 1, + "target": "scale", + "column": 24, + "formater_type": 17, "concat_str": null, "regexp_filter": null, "concat": false, @@ -5782,13 +2582,13 @@ } }, { - "pk": 63, + "pk": 53, "model": "ishtar_common.importtarget", "fields": { "comment": null, - "target": "start_date", - "column": 60, - "formater_type": 25, + "target": "parcel_number", + "column": 51, + "formater_type": 8, "concat_str": null, "regexp_filter": null, "concat": false, @@ -5796,13 +2596,13 @@ } }, { - "pk": 82, + "pk": 54, "model": "ishtar_common.importtarget", "fields": { "comment": null, - "target": "find__find_number", - "column": 79, - "formater_type": 1, + "target": "section", + "column": 52, + "formater_type": 7, "concat_str": null, "regexp_filter": null, "concat": false, @@ -5810,13 +2610,13 @@ } }, { - "pk": 85, + "pk": 5, "model": "ishtar_common.importtarget", "fields": { "comment": null, - "target": "find__object_types", - "column": 82, - "formater_type": 26, + "target": "scientist__raw_name", + "column": 5, + "formater_type": 4, "concat_str": null, "regexp_filter": null, "concat": false, @@ -5824,13 +2624,13 @@ } }, { - "pk": 79, + "pk": 56, "model": "ishtar_common.importtarget", "fields": { "comment": null, - "target": "is_isolated", - "column": 76, - "formater_type": 19, + "target": "year", + "column": 11, + "formater_type": 14, "concat_str": null, "regexp_filter": null, "concat": false, @@ -5838,12 +2638,12 @@ } }, { - "pk": 80, + "pk": 35, "model": "ishtar_common.importtarget", "fields": { "comment": null, "target": "comment", - "column": 77, + "column": 34, "formater_type": 16, "concat_str": null, "regexp_filter": null, @@ -5852,13 +2652,13 @@ } }, { - "pk": 84, + "pk": 31, "model": "ishtar_common.importtarget", "fields": { "comment": null, - "target": "find__length", - "column": 81, - "formater_type": 1, + "target": "identification", + "column": 30, + "formater_type": 24, "concat_str": null, "regexp_filter": null, "concat": false, @@ -5866,13 +2666,13 @@ } }, { - "pk": 86, + "pk": 57, "model": "ishtar_common.importtarget", "fields": { "comment": null, - "target": "operation__code_patriarche", - "column": 83, - "formater_type": 1, + "target": "interpretation", + "column": 54, + "formater_type": 16, "concat_str": null, "regexp_filter": null, "concat": false, @@ -5880,13 +2680,27 @@ } }, { - "pk": 87, + "pk": 26, "model": "ishtar_common.importtarget", "fields": { "comment": null, - "target": "town__numero_insee", - "column": 84, - "formater_type": 11, + "target": "additional_information", + "column": 25, + "formater_type": 16, + "concat_str": null, + "regexp_filter": null, + "concat": false, + "force_new": false + } + }, + { + "pk": 29, + "model": "ishtar_common.importtarget", + "fields": { + "comment": null, + "target": "unit", + "column": 28, + "formater_type": 18, "concat_str": null, "regexp_filter": null, "concat": false, @@ -5894,13 +2708,13 @@ } }, { - "pk": 88, + "pk": 30, "model": "ishtar_common.importtarget", "fields": { "comment": null, - "target": "section", - "column": 85, - "formater_type": 7, + "target": "description", + "column": 29, + "formater_type": 16, "concat_str": null, "regexp_filter": null, "concat": false, @@ -5908,13 +2722,13 @@ } }, { - "pk": 89, + "pk": 32, "model": "ishtar_common.importtarget", "fields": { "comment": null, - "target": "parcel_number", - "column": 86, - "formater_type": 8, + "target": "opening_date", + "column": 31, + "formater_type": 5, "concat_str": null, "regexp_filter": null, "concat": false, @@ -5922,13 +2736,13 @@ } }, { - "pk": 69, + "pk": 33, "model": "ishtar_common.importtarget", "fields": { "comment": null, - "target": "label", - "column": 66, - "formater_type": 3, + "target": "closing_date", + "column": 32, + "formater_type": 5, "concat_str": null, "regexp_filter": null, "concat": false, @@ -5936,12 +2750,12 @@ } }, { - "pk": 68, + "pk": 1, "model": "ishtar_common.importtarget", "fields": { "comment": null, - "target": "operation__code_patriarche", - "column": 65, + "target": "code_patriarche", + "column": 1, "formater_type": 1, "concat_str": null, "regexp_filter": null, @@ -5950,12 +2764,12 @@ } }, { - "pk": 90, + "pk": 41, "model": "ishtar_common.importtarget", "fields": { "comment": null, - "target": "context_record__operation__code_patriarche", - "column": 87, + "target": "find__find_number", + "column": 40, "formater_type": 1, "concat_str": null, "regexp_filter": null, @@ -5964,13 +2778,13 @@ } }, { - "pk": 92, + "pk": 42, "model": "ishtar_common.importtarget", "fields": { "comment": null, - "target": "context_record__external_id", - "column": 89, - "formater_type": 3, + "target": "find__weight", + "column": 41, + "formater_type": 21, "concat_str": null, "regexp_filter": null, "concat": false, @@ -5978,265 +2792,265 @@ } }, { - "pk": 269, + "pk": 43, "model": "ishtar_common.importtarget", "fields": { - "comment": "", - "target": "report_processing", - "column": 244, - "formater_type": 37, - "concat_str": "", + "comment": null, + "target": "find__weight_unit", + "column": 42, + "formater_type": 7, + "concat_str": null, "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 267, + "pk": 45, "model": "ishtar_common.importtarget", "fields": { - "comment": "", - "target": "comment", - "column": 242, - "formater_type": 35, - "concat_str": "", + "comment": null, + "target": "discovery_date", + "column": 44, + "formater_type": 5, + "concat_str": null, "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 93, + "pk": 36, "model": "ishtar_common.importtarget", "fields": { "comment": null, - "target": "find__material_types", - "column": 90, - "formater_type": 20, + "target": "datings__period", + "column": 35, + "formater_type": 6, "concat_str": null, "regexp_filter": null, "concat": false, - "force_new": false + "force_new": true } }, { - "pk": 91, + "pk": 253, "model": "ishtar_common.importtarget", "fields": { - "comment": null, - "target": "find__previous_id", - "column": 88, - "formater_type": 3, + "comment": "", + "target": "find__datings__period", + "column": 228, + "formater_type": 6, "concat_str": null, "regexp_filter": null, "concat": false, - "force_new": false + "force_new": true } }, { - "pk": 94, + "pk": 55, "model": "ishtar_common.importtarget", "fields": { - "comment": null, - "target": "find__conservatory_state", - "column": 91, - "formater_type": 22, - "concat_str": null, + "comment": "", + "target": "external_id", + "column": 53, + "formater_type": 11, + "concat_str": "-", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 95, + "pk": 27, "model": "ishtar_common.importtarget", "fields": { - "comment": null, - "target": "comment", - "column": 92, - "formater_type": 16, - "concat_str": null, + "comment": "", + "target": "operation__code_patriarche", + "column": 26, + "formater_type": 1, + "concat_str": "-", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 96, + "pk": 250, "model": "ishtar_common.importtarget", "fields": { - "comment": null, - "target": "find__label", - "column": 93, - "formater_type": 3, - "concat_str": null, + "comment": "", + "target": "parcel__external_id", + "column": 225, + "formater_type": 28, + "concat_str": "-", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 97, + "pk": 34, "model": "ishtar_common.importtarget", "fields": { - "comment": null, - "target": "identification", - "column": 94, - "formater_type": 24, - "concat_str": null, + "comment": "", + "target": "parcel__external_id", + "column": 33, + "formater_type": 11, + "concat_str": "-", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 98, + "pk": 37, "model": "ishtar_common.importtarget", "fields": { - "comment": null, - "target": "description", - "column": 95, - "formater_type": 16, - "concat_str": null, + "comment": "", + "target": "context_record__external_id", + "column": 36, + "formater_type": 11, + "concat_str": "-", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 99, + "pk": 252, "model": "ishtar_common.importtarget", "fields": { - "comment": null, - "target": "datings__period", - "column": 96, - "formater_type": 6, - "concat_str": null, + "comment": "", + "target": "context_record__external_id", + "column": 227, + "formater_type": 28, + "concat_str": "-", "regexp_filter": null, "concat": false, - "force_new": true + "force_new": false } }, { - "pk": 83, + "pk": 44, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "find__weight", - "column": 80, - "formater_type": 21, - "concat_str": null, + "target": "context_record__external_id", + "column": 43, + "formater_type": 3, + "concat_str": "-", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 132, + "pk": 9, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "find__previous_id", - "column": 122, - "formater_type": 3, - "concat_str": null, + "target": "operation__code_patriarche", + "column": 9, + "formater_type": 1, + "concat_str": "-", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 134, + "pk": 251, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "find__description", - "column": 124, - "formater_type": 16, - "concat_str": null, + "target": "context_record__external_id", + "column": 226, + "formater_type": 35, + "concat_str": "-", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 135, + "pk": 290, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "find__width", - "column": 125, - "formater_type": 21, - "concat_str": null, + "target": "code_patriarche", + "column": 265, + "formater_type": 1, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 136, + "pk": 293, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "find__height", - "column": 126, - "formater_type": 21, - "concat_str": null, + "target": "operation_code", + "column": 268, + "formater_type": 1, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 137, + "pk": 296, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "find__diameter", - "column": 127, - "formater_type": 21, - "concat_str": null, + "target": "periods", + "column": 273, + "formater_type": 6, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 138, + "pk": 299, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "find__dating_comment", - "column": 128, - "formater_type": 16, - "concat_str": null, + "target": "scientist__surname", + "column": 275, + "formater_type": 3, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 81, + "pk": 308, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "find__datings__period", - "column": 78, - "formater_type": 6, - "concat_str": null, + "target": "surface", + "column": 284, + "formater_type": 1, + "concat_str": "", "regexp_filter": null, "concat": false, - "force_new": true + "force_new": false } }, { - "pk": 256, + "pk": 311, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "operation_type", - "column": 231, - "formater_type": 2, + "target": "end_date", + "column": 287, + "formater_type": 25, "concat_str": "", "regexp_filter": null, "concat": false, @@ -6244,13 +3058,13 @@ } }, { - "pk": 258, + "pk": 317, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "operator__name", - "column": 233, - "formater_type": 3, + "target": "documentation_deadline", + "column": 293, + "formater_type": 25, "concat_str": "", "regexp_filter": null, "concat": false, @@ -6258,13 +3072,13 @@ } }, { - "pk": 260, + "pk": 320, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "scientist__surname", - "column": 235, - "formater_type": 4, + "target": "finds_received", + "column": 296, + "formater_type": 19, "concat_str": "", "regexp_filter": null, "concat": false, @@ -6272,13 +3086,13 @@ } }, { - "pk": 262, + "pk": 323, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "excavation_end_date", - "column": 237, - "formater_type": 5, + "target": "report_processing", + "column": 299, + "formater_type": 37, "concat_str": "", "regexp_filter": null, "concat": false, @@ -6286,13 +3100,13 @@ } }, { - "pk": 264, + "pk": 47, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "year", - "column": 239, - "formater_type": 1, + "target": "find__preservation_to_considers", + "column": 46, + "formater_type": 23, "concat_str": "", "regexp_filter": null, "concat": false, @@ -6300,13 +3114,13 @@ } }, { - "pk": 266, + "pk": 325, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "code_dracar", - "column": 241, - "formater_type": 16, + "target": "image", + "column": 301, + "formater_type": 27, "concat_str": "", "regexp_filter": null, "concat": false, @@ -6314,13 +3128,13 @@ } }, { - "pk": 268, + "pk": 328, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "report_delivery_date", - "column": 243, - "formater_type": 5, + "target": "town__numero_insee", + "column": 304, + "formater_type": 11, "concat_str": "", "regexp_filter": null, "concat": false, @@ -6328,223 +3142,223 @@ } }, { - "pk": 212, + "pk": 331, "model": "ishtar_common.importtarget", "fields": { - "comment": "Am\u00e9nageur - adresse", - "target": "general_contractor__attached_to__address", - "column": 192, - "formater_type": 10, - "concat_str": null, + "comment": "", + "target": "parcel_number", + "column": 307, + "formater_type": 8, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 213, + "pk": 334, "model": "ishtar_common.importtarget", "fields": { - "comment": "Am\u00e9nageur - adresse", - "target": "general_contractor__attached_to__postal_code", - "column": 192, - "formater_type": 28, - "concat_str": null, + "comment": "", + "target": "public_domain", + "column": 310, + "formater_type": 19, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 214, + "pk": 338, "model": "ishtar_common.importtarget", "fields": { - "comment": "Am\u00e9nageur - adresse", - "target": "general_contractor__attached_to__town", - "column": 192, - "formater_type": 31, - "concat_str": null, + "comment": "", + "target": "remains", + "column": 272, + "formater_type": 41, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 215, + "pk": 344, "model": "ishtar_common.importtarget", "fields": { - "comment": "Am\u00e9nageur - nom brut", - "target": "general_contractor__raw_name", - "column": 193, - "formater_type": 30, - "concat_str": null, + "comment": "", + "target": "width", + "column": 319, + "formater_type": 21, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 216, + "pk": 349, "model": "ishtar_common.importtarget", "fields": { - "comment": "Am\u00e9nageur - titre", - "target": "general_contractor__title", - "column": 194, - "formater_type": 29, - "concat_str": null, + "comment": "", + "target": "image", + "column": 324, + "formater_type": 27, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 217, + "pk": 356, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "parcels__year", - "column": 195, - "formater_type": 29, - "concat_str": null, + "target": "taq", + "column": 331, + "formater_type": 1, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 218, + "pk": 359, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "", - "column": 196, - "formater_type": 29, - "concat_str": null, + "target": "tpq_estimated", + "column": 334, + "formater_type": 1, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 219, + "pk": 365, "model": "ishtar_common.importtarget", "fields": { - "comment": "Commune (si non d\u00e9finie avant)", - "target": "['main_town', 'parcels__town']", - "column": 197, - "formater_type": 29, - "concat_str": null, + "comment": "", + "target": "label", + "column": 340, + "formater_type": 3, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 220, + "pk": 371, "model": "ishtar_common.importtarget", "fields": { - "comment": "Commune (si non d\u00e9finie avant)", - "target": "['main_town', 'parcels__town']", - "column": 198, - "formater_type": 29, - "concat_str": null, + "comment": "", + "target": "find__conservatory_state", + "column": 347, + "formater_type": 22, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 221, + "pk": 374, "model": "ishtar_common.importtarget", "fields": { - "comment": "Type de saisine", - "target": "saisine_type", - "column": 199, - "formater_type": 32, - "concat_str": null, + "comment": "", + "target": "find__preservation_to_considers", + "column": 350, + "formater_type": 23, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 222, + "pk": 377, "model": "ishtar_common.importtarget", "fields": { - "comment": "Nom du dossier", - "target": "name", - "column": 200, - "formater_type": 35, - "concat_str": null, + "comment": "", + "target": "find__length", + "column": 353, + "formater_type": 21, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 223, + "pk": 379, "model": "ishtar_common.importtarget", "fields": { - "comment": "Service instructeur - adresse", - "target": "responsible_town_planning_service__raw_name", - "column": 201, - "formater_type": 4, - "concat_str": null, + "comment": "", + "target": "find__height", + "column": 355, + "formater_type": 21, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 224, + "pk": 382, "model": "ishtar_common.importtarget", "fields": { - "comment": "Service instructeur - adresse", - "target": "responsible_town_planning_service__attached_to__address", - "column": 201, - "formater_type": 4, - "concat_str": null, + "comment": "", + "target": "find__find_number", + "column": 358, + "formater_type": 1, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 225, + "pk": 350, "model": "ishtar_common.importtarget", "fields": { - "comment": "Service instructeur - adresse", - "target": "responsible_town_planning_service__attached_to__postal_code", - "column": 201, - "formater_type": 28, - "concat_str": null, + "comment": "", + "target": "datings__period", + "column": 325, + "formater_type": 6, + "concat_str": "", "regexp_filter": null, "concat": false, - "force_new": false + "force_new": true } }, { - "pk": 226, + "pk": 335, "model": "ishtar_common.importtarget", "fields": { - "comment": "Service instructeur - adresse", - "target": "responsible_town_planning_service__attached_to__town", - "column": 201, - "formater_type": 31, - "concat_str": null, + "comment": "", + "target": "parcel__external_id", + "column": 311, + "formater_type": 28, + "concat_str": "-", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 227, + "pk": 38, "model": "ishtar_common.importtarget", "fields": { - "comment": "Commentaire", - "target": "comment", - "column": 202, - "formater_type": 35, + "comment": "", + "target": "label", + "column": 37, + "formater_type": 3, "concat_str": null, "regexp_filter": null, "concat": false, @@ -6552,13 +3366,13 @@ } }, { - "pk": 228, + "pk": 3, "model": "ishtar_common.importtarget", "fields": { - "comment": "Date de r\u00e9ception", - "target": "reception_date", - "column": 203, - "formater_type": 25, + "comment": null, + "target": "common_name", + "column": 3, + "formater_type": 3, "concat_str": null, "regexp_filter": null, "concat": false, @@ -6566,167 +3380,167 @@ } }, { - "pk": 229, + "pk": 291, "model": "ishtar_common.importtarget", "fields": { - "comment": "Date de cr\u00e9ation", - "target": "creation_date", - "column": 204, - "formater_type": 25, - "concat_str": null, + "comment": "", + "target": "common_name", + "column": 266, + "formater_type": 35, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 230, + "pk": 294, "model": "ishtar_common.importtarget", "fields": { - "comment": "Commentaire", - "target": "comment", - "column": 205, - "formater_type": 35, - "concat_str": null, + "comment": "", + "target": "operation_type", + "column": 269, + "formater_type": 2, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 231, + "pk": 300, "model": "ishtar_common.importtarget", "fields": { - "comment": "Autre r\u00e9f\u00e9rence", - "target": "internal_reference", - "column": 206, - "formater_type": 36, - "concat_str": null, + "comment": "", + "target": "scientist__name", + "column": 276, + "formater_type": 30, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 232, + "pk": 303, "model": "ishtar_common.importtarget", "fields": { - "comment": "Justificatif de prescription", - "target": "comment", - "column": 207, - "formater_type": 35, - "concat_str": null, + "comment": "", + "target": "operator_reference", + "column": 279, + "formater_type": 3, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 233, + "pk": 309, "model": "ishtar_common.importtarget", "fields": { - "comment": "Justificatif d'intervention", - "target": "comment", - "column": 208, - "formater_type": 35, - "concat_str": null, + "comment": "", + "target": "start_date", + "column": 285, + "formater_type": 25, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 234, + "pk": 312, "model": "ishtar_common.importtarget", "fields": { - "comment": "M\u00e9thodologie de l'op\u00e9ration", - "target": "comment", - "column": 209, - "formater_type": 35, - "concat_str": null, + "comment": "", + "target": "cira_date", + "column": 288, + "formater_type": 25, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 235, + "pk": 318, "model": "ishtar_common.importtarget", "fields": { - "comment": "R\u00e9f. du permis de construire", - "target": "permit_reference", - "column": 210, - "formater_type": 4, - "concat_str": null, + "comment": "", + "target": "documentation_received", + "column": 294, + "formater_type": 19, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 236, + "pk": 321, "model": "ishtar_common.importtarget", "fields": { - "comment": "R\u00e9f\u00e9rence de dossier am\u00e9nageur", + "comment": "", "target": "comment", - "column": 211, + "column": 297, "formater_type": 35, - "concat_str": null, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 237, + "pk": 324, "model": "ishtar_common.importtarget", "fields": { - "comment": "Num\u00e9ro d'arr\u00eat\u00e9 pr\u00e9fectoral", - "target": "comment", - "column": 212, + "comment": "", + "target": "scientific_documentation_comment", + "column": 300, "formater_type": 35, - "concat_str": null, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 238, + "pk": 326, "model": "ishtar_common.importtarget", "fields": { - "comment": "Num\u00e9ro d'arr\u00eat\u00e9 SRA", - "target": "comment", - "column": 213, - "formater_type": 35, - "concat_str": null, + "comment": "", + "target": "operation__code_patriarche", + "column": 302, + "formater_type": 1, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 239, + "pk": 329, "model": "ishtar_common.importtarget", "fields": { - "comment": "Num\u00e9ro d'arr\u00eat\u00e9 de post-diagnostic", - "target": "comment", - "column": 214, - "formater_type": 35, - "concat_str": null, + "comment": "", + "target": "external_id", + "column": 305, + "formater_type": 11, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 372, + "pk": 332, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "find__conservatory_comment", - "column": 348, - "formater_type": 35, + "target": "year", + "column": 308, + "formater_type": 14, "concat_str": "", "regexp_filter": null, "concat": false, @@ -6734,13 +3548,13 @@ } }, { - "pk": 383, + "pk": 345, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "find__mark", - "column": 359, - "formater_type": 35, + "target": "thickness", + "column": 320, + "formater_type": 21, "concat_str": "", "regexp_filter": null, "concat": false, @@ -6748,152 +3562,152 @@ } }, { - "pk": 240, + "pk": 348, "model": "ishtar_common.importtarget", "fields": { - "comment": "Commune (si non d\u00e9finie avant)", - "target": "['main_town', 'parcels__town']", - "column": 215, - "formater_type": 29, - "concat_str": null, + "comment": "", + "target": "has_furniture", + "column": 323, + "formater_type": 19, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 241, + "pk": 351, "model": "ishtar_common.importtarget", "fields": { - "comment": "Commentaire", - "target": "comment", - "column": 216, - "formater_type": 33, - "concat_str": null, + "comment": "", + "target": "datings_comment", + "column": 326, + "formater_type": 16, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 242, + "pk": 354, "model": "ishtar_common.importtarget", "fields": { - "comment": "Service instructeur - nom", - "target": "responsible_town_planning_service__attached_to__name", - "column": 217, - "formater_type": 4, - "concat_str": null, + "comment": "", + "target": "activity", + "column": 329, + "formater_type": 42, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 243, + "pk": 357, "model": "ishtar_common.importtarget", "fields": { - "comment": "Responsable - nom brut", - "target": "in_charge__raw_name", - "column": 218, - "formater_type": 30, - "concat_str": null, + "comment": "", + "target": "tpq", + "column": 332, + "formater_type": 1, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 244, + "pk": 360, "model": "ishtar_common.importtarget", "fields": { - "comment": "Surface totale", - "target": "total_surface", - "column": 219, - "formater_type": 29, - "concat_str": null, + "comment": "", + "target": "old_code", + "column": 335, + "formater_type": 30, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 245, + "pk": 384, "model": "ishtar_common.importtarget", "fields": { - "comment": "Surface totale am\u00e9nag\u00e9e", - "target": "total_developed_surface", - "column": 220, - "formater_type": 29, - "concat_str": null, + "comment": "", + "target": "find__comment", + "column": 360, + "formater_type": 35, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 246, + "pk": 385, "model": "ishtar_common.importtarget", "fields": { - "comment": "Type de permis", - "target": "permit_type", - "column": 221, - "formater_type": 34, - "concat_str": null, + "comment": "", + "target": "find__dating_comment", + "column": 361, + "formater_type": 35, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 247, + "pk": 388, "model": "ishtar_common.importtarget", "fields": { - "comment": "Ann\u00e9e du dossier", - "target": "year", - "column": 222, - "formater_type": 1, - "concat_str": null, + "comment": "", + "target": "find__datings__period", + "column": 364, + "formater_type": 6, + "concat_str": "", "regexp_filter": null, "concat": false, - "force_new": false + "force_new": true } }, { - "pk": 248, + "pk": 342, "model": "ishtar_common.importtarget", "fields": { - "comment": "Identifiant num\u00e9rique", - "target": "numeric_reference", - "column": 223, - "formater_type": 1, - "concat_str": null, + "comment": "", + "target": "comment", + "column": 317, + "formater_type": 35, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 249, + "pk": 347, "model": "ishtar_common.importtarget", "fields": { - "comment": "Identifiant externe", - "target": "external_id", - "column": 224, + "comment": "", + "target": "location", + "column": 322, "formater_type": 35, - "concat_str": null, + "concat_str": "", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 270, + "pk": 353, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "alt_address", - "column": 245, + "target": "interpretation", + "column": 328, "formater_type": 35, "concat_str": "", "regexp_filter": null, @@ -6902,12 +3716,12 @@ } }, { - "pk": 272, + "pk": 341, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "address", - "column": 247, + "target": "description", + "column": 316, "formater_type": 35, "concat_str": "", "regexp_filter": null, @@ -6916,13 +3730,13 @@ } }, { - "pk": 273, + "pk": 339, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "alt_postal_code", - "column": 248, - "formater_type": 38, + "target": "label", + "column": 314, + "formater_type": 30, "concat_str": "", "regexp_filter": null, "concat": false, @@ -6930,13 +3744,13 @@ } }, { - "pk": 274, + "pk": 302, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "postal_code", - "column": 249, - "formater_type": 38, + "target": "operator__name", + "column": 278, + "formater_type": 10, "concat_str": "", "regexp_filter": null, "concat": false, @@ -6944,13 +3758,13 @@ } }, { - "pk": 275, + "pk": 305, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "alt_address_is_prefered", - "column": 250, - "formater_type": 19, + "target": "in_charge__surname", + "column": 281, + "formater_type": 39, "concat_str": "", "regexp_filter": null, "concat": false, @@ -6958,41 +3772,41 @@ } }, { - "pk": 276, + "pk": 306, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "comment", - "column": 251, - "formater_type": 35, + "target": "in_charge__name", + "column": 282, + "formater_type": 30, "concat_str": "", "regexp_filter": null, - "concat": true, + "concat": false, "force_new": false } }, { - "pk": 277, + "pk": 314, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "comment", - "column": 252, - "formater_type": 35, + "target": "cira_rapporteur__surname", + "column": 290, + "formater_type": 39, "concat_str": "", "regexp_filter": null, - "concat": true, + "concat": false, "force_new": false } }, { - "pk": 278, + "pk": 315, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "contact_type", - "column": 253, - "formater_type": 35, + "target": "cira_rapporteur__name", + "column": 291, + "formater_type": 30, "concat_str": "", "regexp_filter": null, "concat": false, @@ -7000,13 +3814,13 @@ } }, { - "pk": 279, + "pk": 368, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "name", - "column": 254, - "formater_type": 30, + "target": "batch", + "column": 344, + "formater_type": 48, "concat_str": "", "regexp_filter": null, "concat": false, @@ -7014,13 +3828,13 @@ } }, { - "pk": 281, + "pk": 366, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "comment", - "column": 256, - "formater_type": 35, + "target": "find__previous_id", + "column": 341, + "formater_type": 3, "concat_str": "", "regexp_filter": null, "concat": false, @@ -7028,13 +3842,13 @@ } }, { - "pk": 282, + "pk": 369, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "raw_phone", - "column": 257, - "formater_type": 35, + "target": "find__is_complete", + "column": 345, + "formater_type": 19, "concat_str": "", "regexp_filter": null, "concat": false, @@ -7042,13 +3856,13 @@ } }, { - "pk": 283, + "pk": 378, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "alt_country", - "column": 258, - "formater_type": 17, + "target": "find__width", + "column": 354, + "formater_type": 21, "concat_str": "", "regexp_filter": null, "concat": false, @@ -7056,13 +3870,13 @@ } }, { - "pk": 284, + "pk": 375, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "country", - "column": 259, - "formater_type": 17, + "target": "find__integrities", + "column": 351, + "formater_type": 43, "concat_str": "", "regexp_filter": null, "concat": false, @@ -7070,13 +3884,13 @@ } }, { - "pk": 285, + "pk": 380, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "surname", - "column": 260, - "formater_type": 39, + "target": "find__diameter", + "column": 356, + "formater_type": 21, "concat_str": "", "regexp_filter": null, "concat": false, @@ -7084,13 +3898,13 @@ } }, { - "pk": 286, + "pk": 386, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "title", - "column": 261, - "formater_type": 31, + "target": "find__estimated_value", + "column": 362, + "formater_type": 21, "concat_str": "", "regexp_filter": null, "concat": false, @@ -7098,13 +3912,13 @@ } }, { - "pk": 288, + "pk": 297, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "alt_town", - "column": 263, - "formater_type": 31, + "target": "archaeological_sites__reference", + "column": 271, + "formater_type": 45, "concat_str": "", "regexp_filter": null, "concat": false, @@ -7112,27 +3926,27 @@ } }, { - "pk": 289, + "pk": 336, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "town", - "column": 264, - "formater_type": 31, - "concat_str": "", + "target": "parcel__external_id", + "column": 312, + "formater_type": 11, + "concat_str": "-", "regexp_filter": null, "concat": false, "force_new": false } }, { - "pk": 287, + "pk": 254, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "phone_desc", - "column": 262, - "formater_type": 4, + "target": "find__label", + "column": 229, + "formater_type": 3, "concat_str": "", "regexp_filter": null, "concat": false, @@ -7140,13 +3954,13 @@ } }, { - "pk": 271, + "pk": 372, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "email", - "column": 246, - "formater_type": 4, + "target": "find__conservatory_comment", + "column": 348, + "formater_type": 35, "concat_str": "", "regexp_filter": null, "concat": false, @@ -7154,13 +3968,13 @@ } }, { - "pk": 280, + "pk": 383, "model": "ishtar_common.importtarget", "fields": { "comment": "", - "target": "attached_to__name", - "column": 255, - "formater_type": 10, + "target": "find__mark", + "column": 359, + "formater_type": 35, "concat_str": "", "regexp_filter": null, "concat": false, @@ -7770,6 +4584,15 @@ "options": "archaeological_files.models.SaisineType" } }, + { + "pk": 48, + "model": "ishtar_common.formatertype", + "fields": { + "formater_type": "TypeFormater", + "many_split": "", + "options": "archaeological_finds.models.BatchType" + } + }, { "pk": 22, "model": "ishtar_common.formatertype", @@ -8076,105 +4899,6 @@ "options": "%Y" } }, - { - "pk": 7, - "model": "ishtar_common.importerduplicatefield", - "fields": { - "column": 57, - "concat_str": null, - "field_name": "scientist__name", - "concat": false, - "force_new": false - } - }, - { - "pk": 8, - "model": "ishtar_common.importerduplicatefield", - "fields": { - "column": 58, - "concat_str": null, - "field_name": "scientist__surname", - "concat": false, - "force_new": false - } - }, - { - "pk": 10, - "model": "ishtar_common.importerduplicatefield", - "fields": { - "column": 70, - "concat_str": null, - "field_name": "find__external_id", - "concat": false, - "force_new": false - } - }, - { - "pk": 11, - "model": "ishtar_common.importerduplicatefield", - "fields": { - "column": 76, - "concat_str": null, - "field_name": "", - "concat": false, - "force_new": false - } - }, - { - "pk": 12, - "model": "ishtar_common.importerduplicatefield", - "fields": { - "column": 70, - "concat_str": null, - "field_name": "label", - "concat": false, - "force_new": false - } - }, - { - "pk": 13, - "model": "ishtar_common.importerduplicatefield", - "fields": { - "column": 70, - "concat_str": null, - "field_name": "find__label", - "concat": false, - "force_new": false - } - }, - { - "pk": 9, - "model": "ishtar_common.importerduplicatefield", - "fields": { - "column": 66, - "concat_str": null, - "field_name": "external_id", - "concat": false, - "force_new": false - } - }, - { - "pk": 14, - "model": "ishtar_common.importerduplicatefield", - "fields": { - "column": 77, - "concat_str": null, - "field_name": "find__comment", - "concat": false, - "force_new": false - } - }, - { - "pk": 30, - "model": "ishtar_common.importerduplicatefield", - "fields": { - "column": 234, - "concat_str": "", - "field_name": "scientist__name", - "concat": false, - "force_new": false - } - }, { "pk": 5, "model": "ishtar_common.importerduplicatefield", @@ -8582,4 +5306,4 @@ "force_new": false } } -] +] \ No newline at end of file -- cgit v1.2.3 From e62d26f17f7f0da10d7bf0f9c7d8895c88002021 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Sat, 4 Feb 2017 13:46:50 +0100 Subject: Imports: adapt auto model creation for importers to new importer model --- ishtar_common/data_importer.py | 5 ++++- ishtar_common/models.py | 2 +- ishtar_common/tests.py | 4 +++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ishtar_common/data_importer.py b/ishtar_common/data_importer.py index 49705f0df..de4883c69 100644 --- a/ishtar_common/data_importer.py +++ b/ishtar_common/data_importer.py @@ -640,6 +640,9 @@ class Importer(object): model_name = self.OBJECT_CLS.__module__ + '.' + \ self.OBJECT_CLS.__name__ + model_cls, c = models.ImporterModel.object.get_or_create( + klass=model_name, default={'name': self.OBJECT_CLS.__name__} + ) unicity_keys = '' if self.UNICITY_KEYS: @@ -647,7 +650,7 @@ class Importer(object): importer = models.ImporterType.objects.create( slug=self.SLUG, name=name, description=self.DESC, - associated_models=model_name, unicity_keys=unicity_keys) + associated_models=model_cls, unicity_keys=unicity_keys) for default in self.DEFAULTS: values = self.DEFAULTS[default] diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 7b596d209..6e655776d 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -1756,7 +1756,7 @@ class ImporterType(models.Model): blank=True, null=True) associated_models = models.ForeignKey( ImporterModel, verbose_name=_(u"Associated model"), - related_name='+', blank=True, null=True) + related_name='+', blank=True, null=True) created_models = models.ManyToManyField( ImporterModel, verbose_name=_(u"Models that can accept new items"), blank=True, null=True, help_text=_(u"Leave blank for no restrictions"), diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py index b57ff0a94..a2d7bf46c 100644 --- a/ishtar_common/tests.py +++ b/ishtar_common/tests.py @@ -771,8 +771,10 @@ class ImportTest(TestCase): # create an import, fields are not relevant... create_user() + imp_model = models.ImporterModel.objects.create( + klass='ishtar_common.models.Person', name='Person') importer_type = models.ImporterType.objects.create( - associated_models='ishtar_common.models.Person') + associated_models=imp_model) mcc_operation_file = DjangoFile(file( settings.ROOT_PATH + '../archaeological_operations/tests/MCC-operations-example.csv', -- cgit v1.2.3 From 0d70cfb9f162d58a8faa51b2f88b44ba9bf79dcc Mon Sep 17 00:00:00 2001 From: Valérie-Emma Leroux Date: Sat, 4 Feb 2017 19:30:36 +0100 Subject: Admin: Ishtar common: add label search for GeneralType --- ishtar_common/admin.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ishtar_common/admin.py b/ishtar_common/admin.py index 7b671caae..6b28c984e 100644 --- a/ishtar_common/admin.py +++ b/ishtar_common/admin.py @@ -201,6 +201,7 @@ admin.site.register(models.GlobalVar, GlobalVarAdmin) class GeneralTypeAdmin(admin.ModelAdmin): list_display = ['label', 'txt_idx', 'available', 'comment'] + search_fields = ('label',) actions = ['import_generic', export_as_csv_action()] import_generic = gen_import_generic -- cgit v1.2.3 From 804d5a65839300a3c0765b7be6d3e67af6901fe2 Mon Sep 17 00:00:00 2001 From: Valérie-Emma Leroux Date: Sat, 4 Feb 2017 21:31:00 +0100 Subject: Admin: Archaeological operations: add order for ReportState --- archaeological_operations/admin.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/archaeological_operations/admin.py b/archaeological_operations/admin.py index d8ce23662..3abf22eae 100644 --- a/archaeological_operations/admin.py +++ b/archaeological_operations/admin.py @@ -105,10 +105,16 @@ class ActTypeAdmin(GeneralTypeAdmin): list_filter = ('intented_to',) list_display = ['label', 'txt_idx', 'available', 'intented_to'] - admin.site.register(models.ActType, ActTypeAdmin) -general_models = [models.RemainType, models.ReportState] + +class ReportStateAdmin(GeneralTypeAdmin): + list_display = ['label', 'txt_idx', 'available', 'order', 'comment'] + +admin.site.register(models.ReportState, ReportStateAdmin) + + +general_models = [models.RemainType] for model in general_models: admin.site.register(model, GeneralTypeAdmin) -- cgit v1.2.3 From d5a7eab71905c426c86a14a0f2c33ad4c01d0e07 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Sat, 4 Feb 2017 21:29:26 +0100 Subject: Update french translation --- translations/fr/archaeological_context_records.po | 14 +++++++------- translations/fr/archaeological_warehouse.po | 6 +++--- translations/fr/ishtar_common.po | 8 ++++---- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/translations/fr/archaeological_context_records.po b/translations/fr/archaeological_context_records.po index 633a55cec..3c3dc5169 100644 --- a/translations/fr/archaeological_context_records.po +++ b/translations/fr/archaeological_context_records.po @@ -9,7 +9,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Transfer-Encoding: 8bit\n" "Content-Type: text/plain; charset=UTF-8\n" -"PO-Revision-Date: 2017-02-02 10:17-0500\n" +"PO-Revision-Date: 2017-02-04 08:33-0500\n" "Last-Translator: Valérie-Emma Leroux \n" "Language-Team: \n" "Language: fr\n" @@ -364,24 +364,24 @@ msgid "" "\"Terminus Ante Quem\" the context record can't have been created after this " "date" msgstr "" -"« Terminus Ante Quem » l'Unité d'Enregistrement ne peut avoir été créée " -"après cette date" +"« Terminus Ante Quem ». L'Unité d'Enregistrement ne peut avoir été créée " +"après cette date." #: models.py:209 msgid "Estimation of a \"Terminus Ante Quem\"" -msgstr "Estimation d'un « Terminus Ante Quem »" +msgstr "Estimation d'un « Terminus Ante Quem »." #: models.py:212 msgid "" "\"Terminus Post Quem\" the context record can't have been created before " "this date" msgstr "" -"« Terminus Post Quem » l'Unité d'Enregistrement ne peut avoir été créée " -"avant cette date" +"« Terminus Post Quem ». L'Unité d'Enregistrement ne peut avoir été créée " +"avant cette date." #: models.py:216 msgid "Estimation of a \"Terminus Post Quem\"" -msgstr "Estimation d'un « Terminus Post Quem »" +msgstr "Estimation d'un « Terminus Post Quem »." #: models.py:224 msgid "Point" diff --git a/translations/fr/archaeological_warehouse.po b/translations/fr/archaeological_warehouse.po index 7071aec57..e7bdbe6f6 100644 --- a/translations/fr/archaeological_warehouse.po +++ b/translations/fr/archaeological_warehouse.po @@ -9,8 +9,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Transfer-Encoding: 8bit\n" "Content-Type: text/plain; charset=UTF-8\n" -"PO-Revision-Date: 2017-02-02 10:17-0500\n" -"Last-Translator: Valérie-Emma Leroux \n" +"PO-Revision-Date: 2017-02-04 08:26-0500\n" +"Last-Translator: Copied by Zanata \n" "Language-Team: \n" "Language: fr\n" "Plural-Forms: nplurals=2; plural=n>1;\n" @@ -176,7 +176,7 @@ msgstr "Contenants" #: models.py:37 msgid "Warehouse types" -msgstr "Types de dépôts" +msgstr "Types de dépôt" #: models.py:56 models.py:186 msgid "External ID" diff --git a/translations/fr/ishtar_common.po b/translations/fr/ishtar_common.po index a5cd454fd..928754462 100644 --- a/translations/fr/ishtar_common.po +++ b/translations/fr/ishtar_common.po @@ -11,8 +11,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Transfer-Encoding: 8bit\n" "Content-Type: text/plain; charset=UTF-8\n" -"PO-Revision-Date: 2017-02-03 04:25-0500\n" -"Last-Translator: Étienne Loks \n" +"PO-Revision-Date: 2017-02-04 04:55-0500\n" +"Last-Translator: Valérie-Emma Leroux \n" "Language-Team: \n" "Language: fr\n" "Plural-Forms: nplurals=2; plural=n>1;\n" @@ -469,7 +469,7 @@ msgstr "Description" #: forms_common.py:796 models.py:2887 msgid "Additional information" -msgstr "Informations supplémentaires" +msgstr "Information supplémentaire" #: forms_common.py:798 forms_common.py:830 models.py:2889 msgid "Has a duplicate" @@ -495,7 +495,7 @@ msgstr "Auteur" #: forms_common.py:829 msgid "Additional informations" -msgstr "Informations complémentaires" +msgstr "Informations supplémentaires" #: forms_common.py:840 msgid "Would you like to delete this documentation?" -- cgit v1.2.3 From 0b0a146fbacde80528b7fb12bfe5719fdef40c85 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Sat, 4 Feb 2017 21:31:04 +0100 Subject: Update translation files --- archaeological_context_records/locale/django.pot | 6 +- archaeological_files/locale/django.pot | 1 + archaeological_finds/locale/django.pot | 1 - ishtar_common/locale/django.pot | 127 ++++++++++--------- translations/fr/archaeological_context_records.po | 14 ++- translations/fr/archaeological_files.po | 8 +- translations/fr/archaeological_files_pdl.po | 8 +- translations/fr/archaeological_finds.po | 14 +-- translations/fr/archaeological_operations.po | 11 +- translations/fr/archaeological_warehouse.po | 8 +- translations/fr/ishtar_common.po | 144 ++++++++++++---------- 11 files changed, 186 insertions(+), 156 deletions(-) diff --git a/archaeological_context_records/locale/django.pot b/archaeological_context_records/locale/django.pot index 75e6a2160..e42400f29 100644 --- a/archaeological_context_records/locale/django.pot +++ b/archaeological_context_records/locale/django.pot @@ -3,7 +3,7 @@ # This file is distributed under the same license as the Ishtar package. # Étienne Loks , 2010-2015. # Valérie-Emma Leroux , 2016. #zanata -# Étienne Loks , 2017. #zanata +# Valérie-Emma Leroux , 2017. #zanata msgid "" msgstr "" @@ -253,11 +253,11 @@ msgid "Dating types" msgstr "" #: models.py:47 -msgid "Dating quality" +msgid "Dating quality type" msgstr "" #: models.py:48 -msgid "Dating qualities" +msgid "Dating quality types" msgstr "" #: models.py:62 diff --git a/archaeological_files/locale/django.pot b/archaeological_files/locale/django.pot index 111ba45c4..3eecfc8cd 100644 --- a/archaeological_files/locale/django.pot +++ b/archaeological_files/locale/django.pot @@ -5,6 +5,7 @@ # Étienne Loks , 2015. #zanata # Valérie-Emma Leroux , 2016. #zanata # Étienne Loks , 2016. #zanata +# Valérie-Emma Leroux , 2017. #zanata msgid "" msgstr "" diff --git a/archaeological_finds/locale/django.pot b/archaeological_finds/locale/django.pot index 819cf38bf..b25eac027 100644 --- a/archaeological_finds/locale/django.pot +++ b/archaeological_finds/locale/django.pot @@ -4,7 +4,6 @@ # Étienne Loks , 2010-2015. # Valérie-Emma Leroux , 2016. #zanata # Valérie-Emma Leroux , 2017. #zanata -# Étienne Loks , 2017. #zanata msgid "" msgstr "" diff --git a/ishtar_common/locale/django.pot b/ishtar_common/locale/django.pot index 458368a35..797aad587 100644 --- a/ishtar_common/locale/django.pot +++ b/ishtar_common/locale/django.pot @@ -6,7 +6,6 @@ # Valérie-Emma Leroux , 2016. #zanata # Étienne Loks , 2016. #zanata # Valérie-Emma Leroux , 2017. #zanata -# Étienne Loks , 2017. #zanata msgid "" msgstr "" @@ -22,6 +21,10 @@ msgstr "" msgid "Related item" msgstr "" +#: admin.py:79 +msgid "Export selected as CSV file" +msgstr "" + #: data_importer.py:182 #, python-format msgid "\"%(value)s\" is too long. The max length is %(length)d characters." @@ -162,7 +165,7 @@ msgid "Template" msgstr "" #: forms_common.py:41 forms_common.py:59 forms_common.py:182 -#: forms_common.py:406 models.py:1539 models.py:2940 +#: forms_common.py:406 models.py:1539 models.py:2943 #: templates/blocks/JQueryAdvancedTown.html:19 #: templates/ishtar/sheet_organization.html:13 msgid "Town" @@ -179,7 +182,7 @@ msgid "" msgstr "" #: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:1712 -#: models.py:2567 models.py:2749 models.py:2810 +#: models.py:2567 models.py:2749 models.py:2811 #: templates/ishtar/sheet_person.html:4 msgid "Person" msgstr "" @@ -198,7 +201,7 @@ msgstr "" #: forms_common.py:173 forms_common.py:210 forms_common.py:322 #: forms_common.py:376 forms_common.py:446 models.py:1094 models.py:1472 -#: models.py:1758 models.py:1977 models.py:2444 models.py:2553 models.py:2926 +#: models.py:1758 models.py:1977 models.py:2444 models.py:2553 models.py:2929 #: templates/ishtar/sheet_organization.html:8 #: templates/ishtar/sheet_organization.html:21 msgid "Name" @@ -247,7 +250,7 @@ msgid "Mobile phone" msgstr "" #: forms_common.py:211 forms_common.py:325 forms_common.py:449 models.py:2144 -#: models.py:2446 models.py:2861 templates/sheet_ope.html:85 +#: models.py:2446 models.py:2864 templates/sheet_ope.html:85 #: templates/sheet_ope.html.py:105 templates/sheet_ope.html:126 #: templates/ishtar/import_list.html:13 #: templates/ishtar/sheet_organization.html:23 @@ -290,7 +293,7 @@ msgid "Identity" msgstr "" #: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:2109 -#: models.py:2545 models.py:2547 models.py:2858 templates/sheet_ope.html:104 +#: models.py:2545 models.py:2547 models.py:2861 templates/sheet_ope.html:104 #: templates/ishtar/blocks/window_tables/documents.html:7 msgid "Title" msgstr "" @@ -391,7 +394,7 @@ msgstr "" msgid "Send the new password by email?" msgstr "" -#: forms_common.py:628 forms_common.py:641 models.py:2941 +#: forms_common.py:628 forms_common.py:641 models.py:2944 msgid "Towns" msgstr "" @@ -407,7 +410,7 @@ msgstr "" msgid "Documentation informations" msgstr "" -#: forms_common.py:775 forms_common.py:823 models.py:2110 models.py:2835 +#: forms_common.py:775 forms_common.py:823 models.py:2110 models.py:2836 msgid "Source type" msgstr "" @@ -419,37 +422,37 @@ msgstr "" msgid "Internal reference" msgstr "" -#: forms_common.py:783 models.py:2872 +#: forms_common.py:783 models.py:2875 msgid "Numerical ressource (web address)" msgstr "" -#: forms_common.py:784 models.py:2874 +#: forms_common.py:784 models.py:2877 msgid "Receipt date" msgstr "" -#: forms_common.py:786 models.py:2273 models.py:2876 +#: forms_common.py:786 models.py:2273 models.py:2879 msgid "Creation date" msgstr "" -#: forms_common.py:789 models.py:2879 +#: forms_common.py:789 models.py:2882 msgid "Receipt date in documentation" msgstr "" #: forms_common.py:791 forms_common.py:827 models.py:376 models.py:687 -#: models.py:2004 models.py:2559 models.py:2886 +#: models.py:2004 models.py:2559 models.py:2889 msgid "Comment" msgstr "" #: forms_common.py:793 forms_common.py:826 models.py:1096 models.py:1762 -#: models.py:1936 models.py:1978 models.py:2885 templates/sheet_ope.html:128 +#: models.py:1936 models.py:1978 models.py:2888 templates/sheet_ope.html:128 msgid "Description" msgstr "" -#: forms_common.py:796 models.py:2887 +#: forms_common.py:796 models.py:2890 msgid "Additional information" msgstr "" -#: forms_common.py:798 forms_common.py:830 models.py:2889 +#: forms_common.py:798 forms_common.py:830 models.py:2892 msgid "Has a duplicate" msgstr "" @@ -464,7 +467,7 @@ msgid "" "p>" msgstr "" -#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2815 +#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2816 #: templates/ishtar/wizard/wizard_person_deletion.html:124 msgid "Author" msgstr "" @@ -477,7 +480,7 @@ msgstr "" msgid "Would you like to delete this documentation?" msgstr "" -#: forms_common.py:856 models.py:2111 models.py:2803 models.py:2812 +#: forms_common.py:856 models.py:2111 models.py:2803 models.py:2813 msgid "Author type" msgstr "" @@ -489,7 +492,7 @@ msgstr "" msgid "There are identical authors." msgstr "" -#: forms_common.py:893 models.py:2816 models.py:2868 +#: forms_common.py:893 models.py:2817 models.py:2871 #: templates/sheet_ope.html:106 #: templates/ishtar/blocks/window_tables/documents.html:9 msgid "Authors" @@ -507,7 +510,7 @@ msgstr "" msgid "Deletion" msgstr "" -#: ishtar_menu.py:39 models.py:1268 views.py:1548 +#: ishtar_menu.py:39 models.py:1268 views.py:1549 msgid "Global variables" msgstr "" @@ -539,15 +542,15 @@ msgstr "" msgid "Imports" msgstr "" -#: ishtar_menu.py:112 views.py:1556 +#: ishtar_menu.py:112 views.py:1557 msgid "New import" msgstr "" -#: ishtar_menu.py:116 views.py:1570 +#: ishtar_menu.py:116 views.py:1571 msgid "Current imports" msgstr "" -#: ishtar_menu.py:120 views.py:1606 +#: ishtar_menu.py:120 views.py:1607 msgid "Old imports" msgstr "" @@ -591,7 +594,7 @@ msgstr "" msgid "Creator" msgstr "" -#: models.py:956 models.py:2952 models.py:3008 +#: models.py:956 models.py:2955 models.py:3011 msgid "Order" msgstr "" @@ -886,11 +889,11 @@ msgstr "" msgid "Operation source" msgstr "" -#: models.py:1722 views.py:1364 views.py:1414 +#: models.py:1722 views.py:1365 views.py:1415 msgid "Archaeological files" msgstr "" -#: models.py:1724 views.py:1367 views.py:1422 +#: models.py:1724 views.py:1368 views.py:1423 msgid "Context records" msgstr "" @@ -1022,11 +1025,11 @@ msgstr "" msgid "Importer - Targets keys" msgstr "" -#: models.py:2112 models.py:2851 models.py:2864 +#: models.py:2112 models.py:2867 msgid "Format" msgstr "" -#: models.py:2113 models.py:2956 +#: models.py:2113 models.py:2959 msgid "Operation type" msgstr "" @@ -1090,11 +1093,11 @@ msgstr "" msgid "Context record relation type" msgstr "" -#: models.py:2132 models.py:3014 +#: models.py:2132 models.py:3017 msgid "Spatial reference system" msgstr "" -#: models.py:2133 models.py:2843 +#: models.py:2133 models.py:2845 msgid "Support type" msgstr "" @@ -1380,75 +1383,79 @@ msgstr "" msgid "Author types" msgstr "" -#: models.py:2836 +#: models.py:2837 msgid "Source types" msgstr "" -#: models.py:2844 +#: models.py:2846 msgid "Support types" msgstr "" -#: models.py:2852 -msgid "Formats" +#: models.py:2853 +msgid "Format type" msgstr "" -#: models.py:2859 -msgid "External ID" +#: models.py:2854 +msgid "Format types" msgstr "" #: models.py:2862 +msgid "External ID" +msgstr "" + +#: models.py:2865 msgid "Support" msgstr "" -#: models.py:2866 +#: models.py:2869 msgid "Scale" msgstr "" -#: models.py:2880 +#: models.py:2883 msgid "Item number" msgstr "" -#: models.py:2881 +#: models.py:2884 msgid "Ref." msgstr "" -#: models.py:2884 +#: models.py:2887 msgid "Internal ref." msgstr "" -#: models.py:2927 +#: models.py:2930 msgid "Surface (m2)" msgstr "" -#: models.py:2928 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107 +#: models.py:2931 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107 msgid "Localisation" msgstr "" -#: models.py:2953 +#: models.py:2956 msgid "Is preventive" msgstr "" -#: models.py:2957 +#: models.py:2960 msgid "Operation types" msgstr "" -#: models.py:2986 +#: models.py:2989 msgid "Preventive" msgstr "" -#: models.py:2987 +#: models.py:2990 msgid "Research" msgstr "" -#: models.py:3010 +#: models.py:3013 msgid "Authority name" msgstr "" -#: models.py:3011 +#: models.py:3014 msgid "Authority SRID" msgstr "" -#: models.py:3015 +#: models.py:3018 msgid "Spatial reference systems" msgstr "" @@ -1512,48 +1519,48 @@ msgstr "" msgid "Treatment" msgstr "" -#: views.py:1303 views.py:1346 +#: views.py:1304 views.py:1347 msgid "Operation not permitted." msgstr "" -#: views.py:1305 +#: views.py:1306 #, python-format msgid "New %s" msgstr "" -#: views.py:1365 views.py:1418 +#: views.py:1366 views.py:1419 msgid "Operations" msgstr "" -#: views.py:1369 views.py:1425 +#: views.py:1370 views.py:1426 msgid "Finds" msgstr "" -#: views.py:1618 templates/ishtar/import_list.html:43 +#: views.py:1619 templates/ishtar/import_list.html:43 msgid "Link unmatched items" msgstr "" -#: views.py:1633 +#: views.py:1634 msgid "Delete import" msgstr "" -#: views.py:1672 +#: views.py:1673 msgid "Merge persons" msgstr "" -#: views.py:1696 +#: views.py:1697 msgid "Select the main person" msgstr "" -#: views.py:1705 +#: views.py:1706 msgid "Merge organization" msgstr "" -#: views.py:1715 +#: views.py:1716 msgid "Select the main organization" msgstr "" -#: views.py:1755 views.py:1771 +#: views.py:1756 views.py:1772 msgid "Corporation manager" msgstr "" diff --git a/translations/fr/archaeological_context_records.po b/translations/fr/archaeological_context_records.po index 3c3dc5169..9de748717 100644 --- a/translations/fr/archaeological_context_records.po +++ b/translations/fr/archaeological_context_records.po @@ -6,13 +6,15 @@ # Valérie-Emma Leroux , 2017. #zanata msgid "" msgstr "" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-04 21:29+0100\n" "PO-Revision-Date: 2017-02-04 08:33-0500\n" "Last-Translator: Valérie-Emma Leroux \n" "Language-Team: \n" "Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n>1;\n" "X-Generator: Zanata 3.9.6\n" @@ -264,11 +266,13 @@ msgid "Dating types" msgstr "Types de datation" #: models.py:47 -msgid "Dating quality" +#, fuzzy +msgid "Dating quality type" msgstr "Qualité de datation" #: models.py:48 -msgid "Dating qualities" +#, fuzzy +msgid "Dating quality types" msgstr "Qualités de datation" #: models.py:62 diff --git a/translations/fr/archaeological_files.po b/translations/fr/archaeological_files.po index 61dcf1376..8d6fffb7a 100644 --- a/translations/fr/archaeological_files.po +++ b/translations/fr/archaeological_files.po @@ -8,13 +8,15 @@ # Valérie-Emma Leroux , 2017. #zanata msgid "" msgstr "" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-04 21:29+0100\n" "PO-Revision-Date: 2017-02-02 10:01-0500\n" "Last-Translator: Valérie-Emma Leroux \n" "Language-Team: \n" "Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n>1;\n" "X-Generator: Zanata 3.9.6\n" diff --git a/translations/fr/archaeological_files_pdl.po b/translations/fr/archaeological_files_pdl.po index 949555adc..2d7bc969e 100644 --- a/translations/fr/archaeological_files_pdl.po +++ b/translations/fr/archaeological_files_pdl.po @@ -5,13 +5,15 @@ # Valérie-Emma Leroux , 2016. #zanata msgid "" msgstr "" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-04 21:29+0100\n" "PO-Revision-Date: 2016-11-14 05:33-0500\n" "Last-Translator: Copied by Zanata \n" "Language-Team: \n" "Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" "X-Generator: Zanata 3.9.6\n" diff --git a/translations/fr/archaeological_finds.po b/translations/fr/archaeological_finds.po index 88e73087a..efdc8db6e 100644 --- a/translations/fr/archaeological_finds.po +++ b/translations/fr/archaeological_finds.po @@ -6,13 +6,15 @@ # Valérie-Emma Leroux , 2017. #zanata msgid "" msgstr "" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-04 21:29+0100\n" "PO-Revision-Date: 2017-02-02 09:58-0500\n" "Last-Translator: Étienne Loks \n" "Language-Team: \n" "Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n>1;\n" "X-Generator: Zanata 3.9.6\n" @@ -188,15 +190,13 @@ msgstr "" "ratio est conservé).

" #: forms.py:278 -msgid "" -"You should at least provide X, Y and the spatial reference system used." +msgid "You should at least provide X, Y and the spatial reference system used." msgstr "" "Vous devez au minimum fournir X, Y et le système de référence spatiale " "utilisé." #: forms.py:287 -msgid "" -"Coordinates are not relevant for the spatial reference system used: {}." +msgid "Coordinates are not relevant for the spatial reference system used: {}." msgstr "" "Les coordonnées ne sont pas pertinentes pour le système de référence " "spatiale utilisé : {}." diff --git a/translations/fr/archaeological_operations.po b/translations/fr/archaeological_operations.po index df903a8ec..9ed814ced 100644 --- a/translations/fr/archaeological_operations.po +++ b/translations/fr/archaeological_operations.po @@ -8,13 +8,15 @@ # Valérie-Emma Leroux , 2017. #zanata msgid "" msgstr "" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-04 21:29+0100\n" "PO-Revision-Date: 2017-02-02 10:02-0500\n" "Last-Translator: Copied by Zanata \n" "Language-Team: \n" "Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n>1;\n" "X-Generator: Zanata 3.9.6\n" @@ -390,8 +392,7 @@ msgstr "" #: forms.py:891 msgid "The excavation end date cannot be before the start date." -msgstr "" -"La date de fin de chantier ne peut être antérieure à la date de début." +msgstr "La date de fin de chantier ne peut être antérieure à la date de début." #: forms.py:919 #, python-format diff --git a/translations/fr/archaeological_warehouse.po b/translations/fr/archaeological_warehouse.po index e7bdbe6f6..1f0c213ab 100644 --- a/translations/fr/archaeological_warehouse.po +++ b/translations/fr/archaeological_warehouse.po @@ -6,13 +6,15 @@ # Valérie-Emma Leroux , 2017. #zanata msgid "" msgstr "" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-04 21:29+0100\n" "PO-Revision-Date: 2017-02-04 08:26-0500\n" "Last-Translator: Copied by Zanata \n" "Language-Team: \n" "Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n>1;\n" "X-Generator: Zanata 3.9.6\n" diff --git a/translations/fr/ishtar_common.po b/translations/fr/ishtar_common.po index 928754462..0c705f691 100644 --- a/translations/fr/ishtar_common.po +++ b/translations/fr/ishtar_common.po @@ -8,13 +8,15 @@ # Valérie-Emma Leroux , 2017. #zanata msgid "" msgstr "" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-04 21:29+0100\n" "PO-Revision-Date: 2017-02-04 04:55-0500\n" "Last-Translator: Valérie-Emma Leroux \n" "Language-Team: \n" "Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n>1;\n" "X-Generator: Zanata 3.9.6\n" @@ -30,6 +32,11 @@ msgstr "courriel" msgid "Related item" msgstr "Élément associé" +#: admin.py:79 +#, fuzzy +msgid "Export selected as CSV file" +msgstr "Export en CSV - complet" + #: data_importer.py:182 #, python-format msgid "\"%(value)s\" is too long. The max length is %(length)d characters." @@ -175,7 +182,7 @@ msgid "Template" msgstr "Patron" #: forms_common.py:41 forms_common.py:59 forms_common.py:182 -#: forms_common.py:406 models.py:1539 models.py:2940 +#: forms_common.py:406 models.py:1539 models.py:2943 #: templates/blocks/JQueryAdvancedTown.html:19 #: templates/ishtar/sheet_organization.html:13 msgid "Town" @@ -199,7 +206,7 @@ msgstr "" "commune Saint-Denis dans le département français de Seine-Saint-Denis.

" #: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:1712 -#: models.py:2567 models.py:2749 models.py:2810 +#: models.py:2567 models.py:2749 models.py:2811 #: templates/ishtar/sheet_person.html:4 msgid "Person" msgstr "Personne" @@ -220,7 +227,7 @@ msgstr "Organisation" #: forms_common.py:173 forms_common.py:210 forms_common.py:322 #: forms_common.py:376 forms_common.py:446 models.py:1094 models.py:1472 -#: models.py:1758 models.py:1977 models.py:2444 models.py:2553 models.py:2926 +#: models.py:1758 models.py:1977 models.py:2444 models.py:2553 models.py:2929 #: templates/ishtar/sheet_organization.html:8 #: templates/ishtar/sheet_organization.html:21 msgid "Name" @@ -269,7 +276,7 @@ msgid "Mobile phone" msgstr "Téléphone portable" #: forms_common.py:211 forms_common.py:325 forms_common.py:449 models.py:2144 -#: models.py:2446 models.py:2861 templates/sheet_ope.html:85 +#: models.py:2446 models.py:2864 templates/sheet_ope.html:85 #: templates/sheet_ope.html.py:105 templates/sheet_ope.html:126 #: templates/ishtar/import_list.html:13 #: templates/ishtar/sheet_organization.html:23 @@ -312,7 +319,7 @@ msgid "Identity" msgstr "Identité" #: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:2109 -#: models.py:2545 models.py:2547 models.py:2858 templates/sheet_ope.html:104 +#: models.py:2545 models.py:2547 models.py:2861 templates/sheet_ope.html:104 #: templates/ishtar/blocks/window_tables/documents.html:7 msgid "Title" msgstr "Titre" @@ -413,7 +420,7 @@ msgstr "Ce nom d'utilisateur existe déjà." msgid "Send the new password by email?" msgstr "Envoyer le nouveau mot de passe par courriel ?" -#: forms_common.py:628 forms_common.py:641 models.py:2941 +#: forms_common.py:628 forms_common.py:641 models.py:2944 msgid "Towns" msgstr "Communes" @@ -429,7 +436,7 @@ msgstr "Seul un choix peut être coché." msgid "Documentation informations" msgstr "Information sur le document" -#: forms_common.py:775 forms_common.py:823 models.py:2110 models.py:2835 +#: forms_common.py:775 forms_common.py:823 models.py:2110 models.py:2836 msgid "Source type" msgstr "Type de document" @@ -441,37 +448,37 @@ msgstr "Référence" msgid "Internal reference" msgstr "Référence interne" -#: forms_common.py:783 models.py:2872 +#: forms_common.py:783 models.py:2875 msgid "Numerical ressource (web address)" msgstr "Ressource numérique (adresse web)" -#: forms_common.py:784 models.py:2874 +#: forms_common.py:784 models.py:2877 msgid "Receipt date" msgstr "Date de réception" -#: forms_common.py:786 models.py:2273 models.py:2876 +#: forms_common.py:786 models.py:2273 models.py:2879 msgid "Creation date" msgstr "Date de création" -#: forms_common.py:789 models.py:2879 +#: forms_common.py:789 models.py:2882 msgid "Receipt date in documentation" msgstr "Date de réception en documentation" #: forms_common.py:791 forms_common.py:827 models.py:376 models.py:687 -#: models.py:2004 models.py:2559 models.py:2886 +#: models.py:2004 models.py:2559 models.py:2889 msgid "Comment" msgstr "Commentaire" #: forms_common.py:793 forms_common.py:826 models.py:1096 models.py:1762 -#: models.py:1936 models.py:1978 models.py:2885 templates/sheet_ope.html:128 +#: models.py:1936 models.py:1978 models.py:2888 templates/sheet_ope.html:128 msgid "Description" msgstr "Description" -#: forms_common.py:796 models.py:2887 +#: forms_common.py:796 models.py:2890 msgid "Additional information" msgstr "Information supplémentaire" -#: forms_common.py:798 forms_common.py:830 models.py:2889 +#: forms_common.py:798 forms_common.py:830 models.py:2892 msgid "Has a duplicate" msgstr "Existe en doublon" @@ -488,7 +495,7 @@ msgstr "" "

Les images trop grandes sont retaillées en : %(width)dx%(height)d (le " "ratio est conservé).

" -#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2815 +#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2816 #: templates/ishtar/wizard/wizard_person_deletion.html:124 msgid "Author" msgstr "Auteur" @@ -501,7 +508,7 @@ msgstr "Informations supplémentaires" msgid "Would you like to delete this documentation?" msgstr "Voulez-vous supprimer ce document ?" -#: forms_common.py:856 models.py:2111 models.py:2803 models.py:2812 +#: forms_common.py:856 models.py:2111 models.py:2803 models.py:2813 msgid "Author type" msgstr "Type d'auteur" @@ -513,7 +520,7 @@ msgstr "Sélection d'auteur" msgid "There are identical authors." msgstr "Il y a des auteurs identiques." -#: forms_common.py:893 models.py:2816 models.py:2868 +#: forms_common.py:893 models.py:2817 models.py:2871 #: templates/sheet_ope.html:106 #: templates/ishtar/blocks/window_tables/documents.html:9 msgid "Authors" @@ -531,7 +538,7 @@ msgstr "Ajout/modification" msgid "Deletion" msgstr "Suppression" -#: ishtar_menu.py:39 models.py:1268 views.py:1548 +#: ishtar_menu.py:39 models.py:1268 views.py:1549 msgid "Global variables" msgstr "Variables globales" @@ -563,15 +570,15 @@ msgstr "Fusion manuelle" msgid "Imports" msgstr "Imports" -#: ishtar_menu.py:112 views.py:1556 +#: ishtar_menu.py:112 views.py:1557 msgid "New import" msgstr "Nouvel import" -#: ishtar_menu.py:116 views.py:1570 +#: ishtar_menu.py:116 views.py:1571 msgid "Current imports" msgstr "Imports en cours" -#: ishtar_menu.py:120 views.py:1606 +#: ishtar_menu.py:120 views.py:1607 msgid "Old imports" msgstr "Anciens imports" @@ -615,7 +622,7 @@ msgstr "Dernier éditeur" msgid "Creator" msgstr "Créateur" -#: models.py:956 models.py:2952 models.py:3008 +#: models.py:956 models.py:2955 models.py:3011 msgid "Order" msgstr "Ordre" @@ -937,11 +944,11 @@ msgstr "Parcelles" msgid "Operation source" msgstr "Documentation de l'opération" -#: models.py:1722 views.py:1364 views.py:1414 +#: models.py:1722 views.py:1365 views.py:1415 msgid "Archaeological files" msgstr "Dossiers" -#: models.py:1724 views.py:1367 views.py:1422 +#: models.py:1724 views.py:1368 views.py:1423 msgid "Context records" msgstr "Unités d'Enregistrement" @@ -1073,11 +1080,11 @@ msgstr "Importeur - Clé de rapprochement" msgid "Importer - Targets keys" msgstr "Importeur - Clés de rapprochement" -#: models.py:2112 models.py:2851 models.py:2864 +#: models.py:2112 models.py:2867 msgid "Format" msgstr "Format" -#: models.py:2113 models.py:2956 +#: models.py:2113 models.py:2959 msgid "Operation type" msgstr "Type d'opération" @@ -1141,11 +1148,11 @@ msgstr "Type d'identification" msgid "Context record relation type" msgstr "Type de relations entre Unités d'Enregistrement" -#: models.py:2132 models.py:3014 +#: models.py:2132 models.py:3017 msgid "Spatial reference system" msgstr "Système de référence spatiale" -#: models.py:2133 models.py:2843 +#: models.py:2133 models.py:2845 msgid "Support type" msgstr "Type de support" @@ -1433,75 +1440,81 @@ msgstr "" msgid "Author types" msgstr "Types d'auteur" -#: models.py:2836 +#: models.py:2837 msgid "Source types" msgstr "Types de document" -#: models.py:2844 +#: models.py:2846 msgid "Support types" msgstr "Types de support" -#: models.py:2852 -msgid "Formats" +#: models.py:2853 +#, fuzzy +msgid "Format type" +msgstr "Format" + +#: models.py:2854 +#, fuzzy +msgid "Format types" msgstr "Formats" -#: models.py:2859 +#: models.py:2862 msgid "External ID" msgstr "Identifiant externe" -#: models.py:2862 +#: models.py:2865 msgid "Support" msgstr "Support" -#: models.py:2866 +#: models.py:2869 msgid "Scale" msgstr "Échelle" -#: models.py:2880 +#: models.py:2883 msgid "Item number" msgstr "Numéro d'élément" -#: models.py:2881 +#: models.py:2884 msgid "Ref." msgstr "Réf." -#: models.py:2884 +#: models.py:2887 msgid "Internal ref." msgstr "Réf. interne" -#: models.py:2927 +#: models.py:2930 msgid "Surface (m2)" msgstr "Surface (m2)" -#: models.py:2928 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107 +#: models.py:2931 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107 msgid "Localisation" msgstr "Localisation" -#: models.py:2953 +#: models.py:2956 msgid "Is preventive" msgstr "Est du préventif" -#: models.py:2957 +#: models.py:2960 msgid "Operation types" msgstr "Types d'opération" -#: models.py:2986 +#: models.py:2989 msgid "Preventive" msgstr "Préventif" -#: models.py:2987 +#: models.py:2990 msgid "Research" msgstr "Programmé" -#: models.py:3010 +#: models.py:3013 msgid "Authority name" msgstr "Registre" -#: models.py:3011 +#: models.py:3014 msgid "Authority SRID" msgstr "SRID" -#: models.py:3015 +#: models.py:3018 msgid "Spatial reference systems" msgstr "Systèmes de référence spatiale" @@ -1565,48 +1578,48 @@ msgstr "Demande de traitement" msgid "Treatment" msgstr "Traitement" -#: views.py:1303 views.py:1346 +#: views.py:1304 views.py:1347 msgid "Operation not permitted." msgstr "Opération non permise." -#: views.py:1305 +#: views.py:1306 #, python-format msgid "New %s" msgstr "Nouveau %s" -#: views.py:1365 views.py:1418 +#: views.py:1366 views.py:1419 msgid "Operations" msgstr "Opérations" -#: views.py:1369 views.py:1425 +#: views.py:1370 views.py:1426 msgid "Finds" msgstr "Mobilier" -#: views.py:1618 templates/ishtar/import_list.html:43 +#: views.py:1619 templates/ishtar/import_list.html:43 msgid "Link unmatched items" msgstr "Associer les éléments non rapprochés" -#: views.py:1633 +#: views.py:1634 msgid "Delete import" msgstr "Supprimer un import" -#: views.py:1672 +#: views.py:1673 msgid "Merge persons" msgstr "Fusionner des personnes" -#: views.py:1696 +#: views.py:1697 msgid "Select the main person" msgstr "Choisir la personne principale" -#: views.py:1705 +#: views.py:1706 msgid "Merge organization" msgstr "Fusionner des organisations" -#: views.py:1715 +#: views.py:1716 msgid "Select the main organization" msgstr "Sélectionner l'organisation principale" -#: views.py:1755 views.py:1771 +#: views.py:1756 views.py:1772 msgid "Corporation manager" msgstr "Représentant de la personne morale" @@ -1675,8 +1688,7 @@ msgstr "L'équipe %(app_name)s" #: templates/base.html:41 msgid "Searches in the shortcut menu deal with all items." -msgstr "" -"Les recherches dans le menu de raccourci concernent tous les éléments." +msgstr "Les recherches dans le menu de raccourci concernent tous les éléments." #: templates/base.html:42 msgid "Searches in the shortcut menu deal with only your items." @@ -2349,8 +2361,8 @@ msgid "" "Powered by Ishtar v%(VERSION)s - " "a free software under AGPL v3 license." msgstr "" -"Propulsé par Ishtar v%(VERSION)s -" -" logiciel libre sous licence AGPL v3." +"Propulsé par Ishtar v%(VERSION)s " +"- logiciel libre sous licence AGPL v3." #: templates/ishtar/blocks/window_nav.html:6 msgid "Previous version" -- cgit v1.2.3 From f3a07ab6590c40c66226c4a9c1a193344637a43a Mon Sep 17 00:00:00 2001 From: Valérie-Emma Leroux Date: Sat, 4 Feb 2017 22:16:50 +0100 Subject: Admin: Ishtar common: new fields search for GeneralType --- ishtar_common/admin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ishtar_common/admin.py b/ishtar_common/admin.py index 6b28c984e..2596e5438 100644 --- a/ishtar_common/admin.py +++ b/ishtar_common/admin.py @@ -201,7 +201,7 @@ admin.site.register(models.GlobalVar, GlobalVarAdmin) class GeneralTypeAdmin(admin.ModelAdmin): list_display = ['label', 'txt_idx', 'available', 'comment'] - search_fields = ('label',) + search_fields = ('label', 'txt_idx', 'comment',) actions = ['import_generic', export_as_csv_action()] import_generic = gen_import_generic -- cgit v1.2.3 From b0f4271c59495fcab02a0c6be844503b9765047c Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Sat, 4 Feb 2017 22:51:55 +0100 Subject: Importers: fix importer matching with new importer model behavior --- ishtar_common/models.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 979b29b33..6cf5bff7d 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -665,8 +665,9 @@ class GeneralType(Cached, models.Model): def get_keys(self): keys = [self.txt_idx] content_type = ContentType.objects.get_for_model(self.__class__) - for ik in ItemKey.objects.filter(content_type=content_type, - object_id=self.pk).all(): + for ik in ItemKey.objects.filter( + content_type=content_type, object_id=self.pk).exclude( + key=self.txt_idx).all(): keys.append(ik.key) return keys @@ -2008,7 +2009,7 @@ class ImportTarget(models.Model): def associated_model(self): try: return get_associated_model( - self.column.importer_type.associated_models, + self.column.importer_type.associated_models.klass, self.target.split('__')) except KeyError: return -- cgit v1.2.3 From d1b6fa1d777bfc60be2f12b87c21aa78a3b425d8 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Sat, 4 Feb 2017 23:09:09 +0100 Subject: Fix export types whit new formater model behavior --- ishtar_common/widgets.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ishtar_common/widgets.py b/ishtar_common/widgets.py index 020eca5af..597fb2764 100644 --- a/ishtar_common/widgets.py +++ b/ishtar_common/widgets.py @@ -657,7 +657,7 @@ class JQueryJqGrid(forms.RadioSelect): self.associated_model.__module__, self.associated_model.__name__) for imp in models.ImporterType.objects.filter( - slug__isnull=False, associated_models=model_name, + slug__isnull=False, associated_models__klass=model_name, is_template=True).all(): dct['extra_sources'].append(( imp.slug, imp.name, -- cgit v1.2.3 From 4a6294c0594f82afd3af7f9ca8e5f17e6159a068 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Sun, 5 Feb 2017 12:56:45 +0100 Subject: Test: add admin test for some models --- ishtar_common/tests.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py index a2d7bf46c..a512dcc07 100644 --- a/ishtar_common/tests.py +++ b/ishtar_common/tests.py @@ -271,11 +271,11 @@ class AdminGenTypeTest(TestCase): '../ishtar_common/fixtures/initial_importtypes-fr.json', settings.ROOT_PATH + '../archaeological_operations/fixtures/initial_data-fr.json'] - gen_models = [models.OrganizationType, models.PersonType, models.TitleType, - models.AuthorType, models.SourceType, models.OperationType, - models.SpatialReferenceSystem] - # models.Format, models.SupportType -- need fixtures - models_with_data = gen_models # + [models.ImporterModel] + gen_models = [ + models.OrganizationType, models.PersonType, models.TitleType, + models.AuthorType, models.SourceType, models.OperationType, + models.SpatialReferenceSystem, models.Format, models.SupportType] + models_with_data = gen_models + [models.ImporterModel] models = models_with_data module_name = 'ishtar_common' -- cgit v1.2.3 From 84199607f2f323e6df1458c41ea7c02d6ea2cbba Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Sun, 5 Feb 2017 18:57:36 +0100 Subject: Imports: manage model limitation (don't create items not in the list) --- archaeological_operations/tests.py | 118 +++++++++++++++++++++++++++---------- ishtar_common/data_importer.py | 93 ++++++++++++++++++++++++++--- ishtar_common/models.py | 16 ++++- ishtar_common/tests.py | 4 +- 4 files changed, 187 insertions(+), 44 deletions(-) diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py index d4134693f..f2126a68e 100644 --- a/archaeological_operations/tests.py +++ b/archaeological_operations/tests.py @@ -35,7 +35,7 @@ import models from archaeological_operations import views from ishtar_common.models import OrganizationType, Organization, \ - ImporterType, IshtarUser, TargetKey, IshtarSiteProfile, Town + ImporterType, IshtarUser, TargetKey, ImporterModel, IshtarSiteProfile, Town from ishtar_common import forms_common from ishtar_common.tests import WizardTest, WizardTestFormData as FormData, \ @@ -65,41 +65,22 @@ class ImportOperationTest(TestCase): self.username, self.password, self.user = create_superuser() self.ishtar_user = IshtarUser.objects.get(pk=self.user.pk) - def testMCCImportOperation(self, test=True): - # MCC opérations - if self.test_operations is False: - test = False - first_ope_nb = models.Operation.objects.count() - MCC_OPERATION = ImporterType.objects.get(name=u"MCC - Opérations") + def init_ope_import(self): + mcc_operation = ImporterType.objects.get(name=u"MCC - Opérations") mcc_operation_file = open( settings.ROOT_PATH + '../archaeological_operations/tests/MCC-operations-example.csv', 'rb') file_dict = {'imported_file': SimpleUploadedFile( mcc_operation_file.name, mcc_operation_file.read())} - post_dict = {'importer_type': MCC_OPERATION.pk, 'skip_lines': 1, + post_dict = {'importer_type': mcc_operation.pk, 'skip_lines': 1, "encoding": 'utf-8'} - form = forms_common.NewImportForm(data=post_dict, files=file_dict, - instance=None) + form = forms_common.NewImportForm(data=post_dict, files=file_dict) form.is_valid() - if test: - self.assertTrue(form.is_valid()) - impt = form.save(self.ishtar_user) - target_key_nb = TargetKey.objects.count() - impt.initialize() - # new key have to be set - if test: - self.assertTrue(TargetKey.objects.count() > target_key_nb) + return mcc_operation, form - # first try to import - impt.importation() - current_ope_nb = models.Operation.objects.count() - # no new operation imported because of a missing connection for - # operation_type value - if test: - self.assertTrue(current_ope_nb == first_ope_nb) - - # doing manualy connections + def init_ope_targetkey(self, imp): + # doing manually connections tg = TargetKey.objects.filter(target__target='operation_type' ).order_by('-pk').all()[0] tg.value = models.OperationType.objects.get( @@ -107,18 +88,44 @@ class ImportOperationTest(TestCase): tg.is_set = True tg.save() - target = TargetKey.objects.get(key='gallo-romain') + target = TargetKey.objects.get(key='gallo-romain', + associated_import=imp) gallo = models.Period.objects.get(txt_idx='gallo-roman') target.value = gallo.pk target.is_set = True target.save() - target = TargetKey.objects.get(key='age-du-fer') + target = TargetKey.objects.get(key='age-du-fer', + associated_import=imp) iron = models.Period.objects.get(txt_idx='iron_age') target.value = iron.pk target.is_set = True target.save() + def test_mcc_import_operation(self, test=True): + # MCC opérations + if self.test_operations is False: + test = False + first_ope_nb = models.Operation.objects.count() + importer, form = self.init_ope_import() + if test: + self.assertTrue(form.is_valid()) + impt = form.save(self.ishtar_user) + target_key_nb = TargetKey.objects.count() + impt.initialize() + # new key have to be set + if test: + self.assertTrue(TargetKey.objects.count() > target_key_nb) + + # first try to import + impt.importation() + current_ope_nb = models.Operation.objects.count() + # no new operation imported because of a missing connection for + # operation_type value + if test: + self.assertTrue(current_ope_nb == first_ope_nb) + self.init_ope_targetkey(imp=impt) + impt.importation() if not test: return @@ -131,8 +138,9 @@ class ImportOperationTest(TestCase): self.assertTrue(last_ope.code_patriarche == 4200) self.assertTrue(last_ope.operation_type.txt_idx == 'prog_excavation') self.assertEqual(last_ope.periods.count(), 2) - periods = last_ope.periods.all() - self.assertTrue(iron in periods and gallo in periods) + periods = [period.txt_idx for period in last_ope.periods.all()] + self.assertIn('iron_age', periods) + self.assertIn('gallo-roman', periods) # a second importation will be not possible: no two same patriarche # code @@ -141,10 +149,56 @@ class ImportOperationTest(TestCase): self.assertTrue(last_ope == models.Operation.objects.order_by('-pk').all()[0]) + def test_model_limitation(self): + importer, form = self.init_ope_import() + importer.created_models.clear() + impt = form.save(self.ishtar_user) + impt.initialize() + self.init_ope_targetkey(imp=impt) + + # no model defined in created_models: normal import + init_ope_number = models.Operation.objects.count() + impt.importation() + current_ope_nb = models.Operation.objects.count() + self.assertEqual(current_ope_nb, init_ope_number + 1) + + last_ope = models.Operation.objects.order_by('-pk').all()[0] + last_ope.delete() + + importer, form = self.init_ope_import() + # add an inadequate model to make created_models non empty + importer.created_models.clear() + importer.created_models.add(ImporterModel.objects.get( + klass='ishtar_common.models.Organization' + )) + impt = form.save(self.ishtar_user) + impt.initialize() + self.init_ope_targetkey(imp=impt) + + # no imports + impt.importation() + current_ope_nb = models.Operation.objects.count() + self.assertEqual(current_ope_nb, init_ope_number) + + importer, form = self.init_ope_import() + # add operation model to allow creation + importer.created_models.clear() + importer.created_models.add(ImporterModel.objects.get( + klass='archaeological_operations.models.Operation' + )) + impt = form.save(self.ishtar_user) + impt.initialize() + self.init_ope_targetkey(imp=impt) + + # import of operations + impt.importation() + current_ope_nb = models.Operation.objects.count() + self.assertEqual(current_ope_nb, init_ope_number + 1) + def testMCCImportParcels(self, test=True): if self.test_operations is False: test = False - self.testMCCImportOperation(test=False) + self.test_mcc_import_operation(test=False) old_nb = models.Parcel.objects.count() MCC_PARCEL = ImporterType.objects.get(name=u"MCC - Parcelles") mcc_file = open( diff --git a/ishtar_common/data_importer.py b/ishtar_common/data_importer.py index de4883c69..79259b76d 100644 --- a/ishtar_common/data_importer.py +++ b/ishtar_common/data_importer.py @@ -29,6 +29,7 @@ import zipfile from django.conf import settings from django.contrib.auth.models import User +from django.core.exceptions import ImproperlyConfigured from django.core.files import File from django.db import IntegrityError, DatabaseError, transaction from django.template.defaultfilters import slugify @@ -613,6 +614,8 @@ class Importer(object): OBJECT_CLS = None IMPORTED_LINE_FIELD = None UNICITY_KEYS = [] + # if set only models inside this list can be created + MODEL_CREATION_LIMIT = [] EXTRA_DEFAULTS = {} DEFAULTS = {} ERRORS = { @@ -626,10 +629,19 @@ class Importer(object): 'no_data': _(u"No data provided"), 'value_required': _(u"Value is required"), 'not_enough_cols': _(u"At least %d columns must be filled"), - 'regex_not_match': _(u"The regexp doesn't match.") + 'regex_not_match': _(u"The regexp doesn't match."), + 'improperly_configured': _( + u"Force creation is set for model {} but this model is not in the " + u"list of model allowed to be created."), + 'does_not_exist_in_db': _(u"{} with values {} doesn't exist in the " + u"database. Create it first or fix your source file"), } def _create_models(self, force=False): + """ + Create a db config from a hardcoded import. + Not useful anymore? + """ from ishtar_common import models q = models.ImporterType.objects.filter(slug=self.SLUG) if not force and (not self.SLUG or q.count()): @@ -1009,11 +1021,32 @@ class Importer(object): if k not in formater.through_unicity_keys \ and k != 'defaults': data['defaults'][k] = data.pop(k) + created = False if '__force_new' in data: + if self.MODEL_CREATION_LIMIT and \ + through_cls not in self.MODEL_CREATION_LIMIT: + raise ImproperlyConfigured( + unicode(self.ERRORS[ 'improperly_configured']).format( + through_cls)) created = data.pop('__force_new') t_obj = through_cls.objects.create(**data) else: - t_obj, created = through_cls.objects.get_or_create(**data) + if not self.MODEL_CREATION_LIMIT or \ + through_cls in self.MODEL_CREATION_LIMIT: + t_obj, created = through_cls.objects.get_or_create(**data) + else: + get_data = data.copy() + if 'defaults' in get_data: + get_data.pop('defaults') + try: + t_obj = through_cls.objects.get(**get_data) + except through_cls.DoesNotExist: + values = u", ".join( + [u"{}: {}".format(k, get_data[k]) for k in get_data] + ) + raise ImporterError( + unicode(self.ERRORS['does_not_exist_in_db'] + ).format(through_cls, values)) if not created and 'defaults' in data: for k in data['defaults']: setattr(t_obj, k, data['defaults'][k]) @@ -1247,6 +1280,12 @@ class Importer(object): new_created[attribute].append(key) has_values = bool([1 for k in v if v[k]]) if has_values: + if self.MODEL_CREATION_LIMIT and \ + model not in self.MODEL_CREATION_LIMIT: + raise ImproperlyConfigured( + unicode( + self.ERRORS['improperly_configured'] + ).format(model)) v = model.objects.create(**v) else: continue @@ -1255,14 +1294,32 @@ class Importer(object): extra_fields = {} # "File" type is a temp object and can be different # for the same filename - it must be treated - # separatly + # separately for field in model._meta.fields: k = field.name - # attr_class est un attribut de FileField + # attr_class is a FileField attribute if hasattr(field, 'attr_class') and k in v: extra_fields[k] = v.pop(k) - v, created = model.objects.get_or_create( - **v) + if not self.MODEL_CREATION_LIMIT or \ + model in self.MODEL_CREATION_LIMIT: + v, created = model.objects.get_or_create( + **v) + else: + get_v = v.copy() + if 'defaults' in get_v: + get_v.pop('defaults') + try: + v = model.objects.get(**get_v) + except model.DoesNotExist: + values = u", ".join( + [u"{}: {}".format(k, get_v[k]) + for k in get_v] + ) + raise ImporterError( + unicode( + self.ERRORS[ + 'does_not_exist_in_db'] + ).format(model, values)) changed = False for k in extra_fields.keys(): if extra_fields[k]: @@ -1336,6 +1393,7 @@ class Importer(object): 'history_modifier': create_dict.pop('history_modifier') }) + created = False try: try: dct = create_dict.copy() @@ -1348,6 +1406,11 @@ class Importer(object): return None, created new_dct = defaults.copy() new_dct.update(dct) + if self.MODEL_CREATION_LIMIT and \ + cls not in self.MODEL_CREATION_LIMIT: + raise ImproperlyConfigured( + unicode(self.ERRORS[ 'improperly_configured'] + ).format(cls)) obj = cls.objects.create(**new_dct) else: # manage UNICITY_KEYS - only level 1 @@ -1356,9 +1419,21 @@ class Importer(object): if k not in self.UNICITY_KEYS \ and k != 'defaults': defaults[k] = dct.pop(k) - - dct['defaults'] = defaults.copy() - obj, created = cls.objects.get_or_create(**dct) + if not self.MODEL_CREATION_LIMIT or \ + cls in self.MODEL_CREATION_LIMIT: + dct['defaults'] = defaults.copy() + obj, created = cls.objects.get_or_create(**dct) + else: + try: + obj = cls.objects.get(**dct) + dct['defaults'] = defaults.copy() + except cls.DoesNotExist: + values = u", ".join( + [u"{}: {}".format(k, dct[k]) for k in dct] + ) + raise ImporterError( + unicode(self.ERRORS['does_not_exist_in_db'] + ).format(cls, values)) if not created and not path and self.UNICITY_KEYS: changed = False diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 6cf5bff7d..c27f9cc29 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -35,7 +35,8 @@ import zipfile from django.conf import settings from django.core.cache import cache -from django.core.exceptions import ObjectDoesNotExist, ValidationError +from django.core.exceptions import ObjectDoesNotExist, ValidationError, \ + SuspiciousOperation from django.core.files import File from django.core.files.uploadedfile import SimpleUploadedFile from django.core.validators import validate_slug @@ -1723,9 +1724,16 @@ def get_model_fields(model): def import_class(full_path_classname): + """ + Return the model class from the full path + TODO: add a white list for more security + """ mods = full_path_classname.split('.') if len(mods) == 1: mods = ['ishtar_common', 'models', mods[0]] + elif 'models' not in mods: + raise SuspiciousOperation( + u"Try to import a non model from a string") module = import_module('.'.join(mods[:-1])) return getattr(module, mods[-1]) @@ -1820,9 +1828,13 @@ class ImporterType(models.Model): UNICITY_KEYS = [] if self.unicity_keys: UNICITY_KEYS = [un.strip() for un in self.unicity_keys.split(';')] + MODEL_CREATION_LIMIT = [] + for modls in self.created_models.all(): + MODEL_CREATION_LIMIT.append(import_class(modls.klass)) args = {'OBJECT_CLS': OBJECT_CLS, 'DESC': self.description, 'DEFAULTS': DEFAULTS, 'LINE_FORMAT': LINE_FORMAT, - 'UNICITY_KEYS': UNICITY_KEYS} + 'UNICITY_KEYS': UNICITY_KEYS, + 'MODEL_CREATION_LIMIT': MODEL_CREATION_LIMIT} name = str(''.join( x for x in slugify(self.name).replace('-', ' ').title() if not x.isspace())) diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py index a512dcc07..a3fa62ce7 100644 --- a/ishtar_common/tests.py +++ b/ishtar_common/tests.py @@ -27,6 +27,7 @@ from django.contrib.contenttypes.models import ContentType from django.core.cache import cache from django.core.exceptions import ValidationError from django.core.files.base import File as DjangoFile +from django.core.files.uploadedfile import SimpleUploadedFile from django.core.management import call_command from django.core.urlresolvers import reverse from django.template.defaultfilters import slugify @@ -35,6 +36,7 @@ from django.test.client import Client from django.test.simple import DjangoTestSuiteRunner from ishtar_common import models +from ishtar_common import forms_common from ishtar_common.utils import post_save_point """ @@ -275,7 +277,7 @@ class AdminGenTypeTest(TestCase): models.OrganizationType, models.PersonType, models.TitleType, models.AuthorType, models.SourceType, models.OperationType, models.SpatialReferenceSystem, models.Format, models.SupportType] - models_with_data = gen_models + [models.ImporterModel] + models_with_data = gen_models + [models.ImporterModel] models = models_with_data module_name = 'ishtar_common' -- cgit v1.2.3 From 9f1d5342e130d0371927063447682728ab666402 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Mon, 6 Feb 2017 12:23:49 +0100 Subject: Test: refactor - should be a little bit faster --- archaeological_context_records/tests.py | 53 +++--------- archaeological_finds/tests.py | 28 +++---- archaeological_operations/tests.py | 141 ++++++++++++++++++++------------ 3 files changed, 112 insertions(+), 110 deletions(-) diff --git a/archaeological_context_records/tests.py b/archaeological_context_records/tests.py index 87eb80c57..032861d5d 100644 --- a/archaeological_context_records/tests.py +++ b/archaeological_context_records/tests.py @@ -29,67 +29,40 @@ from django.test.client import Client from ishtar_common.models import ImporterType, IshtarSiteProfile from ishtar_common.tests import create_superuser from archaeological_operations.tests import OperationInitTest, \ - ImportOperationTest + ImportTest, ImportOperationTest from archaeological_operations import models as models_ope from archaeological_context_records import models -from ishtar_common import forms_common -class ImportContextRecordTest(ImportOperationTest): - test_operations = False - test_context_records = True +class ImportContextRecordTest(ImportTest, TestCase): fixtures = ImportOperationTest.fixtures + [ settings.ROOT_PATH + '../archaeological_context_records/fixtures/initial_data-fr.json', ] - def testMCCImportContextRecords(self, test=True): - if test and not self.test_context_records: - return - self.testMCCImportParcels(test=False) - + def test_mcc_import_contextrecords(self): old_nb = models.ContextRecord.objects.count() - MCC = ImporterType.objects.get(name=u"MCC - UE") - mcc_file = open( - settings.ROOT_PATH + - '../archaeological_context_records/tests/' - 'MCC-context-records-example.csv', 'rb') - file_dict = {'imported_file': SimpleUploadedFile(mcc_file.name, - mcc_file.read())} - post_dict = {'importer_type': MCC.pk, 'skip_lines': 1, - "encoding": 'utf-8'} - form = forms_common.NewImportForm(data=post_dict, files=file_dict, - instance=None) - form.is_valid() - if test: - self.assertTrue(form.is_valid()) + mcc, form = self.init_context_record_import() + + self.assertTrue(form.is_valid()) impt = form.save(self.ishtar_user) impt.initialize() - # doing manual connections - hc = models.Unit.objects.get(txt_idx='not_in_context').pk - self.setTargetKey('unit', 'hc', hc) - self.setTargetKey('unit', 'hors-contexte', hc) - layer = models.Unit.objects.get(txt_idx='layer').pk - self.setTargetKey('unit', 'couche', layer) - + self.init_cr_targetkey(impt) impt.importation() - if not test: - return - - # new ues has now been imported + # new context records has now been imported current_nb = models.ContextRecord.objects.count() - self.assertTrue(current_nb == (old_nb + 4)) + self.assertEqual(current_nb, old_nb + 4) self.assertEqual( - models.ContextRecord.objects.filter(unit__pk=hc).count(), 3) + models.ContextRecord.objects.filter( + unit__txt_idx='not_in_context').count(), 3) self.assertEqual( - models.ContextRecord.objects.filter(unit__pk=layer).count(), 1) + models.ContextRecord.objects.filter( + unit__txt_idx='layer').count(), 1) class ContextRecordInit(OperationInitTest): - test_operations = False - def create_context_record(self, user=None, data={}, force=False): if not getattr(self, 'context_records', None): self.context_records = [] diff --git a/archaeological_finds/tests.py b/archaeological_finds/tests.py index f0112123b..a1dc33dd8 100644 --- a/archaeological_finds/tests.py +++ b/archaeological_finds/tests.py @@ -33,11 +33,12 @@ from archaeological_context_records.models import Period, Dating from archaeological_finds import models, views from archaeological_warehouse.models import Warehouse, WarehouseType -from archaeological_context_records.tests import ImportContextRecordTest, \ - ContextRecordInit - from ishtar_common import forms_common + from ishtar_common.tests import WizardTest, WizardTestFormData as FormData +from archaeological_operations.tests import ImportTest +from archaeological_context_records.tests import ImportContextRecordTest, \ + ContextRecordInit class FindInit(ContextRecordInit): @@ -217,17 +218,14 @@ class ATreatmentWizardCreationTest(WizardTest, FindInit, TestCase): treat) -class ImportFindTest(ImportContextRecordTest): - test_operations = False - test_context_records = False - +class ImportFindTest(ImportTest, TestCase): fixtures = ImportContextRecordTest.fixtures + [ settings.ROOT_PATH + '../archaeological_finds/fixtures/initial_data-fr.json', ] - def testMCCImportFinds(self, test=True): - self.testMCCImportContextRecords(test=False) + def test_mcc_import_finds(self): + self.init_context_record() old_nb = models.BaseFind.objects.count() old_nb_find = models.Find.objects.count() @@ -252,22 +250,18 @@ class ImportFindTest(ImportContextRecordTest): mcc_images.read())} post_dict = {'importer_type': MCC.pk, 'skip_lines': 1, "encoding": 'utf-8'} - form = forms_common.NewImportForm(data=post_dict, files=file_dict, - instance=None) + form = forms_common.NewImportForm(data=post_dict, files=file_dict) form.is_valid() - if test: - self.assertTrue(form.is_valid()) + self.assertTrue(form.is_valid()) impt = form.save(self.ishtar_user) impt.initialize() # doing manual connections ceram = models.MaterialType.objects.get(txt_idx='ceramic').pk glass = models.MaterialType.objects.get(txt_idx='glass').pk - self.setTargetKey('find__material_types', 'terre-cuite', ceram) - self.setTargetKey('find__material_types', 'verre', glass) + self.set_target_key('find__material_types', 'terre-cuite', ceram) + self.set_target_key('find__material_types', 'verre', glass) impt.importation() - if not test: - return # new finds has now been imported current_nb = models.BaseFind.objects.count() self.assertEqual(current_nb, (old_nb + 4)) diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py index f2126a68e..040c7c3d8 100644 --- a/archaeological_operations/tests.py +++ b/archaeological_operations/tests.py @@ -36,35 +36,27 @@ from archaeological_operations import views from ishtar_common.models import OrganizationType, Organization, \ ImporterType, IshtarUser, TargetKey, ImporterModel, IshtarSiteProfile, Town +from archaeological_context_records.models import Unit from ishtar_common import forms_common from ishtar_common.tests import WizardTest, WizardTestFormData as FormData, \ create_superuser, create_user -class ImportOperationTest(TestCase): - fixtures = [settings.ROOT_PATH + - '../fixtures/initial_data-auth-fr.json', - settings.ROOT_PATH + - '../ishtar_common/fixtures/initial_data-fr.json', - settings.ROOT_PATH + - '../ishtar_common/fixtures/test_towns.json', - settings.ROOT_PATH + - '../ishtar_common/fixtures/initial_importtypes-fr.json', - settings.ROOT_PATH + - '../archaeological_operations/fixtures/initial_data-fr.json'] - test_operations = True +class ImportTest(object): + def setUp(self): + self.username, self.password, self.user = create_superuser() + self.ishtar_user = IshtarUser.objects.get(pk=self.user.pk) - def setTargetKey(self, target, key, value): - tg = TargetKey.objects.get(target__target=target, key=key) + def set_target_key(self, target, key, value, imp=None): + keys = {'target__target': target, 'key': key} + if imp: + keys['associated_import'] = imp + tg = TargetKey.objects.get(**keys) tg.value = value tg.is_set = True tg.save() - def setUp(self): - self.username, self.password, self.user = create_superuser() - self.ishtar_user = IshtarUser.objects.get(pk=self.user.pk) - def init_ope_import(self): mcc_operation = ImporterType.objects.get(name=u"MCC - Opérations") mcc_operation_file = open( @@ -102,33 +94,95 @@ class ImportOperationTest(TestCase): target.is_set = True target.save() - def test_mcc_import_operation(self, test=True): - # MCC opérations - if self.test_operations is False: - test = False + def init_ope(self): + importer, form = self.init_ope_import() + impt = form.save(self.ishtar_user) + impt.initialize() + self.init_ope_targetkey(imp=impt) + impt.importation() + + def init_parcel_import(self): + self.init_ope() + mcc_parcel = ImporterType.objects.get(name=u"MCC - Parcelles") + mcc_file = open( + settings.ROOT_PATH + + '../archaeological_operations/tests/MCC-parcelles-example.csv', + 'rb') + file_dict = {'imported_file': SimpleUploadedFile(mcc_file.name, + mcc_file.read())} + post_dict = {'importer_type': mcc_parcel.pk, 'skip_lines': 1, + "encoding": 'utf-8'} + form = forms_common.NewImportForm(data=post_dict, files=file_dict) + form.is_valid() + return mcc_parcel, form + + def init_parcel(self): + importer, form = self.init_parcel_import() + impt = form.save(self.ishtar_user) + impt.initialize() + impt.importation() + + def init_context_record_import(self): + self.init_parcel() + mcc = ImporterType.objects.get(name=u"MCC - UE") + mcc_file = open( + settings.ROOT_PATH + + '../archaeological_context_records/tests/' + 'MCC-context-records-example.csv', 'rb') + file_dict = {'imported_file': SimpleUploadedFile(mcc_file.name, + mcc_file.read())} + post_dict = {'importer_type': mcc.pk, 'skip_lines': 1, + "encoding": 'utf-8'} + form = forms_common.NewImportForm(data=post_dict, files=file_dict) + form.is_valid() + return mcc, form + + def init_cr_targetkey(self, imp): + hc = Unit.objects.get(txt_idx='not_in_context').pk + self.set_target_key('unit', 'hc', hc, imp=imp) + self.set_target_key('unit', 'hors-contexte', hc, imp=imp) + layer = Unit.objects.get(txt_idx='layer').pk + self.set_target_key('unit', 'couche', layer, imp=imp) + + def init_context_record(self): + mcc, form = self.init_context_record_import() + impt = form.save(self.ishtar_user) + impt.initialize() + self.init_cr_targetkey(impt) + impt.importation() + + +class ImportOperationTest(ImportTest, TestCase): + fixtures = [settings.ROOT_PATH + + '../fixtures/initial_data-auth-fr.json', + settings.ROOT_PATH + + '../ishtar_common/fixtures/initial_data-fr.json', + settings.ROOT_PATH + + '../ishtar_common/fixtures/test_towns.json', + settings.ROOT_PATH + + '../ishtar_common/fixtures/initial_importtypes-fr.json', + settings.ROOT_PATH + + '../archaeological_operations/fixtures/initial_data-fr.json'] + + def test_mcc_import_operation(self): first_ope_nb = models.Operation.objects.count() importer, form = self.init_ope_import() - if test: - self.assertTrue(form.is_valid()) + self.assertTrue(form.is_valid()) impt = form.save(self.ishtar_user) target_key_nb = TargetKey.objects.count() impt.initialize() # new key have to be set - if test: - self.assertTrue(TargetKey.objects.count() > target_key_nb) + self.assertTrue(TargetKey.objects.count() > target_key_nb) # first try to import impt.importation() current_ope_nb = models.Operation.objects.count() # no new operation imported because of a missing connection for # operation_type value - if test: - self.assertTrue(current_ope_nb == first_ope_nb) + self.assertTrue(current_ope_nb == first_ope_nb) self.init_ope_targetkey(imp=impt) impt.importation() - if not test: - return # a new operation has now been imported current_ope_nb = models.Operation.objects.count() self.assertTrue(current_ope_nb == (first_ope_nb + 1)) @@ -195,33 +249,16 @@ class ImportOperationTest(TestCase): current_ope_nb = models.Operation.objects.count() self.assertEqual(current_ope_nb, init_ope_number + 1) - def testMCCImportParcels(self, test=True): - if self.test_operations is False: - test = False - self.test_mcc_import_operation(test=False) + def test_mcc_import_parcels(self): old_nb = models.Parcel.objects.count() - MCC_PARCEL = ImporterType.objects.get(name=u"MCC - Parcelles") - mcc_file = open( - settings.ROOT_PATH + - '../archaeological_operations/tests/MCC-parcelles-example.csv', - 'rb') - file_dict = {'imported_file': SimpleUploadedFile(mcc_file.name, - mcc_file.read())} - post_dict = {'importer_type': MCC_PARCEL.pk, 'skip_lines': 1, - "encoding": 'utf-8'} - form = forms_common.NewImportForm(data=post_dict, files=file_dict, - instance=None) - form.is_valid() - if test: - self.assertTrue(form.is_valid()) + mcc_parcel, form = self.init_parcel_import() impt = form.save(self.ishtar_user) impt.initialize() impt.importation() - if not test: - return # new parcels has now been imported current_nb = models.Parcel.objects.count() - self.assertTrue(current_nb == (old_nb + 2)) + self.assertEqual(current_nb, old_nb + 2) + # and well imported last_parcels = models.Parcel.objects.order_by('-pk').all()[0:2] external_ids = sorted(['4200-59350-YY55', '4200-75101-XXXX']) @@ -249,8 +286,6 @@ class ImportOperationTest(TestCase): self.assertEqual(parcel_count - 2, models.Parcel.objects.count()) def testParseParcels(self): - if not self.test_operations: - return # the database needs to be initialised before importing from archaeological_operations.import_from_csv import parse_parcels # default_town = Town.objects.create(numero_insee="12345", -- cgit v1.2.3 From c0d2d5d8417262753b0e4ca79d332c2de4aeba59 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Mon, 6 Feb 2017 13:49:17 +0100 Subject: Import tests: test limit model for context records - more explicit error message when dealing with limit model --- archaeological_context_records/tests.py | 88 +++++++++++++++++++++- .../tests/MCC-context-records-example.csv | 2 +- ishtar_common/data_importer.py | 62 +++++++-------- 3 files changed, 116 insertions(+), 36 deletions(-) diff --git a/archaeological_context_records/tests.py b/archaeological_context_records/tests.py index 032861d5d..f1e6581d7 100644 --- a/archaeological_context_records/tests.py +++ b/archaeological_context_records/tests.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2015 Étienne Loks +# Copyright (C) 2015-2017 Étienne Loks # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as @@ -20,13 +20,12 @@ import json from django.conf import settings -from django.core.exceptions import ValidationError -from django.core.files.uploadedfile import SimpleUploadedFile +from django.core.exceptions import ValidationError, ImproperlyConfigured from django.core.urlresolvers import reverse from django.test import TestCase from django.test.client import Client -from ishtar_common.models import ImporterType, IshtarSiteProfile +from ishtar_common.models import IshtarSiteProfile, ImporterModel from ishtar_common.tests import create_superuser from archaeological_operations.tests import OperationInitTest, \ ImportTest, ImportOperationTest @@ -61,6 +60,87 @@ class ImportContextRecordTest(ImportTest, TestCase): models.ContextRecord.objects.filter( unit__txt_idx='layer').count(), 1) + def test_model_limitation(self): + old_nb = models.ContextRecord.objects.count() + mcc, form = self.init_context_record_import() + mcc.created_models.clear() + + self.assertTrue(form.is_valid()) + impt = form.save(self.ishtar_user) + impt.initialize() + + self.init_cr_targetkey(impt) + impt.importation() + # no model defined in created_models: normal import + current_nb = models.ContextRecord.objects.count() + self.assertEqual(current_nb, old_nb + 4) + + # add an inadequate model to make created_models non empty + for cr in models.ContextRecord.objects.all(): + cr.delete() + mcc, form = self.init_context_record_import() + mcc.created_models.clear() + mcc.created_models.add(ImporterModel.objects.get( + klass='ishtar_common.models.Organization' + )) + impt = form.save(self.ishtar_user) + impt.initialize() + self.init_cr_targetkey(impt) + # Dating is not in models that can be created but force new is + # set for a column that references Dating + with self.assertRaises(ImproperlyConfigured): + impt.importation() + + # retry with only Dating (no context record) + for cr in models.ContextRecord.objects.all(): + cr.delete() + mcc, form = self.init_context_record_import() + mcc.created_models.clear() + dat_model, c = ImporterModel.objects.get_or_create( + klass='archaeological_context_records.models.Dating', + defaults={"name": 'Dating'}) + mcc.created_models.add(dat_model) + impt = form.save(self.ishtar_user) + impt.initialize() + self.init_cr_targetkey(impt) + impt.importation() + + current_nb = models.ContextRecord.objects.count() + self.assertEqual(current_nb, 0) + + # add a context record model + for cr in models.ContextRecord.objects.all(): + cr.delete() + mcc, form = self.init_context_record_import() + mcc.created_models.clear() + mcc.created_models.add(ImporterModel.objects.get( + klass='archaeological_context_records.models.ContextRecord' + )) + mcc.created_models.add(dat_model) + impt = form.save(self.ishtar_user) + impt.initialize() + self.init_cr_targetkey(impt) + impt.importation() + current_nb = models.ContextRecord.objects.count() + self.assertEqual(current_nb, 4) + ''' + + # add a context record model + for cr in models.ContextRecord.objects.all(): + cr.delete() + mcc, form = self.init_context_record_import() + mcc.created_models.clear() + mcc.created_models.add(ImporterModel.objects.get( + klass='archaeological_context_records.models.ContextRecord' + )) + impt = form.save(self.ishtar_user) + impt.initialize() + self.init_cr_targetkey(impt) + impt.importation() + current_nb = models.ContextRecord.objects.count() + self.assertEqual(current_nb, 4) + ''' + class ContextRecordInit(OperationInitTest): def create_context_record(self, user=None, data={}, force=False): diff --git a/archaeological_context_records/tests/MCC-context-records-example.csv b/archaeological_context_records/tests/MCC-context-records-example.csv index d246623cd..9a6ad5f09 100644 --- a/archaeological_context_records/tests/MCC-context-records-example.csv +++ b/archaeological_context_records/tests/MCC-context-records-example.csv @@ -1,5 +1,5 @@ code OA,numero INSEE commune,identifiant parcelle,identifiant UE,type,description,interpretation,date ouverture,date fermeture,identifiant document georeferencement,commentaire,nature,chronologie 4200,75101,XXXX,HC,Hors contexte,UE globale pour cette parcelle,Non-applicable,,,,UE virtuelle,, 4200,75101,XXXX,H.-C.,HC,UE globale pour cette parcelle,NA,,,,UE virtuelle,, -4200,59350,YY55,XXXXXX,HC,UE globale pour cette parcelle,,,,,UE virtuelle,, +4200,59350,YY55,XXXXXX,HC,UE globale pour cette parcelle,,,,,UE virtuelle,,paleolithic 4200,59350,YY55,US17,couche,couche de cendre,comblement,,,,présence de charbons,,indéterminé diff --git a/ishtar_common/data_importer.py b/ishtar_common/data_importer.py index 79259b76d..859feade9 100644 --- a/ishtar_common/data_importer.py +++ b/ishtar_common/data_importer.py @@ -727,6 +727,28 @@ class Importer(object): comment=line.comment) return True + def _get_improperly_conf_error(self, model): + from ishtar_common.models import ImporterModel + cls_name = model.__module__ + "." + model.__name__ + q = ImporterModel.objects.filter(klass=cls_name) + if q.count(): + cls_name = q.all()[0].name + return ImproperlyConfigured( + unicode(self.ERRORS['improperly_configured']).format(cls_name)) + + def _get_does_not_exist_in_db_error(self, model, data): + from ishtar_common.models import ImporterModel + cls_name = model.__module__ + "." + model.__name__ + q = ImporterModel.objects.filter(klass=cls_name) + if q.count(): + cls_name = q.all()[0].name + values = u", ".join( + [u"{}: {}".format(k, data[k]) for k in data] + ) + raise ImporterError( + unicode(self.ERRORS['does_not_exist_in_db'] + ).format(cls_name, values)) + def __init__(self, skip_lines=0, reference_header=None, check_col_num=False, test=False, history_modifier=None, output='silent', import_instance=None, @@ -1025,9 +1047,7 @@ class Importer(object): if '__force_new' in data: if self.MODEL_CREATION_LIMIT and \ through_cls not in self.MODEL_CREATION_LIMIT: - raise ImproperlyConfigured( - unicode(self.ERRORS[ 'improperly_configured']).format( - through_cls)) + raise self._get_improperly_conf_error(through_cls) created = data.pop('__force_new') t_obj = through_cls.objects.create(**data) else: @@ -1041,12 +1061,8 @@ class Importer(object): try: t_obj = through_cls.objects.get(**get_data) except through_cls.DoesNotExist: - values = u", ".join( - [u"{}: {}".format(k, get_data[k]) for k in get_data] - ) - raise ImporterError( - unicode(self.ERRORS['does_not_exist_in_db'] - ).format(through_cls, values)) + raise self._get_does_not_exist_in_db_error( + through_cls, get_data) if not created and 'defaults' in data: for k in data['defaults']: setattr(t_obj, k, data['defaults'][k]) @@ -1282,10 +1298,7 @@ class Importer(object): if has_values: if self.MODEL_CREATION_LIMIT and \ model not in self.MODEL_CREATION_LIMIT: - raise ImproperlyConfigured( - unicode( - self.ERRORS['improperly_configured'] - ).format(model)) + raise self._get_improperly_conf_error(model) v = model.objects.create(**v) else: continue @@ -1311,15 +1324,8 @@ class Importer(object): try: v = model.objects.get(**get_v) except model.DoesNotExist: - values = u", ".join( - [u"{}: {}".format(k, get_v[k]) - for k in get_v] - ) - raise ImporterError( - unicode( - self.ERRORS[ - 'does_not_exist_in_db'] - ).format(model, values)) + raise self._get_does_not_exist_in_db_error( + model, get_v) changed = False for k in extra_fields.keys(): if extra_fields[k]: @@ -1408,9 +1414,7 @@ class Importer(object): new_dct.update(dct) if self.MODEL_CREATION_LIMIT and \ cls not in self.MODEL_CREATION_LIMIT: - raise ImproperlyConfigured( - unicode(self.ERRORS[ 'improperly_configured'] - ).format(cls)) + raise self._get_improperly_conf_error(cls) obj = cls.objects.create(**new_dct) else: # manage UNICITY_KEYS - only level 1 @@ -1428,12 +1432,8 @@ class Importer(object): obj = cls.objects.get(**dct) dct['defaults'] = defaults.copy() except cls.DoesNotExist: - values = u", ".join( - [u"{}: {}".format(k, dct[k]) for k in dct] - ) - raise ImporterError( - unicode(self.ERRORS['does_not_exist_in_db'] - ).format(cls, values)) + raise self._get_does_not_exist_in_db_error( + cls, dct) if not created and not path and self.UNICITY_KEYS: changed = False -- cgit v1.2.3 From 71d7050c3f247b1799bc14b8aa6bfa357cae463c Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Mon, 6 Feb 2017 15:13:00 +0100 Subject: Update french translation --- translations/de/ishtar_common.po | 126 ++++++++++++---------- translations/fr/archaeological_context_records.po | 20 ++-- translations/fr/archaeological_files.po | 14 ++- translations/fr/archaeological_files_pdl.po | 8 +- translations/fr/archaeological_finds.po | 22 ++-- translations/fr/archaeological_operations.po | 19 ++-- translations/fr/archaeological_warehouse.po | 8 +- translations/fr/ishtar_common.po | 28 +++-- 8 files changed, 119 insertions(+), 126 deletions(-) diff --git a/translations/de/ishtar_common.po b/translations/de/ishtar_common.po index 6aae6aaa7..1f2e470e3 100644 --- a/translations/de/ishtar_common.po +++ b/translations/de/ishtar_common.po @@ -23,6 +23,10 @@ msgstr "" msgid "Related item" msgstr "" +#: admin.py:79 +msgid "Export selected as CSV file" +msgstr "" + #: data_importer.py:182 #, python-format msgid "\"%(value)s\" is too long. The max length is %(length)d characters." @@ -163,7 +167,7 @@ msgid "Template" msgstr "" #: forms_common.py:41 forms_common.py:59 forms_common.py:182 -#: forms_common.py:406 models.py:1539 models.py:2940 +#: forms_common.py:406 models.py:1539 models.py:2943 #: templates/blocks/JQueryAdvancedTown.html:19 #: templates/ishtar/sheet_organization.html:13 msgid "Town" @@ -180,7 +184,7 @@ msgid "" msgstr "" #: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:1712 -#: models.py:2567 models.py:2749 models.py:2810 +#: models.py:2567 models.py:2749 models.py:2811 #: templates/ishtar/sheet_person.html:4 msgid "Person" msgstr "" @@ -199,7 +203,7 @@ msgstr "" #: forms_common.py:173 forms_common.py:210 forms_common.py:322 #: forms_common.py:376 forms_common.py:446 models.py:1094 models.py:1472 -#: models.py:1758 models.py:1977 models.py:2444 models.py:2553 models.py:2926 +#: models.py:1758 models.py:1977 models.py:2444 models.py:2553 models.py:2929 #: templates/ishtar/sheet_organization.html:8 #: templates/ishtar/sheet_organization.html:21 msgid "Name" @@ -248,7 +252,7 @@ msgid "Mobile phone" msgstr "" #: forms_common.py:211 forms_common.py:325 forms_common.py:449 models.py:2144 -#: models.py:2446 models.py:2861 templates/sheet_ope.html:85 +#: models.py:2446 models.py:2864 templates/sheet_ope.html:85 #: templates/sheet_ope.html.py:105 templates/sheet_ope.html:126 #: templates/ishtar/import_list.html:13 #: templates/ishtar/sheet_organization.html:23 @@ -291,7 +295,7 @@ msgid "Identity" msgstr "" #: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:2109 -#: models.py:2545 models.py:2547 models.py:2858 templates/sheet_ope.html:104 +#: models.py:2545 models.py:2547 models.py:2861 templates/sheet_ope.html:104 #: templates/ishtar/blocks/window_tables/documents.html:7 msgid "Title" msgstr "" @@ -392,7 +396,7 @@ msgstr "" msgid "Send the new password by email?" msgstr "" -#: forms_common.py:628 forms_common.py:641 models.py:2941 +#: forms_common.py:628 forms_common.py:641 models.py:2944 msgid "Towns" msgstr "" @@ -408,7 +412,7 @@ msgstr "" msgid "Documentation informations" msgstr "" -#: forms_common.py:775 forms_common.py:823 models.py:2110 models.py:2835 +#: forms_common.py:775 forms_common.py:823 models.py:2110 models.py:2836 msgid "Source type" msgstr "" @@ -420,37 +424,37 @@ msgstr "" msgid "Internal reference" msgstr "" -#: forms_common.py:783 models.py:2872 +#: forms_common.py:783 models.py:2875 msgid "Numerical ressource (web address)" msgstr "" -#: forms_common.py:784 models.py:2874 +#: forms_common.py:784 models.py:2877 msgid "Receipt date" msgstr "" -#: forms_common.py:786 models.py:2273 models.py:2876 +#: forms_common.py:786 models.py:2273 models.py:2879 msgid "Creation date" msgstr "" -#: forms_common.py:789 models.py:2879 +#: forms_common.py:789 models.py:2882 msgid "Receipt date in documentation" msgstr "" #: forms_common.py:791 forms_common.py:827 models.py:376 models.py:687 -#: models.py:2004 models.py:2559 models.py:2886 +#: models.py:2004 models.py:2559 models.py:2889 msgid "Comment" msgstr "" #: forms_common.py:793 forms_common.py:826 models.py:1096 models.py:1762 -#: models.py:1936 models.py:1978 models.py:2885 templates/sheet_ope.html:128 +#: models.py:1936 models.py:1978 models.py:2888 templates/sheet_ope.html:128 msgid "Description" msgstr "" -#: forms_common.py:796 models.py:2887 +#: forms_common.py:796 models.py:2890 msgid "Additional information" msgstr "" -#: forms_common.py:798 forms_common.py:830 models.py:2889 +#: forms_common.py:798 forms_common.py:830 models.py:2892 msgid "Has a duplicate" msgstr "" @@ -465,7 +469,7 @@ msgid "" "p>" msgstr "" -#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2815 +#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2816 #: templates/ishtar/wizard/wizard_person_deletion.html:124 msgid "Author" msgstr "" @@ -478,7 +482,7 @@ msgstr "" msgid "Would you like to delete this documentation?" msgstr "" -#: forms_common.py:856 models.py:2111 models.py:2803 models.py:2812 +#: forms_common.py:856 models.py:2111 models.py:2803 models.py:2813 msgid "Author type" msgstr "" @@ -490,7 +494,7 @@ msgstr "" msgid "There are identical authors." msgstr "" -#: forms_common.py:893 models.py:2816 models.py:2868 +#: forms_common.py:893 models.py:2817 models.py:2871 #: templates/sheet_ope.html:106 #: templates/ishtar/blocks/window_tables/documents.html:9 msgid "Authors" @@ -508,7 +512,7 @@ msgstr "" msgid "Deletion" msgstr "" -#: ishtar_menu.py:39 models.py:1268 views.py:1548 +#: ishtar_menu.py:39 models.py:1268 views.py:1549 msgid "Global variables" msgstr "" @@ -540,15 +544,15 @@ msgstr "" msgid "Imports" msgstr "" -#: ishtar_menu.py:112 views.py:1556 +#: ishtar_menu.py:112 views.py:1557 msgid "New import" msgstr "" -#: ishtar_menu.py:116 views.py:1570 +#: ishtar_menu.py:116 views.py:1571 msgid "Current imports" msgstr "" -#: ishtar_menu.py:120 views.py:1606 +#: ishtar_menu.py:120 views.py:1607 msgid "Old imports" msgstr "" @@ -592,7 +596,7 @@ msgstr "" msgid "Creator" msgstr "" -#: models.py:956 models.py:2952 models.py:3008 +#: models.py:956 models.py:2955 models.py:3011 msgid "Order" msgstr "" @@ -887,11 +891,11 @@ msgstr "" msgid "Operation source" msgstr "" -#: models.py:1722 views.py:1364 views.py:1414 +#: models.py:1722 views.py:1365 views.py:1415 msgid "Archaeological files" msgstr "" -#: models.py:1724 views.py:1367 views.py:1422 +#: models.py:1724 views.py:1368 views.py:1423 msgid "Context records" msgstr "" @@ -1023,11 +1027,11 @@ msgstr "" msgid "Importer - Targets keys" msgstr "" -#: models.py:2112 models.py:2851 models.py:2864 +#: models.py:2112 models.py:2867 msgid "Format" msgstr "" -#: models.py:2113 models.py:2956 +#: models.py:2113 models.py:2959 msgid "Operation type" msgstr "" @@ -1091,11 +1095,11 @@ msgstr "" msgid "Context record relation type" msgstr "" -#: models.py:2132 models.py:3014 +#: models.py:2132 models.py:3017 msgid "Spatial reference system" msgstr "" -#: models.py:2133 models.py:2843 +#: models.py:2133 models.py:2845 msgid "Support type" msgstr "" @@ -1381,75 +1385,79 @@ msgstr "" msgid "Author types" msgstr "" -#: models.py:2836 +#: models.py:2837 msgid "Source types" msgstr "" -#: models.py:2844 +#: models.py:2846 msgid "Support types" msgstr "" -#: models.py:2852 -msgid "Formats" +#: models.py:2853 +msgid "Format type" msgstr "" -#: models.py:2859 -msgid "External ID" +#: models.py:2854 +msgid "Format types" msgstr "" #: models.py:2862 +msgid "External ID" +msgstr "" + +#: models.py:2865 msgid "Support" msgstr "" -#: models.py:2866 +#: models.py:2869 msgid "Scale" msgstr "" -#: models.py:2880 +#: models.py:2883 msgid "Item number" msgstr "" -#: models.py:2881 +#: models.py:2884 msgid "Ref." msgstr "" -#: models.py:2884 +#: models.py:2887 msgid "Internal ref." msgstr "" -#: models.py:2927 +#: models.py:2930 msgid "Surface (m2)" msgstr "" -#: models.py:2928 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107 +#: models.py:2931 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107 msgid "Localisation" msgstr "" -#: models.py:2953 +#: models.py:2956 msgid "Is preventive" msgstr "" -#: models.py:2957 +#: models.py:2960 msgid "Operation types" msgstr "" -#: models.py:2986 +#: models.py:2989 msgid "Preventive" msgstr "" -#: models.py:2987 +#: models.py:2990 msgid "Research" msgstr "" -#: models.py:3010 +#: models.py:3013 msgid "Authority name" msgstr "" -#: models.py:3011 +#: models.py:3014 msgid "Authority SRID" msgstr "" -#: models.py:3015 +#: models.py:3018 msgid "Spatial reference systems" msgstr "" @@ -1513,48 +1521,48 @@ msgstr "" msgid "Treatment" msgstr "" -#: views.py:1303 views.py:1346 +#: views.py:1304 views.py:1347 msgid "Operation not permitted." msgstr "" -#: views.py:1305 +#: views.py:1306 #, python-format msgid "New %s" msgstr "" -#: views.py:1365 views.py:1418 +#: views.py:1366 views.py:1419 msgid "Operations" msgstr "" -#: views.py:1369 views.py:1425 +#: views.py:1370 views.py:1426 msgid "Finds" msgstr "" -#: views.py:1618 templates/ishtar/import_list.html:43 +#: views.py:1619 templates/ishtar/import_list.html:43 msgid "Link unmatched items" msgstr "" -#: views.py:1633 +#: views.py:1634 msgid "Delete import" msgstr "" -#: views.py:1672 +#: views.py:1673 msgid "Merge persons" msgstr "" -#: views.py:1696 +#: views.py:1697 msgid "Select the main person" msgstr "" -#: views.py:1705 +#: views.py:1706 msgid "Merge organization" msgstr "" -#: views.py:1715 +#: views.py:1716 msgid "Select the main organization" msgstr "" -#: views.py:1755 views.py:1771 +#: views.py:1756 views.py:1772 msgid "Corporation manager" msgstr "" diff --git a/translations/fr/archaeological_context_records.po b/translations/fr/archaeological_context_records.po index 9de748717..f25806fc8 100644 --- a/translations/fr/archaeological_context_records.po +++ b/translations/fr/archaeological_context_records.po @@ -6,15 +6,13 @@ # Valérie-Emma Leroux , 2017. #zanata msgid "" msgstr "" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-02-04 21:29+0100\n" -"PO-Revision-Date: 2017-02-04 08:33-0500\n" -"Last-Translator: Valérie-Emma Leroux \n" -"Language-Team: \n" -"Language: fr\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Content-Type: text/plain; charset=UTF-8\n" +"PO-Revision-Date: 2017-02-05 05:22-0500\n" +"Last-Translator: Copied by Zanata \n" +"Language-Team: \n" +"Language: fr\n" "Plural-Forms: nplurals=2; plural=n>1;\n" "X-Generator: Zanata 3.9.6\n" @@ -266,14 +264,12 @@ msgid "Dating types" msgstr "Types de datation" #: models.py:47 -#, fuzzy msgid "Dating quality type" -msgstr "Qualité de datation" +msgstr "Type de qualité de datation" #: models.py:48 -#, fuzzy msgid "Dating quality types" -msgstr "Qualités de datation" +msgstr "Types de qualité de datation" #: models.py:62 msgid "Precise dating" @@ -558,7 +554,7 @@ msgstr "Dossier actif" #: templates/ishtar/sheet_contextrecord.html:76 msgid "Closed operation" -msgstr "Opération fermée" +msgstr "Opération close" #: templates/ishtar/sheet_contextrecord.html:78 msgid "Closing date:" diff --git a/translations/fr/archaeological_files.po b/translations/fr/archaeological_files.po index 8d6fffb7a..17b2d6784 100644 --- a/translations/fr/archaeological_files.po +++ b/translations/fr/archaeological_files.po @@ -8,15 +8,13 @@ # Valérie-Emma Leroux , 2017. #zanata msgid "" msgstr "" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-02-04 21:29+0100\n" -"PO-Revision-Date: 2017-02-02 10:01-0500\n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"Content-Type: text/plain; charset=UTF-8\n" +"PO-Revision-Date: 2017-02-05 05:21-0500\n" "Last-Translator: Valérie-Emma Leroux \n" "Language-Team: \n" "Language: fr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n>1;\n" "X-Generator: Zanata 3.9.6\n" @@ -412,7 +410,7 @@ msgstr "Peut supprimer son propre Dossier" #: models.py:230 msgid "Can close File" -msgstr "Peut fermer un Dossier" +msgstr "Peut clore un Dossier" #: models.py:236 msgid "FILE" @@ -496,7 +494,7 @@ msgstr "Dossier actif" #: templates/ishtar/sheet_file.html:37 msgid "Closed file" -msgstr "Dossier fermé" +msgstr "Dossier clos" #: templates/ishtar/sheet_file.html:39 msgid "Closing date:" diff --git a/translations/fr/archaeological_files_pdl.po b/translations/fr/archaeological_files_pdl.po index 2d7bc969e..949555adc 100644 --- a/translations/fr/archaeological_files_pdl.po +++ b/translations/fr/archaeological_files_pdl.po @@ -5,15 +5,13 @@ # Valérie-Emma Leroux , 2016. #zanata msgid "" msgstr "" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-02-04 21:29+0100\n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"Content-Type: text/plain; charset=UTF-8\n" "PO-Revision-Date: 2016-11-14 05:33-0500\n" "Last-Translator: Copied by Zanata \n" "Language-Team: \n" "Language: fr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" "X-Generator: Zanata 3.9.6\n" diff --git a/translations/fr/archaeological_finds.po b/translations/fr/archaeological_finds.po index efdc8db6e..609ad25c3 100644 --- a/translations/fr/archaeological_finds.po +++ b/translations/fr/archaeological_finds.po @@ -6,15 +6,13 @@ # Valérie-Emma Leroux , 2017. #zanata msgid "" msgstr "" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-02-04 21:29+0100\n" -"PO-Revision-Date: 2017-02-02 09:58-0500\n" -"Last-Translator: Étienne Loks \n" -"Language-Team: \n" -"Language: fr\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Content-Type: text/plain; charset=UTF-8\n" +"PO-Revision-Date: 2017-02-05 05:22-0500\n" +"Last-Translator: Valérie-Emma Leroux \n" +"Language-Team: \n" +"Language: fr\n" "Plural-Forms: nplurals=2; plural=n>1;\n" "X-Generator: Zanata 3.9.6\n" @@ -190,13 +188,15 @@ msgstr "" "ratio est conservé).

" #: forms.py:278 -msgid "You should at least provide X, Y and the spatial reference system used." +msgid "" +"You should at least provide X, Y and the spatial reference system used." msgstr "" "Vous devez au minimum fournir X, Y et le système de référence spatiale " "utilisé." #: forms.py:287 -msgid "Coordinates are not relevant for the spatial reference system used: {}." +msgid "" +"Coordinates are not relevant for the spatial reference system used: {}." msgstr "" "Les coordonnées ne sont pas pertinentes pour le système de référence " "spatiale utilisé : {}." @@ -1274,7 +1274,7 @@ msgstr "Documentation associée au mobilier" #: templates/ishtar/sheet_treatment.html:20 msgctxt "Treatment" msgid "Closed" -msgstr "Clôturé" +msgstr "Close" #: templates/ishtar/sheet_treatment.html:22 msgctxt "Treatment" @@ -1292,7 +1292,7 @@ msgstr "Opérations associées" #: templates/ishtar/sheet_treatmentfile.html:16 msgctxt "Treatment request" msgid "Closed" -msgstr "Clôturée" +msgstr "Close" #: templates/ishtar/sheet_treatmentfile.html:18 msgctxt "Treatment request" diff --git a/translations/fr/archaeological_operations.po b/translations/fr/archaeological_operations.po index 9ed814ced..6c89beaed 100644 --- a/translations/fr/archaeological_operations.po +++ b/translations/fr/archaeological_operations.po @@ -8,15 +8,13 @@ # Valérie-Emma Leroux , 2017. #zanata msgid "" msgstr "" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-02-04 21:29+0100\n" -"PO-Revision-Date: 2017-02-02 10:02-0500\n" -"Last-Translator: Copied by Zanata \n" -"Language-Team: \n" -"Language: fr\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Content-Type: text/plain; charset=UTF-8\n" +"PO-Revision-Date: 2017-02-05 05:23-0500\n" +"Last-Translator: Valérie-Emma Leroux \n" +"Language-Team: \n" +"Language: fr\n" "Plural-Forms: nplurals=2; plural=n>1;\n" "X-Generator: Zanata 3.9.6\n" @@ -392,7 +390,8 @@ msgstr "" #: forms.py:891 msgid "The excavation end date cannot be before the start date." -msgstr "La date de fin de chantier ne peut être antérieure à la date de début." +msgstr "" +"La date de fin de chantier ne peut être antérieure à la date de début." #: forms.py:919 #, python-format @@ -813,7 +812,7 @@ msgstr "Peut supprimer sa propre Opération" #: models.py:377 msgid "Can close Operation" -msgstr "Peut fermer une Opération" +msgstr "Peut clore une Opération" #: models.py:406 msgid "OPE" @@ -1147,7 +1146,7 @@ msgstr "Dossier actif" #: templates/ishtar/sheet_operation.html:35 msgid "Closed operation" -msgstr "Opération fermée" +msgstr "Opération close" #: templates/ishtar/sheet_operation.html:36 msgid "Closing date:" diff --git a/translations/fr/archaeological_warehouse.po b/translations/fr/archaeological_warehouse.po index 1f0c213ab..e7bdbe6f6 100644 --- a/translations/fr/archaeological_warehouse.po +++ b/translations/fr/archaeological_warehouse.po @@ -6,15 +6,13 @@ # Valérie-Emma Leroux , 2017. #zanata msgid "" msgstr "" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-02-04 21:29+0100\n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"Content-Type: text/plain; charset=UTF-8\n" "PO-Revision-Date: 2017-02-04 08:26-0500\n" "Last-Translator: Copied by Zanata \n" "Language-Team: \n" "Language: fr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n>1;\n" "X-Generator: Zanata 3.9.6\n" diff --git a/translations/fr/ishtar_common.po b/translations/fr/ishtar_common.po index 0c705f691..f3c3662ca 100644 --- a/translations/fr/ishtar_common.po +++ b/translations/fr/ishtar_common.po @@ -8,15 +8,13 @@ # Valérie-Emma Leroux , 2017. #zanata msgid "" msgstr "" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-02-04 21:29+0100\n" -"PO-Revision-Date: 2017-02-04 04:55-0500\n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"Content-Type: text/plain; charset=UTF-8\n" +"PO-Revision-Date: 2017-02-05 05:23-0500\n" "Last-Translator: Valérie-Emma Leroux \n" "Language-Team: \n" "Language: fr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n>1;\n" "X-Generator: Zanata 3.9.6\n" @@ -33,9 +31,8 @@ msgid "Related item" msgstr "Élément associé" #: admin.py:79 -#, fuzzy msgid "Export selected as CSV file" -msgstr "Export en CSV - complet" +msgstr "Exporter la sélection en fichier CSV" #: data_importer.py:182 #, python-format @@ -1449,14 +1446,12 @@ msgid "Support types" msgstr "Types de support" #: models.py:2853 -#, fuzzy msgid "Format type" -msgstr "Format" +msgstr "Type de format" #: models.py:2854 -#, fuzzy msgid "Format types" -msgstr "Formats" +msgstr "Types de format" #: models.py:2862 msgid "External ID" @@ -1688,7 +1683,8 @@ msgstr "L'équipe %(app_name)s" #: templates/base.html:41 msgid "Searches in the shortcut menu deal with all items." -msgstr "Les recherches dans le menu de raccourci concernent tous les éléments." +msgstr "" +"Les recherches dans le menu de raccourci concernent tous les éléments." #: templates/base.html:42 msgid "Searches in the shortcut menu deal with only your items." @@ -1805,7 +1801,7 @@ msgstr "Dossier actif" #: templates/sheet_ope.html:21 msgid "Closed operation" -msgstr "Opération fermée" +msgstr "Opération close" #: templates/sheet_ope.html:22 msgid "Closing date:" @@ -2361,8 +2357,8 @@ msgid "" "Powered by Ishtar v%(VERSION)s - " "a free software under AGPL v3 license." msgstr "" -"Propulsé par Ishtar v%(VERSION)s " -"- logiciel libre sous licence AGPL v3." +"Propulsé par Ishtar v%(VERSION)s -" +" logiciel libre sous licence AGPL v3." #: templates/ishtar/blocks/window_nav.html:6 msgid "Previous version" -- cgit v1.2.3 From 5c5225eccd8ffd4e6c189145500caf3b27bd2adb Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Mon, 6 Feb 2017 15:25:02 +0100 Subject: Update translation strings --- ishtar_common/locale/django.pot | 627 ++++++++++---------- translations/fr/archaeological_context_records.po | 8 +- translations/fr/archaeological_files.po | 8 +- translations/fr/archaeological_files_pdl.po | 8 +- translations/fr/archaeological_finds.po | 14 +- translations/fr/archaeological_operations.po | 11 +- translations/fr/archaeological_warehouse.po | 8 +- translations/fr/ishtar_common.po | 668 +++++++++++----------- 8 files changed, 701 insertions(+), 651 deletions(-) diff --git a/ishtar_common/locale/django.pot b/ishtar_common/locale/django.pot index 797aad587..9949973a0 100644 --- a/ishtar_common/locale/django.pot +++ b/ishtar_common/locale/django.pot @@ -25,109 +25,121 @@ msgstr "" msgid "Export selected as CSV file" msgstr "" -#: data_importer.py:182 +#: data_importer.py:183 #, python-format msgid "\"%(value)s\" is too long. The max length is %(length)d characters." msgstr "" -#: data_importer.py:199 +#: data_importer.py:200 #, python-format msgid "\"%(value)s\" not equal to yes or no" msgstr "" -#: data_importer.py:211 +#: data_importer.py:212 #, python-format msgid "\"%(value)s\" is not a float" msgstr "" -#: data_importer.py:224 data_importer.py:238 data_importer.py:482 +#: data_importer.py:225 data_importer.py:239 data_importer.py:483 #, python-format msgid "\"%(value)s\" is not a valid date" msgstr "" -#: data_importer.py:251 +#: data_importer.py:252 #, python-format msgid "\"%(value)s\" is not an integer" msgstr "" -#: data_importer.py:302 data_importer.py:545 +#: data_importer.py:303 data_importer.py:546 #, python-format msgid "Choice for \"%s\" is not available. Which one is relevant?\n" msgstr "" -#: data_importer.py:309 +#: data_importer.py:310 #, python-format msgid "%d. None of the above - create new" msgstr "" -#: data_importer.py:312 +#: data_importer.py:313 #, python-format msgid "%d. None of the above - skip" msgstr "" -#: data_importer.py:508 +#: data_importer.py:509 #, python-format msgid "\"%(value)s\" is not a valid path for the given archive" msgstr "" -#: data_importer.py:620 +#: data_importer.py:623 msgid "" "The given file is not correct. Check the file format. If you use a CSV file: " "check that column separator and encoding are similar to the ones used by the " "reference file." msgstr "" -#: data_importer.py:624 +#: data_importer.py:627 #, python-format msgid "Too many cols (%(user_col)d) when maximum is %(ref_col)d" msgstr "" -#: data_importer.py:626 +#: data_importer.py:629 msgid "No data provided" msgstr "" -#: data_importer.py:627 +#: data_importer.py:630 msgid "Value is required" msgstr "" -#: data_importer.py:628 +#: data_importer.py:631 #, python-format msgid "At least %d columns must be filled" msgstr "" -#: data_importer.py:629 +#: data_importer.py:632 msgid "The regexp doesn't match." msgstr "" -#: data_importer.py:1037 +#: data_importer.py:634 +msgid "" +"Force creation is set for model {} but this model is not in the list of " +"model allowed to be created." +msgstr "" + +#: data_importer.py:636 +msgid "" +"{} with values {} doesn't exist in the database. Create it first or fix your " +"source file" +msgstr "" + +#: data_importer.py:1089 msgid "Not imported" msgstr "" -#: data_importer.py:1444 +#: data_importer.py:1522 msgid "line" msgstr "" -#: data_importer.py:1444 +#: data_importer.py:1522 msgid "col" msgstr "" -#: data_importer.py:1444 +#: data_importer.py:1522 msgid "error" msgstr "" -#: data_importer.py:1450 +#: data_importer.py:1528 msgid "field" msgstr "" -#: data_importer.py:1450 +#: data_importer.py:1528 msgid "source" msgstr "" -#: data_importer.py:1450 +#: data_importer.py:1528 msgid "result" msgstr "" -#: data_importer.py:1466 +#: data_importer.py:1544 #, python-format msgid "\"%(value)s\" not in %(values)s" msgstr "" @@ -160,12 +172,12 @@ msgstr "" msgid "Add a new item" msgstr "" -#: forms.py:262 models.py:1473 +#: forms.py:262 models.py:1475 msgid "Template" msgstr "" #: forms_common.py:41 forms_common.py:59 forms_common.py:182 -#: forms_common.py:406 models.py:1539 models.py:2943 +#: forms_common.py:406 models.py:1541 models.py:2950 #: templates/blocks/JQueryAdvancedTown.html:19 #: templates/ishtar/sheet_organization.html:13 msgid "Town" @@ -181,9 +193,8 @@ msgid "" "french town Saint-Denis in the Seine-Saint-Denis department.

" msgstr "" -#: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:1712 -#: models.py:2567 models.py:2749 models.py:2811 -#: templates/ishtar/sheet_person.html:4 +#: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:2574 +#: models.py:2756 models.py:2818 templates/ishtar/sheet_person.html:4 msgid "Person" msgstr "" @@ -194,63 +205,63 @@ msgid "" msgstr "" #: forms_common.py:170 forms_common.py:327 forms_common.py:451 -#: ishtar_menu.py:75 models.py:1713 models.py:2450 models.py:2541 +#: ishtar_menu.py:75 models.py:2457 models.py:2548 #: templates/ishtar/sheet_organization.html:4 msgid "Organization" msgstr "" #: forms_common.py:173 forms_common.py:210 forms_common.py:322 -#: forms_common.py:376 forms_common.py:446 models.py:1094 models.py:1472 -#: models.py:1758 models.py:1977 models.py:2444 models.py:2553 models.py:2929 -#: templates/ishtar/sheet_organization.html:8 +#: forms_common.py:376 forms_common.py:446 models.py:1096 models.py:1474 +#: models.py:1742 models.py:1758 models.py:1984 models.py:2451 models.py:2560 +#: models.py:2936 templates/ishtar/sheet_organization.html:8 #: templates/ishtar/sheet_organization.html:21 msgid "Name" msgstr "" -#: forms_common.py:174 models.py:1694 models.py:2108 +#: forms_common.py:174 models.py:1696 models.py:2115 msgid "Organization type" msgstr "" -#: forms_common.py:176 forms_common.py:400 models.py:1534 +#: forms_common.py:176 forms_common.py:400 models.py:1536 #: templates/ishtar/sheet_organization.html:10 msgid "Address" msgstr "" -#: forms_common.py:178 forms_common.py:403 models.py:1535 +#: forms_common.py:178 forms_common.py:403 models.py:1537 #: templates/ishtar/sheet_organization.html:11 msgid "Address complement" msgstr "" -#: forms_common.py:180 forms_common.py:404 models.py:1537 +#: forms_common.py:180 forms_common.py:404 models.py:1539 #: templates/ishtar/sheet_organization.html:12 msgid "Postal code" msgstr "" -#: forms_common.py:183 forms_common.py:407 models.py:1540 +#: forms_common.py:183 forms_common.py:407 models.py:1542 msgid "Country" msgstr "" #: forms_common.py:185 forms_common.py:324 forms_common.py:380 -#: forms_common.py:448 forms_common.py:572 models.py:1567 +#: forms_common.py:448 forms_common.py:572 models.py:1569 msgid "Email" msgstr "" -#: forms_common.py:186 forms_common.py:383 models.py:1552 +#: forms_common.py:186 forms_common.py:383 models.py:1554 #: templates/ishtar/sheet_organization.html:14 #: templates/ishtar/sheet_person.html:19 #: templates/ishtar/wizard/wizard_person.html:17 msgid "Phone" msgstr "" -#: forms_common.py:187 forms_common.py:392 models.py:1564 +#: forms_common.py:187 forms_common.py:392 models.py:1566 #: templates/ishtar/sheet_organization.html:15 #: templates/ishtar/sheet_person.html:37 #: templates/ishtar/wizard/wizard_person.html:35 msgid "Mobile phone" msgstr "" -#: forms_common.py:211 forms_common.py:325 forms_common.py:449 models.py:2144 -#: models.py:2446 models.py:2864 templates/sheet_ope.html:85 +#: forms_common.py:211 forms_common.py:325 forms_common.py:449 models.py:2151 +#: models.py:2453 models.py:2871 templates/sheet_ope.html:85 #: templates/sheet_ope.html.py:105 templates/sheet_ope.html:126 #: templates/ishtar/import_list.html:13 #: templates/ishtar/sheet_organization.html:23 @@ -274,7 +285,7 @@ msgstr "" msgid "Organization to merge" msgstr "" -#: forms_common.py:323 forms_common.py:374 forms_common.py:447 models.py:2551 +#: forms_common.py:323 forms_common.py:374 forms_common.py:447 models.py:2558 #: templates/ishtar/sheet_organization.html:22 msgid "Surname" msgstr "" @@ -292,25 +303,25 @@ msgstr "" msgid "Identity" msgstr "" -#: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:2109 -#: models.py:2545 models.py:2547 models.py:2861 templates/sheet_ope.html:104 +#: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:2116 +#: models.py:2552 models.py:2554 models.py:2868 templates/sheet_ope.html:104 #: templates/ishtar/blocks/window_tables/documents.html:7 msgid "Title" msgstr "" -#: forms_common.py:372 models.py:2549 +#: forms_common.py:372 models.py:2556 msgid "Salutation" msgstr "" -#: forms_common.py:378 models.py:2555 +#: forms_common.py:378 models.py:2562 msgid "Raw name" msgstr "" -#: forms_common.py:381 models.py:1553 +#: forms_common.py:381 models.py:1555 msgid "Phone description" msgstr "" -#: forms_common.py:384 models.py:1555 models.py:1557 +#: forms_common.py:384 models.py:1557 models.py:1559 msgid "Phone description 2" msgstr "" @@ -318,11 +329,11 @@ msgstr "" msgid "Phone 2" msgstr "" -#: forms_common.py:388 models.py:1561 +#: forms_common.py:388 models.py:1563 msgid "Phone description 3" msgstr "" -#: forms_common.py:390 models.py:1559 +#: forms_common.py:390 models.py:1561 msgid "Phone 3" msgstr "" @@ -330,23 +341,23 @@ msgstr "" msgid "Current organization" msgstr "" -#: forms_common.py:409 models.py:1542 +#: forms_common.py:409 models.py:1544 msgid "Other address: address" msgstr "" -#: forms_common.py:412 models.py:1545 +#: forms_common.py:412 models.py:1547 msgid "Other address: address complement" msgstr "" -#: forms_common.py:414 models.py:1546 +#: forms_common.py:414 models.py:1548 msgid "Other address: postal code" msgstr "" -#: forms_common.py:416 models.py:1548 +#: forms_common.py:416 models.py:1550 msgid "Other address: town" msgstr "" -#: forms_common.py:418 models.py:1550 +#: forms_common.py:418 models.py:1552 msgid "Other address: country" msgstr "" @@ -362,7 +373,7 @@ msgstr "" msgid "Account search" msgstr "" -#: forms_common.py:510 forms_common.py:550 forms_common.py:554 models.py:2498 +#: forms_common.py:510 forms_common.py:550 forms_common.py:554 models.py:2505 msgid "Person type" msgstr "" @@ -394,7 +405,7 @@ msgstr "" msgid "Send the new password by email?" msgstr "" -#: forms_common.py:628 forms_common.py:641 models.py:2944 +#: forms_common.py:628 forms_common.py:641 models.py:2951 msgid "Towns" msgstr "" @@ -410,7 +421,7 @@ msgstr "" msgid "Documentation informations" msgstr "" -#: forms_common.py:775 forms_common.py:823 models.py:2110 models.py:2836 +#: forms_common.py:775 forms_common.py:823 models.py:2117 models.py:2843 msgid "Source type" msgstr "" @@ -422,37 +433,37 @@ msgstr "" msgid "Internal reference" msgstr "" -#: forms_common.py:783 models.py:2875 +#: forms_common.py:783 models.py:2882 msgid "Numerical ressource (web address)" msgstr "" -#: forms_common.py:784 models.py:2877 +#: forms_common.py:784 models.py:2884 msgid "Receipt date" msgstr "" -#: forms_common.py:786 models.py:2273 models.py:2879 +#: forms_common.py:786 models.py:2280 models.py:2886 msgid "Creation date" msgstr "" -#: forms_common.py:789 models.py:2882 +#: forms_common.py:789 models.py:2889 msgid "Receipt date in documentation" msgstr "" -#: forms_common.py:791 forms_common.py:827 models.py:376 models.py:687 -#: models.py:2004 models.py:2559 models.py:2889 +#: forms_common.py:791 forms_common.py:827 models.py:377 models.py:689 +#: models.py:2011 models.py:2566 models.py:2896 msgid "Comment" msgstr "" -#: forms_common.py:793 forms_common.py:826 models.py:1096 models.py:1762 -#: models.py:1936 models.py:1978 models.py:2888 templates/sheet_ope.html:128 +#: forms_common.py:793 forms_common.py:826 models.py:1098 models.py:1762 +#: models.py:1943 models.py:1985 models.py:2895 templates/sheet_ope.html:128 msgid "Description" msgstr "" -#: forms_common.py:796 models.py:2890 +#: forms_common.py:796 models.py:2897 msgid "Additional information" msgstr "" -#: forms_common.py:798 forms_common.py:830 models.py:2892 +#: forms_common.py:798 forms_common.py:830 models.py:2899 msgid "Has a duplicate" msgstr "" @@ -467,7 +478,7 @@ msgid "" "p>" msgstr "" -#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2816 +#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2823 #: templates/ishtar/wizard/wizard_person_deletion.html:124 msgid "Author" msgstr "" @@ -480,7 +491,7 @@ msgstr "" msgid "Would you like to delete this documentation?" msgstr "" -#: forms_common.py:856 models.py:2111 models.py:2803 models.py:2813 +#: forms_common.py:856 models.py:2118 models.py:2810 models.py:2820 msgid "Author type" msgstr "" @@ -492,7 +503,7 @@ msgstr "" msgid "There are identical authors." msgstr "" -#: forms_common.py:893 models.py:2817 models.py:2871 +#: forms_common.py:893 models.py:2824 models.py:2878 #: templates/sheet_ope.html:106 #: templates/ishtar/blocks/window_tables/documents.html:9 msgid "Authors" @@ -510,7 +521,7 @@ msgstr "" msgid "Deletion" msgstr "" -#: ishtar_menu.py:39 models.py:1268 views.py:1549 +#: ishtar_menu.py:39 models.py:1270 views.py:1549 msgid "Global variables" msgstr "" @@ -538,7 +549,7 @@ msgstr "" msgid "Manual merge" msgstr "" -#: ishtar_menu.py:109 models.py:2284 +#: ishtar_menu.py:109 models.py:2291 msgid "Imports" msgstr "" @@ -554,262 +565,262 @@ msgstr "" msgid "Old imports" msgstr "" -#: models.py:183 +#: models.py:184 msgid "Not a valid item." msgstr "" -#: models.py:196 +#: models.py:197 msgid "A selected item is not a valid item." msgstr "" -#: models.py:207 +#: models.py:208 msgid "This item already exists." msgstr "" -#: models.py:372 models.py:686 models.py:1507 models.py:1519 models.py:1933 +#: models.py:373 models.py:688 models.py:1509 models.py:1521 models.py:1940 msgid "Label" msgstr "" -#: models.py:374 +#: models.py:375 msgid "Textual ID" msgstr "" -#: models.py:377 models.py:689 models.py:1476 +#: models.py:378 models.py:691 models.py:1478 msgid "Available" msgstr "" -#: models.py:713 models.py:2050 +#: models.py:715 models.py:2057 msgid "Key" msgstr "" -#: models.py:719 +#: models.py:721 msgid "Specific key to an import" msgstr "" -#: models.py:811 +#: models.py:813 msgid "Last editor" msgstr "" -#: models.py:814 +#: models.py:816 msgid "Creator" msgstr "" -#: models.py:956 models.py:2955 models.py:3011 +#: models.py:958 models.py:2962 models.py:3018 msgid "Order" msgstr "" -#: models.py:957 +#: models.py:959 msgid "Symmetrical" msgstr "" -#: models.py:958 +#: models.py:960 msgid "Tiny label" msgstr "" -#: models.py:972 +#: models.py:974 msgid "Cannot have symmetrical and an inverse_relation" msgstr "" -#: models.py:1088 +#: models.py:1090 msgid "Euro" msgstr "" -#: models.py:1089 +#: models.py:1091 msgid "US dollar" msgstr "" -#: models.py:1095 models.py:1760 +#: models.py:1097 models.py:1760 msgid "Slug" msgstr "" -#: models.py:1098 +#: models.py:1100 msgid "CSS color code for base module" msgstr "" -#: models.py:1100 +#: models.py:1102 msgid "Files module" msgstr "" -#: models.py:1102 +#: models.py:1104 msgid "CSS color code for files module" msgstr "" -#: models.py:1104 +#: models.py:1106 msgid "Context records module" msgstr "" -#: models.py:1107 +#: models.py:1109 msgid "CSS color code for context record module" msgstr "" -#: models.py:1109 +#: models.py:1111 msgid "Finds module" msgstr "" -#: models.py:1110 +#: models.py:1112 msgid "Need context records module" msgstr "" -#: models.py:1112 +#: models.py:1114 msgid "CSS color code for find module" msgstr "" -#: models.py:1115 +#: models.py:1117 msgid "Warehouses module" msgstr "" -#: models.py:1116 +#: models.py:1118 msgid "Need finds module" msgstr "" -#: models.py:1118 +#: models.py:1120 msgid "CSS code for warehouse module" msgstr "" -#: models.py:1120 +#: models.py:1122 msgid "Mapping module" msgstr "" -#: models.py:1122 +#: models.py:1124 msgid "CSS code for mapping module" msgstr "" -#: models.py:1125 +#: models.py:1127 msgid "Home page" msgstr "" -#: models.py:1126 +#: models.py:1128 #, python-brace-format msgid "" "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." msgstr "" -#: models.py:1130 +#: models.py:1132 msgid "File external id" msgstr "" -#: models.py:1132 +#: models.py:1134 msgid "" "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." msgstr "" -#: models.py:1137 +#: models.py:1139 msgid "Parcel external id" msgstr "" -#: models.py:1140 +#: models.py:1142 msgid "" "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." msgstr "" -#: models.py:1145 +#: models.py:1147 msgid "Context record external id" msgstr "" -#: models.py:1147 +#: models.py:1149 msgid "" "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." msgstr "" -#: models.py:1152 +#: models.py:1154 msgid "Base find external id" msgstr "" -#: models.py:1154 +#: models.py:1156 msgid "" "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." msgstr "" -#: models.py:1159 +#: models.py:1161 msgid "Find external id" msgstr "" -#: models.py:1161 +#: models.py:1163 msgid "" "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." msgstr "" -#: models.py:1166 +#: models.py:1168 msgid "Container external id" msgstr "" -#: models.py:1168 +#: models.py:1170 msgid "" "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." msgstr "" -#: models.py:1173 +#: models.py:1175 msgid "Warehouse external id" msgstr "" -#: models.py:1175 +#: models.py:1177 msgid "" "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." msgstr "" -#: models.py:1180 +#: models.py:1182 msgid "Raw name for person" msgstr "" -#: models.py:1182 +#: models.py:1184 msgid "" "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." msgstr "" -#: models.py:1186 +#: models.py:1188 msgid "Current active" msgstr "" -#: models.py:1187 +#: models.py:1189 msgid "Currency" msgstr "" -#: models.py:1191 +#: models.py:1193 msgid "Ishtar site profile" msgstr "" -#: models.py:1192 +#: models.py:1194 msgid "Ishtar site profiles" msgstr "" -#: models.py:1261 +#: models.py:1263 msgid "Variable name" msgstr "" -#: models.py:1262 +#: models.py:1264 msgid "Description of the variable" msgstr "" -#: models.py:1264 models.py:2051 +#: models.py:1266 models.py:2058 msgid "Value" msgstr "" -#: models.py:1267 +#: models.py:1269 msgid "Global variable" msgstr "" -#: models.py:1377 models.py:1407 +#: models.py:1379 models.py:1409 msgid "Total" msgstr "" -#: models.py:1384 models.py:1508 models.py:1520 +#: models.py:1386 models.py:1510 models.py:1522 #: templates/ishtar/sheet_person.html:22 #: templates/ishtar/dashboards/dashboard_main_detail.html:141 #: templates/ishtar/dashboards/dashboard_main_detail_users.html:26 @@ -817,645 +828,633 @@ msgstr "" msgid "Number" msgstr "" -#: models.py:1471 +#: models.py:1473 msgid "Administrative Act" msgstr "" -#: models.py:1475 +#: models.py:1477 msgid "Associated object" msgstr "" -#: models.py:1479 +#: models.py:1481 msgid "Document template" msgstr "" -#: models.py:1480 +#: models.py:1482 msgid "Document templates" msgstr "" -#: models.py:1511 models.py:1521 models.py:2268 +#: models.py:1513 models.py:1523 models.py:2275 msgid "State" msgstr "" -#: models.py:1525 templates/blocks/JQueryAdvancedTown.html:12 +#: models.py:1527 templates/blocks/JQueryAdvancedTown.html:12 msgid "Department" msgstr "" -#: models.py:1526 +#: models.py:1528 msgid "Departments" msgstr "" -#: models.py:1563 +#: models.py:1565 msgid "Raw phone" msgstr "" -#: models.py:1569 +#: models.py:1571 msgid "Alternative address is prefered" msgstr "" -#: models.py:1608 +#: models.py:1610 msgid "Tel: " msgstr "" -#: models.py:1612 +#: models.py:1614 msgid "Mobile: " msgstr "" -#: models.py:1616 +#: models.py:1618 msgid "Email: " msgstr "" -#: models.py:1621 +#: models.py:1623 msgid "Merge key" msgstr "" -#: models.py:1695 +#: models.py:1697 msgid "Organization types" msgstr "" -#: models.py:1714 views.py:241 -msgid "Operation" +#: models.py:1743 +msgid "Class name" msgstr "" -#: models.py:1716 -msgid "Archaeological site" +#: models.py:1746 +msgid "Importer - Model" msgstr "" -#: models.py:1717 -msgid "Parcels" +#: models.py:1747 +msgid "Importer - Models" msgstr "" -#: models.py:1719 -msgid "Operation source" -msgstr "" - -#: models.py:1722 views.py:1365 views.py:1415 -msgid "Archaeological files" -msgstr "" - -#: models.py:1724 views.py:1368 views.py:1423 -msgid "Context records" -msgstr "" - -#: models.py:1726 -msgid "Context record relations" +#: models.py:1764 templates/ishtar/dashboards/dashboard_main.html:25 +msgid "Users" msgstr "" -#: models.py:1728 -msgid "Base finds" +#: models.py:1767 +msgid "Associated model" msgstr "" -#: models.py:1764 templates/ishtar/dashboards/dashboard_main.html:25 -msgid "Users" +#: models.py:1770 +msgid "Models that can accept new items" msgstr "" -#: models.py:1766 -msgid "Associated model" +#: models.py:1771 +msgid "Leave blank for no restrictions" msgstr "" -#: models.py:1769 +#: models.py:1773 msgid "Is template" msgstr "" -#: models.py:1770 +#: models.py:1774 msgid "Unicity keys (separator \";\")" msgstr "" -#: models.py:1774 +#: models.py:1778 msgid "Importer - Type" msgstr "" -#: models.py:1775 +#: models.py:1779 msgid "Importer - Types" msgstr "" -#: models.py:1865 +#: models.py:1872 msgid "Importer - Default" msgstr "" -#: models.py:1866 +#: models.py:1873 msgid "Importer - Defaults" msgstr "" -#: models.py:1901 +#: models.py:1908 msgid "Importer - Default value" msgstr "" -#: models.py:1902 +#: models.py:1909 msgid "Importer - Default values" msgstr "" -#: models.py:1935 +#: models.py:1942 msgid "Column number" msgstr "" -#: models.py:1938 +#: models.py:1945 msgid "Required" msgstr "" -#: models.py:1941 +#: models.py:1948 msgid "Importer - Column" msgstr "" -#: models.py:1942 +#: models.py:1949 msgid "Importer - Columns" msgstr "" -#: models.py:1962 +#: models.py:1969 msgid "Field name" msgstr "" -#: models.py:1964 models.py:1998 +#: models.py:1971 models.py:2005 msgid "Force creation of new items" msgstr "" -#: models.py:1966 models.py:2000 +#: models.py:1973 models.py:2007 msgid "Concatenate with existing" msgstr "" -#: models.py:1968 models.py:2002 +#: models.py:1975 models.py:2009 msgid "Concatenate character" msgstr "" -#: models.py:1972 +#: models.py:1979 msgid "Importer - Duplicate field" msgstr "" -#: models.py:1973 +#: models.py:1980 msgid "Importer - Duplicate fields" msgstr "" -#: models.py:1980 +#: models.py:1987 msgid "Regular expression" msgstr "" -#: models.py:1983 +#: models.py:1990 msgid "Importer - Regular expression" msgstr "" -#: models.py:1984 +#: models.py:1991 msgid "Importer - Regular expressions" msgstr "" -#: models.py:2007 +#: models.py:2014 msgid "Importer - Target" msgstr "" -#: models.py:2008 +#: models.py:2015 msgid "Importer - Targets" msgstr "" -#: models.py:2032 views.py:545 +#: models.py:2039 views.py:545 msgid "True" msgstr "" -#: models.py:2033 views.py:547 +#: models.py:2040 views.py:547 msgid "False" msgstr "" -#: models.py:2052 +#: models.py:2059 msgid "Is set" msgstr "" -#: models.py:2059 +#: models.py:2066 msgid "Importer - Target key" msgstr "" -#: models.py:2060 +#: models.py:2067 msgid "Importer - Targets keys" msgstr "" -#: models.py:2112 models.py:2867 +#: models.py:2119 models.py:2874 msgid "Format" msgstr "" -#: models.py:2113 models.py:2959 +#: models.py:2120 models.py:2966 msgid "Operation type" msgstr "" -#: models.py:2114 +#: models.py:2121 msgid "Period" msgstr "" -#: models.py:2115 +#: models.py:2122 msgid "Report state" msgstr "" -#: models.py:2116 +#: models.py:2123 msgid "Remain type" msgstr "" -#: models.py:2117 +#: models.py:2124 msgid "Unit" msgstr "" -#: models.py:2118 +#: models.py:2125 msgid "Activity type" msgstr "" -#: models.py:2119 +#: models.py:2126 msgid "Material" msgstr "" -#: models.py:2121 +#: models.py:2128 msgid "Conservatory state" msgstr "" -#: models.py:2122 +#: models.py:2129 msgid "Container type" msgstr "" -#: models.py:2123 +#: models.py:2130 msgid "Preservation type" msgstr "" -#: models.py:2124 +#: models.py:2131 msgid "Object type" msgstr "" -#: models.py:2125 +#: models.py:2132 msgid "Integrity type" msgstr "" -#: models.py:2126 +#: models.py:2133 msgid "Remarkability type" msgstr "" -#: models.py:2127 +#: models.py:2134 msgid "Batch type" msgstr "" -#: models.py:2129 +#: models.py:2136 msgid "Identification type" msgstr "" -#: models.py:2131 +#: models.py:2138 msgid "Context record relation type" msgstr "" -#: models.py:2132 models.py:3017 +#: models.py:2139 models.py:3024 msgid "Spatial reference system" msgstr "" -#: models.py:2133 models.py:2845 +#: models.py:2140 models.py:2852 msgid "Support type" msgstr "" -#: models.py:2134 models.py:2510 +#: models.py:2141 models.py:2517 msgid "Title type" msgstr "" -#: models.py:2140 +#: models.py:2147 msgid "Integer" msgstr "" -#: models.py:2141 +#: models.py:2148 msgid "Float" msgstr "" -#: models.py:2142 +#: models.py:2149 msgid "String" msgstr "" -#: models.py:2143 templates/sheet_ope.html:86 +#: models.py:2150 templates/sheet_ope.html:86 msgid "Date" msgstr "" -#: models.py:2145 templates/sheet_ope.html:61 templates/sheet_ope.html.py:83 +#: models.py:2152 templates/sheet_ope.html:61 templates/sheet_ope.html.py:83 #: templates/ishtar/dashboards/dashboard_main_detail.html:126 msgid "Year" msgstr "" -#: models.py:2146 +#: models.py:2153 msgid "String to boolean" msgstr "" -#: models.py:2147 +#: models.py:2154 msgctxt "filesystem" msgid "File" msgstr "" -#: models.py:2148 +#: models.py:2155 msgid "Unknow type" msgstr "" -#: models.py:2164 +#: models.py:2171 msgid "4 digit year. e.g.: \"2015\"" msgstr "" -#: models.py:2165 +#: models.py:2172 msgid "4 digit year/month/day. e.g.: \"2015/02/04\"" msgstr "" -#: models.py:2166 +#: models.py:2173 msgid "Day/month/4 digit year. e.g.: \"04/02/2015\"" msgstr "" -#: models.py:2176 +#: models.py:2183 msgid "Options" msgstr "" -#: models.py:2178 +#: models.py:2185 msgid "Split character(s)" msgstr "" -#: models.py:2182 +#: models.py:2189 msgid "Importer - Formater type" msgstr "" -#: models.py:2183 +#: models.py:2190 msgid "Importer - Formater types" msgstr "" -#: models.py:2232 templates/ishtar/dashboards/dashboard_main_detail.html:63 +#: models.py:2239 templates/ishtar/dashboards/dashboard_main_detail.html:63 msgid "Created" msgstr "" -#: models.py:2233 +#: models.py:2240 msgid "Analyse in progress" msgstr "" -#: models.py:2234 +#: models.py:2241 msgid "Analysed" msgstr "" -#: models.py:2235 +#: models.py:2242 msgid "Import pending" msgstr "" -#: models.py:2236 +#: models.py:2243 msgid "Import in progress" msgstr "" -#: models.py:2237 +#: models.py:2244 msgid "Finished with errors" msgstr "" -#: models.py:2238 +#: models.py:2245 msgid "Finished" msgstr "" -#: models.py:2239 +#: models.py:2246 msgid "Archived" msgstr "" -#: models.py:2252 +#: models.py:2259 msgid "Imported file" msgstr "" -#: models.py:2254 +#: models.py:2261 msgid "Associated images (zip file)" msgstr "" -#: models.py:2256 +#: models.py:2263 msgid "Encoding" msgstr "" -#: models.py:2258 +#: models.py:2265 msgid "Skip lines" msgstr "" -#: models.py:2259 templates/ishtar/import_list.html:47 +#: models.py:2266 templates/ishtar/import_list.html:47 msgid "Error file" msgstr "" -#: models.py:2262 +#: models.py:2269 msgid "Result file" msgstr "" -#: models.py:2265 templates/ishtar/import_list.html:53 +#: models.py:2272 templates/ishtar/import_list.html:53 msgid "Match file" msgstr "" -#: models.py:2271 +#: models.py:2278 msgid "Conservative import" msgstr "" -#: models.py:2276 +#: models.py:2283 msgid "End date" msgstr "" -#: models.py:2278 +#: models.py:2285 msgid "Remaining seconds" msgstr "" -#: models.py:2283 +#: models.py:2290 msgid "Import" msgstr "" -#: models.py:2300 +#: models.py:2307 msgid "Analyse" msgstr "" -#: models.py:2302 models.py:2305 +#: models.py:2309 models.py:2312 msgid "Re-analyse" msgstr "" -#: models.py:2303 +#: models.py:2310 msgid "Launch import" msgstr "" -#: models.py:2306 +#: models.py:2313 msgid "Re-import" msgstr "" -#: models.py:2307 +#: models.py:2314 msgid "Archive" msgstr "" -#: models.py:2309 +#: models.py:2316 msgid "Unarchive" msgstr "" -#: models.py:2310 widgets.py:130 templates/ishtar/form_delete.html:11 +#: models.py:2317 widgets.py:130 templates/ishtar/form_delete.html:11 msgid "Delete" msgstr "" -#: models.py:2451 +#: models.py:2458 msgid "Organizations" msgstr "" -#: models.py:2453 +#: models.py:2460 msgid "Can view all Organizations" msgstr "" -#: models.py:2454 +#: models.py:2461 msgid "Can view own Organization" msgstr "" -#: models.py:2455 +#: models.py:2462 msgid "Can add own Organization" msgstr "" -#: models.py:2457 +#: models.py:2464 msgid "Can change own Organization" msgstr "" -#: models.py:2459 +#: models.py:2466 msgid "Can delete own Organization" msgstr "" -#: models.py:2494 +#: models.py:2501 msgid "Groups" msgstr "" -#: models.py:2499 +#: models.py:2506 msgid "Person types" msgstr "" -#: models.py:2511 +#: models.py:2518 msgid "Title types" msgstr "" -#: models.py:2520 +#: models.py:2527 msgid "Mr" msgstr "" -#: models.py:2521 +#: models.py:2528 msgid "Miss" msgstr "" -#: models.py:2522 +#: models.py:2529 msgid "Mr and Mrs" msgstr "" -#: models.py:2523 +#: models.py:2530 msgid "Mrs" msgstr "" -#: models.py:2524 +#: models.py:2531 msgid "Doctor" msgstr "" -#: models.py:2557 +#: models.py:2564 msgid "Contact type" msgstr "" -#: models.py:2560 models.py:2624 +#: models.py:2567 models.py:2631 msgid "Types" msgstr "" -#: models.py:2563 +#: models.py:2570 msgid "Is attached to" msgstr "" -#: models.py:2568 +#: models.py:2575 msgid "Persons" msgstr "" -#: models.py:2570 +#: models.py:2577 msgid "Can view all Persons" msgstr "" -#: models.py:2571 +#: models.py:2578 msgid "Can view own Person" msgstr "" -#: models.py:2572 +#: models.py:2579 msgid "Can add own Person" msgstr "" -#: models.py:2573 +#: models.py:2580 msgid "Can change own Person" msgstr "" -#: models.py:2574 +#: models.py:2581 msgid "Can delete own Person" msgstr "" -#: models.py:2752 +#: models.py:2759 msgid "Advanced shortcut menu" msgstr "" -#: models.py:2755 +#: models.py:2762 msgid "Ishtar user" msgstr "" -#: models.py:2756 +#: models.py:2763 msgid "Ishtar users" msgstr "" -#: models.py:2798 +#: models.py:2805 msgid "To modify the password use the form in Auth > User" msgstr "" -#: models.py:2804 +#: models.py:2811 msgid "Author types" msgstr "" -#: models.py:2837 +#: models.py:2844 msgid "Source types" msgstr "" -#: models.py:2846 +#: models.py:2853 msgid "Support types" msgstr "" -#: models.py:2853 +#: models.py:2860 msgid "Format type" msgstr "" -#: models.py:2854 +#: models.py:2861 msgid "Format types" msgstr "" -#: models.py:2862 +#: models.py:2869 msgid "External ID" msgstr "" -#: models.py:2865 +#: models.py:2872 msgid "Support" msgstr "" -#: models.py:2869 +#: models.py:2876 msgid "Scale" msgstr "" -#: models.py:2883 +#: models.py:2890 msgid "Item number" msgstr "" -#: models.py:2884 +#: models.py:2891 msgid "Ref." msgstr "" -#: models.py:2887 +#: models.py:2894 msgid "Internal ref." msgstr "" -#: models.py:2930 +#: models.py:2937 msgid "Surface (m2)" msgstr "" -#: models.py:2931 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107 +#: models.py:2938 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107 msgid "Localisation" msgstr "" -#: models.py:2956 +#: models.py:2963 msgid "Is preventive" msgstr "" -#: models.py:2960 +#: models.py:2967 msgid "Operation types" msgstr "" -#: models.py:2989 +#: models.py:2996 msgid "Preventive" msgstr "" -#: models.py:2990 +#: models.py:2997 msgid "Research" msgstr "" -#: models.py:3013 +#: models.py:3020 msgid "Authority name" msgstr "" -#: models.py:3014 +#: models.py:3021 msgid "Authority SRID" msgstr "" -#: models.py:3018 +#: models.py:3025 msgid "Spatial reference systems" msgstr "" @@ -1503,6 +1502,10 @@ msgstr "" msgid "Archaeological file" msgstr "" +#: views.py:241 +msgid "Operation" +msgstr "" + #: views.py:243 msgid "Context record" msgstr "" @@ -1528,10 +1531,18 @@ msgstr "" msgid "New %s" msgstr "" +#: views.py:1365 views.py:1415 +msgid "Archaeological files" +msgstr "" + #: views.py:1366 views.py:1419 msgid "Operations" msgstr "" +#: views.py:1368 views.py:1423 +msgid "Context records" +msgstr "" + #: views.py:1370 views.py:1426 msgid "Finds" msgstr "" diff --git a/translations/fr/archaeological_context_records.po b/translations/fr/archaeological_context_records.po index f25806fc8..14630452c 100644 --- a/translations/fr/archaeological_context_records.po +++ b/translations/fr/archaeological_context_records.po @@ -6,13 +6,15 @@ # Valérie-Emma Leroux , 2017. #zanata msgid "" msgstr "" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-06 15:19+0100\n" "PO-Revision-Date: 2017-02-05 05:22-0500\n" "Last-Translator: Copied by Zanata \n" "Language-Team: \n" "Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n>1;\n" "X-Generator: Zanata 3.9.6\n" diff --git a/translations/fr/archaeological_files.po b/translations/fr/archaeological_files.po index 17b2d6784..e18c404d8 100644 --- a/translations/fr/archaeological_files.po +++ b/translations/fr/archaeological_files.po @@ -8,13 +8,15 @@ # Valérie-Emma Leroux , 2017. #zanata msgid "" msgstr "" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-06 15:19+0100\n" "PO-Revision-Date: 2017-02-05 05:21-0500\n" "Last-Translator: Valérie-Emma Leroux \n" "Language-Team: \n" "Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n>1;\n" "X-Generator: Zanata 3.9.6\n" diff --git a/translations/fr/archaeological_files_pdl.po b/translations/fr/archaeological_files_pdl.po index 949555adc..c22b0cd4d 100644 --- a/translations/fr/archaeological_files_pdl.po +++ b/translations/fr/archaeological_files_pdl.po @@ -5,13 +5,15 @@ # Valérie-Emma Leroux , 2016. #zanata msgid "" msgstr "" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-06 15:19+0100\n" "PO-Revision-Date: 2016-11-14 05:33-0500\n" "Last-Translator: Copied by Zanata \n" "Language-Team: \n" "Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" "X-Generator: Zanata 3.9.6\n" diff --git a/translations/fr/archaeological_finds.po b/translations/fr/archaeological_finds.po index 609ad25c3..174b6175b 100644 --- a/translations/fr/archaeological_finds.po +++ b/translations/fr/archaeological_finds.po @@ -6,13 +6,15 @@ # Valérie-Emma Leroux , 2017. #zanata msgid "" msgstr "" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-06 15:19+0100\n" "PO-Revision-Date: 2017-02-05 05:22-0500\n" "Last-Translator: Valérie-Emma Leroux \n" "Language-Team: \n" "Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n>1;\n" "X-Generator: Zanata 3.9.6\n" @@ -188,15 +190,13 @@ msgstr "" "ratio est conservé).

" #: forms.py:278 -msgid "" -"You should at least provide X, Y and the spatial reference system used." +msgid "You should at least provide X, Y and the spatial reference system used." msgstr "" "Vous devez au minimum fournir X, Y et le système de référence spatiale " "utilisé." #: forms.py:287 -msgid "" -"Coordinates are not relevant for the spatial reference system used: {}." +msgid "Coordinates are not relevant for the spatial reference system used: {}." msgstr "" "Les coordonnées ne sont pas pertinentes pour le système de référence " "spatiale utilisé : {}." diff --git a/translations/fr/archaeological_operations.po b/translations/fr/archaeological_operations.po index 6c89beaed..92d63bd83 100644 --- a/translations/fr/archaeological_operations.po +++ b/translations/fr/archaeological_operations.po @@ -8,13 +8,15 @@ # Valérie-Emma Leroux , 2017. #zanata msgid "" msgstr "" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-06 15:19+0100\n" "PO-Revision-Date: 2017-02-05 05:23-0500\n" "Last-Translator: Valérie-Emma Leroux \n" "Language-Team: \n" "Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n>1;\n" "X-Generator: Zanata 3.9.6\n" @@ -390,8 +392,7 @@ msgstr "" #: forms.py:891 msgid "The excavation end date cannot be before the start date." -msgstr "" -"La date de fin de chantier ne peut être antérieure à la date de début." +msgstr "La date de fin de chantier ne peut être antérieure à la date de début." #: forms.py:919 #, python-format diff --git a/translations/fr/archaeological_warehouse.po b/translations/fr/archaeological_warehouse.po index e7bdbe6f6..b1c515c27 100644 --- a/translations/fr/archaeological_warehouse.po +++ b/translations/fr/archaeological_warehouse.po @@ -6,13 +6,15 @@ # Valérie-Emma Leroux , 2017. #zanata msgid "" msgstr "" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-06 15:19+0100\n" "PO-Revision-Date: 2017-02-04 08:26-0500\n" "Last-Translator: Copied by Zanata \n" "Language-Team: \n" "Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n>1;\n" "X-Generator: Zanata 3.9.6\n" diff --git a/translations/fr/ishtar_common.po b/translations/fr/ishtar_common.po index f3c3662ca..1c478281a 100644 --- a/translations/fr/ishtar_common.po +++ b/translations/fr/ishtar_common.po @@ -8,13 +8,15 @@ # Valérie-Emma Leroux , 2017. #zanata msgid "" msgstr "" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-06 15:19+0100\n" "PO-Revision-Date: 2017-02-05 05:23-0500\n" "Last-Translator: Valérie-Emma Leroux \n" "Language-Team: \n" "Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n>1;\n" "X-Generator: Zanata 3.9.6\n" @@ -34,54 +36,54 @@ msgstr "Élément associé" msgid "Export selected as CSV file" msgstr "Exporter la sélection en fichier CSV" -#: data_importer.py:182 +#: data_importer.py:183 #, python-format msgid "\"%(value)s\" is too long. The max length is %(length)d characters." msgstr "" "\"%(value)s\" est trop long. La longueur maximum est de %(length)d " "caractères." -#: data_importer.py:199 +#: data_importer.py:200 #, python-format msgid "\"%(value)s\" not equal to yes or no" msgstr "\"%(value)s\" diffère de oui ou non" -#: data_importer.py:211 +#: data_importer.py:212 #, python-format msgid "\"%(value)s\" is not a float" msgstr "\"%(value)s\" n'est pas un nombre à virgule" -#: data_importer.py:224 data_importer.py:238 data_importer.py:482 +#: data_importer.py:225 data_importer.py:239 data_importer.py:483 #, python-format msgid "\"%(value)s\" is not a valid date" msgstr "\"%(value)s\" n'est pas une date valide" -#: data_importer.py:251 +#: data_importer.py:252 #, python-format msgid "\"%(value)s\" is not an integer" msgstr "\"%(value)s\" n'est pas un entier" -#: data_importer.py:302 data_importer.py:545 +#: data_importer.py:303 data_importer.py:546 #, python-format msgid "Choice for \"%s\" is not available. Which one is relevant?\n" msgstr "Le choix pour \"%s\" n'est pas disponible. Lequel est pertinent ?\n" -#: data_importer.py:309 +#: data_importer.py:310 #, python-format msgid "%d. None of the above - create new" msgstr "%d. Aucun de ceux-là - créer un nouveau" -#: data_importer.py:312 +#: data_importer.py:313 #, python-format msgid "%d. None of the above - skip" msgstr "%d. Aucun de ceux-là - passer" -#: data_importer.py:508 +#: data_importer.py:509 #, python-format msgid "\"%(value)s\" is not a valid path for the given archive" msgstr "\"%(value)s\" n'est pas un chemin valide pour cette archive" -#: data_importer.py:620 +#: data_importer.py:623 msgid "" "The given file is not correct. Check the file format. If you use a CSV file: " "check that column separator and encoding are similar to the ones used by the " @@ -91,57 +93,69 @@ msgstr "" "utilisez un fichier CSV : vérifiez que le séparateur de colonnes et " "l'encodage sont similaires à ceux du fichier de référence." -#: data_importer.py:624 +#: data_importer.py:627 #, python-format msgid "Too many cols (%(user_col)d) when maximum is %(ref_col)d" msgstr "Trop de colonnes (%(user_col)d). Le maximum est %(ref_col)d" -#: data_importer.py:626 +#: data_importer.py:629 msgid "No data provided" msgstr "Aucune donnée fournie" -#: data_importer.py:627 +#: data_importer.py:630 msgid "Value is required" msgstr "Valeur requise" -#: data_importer.py:628 +#: data_importer.py:631 #, python-format msgid "At least %d columns must be filled" msgstr "Au moins %d colonnes doivent être remplies" -#: data_importer.py:629 +#: data_importer.py:632 msgid "The regexp doesn't match." msgstr "L'expression régulière ne fonctionne pas." -#: data_importer.py:1037 +#: data_importer.py:634 +msgid "" +"Force creation is set for model {} but this model is not in the list of " +"model allowed to be created." +msgstr "" + +#: data_importer.py:636 +msgid "" +"{} with values {} doesn't exist in the database. Create it first or fix your " +"source file" +msgstr "" + +#: data_importer.py:1089 msgid "Not imported" msgstr "Non importé" -#: data_importer.py:1444 +#: data_importer.py:1522 msgid "line" msgstr "ligne" -#: data_importer.py:1444 +#: data_importer.py:1522 msgid "col" msgstr "colonne" -#: data_importer.py:1444 +#: data_importer.py:1522 msgid "error" msgstr "erreur" -#: data_importer.py:1450 +#: data_importer.py:1528 msgid "field" msgstr "champ" -#: data_importer.py:1450 +#: data_importer.py:1528 msgid "source" msgstr "source" -#: data_importer.py:1450 +#: data_importer.py:1528 msgid "result" msgstr "résultat" -#: data_importer.py:1466 +#: data_importer.py:1544 #, python-format msgid "\"%(value)s\" not in %(values)s" msgstr "\"%(value)s\" n'est pas dans %(values)s" @@ -174,12 +188,12 @@ msgstr "Vous devez sélectionner un élément." msgid "Add a new item" msgstr "Ajouter un nouvel élément" -#: forms.py:262 models.py:1473 +#: forms.py:262 models.py:1475 msgid "Template" msgstr "Patron" #: forms_common.py:41 forms_common.py:59 forms_common.py:182 -#: forms_common.py:406 models.py:1539 models.py:2943 +#: forms_common.py:406 models.py:1541 models.py:2950 #: templates/blocks/JQueryAdvancedTown.html:19 #: templates/ishtar/sheet_organization.html:13 msgid "Town" @@ -202,9 +216,8 @@ msgstr "" "

Par exemple tapez « saint denis 93 » pour obtenir la " "commune Saint-Denis dans le département français de Seine-Saint-Denis.

" -#: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:1712 -#: models.py:2567 models.py:2749 models.py:2811 -#: templates/ishtar/sheet_person.html:4 +#: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:2574 +#: models.py:2756 models.py:2818 templates/ishtar/sheet_person.html:4 msgid "Person" msgstr "Personne" @@ -217,63 +230,63 @@ msgstr "" "pas possible." #: forms_common.py:170 forms_common.py:327 forms_common.py:451 -#: ishtar_menu.py:75 models.py:1713 models.py:2450 models.py:2541 +#: ishtar_menu.py:75 models.py:2457 models.py:2548 #: templates/ishtar/sheet_organization.html:4 msgid "Organization" msgstr "Organisation" #: forms_common.py:173 forms_common.py:210 forms_common.py:322 -#: forms_common.py:376 forms_common.py:446 models.py:1094 models.py:1472 -#: models.py:1758 models.py:1977 models.py:2444 models.py:2553 models.py:2929 -#: templates/ishtar/sheet_organization.html:8 +#: forms_common.py:376 forms_common.py:446 models.py:1096 models.py:1474 +#: models.py:1742 models.py:1758 models.py:1984 models.py:2451 models.py:2560 +#: models.py:2936 templates/ishtar/sheet_organization.html:8 #: templates/ishtar/sheet_organization.html:21 msgid "Name" msgstr "Nom" -#: forms_common.py:174 models.py:1694 models.py:2108 +#: forms_common.py:174 models.py:1696 models.py:2115 msgid "Organization type" msgstr "Type d'organisation" -#: forms_common.py:176 forms_common.py:400 models.py:1534 +#: forms_common.py:176 forms_common.py:400 models.py:1536 #: templates/ishtar/sheet_organization.html:10 msgid "Address" msgstr "Adresse" -#: forms_common.py:178 forms_common.py:403 models.py:1535 +#: forms_common.py:178 forms_common.py:403 models.py:1537 #: templates/ishtar/sheet_organization.html:11 msgid "Address complement" msgstr "Complément d'adresse" -#: forms_common.py:180 forms_common.py:404 models.py:1537 +#: forms_common.py:180 forms_common.py:404 models.py:1539 #: templates/ishtar/sheet_organization.html:12 msgid "Postal code" msgstr "Code postal" -#: forms_common.py:183 forms_common.py:407 models.py:1540 +#: forms_common.py:183 forms_common.py:407 models.py:1542 msgid "Country" msgstr "Pays" #: forms_common.py:185 forms_common.py:324 forms_common.py:380 -#: forms_common.py:448 forms_common.py:572 models.py:1567 +#: forms_common.py:448 forms_common.py:572 models.py:1569 msgid "Email" msgstr "Courriel" -#: forms_common.py:186 forms_common.py:383 models.py:1552 +#: forms_common.py:186 forms_common.py:383 models.py:1554 #: templates/ishtar/sheet_organization.html:14 #: templates/ishtar/sheet_person.html:19 #: templates/ishtar/wizard/wizard_person.html:17 msgid "Phone" msgstr "Téléphone" -#: forms_common.py:187 forms_common.py:392 models.py:1564 +#: forms_common.py:187 forms_common.py:392 models.py:1566 #: templates/ishtar/sheet_organization.html:15 #: templates/ishtar/sheet_person.html:37 #: templates/ishtar/wizard/wizard_person.html:35 msgid "Mobile phone" msgstr "Téléphone portable" -#: forms_common.py:211 forms_common.py:325 forms_common.py:449 models.py:2144 -#: models.py:2446 models.py:2864 templates/sheet_ope.html:85 +#: forms_common.py:211 forms_common.py:325 forms_common.py:449 models.py:2151 +#: models.py:2453 models.py:2871 templates/sheet_ope.html:85 #: templates/sheet_ope.html.py:105 templates/sheet_ope.html:126 #: templates/ishtar/import_list.html:13 #: templates/ishtar/sheet_organization.html:23 @@ -297,7 +310,7 @@ msgstr "Fusionner tous les éléments dans" msgid "Organization to merge" msgstr "Organisation à fusionner" -#: forms_common.py:323 forms_common.py:374 forms_common.py:447 models.py:2551 +#: forms_common.py:323 forms_common.py:374 forms_common.py:447 models.py:2558 #: templates/ishtar/sheet_organization.html:22 msgid "Surname" msgstr "Prénom" @@ -315,25 +328,25 @@ msgstr "Personne à fusionner" msgid "Identity" msgstr "Identité" -#: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:2109 -#: models.py:2545 models.py:2547 models.py:2861 templates/sheet_ope.html:104 +#: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:2116 +#: models.py:2552 models.py:2554 models.py:2868 templates/sheet_ope.html:104 #: templates/ishtar/blocks/window_tables/documents.html:7 msgid "Title" msgstr "Titre" -#: forms_common.py:372 models.py:2549 +#: forms_common.py:372 models.py:2556 msgid "Salutation" msgstr "Formule d'appel" -#: forms_common.py:378 models.py:2555 +#: forms_common.py:378 models.py:2562 msgid "Raw name" msgstr "Nom brut" -#: forms_common.py:381 models.py:1553 +#: forms_common.py:381 models.py:1555 msgid "Phone description" msgstr "Type de téléphone" -#: forms_common.py:384 models.py:1555 models.py:1557 +#: forms_common.py:384 models.py:1557 models.py:1559 msgid "Phone description 2" msgstr "Type de téléphone 2" @@ -341,11 +354,11 @@ msgstr "Type de téléphone 2" msgid "Phone 2" msgstr "Téléphone 2" -#: forms_common.py:388 models.py:1561 +#: forms_common.py:388 models.py:1563 msgid "Phone description 3" msgstr "Type de téléphone 3" -#: forms_common.py:390 models.py:1559 +#: forms_common.py:390 models.py:1561 msgid "Phone 3" msgstr "Téléphone 3" @@ -353,23 +366,23 @@ msgstr "Téléphone 3" msgid "Current organization" msgstr "Organisation actuelle" -#: forms_common.py:409 models.py:1542 +#: forms_common.py:409 models.py:1544 msgid "Other address: address" msgstr "Autre adresse : adresse" -#: forms_common.py:412 models.py:1545 +#: forms_common.py:412 models.py:1547 msgid "Other address: address complement" msgstr "Autre adresse : complément d'adresse" -#: forms_common.py:414 models.py:1546 +#: forms_common.py:414 models.py:1548 msgid "Other address: postal code" msgstr "Autre adresse : code postal" -#: forms_common.py:416 models.py:1548 +#: forms_common.py:416 models.py:1550 msgid "Other address: town" msgstr "Autre adresse : ville" -#: forms_common.py:418 models.py:1550 +#: forms_common.py:418 models.py:1552 msgid "Other address: country" msgstr "Autre adresse : pays" @@ -385,7 +398,7 @@ msgstr "Nom d'utilisateur" msgid "Account search" msgstr "Rechercher un compte" -#: forms_common.py:510 forms_common.py:550 forms_common.py:554 models.py:2498 +#: forms_common.py:510 forms_common.py:550 forms_common.py:554 models.py:2505 msgid "Person type" msgstr "Type de personne" @@ -417,7 +430,7 @@ msgstr "Ce nom d'utilisateur existe déjà." msgid "Send the new password by email?" msgstr "Envoyer le nouveau mot de passe par courriel ?" -#: forms_common.py:628 forms_common.py:641 models.py:2944 +#: forms_common.py:628 forms_common.py:641 models.py:2951 msgid "Towns" msgstr "Communes" @@ -433,7 +446,7 @@ msgstr "Seul un choix peut être coché." msgid "Documentation informations" msgstr "Information sur le document" -#: forms_common.py:775 forms_common.py:823 models.py:2110 models.py:2836 +#: forms_common.py:775 forms_common.py:823 models.py:2117 models.py:2843 msgid "Source type" msgstr "Type de document" @@ -445,37 +458,37 @@ msgstr "Référence" msgid "Internal reference" msgstr "Référence interne" -#: forms_common.py:783 models.py:2875 +#: forms_common.py:783 models.py:2882 msgid "Numerical ressource (web address)" msgstr "Ressource numérique (adresse web)" -#: forms_common.py:784 models.py:2877 +#: forms_common.py:784 models.py:2884 msgid "Receipt date" msgstr "Date de réception" -#: forms_common.py:786 models.py:2273 models.py:2879 +#: forms_common.py:786 models.py:2280 models.py:2886 msgid "Creation date" msgstr "Date de création" -#: forms_common.py:789 models.py:2882 +#: forms_common.py:789 models.py:2889 msgid "Receipt date in documentation" msgstr "Date de réception en documentation" -#: forms_common.py:791 forms_common.py:827 models.py:376 models.py:687 -#: models.py:2004 models.py:2559 models.py:2889 +#: forms_common.py:791 forms_common.py:827 models.py:377 models.py:689 +#: models.py:2011 models.py:2566 models.py:2896 msgid "Comment" msgstr "Commentaire" -#: forms_common.py:793 forms_common.py:826 models.py:1096 models.py:1762 -#: models.py:1936 models.py:1978 models.py:2888 templates/sheet_ope.html:128 +#: forms_common.py:793 forms_common.py:826 models.py:1098 models.py:1762 +#: models.py:1943 models.py:1985 models.py:2895 templates/sheet_ope.html:128 msgid "Description" msgstr "Description" -#: forms_common.py:796 models.py:2890 +#: forms_common.py:796 models.py:2897 msgid "Additional information" msgstr "Information supplémentaire" -#: forms_common.py:798 forms_common.py:830 models.py:2892 +#: forms_common.py:798 forms_common.py:830 models.py:2899 msgid "Has a duplicate" msgstr "Existe en doublon" @@ -492,7 +505,7 @@ msgstr "" "

Les images trop grandes sont retaillées en : %(width)dx%(height)d (le " "ratio est conservé).

" -#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2816 +#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2823 #: templates/ishtar/wizard/wizard_person_deletion.html:124 msgid "Author" msgstr "Auteur" @@ -505,7 +518,7 @@ msgstr "Informations supplémentaires" msgid "Would you like to delete this documentation?" msgstr "Voulez-vous supprimer ce document ?" -#: forms_common.py:856 models.py:2111 models.py:2803 models.py:2813 +#: forms_common.py:856 models.py:2118 models.py:2810 models.py:2820 msgid "Author type" msgstr "Type d'auteur" @@ -517,7 +530,7 @@ msgstr "Sélection d'auteur" msgid "There are identical authors." msgstr "Il y a des auteurs identiques." -#: forms_common.py:893 models.py:2817 models.py:2871 +#: forms_common.py:893 models.py:2824 models.py:2878 #: templates/sheet_ope.html:106 #: templates/ishtar/blocks/window_tables/documents.html:9 msgid "Authors" @@ -535,7 +548,7 @@ msgstr "Ajout/modification" msgid "Deletion" msgstr "Suppression" -#: ishtar_menu.py:39 models.py:1268 views.py:1549 +#: ishtar_menu.py:39 models.py:1270 views.py:1549 msgid "Global variables" msgstr "Variables globales" @@ -563,7 +576,7 @@ msgstr "Fusion automatique" msgid "Manual merge" msgstr "Fusion manuelle" -#: ishtar_menu.py:109 models.py:2284 +#: ishtar_menu.py:109 models.py:2291 msgid "Imports" msgstr "Imports" @@ -579,131 +592,131 @@ msgstr "Imports en cours" msgid "Old imports" msgstr "Anciens imports" -#: models.py:183 +#: models.py:184 msgid "Not a valid item." msgstr "Élément invalide." -#: models.py:196 +#: models.py:197 msgid "A selected item is not a valid item." msgstr "Un élément sélectionné n'est pas valide." -#: models.py:207 +#: models.py:208 msgid "This item already exists." msgstr "Cet élément existe déjà." -#: models.py:372 models.py:686 models.py:1507 models.py:1519 models.py:1933 +#: models.py:373 models.py:688 models.py:1509 models.py:1521 models.py:1940 msgid "Label" msgstr "Libellé" -#: models.py:374 +#: models.py:375 msgid "Textual ID" msgstr "Identifiant textuel" -#: models.py:377 models.py:689 models.py:1476 +#: models.py:378 models.py:691 models.py:1478 msgid "Available" msgstr "Disponible" -#: models.py:713 models.py:2050 +#: models.py:715 models.py:2057 msgid "Key" msgstr "Clé" -#: models.py:719 +#: models.py:721 msgid "Specific key to an import" msgstr "Clé spécifique à un import" -#: models.py:811 +#: models.py:813 msgid "Last editor" msgstr "Dernier éditeur" -#: models.py:814 +#: models.py:816 msgid "Creator" msgstr "Créateur" -#: models.py:956 models.py:2955 models.py:3011 +#: models.py:958 models.py:2962 models.py:3018 msgid "Order" msgstr "Ordre" -#: models.py:957 +#: models.py:959 msgid "Symmetrical" msgstr "Symétrique" -#: models.py:958 +#: models.py:960 msgid "Tiny label" msgstr "Libellé court" -#: models.py:972 +#: models.py:974 msgid "Cannot have symmetrical and an inverse_relation" msgstr "Ne peut pas être symétrique et avoir une relation inverse" -#: models.py:1088 +#: models.py:1090 msgid "Euro" msgstr "Euro" -#: models.py:1089 +#: models.py:1091 msgid "US dollar" msgstr "Dollar US" -#: models.py:1095 models.py:1760 +#: models.py:1097 models.py:1760 msgid "Slug" msgstr "Identifiant texte" -#: models.py:1098 +#: models.py:1100 msgid "CSS color code for base module" msgstr "Code couleur CSS pour le tronc commun" -#: models.py:1100 +#: models.py:1102 msgid "Files module" msgstr "Module Dossiers" -#: models.py:1102 +#: models.py:1104 msgid "CSS color code for files module" msgstr "Code couleur CSS pour le module Dossier" -#: models.py:1104 +#: models.py:1106 msgid "Context records module" msgstr "Module Unités d'Enregistrement" -#: models.py:1107 +#: models.py:1109 msgid "CSS color code for context record module" msgstr "Code couleur CSS pour le module Unité d'Enregistrement" -#: models.py:1109 +#: models.py:1111 msgid "Finds module" msgstr "Module Mobilier" -#: models.py:1110 +#: models.py:1112 msgid "Need context records module" msgstr "Nécessite le module Unités d'Enregistrement" -#: models.py:1112 +#: models.py:1114 msgid "CSS color code for find module" msgstr "Code couleur CSS pour le module Mobilier" -#: models.py:1115 +#: models.py:1117 msgid "Warehouses module" msgstr "Module Dépôts" -#: models.py:1116 +#: models.py:1118 msgid "Need finds module" msgstr "Nécessite le module mobilier" -#: models.py:1118 +#: models.py:1120 msgid "CSS code for warehouse module" msgstr "Code couleur CSS pour le module Dépôt" -#: models.py:1120 +#: models.py:1122 msgid "Mapping module" msgstr "Module cartographique" -#: models.py:1122 +#: models.py:1124 msgid "CSS code for mapping module" msgstr "Code couleur CSS pour le module cartographique" -#: models.py:1125 +#: models.py:1127 msgid "Home page" msgstr "Page d'accueil" -#: models.py:1126 +#: models.py:1128 #, python-brace-format msgid "" "Homepage of Ishtar - if not defined a default homepage will appear. Use the " @@ -713,11 +726,11 @@ msgstr "" "défaut apparaît. Utiliser la syntaxe Markdown. {random_image} peut être " "utilisé pour afficher une image au hasard." -#: models.py:1130 +#: models.py:1132 msgid "File external id" msgstr "Identifiant externe de fichier" -#: models.py:1132 +#: models.py:1134 msgid "" "Formula to manage file external ID. Change this with care. With incorrect " "formula, the application might be unusable and import of external data can " @@ -727,11 +740,11 @@ msgstr "" "précaution. Une formule incorrecte peut rendre l'application inutilisable et " "l'import de données externes peut alors être destructif." -#: models.py:1137 +#: models.py:1139 msgid "Parcel external id" msgstr "Identifiant externe de parcelle" -#: models.py:1140 +#: models.py:1142 msgid "" "Formula to manage parcel external ID. Change this with care. With incorrect " "formula, the application might be unusable and import of external data can " @@ -741,11 +754,11 @@ msgstr "" "précaution. Une formule incorrecte peut rendre l'application inutilisable et " "l'import de données externes peut alors être destructif." -#: models.py:1145 +#: models.py:1147 msgid "Context record external id" msgstr "Identifiant externe d'unité d'enregistrement" -#: models.py:1147 +#: models.py:1149 msgid "" "Formula to manage context record external ID. Change this with care. With " "incorrect formula, the application might be unusable and import of external " @@ -755,11 +768,11 @@ msgstr "" "manipuler avec précaution. Une formule incorrecte peut rendre l'application " "inutilisable et l'import de données externes peut alors être destructif." -#: models.py:1152 +#: models.py:1154 msgid "Base find external id" msgstr "Identifiant externe de mobilier de base" -#: models.py:1154 +#: models.py:1156 msgid "" "Formula to manage base find external ID. Change this with care. With " "incorrect formula, the application might be unusable and import of external " @@ -769,11 +782,11 @@ msgstr "" "manipuler avec précaution. Une formule incorrecte peut rendre l'application " "inutilisable et l'import de données externes peut alors être destructif." -#: models.py:1159 +#: models.py:1161 msgid "Find external id" msgstr "Identifiant externe de mobilier" -#: models.py:1161 +#: models.py:1163 msgid "" "Formula to manage find external ID. Change this with care. With incorrect " "formula, the application might be unusable and import of external data can " @@ -783,11 +796,11 @@ msgstr "" "précaution. Une formule incorrecte peut rendre l'application inutilisable et " "l'import de données externes peut alors être destructif." -#: models.py:1166 +#: models.py:1168 msgid "Container external id" msgstr "ID externe du contenant" -#: models.py:1168 +#: models.py:1170 msgid "" "Formula to manage container external ID. Change this with care. With " "incorrect formula, the application might be unusable and import of external " @@ -797,11 +810,11 @@ msgstr "" "précaution. Une formule incorrecte peut rendre l'application inutilisable et " "l'import de données externes peut alors être destructif." -#: models.py:1173 +#: models.py:1175 msgid "Warehouse external id" msgstr "ID externe du dépôt" -#: models.py:1175 +#: models.py:1177 msgid "" "Formula to manage warehouse external ID. Change this with care. With " "incorrect formula, the application might be unusable and import of external " @@ -811,11 +824,11 @@ msgstr "" "précaution. Une formule incorrecte peut rendre l'application inutilisable et " "l'import de données externes peut alors être destructif." -#: models.py:1180 +#: models.py:1182 msgid "Raw name for person" msgstr "Nom brut pour une personne" -#: models.py:1182 +#: models.py:1184 msgid "" "Formula to manage person raw_name. Change this with care. With incorrect " "formula, the application might be unusable and import of external data can " @@ -825,43 +838,43 @@ msgstr "" "Une formule incorrecte peut rendre l'application inutilisable et l'import de " "données externes peut alors être destructif." -#: models.py:1186 +#: models.py:1188 msgid "Current active" msgstr "Actuellement utilisé" -#: models.py:1187 +#: models.py:1189 msgid "Currency" msgstr "Devise" -#: models.py:1191 +#: models.py:1193 msgid "Ishtar site profile" msgstr "Profil d'instance Ishtar" -#: models.py:1192 +#: models.py:1194 msgid "Ishtar site profiles" msgstr "Profils d'instance Ishtar" -#: models.py:1261 +#: models.py:1263 msgid "Variable name" msgstr "Nom de la variable" -#: models.py:1262 +#: models.py:1264 msgid "Description of the variable" msgstr "Description de la variable" -#: models.py:1264 models.py:2051 +#: models.py:1266 models.py:2058 msgid "Value" msgstr "Valeur" -#: models.py:1267 +#: models.py:1269 msgid "Global variable" msgstr "Variable globale" -#: models.py:1377 models.py:1407 +#: models.py:1379 models.py:1409 msgid "Total" msgstr "Total" -#: models.py:1384 models.py:1508 models.py:1520 +#: models.py:1386 models.py:1510 models.py:1522 #: templates/ishtar/sheet_person.html:22 #: templates/ishtar/dashboards/dashboard_main_detail.html:141 #: templates/ishtar/dashboards/dashboard_main_detail_users.html:26 @@ -869,647 +882,638 @@ msgstr "Total" msgid "Number" msgstr "Nombre" -#: models.py:1471 +#: models.py:1473 msgid "Administrative Act" msgstr "Acte administratif" -#: models.py:1475 +#: models.py:1477 msgid "Associated object" msgstr "Objet associé" -#: models.py:1479 +#: models.py:1481 msgid "Document template" msgstr "Patron de document" -#: models.py:1480 +#: models.py:1482 msgid "Document templates" msgstr "Patrons de document" -#: models.py:1511 models.py:1521 models.py:2268 +#: models.py:1513 models.py:1523 models.py:2275 msgid "State" msgstr "État" -#: models.py:1525 templates/blocks/JQueryAdvancedTown.html:12 +#: models.py:1527 templates/blocks/JQueryAdvancedTown.html:12 msgid "Department" msgstr "Département" -#: models.py:1526 +#: models.py:1528 msgid "Departments" msgstr "Départements" -#: models.py:1563 +#: models.py:1565 msgid "Raw phone" msgstr "Téléphone brut" -#: models.py:1569 +#: models.py:1571 msgid "Alternative address is prefered" msgstr "L'adresse alternative est préférée" -#: models.py:1608 +#: models.py:1610 msgid "Tel: " msgstr "Tél :" -#: models.py:1612 +#: models.py:1614 msgid "Mobile: " msgstr "Mobile :" -#: models.py:1616 +#: models.py:1618 msgid "Email: " msgstr "Courriel :" -#: models.py:1621 +#: models.py:1623 msgid "Merge key" msgstr "Clé de fusion" -#: models.py:1695 +#: models.py:1697 msgid "Organization types" msgstr "Types d'organisation" -#: models.py:1714 views.py:241 -msgid "Operation" -msgstr "Opération" - -#: models.py:1716 -msgid "Archaeological site" -msgstr "Entité Archéologique" - -#: models.py:1717 -msgid "Parcels" -msgstr "Parcelles" - -#: models.py:1719 -msgid "Operation source" -msgstr "Documentation de l'opération" - -#: models.py:1722 views.py:1365 views.py:1415 -msgid "Archaeological files" -msgstr "Dossiers" - -#: models.py:1724 views.py:1368 views.py:1423 -msgid "Context records" -msgstr "Unités d'Enregistrement" +#: models.py:1743 +#, fuzzy +msgid "Class name" +msgstr "Nom brut" -#: models.py:1726 -msgid "Context record relations" -msgstr "Relations entre Unités d'Enregistrement" +#: models.py:1746 +#, fuzzy +msgid "Importer - Model" +msgstr "Importeur - Colonne" -#: models.py:1728 -msgid "Base finds" -msgstr "Mobilier de base" +#: models.py:1747 +#, fuzzy +msgid "Importer - Models" +msgstr "Importeur - Colonnes" #: models.py:1764 templates/ishtar/dashboards/dashboard_main.html:25 msgid "Users" msgstr "Utilisateurs" -#: models.py:1766 +#: models.py:1767 msgid "Associated model" msgstr "Modèle associé" -#: models.py:1769 +#: models.py:1770 +msgid "Models that can accept new items" +msgstr "" + +#: models.py:1771 +msgid "Leave blank for no restrictions" +msgstr "" + +#: models.py:1773 msgid "Is template" msgstr "Est un patron" -#: models.py:1770 +#: models.py:1774 msgid "Unicity keys (separator \";\")" msgstr "Clés d'unicité (séparateur « ; »)" -#: models.py:1774 +#: models.py:1778 msgid "Importer - Type" msgstr "Importeur - Type" -#: models.py:1775 +#: models.py:1779 msgid "Importer - Types" msgstr "Importeur - Types" -#: models.py:1865 +#: models.py:1872 msgid "Importer - Default" msgstr "Importeur - Par défaut" -#: models.py:1866 +#: models.py:1873 msgid "Importer - Defaults" msgstr "Importeur - Par défaut" -#: models.py:1901 +#: models.py:1908 msgid "Importer - Default value" msgstr "Importeur - Valeur par défaut" -#: models.py:1902 +#: models.py:1909 msgid "Importer - Default values" msgstr "Importeur - Valeurs par défaut" -#: models.py:1935 +#: models.py:1942 msgid "Column number" msgstr "Numéro de colonne" -#: models.py:1938 +#: models.py:1945 msgid "Required" msgstr "Requis" -#: models.py:1941 +#: models.py:1948 msgid "Importer - Column" msgstr "Importeur - Colonne" -#: models.py:1942 +#: models.py:1949 msgid "Importer - Columns" msgstr "Importeur - Colonnes" -#: models.py:1962 +#: models.py:1969 msgid "Field name" msgstr "Nom du champ" -#: models.py:1964 models.py:1998 +#: models.py:1971 models.py:2005 msgid "Force creation of new items" msgstr "Forcer la création de nouveaux éléments" -#: models.py:1966 models.py:2000 +#: models.py:1973 models.py:2007 msgid "Concatenate with existing" msgstr "Concaténer avec l'existant" -#: models.py:1968 models.py:2002 +#: models.py:1975 models.py:2009 msgid "Concatenate character" msgstr "Caractère de concaténation" -#: models.py:1972 +#: models.py:1979 msgid "Importer - Duplicate field" msgstr "Importeur - Champ dupliqué" -#: models.py:1973 +#: models.py:1980 msgid "Importer - Duplicate fields" msgstr "Importeur - Champs dupliqués" -#: models.py:1980 +#: models.py:1987 msgid "Regular expression" msgstr "Expression régulière" -#: models.py:1983 +#: models.py:1990 msgid "Importer - Regular expression" msgstr "Importeur - Expression régulière" -#: models.py:1984 +#: models.py:1991 msgid "Importer - Regular expressions" msgstr "Importeur - Expressions régulières" -#: models.py:2007 +#: models.py:2014 msgid "Importer - Target" msgstr "Importeur - Cible" -#: models.py:2008 +#: models.py:2015 msgid "Importer - Targets" msgstr "Importeur - Cibles" -#: models.py:2032 views.py:545 +#: models.py:2039 views.py:545 msgid "True" msgstr "Oui" -#: models.py:2033 views.py:547 +#: models.py:2040 views.py:547 msgid "False" msgstr "Non" -#: models.py:2052 +#: models.py:2059 msgid "Is set" msgstr "Est défini" -#: models.py:2059 +#: models.py:2066 msgid "Importer - Target key" msgstr "Importeur - Clé de rapprochement" -#: models.py:2060 +#: models.py:2067 msgid "Importer - Targets keys" msgstr "Importeur - Clés de rapprochement" -#: models.py:2112 models.py:2867 +#: models.py:2119 models.py:2874 msgid "Format" msgstr "Format" -#: models.py:2113 models.py:2959 +#: models.py:2120 models.py:2966 msgid "Operation type" msgstr "Type d'opération" -#: models.py:2114 +#: models.py:2121 msgid "Period" msgstr "Périodes" -#: models.py:2115 +#: models.py:2122 msgid "Report state" msgstr "État de rapport" -#: models.py:2116 +#: models.py:2123 msgid "Remain type" msgstr "Type de vestige" -#: models.py:2117 +#: models.py:2124 msgid "Unit" msgstr "Unité" -#: models.py:2118 +#: models.py:2125 msgid "Activity type" msgstr "Type d'activité" -#: models.py:2119 +#: models.py:2126 msgid "Material" msgstr "Matériau" -#: models.py:2121 +#: models.py:2128 msgid "Conservatory state" msgstr "État de conservation" -#: models.py:2122 +#: models.py:2129 msgid "Container type" msgstr "Type de contenant" -#: models.py:2123 +#: models.py:2130 msgid "Preservation type" msgstr "Type de conservation" -#: models.py:2124 +#: models.py:2131 msgid "Object type" msgstr "Type d'objet" -#: models.py:2125 +#: models.py:2132 msgid "Integrity type" msgstr "Type d'intégrité" -#: models.py:2126 +#: models.py:2133 msgid "Remarkability type" msgstr "Type de remarquabilité" -#: models.py:2127 +#: models.py:2134 msgid "Batch type" msgstr "Type de lot" -#: models.py:2129 +#: models.py:2136 msgid "Identification type" msgstr "Type d'identification" -#: models.py:2131 +#: models.py:2138 msgid "Context record relation type" msgstr "Type de relations entre Unités d'Enregistrement" -#: models.py:2132 models.py:3017 +#: models.py:2139 models.py:3024 msgid "Spatial reference system" msgstr "Système de référence spatiale" -#: models.py:2133 models.py:2845 +#: models.py:2140 models.py:2852 msgid "Support type" msgstr "Type de support" -#: models.py:2134 models.py:2510 +#: models.py:2141 models.py:2517 msgid "Title type" msgstr "Type de titre" -#: models.py:2140 +#: models.py:2147 msgid "Integer" msgstr "Entier" -#: models.py:2141 +#: models.py:2148 msgid "Float" msgstr "Nombre à virgule" -#: models.py:2142 +#: models.py:2149 msgid "String" msgstr "Chaîne de caractères" -#: models.py:2143 templates/sheet_ope.html:86 +#: models.py:2150 templates/sheet_ope.html:86 msgid "Date" msgstr "Date" -#: models.py:2145 templates/sheet_ope.html:61 templates/sheet_ope.html.py:83 +#: models.py:2152 templates/sheet_ope.html:61 templates/sheet_ope.html.py:83 #: templates/ishtar/dashboards/dashboard_main_detail.html:126 msgid "Year" msgstr "Année" -#: models.py:2146 +#: models.py:2153 msgid "String to boolean" msgstr "Chaîne de caractères vers booléen" -#: models.py:2147 +#: models.py:2154 msgctxt "filesystem" msgid "File" msgstr "Fichier" -#: models.py:2148 +#: models.py:2155 msgid "Unknow type" msgstr "Type inconnu" -#: models.py:2164 +#: models.py:2171 msgid "4 digit year. e.g.: \"2015\"" msgstr "Année sur 4 chiffres. Exemple : « 2015 »" -#: models.py:2165 +#: models.py:2172 msgid "4 digit year/month/day. e.g.: \"2015/02/04\"" msgstr "Année sur 4 chiffres/mois/jour. Exemple : « 2015/02/04 »" -#: models.py:2166 +#: models.py:2173 msgid "Day/month/4 digit year. e.g.: \"04/02/2015\"" msgstr "Jour/mois/année sur 4 chiffres. Exemple : « 04/02/2015 »" -#: models.py:2176 +#: models.py:2183 msgid "Options" msgstr "Options" -#: models.py:2178 +#: models.py:2185 msgid "Split character(s)" msgstr "Caractère(s) de séparation" -#: models.py:2182 +#: models.py:2189 msgid "Importer - Formater type" msgstr "Importeur - Type de mise en forme" -#: models.py:2183 +#: models.py:2190 msgid "Importer - Formater types" msgstr "Importeur - Types de mise en forme" -#: models.py:2232 templates/ishtar/dashboards/dashboard_main_detail.html:63 +#: models.py:2239 templates/ishtar/dashboards/dashboard_main_detail.html:63 msgid "Created" msgstr "Créé" -#: models.py:2233 +#: models.py:2240 msgid "Analyse in progress" msgstr "Analyse en cours" -#: models.py:2234 +#: models.py:2241 msgid "Analysed" msgstr "Analysé" -#: models.py:2235 +#: models.py:2242 msgid "Import pending" msgstr "Import en attente" -#: models.py:2236 +#: models.py:2243 msgid "Import in progress" msgstr "Import en cours" -#: models.py:2237 +#: models.py:2244 msgid "Finished with errors" msgstr "Terminé avec des erreurs" -#: models.py:2238 +#: models.py:2245 msgid "Finished" msgstr "Terminé" -#: models.py:2239 +#: models.py:2246 msgid "Archived" msgstr "Archivé" -#: models.py:2252 +#: models.py:2259 msgid "Imported file" msgstr "Fichier importé" -#: models.py:2254 +#: models.py:2261 msgid "Associated images (zip file)" msgstr "Images associées (fichier zip)" -#: models.py:2256 +#: models.py:2263 msgid "Encoding" msgstr "Codage" -#: models.py:2258 +#: models.py:2265 msgid "Skip lines" msgstr "Nombre de lignes d'entête" -#: models.py:2259 templates/ishtar/import_list.html:47 +#: models.py:2266 templates/ishtar/import_list.html:47 msgid "Error file" msgstr "Fichier erreur" -#: models.py:2262 +#: models.py:2269 msgid "Result file" msgstr "Fichier résultant" -#: models.py:2265 templates/ishtar/import_list.html:53 +#: models.py:2272 templates/ishtar/import_list.html:53 msgid "Match file" msgstr "Fichier de correspondance" -#: models.py:2271 +#: models.py:2278 msgid "Conservative import" msgstr "Import conservateur" -#: models.py:2276 +#: models.py:2283 msgid "End date" msgstr "Date de fin" -#: models.py:2278 +#: models.py:2285 msgid "Remaining seconds" msgstr "Secondes restantes" -#: models.py:2283 +#: models.py:2290 msgid "Import" msgstr "Import" -#: models.py:2300 +#: models.py:2307 msgid "Analyse" msgstr "Analyser" -#: models.py:2302 models.py:2305 +#: models.py:2309 models.py:2312 msgid "Re-analyse" msgstr "Analyser de nouveau " -#: models.py:2303 +#: models.py:2310 msgid "Launch import" msgstr "Lancer l'import" -#: models.py:2306 +#: models.py:2313 msgid "Re-import" msgstr "Ré-importer" -#: models.py:2307 +#: models.py:2314 msgid "Archive" msgstr "Archiver" -#: models.py:2309 +#: models.py:2316 msgid "Unarchive" msgstr "Désarchiver" -#: models.py:2310 widgets.py:130 templates/ishtar/form_delete.html:11 +#: models.py:2317 widgets.py:130 templates/ishtar/form_delete.html:11 msgid "Delete" msgstr "Supprimer" -#: models.py:2451 +#: models.py:2458 msgid "Organizations" msgstr "Organisations" -#: models.py:2453 +#: models.py:2460 msgid "Can view all Organizations" msgstr "Peut voir toutes les Organisations" -#: models.py:2454 +#: models.py:2461 msgid "Can view own Organization" msgstr "Peut voir sa propre Organisation" -#: models.py:2455 +#: models.py:2462 msgid "Can add own Organization" msgstr "Peut ajouter sa propre Organisation" -#: models.py:2457 +#: models.py:2464 msgid "Can change own Organization" msgstr "Peut modifier sa propre Organisation" -#: models.py:2459 +#: models.py:2466 msgid "Can delete own Organization" msgstr "Peut supprimer sa propre Organisation" -#: models.py:2494 +#: models.py:2501 msgid "Groups" msgstr "Groupes" -#: models.py:2499 +#: models.py:2506 msgid "Person types" msgstr "Types de personne" -#: models.py:2511 +#: models.py:2518 msgid "Title types" msgstr "Types de titre" -#: models.py:2520 +#: models.py:2527 msgid "Mr" msgstr "M." -#: models.py:2521 +#: models.py:2528 msgid "Miss" msgstr "Mlle" -#: models.py:2522 +#: models.py:2529 msgid "Mr and Mrs" msgstr "M. et Mme" -#: models.py:2523 +#: models.py:2530 msgid "Mrs" msgstr "Mme" -#: models.py:2524 +#: models.py:2531 msgid "Doctor" msgstr "Dr." -#: models.py:2557 +#: models.py:2564 msgid "Contact type" msgstr "Type de contact" -#: models.py:2560 models.py:2624 +#: models.py:2567 models.py:2631 msgid "Types" msgstr "Types" -#: models.py:2563 +#: models.py:2570 msgid "Is attached to" msgstr "Est rattaché à" -#: models.py:2568 +#: models.py:2575 msgid "Persons" msgstr "Personnes" -#: models.py:2570 +#: models.py:2577 msgid "Can view all Persons" msgstr "Peut voir toutes les Personnes" -#: models.py:2571 +#: models.py:2578 msgid "Can view own Person" msgstr "Peut voir sa propre Personne" -#: models.py:2572 +#: models.py:2579 msgid "Can add own Person" msgstr "Peut ajouter sa propre Personne" -#: models.py:2573 +#: models.py:2580 msgid "Can change own Person" msgstr "Peut modifier sa propre Personne" -#: models.py:2574 +#: models.py:2581 msgid "Can delete own Person" msgstr "Peut supprimer sa propre Personne" -#: models.py:2752 +#: models.py:2759 msgid "Advanced shortcut menu" msgstr "Menu de raccourci (avancé)" -#: models.py:2755 +#: models.py:2762 msgid "Ishtar user" msgstr "Utilisateur d'Ishtar" -#: models.py:2756 +#: models.py:2763 msgid "Ishtar users" msgstr "Utilisateurs d'Ishtar" -#: models.py:2798 +#: models.py:2805 msgid "To modify the password use the form in Auth > User" msgstr "" "Pour modifier le mot de passe, utilisez le formulaire dans Authentification " "> Utilisateurs" -#: models.py:2804 +#: models.py:2811 msgid "Author types" msgstr "Types d'auteur" -#: models.py:2837 +#: models.py:2844 msgid "Source types" msgstr "Types de document" -#: models.py:2846 +#: models.py:2853 msgid "Support types" msgstr "Types de support" -#: models.py:2853 +#: models.py:2860 msgid "Format type" msgstr "Type de format" -#: models.py:2854 +#: models.py:2861 msgid "Format types" msgstr "Types de format" -#: models.py:2862 +#: models.py:2869 msgid "External ID" msgstr "Identifiant externe" -#: models.py:2865 +#: models.py:2872 msgid "Support" msgstr "Support" -#: models.py:2869 +#: models.py:2876 msgid "Scale" msgstr "Échelle" -#: models.py:2883 +#: models.py:2890 msgid "Item number" msgstr "Numéro d'élément" -#: models.py:2884 +#: models.py:2891 msgid "Ref." msgstr "Réf." -#: models.py:2887 +#: models.py:2894 msgid "Internal ref." msgstr "Réf. interne" -#: models.py:2930 +#: models.py:2937 msgid "Surface (m2)" msgstr "Surface (m2)" -#: models.py:2931 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107 +#: models.py:2938 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107 msgid "Localisation" msgstr "Localisation" -#: models.py:2956 +#: models.py:2963 msgid "Is preventive" msgstr "Est du préventif" -#: models.py:2960 +#: models.py:2967 msgid "Operation types" msgstr "Types d'opération" -#: models.py:2989 +#: models.py:2996 msgid "Preventive" msgstr "Préventif" -#: models.py:2990 +#: models.py:2997 msgid "Research" msgstr "Programmé" -#: models.py:3013 +#: models.py:3020 msgid "Authority name" msgstr "Registre" -#: models.py:3014 +#: models.py:3021 msgid "Authority SRID" msgstr "SRID" -#: models.py:3018 +#: models.py:3025 msgid "Spatial reference systems" msgstr "Systèmes de référence spatiale" @@ -1557,6 +1561,10 @@ msgstr "Supprimer un compte" msgid "Archaeological file" msgstr "Dossier" +#: views.py:241 +msgid "Operation" +msgstr "Opération" + #: views.py:243 msgid "Context record" msgstr "Unité d'Enregistrement" @@ -1582,10 +1590,18 @@ msgstr "Opération non permise." msgid "New %s" msgstr "Nouveau %s" +#: views.py:1365 views.py:1415 +msgid "Archaeological files" +msgstr "Dossiers" + #: views.py:1366 views.py:1419 msgid "Operations" msgstr "Opérations" +#: views.py:1368 views.py:1423 +msgid "Context records" +msgstr "Unités d'Enregistrement" + #: views.py:1370 views.py:1426 msgid "Finds" msgstr "Mobilier" @@ -1683,8 +1699,7 @@ msgstr "L'équipe %(app_name)s" #: templates/base.html:41 msgid "Searches in the shortcut menu deal with all items." -msgstr "" -"Les recherches dans le menu de raccourci concernent tous les éléments." +msgstr "Les recherches dans le menu de raccourci concernent tous les éléments." #: templates/base.html:42 msgid "Searches in the shortcut menu deal with only your items." @@ -2357,8 +2372,8 @@ msgid "" "Powered by Ishtar v%(VERSION)s - " "a free software under AGPL v3 license." msgstr "" -"Propulsé par Ishtar v%(VERSION)s -" -" logiciel libre sous licence AGPL v3." +"Propulsé par Ishtar v%(VERSION)s " +"- logiciel libre sous licence AGPL v3." #: templates/ishtar/blocks/window_nav.html:6 msgid "Previous version" @@ -2726,3 +2741,18 @@ msgid "You are now registered. Activation email sent." msgstr "" "Vous êtes maintenant enregistré. Un courriel d'activation de votre compte " "vous a été envoyé." + +#~ msgid "Archaeological site" +#~ msgstr "Entité Archéologique" + +#~ msgid "Parcels" +#~ msgstr "Parcelles" + +#~ msgid "Operation source" +#~ msgstr "Documentation de l'opération" + +#~ msgid "Context record relations" +#~ msgstr "Relations entre Unités d'Enregistrement" + +#~ msgid "Base finds" +#~ msgstr "Mobilier de base" -- cgit v1.2.3 From 9c207cf98b73ea457dbf7c2b72fc161831c9ef99 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Mon, 6 Feb 2017 15:45:05 +0100 Subject: Update french translation --- translations/de/ishtar_common.po | 627 +++++++++++----------- translations/fr/archaeological_context_records.po | 8 +- translations/fr/archaeological_files.po | 8 +- translations/fr/archaeological_files_pdl.po | 8 +- translations/fr/archaeological_finds.po | 14 +- translations/fr/archaeological_operations.po | 19 +- translations/fr/archaeological_warehouse.po | 8 +- translations/fr/ishtar_common.po | 49 +- 8 files changed, 364 insertions(+), 377 deletions(-) diff --git a/translations/de/ishtar_common.po b/translations/de/ishtar_common.po index 1f2e470e3..18c5479a8 100644 --- a/translations/de/ishtar_common.po +++ b/translations/de/ishtar_common.po @@ -27,109 +27,121 @@ msgstr "" msgid "Export selected as CSV file" msgstr "" -#: data_importer.py:182 +#: data_importer.py:183 #, python-format msgid "\"%(value)s\" is too long. The max length is %(length)d characters." msgstr "" -#: data_importer.py:199 +#: data_importer.py:200 #, python-format msgid "\"%(value)s\" not equal to yes or no" msgstr "" -#: data_importer.py:211 +#: data_importer.py:212 #, python-format msgid "\"%(value)s\" is not a float" msgstr "" -#: data_importer.py:224 data_importer.py:238 data_importer.py:482 +#: data_importer.py:225 data_importer.py:239 data_importer.py:483 #, python-format msgid "\"%(value)s\" is not a valid date" msgstr "" -#: data_importer.py:251 +#: data_importer.py:252 #, python-format msgid "\"%(value)s\" is not an integer" msgstr "" -#: data_importer.py:302 data_importer.py:545 +#: data_importer.py:303 data_importer.py:546 #, python-format msgid "Choice for \"%s\" is not available. Which one is relevant?\n" msgstr "" -#: data_importer.py:309 +#: data_importer.py:310 #, python-format msgid "%d. None of the above - create new" msgstr "" -#: data_importer.py:312 +#: data_importer.py:313 #, python-format msgid "%d. None of the above - skip" msgstr "" -#: data_importer.py:508 +#: data_importer.py:509 #, python-format msgid "\"%(value)s\" is not a valid path for the given archive" msgstr "" -#: data_importer.py:620 +#: data_importer.py:623 msgid "" "The given file is not correct. Check the file format. If you use a CSV file: " "check that column separator and encoding are similar to the ones used by the " "reference file." msgstr "" -#: data_importer.py:624 +#: data_importer.py:627 #, python-format msgid "Too many cols (%(user_col)d) when maximum is %(ref_col)d" msgstr "" -#: data_importer.py:626 +#: data_importer.py:629 msgid "No data provided" msgstr "" -#: data_importer.py:627 +#: data_importer.py:630 msgid "Value is required" msgstr "" -#: data_importer.py:628 +#: data_importer.py:631 #, python-format msgid "At least %d columns must be filled" msgstr "" -#: data_importer.py:629 +#: data_importer.py:632 msgid "The regexp doesn't match." msgstr "" -#: data_importer.py:1037 +#: data_importer.py:634 +msgid "" +"Force creation is set for model {} but this model is not in the list of " +"model allowed to be created." +msgstr "" + +#: data_importer.py:636 +msgid "" +"{} with values {} doesn't exist in the database. Create it first or fix your " +"source file" +msgstr "" + +#: data_importer.py:1089 msgid "Not imported" msgstr "" -#: data_importer.py:1444 +#: data_importer.py:1522 msgid "line" msgstr "" -#: data_importer.py:1444 +#: data_importer.py:1522 msgid "col" msgstr "" -#: data_importer.py:1444 +#: data_importer.py:1522 msgid "error" msgstr "" -#: data_importer.py:1450 +#: data_importer.py:1528 msgid "field" msgstr "" -#: data_importer.py:1450 +#: data_importer.py:1528 msgid "source" msgstr "" -#: data_importer.py:1450 +#: data_importer.py:1528 msgid "result" msgstr "" -#: data_importer.py:1466 +#: data_importer.py:1544 #, python-format msgid "\"%(value)s\" not in %(values)s" msgstr "" @@ -162,12 +174,12 @@ msgstr "" msgid "Add a new item" msgstr "" -#: forms.py:262 models.py:1473 +#: forms.py:262 models.py:1475 msgid "Template" msgstr "" #: forms_common.py:41 forms_common.py:59 forms_common.py:182 -#: forms_common.py:406 models.py:1539 models.py:2943 +#: forms_common.py:406 models.py:1541 models.py:2950 #: templates/blocks/JQueryAdvancedTown.html:19 #: templates/ishtar/sheet_organization.html:13 msgid "Town" @@ -183,9 +195,8 @@ msgid "" "french town Saint-Denis in the Seine-Saint-Denis department.

" msgstr "" -#: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:1712 -#: models.py:2567 models.py:2749 models.py:2811 -#: templates/ishtar/sheet_person.html:4 +#: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:2574 +#: models.py:2756 models.py:2818 templates/ishtar/sheet_person.html:4 msgid "Person" msgstr "" @@ -196,63 +207,63 @@ msgid "" msgstr "" #: forms_common.py:170 forms_common.py:327 forms_common.py:451 -#: ishtar_menu.py:75 models.py:1713 models.py:2450 models.py:2541 +#: ishtar_menu.py:75 models.py:2457 models.py:2548 #: templates/ishtar/sheet_organization.html:4 msgid "Organization" msgstr "" #: forms_common.py:173 forms_common.py:210 forms_common.py:322 -#: forms_common.py:376 forms_common.py:446 models.py:1094 models.py:1472 -#: models.py:1758 models.py:1977 models.py:2444 models.py:2553 models.py:2929 -#: templates/ishtar/sheet_organization.html:8 +#: forms_common.py:376 forms_common.py:446 models.py:1096 models.py:1474 +#: models.py:1742 models.py:1758 models.py:1984 models.py:2451 models.py:2560 +#: models.py:2936 templates/ishtar/sheet_organization.html:8 #: templates/ishtar/sheet_organization.html:21 msgid "Name" msgstr "" -#: forms_common.py:174 models.py:1694 models.py:2108 +#: forms_common.py:174 models.py:1696 models.py:2115 msgid "Organization type" msgstr "" -#: forms_common.py:176 forms_common.py:400 models.py:1534 +#: forms_common.py:176 forms_common.py:400 models.py:1536 #: templates/ishtar/sheet_organization.html:10 msgid "Address" msgstr "" -#: forms_common.py:178 forms_common.py:403 models.py:1535 +#: forms_common.py:178 forms_common.py:403 models.py:1537 #: templates/ishtar/sheet_organization.html:11 msgid "Address complement" msgstr "" -#: forms_common.py:180 forms_common.py:404 models.py:1537 +#: forms_common.py:180 forms_common.py:404 models.py:1539 #: templates/ishtar/sheet_organization.html:12 msgid "Postal code" msgstr "" -#: forms_common.py:183 forms_common.py:407 models.py:1540 +#: forms_common.py:183 forms_common.py:407 models.py:1542 msgid "Country" msgstr "" #: forms_common.py:185 forms_common.py:324 forms_common.py:380 -#: forms_common.py:448 forms_common.py:572 models.py:1567 +#: forms_common.py:448 forms_common.py:572 models.py:1569 msgid "Email" msgstr "" -#: forms_common.py:186 forms_common.py:383 models.py:1552 +#: forms_common.py:186 forms_common.py:383 models.py:1554 #: templates/ishtar/sheet_organization.html:14 #: templates/ishtar/sheet_person.html:19 #: templates/ishtar/wizard/wizard_person.html:17 msgid "Phone" msgstr "" -#: forms_common.py:187 forms_common.py:392 models.py:1564 +#: forms_common.py:187 forms_common.py:392 models.py:1566 #: templates/ishtar/sheet_organization.html:15 #: templates/ishtar/sheet_person.html:37 #: templates/ishtar/wizard/wizard_person.html:35 msgid "Mobile phone" msgstr "" -#: forms_common.py:211 forms_common.py:325 forms_common.py:449 models.py:2144 -#: models.py:2446 models.py:2864 templates/sheet_ope.html:85 +#: forms_common.py:211 forms_common.py:325 forms_common.py:449 models.py:2151 +#: models.py:2453 models.py:2871 templates/sheet_ope.html:85 #: templates/sheet_ope.html.py:105 templates/sheet_ope.html:126 #: templates/ishtar/import_list.html:13 #: templates/ishtar/sheet_organization.html:23 @@ -276,7 +287,7 @@ msgstr "" msgid "Organization to merge" msgstr "" -#: forms_common.py:323 forms_common.py:374 forms_common.py:447 models.py:2551 +#: forms_common.py:323 forms_common.py:374 forms_common.py:447 models.py:2558 #: templates/ishtar/sheet_organization.html:22 msgid "Surname" msgstr "" @@ -294,25 +305,25 @@ msgstr "" msgid "Identity" msgstr "" -#: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:2109 -#: models.py:2545 models.py:2547 models.py:2861 templates/sheet_ope.html:104 +#: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:2116 +#: models.py:2552 models.py:2554 models.py:2868 templates/sheet_ope.html:104 #: templates/ishtar/blocks/window_tables/documents.html:7 msgid "Title" msgstr "" -#: forms_common.py:372 models.py:2549 +#: forms_common.py:372 models.py:2556 msgid "Salutation" msgstr "" -#: forms_common.py:378 models.py:2555 +#: forms_common.py:378 models.py:2562 msgid "Raw name" msgstr "" -#: forms_common.py:381 models.py:1553 +#: forms_common.py:381 models.py:1555 msgid "Phone description" msgstr "" -#: forms_common.py:384 models.py:1555 models.py:1557 +#: forms_common.py:384 models.py:1557 models.py:1559 msgid "Phone description 2" msgstr "" @@ -320,11 +331,11 @@ msgstr "" msgid "Phone 2" msgstr "" -#: forms_common.py:388 models.py:1561 +#: forms_common.py:388 models.py:1563 msgid "Phone description 3" msgstr "" -#: forms_common.py:390 models.py:1559 +#: forms_common.py:390 models.py:1561 msgid "Phone 3" msgstr "" @@ -332,23 +343,23 @@ msgstr "" msgid "Current organization" msgstr "" -#: forms_common.py:409 models.py:1542 +#: forms_common.py:409 models.py:1544 msgid "Other address: address" msgstr "" -#: forms_common.py:412 models.py:1545 +#: forms_common.py:412 models.py:1547 msgid "Other address: address complement" msgstr "" -#: forms_common.py:414 models.py:1546 +#: forms_common.py:414 models.py:1548 msgid "Other address: postal code" msgstr "" -#: forms_common.py:416 models.py:1548 +#: forms_common.py:416 models.py:1550 msgid "Other address: town" msgstr "" -#: forms_common.py:418 models.py:1550 +#: forms_common.py:418 models.py:1552 msgid "Other address: country" msgstr "" @@ -364,7 +375,7 @@ msgstr "" msgid "Account search" msgstr "" -#: forms_common.py:510 forms_common.py:550 forms_common.py:554 models.py:2498 +#: forms_common.py:510 forms_common.py:550 forms_common.py:554 models.py:2505 msgid "Person type" msgstr "" @@ -396,7 +407,7 @@ msgstr "" msgid "Send the new password by email?" msgstr "" -#: forms_common.py:628 forms_common.py:641 models.py:2944 +#: forms_common.py:628 forms_common.py:641 models.py:2951 msgid "Towns" msgstr "" @@ -412,7 +423,7 @@ msgstr "" msgid "Documentation informations" msgstr "" -#: forms_common.py:775 forms_common.py:823 models.py:2110 models.py:2836 +#: forms_common.py:775 forms_common.py:823 models.py:2117 models.py:2843 msgid "Source type" msgstr "" @@ -424,37 +435,37 @@ msgstr "" msgid "Internal reference" msgstr "" -#: forms_common.py:783 models.py:2875 +#: forms_common.py:783 models.py:2882 msgid "Numerical ressource (web address)" msgstr "" -#: forms_common.py:784 models.py:2877 +#: forms_common.py:784 models.py:2884 msgid "Receipt date" msgstr "" -#: forms_common.py:786 models.py:2273 models.py:2879 +#: forms_common.py:786 models.py:2280 models.py:2886 msgid "Creation date" msgstr "" -#: forms_common.py:789 models.py:2882 +#: forms_common.py:789 models.py:2889 msgid "Receipt date in documentation" msgstr "" -#: forms_common.py:791 forms_common.py:827 models.py:376 models.py:687 -#: models.py:2004 models.py:2559 models.py:2889 +#: forms_common.py:791 forms_common.py:827 models.py:377 models.py:689 +#: models.py:2011 models.py:2566 models.py:2896 msgid "Comment" msgstr "" -#: forms_common.py:793 forms_common.py:826 models.py:1096 models.py:1762 -#: models.py:1936 models.py:1978 models.py:2888 templates/sheet_ope.html:128 +#: forms_common.py:793 forms_common.py:826 models.py:1098 models.py:1762 +#: models.py:1943 models.py:1985 models.py:2895 templates/sheet_ope.html:128 msgid "Description" msgstr "" -#: forms_common.py:796 models.py:2890 +#: forms_common.py:796 models.py:2897 msgid "Additional information" msgstr "" -#: forms_common.py:798 forms_common.py:830 models.py:2892 +#: forms_common.py:798 forms_common.py:830 models.py:2899 msgid "Has a duplicate" msgstr "" @@ -469,7 +480,7 @@ msgid "" "p>" msgstr "" -#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2816 +#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2823 #: templates/ishtar/wizard/wizard_person_deletion.html:124 msgid "Author" msgstr "" @@ -482,7 +493,7 @@ msgstr "" msgid "Would you like to delete this documentation?" msgstr "" -#: forms_common.py:856 models.py:2111 models.py:2803 models.py:2813 +#: forms_common.py:856 models.py:2118 models.py:2810 models.py:2820 msgid "Author type" msgstr "" @@ -494,7 +505,7 @@ msgstr "" msgid "There are identical authors." msgstr "" -#: forms_common.py:893 models.py:2817 models.py:2871 +#: forms_common.py:893 models.py:2824 models.py:2878 #: templates/sheet_ope.html:106 #: templates/ishtar/blocks/window_tables/documents.html:9 msgid "Authors" @@ -512,7 +523,7 @@ msgstr "" msgid "Deletion" msgstr "" -#: ishtar_menu.py:39 models.py:1268 views.py:1549 +#: ishtar_menu.py:39 models.py:1270 views.py:1549 msgid "Global variables" msgstr "" @@ -540,7 +551,7 @@ msgstr "" msgid "Manual merge" msgstr "" -#: ishtar_menu.py:109 models.py:2284 +#: ishtar_menu.py:109 models.py:2291 msgid "Imports" msgstr "" @@ -556,262 +567,262 @@ msgstr "" msgid "Old imports" msgstr "" -#: models.py:183 +#: models.py:184 msgid "Not a valid item." msgstr "" -#: models.py:196 +#: models.py:197 msgid "A selected item is not a valid item." msgstr "" -#: models.py:207 +#: models.py:208 msgid "This item already exists." msgstr "" -#: models.py:372 models.py:686 models.py:1507 models.py:1519 models.py:1933 +#: models.py:373 models.py:688 models.py:1509 models.py:1521 models.py:1940 msgid "Label" msgstr "" -#: models.py:374 +#: models.py:375 msgid "Textual ID" msgstr "" -#: models.py:377 models.py:689 models.py:1476 +#: models.py:378 models.py:691 models.py:1478 msgid "Available" msgstr "" -#: models.py:713 models.py:2050 +#: models.py:715 models.py:2057 msgid "Key" msgstr "" -#: models.py:719 +#: models.py:721 msgid "Specific key to an import" msgstr "" -#: models.py:811 +#: models.py:813 msgid "Last editor" msgstr "" -#: models.py:814 +#: models.py:816 msgid "Creator" msgstr "" -#: models.py:956 models.py:2955 models.py:3011 +#: models.py:958 models.py:2962 models.py:3018 msgid "Order" msgstr "" -#: models.py:957 +#: models.py:959 msgid "Symmetrical" msgstr "" -#: models.py:958 +#: models.py:960 msgid "Tiny label" msgstr "" -#: models.py:972 +#: models.py:974 msgid "Cannot have symmetrical and an inverse_relation" msgstr "" -#: models.py:1088 +#: models.py:1090 msgid "Euro" msgstr "" -#: models.py:1089 +#: models.py:1091 msgid "US dollar" msgstr "" -#: models.py:1095 models.py:1760 +#: models.py:1097 models.py:1760 msgid "Slug" msgstr "" -#: models.py:1098 +#: models.py:1100 msgid "CSS color code for base module" msgstr "" -#: models.py:1100 +#: models.py:1102 msgid "Files module" msgstr "" -#: models.py:1102 +#: models.py:1104 msgid "CSS color code for files module" msgstr "" -#: models.py:1104 +#: models.py:1106 msgid "Context records module" msgstr "" -#: models.py:1107 +#: models.py:1109 msgid "CSS color code for context record module" msgstr "" -#: models.py:1109 +#: models.py:1111 msgid "Finds module" msgstr "" -#: models.py:1110 +#: models.py:1112 msgid "Need context records module" msgstr "" -#: models.py:1112 +#: models.py:1114 msgid "CSS color code for find module" msgstr "" -#: models.py:1115 +#: models.py:1117 msgid "Warehouses module" msgstr "" -#: models.py:1116 +#: models.py:1118 msgid "Need finds module" msgstr "" -#: models.py:1118 +#: models.py:1120 msgid "CSS code for warehouse module" msgstr "" -#: models.py:1120 +#: models.py:1122 msgid "Mapping module" msgstr "" -#: models.py:1122 +#: models.py:1124 msgid "CSS code for mapping module" msgstr "" -#: models.py:1125 +#: models.py:1127 msgid "Home page" msgstr "" -#: models.py:1126 +#: models.py:1128 #, python-brace-format msgid "" "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." msgstr "" -#: models.py:1130 +#: models.py:1132 msgid "File external id" msgstr "" -#: models.py:1132 +#: models.py:1134 msgid "" "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." msgstr "" -#: models.py:1137 +#: models.py:1139 msgid "Parcel external id" msgstr "" -#: models.py:1140 +#: models.py:1142 msgid "" "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." msgstr "" -#: models.py:1145 +#: models.py:1147 msgid "Context record external id" msgstr "" -#: models.py:1147 +#: models.py:1149 msgid "" "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." msgstr "" -#: models.py:1152 +#: models.py:1154 msgid "Base find external id" msgstr "" -#: models.py:1154 +#: models.py:1156 msgid "" "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." msgstr "" -#: models.py:1159 +#: models.py:1161 msgid "Find external id" msgstr "" -#: models.py:1161 +#: models.py:1163 msgid "" "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." msgstr "" -#: models.py:1166 +#: models.py:1168 msgid "Container external id" msgstr "" -#: models.py:1168 +#: models.py:1170 msgid "" "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." msgstr "" -#: models.py:1173 +#: models.py:1175 msgid "Warehouse external id" msgstr "" -#: models.py:1175 +#: models.py:1177 msgid "" "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." msgstr "" -#: models.py:1180 +#: models.py:1182 msgid "Raw name for person" msgstr "" -#: models.py:1182 +#: models.py:1184 msgid "" "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." msgstr "" -#: models.py:1186 +#: models.py:1188 msgid "Current active" msgstr "" -#: models.py:1187 +#: models.py:1189 msgid "Currency" msgstr "" -#: models.py:1191 +#: models.py:1193 msgid "Ishtar site profile" msgstr "" -#: models.py:1192 +#: models.py:1194 msgid "Ishtar site profiles" msgstr "" -#: models.py:1261 +#: models.py:1263 msgid "Variable name" msgstr "" -#: models.py:1262 +#: models.py:1264 msgid "Description of the variable" msgstr "" -#: models.py:1264 models.py:2051 +#: models.py:1266 models.py:2058 msgid "Value" msgstr "" -#: models.py:1267 +#: models.py:1269 msgid "Global variable" msgstr "" -#: models.py:1377 models.py:1407 +#: models.py:1379 models.py:1409 msgid "Total" msgstr "" -#: models.py:1384 models.py:1508 models.py:1520 +#: models.py:1386 models.py:1510 models.py:1522 #: templates/ishtar/sheet_person.html:22 #: templates/ishtar/dashboards/dashboard_main_detail.html:141 #: templates/ishtar/dashboards/dashboard_main_detail_users.html:26 @@ -819,645 +830,633 @@ msgstr "" msgid "Number" msgstr "" -#: models.py:1471 +#: models.py:1473 msgid "Administrative Act" msgstr "" -#: models.py:1475 +#: models.py:1477 msgid "Associated object" msgstr "" -#: models.py:1479 +#: models.py:1481 msgid "Document template" msgstr "" -#: models.py:1480 +#: models.py:1482 msgid "Document templates" msgstr "" -#: models.py:1511 models.py:1521 models.py:2268 +#: models.py:1513 models.py:1523 models.py:2275 msgid "State" msgstr "" -#: models.py:1525 templates/blocks/JQueryAdvancedTown.html:12 +#: models.py:1527 templates/blocks/JQueryAdvancedTown.html:12 msgid "Department" msgstr "" -#: models.py:1526 +#: models.py:1528 msgid "Departments" msgstr "" -#: models.py:1563 +#: models.py:1565 msgid "Raw phone" msgstr "" -#: models.py:1569 +#: models.py:1571 msgid "Alternative address is prefered" msgstr "" -#: models.py:1608 +#: models.py:1610 msgid "Tel: " msgstr "" -#: models.py:1612 +#: models.py:1614 msgid "Mobile: " msgstr "" -#: models.py:1616 +#: models.py:1618 msgid "Email: " msgstr "" -#: models.py:1621 +#: models.py:1623 msgid "Merge key" msgstr "" -#: models.py:1695 +#: models.py:1697 msgid "Organization types" msgstr "" -#: models.py:1714 views.py:241 -msgid "Operation" +#: models.py:1743 +msgid "Class name" msgstr "" -#: models.py:1716 -msgid "Archaeological site" +#: models.py:1746 +msgid "Importer - Model" msgstr "" -#: models.py:1717 -msgid "Parcels" +#: models.py:1747 +msgid "Importer - Models" msgstr "" -#: models.py:1719 -msgid "Operation source" -msgstr "" - -#: models.py:1722 views.py:1365 views.py:1415 -msgid "Archaeological files" -msgstr "" - -#: models.py:1724 views.py:1368 views.py:1423 -msgid "Context records" -msgstr "" - -#: models.py:1726 -msgid "Context record relations" +#: models.py:1764 templates/ishtar/dashboards/dashboard_main.html:25 +msgid "Users" msgstr "" -#: models.py:1728 -msgid "Base finds" +#: models.py:1767 +msgid "Associated model" msgstr "" -#: models.py:1764 templates/ishtar/dashboards/dashboard_main.html:25 -msgid "Users" +#: models.py:1770 +msgid "Models that can accept new items" msgstr "" -#: models.py:1766 -msgid "Associated model" +#: models.py:1771 +msgid "Leave blank for no restrictions" msgstr "" -#: models.py:1769 +#: models.py:1773 msgid "Is template" msgstr "" -#: models.py:1770 +#: models.py:1774 msgid "Unicity keys (separator \";\")" msgstr "" -#: models.py:1774 +#: models.py:1778 msgid "Importer - Type" msgstr "" -#: models.py:1775 +#: models.py:1779 msgid "Importer - Types" msgstr "" -#: models.py:1865 +#: models.py:1872 msgid "Importer - Default" msgstr "" -#: models.py:1866 +#: models.py:1873 msgid "Importer - Defaults" msgstr "" -#: models.py:1901 +#: models.py:1908 msgid "Importer - Default value" msgstr "" -#: models.py:1902 +#: models.py:1909 msgid "Importer - Default values" msgstr "" -#: models.py:1935 +#: models.py:1942 msgid "Column number" msgstr "" -#: models.py:1938 +#: models.py:1945 msgid "Required" msgstr "" -#: models.py:1941 +#: models.py:1948 msgid "Importer - Column" msgstr "" -#: models.py:1942 +#: models.py:1949 msgid "Importer - Columns" msgstr "" -#: models.py:1962 +#: models.py:1969 msgid "Field name" msgstr "" -#: models.py:1964 models.py:1998 +#: models.py:1971 models.py:2005 msgid "Force creation of new items" msgstr "" -#: models.py:1966 models.py:2000 +#: models.py:1973 models.py:2007 msgid "Concatenate with existing" msgstr "" -#: models.py:1968 models.py:2002 +#: models.py:1975 models.py:2009 msgid "Concatenate character" msgstr "" -#: models.py:1972 +#: models.py:1979 msgid "Importer - Duplicate field" msgstr "" -#: models.py:1973 +#: models.py:1980 msgid "Importer - Duplicate fields" msgstr "" -#: models.py:1980 +#: models.py:1987 msgid "Regular expression" msgstr "" -#: models.py:1983 +#: models.py:1990 msgid "Importer - Regular expression" msgstr "" -#: models.py:1984 +#: models.py:1991 msgid "Importer - Regular expressions" msgstr "" -#: models.py:2007 +#: models.py:2014 msgid "Importer - Target" msgstr "" -#: models.py:2008 +#: models.py:2015 msgid "Importer - Targets" msgstr "" -#: models.py:2032 views.py:545 +#: models.py:2039 views.py:545 msgid "True" msgstr "" -#: models.py:2033 views.py:547 +#: models.py:2040 views.py:547 msgid "False" msgstr "" -#: models.py:2052 +#: models.py:2059 msgid "Is set" msgstr "" -#: models.py:2059 +#: models.py:2066 msgid "Importer - Target key" msgstr "" -#: models.py:2060 +#: models.py:2067 msgid "Importer - Targets keys" msgstr "" -#: models.py:2112 models.py:2867 +#: models.py:2119 models.py:2874 msgid "Format" msgstr "" -#: models.py:2113 models.py:2959 +#: models.py:2120 models.py:2966 msgid "Operation type" msgstr "" -#: models.py:2114 +#: models.py:2121 msgid "Period" msgstr "" -#: models.py:2115 +#: models.py:2122 msgid "Report state" msgstr "" -#: models.py:2116 +#: models.py:2123 msgid "Remain type" msgstr "" -#: models.py:2117 +#: models.py:2124 msgid "Unit" msgstr "" -#: models.py:2118 +#: models.py:2125 msgid "Activity type" msgstr "" -#: models.py:2119 +#: models.py:2126 msgid "Material" msgstr "" -#: models.py:2121 +#: models.py:2128 msgid "Conservatory state" msgstr "" -#: models.py:2122 +#: models.py:2129 msgid "Container type" msgstr "" -#: models.py:2123 +#: models.py:2130 msgid "Preservation type" msgstr "" -#: models.py:2124 +#: models.py:2131 msgid "Object type" msgstr "" -#: models.py:2125 +#: models.py:2132 msgid "Integrity type" msgstr "" -#: models.py:2126 +#: models.py:2133 msgid "Remarkability type" msgstr "" -#: models.py:2127 +#: models.py:2134 msgid "Batch type" msgstr "" -#: models.py:2129 +#: models.py:2136 msgid "Identification type" msgstr "" -#: models.py:2131 +#: models.py:2138 msgid "Context record relation type" msgstr "" -#: models.py:2132 models.py:3017 +#: models.py:2139 models.py:3024 msgid "Spatial reference system" msgstr "" -#: models.py:2133 models.py:2845 +#: models.py:2140 models.py:2852 msgid "Support type" msgstr "" -#: models.py:2134 models.py:2510 +#: models.py:2141 models.py:2517 msgid "Title type" msgstr "" -#: models.py:2140 +#: models.py:2147 msgid "Integer" msgstr "" -#: models.py:2141 +#: models.py:2148 msgid "Float" msgstr "" -#: models.py:2142 +#: models.py:2149 msgid "String" msgstr "" -#: models.py:2143 templates/sheet_ope.html:86 +#: models.py:2150 templates/sheet_ope.html:86 msgid "Date" msgstr "" -#: models.py:2145 templates/sheet_ope.html:61 templates/sheet_ope.html.py:83 +#: models.py:2152 templates/sheet_ope.html:61 templates/sheet_ope.html.py:83 #: templates/ishtar/dashboards/dashboard_main_detail.html:126 msgid "Year" msgstr "" -#: models.py:2146 +#: models.py:2153 msgid "String to boolean" msgstr "" -#: models.py:2147 +#: models.py:2154 msgctxt "filesystem" msgid "File" msgstr "" -#: models.py:2148 +#: models.py:2155 msgid "Unknow type" msgstr "" -#: models.py:2164 +#: models.py:2171 msgid "4 digit year. e.g.: \"2015\"" msgstr "" -#: models.py:2165 +#: models.py:2172 msgid "4 digit year/month/day. e.g.: \"2015/02/04\"" msgstr "" -#: models.py:2166 +#: models.py:2173 msgid "Day/month/4 digit year. e.g.: \"04/02/2015\"" msgstr "" -#: models.py:2176 +#: models.py:2183 msgid "Options" msgstr "" -#: models.py:2178 +#: models.py:2185 msgid "Split character(s)" msgstr "" -#: models.py:2182 +#: models.py:2189 msgid "Importer - Formater type" msgstr "" -#: models.py:2183 +#: models.py:2190 msgid "Importer - Formater types" msgstr "" -#: models.py:2232 templates/ishtar/dashboards/dashboard_main_detail.html:63 +#: models.py:2239 templates/ishtar/dashboards/dashboard_main_detail.html:63 msgid "Created" msgstr "" -#: models.py:2233 +#: models.py:2240 msgid "Analyse in progress" msgstr "" -#: models.py:2234 +#: models.py:2241 msgid "Analysed" msgstr "" -#: models.py:2235 +#: models.py:2242 msgid "Import pending" msgstr "" -#: models.py:2236 +#: models.py:2243 msgid "Import in progress" msgstr "" -#: models.py:2237 +#: models.py:2244 msgid "Finished with errors" msgstr "" -#: models.py:2238 +#: models.py:2245 msgid "Finished" msgstr "" -#: models.py:2239 +#: models.py:2246 msgid "Archived" msgstr "" -#: models.py:2252 +#: models.py:2259 msgid "Imported file" msgstr "" -#: models.py:2254 +#: models.py:2261 msgid "Associated images (zip file)" msgstr "" -#: models.py:2256 +#: models.py:2263 msgid "Encoding" msgstr "" -#: models.py:2258 +#: models.py:2265 msgid "Skip lines" msgstr "" -#: models.py:2259 templates/ishtar/import_list.html:47 +#: models.py:2266 templates/ishtar/import_list.html:47 msgid "Error file" msgstr "" -#: models.py:2262 +#: models.py:2269 msgid "Result file" msgstr "" -#: models.py:2265 templates/ishtar/import_list.html:53 +#: models.py:2272 templates/ishtar/import_list.html:53 msgid "Match file" msgstr "" -#: models.py:2271 +#: models.py:2278 msgid "Conservative import" msgstr "" -#: models.py:2276 +#: models.py:2283 msgid "End date" msgstr "" -#: models.py:2278 +#: models.py:2285 msgid "Remaining seconds" msgstr "" -#: models.py:2283 +#: models.py:2290 msgid "Import" msgstr "" -#: models.py:2300 +#: models.py:2307 msgid "Analyse" msgstr "" -#: models.py:2302 models.py:2305 +#: models.py:2309 models.py:2312 msgid "Re-analyse" msgstr "" -#: models.py:2303 +#: models.py:2310 msgid "Launch import" msgstr "" -#: models.py:2306 +#: models.py:2313 msgid "Re-import" msgstr "" -#: models.py:2307 +#: models.py:2314 msgid "Archive" msgstr "" -#: models.py:2309 +#: models.py:2316 msgid "Unarchive" msgstr "" -#: models.py:2310 widgets.py:130 templates/ishtar/form_delete.html:11 +#: models.py:2317 widgets.py:130 templates/ishtar/form_delete.html:11 msgid "Delete" msgstr "" -#: models.py:2451 +#: models.py:2458 msgid "Organizations" msgstr "" -#: models.py:2453 +#: models.py:2460 msgid "Can view all Organizations" msgstr "" -#: models.py:2454 +#: models.py:2461 msgid "Can view own Organization" msgstr "" -#: models.py:2455 +#: models.py:2462 msgid "Can add own Organization" msgstr "" -#: models.py:2457 +#: models.py:2464 msgid "Can change own Organization" msgstr "" -#: models.py:2459 +#: models.py:2466 msgid "Can delete own Organization" msgstr "" -#: models.py:2494 +#: models.py:2501 msgid "Groups" msgstr "" -#: models.py:2499 +#: models.py:2506 msgid "Person types" msgstr "" -#: models.py:2511 +#: models.py:2518 msgid "Title types" msgstr "" -#: models.py:2520 +#: models.py:2527 msgid "Mr" msgstr "" -#: models.py:2521 +#: models.py:2528 msgid "Miss" msgstr "" -#: models.py:2522 +#: models.py:2529 msgid "Mr and Mrs" msgstr "" -#: models.py:2523 +#: models.py:2530 msgid "Mrs" msgstr "" -#: models.py:2524 +#: models.py:2531 msgid "Doctor" msgstr "" -#: models.py:2557 +#: models.py:2564 msgid "Contact type" msgstr "" -#: models.py:2560 models.py:2624 +#: models.py:2567 models.py:2631 msgid "Types" msgstr "" -#: models.py:2563 +#: models.py:2570 msgid "Is attached to" msgstr "" -#: models.py:2568 +#: models.py:2575 msgid "Persons" msgstr "" -#: models.py:2570 +#: models.py:2577 msgid "Can view all Persons" msgstr "" -#: models.py:2571 +#: models.py:2578 msgid "Can view own Person" msgstr "" -#: models.py:2572 +#: models.py:2579 msgid "Can add own Person" msgstr "" -#: models.py:2573 +#: models.py:2580 msgid "Can change own Person" msgstr "" -#: models.py:2574 +#: models.py:2581 msgid "Can delete own Person" msgstr "" -#: models.py:2752 +#: models.py:2759 msgid "Advanced shortcut menu" msgstr "" -#: models.py:2755 +#: models.py:2762 msgid "Ishtar user" msgstr "" -#: models.py:2756 +#: models.py:2763 msgid "Ishtar users" msgstr "" -#: models.py:2798 +#: models.py:2805 msgid "To modify the password use the form in Auth > User" msgstr "" -#: models.py:2804 +#: models.py:2811 msgid "Author types" msgstr "" -#: models.py:2837 +#: models.py:2844 msgid "Source types" msgstr "" -#: models.py:2846 +#: models.py:2853 msgid "Support types" msgstr "" -#: models.py:2853 +#: models.py:2860 msgid "Format type" msgstr "" -#: models.py:2854 +#: models.py:2861 msgid "Format types" msgstr "" -#: models.py:2862 +#: models.py:2869 msgid "External ID" msgstr "" -#: models.py:2865 +#: models.py:2872 msgid "Support" msgstr "" -#: models.py:2869 +#: models.py:2876 msgid "Scale" msgstr "" -#: models.py:2883 +#: models.py:2890 msgid "Item number" msgstr "" -#: models.py:2884 +#: models.py:2891 msgid "Ref." msgstr "" -#: models.py:2887 +#: models.py:2894 msgid "Internal ref." msgstr "" -#: models.py:2930 +#: models.py:2937 msgid "Surface (m2)" msgstr "" -#: models.py:2931 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107 +#: models.py:2938 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107 msgid "Localisation" msgstr "" -#: models.py:2956 +#: models.py:2963 msgid "Is preventive" msgstr "" -#: models.py:2960 +#: models.py:2967 msgid "Operation types" msgstr "" -#: models.py:2989 +#: models.py:2996 msgid "Preventive" msgstr "" -#: models.py:2990 +#: models.py:2997 msgid "Research" msgstr "" -#: models.py:3013 +#: models.py:3020 msgid "Authority name" msgstr "" -#: models.py:3014 +#: models.py:3021 msgid "Authority SRID" msgstr "" -#: models.py:3018 +#: models.py:3025 msgid "Spatial reference systems" msgstr "" @@ -1505,6 +1504,10 @@ msgstr "" msgid "Archaeological file" msgstr "" +#: views.py:241 +msgid "Operation" +msgstr "" + #: views.py:243 msgid "Context record" msgstr "" @@ -1530,10 +1533,18 @@ msgstr "" msgid "New %s" msgstr "" +#: views.py:1365 views.py:1415 +msgid "Archaeological files" +msgstr "" + #: views.py:1366 views.py:1419 msgid "Operations" msgstr "" +#: views.py:1368 views.py:1423 +msgid "Context records" +msgstr "" + #: views.py:1370 views.py:1426 msgid "Finds" msgstr "" diff --git a/translations/fr/archaeological_context_records.po b/translations/fr/archaeological_context_records.po index 14630452c..f25806fc8 100644 --- a/translations/fr/archaeological_context_records.po +++ b/translations/fr/archaeological_context_records.po @@ -6,15 +6,13 @@ # Valérie-Emma Leroux , 2017. #zanata msgid "" msgstr "" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-02-06 15:19+0100\n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"Content-Type: text/plain; charset=UTF-8\n" "PO-Revision-Date: 2017-02-05 05:22-0500\n" "Last-Translator: Copied by Zanata \n" "Language-Team: \n" "Language: fr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n>1;\n" "X-Generator: Zanata 3.9.6\n" diff --git a/translations/fr/archaeological_files.po b/translations/fr/archaeological_files.po index e18c404d8..17b2d6784 100644 --- a/translations/fr/archaeological_files.po +++ b/translations/fr/archaeological_files.po @@ -8,15 +8,13 @@ # Valérie-Emma Leroux , 2017. #zanata msgid "" msgstr "" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-02-06 15:19+0100\n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"Content-Type: text/plain; charset=UTF-8\n" "PO-Revision-Date: 2017-02-05 05:21-0500\n" "Last-Translator: Valérie-Emma Leroux \n" "Language-Team: \n" "Language: fr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n>1;\n" "X-Generator: Zanata 3.9.6\n" diff --git a/translations/fr/archaeological_files_pdl.po b/translations/fr/archaeological_files_pdl.po index c22b0cd4d..949555adc 100644 --- a/translations/fr/archaeological_files_pdl.po +++ b/translations/fr/archaeological_files_pdl.po @@ -5,15 +5,13 @@ # Valérie-Emma Leroux , 2016. #zanata msgid "" msgstr "" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-02-06 15:19+0100\n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"Content-Type: text/plain; charset=UTF-8\n" "PO-Revision-Date: 2016-11-14 05:33-0500\n" "Last-Translator: Copied by Zanata \n" "Language-Team: \n" "Language: fr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" "X-Generator: Zanata 3.9.6\n" diff --git a/translations/fr/archaeological_finds.po b/translations/fr/archaeological_finds.po index 174b6175b..609ad25c3 100644 --- a/translations/fr/archaeological_finds.po +++ b/translations/fr/archaeological_finds.po @@ -6,15 +6,13 @@ # Valérie-Emma Leroux , 2017. #zanata msgid "" msgstr "" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-02-06 15:19+0100\n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"Content-Type: text/plain; charset=UTF-8\n" "PO-Revision-Date: 2017-02-05 05:22-0500\n" "Last-Translator: Valérie-Emma Leroux \n" "Language-Team: \n" "Language: fr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n>1;\n" "X-Generator: Zanata 3.9.6\n" @@ -190,13 +188,15 @@ msgstr "" "ratio est conservé).

" #: forms.py:278 -msgid "You should at least provide X, Y and the spatial reference system used." +msgid "" +"You should at least provide X, Y and the spatial reference system used." msgstr "" "Vous devez au minimum fournir X, Y et le système de référence spatiale " "utilisé." #: forms.py:287 -msgid "Coordinates are not relevant for the spatial reference system used: {}." +msgid "" +"Coordinates are not relevant for the spatial reference system used: {}." msgstr "" "Les coordonnées ne sont pas pertinentes pour le système de référence " "spatiale utilisé : {}." diff --git a/translations/fr/archaeological_operations.po b/translations/fr/archaeological_operations.po index 92d63bd83..cdb8dd3be 100644 --- a/translations/fr/archaeological_operations.po +++ b/translations/fr/archaeological_operations.po @@ -8,15 +8,13 @@ # Valérie-Emma Leroux , 2017. #zanata msgid "" msgstr "" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-02-06 15:19+0100\n" -"PO-Revision-Date: 2017-02-05 05:23-0500\n" -"Last-Translator: Valérie-Emma Leroux \n" -"Language-Team: \n" -"Language: fr\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Content-Type: text/plain; charset=UTF-8\n" +"PO-Revision-Date: 2017-02-06 09:32-0500\n" +"Last-Translator: Étienne Loks \n" +"Language-Team: \n" +"Language: fr\n" "Plural-Forms: nplurals=2; plural=n>1;\n" "X-Generator: Zanata 3.9.6\n" @@ -392,7 +390,8 @@ msgstr "" #: forms.py:891 msgid "The excavation end date cannot be before the start date." -msgstr "La date de fin de chantier ne peut être antérieure à la date de début." +msgstr "" +"La date de fin de chantier ne peut être antérieure à la date de début." #: forms.py:919 #, python-format @@ -702,7 +701,7 @@ msgstr "Année - Index" #: models.py:234 msgid "Associated file (label)" -msgstr "Fichier associé (nom)" +msgstr "Dossier associé (nom)" #: models.py:235 msgid "Operator name" @@ -714,7 +713,7 @@ msgstr "Responsable scientifique (nom complet)" #: models.py:237 msgid "Associated file (external ID)" -msgstr "Fichier associé (identifiant externe)" +msgstr "Dossier associé (identifiant externe)" #: models.py:238 msgid "Scientist (title)" diff --git a/translations/fr/archaeological_warehouse.po b/translations/fr/archaeological_warehouse.po index b1c515c27..e7bdbe6f6 100644 --- a/translations/fr/archaeological_warehouse.po +++ b/translations/fr/archaeological_warehouse.po @@ -6,15 +6,13 @@ # Valérie-Emma Leroux , 2017. #zanata msgid "" msgstr "" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-02-06 15:19+0100\n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"Content-Type: text/plain; charset=UTF-8\n" "PO-Revision-Date: 2017-02-04 08:26-0500\n" "Last-Translator: Copied by Zanata \n" "Language-Team: \n" "Language: fr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n>1;\n" "X-Generator: Zanata 3.9.6\n" diff --git a/translations/fr/ishtar_common.po b/translations/fr/ishtar_common.po index 1c478281a..8e9244c80 100644 --- a/translations/fr/ishtar_common.po +++ b/translations/fr/ishtar_common.po @@ -8,15 +8,13 @@ # Valérie-Emma Leroux , 2017. #zanata msgid "" msgstr "" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-02-06 15:19+0100\n" -"PO-Revision-Date: 2017-02-05 05:23-0500\n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"Content-Type: text/plain; charset=UTF-8\n" +"PO-Revision-Date: 2017-02-06 09:42-0500\n" "Last-Translator: Valérie-Emma Leroux \n" "Language-Team: \n" "Language: fr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n>1;\n" "X-Generator: Zanata 3.9.6\n" @@ -120,12 +118,16 @@ msgid "" "Force creation is set for model {} but this model is not in the list of " "model allowed to be created." msgstr "" +"La création forcée est possible pour le modèle {} mais ce modèle n'est pas " +"dans la liste des modèles autorisés à être créés." #: data_importer.py:636 msgid "" "{} with values {} doesn't exist in the database. Create it first or fix your " "source file" msgstr "" +"L'élément {} avec les valeurs {} n'existe pas dans la base de données. Créez-" +"le d'abord ou corrigez votre fichier source." #: data_importer.py:1089 msgid "Not imported" @@ -939,19 +941,16 @@ msgid "Organization types" msgstr "Types d'organisation" #: models.py:1743 -#, fuzzy msgid "Class name" -msgstr "Nom brut" +msgstr "Nom de la classe" #: models.py:1746 -#, fuzzy msgid "Importer - Model" -msgstr "Importeur - Colonne" +msgstr "Importeur - Modèle" #: models.py:1747 -#, fuzzy msgid "Importer - Models" -msgstr "Importeur - Colonnes" +msgstr "Importeur - Modèles" #: models.py:1764 templates/ishtar/dashboards/dashboard_main.html:25 msgid "Users" @@ -963,11 +962,11 @@ msgstr "Modèle associé" #: models.py:1770 msgid "Models that can accept new items" -msgstr "" +msgstr "Modèles qui peuvent accepter de nouveaux éléments" #: models.py:1771 msgid "Leave blank for no restrictions" -msgstr "" +msgstr "Laissez vide pour aucune restriction" #: models.py:1773 msgid "Is template" @@ -1699,7 +1698,8 @@ msgstr "L'équipe %(app_name)s" #: templates/base.html:41 msgid "Searches in the shortcut menu deal with all items." -msgstr "Les recherches dans le menu de raccourci concernent tous les éléments." +msgstr "" +"Les recherches dans le menu de raccourci concernent tous les éléments." #: templates/base.html:42 msgid "Searches in the shortcut menu deal with only your items." @@ -2372,8 +2372,8 @@ msgid "" "Powered by Ishtar v%(VERSION)s - " "a free software under AGPL v3 license." msgstr "" -"Propulsé par Ishtar v%(VERSION)s " -"- logiciel libre sous licence AGPL v3." +"Propulsé par Ishtar v%(VERSION)s -" +" logiciel libre sous licence AGPL v3." #: templates/ishtar/blocks/window_nav.html:6 msgid "Previous version" @@ -2741,18 +2741,3 @@ msgid "You are now registered. Activation email sent." msgstr "" "Vous êtes maintenant enregistré. Un courriel d'activation de votre compte " "vous a été envoyé." - -#~ msgid "Archaeological site" -#~ msgstr "Entité Archéologique" - -#~ msgid "Parcels" -#~ msgstr "Parcelles" - -#~ msgid "Operation source" -#~ msgstr "Documentation de l'opération" - -#~ msgid "Context record relations" -#~ msgstr "Relations entre Unités d'Enregistrement" - -#~ msgid "Base finds" -#~ msgstr "Mobilier de base" -- cgit v1.2.3 From 5d9f7e3dd013c8a34e530eefcdc2b669573d7a44 Mon Sep 17 00:00:00 2001 From: Valérie-Emma Leroux Date: Mon, 6 Feb 2017 15:45:39 +0100 Subject: Update labels --- ishtar_common/data_importer.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ishtar_common/data_importer.py b/ishtar_common/data_importer.py index 859feade9..a03f4de34 100644 --- a/ishtar_common/data_importer.py +++ b/ishtar_common/data_importer.py @@ -631,10 +631,10 @@ class Importer(object): 'not_enough_cols': _(u"At least %d columns must be filled"), 'regex_not_match': _(u"The regexp doesn't match."), 'improperly_configured': _( - u"Force creation is set for model {} but this model is not in the " - u"list of model allowed to be created."), + u"Forced creation is set for model {} but this model is not in the " + u"list of models allowed to be created."), 'does_not_exist_in_db': _(u"{} with values {} doesn't exist in the " - u"database. Create it first or fix your source file"), + u"database. Create it first or fix your source file."), } def _create_models(self, force=False): -- cgit v1.2.3 From abed52a2598d819d75efa0a08e6aa816e0f62070 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Mon, 6 Feb 2017 15:50:09 +0100 Subject: Update french translation --- ishtar_common/locale/django.pot | 6 +++--- translations/de/ishtar_common.po | 6 +++--- translations/fr/ishtar_common.po | 12 ++++++------ 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/ishtar_common/locale/django.pot b/ishtar_common/locale/django.pot index 9949973a0..fbc4b4eac 100644 --- a/ishtar_common/locale/django.pot +++ b/ishtar_common/locale/django.pot @@ -101,14 +101,14 @@ msgstr "" #: data_importer.py:634 msgid "" -"Force creation is set for model {} but this model is not in the list of " -"model allowed to be created." +"Forced creation is set for model {} but this model is not in the list of " +"models allowed to be created." msgstr "" #: data_importer.py:636 msgid "" "{} with values {} doesn't exist in the database. Create it first or fix your " -"source file" +"source file." msgstr "" #: data_importer.py:1089 diff --git a/translations/de/ishtar_common.po b/translations/de/ishtar_common.po index 18c5479a8..ca174763b 100644 --- a/translations/de/ishtar_common.po +++ b/translations/de/ishtar_common.po @@ -103,14 +103,14 @@ msgstr "" #: data_importer.py:634 msgid "" -"Force creation is set for model {} but this model is not in the list of " -"model allowed to be created." +"Forced creation is set for model {} but this model is not in the list of " +"models allowed to be created." msgstr "" #: data_importer.py:636 msgid "" "{} with values {} doesn't exist in the database. Create it first or fix your " -"source file" +"source file." msgstr "" #: data_importer.py:1089 diff --git a/translations/fr/ishtar_common.po b/translations/fr/ishtar_common.po index 8e9244c80..ef36de26d 100644 --- a/translations/fr/ishtar_common.po +++ b/translations/fr/ishtar_common.po @@ -11,7 +11,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Transfer-Encoding: 8bit\n" "Content-Type: text/plain; charset=UTF-8\n" -"PO-Revision-Date: 2017-02-06 09:42-0500\n" +"PO-Revision-Date: 2017-02-06 09:49-0500\n" "Last-Translator: Valérie-Emma Leroux \n" "Language-Team: \n" "Language: fr\n" @@ -115,16 +115,16 @@ msgstr "L'expression régulière ne fonctionne pas." #: data_importer.py:634 msgid "" -"Force creation is set for model {} but this model is not in the list of " -"model allowed to be created." +"Forced creation is set for model {} but this model is not in the list of " +"models allowed to be created." msgstr "" -"La création forcée est possible pour le modèle {} mais ce modèle n'est pas " -"dans la liste des modèles autorisés à être créés." +"La création forcée est possible pour le modèle {} mais ce modèle ne fait pas " +"partie de la liste des créations de modèle autorisées." #: data_importer.py:636 msgid "" "{} with values {} doesn't exist in the database. Create it first or fix your " -"source file" +"source file." msgstr "" "L'élément {} avec les valeurs {} n'existe pas dans la base de données. Créez-" "le d'abord ou corrigez votre fichier source." -- cgit v1.2.3 From 8f9b00f461c5f9ddaebbe9da4cecfab18834c751 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Mon, 6 Feb 2017 17:16:23 +0100 Subject: Harmonize CSV import and CSV exports - Imports: multi format parse of dates --- ishtar_common/models.py | 5 ++++- ishtar_common/views.py | 6 +++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/ishtar_common/models.py b/ishtar_common/models.py index c27f9cc29..c9903525d 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -2228,7 +2228,10 @@ class FormaterType(models.Model): pass return UnicodeFormater(**kwargs) elif self.formater_type == 'DateFormater': - return DateFormater(self.options, **kwargs) + date_formats = self.options + if self.many_split: + date_formats = self.options.split(kwargs.pop('many_split')) + return DateFormater(date_formats, **kwargs) elif self.formater_type == 'StrToBoolean': return StrToBoolean(**kwargs) elif self.formater_type == 'UnknowType': diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 467401b8f..c9eb9fec8 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -73,7 +73,7 @@ from ishtar_common.models import HistoryError, PRIVATE_FIELDS, \ import models -CSV_OPTIONS = {'delimiter': ';', 'quotechar': '"', 'quoting': csv.QUOTE_ALL} +CSV_OPTIONS = {'delimiter': ',', 'quotechar': '"', 'quoting': csv.QUOTE_ALL} ENCODING = settings.ENCODING or 'utf-8' logger = logging.getLogger(__name__) @@ -993,7 +993,7 @@ def get_item(model, func_name, default_name, extra_request_keys=[], new_vals.append(u"{}{}{}".format( vals[idx], u' - ', format_val(v))) my_vals = new_vals[:] - data.append(" ; ".join(my_vals) or u"") + data.append(u" & ".join(my_vals) or u"") datas.append(data) if manual_sort_key: # +1 because the id is added as a first col @@ -1068,7 +1068,7 @@ def get_item(model, func_name, default_name, extra_request_keys=[], col_names = [] for field_name in table_cols: if type(field_name) in (list, tuple): - field_name = " ; ".join(field_name) + field_name = u" & ".join(field_name) if hasattr(model, 'EXTRA_FULL_FIELDS_LABELS') and\ field_name in model.EXTRA_FULL_FIELDS_LABELS: field = model.EXTRA_FULL_FIELDS_LABELS[field_name] -- cgit v1.2.3 From b7ed57da8a83328c248fb5817b951d722d989ef2 Mon Sep 17 00:00:00 2001 From: Valérie-Emma Leroux Date: Mon, 6 Feb 2017 17:35:47 +0100 Subject: Update labels --- archaeological_context_records/forms.py | 4 ++-- archaeological_context_records/models.py | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/archaeological_context_records/forms.py b/archaeological_context_records/forms.py index 0452243e2..953d33417 100644 --- a/archaeological_context_records/forms.py +++ b/archaeological_context_records/forms.py @@ -144,7 +144,7 @@ class RecordFormGeneral(ManageOldType, forms.Form): width = forms.FloatField(label=_(u"Width (m)"), required=False) thickness = forms.FloatField(label=_(u"Thickness (m)"), required=False) depth = forms.FloatField(label=_(u"Depth (m)"), required=False) - unit = forms.ChoiceField(label=_("Unit"), required=False, choices=[]) + unit = forms.ChoiceField(label=_("Context record type"), required=False, choices=[]) has_furniture = forms.NullBooleanField(label=_(u"Has furniture?"), required=False) location = forms.CharField( @@ -352,7 +352,7 @@ class RecordSourceSelect(SourceSelect): context_record__datings__period = forms.ChoiceField( label=_(u"Period of the context record"), choices=[]) context_record__unit = forms.ChoiceField( - label=_(u"Unit type of the context record"), choices=[]) + label=_(u"Context record type"), choices=[]) def __init__(self, *args, **kwargs): super(RecordSourceSelect, self).__init__(*args, **kwargs) diff --git a/archaeological_context_records/models.py b/archaeological_context_records/models.py index 9714673e6..377cea087 100644 --- a/archaeological_context_records/models.py +++ b/archaeological_context_records/models.py @@ -76,12 +76,12 @@ class Dating(models.Model): class Unit(GeneralType): order = models.IntegerField(_(u"Order")) - parent = models.ForeignKey("Unit", verbose_name=_(u"Parent unit"), + parent = models.ForeignKey("Unit", verbose_name=_(u"Parent context record type"), blank=True, null=True) class Meta: - verbose_name = _(u"Unit Type") - verbose_name_plural = _(u"Unit Types") + verbose_name = _(u"Context record Type") + verbose_name_plural = _(u"Context record Types") ordering = ('order', 'label') def __unicode__(self): @@ -193,7 +193,7 @@ class ContextRecord(BaseHistorizedItem, ImageModel, OwnPerms, datings = models.ManyToManyField(Dating) datings_comment = models.TextField(_(u"Comment on datings"), blank=True, null=True) - unit = models.ForeignKey(Unit, verbose_name=_(u"Unit"), related_name='+', + unit = models.ForeignKey(Unit, verbose_name=_(u"Context record type"), related_name='+', blank=True, null=True) has_furniture = models.NullBooleanField(_(u"Has furniture?"), blank=True, null=True) @@ -410,13 +410,13 @@ class RecordRelations(GeneralRecordRelations, models.Model): ] COL_LABELS = { "left_record__label": _(u"ID (left)"), - "left_record__unit": _(u"Unit (left)"), + "left_record__unit": _(u"Context record type (left)"), "left_record__parcel": _(u"Parcel (left)"), "left_record__description": _(u"Description (left)"), "left_record__datings__period": _(u"Periods (left)"), "relation_type": _(u"Relation type"), "right_record__label": _(u"ID (right)"), - "right_record__unit": _(u"Unit (right)"), + "right_record__unit": _(u"Context record type (right)"), "right_record__parcel": _(u"Parcel (right)"), "right_record__description": _(u"Description (right)"), "right_record__datings__period": _(u"Periods (right)") @@ -454,7 +454,7 @@ class RecordRelationView(models.Model): COL_LABELS = { "relation_type": _(u"Relation type"), "right_record__label": _(u"ID"), - "right_record__unit": _(u"Unit"), + "right_record__unit": _(u"Context record type"), "right_record__parcel": _(u"Parcel"), "right_record__description": _(u"Description"), "right_record__datings__period": _(u"Periods") -- cgit v1.2.3 From d2316d06225e9f2d04204abf7220e9ae280addf7 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Mon, 6 Feb 2017 19:26:21 +0100 Subject: Basket sheet: add basket name at the top --- archaeological_finds/templates/ishtar/sheet_findbasket.html | 1 + 1 file changed, 1 insertion(+) diff --git a/archaeological_finds/templates/ishtar/sheet_findbasket.html b/archaeological_finds/templates/ishtar/sheet_findbasket.html index 7738a872d..e599bba0b 100644 --- a/archaeological_finds/templates/ishtar/sheet_findbasket.html +++ b/archaeological_finds/templates/ishtar/sheet_findbasket.html @@ -4,6 +4,7 @@ {% block head_title %}{% trans "Find basket" %}{% endblock %} {% block content %} +

{{ item.label|default:"" }}

{% window_nav item window_id 'show-findbasket' 'select_itemsinbasket' %} {% dynamic_table_document_large finds 'finds_for_ope' 'basket' item.pk 'TABLE_COLS_FOR_OPE' output %} {% endblock %} -- cgit v1.2.3 From ce29b9184e7964ac5b91b6244477bad62b23bc11 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Mon, 6 Feb 2017 19:32:39 +0100 Subject: Basket sheet: more information --- archaeological_finds/templates/ishtar/sheet_findbasket.html | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/archaeological_finds/templates/ishtar/sheet_findbasket.html b/archaeological_finds/templates/ishtar/sheet_findbasket.html index e599bba0b..6f8b12e6d 100644 --- a/archaeological_finds/templates/ishtar/sheet_findbasket.html +++ b/archaeological_finds/templates/ishtar/sheet_findbasket.html @@ -1,10 +1,13 @@ {% extends "ishtar/sheet.html" %} -{% load i18n window_tables window_header from_dict %} +{% load i18n window_tables window_header from_dict window_field %} {% block head_title %}{% trans "Find basket" %}{% endblock %} {% block content %} -

{{ item.label|default:"" }}

+ {% window_nav item window_id 'show-findbasket' 'select_itemsinbasket' %} +

{{ item.label|default:"" }}

+{% field "Owned by" item.user %} +{% field "Comment" item.comment %} {% dynamic_table_document_large finds 'finds_for_ope' 'basket' item.pk 'TABLE_COLS_FOR_OPE' output %} {% endblock %} -- cgit v1.2.3 From 6e59ba6ea1a7c79a4aa5fb88086ca8cc8dbff2df Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Mon, 6 Feb 2017 19:37:49 +0100 Subject: Find sheet: display treatment states in treatment table --- archaeological_finds/templates/ishtar/sheet_find.html | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/archaeological_finds/templates/ishtar/sheet_find.html b/archaeological_finds/templates/ishtar/sheet_find.html index bb2e629c7..4ae6dbffe 100644 --- a/archaeological_finds/templates/ishtar/sheet_find.html +++ b/archaeological_finds/templates/ishtar/sheet_find.html @@ -95,6 +95,7 @@ {% trans "Year - index" %} {% trans "Label" %} {% trans "Type" %} + {% trans "State" %} {% trans "Related finds (max. 15 displayed)" %} {% trans "Doer" %} {% trans "Container" %} @@ -112,6 +113,7 @@ {{ treatment.year }} - {{treatment.index}} {{ treatment.label|default_if_none:"-" }} {{ treatment.treatment_types_lbl }} + {{ treatment.treatment_state|default_if_none:"-" }} {% for item in items %}{{item}} {{ item|link_to_window}}{% endfor %} {{ treatment.person|default_if_none:"-" }} {{ treatment.container|default_if_none:"-" }} @@ -135,6 +137,7 @@ {% trans "Year - index" %} {% trans "Label" %} {% trans "Type" %} + {% trans "State" %} {% trans "Related finds (max. 15 displayed)" %} {% trans "Doer" %} {% trans "Container" %} @@ -152,6 +155,7 @@ {{ treatment.year }} - {{treatment.index}} {{ treatment.label }} {{ treatment.treatment_types_lbl }} + {{ treatment.treatment_state|default_if_none:"-" }} {% for item in items %}{{item}} {{ item|link_to_window}}{% endfor %} {{ treatment.person|default_if_none:"" }} {{ treatment.container|default_if_none:"-" }} -- cgit v1.2.3 From 7938386037a49801ef4e1823a97c403db77663b5 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Mon, 6 Feb 2017 19:58:59 +0100 Subject: Fix UI bug: validation button at the bottom of the page (refs #3441) --- .../templates/ishtar/wizard/wizard_instruction.html | 11 ++++++++--- .../templates/ishtar/wizard/wizard_person_orga.html | 11 ++++++++--- .../templates/ishtar/wizard/wizard_planningservice.html | 11 ++++++++--- .../ishtar/wizard/wizard_preventiveplanning.html | 11 ++++++++--- ishtar_common/static/media/style.css | 8 ++++++++ ishtar_common/templates/ishtar/wizard/confirm_wizard.html | 15 +++++++++++---- ishtar_common/templates/ishtar/wizard/default_wizard.html | 10 +++++----- ishtar_common/templates/ishtar/wizard/parcels_wizard.html | 11 ++++++++--- .../templates/ishtar/wizard/relations_wizard.html | 11 ++++++++--- 9 files changed, 72 insertions(+), 27 deletions(-) diff --git a/archaeological_files_pdl/templates/ishtar/wizard/wizard_instruction.html b/archaeological_files_pdl/templates/ishtar/wizard/wizard_instruction.html index f579a9d47..72dc1d35d 100644 --- a/archaeological_files_pdl/templates/ishtar/wizard/wizard_instruction.html +++ b/archaeological_files_pdl/templates/ishtar/wizard/wizard_instruction.html @@ -58,9 +58,14 @@ {{ previous_fields|safe }} -{% block "validation_bar" %} -{% include 'ishtar/wizard/validation_bar.html' %} -{% endblock %} + {% block "footer" %} + + {% endblock %}