diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-03-21 23:53:23 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-03-21 23:53:23 +0100 |
commit | 9eacb3f2b2f5819ef3eea1a54bb2c4bfb13efda6 (patch) | |
tree | 2a2b687acef6f878c05f7148a150c10c3a7fb71a | |
parent | 8eb09a666e7048ce8e531649566418670d94036d (diff) | |
parent | c00bb6298a602f74c55cfd60b8601295470a8e3b (diff) | |
download | Ishtar-9eacb3f2b2f5819ef3eea1a54bb2c4bfb13efda6.tar.bz2 Ishtar-9eacb3f2b2f5819ef3eea1a54bb2c4bfb13efda6.zip |
Merge branch 'master' into v0.9
Conflicts:
Makefile.example
archaeological_operations/migrations/0061_regenerate_cached_label.py
archaeological_warehouse/migrations/0024_generate_cache_lbl_for_containers.py
87 files changed, 9068 insertions, 2263 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7a5476081..1510bd619 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -13,19 +13,25 @@ variables: services: - iggdrasil/postgis-1.5 -master: - script: "make test_gitlab" +build: + stage: "build" + script: "make build_gitlab" only: - master + - v0.9 + - wheezy -stable: +test: + stage: "test" script: "make test_gitlab" only: + - master - v0.9 + - wheezy debian: + stage: "test" script: - - make test_gitlab - apt-get install -q -y devscripts build-essential lintian wget - make deb - wget -O /etc/apt/sources.list.d/iggdrasil.list http://deb.iggdrasil.net/dists/wheezy/iggdrasil.list diff --git a/CHANGES.md b/CHANGES.md index 76edd8b3d..34d7ccd2e 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,48 @@ Ishtar changelog ================ +v0.99.16 (2017-03-21) +--------------------- + +### Features ### +- Operation: add a location field +- Operation sheet: add list of containers +- Operation sheet: add INSEE code to towns +- Operation source table: change headers +- Context record: add type of excavation technics +- Context record form/sheet: add documentation types, diameter and depth of appearance +- Context records table: add new fields and reorder +- Find table: add new fields and reorder +- Find search: conditionnal search (warehouse module available) for warehouses and containers +- Find search: search by warehouse (location & responsible) +- Find sheet: link for documents related to finds +- Warehouse form: can add a warehouse responsible if not available +- Warehouse/Container sheet: add a Modify button +- Container: add an image +- Container wizard: display container sheet at the end of the process +- Treatment/Treatment file history: navigation between version and restore action +- Treatment/Treatment file sheet: add source list, administrative act list +- Basket: add a close button +- Sources: ordering author by author type +- Person sheet: link to the attached organization +- Sheets: remove ":" from labels +- Sheets: mark explicitly some fields as translated fields +- Sheets: improve layout +- Sheets: add ishtar ID +- Tables: add missing headers +- Admin: add batch types +- Imports: admin can see all imports +- Imports: add a name +- Imports: clean empty m2m +- Add a default robots.txt + +### Bug fixes ### +- Refactoring: EXTRA_FULL_FIELDS_LABELS -> COL_LABELS (with merge) +- Warehouse modification: error message is displayed when putting identical division types +- Container form: fix message when no warehouse is set +- Dashboard: fix area unity and effective operation tables +- Test import of files with exotic encoding + v0.99.15 (2017-03-09) --------------------- ### Features ### @@ -37,7 +79,7 @@ v0.99.14 (2017-03-06) v0.99.13.1 (2017-02-20) ----------------------- ### Bug fixes ### -- Warehouse: fix warehouse creation with no divisions (refs #3481) +- Warehouse: fix warehouse creation with no divisions v0.99.13 (2017-02-17) -------------------- @@ -237,7 +279,7 @@ v0.99.10 (2017-02-04) ### Bug fixes ### -- Fix simple form for adding containers (refs #3410) +- Fix simple form for adding containers - Treatment file select form: fix treatment file check 0.99.0 (2017-01-10) diff --git a/Makefile.example b/Makefile.example index e7e604706..ac8e54cc5 100644 --- a/Makefile.example +++ b/Makefile.example @@ -52,10 +52,11 @@ coverage: clean archaeological_context_records,archaeological_files,archaeological_finds,archaeological_warehouse,\ archaeological_files_pdl" ./manage.py test $(apps) && coverage report -test_gitlab: clean - # test migrations - cd $(project); $(PYTHON) ./manage.py syncdb --noinput +build_gitlab: + cd $(project); $(PYTHON) ./manage.py syncdb --noinput 2> /dev/null > /dev/null cd $(project); $(PYTHON) ./manage.py migrate + +test_gitlab: clean cd $(project); $(PYTHON) manage.py test $(apps) pep8: @@ -243,7 +244,7 @@ fixtures_files: archaeological_files.permittype \ > '../archaeological_files/fixtures/initial_data-'$(default_data)'.json' -translations_push: makemessages +translations_push: translations_pull makemessages zanata-cli push translations_pull: diff --git a/archaeological_context_records/admin.py b/archaeological_context_records/admin.py index 2f6bb3291..567f50014 100644 --- a/archaeological_context_records/admin.py +++ b/archaeological_context_records/admin.py @@ -36,8 +36,9 @@ admin.site.register(models.Dating, DatingAdmin) class ContextRecordAdmin(HistorizedObjectAdmin): list_display = ('label', 'length', 'width', 'thickness', 'depth') - list_filter = ('has_furniture',) - search_fields = ('label', 'parcel__operation__common_name', 'datings__period__label') + list_filter = ('documentations',) + search_fields = ('label', 'parcel__operation__common_name', + 'datings__period__label') model = models.ContextRecord admin.site.register(models.ContextRecord, ContextRecordAdmin) @@ -65,8 +66,10 @@ class RelationTypeAdmin(admin.ModelAdmin): admin.site.register(models.RelationType, RelationTypeAdmin) + class UnitAdmin(admin.ModelAdmin): - list_display = ['label', 'txt_idx', 'parent', 'available', 'order', 'comment'] + list_display = ['label', 'txt_idx', 'parent', 'available', 'order', + 'comment'] admin.site.register(models.Unit, UnitAdmin) @@ -77,8 +80,9 @@ class IdentificationTypeAdmin(admin.ModelAdmin): admin.site.register(models.IdentificationType, IdentificationTypeAdmin) -general_models = [models.DatingType, models.DatingQuality, - models.ActivityType] +general_models = [ + models.DatingType, models.DatingQuality, models.DocumentationType, + models.ActivityType, models.ExcavationTechnicType] for model in general_models: admin.site.register(model, GeneralTypeAdmin) diff --git a/archaeological_context_records/forms.py b/archaeological_context_records/forms.py index 953d33417..522c69deb 100644 --- a/archaeological_context_records/forms.py +++ b/archaeological_context_records/forms.py @@ -130,7 +130,11 @@ class RecordFormSelection(forms.Form): class RecordFormGeneral(ManageOldType, forms.Form): form_label = _("General") file_upload = True - associated_models = {'parcel': Parcel, 'unit': models.Unit} + base_models = ["documentation"] + associated_models = { + 'parcel': Parcel, 'unit': models.Unit, + 'documentation': models.DocumentationType, + 'excavation_technic': models.ExcavationTechnicType} pk = forms.IntegerField(required=False, widget=forms.HiddenInput) operation_id = forms.IntegerField(widget=forms.HiddenInput) parcel = forms.ChoiceField(label=_("Parcel"), choices=[]) @@ -140,13 +144,20 @@ class RecordFormGeneral(ManageOldType, forms.Form): widget=forms.Textarea, required=False) comment = forms.CharField(label=_(u"General comment"), widget=forms.Textarea, required=False) + excavation_technic = forms.ChoiceField( + label=_(u"Excavation technique"), choices=[], required=False) length = forms.FloatField(label=_(u"Length (m)"), required=False) width = forms.FloatField(label=_(u"Width (m)"), required=False) thickness = forms.FloatField(label=_(u"Thickness (m)"), required=False) + diameter = forms.FloatField(label=_(u"Diameter (m)"), required=False) depth = forms.FloatField(label=_(u"Depth (m)"), required=False) - unit = forms.ChoiceField(label=_("Context record type"), required=False, choices=[]) - has_furniture = forms.NullBooleanField(label=_(u"Has furniture?"), - required=False) + depth_of_appearance = forms.FloatField( + label=_(u"Depth of appearance (m)"), required=False) + unit = forms.ChoiceField(label=_(u"Context record type"), required=False, + choices=[]) + documentation = forms.MultipleChoiceField( + label=_("Documentation"), choices=[], required=False, + widget=forms.CheckboxSelectMultiple) location = forms.CharField( label=_(u"Location"), widget=forms.Textarea, required=False, validators=[validators.MaxLengthValidator(200)]) @@ -208,6 +219,16 @@ class RecordFormGeneral(ManageOldType, forms.Form): self.fields['unit'].choices = models.Unit.get_types( initial=self.init_data.get('unit')) self.fields['unit'].help_text = models.Unit.get_help() + self.fields['excavation_technic'].choices = \ + models.ExcavationTechnicType.get_types( + initial=self.init_data.get('excavation_technic')) + self.fields['excavation_technic'].help_text = \ + models.ExcavationTechnicType.get_help() + self.fields['documentation'].choices = \ + models.DocumentationType.get_types(empty_first=False, + initial=self.init_data.get('documentation')) + self.fields['documentation'].help_text = \ + models.DocumentationType.get_help() def clean(self): # manage unique context record ID diff --git a/archaeological_context_records/locale/django.pot b/archaeological_context_records/locale/django.pot index fe47dae4f..eedcad733 100644 --- a/archaeological_context_records/locale/django.pot +++ b/archaeological_context_records/locale/django.pot @@ -7,11 +7,11 @@ msgid "" msgstr "" -#: forms.py:47 forms.py:51 models.py:198 models.py:565 wizards.py:77 +#: forms.py:47 forms.py:51 models.py:216 models.py:589 wizards.py:77 msgid "Operation" msgstr "" -#: forms.py:59 forms.py:137 models.py:200 models.py:533 +#: forms.py:59 forms.py:141 models.py:218 models.py:557 msgid "ID" msgstr "" @@ -35,7 +35,7 @@ msgstr "" msgid "Search within related operations" msgstr "" -#: forms.py:77 forms.py:233 models.py:56 +#: forms.py:77 forms.py:254 models.py:56 msgid "Period" msgstr "" @@ -51,7 +51,7 @@ msgstr "" msgid "Search within relations" msgstr "" -#: forms.py:111 forms.py:336 views.py:92 +#: forms.py:111 forms.py:357 views.py:92 msgid "Context record search" msgstr "" @@ -63,164 +63,176 @@ msgstr "" msgid "General" msgstr "" -#: forms.py:136 models.py:154 models.py:196 models.py:535 +#: forms.py:140 models.py:181 models.py:214 models.py:559 msgid "Parcel" msgstr "" -#: forms.py:139 models.py:201 models.py:536 -#: templates/ishtar/sheet_contextrecord.html:39 +#: forms.py:143 models.py:219 models.py:560 +#: templates/ishtar/sheet_contextrecord.html:30 msgid "Description" msgstr "" -#: forms.py:141 models.py:202 +#: forms.py:145 models.py:220 msgid "General comment" msgstr "" -#: forms.py:143 models.py:206 +#: forms.py:148 models.py:267 +msgid "Excavation technique" +msgstr "" + +#: forms.py:149 models.py:224 msgid "Length (m)" msgstr "" -#: forms.py:144 models.py:207 +#: forms.py:150 models.py:225 msgid "Width (m)" msgstr "" -#: forms.py:145 models.py:208 +#: forms.py:151 models.py:226 msgid "Thickness (m)" msgstr "" -#: forms.py:146 models.py:210 +#: forms.py:152 models.py:228 +msgid "Diameter (m)" +msgstr "" + +#: forms.py:153 models.py:229 msgid "Depth (m)" msgstr "" -#: forms.py:147 forms.py:355 models.py:218 models.py:534 +#: forms.py:155 models.py:231 +msgid "Depth of appearance (m)" +msgstr "" + +#: forms.py:156 forms.py:376 models.py:241 models.py:558 msgid "Context record type" msgstr "" -#: forms.py:148 models.py:220 -msgid "Has furniture?" +#: forms.py:159 ishtar_menu.py:48 +msgid "Documentation" msgstr "" -#: forms.py:151 models.py:212 +#: forms.py:162 models.py:233 msgid "Location" msgstr "" -#: forms.py:154 +#: forms.py:165 msgid "Image" msgstr "" -#: forms.py:155 +#: forms.py:166 #, python-format msgid "" "<p>Heavy images are resized to: %(width)dx%(height)d (ratio is preserved).</" "p>" msgstr "" -#: forms.py:222 +#: forms.py:243 msgid "This ID already exists for this operation." msgstr "" -#: forms.py:228 forms.py:255 models.py:67 +#: forms.py:249 forms.py:276 models.py:67 msgid "Dating" msgstr "" -#: forms.py:234 models.py:57 +#: forms.py:255 models.py:57 msgid "Start date" msgstr "" -#: forms.py:235 models.py:58 models.py:205 +#: forms.py:256 models.py:58 models.py:223 msgid "End date" msgstr "" -#: forms.py:236 models.py:61 +#: forms.py:257 models.py:61 msgid "Quality" msgstr "" -#: forms.py:237 models.py:39 models.py:59 +#: forms.py:258 models.py:39 models.py:59 msgid "Dating type" msgstr "" -#: forms.py:264 ishtar_menu.py:29 models.py:595 +#: forms.py:285 ishtar_menu.py:29 models.py:619 msgid "Context record" msgstr "" -#: forms.py:285 +#: forms.py:306 msgid "Relations" msgstr "" -#: forms.py:289 forms.py:297 models.py:223 -#: templates/ishtar/sheet_contextrecord.html:51 +#: forms.py:310 forms.py:318 models.py:244 +#: templates/ishtar/sheet_contextrecord.html:44 msgid "Interpretation" msgstr "" -#: forms.py:293 +#: forms.py:314 msgid "Comments on dating" msgstr "" -#: forms.py:295 models.py:222 +#: forms.py:316 models.py:243 msgid "Filling" msgstr "" -#: forms.py:299 models.py:243 +#: forms.py:320 models.py:264 msgid "Activity" msgstr "" -#: forms.py:301 models.py:241 +#: forms.py:322 models.py:262 msgid "Identification" msgstr "" -#: forms.py:303 models.py:226 +#: forms.py:324 models.py:247 msgid "TAQ" msgstr "" -#: forms.py:304 models.py:230 +#: forms.py:325 models.py:251 msgid "Estimated TAQ" msgstr "" -#: forms.py:306 models.py:233 +#: forms.py:327 models.py:254 msgid "TPQ" msgstr "" -#: forms.py:307 models.py:237 +#: forms.py:328 models.py:258 msgid "Estimated TPQ" msgstr "" -#: forms.py:322 +#: forms.py:343 msgid "Operation search" msgstr "" -#: forms.py:324 +#: forms.py:345 msgid "You should select an operation." msgstr "" -#: forms.py:329 +#: forms.py:350 msgid "Would you like to delete this context record?" msgstr "" -#: forms.py:338 +#: forms.py:359 msgid "You should select a context record." msgstr "" -#: forms.py:343 +#: forms.py:364 msgid "Year of the operation" msgstr "" -#: forms.py:345 +#: forms.py:366 msgid "Numeric reference" msgstr "" -#: forms.py:351 +#: forms.py:372 msgid "Town of the operation" msgstr "" -#: forms.py:353 +#: forms.py:374 msgid "Period of the context record" msgstr "" -#: forms.py:368 +#: forms.py:389 msgid "Documentation search" msgstr "" -#: forms.py:370 +#: forms.py:391 msgid "You should select a document." msgstr "" @@ -240,10 +252,6 @@ msgstr "" msgid "Deletion" msgstr "" -#: ishtar_menu.py:48 -msgid "Documentation" -msgstr "" - #: models.py:40 msgid "Dating types" msgstr "" @@ -296,180 +304,192 @@ msgstr "" msgid "Identification Types" msgstr "" -#: models.py:155 models.py:537 -msgid "Periods" +#: models.py:125 +msgid "Excavation technique type" msgstr "" -#: models.py:156 -msgid "Town" +#: models.py:126 +msgid "Excavation technique types" msgstr "" -#: models.py:184 -msgid "Parcel (town)" +#: models.py:134 +msgid "Documentation type" +msgstr "" + +#: models.py:135 +msgid "Documentation types" +msgstr "" + +#: models.py:172 models.py:561 +msgid "Periods" msgstr "" -#: models.py:185 +#: models.py:173 +msgid "Datings (period)" +msgstr "" + +#: models.py:174 msgid "Related context records" msgstr "" -#: models.py:187 +#: models.py:177 msgid "Parcel (external ID)" msgstr "" -#: models.py:188 -msgid "Datings (period)" +#: models.py:178 models.py:179 +msgid "Parcel (town)" msgstr "" -#: models.py:189 +#: models.py:180 msgid "Parcel (year)" msgstr "" -#: models.py:193 +#: models.py:211 msgid "External ID" msgstr "" -#: models.py:195 +#: models.py:213 msgid "External ID is set automatically" msgstr "" -#: models.py:203 +#: models.py:221 msgid "Date d'ouverture" msgstr "" -#: models.py:213 +#: models.py:234 msgid "A short description of the location of the context record" msgstr "" -#: models.py:216 +#: models.py:239 msgid "Comment on datings" msgstr "" -#: models.py:227 +#: models.py:248 msgid "" "\"Terminus Ante Quem\" the context record can't have been created after this " "date" msgstr "" -#: models.py:231 +#: models.py:252 msgid "Estimation of a \"Terminus Ante Quem\"" msgstr "" -#: models.py:234 +#: models.py:255 msgid "" "\"Terminus Post Quem\" the context record can't have been created before " "this date" msgstr "" -#: models.py:238 +#: models.py:259 msgid "Estimation of a \"Terminus Post Quem\"" msgstr "" -#: models.py:246 +#: models.py:270 msgid "Point" msgstr "" -#: models.py:247 +#: models.py:271 msgid "Polygon" msgstr "" -#: models.py:248 +#: models.py:272 msgid "Cached name" msgstr "" -#: models.py:252 models.py:253 templates/ishtar/sheet_contextrecord.html:4 +#: models.py:276 models.py:277 templates/ishtar/sheet_contextrecord.html:4 msgid "Context Record" msgstr "" -#: models.py:255 +#: models.py:279 msgid "Can view all Context Records" msgstr "" -#: models.py:257 +#: models.py:281 msgid "Can view own Context Record" msgstr "" -#: models.py:259 +#: models.py:283 msgid "Can add own Context Record" msgstr "" -#: models.py:261 +#: models.py:285 msgid "Can change own Context Record" msgstr "" -#: models.py:263 +#: models.py:287 msgid "Can delete own Context Record" msgstr "" -#: models.py:273 +#: models.py:297 msgctxt "short" msgid "Context record" msgstr "" -#: models.py:467 +#: models.py:491 msgid "Inverse relation" msgstr "" -#: models.py:471 models.py:494 models.py:532 +#: models.py:495 models.py:518 models.py:556 msgid "Relation type" msgstr "" -#: models.py:472 +#: models.py:496 msgid "Relation types" msgstr "" -#: models.py:489 +#: models.py:513 msgid "ID (left)" msgstr "" -#: models.py:490 +#: models.py:514 msgid "Context record type (left)" msgstr "" -#: models.py:491 +#: models.py:515 msgid "Parcel (left)" msgstr "" -#: models.py:492 +#: models.py:516 msgid "Description (left)" msgstr "" -#: models.py:493 +#: models.py:517 msgid "Periods (left)" msgstr "" -#: models.py:495 +#: models.py:519 msgid "ID (right)" msgstr "" -#: models.py:496 +#: models.py:520 msgid "Context record type (right)" msgstr "" -#: models.py:497 +#: models.py:521 msgid "Parcel (right)" msgstr "" -#: models.py:498 +#: models.py:522 msgid "Description (right)" msgstr "" -#: models.py:499 +#: models.py:523 msgid "Periods (right)" msgstr "" -#: models.py:508 +#: models.py:532 msgid "Record relation" msgstr "" -#: models.py:509 +#: models.py:533 msgid "Record relations" msgstr "" -#: models.py:592 +#: models.py:616 msgid "Context record documentation" msgstr "" -#: models.py:593 +#: models.py:617 msgid "Context record documentations" msgstr "" @@ -501,86 +521,86 @@ msgstr "" msgid "Context record: source deletion" msgstr "" -#: templates/ishtar/sheet_contextrecord.html:17 +#: templates/ishtar/sheet_contextrecord.html:18 msgid "Complete ID:" msgstr "" -#: templates/ishtar/sheet_contextrecord.html:17 -msgid "Temporary ID:" -msgstr "" - #: templates/ishtar/sheet_contextrecord.html:18 -msgid "Creation:" -msgstr "" - -#: templates/ishtar/sheet_contextrecord.html:25 -msgid "Modification:" +msgid "Temporary ID:" msgstr "" -#: templates/ishtar/sheet_contextrecord.html:63 +#: templates/ishtar/sheet_contextrecord.html:56 msgid "Datations" msgstr "" -#: templates/ishtar/sheet_contextrecord.html:72 +#: templates/ishtar/sheet_contextrecord.html:65 msgid "Context record relations" msgstr "" -#: templates/ishtar/sheet_contextrecord.html:79 +#: templates/ishtar/sheet_contextrecord.html:72 msgid "Operation summary" msgstr "" -#: templates/ishtar/sheet_contextrecord.html:81 +#: templates/ishtar/sheet_contextrecord.html:74 msgid "Patriarche OA code not yet recorded!" msgstr "" -#: templates/ishtar/sheet_contextrecord.html:88 +#: templates/ishtar/sheet_contextrecord.html:78 +msgid "Numerical reference" +msgstr "" + +#: templates/ishtar/sheet_contextrecord.html:82 msgid "State:" msgstr "" -#: templates/ishtar/sheet_contextrecord.html:88 +#: templates/ishtar/sheet_contextrecord.html:82 msgid "Active file" msgstr "" -#: templates/ishtar/sheet_contextrecord.html:88 +#: templates/ishtar/sheet_contextrecord.html:82 msgid "Closed operation" msgstr "" -#: templates/ishtar/sheet_contextrecord.html:90 +#: templates/ishtar/sheet_contextrecord.html:84 msgid "Closing date:" msgstr "" -#: templates/ishtar/sheet_contextrecord.html:90 +#: templates/ishtar/sheet_contextrecord.html:84 msgid "by" msgstr "" -#: templates/ishtar/sheet_contextrecord.html:98 +#: templates/ishtar/sheet_contextrecord.html:92 msgid "Localisation" msgstr "" -#: templates/ishtar/sheet_contextrecord.html:99 +#: templates/ishtar/sheet_contextrecord.html:93 msgid "Towns:" msgstr "" -#: templates/ishtar/sheet_contextrecord.html:100 +#: templates/ishtar/sheet_contextrecord.html:94 msgid "Related operation:" msgstr "" -#: templates/ishtar/sheet_contextrecord.html:102 +#: templates/ishtar/sheet_contextrecord.html:96 msgid "No operation linked to this context unit!" msgstr "" -#: templates/ishtar/sheet_contextrecord.html:105 +#: templates/ishtar/sheet_contextrecord.html:99 msgid "Document from this context record" msgstr "" -#: templates/ishtar/sheet_contextrecord.html:110 +#: templates/ishtar/sheet_contextrecord.html:104 msgid "Finds" msgstr "" -#: templates/ishtar/sheet_contextrecord.html:115 +#: templates/ishtar/sheet_contextrecord.html:109 msgid "Documents from associated finds" msgstr "" #: templates/ishtar/sheet_contextrecordsource.html:4 msgid "Context record source" msgstr "" + +#: templates/ishtar/sheet_contextrecordsource.html:11 +msgid "Related context record" +msgstr "" diff --git a/archaeological_context_records/migrations/0030_auto__add_excavationtechnictype__add_field_contextrecord_excavation_te.py b/archaeological_context_records/migrations/0030_auto__add_excavationtechnictype__add_field_contextrecord_excavation_te.py new file mode 100644 index 000000000..3a4097451 --- /dev/null +++ b/archaeological_context_records/migrations/0030_auto__add_excavationtechnictype__add_field_contextrecord_excavation_te.py @@ -0,0 +1,690 @@ +# -*- 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 'ExcavationTechnicType' + db.create_table('archaeological_context_records_excavationtechnictype', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('label', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=100)), + ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), + ('available', self.gf('django.db.models.fields.BooleanField')(default=True)), + )) + db.send_create_signal('archaeological_context_records', ['ExcavationTechnicType']) + + # Adding field 'ContextRecord.excavation_technic' + db.add_column('archaeological_context_records_contextrecord', 'excavation_technic', + self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_context_records.ExcavationTechnicType'], null=True, blank=True), + keep_default=False) + + # Adding field 'HistoricalContextRecord.excavation_technic_id' + db.add_column('archaeological_context_records_historicalcontextrecord', 'excavation_technic_id', + self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True), + keep_default=False) + + + def backwards(self, orm): + # Deleting model 'ExcavationTechnicType' + db.delete_table('archaeological_context_records_excavationtechnictype') + + # Deleting field 'ContextRecord.excavation_technic' + db.delete_column('archaeological_context_records_contextrecord', 'excavation_technic_id') + + # Deleting field 'HistoricalContextRecord.excavation_technic_id' + db.delete_column('archaeological_context_records_historicalcontextrecord', 'excavation_technic_id') + + + models = { + 'archaeological_context_records.activitytype': { + 'Meta': {'ordering': "('order',)", 'object_name': 'ActivityType'}, + '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', [], {}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'archaeological_context_records.contextrecord': { + 'Meta': {'ordering': "('cached_label',)", 'object_name': 'ContextRecord'}, + 'activity': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.ActivityType']", 'null': 'True', 'blank': 'True'}), + 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'closing_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'datings': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_context_records.Dating']", 'symmetrical': 'False'}), + 'datings_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'depth': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'excavation_technic': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.ExcavationTechnicType']", 'null': 'True', 'blank': 'True'}), + 'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'filling': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'has_furniture': ('django.db.models.fields.NullBooleanField', [], {'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'}), + 'identification': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.IdentificationType']", 'null': 'True', 'blank': 'True'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_context_records_contextrecord'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'interpretation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'length': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'location': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'opening_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'operation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'context_record'", 'to': "orm['archaeological_operations.Operation']"}), + 'parcel': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'context_record'", 'to': "orm['archaeological_operations.Parcel']"}), + 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'dim': '3', 'null': 'True', 'blank': 'True'}), + 'polygon': ('django.contrib.gis.db.models.fields.PolygonField', [], {'null': 'True', 'blank': 'True'}), + 'related_context_records': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_context_records.ContextRecord']", 'null': 'True', 'through': "orm['archaeological_context_records.RecordRelations']", 'blank': 'True'}), + 'taq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'taq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'thickness': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'tpq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'tpq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'unit': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['archaeological_context_records.Unit']"}), + 'width': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_context_records.contextrecordsource': { + 'Meta': {'object_name': 'ContextRecordSource'}, + 'additional_information': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'associated_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'authors': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'contextrecordsource_related'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Author']"}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'context_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_context_records.ContextRecord']"}), + 'creation_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'duplicate': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}), + 'format_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Format']", 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'item_number': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'receipt_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'receipt_date_in_documentation': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'scale': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'source_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SourceType']"}), + 'support_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SupportType']", 'null': 'True', 'blank': 'True'}), + 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) + }, + 'archaeological_context_records.dating': { + 'Meta': {'object_name': 'Dating'}, + 'dating_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.DatingType']", 'null': 'True', 'blank': 'True'}), + 'end_date': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'period': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']"}), + 'precise_dating': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'quality': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.DatingQuality']", 'null': 'True', 'blank': 'True'}), + 'start_date': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_context_records.datingquality': { + 'Meta': {'ordering': "('label',)", 'object_name': 'DatingQuality'}, + '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'}) + }, + 'archaeological_context_records.datingtype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'DatingType'}, + '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'}) + }, + 'archaeological_context_records.excavationtechnictype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'ExcavationTechnicType'}, + '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'}) + }, + 'archaeological_context_records.historicalcontextrecord': { + 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalContextRecord'}, + 'activity_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'closing_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'datings_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'depth': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'excavation_technic_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'filling': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'has_furniture': ('django.db.models.fields.NullBooleanField', [], {'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'}), + 'identification_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'interpretation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'length': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'location': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'opening_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'operation_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'parcel_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'dim': '3', 'null': 'True', 'blank': 'True'}), + 'polygon': ('django.contrib.gis.db.models.fields.PolygonField', [], {'null': 'True', 'blank': 'True'}), + 'taq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'taq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'thickness': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'tpq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'tpq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'unit_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'width': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_context_records.identificationtype': { + 'Meta': {'ordering': "('order', 'label')", 'object_name': 'IdentificationType'}, + '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', [], {}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'archaeological_context_records.recordrelations': { + 'Meta': {'object_name': 'RecordRelations'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'left_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'right_relations'", 'to': "orm['archaeological_context_records.ContextRecord']"}), + 'relation_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.RelationType']"}), + 'right_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'left_relations'", 'to': "orm['archaeological_context_records.ContextRecord']"}) + }, + 'archaeological_context_records.recordrelationview': { + 'Meta': {'unique_together': "(('id', 'right_record'),)", 'object_name': 'RecordRelationView', 'db_table': "'record_relations'", 'managed': 'False'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'left_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.DO_NOTHING', 'to': "orm['archaeological_context_records.ContextRecord']"}), + 'relation_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.DO_NOTHING', 'to': "orm['archaeological_context_records.RelationType']"}), + 'right_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.DO_NOTHING', 'to': "orm['archaeological_context_records.ContextRecord']"}) + }, + 'archaeological_context_records.relationtype': { + 'Meta': {'ordering': "('order', 'label')", 'object_name': 'RelationType'}, + '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'}), + 'inverse_relation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.RelationType']", 'null': 'True', 'blank': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'symmetrical': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'tiny_label': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'archaeological_context_records.unit': { + 'Meta': {'ordering': "('order', 'label')", 'object_name': 'Unit'}, + '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', [], {}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.Unit']", 'null': 'True', 'blank': 'True'}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'archaeological_files.file': { + 'Meta': {'ordering': "('cached_label',)", 'object_name': 'File'}, + 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'cira_advised': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'classified_area': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'corporation_general_contractor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'general_contractor_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today', 'null': 'True', 'blank': 'True'}), + 'departments': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}), + 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}), + 'file_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.FileType']"}), + 'general_contractor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'general_contractor_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + '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'}), + 'imported_line': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_files_file'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'file_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'instruction_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '60', 'null': 'True', 'blank': 'True'}), + 'locality': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'main_town': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'file_main'", 'null': 'True', 'to': "orm['ishtar_common.Town']"}), + 'mh_listing': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'mh_register': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'numeric_reference': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'organization': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'permit_reference': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'permit_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.PermitType']", 'null': 'True', 'blank': 'True'}), + 'planning_service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'planning_service_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'protected_area': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'raw_general_contractor': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'raw_town_planning_service': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'reception_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'related_file': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.File']", 'null': 'True', 'blank': 'True'}), + 'requested_operation_type': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.OperationType']"}), + 'research_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'responsible_town_planning_service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'responsible_town_planning_service_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'saisine_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.SaisineType']", 'null': 'True', 'blank': 'True'}), + 'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'scientist'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'total_developed_surface': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'total_surface': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'file'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}), + 'year': ('django.db.models.fields.IntegerField', [], {'default': '2017'}) + }, + 'archaeological_files.filetype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'FileType'}, + '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'}) + }, + 'archaeological_files.permittype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'PermitType'}, + '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'}) + }, + 'archaeological_files.saisinetype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'SaisineType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'delay': ('django.db.models.fields.IntegerField', [], {'default': '30'}), + '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'}) + }, + 'archaeological_operations.archaeologicalsite': { + 'Meta': {'object_name': 'ArchaeologicalSite'}, + '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_archaeological_operations_archaeologicalsite'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}), + 'reference': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '20'}), + 'remains': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.RemainType']", 'null': 'True', 'blank': 'True'}) + }, + 'archaeological_operations.operation': { + 'Meta': {'ordering': "('cached_label',)", 'object_name': 'Operation'}, + 'abstract': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'archaeological_sites': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.ArchaeologicalSite']", 'null': 'True', 'blank': 'True'}), + 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operations'", 'null': 'True', 'to': "orm['archaeological_files.File']"}), + 'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), + 'cira_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'cira_rapporteur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'cira_rapporteur'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'code_patriarche': ('django.db.models.fields.IntegerField', [], {'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'common_name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}), + 'documentation_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'documentation_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'eas_number': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}), + 'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'finds_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'finds_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'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'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_operation'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'multi_polygon': ('django.contrib.gis.db.models.fields.MultiPolygonField', [], {'null': 'True', 'blank': 'True'}), + 'negative_result': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'old_code': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'operation_code': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'operation_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['ishtar_common.OperationType']"}), + 'operator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operator'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}), + 'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}), + 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'null': 'True', 'blank': 'True'}), + 'record_quality': ('django.db.models.fields.CharField', [], {'max_length': '2', 'null': 'True', 'blank': 'True'}), + 'remains': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.RemainType']", 'null': 'True', 'blank': 'True'}), + 'report_delivery_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'report_processing': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.ReportState']", 'null': 'True', 'blank': 'True'}), + 'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'scientific_documentation_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_scientist_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'operations'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}), + 'virtual_operation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_operations.parcel': { + 'Meta': {'ordering': "('year', 'section', 'parcel_number')", 'object_name': 'Parcel'}, + 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_files.File']"}), + 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '100', '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_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + '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_archaeological_operations_parcel'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}), + 'parcel_number': ('django.db.models.fields.CharField', [], {'max_length': '6', 'null': 'True', 'blank': 'True'}), + 'public_domain': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'section': ('django.db.models.fields.CharField', [], {'max_length': '4', 'null': 'True', 'blank': 'True'}), + 'town': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'parcels'", 'to': "orm['ishtar_common.Town']"}), + 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_operations.period': { + 'Meta': {'ordering': "('order',)", 'object_name': 'Period'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'end_date': ('django.db.models.fields.IntegerField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'order': ('django.db.models.fields.IntegerField', [], {}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}), + 'start_date': ('django.db.models.fields.IntegerField', [], {}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'archaeological_operations.remaintype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'RemainType'}, + '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'}) + }, + 'archaeological_operations.reportstate': { + 'Meta': {'ordering': "('order',)", 'object_name': 'ReportState'}, + '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', [], {}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + '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.format': { + 'Meta': {'ordering': "['label']", '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.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'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '500', '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.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': {'ordering': "('name',)", '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.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.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.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.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.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 = ['archaeological_context_records']
\ No newline at end of file diff --git a/archaeological_context_records/migrations/0031_auto__add_documentationtype__add_field_contextrecord_diameter__add_fie.py b/archaeological_context_records/migrations/0031_auto__add_documentationtype__add_field_contextrecord_diameter__add_fie.py new file mode 100644 index 000000000..f56f26e9f --- /dev/null +++ b/archaeological_context_records/migrations/0031_auto__add_documentationtype__add_field_contextrecord_diameter__add_fie.py @@ -0,0 +1,732 @@ +# -*- 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 'DocumentationType' + db.create_table('archaeological_context_records_documentationtype', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('label', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=100)), + ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), + ('available', self.gf('django.db.models.fields.BooleanField')(default=True)), + )) + db.send_create_signal('archaeological_context_records', ['DocumentationType']) + + # Adding field 'ContextRecord.diameter' + db.add_column('archaeological_context_records_contextrecord', 'diameter', + self.gf('django.db.models.fields.FloatField')(null=True, blank=True), + keep_default=False) + + # Adding field 'ContextRecord.depth_of_appearance' + db.add_column('archaeological_context_records_contextrecord', 'depth_of_appearance', + self.gf('django.db.models.fields.FloatField')(null=True, blank=True), + keep_default=False) + + # Adding M2M table for field documentations on 'ContextRecord' + db.create_table('archaeological_context_records_contextrecord_documentations', ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('contextrecord', models.ForeignKey(orm['archaeological_context_records.contextrecord'], null=False)), + ('documentationtype', models.ForeignKey(orm['archaeological_context_records.documentationtype'], null=False)) + )) + db.create_unique('archaeological_context_records_contextrecord_documentations', ['contextrecord_id', 'documentationtype_id']) + + # Adding field 'HistoricalContextRecord.diameter' + db.add_column('archaeological_context_records_historicalcontextrecord', 'diameter', + self.gf('django.db.models.fields.FloatField')(null=True, blank=True), + keep_default=False) + + # Adding field 'HistoricalContextRecord.depth_of_appearance' + db.add_column('archaeological_context_records_historicalcontextrecord', 'depth_of_appearance', + self.gf('django.db.models.fields.FloatField')(null=True, blank=True), + keep_default=False) + + + def backwards(self, orm): + # Deleting model 'DocumentationType' + db.delete_table('archaeological_context_records_documentationtype') + + # Deleting field 'ContextRecord.diameter' + db.delete_column('archaeological_context_records_contextrecord', 'diameter') + + # Deleting field 'ContextRecord.depth_of_appearance' + db.delete_column('archaeological_context_records_contextrecord', 'depth_of_appearance') + + # Removing M2M table for field documentations on 'ContextRecord' + db.delete_table('archaeological_context_records_contextrecord_documentations') + + # Deleting field 'HistoricalContextRecord.diameter' + db.delete_column('archaeological_context_records_historicalcontextrecord', 'diameter') + + # Deleting field 'HistoricalContextRecord.depth_of_appearance' + db.delete_column('archaeological_context_records_historicalcontextrecord', 'depth_of_appearance') + + + models = { + 'archaeological_context_records.activitytype': { + 'Meta': {'ordering': "('order',)", 'object_name': 'ActivityType'}, + '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', [], {}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'archaeological_context_records.contextrecord': { + 'Meta': {'ordering': "('cached_label',)", 'object_name': 'ContextRecord'}, + 'activity': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.ActivityType']", 'null': 'True', 'blank': 'True'}), + 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'closing_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'datings': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_context_records.Dating']", 'symmetrical': 'False'}), + 'datings_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'depth': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'depth_of_appearance': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'diameter': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'documentations': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_context_records.DocumentationType']", 'symmetrical': 'False'}), + 'excavation_technic': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.ExcavationTechnicType']", 'null': 'True', 'blank': 'True'}), + 'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'filling': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'has_furniture': ('django.db.models.fields.NullBooleanField', [], {'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'}), + 'identification': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.IdentificationType']", 'null': 'True', 'blank': 'True'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_context_records_contextrecord'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'interpretation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'length': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'location': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'opening_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'operation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'context_record'", 'to': "orm['archaeological_operations.Operation']"}), + 'parcel': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'context_record'", 'to': "orm['archaeological_operations.Parcel']"}), + 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'dim': '3', 'null': 'True', 'blank': 'True'}), + 'polygon': ('django.contrib.gis.db.models.fields.PolygonField', [], {'null': 'True', 'blank': 'True'}), + 'related_context_records': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_context_records.ContextRecord']", 'null': 'True', 'through': "orm['archaeological_context_records.RecordRelations']", 'blank': 'True'}), + 'taq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'taq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'thickness': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'tpq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'tpq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'unit': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['archaeological_context_records.Unit']"}), + 'width': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_context_records.contextrecordsource': { + 'Meta': {'object_name': 'ContextRecordSource'}, + 'additional_information': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'associated_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'authors': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'contextrecordsource_related'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Author']"}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'context_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_context_records.ContextRecord']"}), + 'creation_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'duplicate': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}), + 'format_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Format']", 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'item_number': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'receipt_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'receipt_date_in_documentation': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'scale': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'source_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SourceType']"}), + 'support_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SupportType']", 'null': 'True', 'blank': 'True'}), + 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) + }, + 'archaeological_context_records.dating': { + 'Meta': {'object_name': 'Dating'}, + 'dating_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.DatingType']", 'null': 'True', 'blank': 'True'}), + 'end_date': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'period': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']"}), + 'precise_dating': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'quality': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.DatingQuality']", 'null': 'True', 'blank': 'True'}), + 'start_date': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_context_records.datingquality': { + 'Meta': {'ordering': "('label',)", 'object_name': 'DatingQuality'}, + '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'}) + }, + 'archaeological_context_records.datingtype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'DatingType'}, + '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'}) + }, + 'archaeological_context_records.documentationtype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'DocumentationType'}, + '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'}) + }, + 'archaeological_context_records.excavationtechnictype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'ExcavationTechnicType'}, + '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'}) + }, + 'archaeological_context_records.historicalcontextrecord': { + 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalContextRecord'}, + 'activity_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'closing_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'datings_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'depth': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'depth_of_appearance': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'diameter': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'excavation_technic_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'filling': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'has_furniture': ('django.db.models.fields.NullBooleanField', [], {'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'}), + 'identification_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'interpretation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'length': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'location': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'opening_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'operation_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'parcel_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'dim': '3', 'null': 'True', 'blank': 'True'}), + 'polygon': ('django.contrib.gis.db.models.fields.PolygonField', [], {'null': 'True', 'blank': 'True'}), + 'taq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'taq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'thickness': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'tpq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'tpq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'unit_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'width': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_context_records.identificationtype': { + 'Meta': {'ordering': "('order', 'label')", 'object_name': 'IdentificationType'}, + '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', [], {}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'archaeological_context_records.recordrelations': { + 'Meta': {'object_name': 'RecordRelations'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'left_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'right_relations'", 'to': "orm['archaeological_context_records.ContextRecord']"}), + 'relation_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.RelationType']"}), + 'right_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'left_relations'", 'to': "orm['archaeological_context_records.ContextRecord']"}) + }, + 'archaeological_context_records.recordrelationview': { + 'Meta': {'unique_together': "(('id', 'right_record'),)", 'object_name': 'RecordRelationView', 'db_table': "'record_relations'", 'managed': 'False'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'left_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.DO_NOTHING', 'to': "orm['archaeological_context_records.ContextRecord']"}), + 'relation_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.DO_NOTHING', 'to': "orm['archaeological_context_records.RelationType']"}), + 'right_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.DO_NOTHING', 'to': "orm['archaeological_context_records.ContextRecord']"}) + }, + 'archaeological_context_records.relationtype': { + 'Meta': {'ordering': "('order', 'label')", 'object_name': 'RelationType'}, + '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'}), + 'inverse_relation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.RelationType']", 'null': 'True', 'blank': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'symmetrical': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'tiny_label': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'archaeological_context_records.unit': { + 'Meta': {'ordering': "('order', 'label')", 'object_name': 'Unit'}, + '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', [], {}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.Unit']", 'null': 'True', 'blank': 'True'}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'archaeological_files.file': { + 'Meta': {'ordering': "('cached_label',)", 'object_name': 'File'}, + 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'cira_advised': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'classified_area': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'corporation_general_contractor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'general_contractor_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today', 'null': 'True', 'blank': 'True'}), + 'departments': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}), + 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}), + 'file_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.FileType']"}), + 'general_contractor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'general_contractor_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + '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'}), + 'imported_line': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_files_file'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'file_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'instruction_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '60', 'null': 'True', 'blank': 'True'}), + 'locality': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'main_town': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'file_main'", 'null': 'True', 'to': "orm['ishtar_common.Town']"}), + 'mh_listing': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'mh_register': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'numeric_reference': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'organization': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'permit_reference': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'permit_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.PermitType']", 'null': 'True', 'blank': 'True'}), + 'planning_service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'planning_service_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'protected_area': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'raw_general_contractor': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'raw_town_planning_service': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'reception_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'related_file': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.File']", 'null': 'True', 'blank': 'True'}), + 'requested_operation_type': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.OperationType']"}), + 'research_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'responsible_town_planning_service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'responsible_town_planning_service_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'saisine_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.SaisineType']", 'null': 'True', 'blank': 'True'}), + 'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'scientist'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'total_developed_surface': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'total_surface': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'file'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}), + 'year': ('django.db.models.fields.IntegerField', [], {'default': '2017'}) + }, + 'archaeological_files.filetype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'FileType'}, + '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'}) + }, + 'archaeological_files.permittype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'PermitType'}, + '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'}) + }, + 'archaeological_files.saisinetype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'SaisineType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'delay': ('django.db.models.fields.IntegerField', [], {'default': '30'}), + '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'}) + }, + 'archaeological_operations.archaeologicalsite': { + 'Meta': {'object_name': 'ArchaeologicalSite'}, + '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_archaeological_operations_archaeologicalsite'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}), + 'reference': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '20'}), + 'remains': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.RemainType']", 'null': 'True', 'blank': 'True'}) + }, + 'archaeological_operations.operation': { + 'Meta': {'ordering': "('cached_label',)", 'object_name': 'Operation'}, + 'abstract': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'archaeological_sites': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.ArchaeologicalSite']", 'null': 'True', 'blank': 'True'}), + 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operations'", 'null': 'True', 'to': "orm['archaeological_files.File']"}), + 'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), + 'cira_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'cira_rapporteur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'cira_rapporteur'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'code_patriarche': ('django.db.models.fields.IntegerField', [], {'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'common_name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}), + 'documentation_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'documentation_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'eas_number': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}), + 'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'finds_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'finds_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'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'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_operation'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'multi_polygon': ('django.contrib.gis.db.models.fields.MultiPolygonField', [], {'null': 'True', 'blank': 'True'}), + 'negative_result': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'old_code': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'operation_code': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'operation_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['ishtar_common.OperationType']"}), + 'operator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operator'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}), + 'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}), + 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'null': 'True', 'blank': 'True'}), + 'record_quality': ('django.db.models.fields.CharField', [], {'max_length': '2', 'null': 'True', 'blank': 'True'}), + 'remains': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.RemainType']", 'null': 'True', 'blank': 'True'}), + 'report_delivery_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'report_processing': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.ReportState']", 'null': 'True', 'blank': 'True'}), + 'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'scientific_documentation_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_scientist_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'operations'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}), + 'virtual_operation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_operations.parcel': { + 'Meta': {'ordering': "('year', 'section', 'parcel_number')", 'object_name': 'Parcel'}, + 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_files.File']"}), + 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '100', '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_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + '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_archaeological_operations_parcel'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}), + 'parcel_number': ('django.db.models.fields.CharField', [], {'max_length': '6', 'null': 'True', 'blank': 'True'}), + 'public_domain': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'section': ('django.db.models.fields.CharField', [], {'max_length': '4', 'null': 'True', 'blank': 'True'}), + 'town': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'parcels'", 'to': "orm['ishtar_common.Town']"}), + 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_operations.period': { + 'Meta': {'ordering': "('order',)", 'object_name': 'Period'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'end_date': ('django.db.models.fields.IntegerField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'order': ('django.db.models.fields.IntegerField', [], {}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}), + 'start_date': ('django.db.models.fields.IntegerField', [], {}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'archaeological_operations.remaintype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'RemainType'}, + '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'}) + }, + 'archaeological_operations.reportstate': { + 'Meta': {'ordering': "('order',)", 'object_name': 'ReportState'}, + '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', [], {}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + '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': {'ordering': "('author_type__order', 'person__name')", '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': "['order', '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'}), + 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + '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.format': { + 'Meta': {'ordering': "['label']", '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.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'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '500', '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.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': {'ordering': "('name',)", '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.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.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.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.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.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 = ['archaeological_context_records']
\ No newline at end of file diff --git a/archaeological_context_records/migrations/0032_has_furniture_to_documentations.py b/archaeological_context_records/migrations/0032_has_furniture_to_documentations.py new file mode 100644 index 000000000..0b5de776a --- /dev/null +++ b/archaeological_context_records/migrations/0032_has_furniture_to_documentations.py @@ -0,0 +1,686 @@ +# -*- 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): + has_fur, created = orm[ + 'archaeological_context_records.DocumentationType' + ].objects.get_or_create( + txt_idx='has-furniture', defaults={"label": u"Présence de mobilier"} + ) + for cr in orm['archaeological_context_records.ContextRecord' + ].objects.filter(has_furniture=True).all(): + if has_fur not in cr.documentations.all(): + cr.documentations.add(has_fur) + + def backwards(self, orm): + pass + + models = { + 'archaeological_context_records.activitytype': { + 'Meta': {'ordering': "('order',)", 'object_name': 'ActivityType'}, + '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', [], {}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'archaeological_context_records.contextrecord': { + 'Meta': {'ordering': "('cached_label',)", 'object_name': 'ContextRecord'}, + 'activity': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.ActivityType']", 'null': 'True', 'blank': 'True'}), + 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'closing_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'datings': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_context_records.Dating']", 'symmetrical': 'False'}), + 'datings_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'depth': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'depth_of_appearance': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'diameter': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'documentations': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_context_records.DocumentationType']", 'null': 'True', 'blank': 'True'}), + 'excavation_technic': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.ExcavationTechnicType']", 'null': 'True', 'blank': 'True'}), + 'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'filling': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'has_furniture': ('django.db.models.fields.NullBooleanField', [], {'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'}), + 'identification': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.IdentificationType']", 'null': 'True', 'blank': 'True'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_context_records_contextrecord'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'interpretation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'length': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'location': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'opening_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'operation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'context_record'", 'to': "orm['archaeological_operations.Operation']"}), + 'parcel': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'context_record'", 'to': "orm['archaeological_operations.Parcel']"}), + 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'dim': '3', 'null': 'True', 'blank': 'True'}), + 'polygon': ('django.contrib.gis.db.models.fields.PolygonField', [], {'null': 'True', 'blank': 'True'}), + 'related_context_records': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_context_records.ContextRecord']", 'null': 'True', 'through': "orm['archaeological_context_records.RecordRelations']", 'blank': 'True'}), + 'taq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'taq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'thickness': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'tpq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'tpq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'unit': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['archaeological_context_records.Unit']"}), + 'width': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_context_records.contextrecordsource': { + 'Meta': {'object_name': 'ContextRecordSource'}, + 'additional_information': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'associated_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'authors': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'contextrecordsource_related'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Author']"}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'context_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_context_records.ContextRecord']"}), + 'creation_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'duplicate': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}), + 'format_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Format']", 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'item_number': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'receipt_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'receipt_date_in_documentation': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'scale': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'source_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SourceType']"}), + 'support_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SupportType']", 'null': 'True', 'blank': 'True'}), + 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) + }, + 'archaeological_context_records.dating': { + 'Meta': {'object_name': 'Dating'}, + 'dating_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.DatingType']", 'null': 'True', 'blank': 'True'}), + 'end_date': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'period': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']"}), + 'precise_dating': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'quality': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.DatingQuality']", 'null': 'True', 'blank': 'True'}), + 'start_date': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_context_records.datingquality': { + 'Meta': {'ordering': "('label',)", 'object_name': 'DatingQuality'}, + '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'}) + }, + 'archaeological_context_records.datingtype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'DatingType'}, + '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'}) + }, + 'archaeological_context_records.documentationtype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'DocumentationType'}, + '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'}) + }, + 'archaeological_context_records.excavationtechnictype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'ExcavationTechnicType'}, + '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'}) + }, + 'archaeological_context_records.historicalcontextrecord': { + 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalContextRecord'}, + 'activity_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'closing_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'datings_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'depth': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'depth_of_appearance': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'diameter': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'excavation_technic_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'filling': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'has_furniture': ('django.db.models.fields.NullBooleanField', [], {'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'}), + 'identification_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'interpretation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'length': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'location': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'opening_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'operation_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'parcel_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'dim': '3', 'null': 'True', 'blank': 'True'}), + 'polygon': ('django.contrib.gis.db.models.fields.PolygonField', [], {'null': 'True', 'blank': 'True'}), + 'taq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'taq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'thickness': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'tpq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'tpq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'unit_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'width': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_context_records.identificationtype': { + 'Meta': {'ordering': "('order', 'label')", 'object_name': 'IdentificationType'}, + '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', [], {}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'archaeological_context_records.recordrelations': { + 'Meta': {'object_name': 'RecordRelations'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'left_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'right_relations'", 'to': "orm['archaeological_context_records.ContextRecord']"}), + 'relation_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.RelationType']"}), + 'right_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'left_relations'", 'to': "orm['archaeological_context_records.ContextRecord']"}) + }, + 'archaeological_context_records.recordrelationview': { + 'Meta': {'unique_together': "(('id', 'right_record'),)", 'object_name': 'RecordRelationView', 'db_table': "'record_relations'", 'managed': 'False'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'left_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.DO_NOTHING', 'to': "orm['archaeological_context_records.ContextRecord']"}), + 'relation_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.DO_NOTHING', 'to': "orm['archaeological_context_records.RelationType']"}), + 'right_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.DO_NOTHING', 'to': "orm['archaeological_context_records.ContextRecord']"}) + }, + 'archaeological_context_records.relationtype': { + 'Meta': {'ordering': "('order', 'label')", 'object_name': 'RelationType'}, + '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'}), + 'inverse_relation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.RelationType']", 'null': 'True', 'blank': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'symmetrical': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'tiny_label': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'archaeological_context_records.unit': { + 'Meta': {'ordering': "('order', 'label')", 'object_name': 'Unit'}, + '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', [], {}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.Unit']", 'null': 'True', 'blank': 'True'}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'archaeological_files.file': { + 'Meta': {'ordering': "('cached_label',)", 'object_name': 'File'}, + 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'cira_advised': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'classified_area': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'corporation_general_contractor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'general_contractor_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today', 'null': 'True', 'blank': 'True'}), + 'departments': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}), + 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}), + 'file_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.FileType']"}), + 'general_contractor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'general_contractor_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + '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'}), + 'imported_line': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_files_file'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'file_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'instruction_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '60', 'null': 'True', 'blank': 'True'}), + 'locality': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'main_town': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'file_main'", 'null': 'True', 'to': "orm['ishtar_common.Town']"}), + 'mh_listing': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'mh_register': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'numeric_reference': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'organization': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'permit_reference': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'permit_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.PermitType']", 'null': 'True', 'blank': 'True'}), + 'planning_service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'planning_service_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'protected_area': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'raw_general_contractor': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'raw_town_planning_service': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'reception_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'related_file': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.File']", 'null': 'True', 'blank': 'True'}), + 'requested_operation_type': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.OperationType']"}), + 'research_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'responsible_town_planning_service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'responsible_town_planning_service_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'saisine_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.SaisineType']", 'null': 'True', 'blank': 'True'}), + 'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'scientist'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'total_developed_surface': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'total_surface': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'file'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}), + 'year': ('django.db.models.fields.IntegerField', [], {'default': '2017'}) + }, + 'archaeological_files.filetype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'FileType'}, + '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'}) + }, + 'archaeological_files.permittype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'PermitType'}, + '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'}) + }, + 'archaeological_files.saisinetype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'SaisineType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'delay': ('django.db.models.fields.IntegerField', [], {'default': '30'}), + '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'}) + }, + 'archaeological_operations.archaeologicalsite': { + 'Meta': {'object_name': 'ArchaeologicalSite'}, + '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_archaeological_operations_archaeologicalsite'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}), + 'reference': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '20'}), + 'remains': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.RemainType']", 'null': 'True', 'blank': 'True'}) + }, + 'archaeological_operations.operation': { + 'Meta': {'ordering': "('cached_label',)", 'object_name': 'Operation'}, + 'abstract': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'archaeological_sites': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.ArchaeologicalSite']", 'null': 'True', 'blank': 'True'}), + 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operations'", 'null': 'True', 'to': "orm['archaeological_files.File']"}), + 'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), + 'cira_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'cira_rapporteur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'cira_rapporteur'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'code_patriarche': ('django.db.models.fields.IntegerField', [], {'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'common_name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}), + 'documentation_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'documentation_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'eas_number': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}), + 'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'finds_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'finds_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'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'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_operation'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'multi_polygon': ('django.contrib.gis.db.models.fields.MultiPolygonField', [], {'null': 'True', 'blank': 'True'}), + 'negative_result': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'old_code': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'operation_code': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'operation_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['ishtar_common.OperationType']"}), + 'operator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operator'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}), + 'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}), + 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'null': 'True', 'blank': 'True'}), + 'record_quality': ('django.db.models.fields.CharField', [], {'max_length': '2', 'null': 'True', 'blank': 'True'}), + 'remains': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.RemainType']", 'null': 'True', 'blank': 'True'}), + 'report_delivery_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'report_processing': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.ReportState']", 'null': 'True', 'blank': 'True'}), + 'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'scientific_documentation_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_scientist_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'operations'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}), + 'virtual_operation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_operations.parcel': { + 'Meta': {'ordering': "('year', 'section', 'parcel_number')", 'object_name': 'Parcel'}, + 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_files.File']"}), + 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '100', '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_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + '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_archaeological_operations_parcel'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}), + 'parcel_number': ('django.db.models.fields.CharField', [], {'max_length': '6', 'null': 'True', 'blank': 'True'}), + 'public_domain': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'section': ('django.db.models.fields.CharField', [], {'max_length': '4', 'null': 'True', 'blank': 'True'}), + 'town': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'parcels'", 'to': "orm['ishtar_common.Town']"}), + 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_operations.period': { + 'Meta': {'ordering': "('order',)", 'object_name': 'Period'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'end_date': ('django.db.models.fields.IntegerField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'order': ('django.db.models.fields.IntegerField', [], {}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}), + 'start_date': ('django.db.models.fields.IntegerField', [], {}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'archaeological_operations.remaintype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'RemainType'}, + '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'}) + }, + 'archaeological_operations.reportstate': { + 'Meta': {'ordering': "('order',)", 'object_name': 'ReportState'}, + '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', [], {}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + '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': {'ordering': "('author_type__order', 'person__name')", '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': "['order', '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'}), + 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + '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.format': { + 'Meta': {'ordering': "['label']", '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.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'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '500', '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.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': {'ordering': "('name',)", '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.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.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.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.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.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 = ['archaeological_context_records']
\ No newline at end of file diff --git a/archaeological_context_records/migrations/0033_auto__del_field_contextrecord_has_furniture__del_field_historicalconte.py b/archaeological_context_records/migrations/0033_auto__del_field_contextrecord_has_furniture__del_field_historicalconte.py new file mode 100644 index 000000000..65c5d54da --- /dev/null +++ b/archaeological_context_records/migrations/0033_auto__del_field_contextrecord_has_furniture__del_field_historicalconte.py @@ -0,0 +1,690 @@ +# -*- 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): + # Deleting field 'ContextRecord.has_furniture' + db.delete_column('archaeological_context_records_contextrecord', 'has_furniture') + + # Deleting field 'HistoricalContextRecord.has_furniture' + db.delete_column('archaeological_context_records_historicalcontextrecord', 'has_furniture') + + + def backwards(self, orm): + # Adding field 'ContextRecord.has_furniture' + db.add_column('archaeological_context_records_contextrecord', 'has_furniture', + self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True), + keep_default=False) + + # Adding field 'HistoricalContextRecord.has_furniture' + db.add_column('archaeological_context_records_historicalcontextrecord', 'has_furniture', + self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True), + keep_default=False) + + + models = { + 'archaeological_context_records.activitytype': { + 'Meta': {'ordering': "('order',)", 'object_name': 'ActivityType'}, + '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', [], {}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'archaeological_context_records.contextrecord': { + 'Meta': {'ordering': "('cached_label',)", 'object_name': 'ContextRecord'}, + 'activity': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.ActivityType']", 'null': 'True', 'blank': 'True'}), + 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'closing_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'datings': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_context_records.Dating']", 'symmetrical': 'False'}), + 'datings_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'depth': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'depth_of_appearance': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'diameter': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'documentations': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_context_records.DocumentationType']", 'null': 'True', 'blank': 'True'}), + 'excavation_technic': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.ExcavationTechnicType']", 'null': 'True', 'blank': 'True'}), + 'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'filling': ('django.db.models.fields.TextField', [], {'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'}), + 'identification': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.IdentificationType']", 'null': 'True', 'blank': 'True'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_context_records_contextrecord'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'interpretation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'length': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'location': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'opening_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'operation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'context_record'", 'to': "orm['archaeological_operations.Operation']"}), + 'parcel': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'context_record'", 'to': "orm['archaeological_operations.Parcel']"}), + 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'dim': '3', 'null': 'True', 'blank': 'True'}), + 'polygon': ('django.contrib.gis.db.models.fields.PolygonField', [], {'null': 'True', 'blank': 'True'}), + 'related_context_records': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_context_records.ContextRecord']", 'null': 'True', 'through': "orm['archaeological_context_records.RecordRelations']", 'blank': 'True'}), + 'taq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'taq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'thickness': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'tpq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'tpq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'unit': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['archaeological_context_records.Unit']"}), + 'width': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_context_records.contextrecordsource': { + 'Meta': {'object_name': 'ContextRecordSource'}, + 'additional_information': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'associated_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'authors': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'contextrecordsource_related'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Author']"}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'context_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_context_records.ContextRecord']"}), + 'creation_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'duplicate': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}), + 'format_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Format']", 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'item_number': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'receipt_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'receipt_date_in_documentation': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'scale': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'source_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SourceType']"}), + 'support_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SupportType']", 'null': 'True', 'blank': 'True'}), + 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) + }, + 'archaeological_context_records.dating': { + 'Meta': {'object_name': 'Dating'}, + 'dating_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.DatingType']", 'null': 'True', 'blank': 'True'}), + 'end_date': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'period': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']"}), + 'precise_dating': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'quality': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.DatingQuality']", 'null': 'True', 'blank': 'True'}), + 'start_date': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_context_records.datingquality': { + 'Meta': {'ordering': "('label',)", 'object_name': 'DatingQuality'}, + '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'}) + }, + 'archaeological_context_records.datingtype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'DatingType'}, + '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'}) + }, + 'archaeological_context_records.documentationtype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'DocumentationType'}, + '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'}) + }, + 'archaeological_context_records.excavationtechnictype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'ExcavationTechnicType'}, + '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'}) + }, + 'archaeological_context_records.historicalcontextrecord': { + 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalContextRecord'}, + 'activity_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'closing_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'datings_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'depth': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'depth_of_appearance': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'diameter': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'excavation_technic_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'external_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'filling': ('django.db.models.fields.TextField', [], {'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'}), + 'identification_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'interpretation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'length': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'location': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'opening_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'operation_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'parcel_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'dim': '3', 'null': 'True', 'blank': 'True'}), + 'polygon': ('django.contrib.gis.db.models.fields.PolygonField', [], {'null': 'True', 'blank': 'True'}), + 'taq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'taq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'thickness': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'tpq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'tpq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'unit_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'width': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_context_records.identificationtype': { + 'Meta': {'ordering': "('order', 'label')", 'object_name': 'IdentificationType'}, + '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', [], {}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'archaeological_context_records.recordrelations': { + 'Meta': {'object_name': 'RecordRelations'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'left_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'right_relations'", 'to': "orm['archaeological_context_records.ContextRecord']"}), + 'relation_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.RelationType']"}), + 'right_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'left_relations'", 'to': "orm['archaeological_context_records.ContextRecord']"}) + }, + 'archaeological_context_records.recordrelationview': { + 'Meta': {'unique_together': "(('id', 'right_record'),)", 'object_name': 'RecordRelationView', 'db_table': "'record_relations'", 'managed': 'False'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'left_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.DO_NOTHING', 'to': "orm['archaeological_context_records.ContextRecord']"}), + 'relation_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.DO_NOTHING', 'to': "orm['archaeological_context_records.RelationType']"}), + 'right_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.DO_NOTHING', 'to': "orm['archaeological_context_records.ContextRecord']"}) + }, + 'archaeological_context_records.relationtype': { + 'Meta': {'ordering': "('order', 'label')", 'object_name': 'RelationType'}, + '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'}), + 'inverse_relation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.RelationType']", 'null': 'True', 'blank': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'symmetrical': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'tiny_label': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'archaeological_context_records.unit': { + 'Meta': {'ordering': "('order', 'label')", 'object_name': 'Unit'}, + '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', [], {}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.Unit']", 'null': 'True', 'blank': 'True'}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'archaeological_files.file': { + 'Meta': {'ordering': "('cached_label',)", 'object_name': 'File'}, + 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'cira_advised': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'classified_area': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'corporation_general_contractor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'general_contractor_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today', 'null': 'True', 'blank': 'True'}), + 'departments': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}), + 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}), + 'file_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.FileType']"}), + 'general_contractor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'general_contractor_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + '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'}), + 'imported_line': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_files_file'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'file_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'instruction_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '60', 'null': 'True', 'blank': 'True'}), + 'locality': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'main_town': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'file_main'", 'null': 'True', 'to': "orm['ishtar_common.Town']"}), + 'mh_listing': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'mh_register': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'numeric_reference': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'organization': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'permit_reference': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'permit_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.PermitType']", 'null': 'True', 'blank': 'True'}), + 'planning_service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'planning_service_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'protected_area': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'raw_general_contractor': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'raw_town_planning_service': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'reception_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'related_file': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.File']", 'null': 'True', 'blank': 'True'}), + 'requested_operation_type': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.OperationType']"}), + 'research_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'responsible_town_planning_service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'responsible_town_planning_service_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'saisine_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.SaisineType']", 'null': 'True', 'blank': 'True'}), + 'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'scientist'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'total_developed_surface': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'total_surface': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'file'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}), + 'year': ('django.db.models.fields.IntegerField', [], {'default': '2017'}) + }, + 'archaeological_files.filetype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'FileType'}, + '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'}) + }, + 'archaeological_files.permittype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'PermitType'}, + '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'}) + }, + 'archaeological_files.saisinetype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'SaisineType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'delay': ('django.db.models.fields.IntegerField', [], {'default': '30'}), + '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'}) + }, + 'archaeological_operations.archaeologicalsite': { + 'Meta': {'object_name': 'ArchaeologicalSite'}, + '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_archaeological_operations_archaeologicalsite'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}), + 'reference': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '20'}), + 'remains': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.RemainType']", 'null': 'True', 'blank': 'True'}) + }, + 'archaeological_operations.operation': { + 'Meta': {'ordering': "('cached_label',)", 'object_name': 'Operation'}, + 'abstract': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'archaeological_sites': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.ArchaeologicalSite']", 'null': 'True', 'blank': 'True'}), + 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operations'", 'null': 'True', 'to': "orm['archaeological_files.File']"}), + 'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), + 'cira_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'cira_rapporteur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'cira_rapporteur'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'code_patriarche': ('django.db.models.fields.IntegerField', [], {'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'common_name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}), + 'documentation_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'documentation_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'eas_number': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}), + 'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'finds_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'finds_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'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'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_operation'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'multi_polygon': ('django.contrib.gis.db.models.fields.MultiPolygonField', [], {'null': 'True', 'blank': 'True'}), + 'negative_result': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'old_code': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'operation_code': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'operation_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['ishtar_common.OperationType']"}), + 'operator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operator'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}), + 'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}), + 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'null': 'True', 'blank': 'True'}), + 'record_quality': ('django.db.models.fields.CharField', [], {'max_length': '2', 'null': 'True', 'blank': 'True'}), + 'remains': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.RemainType']", 'null': 'True', 'blank': 'True'}), + 'report_delivery_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'report_processing': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.ReportState']", 'null': 'True', 'blank': 'True'}), + 'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'scientific_documentation_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_scientist_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'operations'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}), + 'virtual_operation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_operations.parcel': { + 'Meta': {'ordering': "('year', 'section', 'parcel_number')", 'object_name': 'Parcel'}, + 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_files.File']"}), + 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '100', '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_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + '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_archaeological_operations_parcel'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}), + 'parcel_number': ('django.db.models.fields.CharField', [], {'max_length': '6', 'null': 'True', 'blank': 'True'}), + 'public_domain': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'section': ('django.db.models.fields.CharField', [], {'max_length': '4', 'null': 'True', 'blank': 'True'}), + 'town': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'parcels'", 'to': "orm['ishtar_common.Town']"}), + 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_operations.period': { + 'Meta': {'ordering': "('order',)", 'object_name': 'Period'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'end_date': ('django.db.models.fields.IntegerField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'order': ('django.db.models.fields.IntegerField', [], {}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}), + 'start_date': ('django.db.models.fields.IntegerField', [], {}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'archaeological_operations.remaintype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'RemainType'}, + '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'}) + }, + 'archaeological_operations.reportstate': { + 'Meta': {'ordering': "('order',)", 'object_name': 'ReportState'}, + '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', [], {}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + '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': {'ordering': "('author_type__order', 'person__name')", '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': "['order', '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'}), + 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + '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.format': { + 'Meta': {'ordering': "['label']", '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.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'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '500', '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.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': {'ordering': "('name',)", '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.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.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.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.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.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 = ['archaeological_context_records']
\ No newline at end of file diff --git a/archaeological_context_records/models.py b/archaeological_context_records/models.py index 1ec32ea83..4df56c49f 100644 --- a/archaeological_context_records/models.py +++ b/archaeological_context_records/models.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2012-2016 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet> +# Copyright (C) 2012-2017 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet> # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as @@ -120,6 +120,24 @@ post_save.connect(post_save_cache, sender=IdentificationType) post_delete.connect(post_save_cache, sender=IdentificationType) +class ExcavationTechnicType(GeneralType): + class Meta: + verbose_name = _(u"Excavation technique type") + verbose_name_plural = _(u"Excavation technique types") + ordering = ('label',) +post_save.connect(post_save_cache, sender=ExcavationTechnicType) +post_delete.connect(post_save_cache, sender=ExcavationTechnicType) + + +class DocumentationType(GeneralType): + class Meta: + verbose_name = _(u"Documentation type") + verbose_name_plural = _(u"Documentation types") + ordering = ('label',) +post_save.connect(post_save_cache, sender=DocumentationType) +post_delete.connect(post_save_cache, sender=DocumentationType) + + class CRBulkView(object): CREATE_SQL = """ CREATE VIEW context_records_cached_label_bulk_update @@ -144,16 +162,24 @@ class ContextRecord(BaseHistorizedItem, ImageModel, OwnPerms, ValueGetter, ShortMenuItem): SHOW_URL = 'show-contextrecord' SLUG = 'contextrecord' - TABLE_COLS = ['parcel__town__name', 'operation__year', - 'operation__operation_code', - 'label', 'unit'] + TABLE_COLS = ['label', 'operation__common_name', 'parcel__town__name', + 'parcel__label', 'unit'] if settings.COUNTRY == 'fr': TABLE_COLS.insert(1, 'operation__code_patriarche') TABLE_COLS_FOR_OPE = ['label', 'parcel', 'unit', 'datings__period__label', 'description'] - COL_LABELS = {'section__parcel_number': _(u"Parcel"), - 'datings__period__label': _(u"Periods"), - 'parcel__town__name': _(u"Town")} + COL_LABELS = { + 'datings__period__label': _(u"Periods"), + 'datings__period': _(u"Datings (period)"), + 'detailled_related_context_records': _(u"Related context records"), + 'operation__code_patriarche': u"Operation (code patriarche)", + 'operation__common_name': u"Operation (name)", + 'parcel__external_id': _(u"Parcel (external ID)"), + 'parcel__town__name': _(u"Parcel (town)"), + 'parcel__town': _(u"Parcel (town)"), + 'parcel__year': _(u"Parcel (year)"), + 'section__parcel_number': _(u"Parcel"), + } CONTEXTUAL_TABLE_COLS = { 'full': { 'related_context_records': 'detailled_related_context_records' @@ -180,14 +206,6 @@ class ContextRecord(BaseHistorizedItem, ImageModel, OwnPerms, RELATIVE_SESSION_NAMES = [ ('operation', 'operation__pk'), ('file', 'operation__associated_file__pk')] - EXTRA_FULL_FIELDS_LABELS = { - 'parcel__town': _(u"Parcel (town)"), - 'detailled_related_context_records': _(u"Related context records"), - 'operation__code_patriarche': u"Operation (code patriarche)", - 'parcel__external_id': _(u"Parcel (external ID)"), - 'datings__period': _(u"Datings (period)"), - 'parcel__year': _(u"Parcel (year)"), - } # fields external_id = models.TextField(_(u"External ID"), blank=True, null=True) @@ -207,18 +225,21 @@ class ContextRecord(BaseHistorizedItem, ImageModel, OwnPerms, width = models.FloatField(_(u"Width (m)"), blank=True, null=True) thickness = models.FloatField(_(u"Thickness (m)"), blank=True, null=True) + diameter = models.FloatField(_(u"Diameter (m)"), blank=True, null=True) depth = models.FloatField(_(u"Depth (m)"), blank=True, null=True) + depth_of_appearance = models.FloatField( + _(u"Depth of appearance (m)"), blank=True, null=True) location = models.TextField( _(u"Location"), blank=True, null=True, help_text=_(u"A short description of the location of the context " u"record")) datings = models.ManyToManyField(Dating) + documentations = models.ManyToManyField(DocumentationType, blank=True, + null=True) datings_comment = models.TextField(_(u"Comment on datings"), blank=True, null=True) 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) filling = models.TextField(_(u"Filling"), blank=True, null=True) interpretation = models.TextField(_(u"Interpretation"), blank=True, null=True) @@ -241,6 +262,9 @@ class ContextRecord(BaseHistorizedItem, ImageModel, OwnPerms, verbose_name=_(u"Identification"),) activity = models.ForeignKey(ActivityType, blank=True, null=True, verbose_name=_(u"Activity"),) + excavation_technic = models.ForeignKey( + ExcavationTechnicType, blank=True, null=True, + verbose_name=_(u"Excavation technique")) related_context_records = models.ManyToManyField( 'ContextRecord', through='RecordRelations', blank=True, null=True) point = models.PointField(_(u"Point"), blank=True, null=True, dim=3) diff --git a/archaeological_context_records/templates/ishtar/sheet_contextrecord.html b/archaeological_context_records/templates/ishtar/sheet_contextrecord.html index 1c024dcfc..272dcb28e 100644 --- a/archaeological_context_records/templates/ishtar/sheet_contextrecord.html +++ b/archaeological_context_records/templates/ishtar/sheet_contextrecord.html @@ -12,38 +12,31 @@ <p class='window-refs'>{{ item.parcel.short_label }}</p> <p class="window-refs">{{ item.label|default:"" }}</p> +{% include "ishtar/blocks/sheet_external_id.html" %} <ul class='form-flex'> <li><label>{% if item.operation.code_patriarche %}{%trans "Complete ID:"%}{% else %}{%trans "Temporary ID:"%}{% endif %}</label><span class='value'>{{item.full_label}}</span></li> -<li><label>{%trans "Creation:"%}</label> - <span class='value'> - {{item.history_creator.ishtaruser.person}}<br/> - <small><em>{{item.history_creation_date|date:"DATETIME_FORMAT"}}</em></small> - </span> -</li> - {% if item.history_creation_date != item.last_edition_date %} -<li><label>{%trans "Modification:"%}</label> - <span class='value'> - {{item.history_modifier.ishtaruser.person}}<br/> - <small><em>{% firstof item.history_date|date:"DATETIME_FORMAT" item.history.all.0.history_date|date:"DATETIME_FORMAT" %}</em></small> - </span> -</li> - {% endif %} -{% field_li "Type" item.unit %} -{% field_li_multiple "Chronology" item.datings %} -{% field_li "Town" item.parcel.town %} + + {% include "ishtar/blocks/sheet_creation_section.html" %} + + {% field_li "Type" item.unit %} + {% field_li "Excavation technic" item.excavation_technic %} + {% field_li_multiple "Chronology" item.datings %} + {% field_li "Town" item.parcel.town %} </ul> {% field "Comment on datings" item.datings_comment "<pre>" "</pre>" %} -{% if item.description or item.lenght or item.width or item.depth or item.thickness or item.comment %} +{% if item.diameter or item.depth_of_appearance or item.documentations.count or item.description or item.lenght or item.width or item.depth or item.thickness or item.comment %} <h3>{% trans "Description"%}</h3> {% field "Description" item.description "<pre>" "</pre>" %} {% field "Comment" item.comment "<pre>" "</pre>" %} <ul class='form-flex'> -{% field_li "Length (m)" item.lenght %} -{% field_li "Width (m)" item.width %} -{% field_li "Depth (m)" item.depth %} -{% field_li "Thickness (m)" item.thickness %} + {% field_li "Length (m)" item.lenght %} + {% field_li "Width (m)" item.width %} + {% field_li "Diameter (m)" item.diameter %} + {% field_li "Depth (m)" item.depth %} + {% field_li "Thickness (m)" item.thickness %} + {% field_li "Depth of appearance (m)" item.depth_of_appearance %} </ul> {% endif %} @@ -51,9 +44,9 @@ <h3>{% trans "Interpretation"%}</h3> <ul class='form-flex'> -{% field_li "Activity" item.activity %} -{% field_li "Identification" item.identification %} -{% field_li "Has furniture?" item.has_furniture %} + {% field_li_multiple "Documentation" item.documentations %} + {% field_li "Activity" item.activity %} + {% field_li "Identification" item.identification %} </ul> {% field "Filling" item.filling "<pre>" "</pre>" %} {% field "Interpretation" item.interpretation "<pre>" "</pre>" %} @@ -82,7 +75,8 @@ {% endif %} <ul class='form-flex'> {% field_li "Year" item.operation.year %} -{% field_li "Numerical reference" item.operation.operation_code %} + {% trans "Numerical reference" as num_ref_label %} + {% field_li num_ref_label item.operation.operation_code %} {% field_li "Patriarche OA code" item.operation.code_patriarche %} {% field_li_detail "Head scientist" item.operation.scientist %} <li><label>{%trans "State:"%}</label><span class='value'>{% if item.operation.is_active %}{% trans "Active file" %}{% else %}{%trans "Closed operation" %}{% endif %}</span></li> diff --git a/archaeological_context_records/templates/ishtar/sheet_contextrecordsource.html b/archaeological_context_records/templates/ishtar/sheet_contextrecordsource.html index 253d5f047..bd6cdcdba 100644 --- a/archaeological_context_records/templates/ishtar/sheet_contextrecordsource.html +++ b/archaeological_context_records/templates/ishtar/sheet_contextrecordsource.html @@ -8,5 +8,6 @@ {% endblock %} {% block related %} -{% field "Related context record" item.owner '' item.owner|link_to_window %} +{% trans "Related context record" as related_item_label %} +{% field related_item_label item.owner '' item.owner|link_to_window %} {% endblock %} diff --git a/archaeological_context_records/tests.py b/archaeological_context_records/tests.py index c9795fce7..6bb293e4d 100644 --- a/archaeological_context_records/tests.py +++ b/archaeological_context_records/tests.py @@ -92,7 +92,10 @@ class ImportContextRecordTest(ImportTest, TestCase): # set for a column that references Dating impt.importation() self.assertEqual(len(impt.errors), 4) - self.assertIn("doesn't exist in the database.", impt.errors[0]['error']) + self.assertTrue( + "doesn't exist in the database." in impt.errors[0]['error'] or + "n'existe pas dans la base" in impt.errors[0]['error'] + ) # retry with only Dating (no context record) for cr in models.ContextRecord.objects.all(): diff --git a/archaeological_context_records/wizards.py b/archaeological_context_records/wizards.py index 0d877929f..fd48ef3d9 100644 --- a/archaeological_context_records/wizards.py +++ b/archaeological_context_records/wizards.py @@ -138,7 +138,7 @@ class RecordModifWizard(RecordWizard): class RecordDeletionWizard(DeletionWizard): model = models.ContextRecord fields = ['label', 'parcel', 'description', 'length', 'width', 'thickness', - 'depth', 'location', 'datings', 'units', 'has_furniture', + 'depth', 'location', 'datings', 'units', 'documentations', 'filling', 'interpretation', 'taq', 'taq_estimated', 'tpq', 'tpq_estimated'] filter_owns = {'selec-record_deletion': ['pk']} diff --git a/archaeological_files/locale/django.pot b/archaeological_files/locale/django.pot index 966c983c8..1e513ae12 100644 --- a/archaeological_files/locale/django.pot +++ b/archaeological_files/locale/django.pot @@ -10,7 +10,7 @@ msgid "" msgstr "" #: forms.py:47 forms.py:210 forms.py:255 forms.py:396 forms.py:423 -#: models.py:108 templates/ishtar/sheet_file.html:157 +#: models.py:108 templates/ishtar/sheet_file.html:144 msgid "Year" msgstr "" @@ -26,7 +26,7 @@ msgstr "" msgid "Parcel (section/number/public domain)" msgstr "" -#: forms.py:55 forms.py:407 forms.py:434 models.py:553 +#: forms.py:55 forms.py:407 forms.py:434 models.py:558 msgid "Department" msgstr "" @@ -55,11 +55,11 @@ msgid "Permit reference" msgstr "" #: forms.py:63 forms.py:227 forms.py:364 models.py:180 -#: templates/ishtar/sheet_file.html:110 +#: templates/ishtar/sheet_file.html:97 msgid "Comment" msgstr "" -#: forms.py:65 templates/ishtar/sheet_file.html:130 +#: forms.py:65 templates/ishtar/sheet_file.html:117 msgid "In charge" msgstr "" @@ -115,7 +115,7 @@ msgstr "" msgid "Date before" msgstr "" -#: forms.py:197 templates/ishtar/sheet_file.html:14 +#: forms.py:197 templates/ishtar/sheet_file.html:19 msgid "General" msgstr "" @@ -164,12 +164,12 @@ msgstr "" msgid "Total developed surface (m2)" msgstr "" -#: forms.py:333 templates/ishtar/sheet_file.html:100 +#: forms.py:333 templates/ishtar/sheet_file.html:87 #: templates/ishtar/dashboards/dashboard_file.html:45 msgid "Research archaeology" msgstr "" -#: forms.py:341 models.py:183 templates/ishtar/sheet_file.html:101 +#: forms.py:341 models.py:183 templates/ishtar/sheet_file.html:88 msgid "Departments" msgstr "" @@ -177,7 +177,7 @@ msgstr "" msgid "Scientist in charge" msgstr "" -#: forms.py:353 models.py:186 templates/ishtar/sheet_file.html:103 +#: forms.py:353 models.py:186 templates/ishtar/sheet_file.html:90 msgid "Requested operation type" msgstr "" @@ -185,11 +185,11 @@ msgstr "" msgid "Lead organization" msgstr "" -#: forms.py:371 models.py:196 templates/ishtar/sheet_file.html:108 +#: forms.py:371 models.py:196 templates/ishtar/sheet_file.html:95 msgid "Classified area" msgstr "" -#: forms.py:373 models.py:198 templates/ishtar/sheet_file.html:109 +#: forms.py:373 models.py:198 templates/ishtar/sheet_file.html:96 msgid "Protected area" msgstr "" @@ -363,7 +363,7 @@ msgstr "" msgid "Main address - postal code" msgstr "" -#: models.py:188 templates/ishtar/sheet_file.html:104 +#: models.py:188 templates/ishtar/sheet_file.html:91 msgid "Organization" msgstr "" @@ -407,15 +407,15 @@ msgstr "" msgid "FILE" msgstr "" -#: models.py:413 +#: models.py:418 msgid "Multi-town" msgstr "" -#: models.py:419 +#: models.py:424 msgid "No town" msgstr "" -#: models.py:552 +#: models.py:557 msgid "File" msgstr "" @@ -455,7 +455,7 @@ msgstr "" msgid "File: administrative act deletion" msgstr "" -#: wizards.py:124 templates/ishtar/sheet_file.html:122 +#: wizards.py:124 templates/ishtar/sheet_file.html:109 msgid "Associated operations" msgstr "" @@ -471,122 +471,114 @@ msgstr "" msgid "Generate" msgstr "" -#: templates/ishtar/sheet_file.html:23 -msgid "Creation:" -msgstr "" - -#: templates/ishtar/sheet_file.html:30 -msgid "Modification:" -msgstr "" - -#: templates/ishtar/sheet_file.html:47 +#: templates/ishtar/sheet_file.html:34 msgid "State:" msgstr "" -#: templates/ishtar/sheet_file.html:47 +#: templates/ishtar/sheet_file.html:34 msgid "Active file" msgstr "" -#: templates/ishtar/sheet_file.html:48 +#: templates/ishtar/sheet_file.html:35 msgid "Closed file" msgstr "" -#: templates/ishtar/sheet_file.html:50 +#: templates/ishtar/sheet_file.html:37 msgid "Closing date:" msgstr "" -#: templates/ishtar/sheet_file.html:50 +#: templates/ishtar/sheet_file.html:37 msgid "by" msgstr "" -#: templates/ishtar/sheet_file.html:55 +#: templates/ishtar/sheet_file.html:42 msgid "Related file:" msgstr "" -#: templates/ishtar/sheet_file.html:60 +#: templates/ishtar/sheet_file.html:47 msgid "Localisation" msgstr "" -#: templates/ishtar/sheet_file.html:61 +#: templates/ishtar/sheet_file.html:48 msgid "Towns:" msgstr "" -#: templates/ishtar/sheet_file.html:62 +#: templates/ishtar/sheet_file.html:49 msgid "Departments:" msgstr "" -#: templates/ishtar/sheet_file.html:64 +#: templates/ishtar/sheet_file.html:51 msgid "Main address:" msgstr "" -#: templates/ishtar/sheet_file.html:65 +#: templates/ishtar/sheet_file.html:52 msgid "Complement:" msgstr "" -#: templates/ishtar/sheet_file.html:66 +#: templates/ishtar/sheet_file.html:53 msgid "Postal code:" msgstr "" -#: templates/ishtar/sheet_file.html:68 +#: templates/ishtar/sheet_file.html:55 msgid "Surface:" msgstr "" -#: templates/ishtar/sheet_file.html:73 +#: templates/ishtar/sheet_file.html:60 msgid "Preventive archaeological file" msgstr "" -#: templates/ishtar/sheet_file.html:75 +#: templates/ishtar/sheet_file.html:62 msgid "Developed surface:" msgstr "" -#: templates/ishtar/sheet_file.html:101 templates/ishtar/sheet_file.html:102 -#: templates/ishtar/sheet_file.html:103 templates/ishtar/sheet_file.html:104 -#: templates/ishtar/sheet_file.html:110 +#: templates/ishtar/sheet_file.html:88 templates/ishtar/sheet_file.html:89 +#: templates/ishtar/sheet_file.html:90 templates/ishtar/sheet_file.html:91 +#: templates/ishtar/sheet_file.html:97 #: templates/ishtar/dashboards/dashboard_file.html:14 msgid ":" msgstr "" -#: templates/ishtar/sheet_file.html:102 +#: templates/ishtar/sheet_file.html:89 msgid "Head scientist" msgstr "" -#: templates/ishtar/sheet_file.html:116 +#: templates/ishtar/sheet_file.html:103 msgid "Associated parcels" msgstr "" -#: templates/ishtar/sheet_file.html:119 +#: templates/ishtar/sheet_file.html:106 msgid "Administrative acts" msgstr "" -#: templates/ishtar/sheet_file.html:127 templates/ishtar/sheet_file.html:158 +#: templates/ishtar/sheet_file.html:114 templates/ishtar/sheet_file.html:145 msgid "Ref." msgstr "" -#: templates/ishtar/sheet_file.html:129 templates/ishtar/sheet_file.html:159 +#: templates/ishtar/sheet_file.html:116 templates/ishtar/sheet_file.html:146 msgid "Type" msgstr "" -#: templates/ishtar/sheet_file.html:131 +#: templates/ishtar/sheet_file.html:118 msgid "Start date" msgstr "" -#: templates/ishtar/sheet_file.html:132 +#: templates/ishtar/sheet_file.html:119 msgid "Excavation end date" msgstr "" -#: templates/ishtar/sheet_file.html:146 +#: templates/ishtar/sheet_file.html:133 msgid "No operation associated to this archaeological file" msgstr "" -#: templates/ishtar/sheet_file.html:152 +#: templates/ishtar/sheet_file.html:139 msgid "Admninistrative acts linked to associated operations" msgstr "" -#: templates/ishtar/sheet_file.html:160 +#: templates/ishtar/sheet_file.html:147 msgid "Date" msgstr "" -#: templates/ishtar/sheet_file.html:170 +#: templates/ishtar/sheet_file.html:157 msgid "No administrative act linked to operations" msgstr "" diff --git a/archaeological_files/models.py b/archaeological_files/models.py index c8134f28f..7f37a298f 100644 --- a/archaeological_files/models.py +++ b/archaeological_files/models.py @@ -236,6 +236,11 @@ class File(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter, return _(u"FILE") @property + def full_internal_ref(self): + return u"{}{}".format(settings.ISHTAR_FILE_PREFIX or '', + self.external_id or '') + + @property def delay_date(self): cache_key, val = get_cache(self.__class__, [self.pk, 'delay_date']) if val: diff --git a/archaeological_files/templates/ishtar/sheet_file.html b/archaeological_files/templates/ishtar/sheet_file.html index 408edde34..bfd92eb6f 100644 --- a/archaeological_files/templates/ishtar/sheet_file.html +++ b/archaeological_files/templates/ishtar/sheet_file.html @@ -11,29 +11,16 @@ {% window_nav item window_id 'show-file' 'file_modify' 'show-historized-file' 'revert-file' previous next 1 %} {% endif %} +<p class='window-refs'>{{item.full_internal_ref|default:''}}</p> +<p class='window-refs'>{{item.internal_reference|default:''}}</p> +<p class='window-refs'>{{item.name|default:''}}</p> +{% include "ishtar/blocks/sheet_external_id.html" %} + <h3>{% trans "General"%}</h3> <ul class='form-flex'> -{% field_li "Year" item.year "<strong>" "</strong>" %} -{% field_li "Numerical reference" item.numeric_reference "<strong>" "</strong>" %} -{% field_li "Other reference" item.internal_reference %} -{% field_li "Name" item.name %} - {% field_li "Reception date" item.reception_date|date:"DATE_FORMAT" %} - - <li><label>{%trans "Creation:"%}</label> - <span class='value'> - {{item.history_creator.ishtaruser.person}}<br/> - <small><em>{{item.history_creation_date|date:"DATETIME_FORMAT"}}</em></small> - </span> - </li> - {% if item.history_creation_date != item.last_edition_date %} - <li><label>{%trans "Modification:"%}</label> - <span class='value'> - {{item.history_modifier.ishtaruser.person}}<br/> - <small><em>{% firstof item.history_date|date:"DATETIME_FORMAT" item.history.all.0.history_date|date:"DATETIME_FORMAT" %}</em></small> - </span> - </li> - {% endif %} + {% field_li "Reception date" item.reception_date|date:"DATE_FORMAT" %} + {% include "ishtar/blocks/sheet_creation_section.html" %} {% comment %} diff --git a/archaeological_finds/admin.py b/archaeological_finds/admin.py index 988897ceb..8fd168316 100644 --- a/archaeological_finds/admin.py +++ b/archaeological_finds/admin.py @@ -104,6 +104,8 @@ admin.site.register(models.TreatmentType, TreatmentTypeAdmin) general_models = [ models.ConservatoryState, models.RemarkabilityType, models.PreservationType, models.IntegrityType, - models.TreatmentFileType, models.TreatmentState] + models.TreatmentFileType, models.TreatmentState, + models.BatchType +] for model in general_models: admin.site.register(model, GeneralTypeAdmin) diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py index 2c367043c..09d23a3bc 100644 --- a/archaeological_finds/forms.py +++ b/archaeological_finds/forms.py @@ -48,6 +48,8 @@ from ishtar_common.utils import convert_coordinates_to_point from ishtar_common import widgets from archaeological_operations.widgets import OAWidget +from archaeological_warehouse.models import Warehouse + from archaeological_finds.forms_treatments import TreatmentSelect, \ TreatmentFormSelection, BaseTreatmentForm, TreatmentModifyForm, \ AdministrativeActTreatmentForm, TreatmentFormFileChoice, \ @@ -75,7 +77,8 @@ __all__ = [ 'SourceTreatmentFileFormSelection', 'TreatmentSourceFormSelection', 'TreatmentFileSourceFormSelection', 'RecordFormSelection', 'FindForm', 'DateForm', 'DatingFormSet', - 'FindSelect', 'FindFormSelection', 'MultipleFindFormSelection', + 'FindSelect', 'FindFormSelection', 'FindFormSelectionWarehouseModule', + 'MultipleFindFormSelection', 'MultipleFindFormSelectionWarehouseModule', 'FindMultipleFormSelection', 'check_form', 'check_exist', 'check_not_exist', 'check_value', 'check_type_field', 'check_type_not_field', 'check_treatment', 'ResultFindForm', 'ResultFindFormSet', @@ -348,7 +351,6 @@ class FindSelect(TableSelect): label=_(u"Search within related operations"), choices=[], widget=widgets.CheckboxSelectMultiple) datings__period = forms.ChoiceField(label=_(u"Period"), choices=[]) - # TODO search by warehouse material_types = forms.ChoiceField(label=_(u"Material type"), choices=[]) object_types = forms.ChoiceField(label=_(u"Object type"), choices=[]) preservation_to_considers = forms.ChoiceField( @@ -410,6 +412,23 @@ class FindSelect(TableSelect): return ids +class FindSelectWarehouseModule(FindSelect): + container__location = forms.IntegerField( + label=_(u"Warehouse (location)"), + widget=widgets.JQueryAutoComplete( + reverse_lazy('autocomplete-warehouse'), + associated_model=Warehouse), + validators=[valid_id(Warehouse)]) + container__responsible = forms.IntegerField( + label=_(u"Warehouse (responsible)"), + widget=widgets.JQueryAutoComplete( + reverse_lazy('autocomplete-warehouse'), + associated_model=Warehouse), + validators=[valid_id(Warehouse)]) + container__index = forms.IntegerField(label=_(u"Container ID")) + container__reference = forms.IntegerField(label=_(u"Container ref.")) + + class FindFormSelection(forms.Form): form_label = _("Find search") associated_models = {'pk': models.Find} @@ -423,6 +442,16 @@ class FindFormSelection(forms.Form): validators=[valid_id(models.Find)]) +class FindFormSelectionWarehouseModule(FindFormSelection): + pk = forms.IntegerField( + label="", required=False, + widget=widgets.JQueryJqGrid( + reverse_lazy('get-find'), + FindSelectWarehouseModule, models.Find, + source_full=reverse_lazy('get-find-full')), + validators=[valid_id(models.Find)]) + + class MultipleFindFormSelection(forms.Form): form_label = _("Find search") associated_models = {'pk': models.Find} @@ -437,15 +466,28 @@ class MultipleFindFormSelection(forms.Form): validators=[valid_id(models.Find)]) +class MultipleFindFormSelectionWarehouseModule(MultipleFindFormSelection): + pk = forms.IntegerField( + label="", required=False, + widget=widgets.JQueryJqGrid( + reverse_lazy('get-find'), + FindSelectWarehouseModule, models.Find, + multiple_select=True, + source_full=reverse_lazy('get-find-full')), + validators=[valid_id(models.Find)]) + + class FindMultipleFormSelection(forms.Form): form_label = _(u"Upstream finds") associated_models = {'finds': models.Find} associated_labels = {'finds': _(u"Finds")} + # using FindSelectWarehouseModule because this form is only used with + # the warehouse module activated finds = forms.CharField( label="", required=False, widget=widgets.JQueryJqGrid( - reverse_lazy('get-find'), FindSelect, models.Find, multiple=True, - multiple_cols=[2, 3, 4]), + reverse_lazy('get-find'), FindSelectWarehouseModule, models.Find, + multiple=True, multiple_cols=[2, 3, 4]), validators=[valid_ids(models.Find)]) def clean(self): diff --git a/archaeological_finds/locale/django.pot b/archaeological_finds/locale/django.pot index 002da929e..d48cbe962 100644 --- a/archaeological_finds/locale/django.pot +++ b/archaeological_finds/locale/django.pot @@ -3,359 +3,376 @@ # This file is distributed under the same license as the Ishtar package. # Étienne Loks <etienne.loks at peacefrogs net>, 2010-2015. # Valérie-Emma Leroux <emma@iggdrasil.net>, 2016. #zanata +# Étienne Loks <etienne.loks@iggdrasil.net>, 2016. #zanata # Valérie-Emma Leroux <emma@iggdrasil.net>, 2017. #zanata msgid "" msgstr "" -#: forms.py:90 forms.py:94 wizards.py:64 +#: forms.py:93 forms.py:97 models_finds.py:505 wizards.py:64 msgid "Context record" msgstr "" -#: forms.py:123 ishtar_menu.py:32 models_finds.py:656 models_finds.py:1059 -#: models_finds.py:1068 models_treatments.py:279 +#: forms.py:126 ishtar_menu.py:32 models_finds.py:668 models_finds.py:1071 +#: models_finds.py:1080 models_treatments.py:281 #: templates/ishtar/sheet_find.html:5 msgid "Find" msgstr "" -#: forms.py:137 forms.py:330 forms.py:559 models_finds.py:151 -#: models_finds.py:587 +#: forms.py:140 forms.py:333 forms.py:601 models_finds.py:151 +#: models_finds.py:599 msgid "Free ID" msgstr "" -#: forms.py:139 models_finds.py:639 +#: forms.py:142 models_finds.py:651 msgid "Previous ID" msgstr "" -#: forms.py:140 forms.py:362 forms_treatments.py:134 models_finds.py:155 -#: models_finds.py:588 models_treatments.py:125 +#: forms.py:143 forms.py:364 forms_treatments.py:134 models_finds.py:155 +#: models_finds.py:600 models_treatments.py:127 msgid "Description" msgstr "" -#: forms.py:143 forms.py:364 models_finds.py:164 +#: forms.py:146 forms.py:366 models_finds.py:164 msgid "Batch/object" msgstr "" -#: forms.py:145 models_finds.py:616 +#: forms.py:148 models_finds.py:628 msgid "Is complete?" msgstr "" -#: forms.py:148 forms.py:352 forms.py:563 models_finds.py:51 +#: forms.py:151 forms.py:354 forms.py:605 models_finds.py:51 msgid "Material type" msgstr "" -#: forms.py:149 forms.py:356 models_finds.py:63 models_finds.py:592 +#: forms.py:152 forms.py:358 models_finds.py:63 models_finds.py:604 msgid "Conservatory state" msgstr "" -#: forms.py:152 models_finds.py:594 +#: forms.py:155 models_finds.py:606 msgid "Conservatory comment" msgstr "" -#: forms.py:155 models_finds.py:113 models_finds.py:619 +#: forms.py:158 models_finds.py:113 models_finds.py:631 msgid "Object types" msgstr "" -#: forms.py:157 forms.py:355 models_finds.py:72 +#: forms.py:160 forms.py:357 models_finds.py:72 msgid "Preservation type" msgstr "" -#: forms.py:160 forms.py:358 models_finds.py:621 +#: forms.py:163 forms.py:360 models_finds.py:633 msgid "Integrity / interest" msgstr "" -#: forms.py:163 forms.py:360 models_finds.py:624 +#: forms.py:166 forms.py:362 models_finds.py:636 msgid "Remarkability" msgstr "" -#: forms.py:166 models_finds.py:169 +#: forms.py:169 models_finds.py:169 msgid "Point of topographic reference" msgstr "" -#: forms.py:169 models_finds.py:171 +#: forms.py:172 models_finds.py:171 msgid "X" msgstr "" -#: forms.py:170 models_finds.py:172 +#: forms.py:173 models_finds.py:172 msgid "Y" msgstr "" -#: forms.py:171 models_finds.py:173 +#: forms.py:174 models_finds.py:173 msgid "Z" msgstr "" -#: forms.py:173 models_finds.py:181 +#: forms.py:176 models_finds.py:181 msgid "Spatial Reference System" msgstr "" -#: forms.py:176 models_finds.py:174 +#: forms.py:179 models_finds.py:174 msgid "Estimated error for X" msgstr "" -#: forms.py:178 models_finds.py:176 +#: forms.py:181 models_finds.py:176 msgid "Estimated error for Y" msgstr "" -#: forms.py:180 models_finds.py:178 +#: forms.py:183 models_finds.py:178 msgid "Estimated error for Z" msgstr "" -#: forms.py:181 models_finds.py:628 +#: forms.py:184 models_finds.py:640 msgid "Length (cm)" msgstr "" -#: forms.py:182 models_finds.py:629 +#: forms.py:185 models_finds.py:641 msgid "Width (cm)" msgstr "" -#: forms.py:183 models_finds.py:630 +#: forms.py:186 models_finds.py:642 msgid "Height (cm)" msgstr "" -#: forms.py:184 models_finds.py:631 +#: forms.py:187 models_finds.py:643 msgid "Diameter (cm)" msgstr "" -#: forms.py:185 models_finds.py:632 +#: forms.py:188 models_finds.py:644 msgid "Thickness (cm)" msgstr "" -#: forms.py:186 forms.py:564 models_finds.py:599 +#: forms.py:189 forms.py:606 models_finds.py:611 msgid "Volume (l)" msgstr "" -#: forms.py:187 forms.py:565 models_finds.py:600 +#: forms.py:190 forms.py:607 models_finds.py:612 msgid "Weight (g)" msgstr "" -#: forms.py:189 models_finds.py:633 +#: forms.py:192 models_finds.py:645 msgid "Dimensions comment" msgstr "" -#: forms.py:190 forms.py:566 models_finds.py:603 +#: forms.py:193 forms.py:608 models_finds.py:615 msgid "Find number" msgstr "" -#: forms.py:192 models_finds.py:627 +#: forms.py:195 models_finds.py:639 msgid "Minimum number of individuals (MNI)" msgstr "" -#: forms.py:193 models_finds.py:635 +#: forms.py:196 models_finds.py:647 msgid "Mark" msgstr "" -#: forms.py:194 forms.py:365 models_finds.py:641 +#: forms.py:197 forms.py:367 models_finds.py:653 msgid "Check" msgstr "" -#: forms.py:196 models_finds.py:643 +#: forms.py:199 models_finds.py:655 msgid "Check date" msgstr "" -#: forms.py:197 forms_treatments.py:132 forms_treatments.py:434 -#: models_finds.py:156 models_finds.py:636 models_treatments.py:124 -#: models_treatments.py:492 +#: forms.py:200 forms_treatments.py:132 forms_treatments.py:434 +#: models_finds.py:156 models_finds.py:648 models_treatments.py:126 +#: models_treatments.py:494 msgid "Comment" msgstr "" -#: forms.py:200 models_finds.py:637 +#: forms.py:203 models_finds.py:649 msgid "Comment on dating" msgstr "" -#: forms.py:201 models_finds.py:645 +#: forms.py:204 models_finds.py:657 msgid "Estimated value" msgstr "" -#: forms.py:203 forms_treatments.py:151 +#: forms.py:206 forms_treatments.py:151 msgid "Image" msgstr "" -#: forms.py:204 forms_treatments.py:152 +#: forms.py:207 forms_treatments.py:152 #, python-format msgid "" "<p>Heavy images are resized to: %(width)dx%(height)d (ratio is preserved).</" "p>" msgstr "" -#: forms.py:278 +#: forms.py:281 msgid "You should at least provide X, Y and the spatial reference system used." msgstr "" -#: forms.py:287 +#: forms.py:290 msgid "Coordinates are not relevant for the spatial reference system used: {}." msgstr "" -#: forms.py:293 forms.py:324 models_finds.py:611 +#: forms.py:296 forms.py:327 models_finds.py:623 msgid "Dating" msgstr "" -#: forms.py:298 forms.py:350 +#: forms.py:301 forms.py:353 msgid "Period" msgstr "" -#: forms.py:299 forms_treatments.py:138 forms_treatments.py:436 -#: models_finds.py:1073 models_treatments.py:127 models_treatments.py:290 -#: templates/ishtar/sheet_find.html:103 templates/ishtar/sheet_find.html:145 +#: forms.py:302 forms_treatments.py:138 forms_treatments.py:436 +#: models_finds.py:1085 models_treatments.py:129 models_treatments.py:292 +#: templates/ishtar/sheet_find.html:91 templates/ishtar/sheet_find.html:133 msgid "Start date" msgstr "" -#: forms.py:301 models_finds.py:1074 models_treatments.py:291 -#: templates/ishtar/sheet_find.html:104 templates/ishtar/sheet_find.html:146 +#: forms.py:304 models_finds.py:1086 models_treatments.py:293 +#: templates/ishtar/sheet_find.html:92 templates/ishtar/sheet_find.html:134 msgid "End date" msgstr "" -#: forms.py:302 +#: forms.py:305 msgid "Quality" msgstr "" -#: forms.py:304 +#: forms.py:307 msgid "Dating type" msgstr "" -#: forms.py:306 +#: forms.py:309 msgid "Precise dating" msgstr "" -#: forms.py:328 models_finds.py:188 +#: forms.py:331 models_finds.py:188 msgid "Short ID" msgstr "" -#: forms.py:329 models_finds.py:191 +#: forms.py:332 models_finds.py:191 msgid "Complete ID" msgstr "" -#: forms.py:333 forms_treatments.py:54 forms_treatments.py:96 +#: forms.py:336 forms_treatments.py:54 forms_treatments.py:96 #: forms_treatments.py:284 forms_treatments.py:356 forms_treatments.py:406 -#: forms_treatments.py:489 models_treatments.py:100 models_treatments.py:464 +#: forms_treatments.py:489 models_treatments.py:102 models_treatments.py:466 msgid "Year" msgstr "" -#: forms.py:335 +#: forms.py:338 msgid "Operation's number (index by year)" msgstr "" -#: forms.py:338 +#: forms.py:341 msgid "Code PATRIARCHE" msgstr "" -#: forms.py:342 +#: forms.py:345 msgid "Archaeological site" msgstr "" -#: forms.py:348 +#: forms.py:351 msgid "Search within related operations" msgstr "" -#: forms.py:353 models_finds.py:112 +#: forms.py:355 models_finds.py:112 msgid "Object type" msgstr "" -#: forms.py:366 forms_treatments.py:57 +#: forms.py:368 forms_treatments.py:57 msgid "Has an image?" msgstr "" -#: forms.py:414 forms.py:427 views.py:130 +#: forms.py:417 +msgid "Warehouse (location)" +msgstr "" + +#: forms.py:423 +msgid "Warehouse (responsible)" +msgstr "" + +#: forms.py:428 +msgid "Container ID" +msgstr "" + +#: forms.py:429 +msgid "Container ref." +msgstr "" + +#: forms.py:433 forms.py:456 views.py:149 msgid "Find search" msgstr "" -#: forms.py:441 templates/ishtar/sheet_treatment.html:46 +#: forms.py:481 templates/ishtar/sheet_treatment.html:46 msgid "Upstream finds" msgstr "" -#: forms.py:443 models_finds.py:657 +#: forms.py:483 models_finds.py:669 msgid "Finds" msgstr "" -#: forms.py:453 +#: forms.py:495 msgid "You should at least select one archaeological find." msgstr "" -#: forms.py:556 +#: forms.py:598 msgid "Resulting find" msgstr "" -#: forms.py:561 +#: forms.py:603 msgid "Precise description" msgstr "" -#: forms.py:576 +#: forms.py:618 msgid "Resulting finds" msgstr "" -#: forms.py:581 +#: forms.py:623 msgid "Would you like to delete this find?" msgstr "" -#: forms.py:585 models_treatments.py:90 +#: forms.py:627 models_treatments.py:90 msgid "Upstream find" msgstr "" -#: forms.py:598 +#: forms.py:640 msgid "Archaeological find search" msgstr "" -#: forms.py:600 +#: forms.py:642 msgid "You should select an archaeological find." msgstr "" -#: forms.py:605 +#: forms.py:647 msgid "Year of the operation" msgstr "" -#: forms.py:607 +#: forms.py:649 msgid "Numeric reference" msgstr "" -#: forms.py:614 +#: forms.py:656 msgid "Period of the archaeological find" msgstr "" -#: forms.py:616 +#: forms.py:658 msgid "Material type of the archaeological find" msgstr "" -#: forms.py:618 +#: forms.py:660 msgid "Description of the archaeological find" msgstr "" -#: forms.py:630 forms_treatments.py:590 forms_treatments.py:616 +#: forms.py:672 forms_treatments.py:590 forms_treatments.py:616 msgid "Documentation search" msgstr "" -#: forms.py:632 forms_treatments.py:592 forms_treatments.py:618 +#: forms.py:674 forms_treatments.py:592 forms_treatments.py:618 msgid "You should select a document." msgstr "" -#: forms.py:649 +#: forms.py:691 msgid "Another basket already exists with this name." msgstr "" -#: forms.py:659 forms.py:663 forms_treatments.py:175 ishtar_menu.py:57 +#: forms.py:701 forms.py:705 forms_treatments.py:175 ishtar_menu.py:57 msgid "Basket" msgstr "" -#: forms_treatments.py:52 forms_treatments.py:92 models_treatments.py:96 -#: templates/ishtar/sheet_find.html:97 templates/ishtar/sheet_find.html:139 +#: forms_treatments.py:52 forms_treatments.py:92 models_treatments.py:98 +#: templates/ishtar/sheet_find.html:85 templates/ishtar/sheet_find.html:127 msgid "Label" msgstr "" -#: forms_treatments.py:53 forms_treatments.py:95 models_treatments.py:98 +#: forms_treatments.py:53 forms_treatments.py:95 models_treatments.py:100 msgid "Other ref." msgstr "" #: forms_treatments.py:55 forms_treatments.py:237 forms_treatments.py:285 #: forms_treatments.py:348 forms_treatments.py:357 forms_treatments.py:459 -#: forms_treatments.py:490 forms_treatments.py:557 models_treatments.py:102 -#: models_treatments.py:466 +#: forms_treatments.py:490 forms_treatments.py:557 models_treatments.py:104 +#: models_treatments.py:468 msgid "Index" msgstr "" #: forms_treatments.py:56 forms_treatments.py:101 forms_treatments.py:301 -#: forms_treatments.py:578 models_treatments.py:56 models_treatments.py:107 -#: models_treatments.py:289 +#: forms_treatments.py:578 models_treatments.py:56 models_treatments.py:109 +#: models_treatments.py:291 msgid "Treatment type" msgstr "" -#: forms_treatments.py:68 forms_treatments.py:560 views.py:360 +#: forms_treatments.py:68 forms_treatments.py:560 views.py:398 msgid "Treatment search" msgstr "" @@ -363,8 +380,8 @@ msgstr "" msgid "Base treatment" msgstr "" -#: forms_treatments.py:103 models_treatments.py:109 -#: templates/ishtar/sheet_find.html:99 templates/ishtar/sheet_find.html:141 +#: forms_treatments.py:103 models_treatments.py:92 models_treatments.py:111 +#: templates/ishtar/sheet_find.html:87 templates/ishtar/sheet_find.html:129 msgid "State" msgstr "" @@ -372,15 +389,15 @@ msgstr "" msgid "Target" msgstr "" -#: forms_treatments.py:107 forms_treatments.py:417 models_treatments.py:117 +#: forms_treatments.py:107 forms_treatments.py:417 models_treatments.py:119 msgid "Responsible" msgstr "" -#: forms_treatments.py:113 models_treatments.py:120 +#: forms_treatments.py:113 models_treatments.py:122 msgid "Organization" msgstr "" -#: forms_treatments.py:119 models_treatments.py:112 models_treatments.py:292 +#: forms_treatments.py:119 models_treatments.py:114 models_treatments.py:294 msgid "Location" msgstr "" @@ -392,12 +409,12 @@ msgstr "" msgid "External ref." msgstr "" -#: forms_treatments.py:136 models_treatments.py:126 +#: forms_treatments.py:136 models_treatments.py:128 msgid "Goal" msgstr "" -#: forms_treatments.py:140 forms_treatments.py:442 models_treatments.py:128 -#: models_treatments.py:486 +#: forms_treatments.py:140 forms_treatments.py:442 models_treatments.py:130 +#: models_treatments.py:488 msgid "Closing date" msgstr "" @@ -443,13 +460,13 @@ msgstr "" msgid "Another treatment with this index exists for {}." msgstr "" -#: forms_treatments.py:262 models_treatments.py:105 +#: forms_treatments.py:262 models_treatments.py:107 msgid "Associated request" msgstr "" #: forms_treatments.py:266 forms_treatments.py:397 ishtar_menu.py:108 -#: models_treatments.py:497 models_treatments.py:519 models_treatments.py:581 -#: wizards.py:183 templates/ishtar/sheet_treatmentfile.html:5 +#: models_treatments.py:499 models_treatments.py:521 models_treatments.py:584 +#: wizards.py:187 templates/ishtar/sheet_treatmentfile.html:5 msgid "Treatment request" msgstr "" @@ -504,7 +521,7 @@ msgstr "" msgid "Modified by" msgstr "" -#: forms_treatments.py:354 forms_treatments.py:404 models_treatments.py:471 +#: forms_treatments.py:354 forms_treatments.py:404 models_treatments.py:473 msgid "Name" msgstr "" @@ -512,9 +529,9 @@ msgstr "" msgid "Internal ref." msgstr "" -#: forms_treatments.py:358 forms_treatments.py:415 -#: templates/ishtar/sheet_find.html:98 templates/ishtar/sheet_find.html:140 -#: templates/ishtar/sheet_find.html:232 +#: forms_treatments.py:358 forms_treatments.py:415 models_treatments.py:91 +#: templates/ishtar/sheet_find.html:86 templates/ishtar/sheet_find.html:128 +#: templates/ishtar/sheet_find.html:228 msgid "Type" msgstr "" @@ -522,21 +539,21 @@ msgstr "" msgid "In charge" msgstr "" -#: forms_treatments.py:366 forms_treatments.py:423 models_treatments.py:480 +#: forms_treatments.py:366 forms_treatments.py:423 models_treatments.py:482 #: templates/ishtar/sheet_treatmentfile.html:31 msgid "Applicant" msgstr "" -#: forms_treatments.py:372 forms_treatments.py:429 models_treatments.py:484 +#: forms_treatments.py:372 forms_treatments.py:429 models_treatments.py:486 #: templates/ishtar/sheet_treatmentfile.html:38 msgid "Applicant organisation" msgstr "" -#: forms_treatments.py:385 forms_treatments.py:565 views.py:464 +#: forms_treatments.py:385 forms_treatments.py:565 views.py:502 msgid "Treatment request search" msgstr "" -#: forms_treatments.py:439 models_treatments.py:490 +#: forms_treatments.py:439 models_treatments.py:492 msgid "Reception date" msgstr "" @@ -568,8 +585,8 @@ msgstr "" msgid "Treatment request internal reference" msgstr "" -#: forms_treatments.py:508 forms_treatments.py:604 models_treatments.py:449 -#: models_treatments.py:473 +#: forms_treatments.py:508 forms_treatments.py:604 models_treatments.py:451 +#: models_treatments.py:475 msgid "Treatment request type" msgstr "" @@ -611,12 +628,12 @@ msgstr "" msgid "Documentation" msgstr "" -#: ishtar_menu.py:133 ishtar_menu.py:214 models_finds.py:1070 +#: ishtar_menu.py:133 ishtar_menu.py:214 models_finds.py:1082 msgid "Administrative act" msgstr "" -#: ishtar_menu.py:151 ishtar_menu.py:233 templates/ishtar/sheet_find.html:227 -#: templates/ishtar/sheet_find.html:229 +#: ishtar_menu.py:151 ishtar_menu.py:233 templates/ishtar/sheet_find.html:222 +#: templates/ishtar/sheet_find.html:224 msgid "Documents" msgstr "" @@ -624,8 +641,9 @@ msgstr "" msgid "Source" msgstr "" -#: ishtar_menu.py:185 models_treatments.py:145 models_treatments.py:281 -#: models_treatments.py:565 templates/ishtar/sheet_treatment.html:5 +#: ishtar_menu.py:185 models_treatments.py:147 models_treatments.py:283 +#: models_treatments.py:567 models_treatments.py:570 +#: templates/ishtar/sheet_treatment.html:5 msgid "Treatment" msgstr "" @@ -645,7 +663,7 @@ msgstr "" msgid "Parent material" msgstr "" -#: models_finds.py:52 models_finds.py:507 models_finds.py:590 +#: models_finds.py:52 models_finds.py:525 models_finds.py:602 msgid "Material types" msgstr "" @@ -677,8 +695,8 @@ msgstr "" msgid "Remarkability types" msgstr "" -#: models_finds.py:98 models_finds.py:586 models_treatments.py:40 -#: models_treatments.py:285 +#: models_finds.py:98 models_finds.py:598 models_treatments.py:40 +#: models_treatments.py:287 msgid "Order" msgstr "" @@ -694,12 +712,12 @@ msgstr "" msgid "Parent" msgstr "" -#: models_finds.py:152 models_finds.py:583 models_treatments.py:122 -#: models_treatments.py:469 +#: models_finds.py:152 models_finds.py:595 models_treatments.py:124 +#: models_treatments.py:471 msgid "External ID" msgstr "" -#: models_finds.py:154 models_finds.py:585 +#: models_finds.py:154 models_finds.py:597 msgid "External ID is set automatically" msgstr "" @@ -739,7 +757,7 @@ msgstr "" msgid "Cached value - do not edit" msgstr "" -#: models_finds.py:197 models_finds.py:581 +#: models_finds.py:197 models_finds.py:593 msgid "Base find" msgstr "" @@ -787,109 +805,129 @@ msgstr "" msgid "Checked and correct" msgstr "" -#: models_finds.py:505 -msgid "Periods" +#: models_finds.py:506 +msgid "Base find - Short ID" msgstr "" -#: models_finds.py:506 models_finds.py:614 models_treatments.py:129 -#: models_treatments.py:293 templates/ishtar/sheet_find.html:102 -#: templates/ishtar/sheet_find.html:144 -msgid "Container" +#: models_finds.py:507 +msgid "Base find - Complete ID" msgstr "" -#: models_finds.py:517 -msgid "Base find - Short ID" +#: models_finds.py:509 +msgid "Operation (code)" msgstr "" -#: models_finds.py:518 -msgid "Base find - Complete ID" +#: models_finds.py:511 +msgid "Town" msgstr "" -#: models_finds.py:519 +#: models_finds.py:513 +msgid "Operation (name)" +msgstr "" + +#: models_finds.py:515 +msgid "Parcel" +msgstr "" + +#: models_finds.py:516 +msgid "Batch" +msgstr "" + +#: models_finds.py:517 msgid "Base find - Comment" msgstr "" -#: models_finds.py:520 +#: models_finds.py:518 msgid "Base find - Description" msgstr "" -#: models_finds.py:521 +#: models_finds.py:519 msgid "Base find - Topographic localisation" msgstr "" -#: models_finds.py:523 +#: models_finds.py:521 msgid "Base find - Special interest" msgstr "" -#: models_finds.py:524 +#: models_finds.py:522 msgid "Base find - Discovery date" msgstr "" -#: models_finds.py:597 +#: models_finds.py:523 models_finds.py:626 models_treatments.py:131 +#: models_treatments.py:295 templates/ishtar/sheet_find.html:90 +#: templates/ishtar/sheet_find.html:132 +msgid "Container" +msgstr "" + +#: models_finds.py:524 +msgid "Periods" +msgstr "" + +#: models_finds.py:609 msgid "Type of preservation to consider" msgstr "" -#: models_finds.py:601 +#: models_finds.py:613 msgid "Weight unit" msgstr "" -#: models_finds.py:607 templates/ishtar/sheet_find.html:90 +#: models_finds.py:619 templates/ishtar/sheet_find.html:78 msgid "Upstream treatment" msgstr "" -#: models_finds.py:610 templates/ishtar/sheet_find.html:132 +#: models_finds.py:622 templates/ishtar/sheet_find.html:120 msgid "Downstream treatment" msgstr "" -#: models_finds.py:648 +#: models_finds.py:660 msgid "Collection" msgstr "" -#: models_finds.py:650 models_treatments.py:141 models_treatments.py:493 +#: models_finds.py:662 models_treatments.py:143 models_treatments.py:495 msgid "Cached name" msgstr "" -#: models_finds.py:659 +#: models_finds.py:671 msgid "Can view all Finds" msgstr "" -#: models_finds.py:660 +#: models_finds.py:672 msgid "Can view own Find" msgstr "" -#: models_finds.py:661 +#: models_finds.py:673 msgid "Can add own Find" msgstr "" -#: models_finds.py:662 +#: models_finds.py:674 msgid "Can change own Find" msgstr "" -#: models_finds.py:663 +#: models_finds.py:675 msgid "Can delete own Find" msgstr "" -#: models_finds.py:669 +#: models_finds.py:681 msgid "FIND" msgstr "" -#: models_finds.py:1057 +#: models_finds.py:1069 msgid "Find documentation" msgstr "" -#: models_finds.py:1058 +#: models_finds.py:1070 msgid "Find documentations" msgstr "" -#: models_finds.py:1071 +#: models_finds.py:1083 msgid "Person" msgstr "" -#: models_finds.py:1077 +#: models_finds.py:1089 msgid "Property" msgstr "" -#: models_finds.py:1078 +#: models_finds.py:1090 msgid "Properties" msgstr "" @@ -933,313 +971,317 @@ msgstr "" msgid "Downstream find" msgstr "" -#: models_treatments.py:114 +#: models_treatments.py:116 msgid "Location where the treatment is done. Target warehouse for a move." msgstr "" -#: models_treatments.py:131 +#: models_treatments.py:133 msgid "Estimated cost" msgstr "" -#: models_treatments.py:133 +#: models_treatments.py:135 msgid "Quoted cost" msgstr "" -#: models_treatments.py:135 +#: models_treatments.py:137 msgid "Realized cost" msgstr "" -#: models_treatments.py:137 +#: models_treatments.py:139 msgid "Insurance cost" msgstr "" -#: models_treatments.py:139 +#: models_treatments.py:141 msgid "Target a basket" msgstr "" -#: models_treatments.py:146 templates/ishtar/sheet_find.html:87 -#: templates/ishtar/sheet_treatmentfile.html:45 +#: models_treatments.py:148 templates/ishtar/sheet_find.html:75 +#: templates/ishtar/sheet_treatmentfile.html:46 msgid "Treatments" msgstr "" -#: models_treatments.py:149 +#: models_treatments.py:151 msgid "Can view all Treatments" msgstr "" -#: models_treatments.py:150 +#: models_treatments.py:152 msgid "Can view own Treatment" msgstr "" -#: models_treatments.py:151 +#: models_treatments.py:153 msgid "Can add own Treatment" msgstr "" -#: models_treatments.py:152 +#: models_treatments.py:154 msgid "Can change own Treatment" msgstr "" -#: models_treatments.py:153 +#: models_treatments.py:155 msgid "Can delete own Treatment" msgstr "" -#: models_treatments.py:165 +#: models_treatments.py:167 msgid "TREATMENT" msgstr "" -#: models_treatments.py:294 templates/ishtar/sheet_find.html:101 -#: templates/ishtar/sheet_find.html:143 +#: models_treatments.py:296 templates/ishtar/sheet_find.html:89 +#: templates/ishtar/sheet_find.html:131 msgid "Doer" msgstr "" -#: models_treatments.py:295 models_treatments.py:296 +#: models_treatments.py:297 models_treatments.py:298 msgid "Related finds" msgstr "" -#: models_treatments.py:438 +#: models_treatments.py:440 msgid "Is upstream" msgstr "" -#: models_treatments.py:450 +#: models_treatments.py:452 msgid "Treatment request types" msgstr "" -#: models_treatments.py:467 +#: models_treatments.py:469 msgid "Internal reference" msgstr "" -#: models_treatments.py:476 +#: models_treatments.py:478 msgid "Person in charge" msgstr "" -#: models_treatments.py:488 +#: models_treatments.py:490 msgid "Creation date" msgstr "" -#: models_treatments.py:498 +#: models_treatments.py:500 msgid "Treatment requests" msgstr "" -#: models_treatments.py:502 +#: models_treatments.py:504 msgid "Can view all Treatment requests" msgstr "" -#: models_treatments.py:504 +#: models_treatments.py:506 msgid "Can view own Treatment request" msgstr "" -#: models_treatments.py:506 +#: models_treatments.py:508 msgid "Can add own Treatment request" msgstr "" -#: models_treatments.py:508 +#: models_treatments.py:510 msgid "Can change own Treatment request" msgstr "" -#: models_treatments.py:510 +#: models_treatments.py:512 msgid "Can delete own Treatment request" msgstr "" -#: models_treatments.py:571 +#: models_treatments.py:574 msgid "Treatment documentation" msgstr "" -#: models_treatments.py:572 +#: models_treatments.py:575 msgid "Treament documentations" msgstr "" #: models_treatments.py:588 +msgid "Treatment file" +msgstr "" + +#: models_treatments.py:592 msgid "Treatment request documentation" msgstr "" -#: models_treatments.py:589 +#: models_treatments.py:593 msgid "Treatment request documentations" msgstr "" -#: views.py:125 +#: views.py:138 msgid "New find" msgstr "" -#: views.py:139 +#: views.py:167 msgid "Find modification" msgstr "" -#: views.py:154 +#: views.py:189 msgid "Find deletion" msgstr "" -#: views.py:159 +#: views.py:194 msgid "Find: source search" msgstr "" -#: views.py:167 +#: views.py:202 msgid "Find: new source" msgstr "" -#: views.py:175 +#: views.py:210 msgid "Find: source modification" msgstr "" -#: views.py:190 +#: views.py:225 msgid "Find: source deletion" msgstr "" -#: views.py:204 +#: views.py:239 msgid "New basket" msgstr "" -#: views.py:223 +#: views.py:258 msgid "Manage items in basket" msgstr "" -#: views.py:243 +#: views.py:278 msgid "Manage basket" msgstr "" -#: views.py:331 +#: views.py:369 msgid "Delete basket" msgstr "" -#: views.py:381 +#: views.py:419 msgid "New treatment" msgstr "" -#: views.py:389 views.py:481 +#: views.py:427 views.py:519 msgid "Modify" msgstr "" -#: views.py:406 +#: views.py:444 msgid "Treatment deletion" msgstr "" -#: views.py:413 +#: views.py:451 msgid "Treatment: search administrative act" msgstr "" -#: views.py:422 +#: views.py:460 msgid "Treatment: new administrative act" msgstr "" -#: views.py:432 +#: views.py:470 msgid "Treatment: administrative act modification" msgstr "" -#: views.py:441 +#: views.py:479 msgid "Treatment: administrative act deletion" msgstr "" -#: views.py:474 +#: views.py:512 msgid "New treatment request" msgstr "" -#: views.py:497 +#: views.py:535 msgid "Treatment request deletion" msgstr "" -#: views.py:504 +#: views.py:542 msgid "Treatment request: search administrative act" msgstr "" -#: views.py:514 +#: views.py:552 msgid "Treatment request: new administrative act" msgstr "" -#: views.py:524 +#: views.py:562 msgid "Treatment request: administrative act modification" msgstr "" -#: views.py:533 +#: views.py:571 msgid "Treatment request: administrative act deletion" msgstr "" -#: views.py:559 +#: views.py:597 msgid "Treatment: source search" msgstr "" -#: views.py:574 +#: views.py:612 msgid "Treatment: source modification" msgstr "" -#: views.py:589 +#: views.py:627 msgid "Treatment: source deletion" msgstr "" -#: views.py:602 +#: views.py:640 msgid "Treatment request: source search" msgstr "" -#: views.py:618 +#: views.py:656 msgid "Treatment request: source modification" msgstr "" -#: views.py:636 +#: views.py:674 msgid "Treatment request: source deletion" msgstr "" -#: wizards.py:63 wizards.py:195 +#: wizards.py:63 wizards.py:199 msgid "Operation" msgstr "" -#: templates/ishtar/sheet_find.html:24 -msgid "Creation:" +#: templates/ishtar/sheet_find.html:25 +msgid "Administrative index" msgstr "" -#: templates/ishtar/sheet_find.html:31 -msgid "Modification:" -msgstr "" - -#: templates/ishtar/sheet_find.html:79 +#: templates/ishtar/sheet_find.html:67 msgid "Warehouse" msgstr "" -#: templates/ishtar/sheet_find.html:96 templates/ishtar/sheet_find.html:138 +#: templates/ishtar/sheet_find.html:84 templates/ishtar/sheet_find.html:126 msgid "Year - index" msgstr "" -#: templates/ishtar/sheet_find.html:100 templates/ishtar/sheet_find.html:142 +#: templates/ishtar/sheet_find.html:88 templates/ishtar/sheet_find.html:130 msgid "Related finds (max. 15 displayed)" msgstr "" -#: templates/ishtar/sheet_find.html:128 +#: templates/ishtar/sheet_find.html:116 msgid "Export as CSV" msgstr "" -#: templates/ishtar/sheet_find.html:128 templates/ishtar/sheet_find.html:171 +#: templates/ishtar/sheet_find.html:116 templates/ishtar/sheet_find.html:159 msgid "CSV" msgstr "" -#: templates/ishtar/sheet_find.html:176 +#: templates/ishtar/sheet_find.html:164 msgid "Associated base finds" msgstr "" -#: templates/ishtar/sheet_find.html:208 +#: templates/ishtar/sheet_find.html:171 +msgid "Internal ID" +msgstr "" + +#: templates/ishtar/sheet_find.html:203 msgid "Coordinates:" msgstr "" -#: templates/ishtar/sheet_find.html:210 +#: templates/ishtar/sheet_find.html:205 msgid "X:" msgstr "" -#: templates/ishtar/sheet_find.html:211 +#: templates/ishtar/sheet_find.html:206 msgid "Y:" msgstr "" -#: templates/ishtar/sheet_find.html:212 +#: templates/ishtar/sheet_find.html:207 msgid "Z:" msgstr "" -#: templates/ishtar/sheet_find.html:215 +#: templates/ishtar/sheet_find.html:210 msgid "SRID:" msgstr "" -#: templates/ishtar/sheet_find.html:231 +#: templates/ishtar/sheet_find.html:227 msgid "Title" msgstr "" -#: templates/ishtar/sheet_find.html:233 +#: templates/ishtar/sheet_find.html:229 msgid "Authors" msgstr "" -#: templates/ishtar/sheet_find.html:234 +#: templates/ishtar/sheet_find.html:230 msgid "Link" msgstr "" @@ -1251,6 +1293,10 @@ msgstr "" msgid "Find source" msgstr "" +#: templates/ishtar/sheet_findsource.html:11 +msgid "Related find" +msgstr "" + #: templates/ishtar/sheet_treatment.html:20 msgctxt "Treatment" msgid "Closed" @@ -1269,6 +1315,16 @@ msgstr "" msgid "Related operations" msgstr "" +#: templates/ishtar/sheet_treatment.html:60 +#: templates/ishtar/sheet_treatmentfile.html:51 +msgid "Associated documents" +msgstr "" + +#: templates/ishtar/sheet_treatment.html:65 +#: templates/ishtar/sheet_treatmentfile.html:56 +msgid "Administrative acts" +msgstr "" + #: templates/ishtar/sheet_treatmentfile.html:16 msgctxt "Treatment request" msgid "Closed" @@ -1283,6 +1339,14 @@ msgstr "" msgid "Treatment request source" msgstr "" +#: templates/ishtar/sheet_treatmentfilesource.html:11 +msgid "Related treatment request" +msgstr "" + #: templates/ishtar/sheet_treatmentsource.html:4 msgid "Treatment source" msgstr "" + +#: templates/ishtar/sheet_treatmentsource.html:11 +msgid "Related treatment" +msgstr "" diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py index 5c28d1a69..c54fd1ed9 100644 --- a/archaeological_finds/models_finds.py +++ b/archaeological_finds/models_finds.py @@ -481,17 +481,17 @@ class Find(BaseHistorizedItem, ImageModel, OwnPerms, ShortMenuItem): CHECK_DICT = dict(CHECK_CHOICES) SHOW_URL = 'show-find' SLUG = 'find' - TABLE_COLS = ['label', 'material_types__label', 'datings__period__label', - 'base_finds__context_record__parcel__town', - 'base_finds__context_record__operation__year', - 'base_finds__context_record__operation__operation_code', + TABLE_COLS = ['label', 'base_finds__context_record__parcel__town', + 'base_finds__context_record__operation__common_name', + 'base_finds__context_record__parcel', + 'base_finds__context_record__label', + 'material_types__label', 'object_types', + 'datings__period__label', 'container__cached_label', - 'base_finds__batch', - 'base_finds__context_record__parcel__town', - 'base_finds__context_record__parcel', ] + 'base_finds__batch', ] if settings.COUNTRY == 'fr': TABLE_COLS.insert( - 6, 'base_finds__context_record__operation__code_patriarche') + 2, 'base_finds__context_record__operation__code_patriarche') TABLE_COLS_FOR_OPE = [ 'base_finds__cache_short_id', 'base_finds__cache_complete_id', @@ -502,8 +502,26 @@ class Find(BaseHistorizedItem, ImageModel, OwnPerms, ShortMenuItem): 'base_finds__context_record__parcel__town', 'base_finds__context_record__parcel', ] COL_LABELS = { - 'datings__period__label': _(u"Periods"), + 'base_finds__context_record__label': _(u"Context record"), + 'base_finds__cache_short_id': _(u"Base find - Short ID"), + 'base_finds__cache_complete_id': _(u"Base find - Complete ID"), + 'base_finds__context_record__operation__code_patriarche': _( + u"Operation (code)" + ), + 'base_finds__context_record__parcel__town': _(u"Town"), + 'base_finds__context_record__operation__common_name': _( + u"Operation (name)" + ), + 'base_finds__context_record__parcel': _(u"Parcel"), + 'base_finds__batch':_(u"Batch"), + 'base_finds__comment': _(u"Base find - Comment"), + 'base_finds__description': _(u"Base find - Description"), + 'base_finds__topographic_localisation': _(u"Base find - " + u"Topographic localisation"), + 'base_finds__special_interest': _(u"Base find - Special interest"), + 'base_finds__discovery_date': _(u"Base find - Discovery date"), 'container__cached_label': _(u"Container"), + 'datings__period__label': _(u"Periods"), 'material_types__label': _(u"Material types"), } @@ -513,16 +531,6 @@ class Find(BaseHistorizedItem, ImageModel, OwnPerms, ShortMenuItem): 'base_finds__topographic_localisation', 'base_finds__special_interest', 'base_finds__discovery_date'] - EXTRA_FULL_FIELDS_LABELS = { - 'base_finds__cache_short_id': _(u"Base find - Short ID"), - 'base_finds__cache_complete_id': _(u"Base find - Complete ID"), - 'base_finds__comment': _(u"Base find - Comment"), - 'base_finds__description': _(u"Base find - Description"), - 'base_finds__topographic_localisation': _(u"Base find - " - u"Topographic localisation"), - 'base_finds__special_interest': _(u"Base find - Special interest"), - 'base_finds__discovery_date': _(u"Base find - Discovery date"), - } ATTRS_EQUIV = {'get_first_base_find': 'base_finds'} # search parameters @@ -563,6 +571,10 @@ class Find(BaseHistorizedItem, ImageModel, OwnPerms, ShortMenuItem): 'basket': 'basket', 'cached_label': 'cached_label__icontains', 'image__isnull': 'image__isnull', + 'container__location': 'container__location__pk', + 'container__responsible': 'container__responsible__pk', + 'container__index': 'container__index', + 'container__reference': 'container__reference', } EXTRA_REQUEST_KEYS.update( dict( diff --git a/archaeological_finds/models_treatments.py b/archaeological_finds/models_treatments.py index 3e9077a48..4a453f538 100644 --- a/archaeological_finds/models_treatments.py +++ b/archaeological_finds/models_treatments.py @@ -88,6 +88,8 @@ class Treatment(BaseHistorizedItem, ImageModel, OwnPerms, ShortMenuItem): COL_LABELS = { "downstream_cached_label": _(u"Downstream find"), "upstream_cached_label": _(u"Upstream find"), + "treatment_types__label": _(u"Type"), + "treatment_state__label": _(u"State"), } IMAGE_PREFIX = 'treatment' # extra keys than can be passed to save method @@ -285,7 +287,7 @@ class AbsFindTreatments(models.Model): treatment_nb = models.IntegerField(_(u"Order")) TABLE_COLS = ["treatment__" + col for col in Treatment.TABLE_COLS] + \ ['treatment_nb'] - EXTRA_FULL_FIELDS_LABELS = { + COL_LABELS = { 'treatment__treatment_type': _(u"Treatment type"), 'treatment__start_date': _(u"Start date"), 'treatment__end_date': _(u"End date"), @@ -565,6 +567,7 @@ class TreatmentSource(Source): Treatment, verbose_name=_(u"Treatment"), related_name="source") BOOL_FIELDS = ['duplicate'] TABLE_COLS = ['treatment__cached_label'] + Source.TABLE_COLS + COL_LABELS = {'treatment__cached_label': _(u"Treatment")} SHOW_URL = 'show-treatmentsource' class Meta: @@ -582,6 +585,7 @@ class TreatmentFileSource(Source): related_name="source") BOOL_FIELDS = ['duplicate'] TABLE_COLS = ['treatment_file__cached_label'] + Source.TABLE_COLS + COL_LABELS = {'treatment_file__cached_label': _(u"Treatment file")} SHOW_URL = 'show-treatmentfilesource' class Meta: diff --git a/archaeological_finds/templates/ishtar/sheet_find.html b/archaeological_finds/templates/ishtar/sheet_find.html index b088f3161..912bf1b93 100644 --- a/archaeological_finds/templates/ishtar/sheet_find.html +++ b/archaeological_finds/templates/ishtar/sheet_find.html @@ -15,27 +15,15 @@ <p class='window-refs'>{% for base_find in item.base_finds.all %}{% if forloop.counter0 %} – {% endif %}{{base_find.short_id}}{% endfor %}</p> <p class="window-refs">{{ item.administrative_index|default:"" }}</p> <p class="window-refs">{{ item.contextrecord|default:"" }}</p> - +{% include "ishtar/blocks/sheet_external_id.html" %} <ul class='form-flex'> -{% field_li "Previous ID" item.previous_id %} - - <li><label>{%trans "Creation:"%}</label> - <span class='value'> - {{item.history_creator.ishtaruser.person}}<br/> - <small><em>{{item.history_creation_date|date:"DATETIME_FORMAT"}}</em></small> - </span> - </li> - {% if item.history_creation_date != item.last_edition_date %} - <li><label>{%trans "Modification:"%}</label> - <span class='value'> - {{item.history_modifier.ishtaruser.person}}<br/> - <small><em>{% firstof item.history_date|date:"DATETIME_FORMAT" item.history.all.0.history_date|date:"DATETIME_FORMAT" %}</em></small> - </span> - </li> - {% endif %} -{% field_li "Administrative index" item.administrative_index %} + {% field_li "Previous ID" item.previous_id %} + + {% include "ishtar/blocks/sheet_creation_section.html" %} + {% trans "Administrative index" as admin_index_label %} + {% field_li admin_index_label item.administrative_index %} {% field_li_multiple "Material types" item.material_types %} {% field_li "Dating" item.dating %} {% field_li "Length (cm)" item.length %} @@ -154,7 +142,7 @@ </a> </td> <td class='string'>{{ treatment.year }} - {{treatment.index}}</td> - <td class='string'>{{ treatment.label }}</td> + <td class='string'>{{ treatment.label|default_if_none:"-" }}</td> <td class='string'>{{ treatment.treatment_types_lbl }}</td> <td class='string'>{{ treatment.treatment_state|default_if_none:"-" }}</td> <td class='item-list'>{% for item in items %}<span>{{item}} {{ item|link_to_window}}</span>{% endfor %}</td> @@ -176,9 +164,16 @@ <h3>{% trans "Associated base finds"%}</h3> {% for base_find in item.base_finds.all %} +<p class='window-refs'>{{base_find.complete_id }}</p> +<p class='window-refs'>{{base_find.short_id }}</p> +{% if base_find.external_id %} +<p class='window-refs external-id'> + <small title="{% trans 'Internal ID' %}"> + <i class="fa fa-key" aria-hidden="true"></i> + {{base_find.external_id|default:''}} + </small> +</p>{% endif %} <ul class='form-flex'> -{% field_li "Complete ID" base_find.complete_id %} -{% field_li "Short ID" base_find.short_id %} {% with item.history_creation_date|date:"SHORT_DATETIME_FORMAT" as creation_date %} {% with item.history_creator.ishtaruser.full_label|add:"<br/><i>"|add:creation_date|add:"</i>" as creator %} {% field_li "Created by" creator|safe %} @@ -228,6 +223,7 @@ <table id='{{window_id}}-docs'> <caption>{%trans "Documents"%}</caption> <tr> + <th> </th> <th>{% trans "Title" %}</th> <th>{% trans "Type" %}</th> <th>{% trans "Authors" %}</th> @@ -235,8 +231,11 @@ </tr> {% for doc in item.source.all %} <tr> + <td><a class="display_details" href="#" + onclick="load_window('{% url 'show-findsource' doc.id %}/');"><i class="fa fa-info-circle" aria-hidden="true"></i> + </a></td> <td class='string'>{{ doc.title }}</td> - <td class='string'>{{doc.source_type}}</td> + <td class='string'>{{ doc.source_type }}</td> <td class='string'>{{ doc.authors.all|join:", " }}</td> <td class='string'>{% if doc.associated_url %}<a href='{{doc.associated_url}}' target="_blank">{{doc.associated_url}}</a>{% endif %}</td> </tr> diff --git a/archaeological_finds/templates/ishtar/sheet_findsource.html b/archaeological_finds/templates/ishtar/sheet_findsource.html index 69d14d161..fedb20911 100644 --- a/archaeological_finds/templates/ishtar/sheet_findsource.html +++ b/archaeological_finds/templates/ishtar/sheet_findsource.html @@ -8,5 +8,6 @@ {% endblock %} {% block related %} -{% field "Related find" item.owner '' item.owner|link_to_window %} +{% trans "Related find" as related_item_label %} +{% field related_item_label item.owner '' item.owner|link_to_window %} {% endblock %} diff --git a/archaeological_finds/templates/ishtar/sheet_treatment.html b/archaeological_finds/templates/ishtar/sheet_treatment.html index 633fa1829..9d6c75425 100644 --- a/archaeological_finds/templates/ishtar/sheet_treatment.html +++ b/archaeological_finds/templates/ishtar/sheet_treatment.html @@ -1,10 +1,10 @@ {% extends "ishtar/sheet.html" %} -{% load i18n window_field from_dict link_to_window window_tables window_header humanize %} +{% load i18n window_field from_dict link_to_window window_tables window_ope_tables window_header humanize %} {% load url from future %} {% block head_title %}{% trans "Treatment" %}{% endblock %} {% block content %} -{% window_nav item window_id 'show-treatment' 'treatment_modify' %} +{% window_nav item window_id 'show-treatment' 'treatment_modify' 'show-historized-treatment' 'revert-treatment' previous next 1 %} {% if item.image %} <a href='{{item.image.url}}' rel="prettyPhoto" title="{{item.label}}" class='photo'><img src='{{item.thumbnail.url}}'/></a> @@ -56,5 +56,14 @@ {% trans "Related operations" as related_operations %} {% dynamic_table_document related_operations 'operations' 'related_treatment' item.pk 'TABLE_COLS' output %} +{% if item.source.count %} +{% trans "Associated documents" as associated_docs %} +{% dynamic_table_document associated_docs 'treatments_docs' 'treatment' item.pk '' output %} +{% endif %} + +{% if item.administrative_act.count %} +{% trans "Administrative acts" as admact_lbl %} +{% table_administrativact admact_lbl item.administrative_act.all %} +{% endif %} {% endblock %} diff --git a/archaeological_finds/templates/ishtar/sheet_treatmentfile.html b/archaeological_finds/templates/ishtar/sheet_treatmentfile.html index 097f5defd..b84f60883 100644 --- a/archaeological_finds/templates/ishtar/sheet_treatmentfile.html +++ b/archaeological_finds/templates/ishtar/sheet_treatmentfile.html @@ -1,10 +1,10 @@ {% extends "ishtar/sheet.html" %} -{% load i18n window_field from_dict link_to_window window_tables window_header humanize %} +{% load i18n window_field from_dict link_to_window window_tables window_ope_tables window_header humanize %} {% load url from future %} {% block head_title %}{% trans "Treatment request" %}{% endblock %} {% block content %} -{% window_nav item window_id 'show-treatmentfile' 'treatmentfile_modify' %} +{% window_nav item window_id 'show-treatmentfile' 'treatmentfile_modify' 'show-historized-treatmentfile' 'revert-treatmentfile' previous next 1 %} <p class="window-refs">{{ item.name|default:"" }}</p> {% if item.internal_reference %} @@ -42,9 +42,19 @@ {% field "Contact" item.applicant.address_lbl %} {% endif %} -{% trans "Treatments" as treatments %} {% if item.treatments.count %} +{% trans "Treatments" as treatments %} {% dynamic_table_document treatments 'treatments' 'file' item.pk '' output '' 'treatment' %} {% endif %} +{% if item.source.count %} +{% trans "Associated documents" as associated_docs %} +{% dynamic_table_document associated_docs 'treatmentfiles_docs' 'treatment_file' item.pk '' output %} +{% endif %} + +{% if item.administrative_act.count %} +{% trans "Administrative acts" as admact_lbl %} +{% table_administrativact admact_lbl item.administrative_act.all %} +{% endif %} + {% endblock %} diff --git a/archaeological_finds/templates/ishtar/sheet_treatmentfilesource.html b/archaeological_finds/templates/ishtar/sheet_treatmentfilesource.html index e558296a8..17cc14b5b 100644 --- a/archaeological_finds/templates/ishtar/sheet_treatmentfilesource.html +++ b/archaeological_finds/templates/ishtar/sheet_treatmentfilesource.html @@ -8,5 +8,6 @@ {% endblock %} {% block related %} -{% field "Related treatment request" item.owner '' item.owner|link_to_window %} +{% trans "Related treatment request" as related_item_label %} +{% field related_item_label item.owner '' item.owner|link_to_window %} {% endblock %} diff --git a/archaeological_finds/templates/ishtar/sheet_treatmentsource.html b/archaeological_finds/templates/ishtar/sheet_treatmentsource.html index 0825810ad..70e69c704 100644 --- a/archaeological_finds/templates/ishtar/sheet_treatmentsource.html +++ b/archaeological_finds/templates/ishtar/sheet_treatmentsource.html @@ -8,5 +8,6 @@ {% endblock %} {% block related %} -{% field "Related treatment" item.owner '' item.owner|link_to_window %} +{% trans "Related treatment" as related_item_label %} +{% field related_item_label item.owner '' item.owner|link_to_window %} {% endblock %} diff --git a/archaeological_finds/urls.py b/archaeological_finds/urls.py index 4a8dec030..06d505896 100644 --- a/archaeological_finds/urls.py +++ b/archaeological_finds/urls.py @@ -267,6 +267,8 @@ urlpatterns += patterns( name=models.FindSource.SHOW_URL), url(r'^show-find/basket-(?P<pk>.+)/(?P<type>.+)?$', 'show_findbasket', name='show-findbasket'), + url(r'^display-find/basket-(?P<pk>.+)/$', 'display_findbasket', + name='display-findbasket'), url(r'^show-find(?:/(?P<pk>.+))?/(?P<type>.+)?$', 'show_find', name=models.Find.SHOW_URL), url(r'^display-find/(?P<pk>.+)/$', 'display_find', @@ -282,6 +284,10 @@ urlpatterns += patterns( kwargs={'full': 'shortcut'}), url(r'^show-treatment(?:/(?P<pk>.+))?/(?P<type>.+)?$', 'show_treatment', name=models.Treatment.SHOW_URL), + url(r'show-historized-treatment/(?P<pk>.+)?/(?P<date>.+)?$', + 'show_treatment', name='show-historized-treatment'), + url(r'^revert-treatment/(?P<pk>.+)/(?P<date>.+)$', + 'revert_treatment', name='revert-treatment'), url(r'get-treatmentfile/(?P<type>.+)?$', 'get_treatmentfile', name='get-treatmentfile'), url(r'get-treatmentfile-shortcut/(?P<type>.+)?$', @@ -290,6 +296,10 @@ urlpatterns += patterns( url(r'^show-treatmentfile(?:/(?P<pk>.+))?/(?P<type>.+)?$', 'show_treatmentfile', name=models.TreatmentFile.SHOW_URL), + url(r'show-historized-treatmentfile/(?P<pk>.+)?/(?P<date>.+)?$', + 'show_treatmentfile', name='show-historized-treatmentfile'), + url(r'^revert-treatmentfile/(?P<pk>.+)/(?P<date>.+)$', + 'revert_treatmentfile', name='revert-treatmentfile'), # url(r'show-treatmentfile(?:/(?P<pk>.+))?/(?P<type>.+)?$', # 'show_treatmentfile', # name=models.TreatmentFile.SHOW_URL), diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py index 084f15d13..03094cbb0 100644 --- a/archaeological_finds/views.py +++ b/archaeological_finds/views.py @@ -28,7 +28,7 @@ from django.utils.translation import ugettext_lazy as _ from django.views.generic import TemplateView from django.views.generic.edit import CreateView, FormView -from ishtar_common.models import IshtarUser +from ishtar_common.models import IshtarUser, get_current_profile from archaeological_operations.models import AdministrativeAct from ishtar_common.forms import FinalForm @@ -58,6 +58,7 @@ get_find_for_treatment = get_item( own_table_cols=models.Find.TABLE_COLS_FOR_OPE, base_request={}) show_treatment = show_item(models.Treatment, 'treatment') +revert_treatment = revert_item(models.Treatment) get_treatment = get_item(models.Treatment, 'get_treatment', 'treatment') get_administrativeacttreatment = get_item( @@ -66,6 +67,7 @@ get_administrativeacttreatment = get_item( base_request={"treatment__pk__isnull": False}) show_treatmentfile = show_item(models.TreatmentFile, 'treatmentfile') +revert_treatmentfile = revert_item(models.TreatmentFile) get_treatmentfile = get_item(models.TreatmentFile, 'get_treatmentfile', 'treatmentfile') @@ -108,10 +110,21 @@ show_findsource = show_item(models.FindSource, 'findsource') get_findsource = get_item(models.FindSource, 'get_findsource', 'findsource') show_find = show_item(models.Find, 'find') -display_find = display_item(models.Find, 'find') +display_find = display_item(models.Find) revert_find = revert_item(models.Find) show_findbasket = show_item(models.FindBasket, 'findbasket') +display_findbasket = display_item(models.FindBasket, + show_url='show-find/basket-') + + +def check_warehouse_module(self): + return get_current_profile().warehouse + + +def check_not_warehouse_module(self): + return not check_warehouse_module(self) + find_creation_steps = [ ('selecrecord-find_creation', RecordFormSelectionTable), @@ -125,17 +138,32 @@ find_creation_wizard = FindWizard.as_view( label=_(u"New find"), url_name='find_creation',) +find_search_condition_dict = { + 'general-find_search': check_not_warehouse_module, + 'generalwarehouse-find_search': check_warehouse_module, +} + find_search_wizard = SearchWizard.as_view([ - ('general-find_search', FindFormSelection)], + ('general-find_search', FindFormSelection), + ('generalwarehouse-find_search', FindFormSelectionWarehouseModule)], label=_(u"Find search"), - url_name='find_search',) + url_name='find_search', + condition_dict=find_search_condition_dict +) + +find_modification_condition_dict = { + 'selec-find_modification': check_not_warehouse_module, + 'selecw-find_modification': check_warehouse_module, +} find_modification_wizard = FindModificationWizard.as_view([ ('selec-find_modification', FindFormSelection), + ('selecw-find_modification', FindFormSelectionWarehouseModule), ('selecrecord-find_modification', RecordFormSelection), ('find-find_modification', FindForm), ('dating-find_modification', DatingFormSet), ('final-find_modification', FinalForm)], + condition_dict=find_modification_condition_dict, label=_(u"Find modification"), url_name='find_modification',) @@ -148,9 +176,16 @@ def find_modify(request, pk): reverse('find_modification', kwargs={'step': 'selecrecord-find_modification'})) +find_deletion_condition_dict = { + 'selec-find_deletion': check_not_warehouse_module, + 'selecw-find_deletion': check_warehouse_module, +} + find_deletion_wizard = FindDeletionWizard.as_view([ ('selec-find_deletion', FindFormSelection), + ('selecw-find_deletion', FindFormSelectionWarehouseModule), ('final-find_deletion', FindDeletionForm)], + condition_dict=find_deletion_condition_dict, label=_(u"Find deletion"), url_name='find_deletion',) @@ -252,7 +287,10 @@ class SelectItemsInBasket(IshtarMixin, LoginRequiredMixin, TemplateView): except models.FindBasket.DoesNotExist: raise PermissionDenied context['basket'] = self.basket - context['form'] = MultipleFindFormSelection() + if get_current_profile().warehouse: + context['form'] = MultipleFindFormSelectionWarehouseModule() + else: + context['form'] = MultipleFindFormSelection() context['add_url'] = reverse('add_iteminbasket') context['list_url'] = reverse('list_iteminbasket', kwargs={'pk': self.basket.pk}) diff --git a/archaeological_finds/wizards.py b/archaeological_finds/wizards.py index 96a83e582..43fe6262f 100644 --- a/archaeological_finds/wizards.py +++ b/archaeological_finds/wizards.py @@ -74,7 +74,11 @@ class FindWizard(Wizard): class FindModificationWizard(FindWizard): modification = True - filter_owns = {'selec-find_modification': ['pk']} + main_item_select_keys = ('selec-', 'selecw-') + filter_owns = { + 'selec-find_modification': ['pk'], + 'selecw-find_modification': ['pk'], + } class FindDeletionWizard(DeletionWizard): diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py index f9f1095be..27ab4670a 100644 --- a/archaeological_operations/forms.py +++ b/archaeological_operations/forms.py @@ -465,6 +465,8 @@ class OperationSelect(TableSelect): label=_(u"Department"), choices=[]) common_name = forms.CharField(label=_(u"Name"), max_length=30) + address = forms.CharField(label=_(u"Address / Locality"), + max_length=100) operation_type = forms.ChoiceField(label=_(u"Operation type"), choices=[]) end_date = forms.NullBooleanField(label=_(u"Is open?")) @@ -746,7 +748,9 @@ class OperationFormGeneral(ManageOldType, forms.Form): widget=OAWidget, required=False) common_name = forms.CharField(label=_(u"Generic name"), required=False, - max_length=120, widget=forms.Textarea) + max_length=500, widget=forms.Textarea) + address = forms.CharField(label=_(u"Address / Locality"), required=False, + max_length=500, widget=forms.Textarea) operation_type = forms.ChoiceField(label=_(u"Operation type"), choices=[]) year = forms.IntegerField(label=_(u"Year"), diff --git a/archaeological_operations/locale/django.pot b/archaeological_operations/locale/django.pot index 800f6a31e..3323d638d 100644 --- a/archaeological_operations/locale/django.pot +++ b/archaeological_operations/locale/django.pot @@ -6,16 +6,17 @@ # Valérie-Emma Leroux <emma@iggdrasil.net>, 2016. #zanata # Étienne Loks <etienne.loks@iggdrasil.net>, 2016. #zanata # Valérie-Emma Leroux <emma@iggdrasil.net>, 2017. #zanata +# Étienne Loks <etienne.loks@iggdrasil.net>, 2017. #zanata msgid "" msgstr "" -#: forms.py:69 forms.py:371 forms.py:1009 forms.py:1031 forms.py:1035 -#: models.py:1221 templates/ishtar/sheet_operation.html:156 +#: forms.py:69 forms.py:371 forms.py:1013 forms.py:1035 forms.py:1039 +#: models.py:1247 templates/ishtar/sheet_operation.html:151 #: templates/ishtar/blocks/window_tables/parcels.html:10 msgid "Parcels" msgstr "" -#: forms.py:72 forms.py:205 forms.py:985 models.py:1207 +#: forms.py:72 forms.py:205 forms.py:989 models.py:1233 #: templates/ishtar/blocks/window_tables/parcels.html:7 #: templates/ishtar/dashboards/dashboard_operation.html:432 #: templates/ishtar/dashboards/dashboard_operation.html:446 @@ -24,22 +25,22 @@ msgstr "" msgid "Town" msgstr "" -#: forms.py:74 forms.py:455 forms.py:752 forms.py:1255 models.py:272 -#: models.py:1013 models.py:1205 +#: forms.py:74 forms.py:455 forms.py:756 forms.py:1259 models.py:272 +#: models.py:1039 models.py:1231 #: templates/ishtar/blocks/window_tables/parcels.html:8 msgid "Year" msgstr "" -#: forms.py:77 models.py:1208 +#: forms.py:77 models.py:1234 #: templates/ishtar/blocks/window_tables/parcels.html:9 msgid "Section" msgstr "" -#: forms.py:80 models.py:1210 +#: forms.py:80 models.py:1236 msgid "Parcel number" msgstr "" -#: forms.py:82 models.py:1212 models.py:1229 models.py:1278 +#: forms.py:82 models.py:1238 models.py:1255 models.py:1304 msgid "Public domain" msgstr "" @@ -75,8 +76,8 @@ msgstr "" msgid "Relation type" msgstr "" -#: forms.py:383 ishtar_menu.py:30 models.py:367 models.py:834 models.py:864 -#: models.py:892 models.py:995 models.py:1204 wizards.py:344 wizards.py:355 +#: forms.py:383 ishtar_menu.py:30 models.py:368 models.py:849 models.py:884 +#: models.py:917 models.py:1021 models.py:1230 wizards.py:344 wizards.py:355 #: templates/ishtar/sheet_operation.html:4 msgid "Operation" msgstr "" @@ -85,7 +86,7 @@ msgstr "" msgid ":" msgstr "" -#: forms.py:411 forms.py:605 forms.py:1220 +#: forms.py:411 forms.py:607 forms.py:1224 msgid "You should select an operation." msgstr "" @@ -101,19 +102,19 @@ msgstr "" msgid "Deleted relations" msgstr "" -#: forms.py:451 templates/ishtar/sheet_operation.html:95 +#: forms.py:451 templates/ishtar/sheet_operation.html:85 msgid "Relations" msgstr "" -#: forms.py:456 forms.py:1226 models.py:273 +#: forms.py:456 forms.py:1230 models.py:273 msgid "Numeric reference" msgstr "" -#: forms.py:462 forms.py:1266 +#: forms.py:462 forms.py:1270 msgid "Parcel (section/number/public domain)" msgstr "" -#: forms.py:465 forms.py:1269 models.py:835 +#: forms.py:465 forms.py:1273 models.py:850 #: templates/ishtar/dashboards/dashboard_operation.html:390 #: templates/ishtar/dashboards/dashboard_operation.html:411 #: templates/ishtar/dashboards/dashboard_operation.html:643 @@ -122,449 +123,454 @@ msgstr "" msgid "Department" msgstr "" -#: forms.py:466 forms.py:1097 models.py:86 +#: forms.py:466 forms.py:1101 models.py:86 +#: templates/ishtar/sheet_operation.html:22 #: templates/ishtar/blocks/window_tables/archaeologicalsites.html:8 msgid "Name" msgstr "" -#: forms.py:468 forms.py:672 forms.py:750 forms.py:1232 models.py:280 +#: forms.py:468 forms.py:752 models.py:334 +msgid "Address / Locality" +msgstr "" + +#: forms.py:470 forms.py:674 forms.py:754 forms.py:1236 models.py:280 msgid "Operation type" msgstr "" -#: forms.py:470 +#: forms.py:472 msgid "Is open?" msgstr "" -#: forms.py:478 forms.py:782 models.py:269 +#: forms.py:480 forms.py:786 models.py:269 msgid "In charge" msgstr "" -#: forms.py:485 models.py:989 +#: forms.py:487 models.py:1015 msgid "Scientist in charge" msgstr "" -#: forms.py:487 forms.py:674 forms.py:772 models.py:267 +#: forms.py:489 forms.py:676 forms.py:776 models.py:267 msgid "Operator" msgstr "" -#: forms.py:496 forms.py:1102 models.py:90 models.py:282 +#: forms.py:498 forms.py:1106 models.py:90 models.py:282 #: templates/ishtar/blocks/window_tables/archaeologicalsites.html:10 msgid "Remains" msgstr "" -#: forms.py:497 forms.py:1080 forms.py:1099 models.py:88 models.py:288 +#: forms.py:499 forms.py:1084 forms.py:1103 models.py:88 models.py:288 #: templates/ishtar/blocks/window_tables/archaeologicalsites.html:9 msgid "Periods" msgstr "" -#: forms.py:498 +#: forms.py:500 msgid "Started before" msgstr "" -#: forms.py:500 +#: forms.py:502 msgid "Started after" msgstr "" -#: forms.py:502 +#: forms.py:504 msgid "Ended before" msgstr "" -#: forms.py:504 +#: forms.py:506 msgid "Ended after" msgstr "" -#: forms.py:507 +#: forms.py:509 msgid "Search within relations" msgstr "" -#: forms.py:509 forms.py:837 +#: forms.py:511 forms.py:841 msgid "Comment" msgstr "" -#: forms.py:510 +#: forms.py:512 msgid "Abstract (full text search)" msgstr "" -#: forms.py:512 forms.py:840 models.py:336 +#: forms.py:514 forms.py:844 models.py:337 msgid "Comment about scientific documentation" msgstr "" -#: forms.py:513 forms.py:842 models.py:348 +#: forms.py:515 forms.py:846 models.py:349 msgid "Record quality" msgstr "" -#: forms.py:514 forms.py:807 models.py:300 +#: forms.py:516 forms.py:811 models.py:300 msgid "Report processing" msgstr "" -#: forms.py:516 forms.py:845 models.py:343 +#: forms.py:518 forms.py:849 models.py:344 msgid "Virtual operation" msgstr "" -#: forms.py:518 forms.py:1142 forms.py:1146 models.py:94 +#: forms.py:520 forms.py:1146 forms.py:1150 models.py:94 msgid "Archaeological site" msgstr "" -#: forms.py:524 forms.py:1273 +#: forms.py:526 forms.py:1277 msgid "Created by" msgstr "" -#: forms.py:530 forms.py:1279 +#: forms.py:532 forms.py:1283 msgid "Modified by" msgstr "" -#: forms.py:537 +#: forms.py:539 msgid "Documentation deadline before" msgstr "" -#: forms.py:539 +#: forms.py:541 msgid "Documentation deadline after" msgstr "" -#: forms.py:541 forms.py:830 models.py:355 +#: forms.py:543 forms.py:834 models.py:356 msgid "Documentation received" msgstr "" -#: forms.py:543 +#: forms.py:545 msgid "Finds deadline before" msgstr "" -#: forms.py:545 +#: forms.py:547 msgid "Finds deadline after" msgstr "" -#: forms.py:547 forms.py:835 models.py:359 +#: forms.py:549 forms.py:839 models.py:360 msgid "Finds received" msgstr "" -#: forms.py:592 forms.py:1218 views.py:168 +#: forms.py:594 forms.py:1222 views.py:168 msgid "Operation search" msgstr "" -#: forms.py:636 +#: forms.py:638 msgid "Associated file" msgstr "" -#: forms.py:640 forms.py:933 models.py:501 models.py:891 models.py:1000 +#: forms.py:642 forms.py:937 models.py:516 models.py:916 models.py:1026 #: wizards.py:80 msgid "Archaeological file" msgstr "" -#: forms.py:647 forms.py:649 models.py:350 +#: forms.py:649 forms.py:651 models.py:351 msgid "Abstract" msgstr "" -#: forms.py:652 +#: forms.py:654 msgid "months" msgstr "" -#: forms.py:652 +#: forms.py:654 msgid "years" msgstr "" -#: forms.py:654 models.py:253 +#: forms.py:656 models.py:253 msgid "Creation date" msgstr "" -#: forms.py:655 +#: forms.py:657 msgid "Start of field work" msgstr "" -#: forms.py:657 +#: forms.py:659 msgid "All" msgstr "" -#: forms.py:658 +#: forms.py:660 msgid "Preventive" msgstr "" -#: forms.py:659 +#: forms.py:661 msgid "Research" msgstr "" -#: forms.py:663 +#: forms.py:665 msgid "Slicing" msgstr "" -#: forms.py:666 +#: forms.py:668 msgid "Department detail" msgstr "" -#: forms.py:668 +#: forms.py:670 msgid "Date get from" msgstr "" -#: forms.py:670 +#: forms.py:672 msgid "Preventive/Research" msgstr "" -#: forms.py:676 +#: forms.py:678 msgid "Date after" msgstr "" -#: forms.py:678 +#: forms.py:680 msgid "Date before" msgstr "" -#: forms.py:680 +#: forms.py:682 msgid "With reports" msgstr "" -#: forms.py:681 +#: forms.py:683 msgid "With finds" msgstr "" -#: forms.py:733 forms.py:1327 templates/ishtar/sheet_administrativeact.html:20 -#: templates/ishtar/sheet_operation.html:24 +#: forms.py:735 forms.py:1331 templates/ishtar/sheet_administrativeact.html:20 +#: templates/ishtar/sheet_operation.html:26 msgid "General" msgstr "" -#: forms.py:748 models.py:333 +#: forms.py:750 models.py:333 msgid "Generic name" msgstr "" -#: forms.py:757 models.py:302 +#: forms.py:761 models.py:302 msgid "Old code" msgstr "" -#: forms.py:760 +#: forms.py:764 msgid "Head scientist" msgstr "" -#: forms.py:779 models.py:332 +#: forms.py:783 models.py:332 msgid "Operator reference" msgstr "" -#: forms.py:793 +#: forms.py:797 msgid "Total surface (m2)" msgstr "" -#: forms.py:800 models.py:54 models.py:256 models.py:1417 +#: forms.py:804 models.py:54 models.py:256 models.py:1443 msgid "Start date" msgstr "" -#: forms.py:802 models.py:258 +#: forms.py:806 models.py:258 msgid "Excavation end date" msgstr "" -#: forms.py:805 models.py:259 +#: forms.py:809 models.py:259 msgid "Report delivery date" msgstr "" -#: forms.py:827 models.py:352 +#: forms.py:831 models.py:353 msgid "Deadline for submission of the documentation" msgstr "" -#: forms.py:832 models.py:357 +#: forms.py:836 models.py:358 msgid "Deadline for submission of the finds" msgstr "" -#: forms.py:847 +#: forms.py:851 msgid "Image" msgstr "" -#: forms.py:848 +#: forms.py:852 #, python-format msgid "" "<p>Heavy images are resized to: %(width)dx%(height)d (ratio is preserved).</" "p>" msgstr "" -#: forms.py:886 +#: forms.py:890 msgid "" "If you want to set an excavation end date you have to provide a start date." msgstr "" -#: forms.py:891 +#: forms.py:895 msgid "The excavation end date cannot be before the start date." msgstr "" -#: forms.py:919 +#: forms.py:923 #, python-format msgid "" "Operation code already exists for year: %(year)d - use a value bigger than " "%(last_val)d" msgstr "" -#: forms.py:923 +#: forms.py:927 msgid "Bad operation code" msgstr "" -#: forms.py:929 models.py:516 +#: forms.py:933 models.py:531 models.py:879 msgid "Operation code" msgstr "" -#: forms.py:955 +#: forms.py:959 msgid "Preventive informations - excavation" msgstr "" -#: forms.py:956 models.py:286 +#: forms.py:960 models.py:286 #: templates/ishtar/dashboards/dashboard_operation.html:701 msgid "Cost (euros)" msgstr "" -#: forms.py:957 models.py:291 +#: forms.py:961 models.py:291 msgid "Scheduled man-days" msgstr "" -#: forms.py:959 models.py:294 +#: forms.py:963 models.py:294 msgid "Optional man-days" msgstr "" -#: forms.py:961 models.py:297 +#: forms.py:965 models.py:297 msgid "Effective man-days" msgstr "" -#: forms.py:971 +#: forms.py:975 msgid "Preventive informations - diagnostic" msgstr "" -#: forms.py:974 models.py:316 +#: forms.py:978 models.py:316 msgid "Prescription on zoning" msgstr "" -#: forms.py:976 models.py:319 +#: forms.py:980 models.py:319 msgid "Prescription on large area" msgstr "" -#: forms.py:979 models.py:321 +#: forms.py:983 models.py:321 msgid "Prescription on geoarchaeological context" msgstr "" -#: forms.py:983 forms.py:1005 models.py:284 models.py:1023 +#: forms.py:987 forms.py:1009 models.py:284 models.py:1049 msgid "Towns" msgstr "" -#: forms.py:1012 models.py:1220 models.py:1415 +#: forms.py:1016 models.py:1246 models.py:1441 msgid "Parcel" msgstr "" -#: forms.py:1064 models.py:46 +#: forms.py:1068 models.py:46 msgid "Remain types" msgstr "" -#: forms.py:1068 models.py:45 +#: forms.py:1072 models.py:45 msgid "Remain type" msgstr "" -#: forms.py:1084 templates/ishtar/sheet_operation.html:176 -#: templates/ishtar/sheet_operation.html:207 +#: forms.py:1088 templates/ishtar/sheet_operation.html:171 +#: templates/ishtar/sheet_operation.html:202 msgid "Period" msgstr "" -#: forms.py:1096 models.py:85 +#: forms.py:1100 models.py:85 msgid "Reference" msgstr "" -#: forms.py:1125 +#: forms.py:1129 msgid "This reference already exists." msgstr "" -#: forms.py:1157 models.py:95 models.py:340 -#: templates/ishtar/sheet_operation.html:106 +#: forms.py:1161 models.py:95 models.py:341 +#: templates/ishtar/sheet_operation.html:96 msgid "Archaeological sites" msgstr "" -#: forms.py:1161 +#: forms.py:1165 msgid "Associated archaeological sites" msgstr "" -#: forms.py:1167 ishtar_menu.py:34 ishtar_menu.py:64 ishtar_menu.py:93 +#: forms.py:1171 ishtar_menu.py:34 ishtar_menu.py:64 ishtar_menu.py:93 msgid "Search" msgstr "" -#: forms.py:1172 +#: forms.py:1176 msgid "Would you like to close this operation?" msgstr "" -#: forms.py:1177 +#: forms.py:1181 msgid "Would you like to delete this operation?" msgstr "" -#: forms.py:1186 forms.py:1256 forms.py:1392 models.py:866 models.py:980 +#: forms.py:1190 forms.py:1260 forms.py:1396 models.py:886 models.py:1006 msgid "Index" msgstr "" -#: forms.py:1212 +#: forms.py:1216 #, python-format msgid "" "Index already exists for operation: %(operation)s - use a value bigger than " "%(last_val)d" msgstr "" -#: forms.py:1224 +#: forms.py:1228 msgid "Operation's year" msgstr "" -#: forms.py:1231 +#: forms.py:1235 msgid "Operation's town" msgstr "" -#: forms.py:1244 +#: forms.py:1248 msgid "Documentation search" msgstr "" -#: forms.py:1246 +#: forms.py:1250 msgid "You should select a document." msgstr "" -#: forms.py:1263 forms.py:1330 models.py:905 models.py:974 +#: forms.py:1267 forms.py:1334 models.py:930 models.py:1000 msgid "Act type" msgstr "" -#: forms.py:1264 forms.py:1462 +#: forms.py:1268 forms.py:1466 msgid "Indexed?" msgstr "" -#: forms.py:1270 forms.py:1335 models.py:1014 +#: forms.py:1274 forms.py:1339 models.py:1040 #: templates/ishtar/blocks/window_tables/administrativacts.html:10 msgid "Object" msgstr "" -#: forms.py:1307 views.py:333 +#: forms.py:1311 views.py:333 msgid "Administrative act search" msgstr "" -#: forms.py:1322 forms.py:1420 forms.py:1487 +#: forms.py:1326 forms.py:1424 forms.py:1491 msgid "You should select an administrative act." msgstr "" -#: forms.py:1338 models.py:1011 +#: forms.py:1342 models.py:1037 msgid "Signature date" msgstr "" -#: forms.py:1380 +#: forms.py:1384 #, python-format msgid "" "This index already exists for year: %(year)d - use a value bigger than " "%(last_val)d" msgstr "" -#: forms.py:1384 +#: forms.py:1388 msgid "Bad index" msgstr "" -#: forms.py:1397 +#: forms.py:1401 msgid "Would you like to delete this administrative act?" msgstr "" -#: forms.py:1402 +#: forms.py:1406 msgid "Template" msgstr "" -#: forms.py:1426 forms.py:1430 +#: forms.py:1430 forms.py:1434 msgid "This document is not intended for this type of act." msgstr "" -#: forms.py:1448 +#: forms.py:1452 msgid "Doc generation" msgstr "" -#: forms.py:1450 +#: forms.py:1454 msgid "Generate the associated doc?" msgstr "" -#: forms.py:1471 ishtar_menu.py:123 views.py:386 +#: forms.py:1475 ishtar_menu.py:123 views.py:386 msgctxt "admin act register" msgid "Register" msgstr "" @@ -585,7 +591,7 @@ msgstr "" msgid "Deletion" msgstr "" -#: ishtar_menu.py:59 models.py:1030 +#: ishtar_menu.py:59 models.py:1056 #: templates/ishtar/sheet_administrativeact.html:4 msgid "Administrative act" msgstr "" @@ -610,16 +616,16 @@ msgstr "" msgid "General informations" msgstr "" -#: ishtar_menu.py:139 models.py:368 +#: ishtar_menu.py:139 models.py:369 #: templates/ishtar/dashboards/dashboard_operation.html:8 msgid "Operations" msgstr "" -#: models.py:53 models.py:71 models.py:1879 +#: models.py:53 models.py:71 models.py:1913 msgid "Order" msgstr "" -#: models.py:55 models.py:1418 +#: models.py:55 models.py:1444 msgid "End date" msgstr "" @@ -735,7 +741,7 @@ msgstr "" msgid "In charge scientist" msgstr "" -#: models.py:277 models.py:1200 +#: models.py:277 models.py:1226 msgid "File" msgstr "" @@ -743,297 +749,305 @@ msgstr "" msgid "Surface (m2)" msgstr "" -#: models.py:334 +#: models.py:335 msgid "General comment" msgstr "" -#: models.py:337 +#: models.py:338 msgid "Cached name" msgstr "" -#: models.py:345 +#: models.py:346 msgid "" "If checked, it means that this operation have not been officialy registered." msgstr "" -#: models.py:361 +#: models.py:362 msgid "Point" msgstr "" -#: models.py:362 +#: models.py:363 msgid "Multi polygon" msgstr "" -#: models.py:370 +#: models.py:371 msgid "Can view all Operations" msgstr "" -#: models.py:371 +#: models.py:372 msgid "Can view own Operation" msgstr "" -#: models.py:372 +#: models.py:373 msgid "Can add own Operation" msgstr "" -#: models.py:373 +#: models.py:374 msgid "Can change own Operation" msgstr "" -#: models.py:374 +#: models.py:375 msgid "Can delete own Operation" msgstr "" -#: models.py:375 +#: models.py:376 msgid "Can close Operation" msgstr "" -#: models.py:404 +#: models.py:405 msgid "OPE" msgstr "" -#: models.py:470 +#: models.py:479 msgid "Intercommunal" msgstr "" -#: models.py:502 +#: models.py:517 msgid "Code patriarche" msgstr "" -#: models.py:542 +#: models.py:557 msgid "This operation code already exists for this year" msgstr "" -#: models.py:567 +#: models.py:582 msgid "Number of parcels" msgstr "" -#: models.py:585 +#: models.py:600 msgid "Number of administrative acts" msgstr "" -#: models.py:593 +#: models.py:608 msgid "Number of indexed administrative acts" msgstr "" -#: models.py:601 +#: models.py:616 msgid "Number of context records" msgstr "" -#: models.py:637 +#: models.py:652 msgid "Number of finds" msgstr "" -#: models.py:682 +#: models.py:697 msgid "No type" msgstr "" -#: models.py:713 +#: models.py:728 msgid "Number of sources" msgstr "" -#: models.py:755 templates/ishtar/dashboards/dashboard_operation.html:309 +#: models.py:770 templates/ishtar/dashboards/dashboard_operation.html:309 #: templates/ishtar/dashboards/dashboard_operation.html:575 #: templates/ishtar/dashboards/dashboard_operation.html:611 msgid "Mean" msgstr "" -#: models.py:805 +#: models.py:820 msgid "Inverse relation" msgstr "" -#: models.py:809 +#: models.py:824 msgid "Operation relation type" msgstr "" -#: models.py:810 +#: models.py:825 msgid "Operation relation types" msgstr "" -#: models.py:823 +#: models.py:838 msgid "Operation record relation" msgstr "" -#: models.py:824 +#: models.py:839 msgid "Operation record relations" msgstr "" -#: models.py:870 +#: models.py:878 +msgid "Operation year" +msgstr "" + +#: models.py:880 +msgid "Document code" +msgstr "" + +#: models.py:890 msgid "Operation documentation" msgstr "" -#: models.py:871 +#: models.py:891 msgid "Operation documentations" msgstr "" -#: models.py:874 +#: models.py:894 msgid "Can view all Operation sources" msgstr "" -#: models.py:876 +#: models.py:896 msgid "Can view own Operation source" msgstr "" -#: models.py:878 +#: models.py:898 msgid "Can add own Operation source" msgstr "" -#: models.py:880 +#: models.py:900 msgid "Can change own Operation source" msgstr "" -#: models.py:882 +#: models.py:902 msgid "Can delete own Operation source" msgstr "" -#: models.py:893 models.py:1005 +#: models.py:918 models.py:1031 msgid "Treatment request" msgstr "" -#: models.py:894 models.py:1010 +#: models.py:919 models.py:1036 msgid "Treatment" msgstr "" -#: models.py:896 +#: models.py:921 msgid "Intended to" msgstr "" -#: models.py:898 +#: models.py:923 msgid "Code" msgstr "" -#: models.py:901 +#: models.py:926 msgid "Associated template" msgstr "" -#: models.py:902 +#: models.py:927 msgid "Indexed" msgstr "" -#: models.py:906 +#: models.py:931 msgid "Act types" msgstr "" -#: models.py:978 +#: models.py:997 models.py:1077 +#: templates/ishtar/blocks/window_tables/administrativacts.html:7 +#: templates/ishtar/blocks/window_tables/archaeologicalsites.html:7 +msgid "Ref." +msgstr "" + +#: models.py:1004 msgid "Person in charge of the operation" msgstr "" -#: models.py:984 +#: models.py:1010 msgid "Archaeological preventive operator" msgstr "" -#: models.py:992 +#: models.py:1018 msgid "Signatory" msgstr "" -#: models.py:1020 +#: models.py:1046 msgid "Departments" msgstr "" -#: models.py:1021 +#: models.py:1047 msgid "Cached values get from associated departments" msgstr "" -#: models.py:1024 +#: models.py:1050 msgid "Cached values get from associated towns" msgstr "" -#: models.py:1031 templates/ishtar/sheet_operation.html:114 -#: templates/ishtar/sheet_operation.html:150 +#: models.py:1057 templates/ishtar/sheet_operation.html:104 +#: templates/ishtar/sheet_operation.html:145 msgid "Administrative acts" msgstr "" -#: models.py:1034 +#: models.py:1060 msgid "Can view all Administrative acts" msgstr "" -#: models.py:1036 +#: models.py:1062 msgid "Can view own Administrative act" msgstr "" -#: models.py:1038 +#: models.py:1064 msgid "Can add own Administrative act" msgstr "" -#: models.py:1040 +#: models.py:1066 msgid "Can change own Administrative act" msgstr "" -#: models.py:1042 +#: models.py:1068 msgid "Can delete own Administrative act" msgstr "" -#: models.py:1051 -#: templates/ishtar/blocks/window_tables/administrativacts.html:7 -#: templates/ishtar/blocks/window_tables/archaeologicalsites.html:7 -msgid "Ref." -msgstr "" - -#: models.py:1145 +#: models.py:1171 msgid "This index already exists for this year" msgstr "" -#: models.py:1213 +#: models.py:1239 msgid "External ID" msgstr "" -#: models.py:1216 +#: models.py:1242 msgid "External ID is set automatically" msgstr "" -#: models.py:1217 +#: models.py:1243 msgid "Address - Locality" msgstr "" -#: models.py:1413 +#: models.py:1439 msgid "Owner" msgstr "" -#: models.py:1421 +#: models.py:1447 msgid "Parcel owner" msgstr "" -#: models.py:1422 +#: models.py:1448 msgid "Parcel owners" msgstr "" -#: models.py:1448 +#: models.py:1474 msgid "Recorded" msgstr "" -#: models.py:1449 +#: models.py:1475 msgid "Effective" msgstr "" -#: models.py:1450 +#: models.py:1476 msgid "Active" msgstr "" -#: models.py:1451 +#: models.py:1477 msgid "Field completed" msgstr "" -#: models.py:1452 +#: models.py:1478 msgid "Associated report" msgstr "" -#: models.py:1453 +#: models.py:1479 msgid "Closed" msgstr "" -#: models.py:1454 +#: models.py:1480 msgid "Documented and closed" msgstr "" -#: models.py:1880 +#: models.py:1914 msgid "Is preventive" msgstr "" -#: models.py:1883 +#: models.py:1917 msgid "Operation type old" msgstr "" -#: models.py:1884 +#: models.py:1918 msgid "Operation types old" msgstr "" @@ -1092,7 +1106,7 @@ msgid "" msgstr "" #: templates/ishtar/sheet_administrativeact.html:36 -#: templates/ishtar/sheet_operation.html:50 +#: templates/ishtar/sheet_operation.html:40 msgid "Surface:" msgstr "" @@ -1104,96 +1118,100 @@ msgstr "" msgid "Patriarche OA code not yet recorded!" msgstr "" -#: templates/ishtar/sheet_operation.html:27 -msgid "Creation:" +#: templates/ishtar/sheet_operation.html:23 +msgid "Address" msgstr "" -#: templates/ishtar/sheet_operation.html:34 -msgid "Modification:" +#: templates/ishtar/sheet_operation.html:30 +msgid "Begining date" msgstr "" -#: templates/ishtar/sheet_operation.html:46 +#: templates/ishtar/sheet_operation.html:36 msgid "State:" msgstr "" -#: templates/ishtar/sheet_operation.html:46 +#: templates/ishtar/sheet_operation.html:36 msgid "Active file" msgstr "" -#: templates/ishtar/sheet_operation.html:47 +#: templates/ishtar/sheet_operation.html:37 msgid "Closed operation" msgstr "" -#: templates/ishtar/sheet_operation.html:48 +#: templates/ishtar/sheet_operation.html:38 msgid "Closing date:" msgstr "" -#: templates/ishtar/sheet_operation.html:48 +#: templates/ishtar/sheet_operation.html:38 msgid "by" msgstr "" -#: templates/ishtar/sheet_operation.html:51 +#: templates/ishtar/sheet_operation.html:41 msgid "Cost:" msgstr "" -#: templates/ishtar/sheet_operation.html:52 +#: templates/ishtar/sheet_operation.html:42 msgid "Duration:" msgstr "" -#: templates/ishtar/sheet_operation.html:52 +#: templates/ishtar/sheet_operation.html:42 msgid "Day" msgstr "" -#: templates/ishtar/sheet_operation.html:85 +#: templates/ishtar/sheet_operation.html:75 msgid "Localisation" msgstr "" -#: templates/ishtar/sheet_operation.html:110 +#: templates/ishtar/sheet_operation.html:100 msgid "Associated parcels" msgstr "" -#: templates/ishtar/sheet_operation.html:118 +#: templates/ishtar/sheet_operation.html:108 msgid "Document from this operation" msgstr "" -#: templates/ishtar/sheet_operation.html:124 -#: templates/ishtar/sheet_operation.html:161 +#: templates/ishtar/sheet_operation.html:114 +#: templates/ishtar/sheet_operation.html:156 msgid "Context records" msgstr "" -#: templates/ishtar/sheet_operation.html:128 +#: templates/ishtar/sheet_operation.html:119 msgid "Context record relations" msgstr "" -#: templates/ishtar/sheet_operation.html:133 +#: templates/ishtar/sheet_operation.html:124 msgid "Documents from associated context records" msgstr "" -#: templates/ishtar/sheet_operation.html:138 -#: templates/ishtar/sheet_operation.html:184 +#: templates/ishtar/sheet_operation.html:129 +#: templates/ishtar/sheet_operation.html:179 msgid "Finds" msgstr "" -#: templates/ishtar/sheet_operation.html:143 +#: templates/ishtar/sheet_operation.html:134 msgid "Documents from associated finds" msgstr "" -#: templates/ishtar/sheet_operation.html:148 +#: templates/ishtar/sheet_operation.html:139 +msgid "Associated containers" +msgstr "" + +#: templates/ishtar/sheet_operation.html:143 msgid "Statistics" msgstr "" -#: templates/ishtar/sheet_operation.html:168 -#: templates/ishtar/sheet_operation.html:222 +#: templates/ishtar/sheet_operation.html:163 +#: templates/ishtar/sheet_operation.html:217 #: templates/ishtar/blocks/window_tables/administrativacts.html:8 msgid "Type" msgstr "" -#: templates/ishtar/sheet_operation.html:168 -#: templates/ishtar/sheet_operation.html:176 -#: templates/ishtar/sheet_operation.html:191 -#: templates/ishtar/sheet_operation.html:199 -#: templates/ishtar/sheet_operation.html:207 -#: templates/ishtar/sheet_operation.html:222 +#: templates/ishtar/sheet_operation.html:163 +#: templates/ishtar/sheet_operation.html:171 +#: templates/ishtar/sheet_operation.html:186 +#: templates/ishtar/sheet_operation.html:194 +#: templates/ishtar/sheet_operation.html:202 +#: templates/ishtar/sheet_operation.html:217 #: templates/ishtar/dashboards/dashboard_operation.html:18 #: templates/ishtar/dashboards/dashboard_operation.html:164 #: templates/ishtar/dashboards/dashboard_operation.html:432 @@ -1202,19 +1220,19 @@ msgstr "" msgid "Number" msgstr "" -#: templates/ishtar/sheet_operation.html:191 +#: templates/ishtar/sheet_operation.html:186 msgid "Material type" msgstr "" -#: templates/ishtar/sheet_operation.html:199 +#: templates/ishtar/sheet_operation.html:194 msgid "Object type" msgstr "" -#: templates/ishtar/sheet_operation.html:215 +#: templates/ishtar/sheet_operation.html:210 msgid "Sources" msgstr "" -#: templates/ishtar/sheet_operation.html:231 +#: templates/ishtar/sheet_operation.html:226 msgid "Finds by context records" msgstr "" @@ -1222,6 +1240,10 @@ msgstr "" msgid "Operation source" msgstr "" +#: templates/ishtar/sheet_operationsource.html:11 +msgid "Related operation" +msgstr "" + #: templates/ishtar/blocks/window_tables/administrativacts.html:9 msgid "Date" msgstr "" diff --git a/archaeological_operations/migrations/0013_auto__add_field_historicaloperation_address__add_field_operation_addre.py b/archaeological_operations/migrations/0013_auto__add_field_historicaloperation_address__add_field_operation_addre.py new file mode 100644 index 000000000..8626cfcf4 --- /dev/null +++ b/archaeological_operations/migrations/0013_auto__add_field_historicaloperation_address__add_field_operation_addre.py @@ -0,0 +1,852 @@ +# -*- 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 field 'HistoricalOperation.address' + db.add_column('archaeological_operations_historicaloperation', 'address', + self.gf('django.db.models.fields.TextField')(null=True, blank=True), + keep_default=False) + + # Adding field 'Operation.address' + db.add_column('archaeological_operations_operation', 'address', + self.gf('django.db.models.fields.TextField')(null=True, blank=True), + keep_default=False) + + + def backwards(self, orm): + # Deleting field 'HistoricalOperation.address' + db.delete_column('archaeological_operations_historicaloperation', 'address') + + # Deleting field 'Operation.address' + db.delete_column('archaeological_operations_operation', 'address') + + + models = { + 'archaeological_files.file': { + 'Meta': {'ordering': "('cached_label',)", 'object_name': 'File'}, + 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'cira_advised': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'classified_area': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'corporation_general_contractor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'general_contractor_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today', 'null': 'True', 'blank': 'True'}), + 'departments': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}), + 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}), + 'file_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.FileType']"}), + 'general_contractor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'general_contractor_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + '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'}), + 'imported_line': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_files_file'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'file_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'instruction_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '60', 'null': 'True', 'blank': 'True'}), + 'locality': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'main_town': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'file_main'", 'null': 'True', 'to': "orm['ishtar_common.Town']"}), + 'mh_listing': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'mh_register': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'numeric_reference': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'organization': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'permit_reference': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'permit_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.PermitType']", 'null': 'True', 'blank': 'True'}), + 'planning_service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'planning_service_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'protected_area': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'raw_general_contractor': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'raw_town_planning_service': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'reception_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'related_file': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.File']", 'null': 'True', 'blank': 'True'}), + 'requested_operation_type': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.OperationType']"}), + 'research_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'responsible_town_planning_service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'responsible_town_planning_service_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'saisine_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.SaisineType']", 'null': 'True', 'blank': 'True'}), + 'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'scientist'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'total_developed_surface': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'total_surface': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'file'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}), + 'year': ('django.db.models.fields.IntegerField', [], {'default': '2017'}) + }, + 'archaeological_files.filetype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'FileType'}, + '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'}) + }, + 'archaeological_files.permittype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'PermitType'}, + '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'}) + }, + 'archaeological_files.saisinetype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'SaisineType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'delay': ('django.db.models.fields.IntegerField', [], {'default': '30'}), + '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'}) + }, + 'archaeological_finds.treatment': { + 'Meta': {'unique_together': "(('year', 'index'),)", 'object_name': 'Treatment'}, + 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'container': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Container']", 'null': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'estimated_cost': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatments'", 'null': 'True', 'to': "orm['archaeological_finds.TreatmentFile']"}), + 'goal': ('django.db.models.fields.TextField', [], {'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'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_finds_treatment'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'index': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'insurance_cost': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'location': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Warehouse']", 'null': 'True', 'blank': 'True'}), + 'organization': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatments'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'other_reference': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'person': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatments'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'quoted_cost': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'realized_cost': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'target_is_basket': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'treatment_state': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.TreatmentState']", 'null': 'True', 'blank': 'True'}), + 'treatment_types': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_finds.TreatmentType']", 'symmetrical': 'False'}), + 'year': ('django.db.models.fields.IntegerField', [], {'default': '2017'}) + }, + 'archaeological_finds.treatmentfile': { + 'Meta': {'ordering': "('cached_label',)", 'unique_together': "(('year', 'index'),)", 'object_name': 'TreatmentFile'}, + 'applicant': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatmentfile_applicant'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'applicant_organisation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatmentfile_applicant'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today', 'null': 'True', 'blank': 'True'}), + 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '200', '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_archaeological_finds_treatmentfile'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatmentfile_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'index': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'reception_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.TreatmentFileType']"}), + 'year': ('django.db.models.fields.IntegerField', [], {'default': '2017'}) + }, + 'archaeological_finds.treatmentfiletype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'TreatmentFileType'}, + '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'}) + }, + 'archaeological_finds.treatmentstate': { + 'Meta': {'ordering': "('label',)", 'object_name': 'TreatmentState'}, + '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'}) + }, + 'archaeological_finds.treatmenttype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'TreatmentType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'downstream_is_many': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + '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'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.TreatmentType']", 'null': 'True', 'blank': 'True'}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}), + 'upstream_is_many': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'virtual': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) + }, + 'archaeological_operations.acttype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'ActType'}, + 'associated_template': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'acttypes'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.DocumentTemplate']"}), + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'indexed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'intented_to': ('django.db.models.fields.CharField', [], {'max_length': '2'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'archaeological_operations.administrativeact': { + 'Meta': {'ordering': "('year', 'signature_date', 'index', 'act_type')", 'object_name': 'AdministrativeAct'}, + 'act_object': ('django.db.models.fields.TextField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'act_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.ActType']"}), + 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_files.File']"}), + 'departments_label': ('django.db.models.fields.TextField', [], {'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_archaeological_operations_administrativeact'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'adminact_operation_in_charge'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'index': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}), + 'operator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'adminact_operator'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'ref_sra': ('django.db.models.fields.CharField', [], {'max_length': '15', 'null': 'True', 'blank': 'True'}), + 'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'adminact_scientist'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'signatory': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'signatory'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'signature_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'towns_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'treatment': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_finds.Treatment']"}), + 'treatment_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_finds.TreatmentFile']"}), + 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_operations.archaeologicalsite': { + 'Meta': {'object_name': 'ArchaeologicalSite'}, + '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_archaeological_operations_archaeologicalsite'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}), + 'reference': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '20'}), + 'remains': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.RemainType']", 'null': 'True', 'blank': 'True'}) + }, + 'archaeological_operations.historicaladministrativeact': { + 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalAdministrativeAct'}, + 'act_object': ('django.db.models.fields.TextField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'act_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'associated_file_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'departments_label': ('django.db.models.fields.TextField', [], {'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'}), + 'in_charge_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'index': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'operation_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'operator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'ref_sra': ('django.db.models.fields.CharField', [], {'max_length': '15', 'null': 'True', 'blank': 'True'}), + 'scientist_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'signatory_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'signature_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'towns_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'treatment_file_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'treatment_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_operations.historicaloperation': { + 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalOperation'}, + 'abstract': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'associated_file_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), + 'cira_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'cira_rapporteur_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'code_patriarche': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'common_name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}), + 'documentation_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'documentation_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'eas_number': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}), + 'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'finds_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'finds_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'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'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'in_charge_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'multi_polygon': ('django.contrib.gis.db.models.fields.MultiPolygonField', [], {'null': 'True', 'blank': 'True'}), + 'negative_result': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'old_code': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'operation_code': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'operation_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'operator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}), + 'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'null': 'True', 'blank': 'True'}), + 'record_quality': ('django.db.models.fields.CharField', [], {'max_length': '2', 'null': 'True', 'blank': 'True'}), + 'report_delivery_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'report_processing_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'scientific_documentation_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'scientist_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'virtual_operation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_operations.operation': { + 'Meta': {'ordering': "('cached_label',)", 'object_name': 'Operation'}, + 'abstract': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'archaeological_sites': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.ArchaeologicalSite']", 'null': 'True', 'blank': 'True'}), + 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operations'", 'null': 'True', 'to': "orm['archaeological_files.File']"}), + 'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), + 'cira_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'cira_rapporteur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'cira_rapporteur'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'code_patriarche': ('django.db.models.fields.IntegerField', [], {'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'common_name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}), + 'documentation_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'documentation_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'eas_number': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}), + 'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'finds_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'finds_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'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'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_operation'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'multi_polygon': ('django.contrib.gis.db.models.fields.MultiPolygonField', [], {'null': 'True', 'blank': 'True'}), + 'negative_result': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'old_code': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'operation_code': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'operation_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['ishtar_common.OperationType']"}), + 'operator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operator'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}), + 'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}), + 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'null': 'True', 'blank': 'True'}), + 'record_quality': ('django.db.models.fields.CharField', [], {'max_length': '2', 'null': 'True', 'blank': 'True'}), + 'remains': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.RemainType']", 'null': 'True', 'blank': 'True'}), + 'report_delivery_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'report_processing': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.ReportState']", 'null': 'True', 'blank': 'True'}), + 'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'scientific_documentation_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_scientist_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'operations'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}), + 'virtual_operation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_operations.operationbydepartment': { + 'Meta': {'object_name': 'OperationByDepartment', 'db_table': "'operation_department'", 'managed': 'False'}, + 'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'operation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Operation']"}) + }, + 'archaeological_operations.operationsource': { + 'Meta': {'object_name': 'OperationSource'}, + 'additional_information': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'associated_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'authors': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'operationsource_related'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Author']"}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'creation_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'duplicate': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}), + 'format_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Format']", 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'index': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'item_number': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'operation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_operations.Operation']"}), + 'receipt_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'receipt_date_in_documentation': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'scale': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'source_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SourceType']"}), + 'support_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SupportType']", 'null': 'True', 'blank': 'True'}), + 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) + }, + 'archaeological_operations.operationtypeold': { + 'Meta': {'ordering': "['-preventive', 'order', 'label']", 'object_name': 'OperationTypeOld'}, + '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'}) + }, + 'archaeological_operations.parcel': { + 'Meta': {'ordering': "('year', 'section', 'parcel_number')", 'object_name': 'Parcel'}, + 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_files.File']"}), + 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '100', '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_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + '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_archaeological_operations_parcel'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}), + 'parcel_number': ('django.db.models.fields.CharField', [], {'max_length': '6', 'null': 'True', 'blank': 'True'}), + 'public_domain': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'section': ('django.db.models.fields.CharField', [], {'max_length': '4', 'null': 'True', 'blank': 'True'}), + 'town': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'parcels'", 'to': "orm['ishtar_common.Town']"}), + 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_operations.parcelowner': { + 'Meta': {'object_name': 'ParcelOwner'}, + 'end_date': ('django.db.models.fields.DateField', [], {}), + 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), + 'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + '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_archaeological_operations_parcelowner'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'owner': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'parcel_owner'", 'to': "orm['ishtar_common.Person']"}), + 'parcel': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'owners'", 'to': "orm['archaeological_operations.Parcel']"}), + 'start_date': ('django.db.models.fields.DateField', [], {}) + }, + 'archaeological_operations.period': { + 'Meta': {'ordering': "('order',)", 'object_name': 'Period'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'end_date': ('django.db.models.fields.IntegerField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'order': ('django.db.models.fields.IntegerField', [], {}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}), + 'start_date': ('django.db.models.fields.IntegerField', [], {}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'archaeological_operations.recordrelations': { + 'Meta': {'ordering': "('left_record', 'relation_type')", 'object_name': 'RecordRelations'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'left_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'right_relations'", 'to': "orm['archaeological_operations.Operation']"}), + 'relation_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.RelationType']"}), + 'right_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'left_relations'", 'to': "orm['archaeological_operations.Operation']"}) + }, + 'archaeological_operations.relationtype': { + 'Meta': {'ordering': "('order', 'label')", 'object_name': 'RelationType'}, + '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'}), + 'inverse_relation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.RelationType']", 'null': 'True', 'blank': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'symmetrical': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'tiny_label': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'archaeological_operations.remaintype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'RemainType'}, + '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'}) + }, + 'archaeological_operations.reportstate': { + 'Meta': {'ordering': "('order',)", 'object_name': 'ReportState'}, + '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', [], {}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'archaeological_warehouse.container': { + 'Meta': {'ordering': "('cached_label',)", 'unique_together': "(('index', 'location'),)", 'object_name': 'Container'}, + 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), + 'cached_location': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'container_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.ContainerType']"}), + 'external_id': ('django.db.models.fields.TextField', [], {'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_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + '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_archaeological_warehouse_container'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'location': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'containers'", 'to': "orm['archaeological_warehouse.Warehouse']"}), + 'reference': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'responsible': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'owned_containers'", 'to': "orm['archaeological_warehouse.Warehouse']"}) + }, + 'archaeological_warehouse.containertype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'ContainerType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'height': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'length': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'reference': ('django.db.models.fields.CharField', [], {'max_length': '30'}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}), + 'volume': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'width': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_warehouse.warehouse': { + 'Meta': {'object_name': 'Warehouse'}, + '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'}), + 'associated_divisions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_warehouse.WarehouseDivision']", 'symmetrical': 'False', 'through': "orm['archaeological_warehouse.WarehouseDivisionLink']", 'blank': 'True'}), + 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'comment': ('django.db.models.fields.TextField', [], {'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'}), + 'external_id': ('django.db.models.fields.TextField', [], {'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_archaeological_warehouse_warehouse'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'person_in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'warehouse_in_charge'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + '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'}), + 'warehouse_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.WarehouseType']"}) + }, + 'archaeological_warehouse.warehousedivision': { + 'Meta': {'object_name': 'WarehouseDivision'}, + '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'}) + }, + 'archaeological_warehouse.warehousedivisionlink': { + 'Meta': {'ordering': "('warehouse', 'order')", 'unique_together': "(('warehouse', 'division'),)", 'object_name': 'WarehouseDivisionLink'}, + 'division': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.WarehouseDivision']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'order': ('django.db.models.fields.IntegerField', [], {'default': '10'}), + 'warehouse': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Warehouse']"}) + }, + 'archaeological_warehouse.warehousetype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'WarehouseType'}, + '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'}) + }, + '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': {'ordering': "['label']", '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.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'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '500', '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.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': {'ordering': "('name',)", '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.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.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.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.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.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 = ['archaeological_operations']
\ No newline at end of file diff --git a/archaeological_operations/migrations/0014_regenerate_cached_label.py b/archaeological_operations/migrations/0014_regenerate_cached_label.py new file mode 100644 index 000000000..0475b0065 --- /dev/null +++ b/archaeological_operations/migrations/0014_regenerate_cached_label.py @@ -0,0 +1,847 @@ +# -*- coding: utf-8 -*- +import sys +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + from archaeological_operations.models import Operation + q = Operation.objects + nb = q.count() + sys.stdout.write("Force regenerating cache...\n") + for idx, ope in enumerate(q.all()): + sys.stdout.write("\r{}/{}".format(idx + 1, nb)) + sys.stdout.flush() + ope.skip_history_when_saving = True + ope.save() + + def backwards(self, orm): + pass + + models = { + 'archaeological_files.file': { + 'Meta': {'ordering': "('cached_label',)", 'object_name': 'File'}, + 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'cira_advised': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'classified_area': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'corporation_general_contractor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'general_contractor_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today', 'null': 'True', 'blank': 'True'}), + 'departments': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}), + 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}), + 'file_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.FileType']"}), + 'general_contractor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'general_contractor_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + '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'}), + 'imported_line': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_files_file'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'file_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'instruction_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '60', 'null': 'True', 'blank': 'True'}), + 'locality': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'main_town': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'file_main'", 'null': 'True', 'to': "orm['ishtar_common.Town']"}), + 'mh_listing': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'mh_register': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'numeric_reference': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'organization': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'permit_reference': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'permit_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.PermitType']", 'null': 'True', 'blank': 'True'}), + 'planning_service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'planning_service_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'protected_area': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'raw_general_contractor': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'raw_town_planning_service': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'reception_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'related_file': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.File']", 'null': 'True', 'blank': 'True'}), + 'requested_operation_type': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.OperationType']"}), + 'research_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'responsible_town_planning_service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'responsible_town_planning_service_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'saisine_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.SaisineType']", 'null': 'True', 'blank': 'True'}), + 'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'scientist'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'total_developed_surface': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'total_surface': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'file'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}), + 'year': ('django.db.models.fields.IntegerField', [], {'default': '2017'}) + }, + 'archaeological_files.filetype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'FileType'}, + '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'}) + }, + 'archaeological_files.permittype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'PermitType'}, + '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'}) + }, + 'archaeological_files.saisinetype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'SaisineType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'delay': ('django.db.models.fields.IntegerField', [], {'default': '30'}), + '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'}) + }, + 'archaeological_finds.treatment': { + 'Meta': {'unique_together': "(('year', 'index'),)", 'object_name': 'Treatment'}, + 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'container': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Container']", 'null': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'estimated_cost': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatments'", 'null': 'True', 'to': "orm['archaeological_finds.TreatmentFile']"}), + 'goal': ('django.db.models.fields.TextField', [], {'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'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_finds_treatment'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'index': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'insurance_cost': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'location': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Warehouse']", 'null': 'True', 'blank': 'True'}), + 'organization': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatments'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'other_reference': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'person': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatments'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'quoted_cost': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'realized_cost': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'target_is_basket': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'treatment_state': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.TreatmentState']", 'null': 'True', 'blank': 'True'}), + 'treatment_types': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_finds.TreatmentType']", 'symmetrical': 'False'}), + 'year': ('django.db.models.fields.IntegerField', [], {'default': '2017'}) + }, + 'archaeological_finds.treatmentfile': { + 'Meta': {'ordering': "('cached_label',)", 'unique_together': "(('year', 'index'),)", 'object_name': 'TreatmentFile'}, + 'applicant': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatmentfile_applicant'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'applicant_organisation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatmentfile_applicant'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today', 'null': 'True', 'blank': 'True'}), + 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '200', '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_archaeological_finds_treatmentfile'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatmentfile_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'index': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'reception_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.TreatmentFileType']"}), + 'year': ('django.db.models.fields.IntegerField', [], {'default': '2017'}) + }, + 'archaeological_finds.treatmentfiletype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'TreatmentFileType'}, + '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'}) + }, + 'archaeological_finds.treatmentstate': { + 'Meta': {'ordering': "('label',)", 'object_name': 'TreatmentState'}, + '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'}) + }, + 'archaeological_finds.treatmenttype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'TreatmentType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'downstream_is_many': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + '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'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.TreatmentType']", 'null': 'True', 'blank': 'True'}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}), + 'upstream_is_many': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'virtual': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) + }, + 'archaeological_operations.acttype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'ActType'}, + 'associated_template': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'acttypes'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.DocumentTemplate']"}), + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'indexed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'intented_to': ('django.db.models.fields.CharField', [], {'max_length': '2'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'archaeological_operations.administrativeact': { + 'Meta': {'ordering': "('year', 'signature_date', 'index', 'act_type')", 'object_name': 'AdministrativeAct'}, + 'act_object': ('django.db.models.fields.TextField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'act_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.ActType']"}), + 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_files.File']"}), + 'departments_label': ('django.db.models.fields.TextField', [], {'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_archaeological_operations_administrativeact'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'adminact_operation_in_charge'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'index': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}), + 'operator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'adminact_operator'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'ref_sra': ('django.db.models.fields.CharField', [], {'max_length': '15', 'null': 'True', 'blank': 'True'}), + 'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'adminact_scientist'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'signatory': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'signatory'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'signature_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'towns_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'treatment': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_finds.Treatment']"}), + 'treatment_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_finds.TreatmentFile']"}), + 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_operations.archaeologicalsite': { + 'Meta': {'object_name': 'ArchaeologicalSite'}, + '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_archaeological_operations_archaeologicalsite'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}), + 'reference': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '20'}), + 'remains': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.RemainType']", 'null': 'True', 'blank': 'True'}) + }, + 'archaeological_operations.historicaladministrativeact': { + 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalAdministrativeAct'}, + 'act_object': ('django.db.models.fields.TextField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), + 'act_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'associated_file_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'departments_label': ('django.db.models.fields.TextField', [], {'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'}), + 'in_charge_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'index': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'operation_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'operator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'ref_sra': ('django.db.models.fields.CharField', [], {'max_length': '15', 'null': 'True', 'blank': 'True'}), + 'scientist_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'signatory_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'signature_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'towns_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'treatment_file_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'treatment_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_operations.historicaloperation': { + 'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalOperation'}, + 'abstract': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'associated_file_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), + 'cira_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'cira_rapporteur_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'code_patriarche': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'common_name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}), + 'documentation_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'documentation_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'eas_number': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}), + 'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'finds_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'finds_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'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'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'in_charge_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'multi_polygon': ('django.contrib.gis.db.models.fields.MultiPolygonField', [], {'null': 'True', 'blank': 'True'}), + 'negative_result': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'old_code': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'operation_code': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'operation_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'operator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}), + 'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'null': 'True', 'blank': 'True'}), + 'record_quality': ('django.db.models.fields.CharField', [], {'max_length': '2', 'null': 'True', 'blank': 'True'}), + 'report_delivery_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'report_processing_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'scientific_documentation_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'scientist_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'virtual_operation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_operations.operation': { + 'Meta': {'ordering': "('cached_label',)", 'object_name': 'Operation'}, + 'abstract': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'archaeological_sites': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.ArchaeologicalSite']", 'null': 'True', 'blank': 'True'}), + 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operations'", 'null': 'True', 'to': "orm['archaeological_files.File']"}), + 'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), + 'cira_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'cira_rapporteur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'cira_rapporteur'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'code_patriarche': ('django.db.models.fields.IntegerField', [], {'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'common_name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}), + 'documentation_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'documentation_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'eas_number': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}), + 'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'finds_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'finds_received': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'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'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_operation'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'multi_polygon': ('django.contrib.gis.db.models.fields.MultiPolygonField', [], {'null': 'True', 'blank': 'True'}), + 'negative_result': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'old_code': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'operation_code': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'operation_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['ishtar_common.OperationType']"}), + 'operator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operator'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), + 'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}), + 'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}), + 'point': ('django.contrib.gis.db.models.fields.PointField', [], {'null': 'True', 'blank': 'True'}), + 'record_quality': ('django.db.models.fields.CharField', [], {'max_length': '2', 'null': 'True', 'blank': 'True'}), + 'remains': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.RemainType']", 'null': 'True', 'blank': 'True'}), + 'report_delivery_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'report_processing': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.ReportState']", 'null': 'True', 'blank': 'True'}), + 'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'scientific_documentation_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_scientist_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'operations'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}), + 'virtual_operation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_operations.operationbydepartment': { + 'Meta': {'object_name': 'OperationByDepartment', 'db_table': "'operation_department'", 'managed': 'False'}, + 'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'operation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Operation']"}) + }, + 'archaeological_operations.operationsource': { + 'Meta': {'object_name': 'OperationSource'}, + 'additional_information': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'associated_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'authors': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'operationsource_related'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Author']"}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'creation_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'duplicate': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}), + 'format_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Format']", 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'index': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'item_number': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'operation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_operations.Operation']"}), + 'receipt_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'receipt_date_in_documentation': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'scale': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'source_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SourceType']"}), + 'support_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SupportType']", 'null': 'True', 'blank': 'True'}), + 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) + }, + 'archaeological_operations.operationtypeold': { + 'Meta': {'ordering': "['-preventive', 'order', 'label']", 'object_name': 'OperationTypeOld'}, + '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'}) + }, + 'archaeological_operations.parcel': { + 'Meta': {'ordering': "('year', 'section', 'parcel_number')", 'object_name': 'Parcel'}, + 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_files.File']"}), + 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '100', '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_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + '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_archaeological_operations_parcel'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}), + 'parcel_number': ('django.db.models.fields.CharField', [], {'max_length': '6', 'null': 'True', 'blank': 'True'}), + 'public_domain': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'section': ('django.db.models.fields.CharField', [], {'max_length': '4', 'null': 'True', 'blank': 'True'}), + 'town': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'parcels'", 'to': "orm['ishtar_common.Town']"}), + 'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_operations.parcelowner': { + 'Meta': {'object_name': 'ParcelOwner'}, + 'end_date': ('django.db.models.fields.DateField', [], {}), + 'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), + 'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + '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_archaeological_operations_parcelowner'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'owner': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'parcel_owner'", 'to': "orm['ishtar_common.Person']"}), + 'parcel': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'owners'", 'to': "orm['archaeological_operations.Parcel']"}), + 'start_date': ('django.db.models.fields.DateField', [], {}) + }, + 'archaeological_operations.period': { + 'Meta': {'ordering': "('order',)", 'object_name': 'Period'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'end_date': ('django.db.models.fields.IntegerField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'order': ('django.db.models.fields.IntegerField', [], {}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}), + 'start_date': ('django.db.models.fields.IntegerField', [], {}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'archaeological_operations.recordrelations': { + 'Meta': {'ordering': "('left_record', 'relation_type')", 'object_name': 'RecordRelations'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'left_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'right_relations'", 'to': "orm['archaeological_operations.Operation']"}), + 'relation_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.RelationType']"}), + 'right_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'left_relations'", 'to': "orm['archaeological_operations.Operation']"}) + }, + 'archaeological_operations.relationtype': { + 'Meta': {'ordering': "('order', 'label')", 'object_name': 'RelationType'}, + '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'}), + 'inverse_relation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.RelationType']", 'null': 'True', 'blank': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'symmetrical': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'tiny_label': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'archaeological_operations.remaintype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'RemainType'}, + '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'}) + }, + 'archaeological_operations.reportstate': { + 'Meta': {'ordering': "('order',)", 'object_name': 'ReportState'}, + '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', [], {}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) + }, + 'archaeological_warehouse.container': { + 'Meta': {'ordering': "('cached_label',)", 'unique_together': "(('index', 'location'),)", 'object_name': 'Container'}, + 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), + 'cached_location': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'container_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.ContainerType']"}), + 'external_id': ('django.db.models.fields.TextField', [], {'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_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + '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_archaeological_warehouse_container'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'location': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'containers'", 'to': "orm['archaeological_warehouse.Warehouse']"}), + 'reference': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'responsible': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'owned_containers'", 'to': "orm['archaeological_warehouse.Warehouse']"}) + }, + 'archaeological_warehouse.containertype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'ContainerType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'height': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'length': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'reference': ('django.db.models.fields.CharField', [], {'max_length': '30'}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}), + 'volume': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'width': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_warehouse.warehouse': { + 'Meta': {'object_name': 'Warehouse'}, + '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'}), + 'associated_divisions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_warehouse.WarehouseDivision']", 'symmetrical': 'False', 'through': "orm['archaeological_warehouse.WarehouseDivisionLink']", 'blank': 'True'}), + 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'comment': ('django.db.models.fields.TextField', [], {'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'}), + 'external_id': ('django.db.models.fields.TextField', [], {'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_archaeological_warehouse_warehouse'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'person_in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'warehouse_in_charge'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + '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'}), + 'warehouse_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.WarehouseType']"}) + }, + 'archaeological_warehouse.warehousedivision': { + 'Meta': {'object_name': 'WarehouseDivision'}, + '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'}) + }, + 'archaeological_warehouse.warehousedivisionlink': { + 'Meta': {'ordering': "('warehouse', 'order')", 'unique_together': "(('warehouse', 'division'),)", 'object_name': 'WarehouseDivisionLink'}, + 'division': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.WarehouseDivision']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'order': ('django.db.models.fields.IntegerField', [], {'default': '10'}), + 'warehouse': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Warehouse']"}) + }, + 'archaeological_warehouse.warehousetype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'WarehouseType'}, + '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'}) + }, + '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': {'ordering': "('author_type__order', 'person__name')", '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': "['order', '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'}), + 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + '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': {'ordering': "['label']", '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.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'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '500', '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.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': {'ordering': "('name',)", '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.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.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.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.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.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 = ['archaeological_operations']
\ No newline at end of file diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index bc2169009..e741f5644 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -227,7 +227,7 @@ class Operation(ClosedItem, BaseHistorizedItem, ImageModel, OwnPerms, 'context_record__base_finds__find__upstream_treatment__id' } - EXTRA_FULL_FIELDS_LABELS = { + COL_LABELS = { 'full_code_patriarche': u"Code patriarche", 'associated_file_short_label': _(u"Associated file (label)"), 'operator__name': _(u"Operator name"), @@ -331,6 +331,7 @@ class Operation(ClosedItem, BaseHistorizedItem, ImageModel, OwnPerms, operator_reference = models.CharField( _(u"Operator reference"), max_length=20, null=True, blank=True) common_name = models.TextField(_(u"Generic name"), null=True, blank=True) + address = models.TextField(_(u"Address / Locality"), null=True, blank=True) comment = models.TextField(_(u"General comment"), null=True, blank=True) scientific_documentation_comment = models.TextField( _(u"Comment about scientific documentation"), null=True, blank=True) @@ -404,6 +405,10 @@ class Operation(ClosedItem, BaseHistorizedItem, ImageModel, OwnPerms, return _(u"OPE") @property + def external_id(self): + return self.code_patriarche + + @property def short_label(self): if settings.COUNTRY == 'fr': return self.reference @@ -417,6 +422,10 @@ class Operation(ClosedItem, BaseHistorizedItem, ImageModel, OwnPerms, def show_url(self): return reverse('show-operation', args=[self.pk, '']) + def towns_codes(self): + return [u"{} ({})".format(town.name, town.numero_insee) for town in + self.towns.all()] + def has_finds(self): from archaeological_finds.models import BaseFind return BaseFind.objects.filter(context_record__operation=self).count() @@ -498,6 +507,12 @@ class Operation(ClosedItem, BaseHistorizedItem, ImageModel, OwnPerms, return FindSource.objects.filter( find__base_finds__context_record__operation=self) + def containers_q(self): + from archaeological_warehouse.models import Container + return Container.objects.filter( + finds__base_finds__context_record__operation=self + ) + associated_file_short_label_lbl = _(u"Archaeological file") full_code_patriarche_lbl = _(u"Code patriarche") @@ -843,8 +858,8 @@ class OperationByDepartment(models.Model): class OperationSource(Source): SHOW_URL = 'show-operationsource' MODIFY_URL = 'operation_source_modify' - TABLE_COLS = ['operation.year', 'operation.operation_code', 'index'] + \ - Source.TABLE_COLS + TABLE_COLS = ['operation__code_patriarche', 'operation__year', + 'operation__operation_code', 'code'] + Source.TABLE_COLS # search parameters BOOL_FIELDS = ['duplicate'] @@ -859,6 +874,11 @@ class OperationSource(Source): 'operation__code_patriarche': 'operation__code_patriarche', 'operation__operation_type': 'operation__operation_type__pk', 'operation__year': 'operation__year'} + COL_LABELS = { + 'operation__year': _(u"Operation year"), + 'operation__operation_code': _(u"Operation code"), + 'code': _(u"Document code") + } # fields operation = models.ForeignKey(Operation, verbose_name=_(u"Operation"), @@ -886,6 +906,11 @@ class OperationSource(Source): def owner(self): return self.operation + @property + def code(self): + return u"{}-{:04d}".format(self.operation.code_patriarche or '', + self.index) + class ActType(GeneralType): TYPE = (('F', _(u'Archaeological file')), @@ -969,6 +994,7 @@ class AdministrativeAct(BaseHistorizedItem, OwnPerms, ValueGetter): REVERSED_BOOL_FIELDS = ['index__isnull'] RELATIVE_SESSION_NAMES = [('operation', 'operation__pk'), ('file', 'associated_file__pk')] + COL_LABELS = {'full_ref': _(u"Ref.")} # fields act_type = models.ForeignKey(ActType, verbose_name=_(u"Act type")) @@ -1647,7 +1673,7 @@ class OperationDashboard: .annotate(number=Sum('surface')).all() val = 0 if area_res: - val = area_res[0].number + val = (area_res[0].number or 0) / 10000.0 dct_res[res_key].append(val) # TODO... res_keys = [('manday_realised', current_realisation_year_ope)] @@ -1682,7 +1708,11 @@ class OperationDashboard: .annotate(area=Sum('surface'))\ .order_by('scientist__attached_to__name').all() # TODO: man-days, man-days/hectare - dct_res[res_key] = org_res + + dct_res[res_key] = [] + for vals in org_res: + vals['area'] = (vals['area'] or 0) / 10000.0 + dct_res[res_key].append(vals) year_ope = Operation.objects.filter(**operation_type) res_keys = ['org_by_year'] @@ -1717,7 +1747,7 @@ class OperationDashboard: cost=Sum('cost')) years_dct = {} for yr in org_res.all(): - area = yr['area'] if yr['area'] else 0 + area = (yr['area'] if yr['area'] else 0) / 10000.0 cost = yr['cost'] if yr['cost'] else 0 years_dct[yr[key_date]] = (area, cost) r_years = [] @@ -1748,7 +1778,8 @@ class OperationDashboard: self.survey['effective'] = [] for yr in self.years: year_res = Operation.objects\ - .filter(scientist__isnull=False, year=yr)\ + .filter(scientist__isnull=False, year=yr, + operation_type__txt_idx__in=ope_types)\ .annotate(number=Sum('surface'), mean=Avg('surface')) nb = year_res[0].number if year_res.count() else 0 nb = nb if nb else 0 @@ -1820,9 +1851,12 @@ class OperationDashboard: dct_years = {} for v in vals: values = [] - for value in (v['number'], v['area'], v['cost'], - v['fnap']): - values.append(value if value else 0) + for k in ('number', 'area', 'cost', 'fnap'): + value = v[k] or 0 + if k == 'area': + value /= 10000.0 + values.append(value) + dct_years[v['operation__year']] = values years = [] for y in self.years: diff --git a/archaeological_operations/templates/ishtar/sheet_operation.html b/archaeological_operations/templates/ishtar/sheet_operation.html index d3eb980c4..48116433c 100644 --- a/archaeological_operations/templates/ishtar/sheet_operation.html +++ b/archaeological_operations/templates/ishtar/sheet_operation.html @@ -19,26 +19,16 @@ <p class='window-refs'>{% if item.year or item.operation_code %}{{item.year|default:''}}-{{item.operation_code|default:''}}{% endif %}{% if item.code_patriarche %} – OA{{item.code_patriarche}}{% endif %} </p> -<p class='window-refs'>{{item.common_name|default:''}}</p> +<p class='window-refs' title="{% trans 'Name' %}">{{item.common_name|default:''}}</p> +<p class='window-refs' title="{% trans 'Address' %}">{{item.address|default:''}}</p> +{% include "ishtar/blocks/sheet_external_id.html" %} <h3>{% trans "General"%}</h3> <ul class='form-flex'> -{% field_li "Old code" item.old_code %} - <li><label>{%trans "Creation:"%}</label> - <span class='value'> - {{item.history_creator.ishtaruser.person}}<br/> - <small><em>{{item.history_creation_date|date:"DATETIME_FORMAT"}}</em></small> - </span> - </li> - {% if item.history_creation_date != item.last_edition_date %} - <li><label>{%trans "Modification:"%}</label> - <span class='value'> - {{item.history_modifier.ishtaruser.person}}<br/> - <small><em>{% firstof item.history_date|date:"DATETIME_FORMAT" item.history.all.0.history_date|date:"DATETIME_FORMAT" %}</em></small> - </span> - </li> - {% endif %} -{% field_li "Begining date" item.start_date %} + {% field_li "Old code" item.old_code %} + {% include "ishtar/blocks/sheet_creation_section.html" %} + {% trans "Begining date" as begining_date_label %} + {% field_li begining_date_label item.start_date %} {% field_li "Excavation end date" item.excavation_end_date|default:"-" %} {% field_li_detail "Head scientist" item.scientist %} {% field_li_detail "In charge" item.in_charge %} @@ -84,7 +74,7 @@ {% if item.towns.count %} <h3>{% trans "Localisation"%}</h3> <ul class='form-flex'> -{% field_li_multiple "Towns" item.towns %} +{% field_li "Towns" item.towns_codes|join:" ; " %} {% field_li "Main address" item.associated_file.address %} {% field_li "Complement" item.associated_file.address_complement %} {% field_li "Postal code" item.associated_file.postal_code %} @@ -121,30 +111,35 @@ {% endif %} {% if item.context_record.count %} -<h3>{% trans "Context records" %}</h3> -{% dynamic_table_document '' 'context_records_for_ope' 'operation' item.pk 'TABLE_COLS_FOR_OPE' output %} +{% trans "Context records" as cr_lab %} +{% dynamic_table_document cr_lab 'context_records_for_ope' 'operation' item.pk 'TABLE_COLS_FOR_OPE' output %} {% endif %} -{% trans "Context record relations" as cr_rels %} {% if item.context_record_relations_q.count %} +{% trans "Context record relations" as cr_rels %} {% dynamic_table_document cr_rels 'context_records_relations_detail' 'left_record__operation' item.pk '' output %} {% endif %} -{% trans "Documents from associated context records" as cr_docs %} {% if item.context_record_docs_q.count %} +{% trans "Documents from associated context records" as cr_docs %} {% dynamic_table_document cr_docs 'context_records_docs' 'context_record__operation' item.pk '' output %} {% endif %} -{% trans "Finds" as finds %} {% if item.finds %} +{% trans "Finds" as finds %} {% dynamic_table_document finds 'finds_for_ope' 'base_finds__context_record__operation' item.pk 'TABLE_COLS_FOR_OPE' output %} {% endif %} -{% trans "Documents from associated finds" as finds_docs %} {% if item.find_docs_q.count %} +{% trans "Documents from associated finds" as finds_docs %} {% dynamic_table_document finds_docs 'finds_docs' 'find__base_finds__context_record__operation' item.pk '' output %} {% endif %} +{% if item.containers_q.count %} +{% trans "Associated containers" as containers_lbl %} +{% dynamic_table_document containers_lbl 'containers' 'finds__base_finds__context_record__operation' item.pk '' output %} +{% endif %} + <h3>{% trans "Statistics" %}</h3> <h4>{% trans "Administrative acts" %}</h4> diff --git a/archaeological_operations/templates/ishtar/sheet_operationsource.html b/archaeological_operations/templates/ishtar/sheet_operationsource.html index 9b8cbf509..55c48b319 100644 --- a/archaeological_operations/templates/ishtar/sheet_operationsource.html +++ b/archaeological_operations/templates/ishtar/sheet_operationsource.html @@ -8,5 +8,6 @@ {% endblock %} {% block related %} -{% field "Related operation" item.owner '' item.owner|link_to_window %} +{% trans "Related operation" as related_item_label %} +{% field related_item_label item.owner '' item.owner|link_to_window %} {% endblock %} diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py index 1b64f581d..9d5b9c616 100644 --- a/archaeological_operations/tests.py +++ b/archaeological_operations/tests.py @@ -17,9 +17,6 @@ # See the file COPYING for details. -""" -Unit tests -""" import json import datetime @@ -57,11 +54,11 @@ class ImportTest(object): tg.is_set = True tg.save() - def init_ope_import(self): + def init_ope_import(self, filename='MCC-operations-example.csv'): mcc_operation = ImporterType.objects.get(name=u"MCC - Opérations") mcc_operation_file = open( settings.ROOT_PATH + - '../archaeological_operations/tests/MCC-operations-example.csv', + '../archaeological_operations/tests/' + filename, 'rb') file_dict = {'imported_file': SimpleUploadedFile( mcc_operation_file.name, mcc_operation_file.read())} @@ -209,6 +206,9 @@ class ImportOperationTest(ImportTest, TestCase): self.assertEqual(last_ope, models.Operation.objects.order_by('-pk').all()[0]) + def test_import_bad_encoding(self): + self.init_ope_import('MCC-operations-example-bad-encoding.csv') + def test_keys_limitation(self): # each key association is associated to the import init_ope_number = models.Operation.objects.count() @@ -242,7 +242,10 @@ class ImportOperationTest(ImportTest, TestCase): self.init_ope_targetkey(imp=impt) impt.importation() self.assertEqual(len(impt.errors), 2) - self.assertIn("Importer configuration error", impt.errors[0]['error']) + self.assertTrue( + "Importer configuration error" in impt.errors[0]['error'] or + "Erreur de configuration de l\'importeur" in impt.errors[0]['error'] + ) def test_model_limitation(self): importer, form = self.init_ope_import() @@ -662,7 +665,6 @@ class OperationInitTest(object): self.operations.pop(0) return self.create_operation()[-1] - def tearDown(self): # cleanup for further test if hasattr(self, 'user'): @@ -1192,7 +1194,7 @@ class OperationWizardModifTest(WizardTest, OperationInitTest, TestCase): def post_first_wizard(test_object, final_step_response): test_object.assertEqual(models.Operation.objects.count(), - test_object.operation_number) + test_object.operation_number) operation = models.Operation.objects.get( pk=test_object.operations[0].pk) test_object.assertEqual(operation.operation_type.pk, 2) diff --git a/archaeological_operations/tests/MCC-operations-example-bad-encoding.csv b/archaeological_operations/tests/MCC-operations-example-bad-encoding.csv new file mode 100644 index 000000000..efd222ee2 --- /dev/null +++ b/archaeological_operations/tests/MCC-operations-example-bad-encoding.csv @@ -0,0 +1,3 @@ +code OA,region,type operation,intitule operation,operateur,responsable operation,date debut terrain,date fin terrain,chronologie generale,identifiant document georeferencement,notice scientifique +4201,Bourgogne,Fouille programmée,Oppìdum de Paris 2,L'opérateur,,2000/01/31,2002/12/31,Age du Fer,, +4200,Bourgogne,Fouille programmée,Oppìdum de Paris,L'opérateur,Jean Sui-Resp'on Sablé,2000/01/22,2002/12/31,Age du Fer & Gallo-Romain,, diff --git a/archaeological_operations/wizards.py b/archaeological_operations/wizards.py index 94aafb87c..5410b37f8 100644 --- a/archaeological_operations/wizards.py +++ b/archaeological_operations/wizards.py @@ -43,7 +43,7 @@ class OperationWizard(Wizard): object_parcel_type = 'operation' parcel_step_key = 'parcels' relations_step_key = 'relations' - # step contening the current(s) town(s) + # step including the current(s) town(s) town_step_keys = ['towns-', 'townsgeneral-'] town_input_id = 'town' # input id of the current(s) town(s) multi_towns = False # true if current town are multi valued diff --git a/archaeological_warehouse/forms.py b/archaeological_warehouse/forms.py index 553a01ce5..3dd38d747 100644 --- a/archaeological_warehouse/forms.py +++ b/archaeological_warehouse/forms.py @@ -20,6 +20,7 @@ from django import forms from django.conf import settings from django.forms.formsets import formset_factory +from django.utils.safestring import mark_safe from django.utils.translation import ugettext_lazy as _ from ishtar_common.models import Person, valid_id @@ -27,7 +28,7 @@ from archaeological_finds.models import TreatmentType, FindBasket import models from ishtar_common import widgets from ishtar_common.forms import name_validator, reverse_lazy, \ - get_form_selection, TableSelect, ManageOldType, FinalForm + get_form_selection, TableSelect, ManageOldType, FinalForm, FormSet from archaeological_finds.forms import FindMultipleFormSelection, \ SelectFindBasketForm @@ -57,8 +58,15 @@ class SelectedDivisionForm(ManageOldType, forms.Form): initial=self.init_data.get('division') ) + +class DivisionFormSet(FormSet): + def clean(self): + """Checks that no divisions are duplicated.""" + return self.check_duplicate(('division',), + _("There are identical divisions.")) + SelectedDivisionFormset = formset_factory( - SelectedDivisionForm, can_delete=True) + SelectedDivisionForm, can_delete=True, formset=DivisionFormSet) SelectedDivisionFormset.form_label = _(u"Divisions") @@ -100,7 +108,7 @@ class WarehouseForm(ManageOldType, forms.Form): label=_(u"Person in charge"), widget=widgets.JQueryAutoComplete( reverse_lazy('autocomplete-person'), - associated_model=Person), + associated_model=Person, new=True), validators=[valid_id(Person)], required=False) comment = forms.CharField(label=_(u"Comment"), widget=forms.Textarea, @@ -148,6 +156,7 @@ class WarehouseDeletionForm(FinalForm): class ContainerForm(ManageOldType, forms.Form): form_label = _(u"Container") + file_upload = True associated_models = {'container_type': models.ContainerType, 'location': models.Warehouse, 'responsible': models.Warehouse} @@ -165,6 +174,13 @@ class ContainerForm(ManageOldType, forms.Form): reverse_lazy('autocomplete-warehouse'), associated_model=models.Warehouse, new=True), validators=[valid_id(models.Warehouse)]) + image = forms.ImageField( + label=_(u"Image"), help_text=mark_safe( + _(u"<p>Heavy images are resized to: %(width)dx%(height)d " + u"(ratio is preserved).</p>") % { + 'width': settings.IMAGE_MAX_SIZE[0], + 'height': settings.IMAGE_MAX_SIZE[1]}), + max_length=255, required=False, widget=widgets.ImageFileInput()) comment = forms.CharField(label=_(u"Comment"), widget=forms.Textarea, required=False) @@ -192,7 +208,7 @@ class ContainerForm(ManageOldType, forms.Form): class ContainerModifyForm(ContainerForm): pk = forms.IntegerField(required=False, widget=forms.HiddenInput) - index = forms.IntegerField(_(u"Index")) + index = forms.IntegerField(label=_(u"ID")) def __init__(self, *args, **kwargs): super(ContainerModifyForm, self).__init__(*args, **kwargs) @@ -264,20 +280,20 @@ class LocalisationForm(forms.Form): form_label = _(u"Localisation") def __init__(self, *args, **kwargs): - container, warehouse = None, None + self.container, self.warehouse = None, None if 'warehouse' in kwargs: - warehouse = kwargs.pop('warehouse') + self.warehouse = kwargs.pop('warehouse') if 'container' in kwargs: - container = kwargs.pop('container') + self.container = kwargs.pop('container') super(LocalisationForm, self).__init__(*args, **kwargs) - if not warehouse: + if not self.warehouse: return - for divlink in warehouse.warehousedivisionlink_set.order_by( + for divlink in self.warehouse.warehousedivisionlink_set.order_by( 'order').all(): initial = u"-" - if container: + if self.container: q = models.ContainerLocalisation.objects.filter( - division=divlink, container=container) + division=divlink, container=self.container) if q.count(): initial = q.all()[0].reference self.fields['division_{}'.format(divlink.pk)] = forms.CharField( diff --git a/archaeological_warehouse/locale/django.pot b/archaeological_warehouse/locale/django.pot index 5f7ac6fd1..d5d6e9b63 100644 --- a/archaeological_warehouse/locale/django.pot +++ b/archaeological_warehouse/locale/django.pot @@ -7,137 +7,152 @@ msgid "" msgstr "" -#: forms.py:35 forms.py:91 ishtar_menu.py:40 models.py:63 models.py:103 +#: forms.py:36 forms.py:99 ishtar_menu.py:40 models.py:63 models.py:103 #: templates/ishtar/sheet_warehouse.html:4 msgid "Warehouse" msgstr "" -#: forms.py:44 forms.py:49 models.py:280 +#: forms.py:45 forms.py:50 models.py:281 msgid "Division" msgstr "" -#: forms.py:51 models.py:127 +#: forms.py:52 models.py:127 msgid "Order" msgstr "" -#: forms.py:62 models.py:53 +#: forms.py:66 +msgid "There are identical divisions." +msgstr "" + +#: forms.py:70 models.py:53 msgid "Divisions" msgstr "" -#: forms.py:66 forms.py:95 models.py:45 models.py:100 +#: forms.py:74 forms.py:103 models.py:45 models.py:100 msgid "Name" msgstr "" -#: forms.py:67 forms.py:97 models.py:36 models.py:47 +#: forms.py:75 forms.py:105 models.py:36 models.py:47 msgid "Warehouse type" msgstr "" -#: forms.py:68 forms.py:114 +#: forms.py:76 forms.py:122 msgid "Town" msgstr "" -#: forms.py:79 views.py:98 +#: forms.py:87 views.py:100 msgid "Warehouse search" msgstr "" -#: forms.py:100 models.py:50 +#: forms.py:108 models.py:50 msgid "Person in charge" msgstr "" -#: forms.py:106 forms.py:168 models.py:51 models.py:180 +#: forms.py:114 forms.py:184 models.py:51 models.py:181 msgid "Comment" msgstr "" -#: forms.py:108 +#: forms.py:116 msgid "Address" msgstr "" -#: forms.py:110 +#: forms.py:118 msgid "Address complement" msgstr "" -#: forms.py:112 +#: forms.py:120 msgid "Postal code" msgstr "" -#: forms.py:115 +#: forms.py:123 msgid "Country" msgstr "" -#: forms.py:117 +#: forms.py:125 msgid "Phone" msgstr "" -#: forms.py:118 +#: forms.py:126 msgid "Mobile phone" msgstr "" -#: forms.py:145 forms.py:146 +#: forms.py:153 forms.py:154 msgid "Would you like to delete this warehouse?" msgstr "" -#: forms.py:150 models.py:191 models.py:278 +#: forms.py:158 models.py:192 models.py:279 #: templates/ishtar/sheet_container.html:4 msgid "Container" msgstr "" -#: forms.py:154 forms.py:221 models.py:142 +#: forms.py:163 forms.py:237 models.py:142 msgid "Ref." msgstr "" -#: forms.py:155 forms.py:220 models.py:145 models.py:178 +#: forms.py:164 forms.py:236 models.py:145 models.py:179 msgid "Container type" msgstr "" -#: forms.py:157 +#: forms.py:166 msgid "Current location (warehouse)" msgstr "" -#: forms.py:163 models.py:175 +#: forms.py:172 models.py:176 msgid "Responsible warehouse" msgstr "" -#: forms.py:195 -msgid "Index" +#: forms.py:178 +msgid "Image" +msgstr "" + +#: forms.py:179 +#, python-format +msgid "" +"<p>Heavy images are resized to: %(width)dx%(height)d (ratio is preserved).</" +"p>" +msgstr "" + +#: forms.py:211 +msgid "ID" msgstr "" -#: forms.py:213 +#: forms.py:229 msgid "This ID already exists for this warehouse." msgstr "" -#: forms.py:231 forms.py:237 views.py:131 +#: forms.py:247 forms.py:253 views.py:142 msgid "Container search" msgstr "" -#: forms.py:233 forms.py:239 +#: forms.py:249 forms.py:255 msgid "You should select a container." msgstr "" -#: forms.py:234 +#: forms.py:250 msgid "Add a new container" msgstr "" -#: forms.py:244 ishtar_menu.py:36 views.py:93 +#: forms.py:260 ishtar_menu.py:36 views.py:95 msgid "Packaging" msgstr "" -#: forms.py:250 +#: forms.py:266 msgid "Packager" msgstr "" -#: forms.py:256 +#: forms.py:272 msgid "Date" msgstr "" -#: forms.py:260 +#: forms.py:276 msgid "Packaged finds" msgstr "" -#: forms.py:264 models.py:181 +#: forms.py:280 models.py:182 msgid "Localisation" msgstr "" -#: forms.py:289 forms.py:290 +#: forms.py:305 forms.py:306 msgid "Would you like to delete this container?" msgstr "" @@ -161,7 +176,7 @@ msgstr "" msgid "Deletion" msgstr "" -#: ishtar_menu.py:57 models.py:192 templates/ishtar/sheet_warehouse.html:17 +#: ishtar_menu.py:57 models.py:193 templates/ishtar/sheet_warehouse.html:20 msgid "Containers" msgstr "" @@ -169,11 +184,11 @@ msgstr "" msgid "Warehouse types" msgstr "" -#: models.py:56 models.py:186 +#: models.py:56 models.py:187 msgid "External ID" msgstr "" -#: models.py:58 models.py:188 +#: models.py:58 models.py:189 msgid "External ID is set automatically" msgstr "" @@ -210,11 +225,11 @@ msgid "Collection" msgstr "" #: models.py:117 -msgid "Warehouse division" +msgid "Warehouse division type" msgstr "" #: models.py:118 -msgid "Warehouse divisions" +msgid "Warehouse division types" msgstr "" #: models.py:138 @@ -237,76 +252,76 @@ msgstr "" msgid "Container types" msgstr "" -#: models.py:164 +#: models.py:165 msgid "Location - index" msgstr "" -#: models.py:165 +#: models.py:166 msgid "Precise localisation" msgstr "" -#: models.py:166 +#: models.py:167 msgid "Type" msgstr "" -#: models.py:172 +#: models.py:173 msgid "Location (warehouse)" msgstr "" -#: models.py:179 +#: models.py:180 msgid "Container ref." msgstr "" -#: models.py:183 +#: models.py:184 msgid "Cached location" msgstr "" -#: models.py:281 +#: models.py:282 msgid "Reference" msgstr "" -#: models.py:284 +#: models.py:285 msgid "Container localisation" msgstr "" -#: models.py:285 +#: models.py:286 msgid "Container localisations" msgstr "" -#: views.py:110 +#: views.py:112 msgid "Warehouse creation" msgstr "" -#: views.py:119 +#: views.py:121 msgid "Warehouse modification" msgstr "" -#: views.py:126 +#: views.py:137 msgid "Warehouse deletion" msgstr "" -#: views.py:142 +#: views.py:153 msgid "Container creation" msgstr "" -#: views.py:151 +#: views.py:162 msgid "Container modification" msgstr "" -#: views.py:158 +#: views.py:177 msgid "Container deletion" msgstr "" -#: templates/ishtar/sheet_container.html:19 +#: templates/ishtar/sheet_container.html:27 msgid "Content" msgstr "" -#: templates/ishtar/sheet_warehouse.html:22 +#: templates/ishtar/sheet_warehouse.html:25 msgid "Attached containers" msgstr "" -#: templates/ishtar/wizard/wizard_containerlocalisation.html:5 +#: templates/ishtar/wizard/wizard_containerlocalisation.html:6 msgid "" -"No division set for this warehouse. Define it to localise container in this " -"warehouse." +"No division set for this warehouse. Define at least one division to localise " +"containers in this warehouse." msgstr "" diff --git a/archaeological_warehouse/migrations/0007_auto__add_field_container_image__add_field_container_thumbnail.py b/archaeological_warehouse/migrations/0007_auto__add_field_container_image__add_field_container_thumbnail.py new file mode 100644 index 000000000..cc1f02807 --- /dev/null +++ b/archaeological_warehouse/migrations/0007_auto__add_field_container_image__add_field_container_thumbnail.py @@ -0,0 +1,319 @@ +# -*- 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 field 'Container.image' + db.add_column('archaeological_warehouse_container', 'image', + self.gf('django.db.models.fields.files.ImageField')(max_length=255, null=True, blank=True), + keep_default=False) + + # Adding field 'Container.thumbnail' + db.add_column('archaeological_warehouse_container', 'thumbnail', + self.gf('django.db.models.fields.files.ImageField')(max_length=255, null=True, blank=True), + keep_default=False) + + + def backwards(self, orm): + # Deleting field 'Container.image' + db.delete_column('archaeological_warehouse_container', 'image') + + # Deleting field 'Container.thumbnail' + db.delete_column('archaeological_warehouse_container', 'thumbnail') + + + models = { + 'archaeological_warehouse.collection': { + 'Meta': {'ordering': "('name',)", 'object_name': 'Collection'}, + 'description': ('django.db.models.fields.TextField', [], {'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_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + '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_archaeological_warehouse_collection'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'warehouse': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'collections'", 'to': "orm['archaeological_warehouse.Warehouse']"}) + }, + 'archaeological_warehouse.container': { + 'Meta': {'ordering': "('cached_label',)", 'unique_together': "(('index', 'location'),)", 'object_name': 'Container'}, + 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), + 'cached_location': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'container_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.ContainerType']"}), + 'external_id': ('django.db.models.fields.TextField', [], {'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_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + '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'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_warehouse_container'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'location': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'containers'", 'to': "orm['archaeological_warehouse.Warehouse']"}), + 'reference': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'responsible': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'owned_containers'", 'to': "orm['archaeological_warehouse.Warehouse']"}), + 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}) + }, + 'archaeological_warehouse.containerlocalisation': { + 'Meta': {'ordering': "('container', 'division__order')", 'unique_together': "(('container', 'division'),)", 'object_name': 'ContainerLocalisation'}, + 'container': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Container']"}), + 'division': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.WarehouseDivisionLink']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reference': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '200'}) + }, + 'archaeological_warehouse.containertype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'ContainerType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'height': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'length': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'reference': ('django.db.models.fields.CharField', [], {'max_length': '30'}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}), + 'volume': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'width': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_warehouse.warehouse': { + 'Meta': {'object_name': 'Warehouse'}, + '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'}), + 'associated_divisions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_warehouse.WarehouseDivision']", 'symmetrical': 'False', 'through': "orm['archaeological_warehouse.WarehouseDivisionLink']", 'blank': 'True'}), + 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'comment': ('django.db.models.fields.TextField', [], {'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'}), + 'external_id': ('django.db.models.fields.TextField', [], {'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_archaeological_warehouse_warehouse'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'person_in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'warehouse_in_charge'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + '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'}), + 'warehouse_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.WarehouseType']"}) + }, + 'archaeological_warehouse.warehousedivision': { + 'Meta': {'object_name': 'WarehouseDivision'}, + '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'}) + }, + 'archaeological_warehouse.warehousedivisionlink': { + 'Meta': {'ordering': "('warehouse', 'order')", 'unique_together': "(('warehouse', 'division'),)", 'object_name': 'WarehouseDivisionLink'}, + 'division': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.WarehouseDivision']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'order': ('django.db.models.fields.IntegerField', [], {'default': '10'}), + 'warehouse': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Warehouse']"}) + }, + 'archaeological_warehouse.warehousetype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'WarehouseType'}, + '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'}) + }, + '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.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'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '500', '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.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': {'ordering': "('name',)", '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.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.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.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'}) + } + } + + complete_apps = ['archaeological_warehouse']
\ No newline at end of file diff --git a/archaeological_warehouse/migrations/0008_generate_cache_lbl_for_containers.py b/archaeological_warehouse/migrations/0008_generate_cache_lbl_for_containers.py new file mode 100644 index 000000000..85df1bf21 --- /dev/null +++ b/archaeological_warehouse/migrations/0008_generate_cache_lbl_for_containers.py @@ -0,0 +1,308 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models +from archaeological_warehouse.models import Container + + +class Migration(SchemaMigration): + + def forwards(self, orm): + for obj in Container.objects.all(): + obj.skip_history_when_saving = True + obj.save() + + def backwards(self, orm): + pass + + models = { + 'archaeological_warehouse.collection': { + 'Meta': {'ordering': "('name',)", 'object_name': 'Collection'}, + 'description': ('django.db.models.fields.TextField', [], {'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_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + '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_archaeological_warehouse_collection'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'warehouse': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'collections'", 'to': "orm['archaeological_warehouse.Warehouse']"}) + }, + 'archaeological_warehouse.container': { + 'Meta': {'ordering': "('cached_label',)", 'unique_together': "(('index', 'location'),)", 'object_name': 'Container'}, + 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), + 'cached_location': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'container_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.ContainerType']"}), + 'external_id': ('django.db.models.fields.TextField', [], {'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_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + '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'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_warehouse_container'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'location': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'containers'", 'to': "orm['archaeological_warehouse.Warehouse']"}), + 'reference': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'responsible': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'owned_containers'", 'to': "orm['archaeological_warehouse.Warehouse']"}), + 'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}) + }, + 'archaeological_warehouse.containerlocalisation': { + 'Meta': {'ordering': "('container', 'division__order')", 'unique_together': "(('container', 'division'),)", 'object_name': 'ContainerLocalisation'}, + 'container': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Container']"}), + 'division': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.WarehouseDivisionLink']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reference': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '200'}) + }, + 'archaeological_warehouse.containertype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'ContainerType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'height': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'length': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'reference': ('django.db.models.fields.CharField', [], {'max_length': '30'}), + 'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}), + 'volume': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'width': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) + }, + 'archaeological_warehouse.warehouse': { + 'Meta': {'object_name': 'Warehouse'}, + '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'}), + 'associated_divisions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_warehouse.WarehouseDivision']", 'symmetrical': 'False', 'through': "orm['archaeological_warehouse.WarehouseDivisionLink']", 'blank': 'True'}), + 'auto_external_id': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'comment': ('django.db.models.fields.TextField', [], {'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'}), + 'external_id': ('django.db.models.fields.TextField', [], {'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_archaeological_warehouse_warehouse'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), + 'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'person_in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'warehouse_in_charge'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), + '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'}), + 'warehouse_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.WarehouseType']"}) + }, + 'archaeological_warehouse.warehousedivision': { + 'Meta': {'object_name': 'WarehouseDivision'}, + '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'}) + }, + 'archaeological_warehouse.warehousedivisionlink': { + 'Meta': {'ordering': "('warehouse', 'order')", 'unique_together': "(('warehouse', 'division'),)", 'object_name': 'WarehouseDivisionLink'}, + 'division': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.WarehouseDivision']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'order': ('django.db.models.fields.IntegerField', [], {'default': '10'}), + 'warehouse': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Warehouse']"}) + }, + 'archaeological_warehouse.warehousetype': { + 'Meta': {'ordering': "('label',)", 'object_name': 'WarehouseType'}, + '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'}) + }, + '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.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'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '500', '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.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': {'ordering': "('name',)", '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.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.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.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'}) + } + } + + complete_apps = ['archaeological_warehouse']
\ No newline at end of file diff --git a/archaeological_warehouse/models.py b/archaeological_warehouse/models.py index 81660bf43..d1918f46a 100644 --- a/archaeological_warehouse/models.py +++ b/archaeological_warehouse/models.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2012 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet> +# Copyright (C) 2012-2017 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet> # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as @@ -28,7 +28,7 @@ from django.utils.translation import ugettext_lazy as _, ugettext from ishtar_common.utils import cached_label_changed from ishtar_common.models import GeneralType, get_external_id, \ - LightHistorizedItem, OwnPerms, Address, Person, post_save_cache + LightHistorizedItem, OwnPerms, Address, Person, post_save_cache, ImageModel class WarehouseType(GeneralType): @@ -114,8 +114,8 @@ class Collection(LightHistorizedItem): class WarehouseDivision(GeneralType): class Meta: - verbose_name = _(u"Warehouse division") - verbose_name_plural = _(u"Warehouse divisions") + verbose_name = _(u"Warehouse division type") + verbose_name_plural = _(u"Warehouse division types") post_save.connect(post_save_cache, sender=WarehouseDivision) post_delete.connect(post_save_cache, sender=WarehouseDivision) @@ -149,9 +149,10 @@ post_save.connect(post_save_cache, sender=ContainerType) post_delete.connect(post_save_cache, sender=ContainerType) -class Container(LightHistorizedItem): +class Container(LightHistorizedItem, ImageModel): TABLE_COLS = ['reference', 'container_type__label', 'cached_location', 'divisions_lbl'] + IMAGE_PREFIX = 'containers/' # search parameters EXTRA_REQUEST_KEYS = { @@ -182,7 +183,7 @@ class Container(LightHistorizedItem): null=True, blank=True) cached_location = models.CharField(_(u"Cached location"), max_length=500, null=True, blank=True) - index = models.IntegerField(u"Index", default=0) + index = models.IntegerField(u"ID", default=0) external_id = models.TextField(_(u"External ID"), blank=True, null=True) auto_external_id = models.BooleanField( _(u"External ID is set automatically"), default=False) diff --git a/archaeological_warehouse/templates/ishtar/sheet_container.html b/archaeological_warehouse/templates/ishtar/sheet_container.html index 4a7b2f0b9..7845da2c1 100644 --- a/archaeological_warehouse/templates/ishtar/sheet_container.html +++ b/archaeological_warehouse/templates/ishtar/sheet_container.html @@ -4,13 +4,21 @@ {% block head_title %}{% trans "Container" %}{% endblock %} {% block content %} -{% window_nav item window_id 'show-container' '' '' '' previous next 1 %} +{% window_nav item window_id 'show-container' 'container_modify' '' '' previous next 1 %} + +{% if item.image %} +<a href='{{item.image.url}}' rel="prettyPhoto" title="{{item.label}}" class='photo'><img src='{{item.thumbnail.url}}'/></a> +{% endif%} + +<p class="window-refs">{{ item.reference|default:"" }}</p> +<p class="window-refs">{{ item.container_type|default:"" }}</p> +<p class="window-refs">{{ item.responsible.name }} - {{ item.index }}</p> +{% include "ishtar/blocks/sheet_external_id.html" %} <ul class='form-flex'> - {% field_li "Reference" item.reference %} - {% field_li "Container type" item.container_type %} {% field_li_detail "Responsible warehouse" item.responsible %} {% field_li_detail "Location (warehouse)" item.location %} + {% include "ishtar/blocks/sheet_creation_section.html" %} </ul> {% field "Location" item.precise_location %} {% field "Comment" item.comment "<pre>" "</pre>" %} diff --git a/archaeological_warehouse/templates/ishtar/sheet_warehouse.html b/archaeological_warehouse/templates/ishtar/sheet_warehouse.html index 9fd022281..c31fc93b4 100644 --- a/archaeological_warehouse/templates/ishtar/sheet_warehouse.html +++ b/archaeological_warehouse/templates/ishtar/sheet_warehouse.html @@ -4,12 +4,15 @@ {% block head_title %}{% trans "Warehouse" %}{% endblock %} {% block content %} -{% window_nav item window_id 'show-warehouse' '' '' '' previous next 1 %} +{% window_nav item window_id 'show-warehouse' 'warehouse_modify' '' '' previous next 1 %} + +<p class="window-refs">{{ item.name|default:"" }}</p> +<p class="window-refs">{{ item.warehouse_type|default:"" }}</p> +{% include "ishtar/blocks/sheet_external_id.html" %} <ul class='form-flex'> - {% field_li "Name" item.name %} - {% field_li "Warehouse type" item.warehouse_type %} {% field_li "Person in charge" item.person_in_charge %} + {% include "ishtar/blocks/sheet_creation_section.html" %} </ul> {% field "Comment" item.comment "<pre>" "</pre>" %} diff --git a/archaeological_warehouse/templates/ishtar/wizard/wizard_containerlocalisation.html b/archaeological_warehouse/templates/ishtar/wizard/wizard_containerlocalisation.html index 4a21368ae..2e817ff41 100644 --- a/archaeological_warehouse/templates/ishtar/wizard/wizard_containerlocalisation.html +++ b/archaeological_warehouse/templates/ishtar/wizard/wizard_containerlocalisation.html @@ -1,7 +1,16 @@ {% extends "ishtar/wizard/default_wizard.html" %} {% load i18n %} +{% load url from future %} {% block form_head %} {% if not wizard.form.fields %} -<p class='warning'>{% trans "No division set for this warehouse. Define it to localise container in this warehouse." %}</p> +<p class='warning'>{% trans "No division set for this warehouse. Define at least one division to localise containers in this warehouse." %}<br/> + {{wizard.form.warehouse}} + <a href="{% url 'warehouse_modify' wizard.form.warehouse.pk %}"> + <span class="fa-stack fa-lg"> + <i class="fa fa-circle fa-stack-2x"></i> + <i class="fa fa-pencil fa-stack-1x fa-inverse"></i> + </span> + </a> +</p> {% endif %} {% endblock %} diff --git a/archaeological_warehouse/urls.py b/archaeological_warehouse/urls.py index 133d4ae79..5d4427301 100644 --- a/archaeological_warehouse/urls.py +++ b/archaeological_warehouse/urls.py @@ -23,7 +23,7 @@ from ishtar_common.wizards import check_rights import views from archaeological_warehouse import models -# be carreful: each check_rights must be relevant with ishtar_menu +# be careful: each check_rights must be relevant with ishtar_menu # forms urlpatterns = patterns( @@ -64,6 +64,9 @@ urlpatterns += patterns( check_rights(['change_warehouse'])( views.warehouse_deletion_wizard), name='warehouse_deletion'), + url(r'warehouse-modify/(?P<pk>.+)/$', + views.warehouse_modify, name='warehouse_modify'), + url(r'^container_search/(?P<step>.+)?$', check_rights(['change_warehouse'])( views.container_search_wizard), @@ -80,4 +83,6 @@ urlpatterns += patterns( check_rights(['change_warehouse'])( views.container_deletion_wizard), name='container_deletion'), -) + url(r'container-modify/(?P<pk>.+)/$', + views.container_modify, name='container_modify'), +)
\ No newline at end of file diff --git a/archaeological_warehouse/views.py b/archaeological_warehouse/views.py index 06b3c9432..677539a3f 100644 --- a/archaeological_warehouse/views.py +++ b/archaeological_warehouse/views.py @@ -19,9 +19,11 @@ import json +from django.core.urlresolvers import reverse from django.db.models import Q from django.http import HttpResponse from django.utils.translation import ugettext_lazy as _ +from django.shortcuts import redirect import models @@ -120,6 +122,15 @@ warehouse_modification_wizard = WarehouseModificationWizard.as_view([ url_name='warehouse_modification', ) + +def warehouse_modify(request, pk): + WarehouseModificationWizard.session_set_value( + request, 'selec-warehouse_modification', 'pk', pk, reset=True) + return redirect( + reverse('warehouse_modification', + kwargs={'step': 'warehouse-warehouse_modification'})) + + warehouse_deletion_wizard = WarehouseDeletionWizard.as_view([ ('selec-warehouse_deletion', WarehouseFormSelection), ('final-warehouse_deletion', WarehouseDeletionForm)], @@ -152,6 +163,14 @@ container_modification_wizard = ContainerModificationWizard.as_view([ url_name='container_modification', ) + +def container_modify(request, pk): + ContainerModificationWizard.session_set_value( + request, 'selec-container_modification', 'pk', pk, reset=True) + return redirect( + reverse('container_modification', + kwargs={'step': 'container-container_modification'})) + container_deletion_wizard = ContainerDeletionWizard.as_view([ ('selec-container_deletion', MainContainerFormSelection), ('final-container_deletion', ContainerDeletionForm)], diff --git a/archaeological_warehouse/wizards.py b/archaeological_warehouse/wizards.py index 0adb06f75..9ecc16b3f 100644 --- a/archaeological_warehouse/wizards.py +++ b/archaeological_warehouse/wizards.py @@ -73,10 +73,13 @@ class WarehouseDeletionWizard(DeletionWizard): class ContainerWizard(Wizard): model = models.Container wizard_templates = { - 'localisation-container_localisation': + 'localisation-container_creation': + 'ishtar/wizard/wizard_containerlocalisation.html', + 'localisation-container_modification': 'ishtar/wizard/wizard_containerlocalisation.html', } ignore_init_steps = ['localisation'] + wizard_done_window = reverse_lazy('show-container') def get_form_kwargs(self, step=None): kwargs = super(ContainerWizard, self).get_form_kwargs(step) @@ -98,6 +101,7 @@ class ContainerWizard(Wizard): Save the localisation """ super(ContainerWizard, self).done(form_list) + dct = {} for idx, form in enumerate(form_list): if not form.is_valid(): return self.render(form) @@ -119,8 +123,12 @@ class ContainerWizard(Wizard): ) localisation.reference = form.cleaned_data[div_name] localisation.save() + dct = {'item': container} + self.current_object = container + # force evaluation of lazy urls + dct['wizard_done_window'] = unicode(self.wizard_done_window) return render_to_response( - self.wizard_done_template, {}, + self.wizard_done_template, dct, context_instance=RequestContext(self.request)) diff --git a/example_project/settings.py b/example_project/settings.py index b19867662..efbf0297a 100644 --- a/example_project/settings.py +++ b/example_project/settings.py @@ -214,6 +214,7 @@ APP_NAME = "SRA - Pays de la Loire" SURFACE_UNIT = 'square-metre' SURFACE_UNIT_LABEL = u'm²' JOINT = u" | " +ISHTAR_FILE_PREFIX = u"" ISHTAR_OPE_PREFIX = u"OA" ISHTAR_DEF_OPE_PREFIX = u"OP" # string len of find indexes - i.e: find with index 42 will be 00042 diff --git a/ishtar_common/admin.py b/ishtar_common/admin.py index 3460c4a75..cdff25439 100644 --- a/ishtar_common/admin.py +++ b/ishtar_common/admin.py @@ -274,7 +274,7 @@ admin.site.register(models.FormaterType, FormaterTypeAdmin) class ImportAdmin(admin.ModelAdmin): - list_display = ('importer_type', 'imported_file', 'user', 'state', + list_display = ('name', 'importer_type', 'imported_file', 'user', 'state', 'creation_date') admin.site.register(models.Import, ImportAdmin) diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py index 0ce87025c..078ccfb15 100644 --- a/ishtar_common/forms_common.py +++ b/ishtar_common/forms_common.py @@ -105,7 +105,7 @@ class NewItemForm(forms.Form): class NewImportForm(forms.ModelForm): class Meta: model = models.Import - fields = ('importer_type', 'imported_file', 'imported_images', + fields = ('name', 'importer_type', 'imported_file', 'imported_images', 'conservative_import', 'encoding', 'skip_lines') def clean(self): diff --git a/ishtar_common/locale/django.pot b/ishtar_common/locale/django.pot index c345672b7..d56b7cbcd 100644 --- a/ishtar_common/locale/django.pot +++ b/ishtar_common/locale/django.pot @@ -17,7 +17,7 @@ msgstr "" msgid "email address" msgstr "" -#: __init__.py:10 +#: __init__.py:10 templates/ishtar/sheet_source.html:8 msgid "Related item" msgstr "" @@ -119,31 +119,31 @@ msgstr "" msgid "Importer configuration error: field \"{}\" does not exist for {}." msgstr "" -#: data_importer.py:1555 +#: data_importer.py:1559 msgid "line" msgstr "" -#: data_importer.py:1555 +#: data_importer.py:1559 msgid "col" msgstr "" -#: data_importer.py:1555 +#: data_importer.py:1559 msgid "error" msgstr "" -#: data_importer.py:1561 +#: data_importer.py:1565 msgid "field" msgstr "" -#: data_importer.py:1561 +#: data_importer.py:1565 msgid "source" msgstr "" -#: data_importer.py:1561 +#: data_importer.py:1565 msgid "result" msgstr "" -#: data_importer.py:1577 +#: data_importer.py:1581 #, python-format msgid "\"%(value)s\" not in %(values)s" msgstr "" @@ -181,7 +181,7 @@ msgid "Template" msgstr "" #: forms_common.py:41 forms_common.py:59 forms_common.py:184 -#: forms_common.py:408 models.py:1548 models.py:2986 +#: forms_common.py:408 models.py:1548 models.py:2989 #: templates/blocks/JQueryAdvancedTown.html:19 #: templates/ishtar/sheet_organization.html:13 msgid "Town" @@ -197,8 +197,8 @@ msgid "" "french town Saint-Denis in the Seine-Saint-Denis department.</p>" msgstr "" -#: forms_common.py:68 forms_common.py:863 ishtar_menu.py:47 models.py:2609 -#: models.py:2790 models.py:2854 templates/ishtar/sheet_person.html:4 +#: forms_common.py:68 forms_common.py:863 ishtar_menu.py:47 models.py:2610 +#: models.py:2791 models.py:2856 templates/ishtar/sheet_person.html:4 msgid "Person" msgstr "" @@ -209,15 +209,16 @@ msgid "" msgstr "" #: forms_common.py:172 forms_common.py:329 forms_common.py:453 -#: ishtar_menu.py:75 models.py:2492 models.py:2583 +#: ishtar_menu.py:75 models.py:2493 models.py:2584 #: templates/ishtar/sheet_organization.html:4 msgid "Organization" msgstr "" #: forms_common.py:175 forms_common.py:212 forms_common.py:324 #: forms_common.py:378 forms_common.py:448 models.py:1103 models.py:1481 -#: models.py:1750 models.py:1766 models.py:2003 models.py:2486 models.py:2595 -#: models.py:2972 templates/ishtar/sheet_organization.html:8 +#: models.py:1750 models.py:1766 models.py:2003 models.py:2279 models.py:2487 +#: models.py:2596 models.py:2975 templates/ishtar/import_list.html:13 +#: templates/ishtar/sheet_organization.html:8 #: templates/ishtar/sheet_organization.html:21 msgid "Name" msgstr "" @@ -252,22 +253,22 @@ msgstr "" #: forms_common.py:188 forms_common.py:385 models.py:1561 #: templates/ishtar/sheet_organization.html:14 -#: templates/ishtar/sheet_person.html:19 +#: templates/ishtar/sheet_person.html:21 #: templates/ishtar/wizard/wizard_person.html:17 msgid "Phone" msgstr "" #: forms_common.py:189 forms_common.py:394 models.py:1573 #: templates/ishtar/sheet_organization.html:15 -#: templates/ishtar/sheet_person.html:37 +#: templates/ishtar/sheet_person.html:39 #: templates/ishtar/wizard/wizard_person.html:35 msgid "Mobile phone" msgstr "" #: forms_common.py:213 forms_common.py:327 forms_common.py:451 models.py:2170 -#: models.py:2488 models.py:2907 templates/sheet_ope.html:85 +#: models.py:2489 models.py:2910 templates/sheet_ope.html:85 #: templates/sheet_ope.html.py:105 templates/sheet_ope.html:126 -#: templates/ishtar/import_list.html:13 +#: templates/ishtar/import_list.html:14 #: templates/ishtar/sheet_organization.html:23 #: templates/ishtar/blocks/window_tables/documents.html:8 msgid "Type" @@ -289,7 +290,7 @@ msgstr "" msgid "Organization to merge" msgstr "" -#: forms_common.py:325 forms_common.py:376 forms_common.py:449 models.py:2593 +#: forms_common.py:325 forms_common.py:376 forms_common.py:449 models.py:2594 #: templates/ishtar/sheet_organization.html:22 msgid "Surname" msgstr "" @@ -308,16 +309,16 @@ msgid "Identity" msgstr "" #: forms_common.py:373 forms_common.py:781 forms_common.py:830 models.py:2135 -#: models.py:2587 models.py:2589 models.py:2904 templates/sheet_ope.html:104 +#: models.py:2588 models.py:2590 models.py:2907 templates/sheet_ope.html:104 #: templates/ishtar/blocks/window_tables/documents.html:7 msgid "Title" msgstr "" -#: forms_common.py:374 models.py:2591 +#: forms_common.py:374 models.py:2592 msgid "Salutation" msgstr "" -#: forms_common.py:380 models.py:2597 +#: forms_common.py:380 models.py:2598 msgid "Raw name" msgstr "" @@ -377,7 +378,7 @@ msgstr "" msgid "Account search" msgstr "" -#: forms_common.py:512 forms_common.py:552 forms_common.py:556 models.py:2540 +#: forms_common.py:512 forms_common.py:552 forms_common.py:556 models.py:2541 msgid "Person type" msgstr "" @@ -385,7 +386,7 @@ msgstr "" msgid "Account" msgstr "" -#: forms_common.py:577 wizards.py:1333 +#: forms_common.py:577 wizards.py:1339 msgid "New password" msgstr "" @@ -409,7 +410,7 @@ msgstr "" msgid "Send the new password by email?" msgstr "" -#: forms_common.py:636 forms_common.py:649 models.py:2987 +#: forms_common.py:636 forms_common.py:649 models.py:2990 msgid "Towns" msgstr "" @@ -425,7 +426,7 @@ msgstr "" msgid "Documentation informations" msgstr "" -#: forms_common.py:783 forms_common.py:831 models.py:2136 models.py:2879 +#: forms_common.py:783 forms_common.py:831 models.py:2136 models.py:2882 msgid "Source type" msgstr "" @@ -437,37 +438,37 @@ msgstr "" msgid "Internal reference" msgstr "" -#: forms_common.py:791 models.py:2918 +#: forms_common.py:791 models.py:2921 msgid "Numerical ressource (web address)" msgstr "" -#: forms_common.py:792 models.py:2920 +#: forms_common.py:792 models.py:2923 msgid "Receipt date" msgstr "" -#: forms_common.py:794 models.py:2302 models.py:2922 +#: forms_common.py:794 models.py:2304 models.py:2925 msgid "Creation date" msgstr "" -#: forms_common.py:797 models.py:2925 +#: forms_common.py:797 models.py:2928 msgid "Receipt date in documentation" msgstr "" #: forms_common.py:799 forms_common.py:835 models.py:379 models.py:696 -#: models.py:2030 models.py:2601 models.py:2932 +#: models.py:2030 models.py:2602 models.py:2935 msgid "Comment" msgstr "" #: forms_common.py:801 forms_common.py:834 models.py:1105 models.py:1770 -#: models.py:1957 models.py:2004 models.py:2931 templates/sheet_ope.html:128 +#: models.py:1957 models.py:2004 models.py:2934 templates/sheet_ope.html:128 msgid "Description" msgstr "" -#: forms_common.py:804 models.py:2933 +#: forms_common.py:804 models.py:2936 msgid "Additional information" msgstr "" -#: forms_common.py:806 forms_common.py:838 models.py:2935 +#: forms_common.py:806 forms_common.py:838 models.py:2938 msgid "Has a duplicate" msgstr "" @@ -482,7 +483,7 @@ msgid "" "p>" msgstr "" -#: forms_common.py:827 forms_common.py:856 forms_common.py:890 models.py:2859 +#: forms_common.py:827 forms_common.py:856 forms_common.py:890 models.py:2861 #: templates/ishtar/wizard/wizard_person_deletion.html:124 msgid "Author" msgstr "" @@ -495,7 +496,7 @@ msgstr "" msgid "Would you like to delete this documentation?" msgstr "" -#: forms_common.py:864 models.py:2137 models.py:2846 models.py:2856 +#: forms_common.py:864 models.py:2137 models.py:2848 models.py:2858 msgid "Author type" msgstr "" @@ -507,7 +508,7 @@ msgstr "" msgid "There are identical authors." msgstr "" -#: forms_common.py:901 models.py:2860 models.py:2914 +#: forms_common.py:901 models.py:2862 models.py:2917 #: templates/sheet_ope.html:106 #: templates/ishtar/blocks/window_tables/documents.html:9 msgid "Authors" @@ -525,7 +526,7 @@ msgstr "" msgid "Deletion" msgstr "" -#: ishtar_menu.py:39 models.py:1277 views.py:1606 +#: ishtar_menu.py:39 models.py:1277 views.py:1608 msgid "Global variables" msgstr "" @@ -537,7 +538,7 @@ msgstr "" msgid "Search" msgstr "" -#: ishtar_menu.py:54 ishtar_menu.py:83 templates/ishtar/import_list.html:15 +#: ishtar_menu.py:54 ishtar_menu.py:83 templates/ishtar/import_list.html:16 msgid "Creation" msgstr "" @@ -553,19 +554,19 @@ msgstr "" msgid "Manual merge" msgstr "" -#: ishtar_menu.py:109 models.py:2313 +#: ishtar_menu.py:109 models.py:2315 msgid "Imports" msgstr "" -#: ishtar_menu.py:112 views.py:1614 +#: ishtar_menu.py:112 views.py:1616 msgid "New import" msgstr "" -#: ishtar_menu.py:116 views.py:1628 +#: ishtar_menu.py:116 views.py:1630 msgid "Current imports" msgstr "" -#: ishtar_menu.py:120 views.py:1664 +#: ishtar_menu.py:120 views.py:1669 msgid "Old imports" msgstr "" @@ -609,7 +610,7 @@ msgstr "" msgid "Creator" msgstr "" -#: models.py:965 models.py:2998 models.py:3054 +#: models.py:965 models.py:2846 models.py:3001 models.py:3057 msgid "Order" msgstr "" @@ -825,7 +826,7 @@ msgid "Total" msgstr "" #: models.py:1393 models.py:1517 models.py:1529 -#: templates/ishtar/sheet_person.html:22 +#: templates/ishtar/sheet_person.html:24 #: templates/ishtar/dashboards/dashboard_main_detail.html:141 #: templates/ishtar/dashboards/dashboard_main_detail_users.html:26 #: templates/ishtar/wizard/wizard_person.html:20 @@ -848,7 +849,7 @@ msgstr "" msgid "Document templates" msgstr "" -#: models.py:1520 models.py:1530 models.py:2297 +#: models.py:1520 models.py:1530 models.py:2299 msgid "State" msgstr "" @@ -1038,11 +1039,11 @@ msgstr "" msgid "Importer - Targets keys" msgstr "" -#: models.py:2138 models.py:2910 +#: models.py:2138 models.py:2913 msgid "Format" msgstr "" -#: models.py:2139 models.py:3002 +#: models.py:2139 models.py:3005 msgid "Operation type" msgstr "" @@ -1106,15 +1107,15 @@ msgstr "" msgid "Context record relation type" msgstr "" -#: models.py:2158 models.py:3060 +#: models.py:2158 models.py:3063 msgid "Spatial reference system" msgstr "" -#: models.py:2159 models.py:2888 +#: models.py:2159 models.py:2891 msgid "Support type" msgstr "" -#: models.py:2160 models.py:2552 +#: models.py:2160 models.py:2553 msgid "Title type" msgstr "" @@ -1212,263 +1213,263 @@ msgstr "" msgid "Archived" msgstr "" -#: models.py:2281 +#: models.py:2283 msgid "Imported file" msgstr "" -#: models.py:2283 +#: models.py:2285 msgid "Associated images (zip file)" msgstr "" -#: models.py:2285 +#: models.py:2287 msgid "Encoding" msgstr "" -#: models.py:2287 +#: models.py:2289 msgid "Skip lines" msgstr "" -#: models.py:2288 templates/ishtar/import_list.html:47 +#: models.py:2290 templates/ishtar/import_list.html:51 msgid "Error file" msgstr "" -#: models.py:2291 +#: models.py:2293 msgid "Result file" msgstr "" -#: models.py:2294 templates/ishtar/import_list.html:53 +#: models.py:2296 templates/ishtar/import_list.html:57 msgid "Match file" msgstr "" -#: models.py:2300 +#: models.py:2302 msgid "Conservative import" msgstr "" -#: models.py:2305 +#: models.py:2307 msgid "End date" msgstr "" -#: models.py:2307 +#: models.py:2309 msgid "Remaining seconds" msgstr "" -#: models.py:2312 +#: models.py:2314 msgid "Import" msgstr "" -#: models.py:2342 +#: models.py:2343 msgid "Analyse" msgstr "" -#: models.py:2344 models.py:2347 +#: models.py:2345 models.py:2348 msgid "Re-analyse" msgstr "" -#: models.py:2345 +#: models.py:2346 msgid "Launch import" msgstr "" -#: models.py:2348 +#: models.py:2349 msgid "Re-import" msgstr "" -#: models.py:2349 +#: models.py:2350 msgid "Archive" msgstr "" -#: models.py:2351 +#: models.py:2352 msgid "Unarchive" msgstr "" -#: models.py:2352 widgets.py:130 templates/ishtar/form_delete.html:11 +#: models.py:2353 widgets.py:130 templates/ishtar/form_delete.html:11 msgid "Delete" msgstr "" -#: models.py:2493 +#: models.py:2494 msgid "Organizations" msgstr "" -#: models.py:2495 +#: models.py:2496 msgid "Can view all Organizations" msgstr "" -#: models.py:2496 +#: models.py:2497 msgid "Can view own Organization" msgstr "" -#: models.py:2497 +#: models.py:2498 msgid "Can add own Organization" msgstr "" -#: models.py:2499 +#: models.py:2500 msgid "Can change own Organization" msgstr "" -#: models.py:2501 +#: models.py:2502 msgid "Can delete own Organization" msgstr "" -#: models.py:2536 +#: models.py:2537 msgid "Groups" msgstr "" -#: models.py:2541 +#: models.py:2542 msgid "Person types" msgstr "" -#: models.py:2553 +#: models.py:2554 msgid "Title types" msgstr "" -#: models.py:2562 +#: models.py:2563 msgid "Mr" msgstr "" -#: models.py:2563 +#: models.py:2564 msgid "Miss" msgstr "" -#: models.py:2564 +#: models.py:2565 msgid "Mr and Mrs" msgstr "" -#: models.py:2565 +#: models.py:2566 msgid "Mrs" msgstr "" -#: models.py:2566 +#: models.py:2567 msgid "Doctor" msgstr "" -#: models.py:2599 +#: models.py:2600 msgid "Contact type" msgstr "" -#: models.py:2602 models.py:2666 +#: models.py:2603 models.py:2667 msgid "Types" msgstr "" -#: models.py:2605 +#: models.py:2606 msgid "Is attached to" msgstr "" -#: models.py:2610 +#: models.py:2611 msgid "Persons" msgstr "" -#: models.py:2612 +#: models.py:2613 msgid "Can view all Persons" msgstr "" -#: models.py:2613 +#: models.py:2614 msgid "Can view own Person" msgstr "" -#: models.py:2614 +#: models.py:2615 msgid "Can add own Person" msgstr "" -#: models.py:2615 +#: models.py:2616 msgid "Can change own Person" msgstr "" -#: models.py:2616 +#: models.py:2617 msgid "Can delete own Person" msgstr "" -#: models.py:2793 +#: models.py:2794 msgid "Advanced shortcut menu" msgstr "" -#: models.py:2796 +#: models.py:2797 msgid "Ishtar user" msgstr "" -#: models.py:2797 +#: models.py:2798 msgid "Ishtar users" msgstr "" -#: models.py:2841 +#: models.py:2842 msgid "To modify the password use the form in Auth > User" msgstr "" -#: models.py:2847 +#: models.py:2849 msgid "Author types" msgstr "" -#: models.py:2880 +#: models.py:2883 msgid "Source types" msgstr "" -#: models.py:2889 +#: models.py:2892 msgid "Support types" msgstr "" -#: models.py:2896 +#: models.py:2899 msgid "Format type" msgstr "" -#: models.py:2897 +#: models.py:2900 msgid "Format types" msgstr "" -#: models.py:2905 +#: models.py:2908 msgid "External ID" msgstr "" -#: models.py:2908 +#: models.py:2911 msgid "Support" msgstr "" -#: models.py:2912 +#: models.py:2915 msgid "Scale" msgstr "" -#: models.py:2926 +#: models.py:2929 msgid "Item number" msgstr "" -#: models.py:2927 +#: models.py:2930 msgid "Ref." msgstr "" -#: models.py:2930 +#: models.py:2933 msgid "Internal ref." msgstr "" -#: models.py:2973 +#: models.py:2976 msgid "Surface (m2)" msgstr "" -#: models.py:2974 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107 +#: models.py:2977 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107 msgid "Localisation" msgstr "" -#: models.py:2999 +#: models.py:3002 msgid "Is preventive" msgstr "" -#: models.py:3003 +#: models.py:3006 msgid "Operation types" msgstr "" -#: models.py:3032 +#: models.py:3035 msgid "Preventive" msgstr "" -#: models.py:3033 +#: models.py:3036 msgid "Research" msgstr "" -#: models.py:3056 +#: models.py:3059 msgid "Authority name" msgstr "" -#: models.py:3057 +#: models.py:3060 msgid "Authority SRID" msgstr "" -#: models.py:3061 +#: models.py:3064 msgid "Spatial reference systems" msgstr "" @@ -1536,56 +1537,56 @@ msgstr "" msgid "Treatment" msgstr "" -#: views.py:1361 views.py:1404 +#: views.py:1363 views.py:1406 msgid "Operation not permitted." msgstr "" -#: views.py:1363 +#: views.py:1365 #, python-format msgid "New %s" msgstr "" -#: views.py:1422 views.py:1472 +#: views.py:1424 views.py:1474 msgid "Archaeological files" msgstr "" -#: views.py:1423 views.py:1476 +#: views.py:1425 views.py:1478 msgid "Operations" msgstr "" -#: views.py:1425 views.py:1480 +#: views.py:1427 views.py:1482 msgid "Context records" msgstr "" -#: views.py:1427 views.py:1483 +#: views.py:1429 views.py:1485 msgid "Finds" msgstr "" -#: views.py:1676 templates/ishtar/import_list.html:43 +#: views.py:1683 templates/ishtar/import_list.html:47 msgid "Link unmatched items" msgstr "" -#: views.py:1691 +#: views.py:1698 msgid "Delete import" msgstr "" -#: views.py:1730 +#: views.py:1737 msgid "Merge persons" msgstr "" -#: views.py:1754 +#: views.py:1761 msgid "Select the main person" msgstr "" -#: views.py:1763 +#: views.py:1770 msgid "Merge organization" msgstr "" -#: views.py:1773 +#: views.py:1780 msgid "Select the main organization" msgstr "" -#: views.py:1813 views.py:1829 +#: views.py:1820 views.py:1836 msgid "Corporation manager" msgstr "" @@ -1593,11 +1594,11 @@ msgstr "" msgid "Search..." msgstr "" -#: widgets.py:670 templatetags/window_tables.py:91 +#: widgets.py:670 templatetags/window_tables.py:96 msgid "No results" msgstr "" -#: widgets.py:671 templatetags/window_tables.py:92 +#: widgets.py:671 templatetags/window_tables.py:97 msgid "Loading..." msgstr "" @@ -1605,15 +1606,15 @@ msgstr "" msgid "Remove" msgstr "" -#: wizards.py:372 templates/ishtar/import_delete.html:20 +#: wizards.py:374 templates/ishtar/import_delete.html:21 msgid "Yes" msgstr "" -#: wizards.py:374 +#: wizards.py:376 msgid "No" msgstr "" -#: wizards.py:1390 +#: wizards.py:1396 #, python-format msgid "[%(app_name)s] Account creation/modification" msgstr "" @@ -1684,11 +1685,7 @@ msgstr "" #: templates/base.html:84 templates/welcome.html:8 templates/welcome.html.py:9 #: templates/welcome.html:10 templates/welcome.html.py:11 -#: templates/ishtar/manage_basket.html:4 -#: templates/ishtar/blocks/window_field.html:1 -#: templates/ishtar/blocks/window_field_detail.html:1 -#: templates/ishtar/blocks/window_field_multiple.html:1 -#: templates/ishtar/blocks/window_field_url.html:1 +#: templates/ishtar/manage_basket.html:5 msgid ":" msgstr "" @@ -1977,7 +1974,7 @@ msgid "where the magic happens." msgstr "" #: templates/window.html:40 templates/blocks/JQueryJqGrid.html:34 -#: templates/ishtar/manage_basket.html:12 +#: templates/ishtar/manage_basket.html:13 msgid "Add" msgstr "" @@ -2058,7 +2055,7 @@ msgid "remove" msgstr "" #: templates/ishtar/form.html:11 templates/ishtar/formset.html:8 -#: templates/ishtar/import_list.html:58 templates/ishtar/merge.html:31 +#: templates/ishtar/import_list.html:62 templates/ishtar/merge.html:31 #: templates/ishtar/simple_form.html:7 #: templates/ishtar/wizard/default_wizard.html:31 #: templates/ishtar/wizard/search.html:13 @@ -2066,19 +2063,19 @@ msgstr "" msgid "Validate" msgstr "" -#: templates/ishtar/import_delete.html:8 +#: templates/ishtar/import_delete.html:9 msgid "The current items are linked to this import:" msgstr "" -#: templates/ishtar/import_delete.html:18 +#: templates/ishtar/import_delete.html:19 msgid "All these items will be deleted with this import." msgstr "" -#: templates/ishtar/import_delete.html:19 +#: templates/ishtar/import_delete.html:20 msgid "Are you sure?" msgstr "" -#: templates/ishtar/import_delete.html:22 +#: templates/ishtar/import_delete.html:23 msgid "Back" msgstr "" @@ -2086,35 +2083,39 @@ msgstr "" msgid "No pending imports." msgstr "" -#: templates/ishtar/import_list.html:14 +#: templates/ishtar/import_list.html:15 msgctxt "file" msgid "File" msgstr "" -#: templates/ishtar/import_list.html:16 +#: templates/ishtar/import_list.html:17 msgid "Status" msgstr "" -#: templates/ishtar/import_list.html:17 +#: templates/ishtar/import_list.html:18 msgid "Action" msgstr "" -#: templates/ishtar/import_list.html:25 +#: templates/ishtar/import_list.html:29 msgid "Source file" msgstr "" -#: templates/ishtar/import_list.html:50 +#: templates/ishtar/import_list.html:54 msgid "Control file" msgstr "" -#: templates/ishtar/manage_basket.html:9 +#: templates/ishtar/manage_basket.html:10 msgid "Checking \"Select all\" only selects the current page." msgstr "" -#: templates/ishtar/manage_basket.html:13 +#: templates/ishtar/manage_basket.html:14 msgid "Basket content" msgstr "" +#: templates/ishtar/manage_basket.html:22 templates/ishtar/sheet.html:28 +msgid "Close" +msgstr "" + #: templates/ishtar/merge.html:5 msgid "Merge" msgstr "" @@ -2183,10 +2184,6 @@ msgstr "" msgid "Contact informations" msgstr "" -#: templates/ishtar/sheet.html:28 -msgid "Close" -msgstr "" - #: templates/ishtar/sheet.html:34 msgid "Close all windows" msgstr "" @@ -2211,60 +2208,64 @@ msgstr "" msgid "Planning service of archaeological files" msgstr "" -#: templates/ishtar/sheet_person.html:21 +#: templates/ishtar/sheet_person.html:23 #: templates/ishtar/wizard/wizard_person.html:19 msgid "Phone type" msgstr "" -#: templates/ishtar/sheet_person.html:44 +#: templates/ishtar/sheet_person.html:46 #: templates/ishtar/wizard/wizard_person.html:42 msgid "Business address" msgstr "" -#: templates/ishtar/sheet_person.html:52 +#: templates/ishtar/sheet_person.html:55 #: templates/ishtar/wizard/wizard_person.html:51 msgid "Other address" msgstr "" -#: templates/ishtar/sheet_person.html:60 +#: templates/ishtar/sheet_person.html:64 msgid "Associated organization" msgstr "" -#: templates/ishtar/sheet_person.html:71 +#: templates/ishtar/sheet_person.html:76 msgid "Associated operations as scientist" msgstr "" -#: templates/ishtar/sheet_person.html:75 +#: templates/ishtar/sheet_person.html:80 msgid "Associated operations as responsible" msgstr "" -#: templates/ishtar/sheet_person.html:80 +#: templates/ishtar/sheet_person.html:85 #: templates/ishtar/wizard/wizard_person_deletion.html:6 msgid "In charge of archaeological files" msgstr "" -#: templates/ishtar/sheet_person.html:85 +#: templates/ishtar/sheet_person.html:90 #: templates/ishtar/wizard/wizard_person_deletion.html:14 msgid "General contractor of archaeological files" msgstr "" -#: templates/ishtar/sheet_person.html:90 +#: templates/ishtar/sheet_person.html:95 #: templates/ishtar/wizard/wizard_person_deletion.html:22 msgid "Responsible for planning service of archaeological files" msgstr "" -#: templates/ishtar/sheet_person.html:96 +#: templates/ishtar/sheet_person.html:101 msgid "Documents associated to operations" msgstr "" -#: templates/ishtar/sheet_person.html:101 +#: templates/ishtar/sheet_person.html:106 msgid "Documents associated to context records" msgstr "" -#: templates/ishtar/sheet_person.html:106 +#: templates/ishtar/sheet_person.html:111 msgid "Documents associated to finds" msgstr "" +#: templates/ishtar/sheet_source.html:22 +msgid "Web link" +msgstr "" + #: templates/ishtar/blocks/advanced_shortcut_menu.html:15 #: templates/ishtar/blocks/shortcut_menu.html:15 msgid "" @@ -2319,6 +2320,20 @@ msgid "" "a free software under AGPL v3 license." msgstr "" +#: templates/ishtar/blocks/sheet_creation_section.html:3 +msgctxt "Sheet" +msgid "Creation" +msgstr "" + +#: templates/ishtar/blocks/sheet_creation_section.html:12 +msgctxt "Sheet" +msgid "Modification" +msgstr "" + +#: templates/ishtar/blocks/sheet_external_id.html:3 +msgid "Internal ID" +msgstr "" + #: templates/ishtar/blocks/window_nav.html:6 msgid "Previous version" msgstr "" diff --git a/ishtar_common/migrations/0074_auto__add_field_import_name.py b/ishtar_common/migrations/0074_auto__add_field_import_name.py new file mode 100644 index 000000000..8374ce83f --- /dev/null +++ b/ishtar_common/migrations/0074_auto__add_field_import_name.py @@ -0,0 +1,494 @@ +# -*- 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 field 'Import.name' + db.add_column('ishtar_common_import', 'name', + self.gf('django.db.models.fields.CharField')(max_length=500, null=True, blank=True), + keep_default=False) + + + def backwards(self, orm): + # Deleting field 'Import.name' + db.delete_column('ishtar_common_import', 'name') + + + 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': {'ordering': "['label']", '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'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '500', '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'}), + 'export_field_name': ('django.db.models.fields.CharField', [], {'max_length': '200', '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': {'ordering': "('name',)", '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/migrations/0075_auto__add_field_authortype_order.py b/ishtar_common/migrations/0075_auto__add_field_authortype_order.py new file mode 100644 index 000000000..e768e57de --- /dev/null +++ b/ishtar_common/migrations/0075_auto__add_field_authortype_order.py @@ -0,0 +1,495 @@ +# -*- 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 field 'AuthorType.order' + db.add_column('ishtar_common_authortype', 'order', + self.gf('django.db.models.fields.IntegerField')(default=1), + keep_default=False) + + + def backwards(self, orm): + # Deleting field 'AuthorType.order' + db.delete_column('ishtar_common_authortype', 'order') + + + 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': {'ordering': "('author_type__order', 'person__name')", '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': "['order', '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'}), + 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + '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': {'ordering': "['label']", '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'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '500', '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'}), + 'export_field_name': ('django.db.models.fields.CharField', [], {'max_length': '200', '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': {'ordering': "('name',)", '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 a2341abdc..35608abdf 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -102,7 +102,7 @@ class Imported(models.Model): class ValueGetter(object): _prefix = "" GET_VALUES_EXTRA = [] - EXTRA_FULL_FIELDS_LABELS = {} + COL_LABELS = {} def get_values(self, prefix=''): if not prefix: @@ -2276,6 +2276,8 @@ ENCODINGS = [(settings.ENCODING, settings.ENCODING), class Import(models.Model): user = models.ForeignKey('IshtarUser') + name = models.CharField(_(u"Name"), max_length=500, + blank=True, null=True) importer_type = models.ForeignKey(ImporterType) imported_file = models.FileField( _(u"Imported file"), upload_to="upload/imports/", max_length=220) @@ -2313,8 +2315,7 @@ class Import(models.Model): verbose_name_plural = _(u"Imports") def __unicode__(self): - return u"%s - %s - %d" % (unicode(self.importer_type), - unicode(self.user), self.pk) + return u"{} | {}".format(self.name or u"-", self.importer_type) def need_matching(self): return bool(TargetKey.objects.filter(associated_import=self, @@ -2842,10 +2843,11 @@ IshtarUser._meta.get_field('password').help_text = _( class AuthorType(GeneralType): + order = models.IntegerField(_(u"Order"), default=1) class Meta: verbose_name = _(u"Author type") verbose_name_plural = _(u"Author types") - ordering = ['label'] + ordering = ['order', 'label'] post_save.connect(post_save_cache, sender=AuthorType) post_delete.connect(post_save_cache, sender=AuthorType) @@ -2858,6 +2860,7 @@ class Author(models.Model): class Meta: verbose_name = _(u"Author") verbose_name_plural = _(u"Authors") + ordering = ('author_type__order', 'person__name') def __unicode__(self): return unicode(self.person) + settings.JOINT + \ diff --git a/ishtar_common/static/media/style.css b/ishtar_common/static/media/style.css index 06c80c194..adaf94200 100644 --- a/ishtar_common/static/media/style.css +++ b/ishtar_common/static/media/style.css @@ -410,6 +410,11 @@ a.button{ color: white; } +#validate-button{ + background-color: #fff; + display: inline-block; +} + .display_details_inline, .display_details{ display:inline-block; @@ -1490,6 +1495,7 @@ table.table-form td input{ margin: 10px 0 10px 0; width: 100%; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2); + border-collapse: collapse; } .clean-table h4{ @@ -1526,6 +1532,7 @@ table.table-form td input{ background: #DA2D2D; text-align: center; padding: 0.2em 0.4em; + border-right: 1px solid #fff; } .clean-table tr th.sub { @@ -1544,3 +1551,7 @@ table.table-form td input{ display: block; } +.external-id{ + font-family: monospace; + font-size: 0.9em; +} diff --git a/ishtar_common/templates/ishtar/blocks/sheet_creation_section.html b/ishtar_common/templates/ishtar/blocks/sheet_creation_section.html new file mode 100644 index 000000000..e6ce31c25 --- /dev/null +++ b/ishtar_common/templates/ishtar/blocks/sheet_creation_section.html @@ -0,0 +1,19 @@ +{% load i18n link_to_window %} +{% if item.history_creator.ishtaruser.person %} +<li><label>{% trans "Creation" context "Sheet" %}</label> + <span class='value'> + {{item.history_creator.ishtaruser.person}} + {{item.history_creator.ishtaruser.person|link_to_window}} <br/> + <small><em>{{item.history_creation_date|date:"DATETIME_FORMAT"}}</em></small> + </span> +</li> +{% endif %} +{% if item.history_creation_date != item.last_edition_date %} +<li><label>{% trans "Modification" context "Sheet" %}</label> + <span class='value'> + {{item.history_modifier.ishtaruser.person}} + {{item.history_modifier.ishtaruser.person|link_to_window}} <br/> + <small><em>{% firstof item.history_date|date:"DATETIME_FORMAT" item.history.all.0.history_date|date:"DATETIME_FORMAT" %}</em></small> + </span> +</li> +{% endif %} diff --git a/ishtar_common/templates/ishtar/blocks/sheet_external_id.html b/ishtar_common/templates/ishtar/blocks/sheet_external_id.html new file mode 100644 index 000000000..95628ab15 --- /dev/null +++ b/ishtar_common/templates/ishtar/blocks/sheet_external_id.html @@ -0,0 +1,7 @@ +{% load i18n %}{% if item.external_id %} +<p class='window-refs external-id'> + <small title="{% trans 'Internal ID' %}"> + <i class="fa fa-key" aria-hidden="true"></i> + {{item.external_id|default:''}} + </small> +</p>{% endif %} diff --git a/ishtar_common/templates/ishtar/blocks/window_field.html b/ishtar_common/templates/ishtar/blocks/window_field.html index 969f32dbb..b52ed78ee 100644 --- a/ishtar_common/templates/ishtar/blocks/window_field.html +++ b/ishtar_common/templates/ishtar/blocks/window_field.html @@ -1,3 +1,3 @@ -{% load i18n %}{% if data %}{% if li %}<li>{% else %}<p>{% endif %}<label>{% trans caption %}{% trans ":"%}</label> +{% load i18n %}{% if data %}{% if li %}<li>{% else %}<p>{% endif %}<label>{% trans caption %}</label> <span class='value'>{{pre_data|safe}}{{data|linebreaksbr}}{{post_data|safe}}</span>{% if li %}</li>{% else %}</p>{% endif %} {% endif %} diff --git a/ishtar_common/templates/ishtar/blocks/window_field_detail.html b/ishtar_common/templates/ishtar/blocks/window_field_detail.html index 2be9c5ec4..594c67529 100644 --- a/ishtar_common/templates/ishtar/blocks/window_field_detail.html +++ b/ishtar_common/templates/ishtar/blocks/window_field_detail.html @@ -1,3 +1,3 @@ -{% load i18n %}{% if item %}{% if li %}<li>{% else %}<p>{% endif %}<label>{% trans caption %}{% trans ":"%}</label> +{% load i18n %}{% if item %}{% if li %}<li>{% else %}<p>{% endif %}<label>{% trans caption %}</label> <span class='value'>{{item}}{{link}}</span>{% if li %}</li>{% else %}</p>{% endif %} {% endif %} diff --git a/ishtar_common/templates/ishtar/blocks/window_field_multiple.html b/ishtar_common/templates/ishtar/blocks/window_field_multiple.html index cc817490c..f07630174 100644 --- a/ishtar_common/templates/ishtar/blocks/window_field_multiple.html +++ b/ishtar_common/templates/ishtar/blocks/window_field_multiple.html @@ -1,4 +1,4 @@ -{% load i18n %}{% if data.count %}{% if li %}<li>{% else %}<p>{% endif %}<label>{% trans caption %}{% trans ":"%}</label> +{% load i18n %}{% if data.count %}{% if li %}<li>{% else %}<p>{% endif %}<label>{% trans caption %}</label> <span class='value'>{% for d in data.all %} {% if forloop.counter0 %} ; {% endif %}{{ d }} {% endfor %}</span> diff --git a/ishtar_common/templates/ishtar/blocks/window_field_url.html b/ishtar_common/templates/ishtar/blocks/window_field_url.html index d63ebdca9..cd6365106 100644 --- a/ishtar_common/templates/ishtar/blocks/window_field_url.html +++ b/ishtar_common/templates/ishtar/blocks/window_field_url.html @@ -1,3 +1,3 @@ -{% load i18n %}{% if link %}{% if li %}<li>{% else %}<p>{% endif %}<p><label>{% trans caption %}{% trans ":"%}</label> +{% load i18n %}{% if link %}{% if li %}<li>{% else %}<p>{% endif %}<p><label>{% trans caption %}</label> <span class='value'><a target="_blank" href='{{link|safe}}'>{% if link_name %}{{link_name}}{% else %}{{link}}{% endif %}</a></span>{% if li %}</li>{% else %}</p>{% endif %} {% endif%} diff --git a/ishtar_common/templates/ishtar/display_item.html b/ishtar_common/templates/ishtar/display_item.html index e00fef05b..e1c63b775 100644 --- a/ishtar_common/templates/ishtar/display_item.html +++ b/ishtar_common/templates/ishtar/display_item.html @@ -4,7 +4,7 @@ <script type='text/javascript'> $(document).ready( function(){ - load_window("/show-{{item_type}}/{{pk}}/"); + load_window("{{show_url}}"); }); </script> {% endblock %} diff --git a/ishtar_common/templates/ishtar/import_delete.html b/ishtar_common/templates/ishtar/import_delete.html index 30217bf8d..4b48ebc8c 100644 --- a/ishtar_common/templates/ishtar/import_delete.html +++ b/ishtar_common/templates/ishtar/import_delete.html @@ -4,21 +4,22 @@ {% block content %} <h2>{{page_name}}</h2> <div class='form'> -<form action="." method="post">{% csrf_token %} -<p>{% trans "The current items are linked to this import:" %}</p> -{% for accessor, imported in object.get_all_imported %} -{% ifchanged imported|verbose_model_name %} -{% if forloop.counter %}</ul>{% endif %} -<h4>{{imported|verbose_model_name}}</h4> -<ul class='item-list'> -{%endifchanged%} - <li>{{imported}}</li> -{% endfor %} -</ul> -<p>{% trans "All these items will be deleted with this import." %}</p> -<strong>{% trans "Are you sure?" %}</strong> -<input type="submit" value="{% trans "Yes" %}"/> -</form> -<p><a href='{% url 'current_imports' %}'>{% trans "Back" %}</a></p> + <h3>{{object}}</h3> + <form action="." method="post">{% csrf_token %} + <p>{% trans "The current items are linked to this import:" %}</p> + {% for accessor, imported in object.get_all_imported %} + {% ifchanged imported|verbose_model_name %} + {% if forloop.counter %}</ul>{% endif %} + <h4>{{imported|verbose_model_name}}</h4> + <ul class='item-list'> + {%endifchanged%} + <li>{{imported}}</li> + {% endfor %} + </ul> + <p>{% trans "All these items will be deleted with this import." %}</p> + <strong>{% trans "Are you sure?" %}</strong> + <input type="submit" value="{% trans "Yes" %}"/> + </form> + <p><a href='{% url 'current_imports' %}'>{% trans "Back" %}</a></p> </div> {% endblock %} diff --git a/ishtar_common/templates/ishtar/import_list.html b/ishtar_common/templates/ishtar/import_list.html index 55a4ea883..5dba51b6f 100644 --- a/ishtar_common/templates/ishtar/import_list.html +++ b/ishtar_common/templates/ishtar/import_list.html @@ -8,8 +8,9 @@ <p>{% trans "No pending imports." %}</p> {% else %} <form action="." method="post">{% csrf_token %} -<table> +<table class="clean-table"> <tr> + <th>{% trans "Name" %}</th> <th>{% trans "Type" %}</th> <th>{% trans "File" context "file" %}</th> <th>{% trans "Creation" %}</th> @@ -19,13 +20,16 @@ {% for import in object_list %} <tr> <td> + {{import.name|default:"-"}} + </td> + <td> {{import.importer_type}} </td> <td> <a href='{{MEDIA_URL}}{{import.imported_file}}'>{% trans "Source file" %}</a> </td> <td> - {{import.creation_date}} + {{import.creation_date}} ({{import.user}}) </td> <td> {{import.status}} diff --git a/ishtar_common/templates/ishtar/manage_basket.html b/ishtar_common/templates/ishtar/manage_basket.html index de17f3ad7..a6065a7c2 100644 --- a/ishtar_common/templates/ishtar/manage_basket.html +++ b/ishtar_common/templates/ishtar/manage_basket.html @@ -1,5 +1,6 @@ {% extends "base.html" %} {% load i18n inline_formset %} +{% load url from future %} {% block content %} <h2>{{page_name}}{% trans ":"%} {{basket}}</h2> <form enctype="multipart/form-data" action="." method="post">{% csrf_token %} @@ -13,6 +14,16 @@ <h3>{% trans "Basket content" %}</h3> <div id='basket-content' style='text-align:left'> </div> + {% block "footer" %} + <div id="footer"> + <div id='validation-bar'> + <a href="{% url 'display-findbasket' basket.id %}" + id="validate-button" + class='button'>{% trans "Close" %}</a> + </div> + {% include 'ishtar/blocks/footer.html' %} + </div> + {% endblock %} </div> </form> <script type='text/javascript' language='javascript'> diff --git a/ishtar_common/templates/ishtar/sheet_person.html b/ishtar_common/templates/ishtar/sheet_person.html index 5339e4f07..aa5192dc4 100644 --- a/ishtar_common/templates/ishtar/sheet_person.html +++ b/ishtar_common/templates/ishtar/sheet_person.html @@ -6,6 +6,7 @@ {% window_nav item window_id 'show-person' 'person_modify' %} <h3>{% trans "Identity" %}</h3> +<ul class='form-flex'> {% field_li "Title" item.full_title %} {% field_li "Name" item.name %} {% field_li "Surname" item.surname %} @@ -13,6 +14,7 @@ {% field_li_detail "Created by" item.history_creator.ishtaruser.person %} {% field_li "Email" item.email %} {% field_li "Type(s)" item.person_types_list %} +</ul> {% if item.phone or item.phone2 or item.phone3 or item.mobile_phone %} <table class='formset table-form'> @@ -42,30 +44,33 @@ {% if item.address or item.postal_code or item.town %} <h3>{% trans "Business address" %}</h3> -{% field_li "Address" item.address %} -{% field_li "Address complement" item.address_complement %} -{% field_li "Postal code" item.postal_code %} -{% field_li "Town" item.town %} -{% endif %} +<ul class='form-flex'> + {% field_li "Address" item.address %} + {% field_li "Address complement" item.address_complement %} + {% field_li "Postal code" item.postal_code %} + {% field_li "Town" item.town %} +</ul>{% endif %} {% if item.alt_address or item.alt_postal_code or item.alt_town %} <h3>{% trans "Other address" %}</h3> -{% field_li "Address" item.alt_address %} -{% field_li "Address complement" item.alt_address_complement %} -{% field_li "Postal code" item.alt_postal_code %} -{% field_li "Town" item.alt_town %} -{% endif %} +<ul class='form-flex'> + {% field_li "Address" item.alt_address %} + {% field_li "Address complement" item.alt_address_complement %} + {% field_li "Postal code" item.alt_postal_code %} + {% field_li "Town" item.alt_town %} +</ul>{% endif %} {% if item.attached_to %}<h3>{% trans "Associated organization"%}</h3> -{% field_li "Name" item.attached_to %} -{% field_li "Address" item.attached_to.address %} -{% field_li "Address complement" item.attached_to.address_complement %} -{% field_li "Postal code" item.attached_to.postal_code %} -{% field_li "Town" item.attached_to.town %} -{% field_li "Phone" item.attached_to.phone %} -{% field_li "Mobile phone" item.attached_to.mobile_phone %} -{% endif %} +<ul class='form-flex'> + {% field_li_detail "Name" item.attached_to %} + {% field_li "Address" item.attached_to.address %} + {% field_li "Address complement" item.attached_to.address_complement %} + {% field_li "Postal code" item.attached_to.postal_code %} + {% field_li "Town" item.attached_to.town %} + {% field_li "Phone" item.attached_to.phone %} + {% field_li "Mobile phone" item.attached_to.mobile_phone %} +</ul>{% endif %} {% trans "Associated operations as scientist" as ao %} diff --git a/ishtar_common/templates/ishtar/sheet_source.html b/ishtar_common/templates/ishtar/sheet_source.html index 1c00b684e..244ca1be3 100644 --- a/ishtar_common/templates/ishtar/sheet_source.html +++ b/ishtar_common/templates/ishtar/sheet_source.html @@ -5,7 +5,8 @@ {% block window_nav %}{% endblock %} {% block general %} {% block related %} -{% field "Related item" item.owner %} +{% trans "Related item" as related_item_label %} +{% field related_item_label item.owner %} {% endblock %} {% if item.image %} @@ -18,7 +19,8 @@ {% field_li "Source type" item.source_type %} {% field_li "Format type" item.format_type %} {% field_li "Scale" item.scale %} -{% field_li_url "Web link" item.associated_url %} + {% trans "Web link" as weblink_label %} + {% field_li_url weblink_label item.associated_url %} {% field_li "Item number" item.item_number %} {% field_li "Ref." item.reference %} {% field_li "Internal ref." item.internal_reference %} diff --git a/ishtar_common/templates/robots.txt b/ishtar_common/templates/robots.txt new file mode 100644 index 000000000..1f53798bb --- /dev/null +++ b/ishtar_common/templates/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: / diff --git a/ishtar_common/templatetags/link_to_window.py b/ishtar_common/templatetags/link_to_window.py index 0417da53f..14e4bd6c7 100644 --- a/ishtar_common/templatetags/link_to_window.py +++ b/ishtar_common/templatetags/link_to_window.py @@ -53,7 +53,7 @@ def add_links(items, extra_attr=''): else: lbl = unicode(item) html.append(u"{} {}".format(lbl, link_to_window(item_lnk))) - return mark_safe(u"<br/>".join(sorted(html))) + return mark_safe(u"<br/>".join(html)) @register.inclusion_tag('ishtar/blocks/modify_toolbar.html', diff --git a/ishtar_common/templatetags/window_tables.py b/ishtar_common/templatetags/window_tables.py index 05592557a..960bc7184 100644 --- a/ishtar_common/templatetags/window_tables.py +++ b/ishtar_common/templatetags/window_tables.py @@ -18,7 +18,8 @@ from archaeological_context_records.models import ContextRecord, \ ContextRecordSource, RecordRelationView, \ RecordRelations as CRRecordRelations from archaeological_finds.models import Find, FindSource, \ - FindUpstreamTreatments, FindDownstreamTreatments, FindTreatments + FindUpstreamTreatments, FindDownstreamTreatments, FindTreatments, \ + TreatmentSource, TreatmentFileSource from archaeological_warehouse.models import Container register = template.Library() @@ -59,6 +60,10 @@ ASSOCIATED_MODELS['finds_downstreamtreatments'] = ( FindDownstreamTreatments, 'get-downstreamtreatment', '') ASSOCIATED_MODELS['treatments'] = ( FindTreatments, 'get-treatment', '') +ASSOCIATED_MODELS['treatments_docs'] = ( + TreatmentSource, 'get-treatmentsource', '') +ASSOCIATED_MODELS['treatmentfiles_docs'] = ( + TreatmentFileSource, 'get-treatmentfilesource', '') ASSOCIATED_MODELS['containers'] = ( Container, 'get-container', '') diff --git a/ishtar_common/urls.py b/ishtar_common/urls.py index 608ca3251..98bd55106 100644 --- a/ishtar_common/urls.py +++ b/ishtar_common/urls.py @@ -20,18 +20,21 @@ from django.conf import settings from django.conf.urls.defaults import patterns, include, url from django.conf.urls.static import static +from django.views.generic.simple import direct_to_template from menus import menu from ishtar_common import views from ishtar_common.wizards import check_rights -# be carreful: each check_rights must be relevant with ishtar_menu +# be careful: each check_rights must be relevant with ishtar_menu # forms urlpatterns = patterns( '', url(r'^status/$', views.status, name='status'), + url(r'^robots\.txt$', direct_to_template, + {'template': 'robots.txt', 'mimetype': 'text/plain'}), # internationalization url(r'^i18n/', include('django.conf.urls.i18n')), # General diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 18bdc6e36..22591164f 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -1115,9 +1115,9 @@ def get_item(model, func_name, default_name, extra_request_keys=[], for field_name in table_cols: if type(field_name) in (list, tuple): 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] + if hasattr(model, 'COL_LABELS') and\ + field_name in model.COL_LABELS: + field = model.COL_LABELS[field_name] col_names.append(unicode(field).encode(ENCODING)) continue else: @@ -1128,7 +1128,7 @@ def get_item(model, func_name, default_name, extra_request_keys=[], logger.warning( "**WARN get_item - csv export**: no col name " "for {}\nadd explicit label to " - "EXTRA_FULL_FIELDS_LABELS attribute of " + "COL_LABELS attribute of " "{}".format(field_name, model)) continue col_names.append( @@ -1174,10 +1174,12 @@ def get_by_importer(request, slug, data_type='json', full=False, )(request, data_type, full, force_own, col_names=col_names, **dct) -def display_item(model, name, extra_dct=None): +def display_item(model, extra_dct=None, show_url=None): def func(request, pk, **dct): - dct['item_type'] = name - dct['pk'] = pk + if show_url: + dct['show_url'] = "/{}{}/".format(show_url, pk) + else: + dct['show_url'] = "/show-{}/{}/".format(model.SLUG, pk) return render_to_response('ishtar/display_item.html', dct, context_instance=RequestContext(request)) return func @@ -1629,9 +1631,11 @@ class ImportListView(IshtarMixin, LoginRequiredMixin, ListView): current_url = 'current_imports' def get_queryset(self): + q = self.model.objects.exclude(state='AC') + if self.request.user.is_superuser: + return q.order_by('-creation_date') user = models.IshtarUser.objects.get(pk=self.request.user.pk) - return self.model.objects.filter(user=user).exclude( - state='AC').order_by('-creation_date') + return q.filter(user=user).order_by('-creation_date') def post(self, request, *args, **kwargs): for field in request.POST: @@ -1643,10 +1647,11 @@ class ImportListView(IshtarMixin, LoginRequiredMixin, ListView): imprt = models.Import.objects.get(pk=int(field.split('-')[-1])) except (models.Import.DoesNotExist, ValueError): continue - # user can only edit his own imports - user = models.IshtarUser.objects.get(pk=self.request.user.pk) - if imprt.user != user: - continue + if not self.request.user.is_superuser: + # user can only edit his own imports + user = models.IshtarUser.objects.get(pk=self.request.user.pk) + if imprt.user != user: + continue action = request.POST[field] if action == 'D': return HttpResponseRedirect(reverse('import_delete', @@ -1665,9 +1670,11 @@ class ImportOldListView(ImportListView): current_url = 'old_imports' def get_queryset(self): + q = self.model.objects.filter(state='AC') + if self.request.user.is_superuser: + return q.order_by('-creation_date') user = models.IshtarUser.objects.get(pk=self.request.user.pk) - return self.model.objects.filter( - user=user, state='AC').order_by('-creation_date') + return q.filter(user=user).order_by('-creation_date') class ImportLinkView(IshtarMixin, LoginRequiredMixin, ModelFormSetView): diff --git a/ishtar_common/wizards.py b/ishtar_common/wizards.py index 874b68eae..7950bcc7e 100644 --- a/ishtar_common/wizards.py +++ b/ishtar_common/wizards.py @@ -132,6 +132,7 @@ class Wizard(NamedUrlWizardView): current_object_key = 'pk' ignore_init_steps = [] file_storage = default_storage + main_item_select_keys = ('selec-',) saved_args = {} # argument to pass on object save @@ -217,8 +218,9 @@ class Wizard(NamedUrlWizardView): dct = {'current_step_label': self.form_list[current_step].form_label, 'wizard_label': self.label, 'current_object': self.get_current_object(), - 'is_search': current_step.startswith('selec-') - if current_step else False + 'is_search': bool( + [k for k in self.main_item_select_keys + if current_step.startswith(k)]) if current_step else False } context.update(dct) if step == current_step: @@ -1004,20 +1006,24 @@ class Wizard(NamedUrlWizardView): def get_current_object(self): """Get the current object for an instancied wizard""" current_obj = None - main_form_key = 'selec-' + self.url_name - try: - idx = self.session_get_value(main_form_key, self.current_object_key) - idx = int(idx) - current_obj = self.model.objects.get(pk=idx) - except(TypeError, ValueError, ObjectDoesNotExist): - pass + for key in self.main_item_select_keys: + main_form_key = key + self.url_name + try: + idx = int(self.session_get_value(main_form_key, + self.current_object_key)) + current_obj = self.model.objects.get(pk=idx) + break + except(TypeError, ValueError, ObjectDoesNotExist): + pass return current_obj def get_form_initial(self, step, data=None): current_obj = self.get_current_object() current_step = self.steps.current request = self.request - if step.startswith('selec-') and step in self.form_list \ + step_is_main_select = bool([k for k in self.main_item_select_keys + if step.startswith(k)]) + if step_is_main_select and step in self.form_list \ and 'pk' in self.form_list[step].associated_models: model_name = self.form_list[step]\ .associated_models['pk'].__name__.lower() diff --git a/translations/de/ishtar_common.po b/translations/de/ishtar_common.po index d5add0458..93bce7079 100644 --- a/translations/de/ishtar_common.po +++ b/translations/de/ishtar_common.po @@ -20,7 +20,7 @@ msgstr "Benutzername" msgid "email address" msgstr "E-Mail-Adresse" -#: __init__.py:10 +#: __init__.py:10 templates/ishtar/sheet_source.html:8 msgid "Related item" msgstr "" @@ -122,31 +122,31 @@ msgstr "" msgid "Importer configuration error: field \"{}\" does not exist for {}." msgstr "" -#: data_importer.py:1555 +#: data_importer.py:1559 msgid "line" msgstr "" -#: data_importer.py:1555 +#: data_importer.py:1559 msgid "col" msgstr "" -#: data_importer.py:1555 +#: data_importer.py:1559 msgid "error" msgstr "" -#: data_importer.py:1561 +#: data_importer.py:1565 msgid "field" msgstr "" -#: data_importer.py:1561 +#: data_importer.py:1565 msgid "source" msgstr "" -#: data_importer.py:1561 +#: data_importer.py:1565 msgid "result" msgstr "" -#: data_importer.py:1577 +#: data_importer.py:1581 #, python-format msgid "\"%(value)s\" not in %(values)s" msgstr "" @@ -184,7 +184,7 @@ msgid "Template" msgstr "" #: forms_common.py:41 forms_common.py:59 forms_common.py:184 -#: forms_common.py:408 models.py:1548 models.py:2986 +#: forms_common.py:408 models.py:1548 models.py:2989 #: templates/blocks/JQueryAdvancedTown.html:19 #: templates/ishtar/sheet_organization.html:13 msgid "Town" @@ -200,8 +200,8 @@ msgid "" "french town Saint-Denis in the Seine-Saint-Denis department.</p>" msgstr "" -#: forms_common.py:68 forms_common.py:863 ishtar_menu.py:47 models.py:2609 -#: models.py:2790 models.py:2854 templates/ishtar/sheet_person.html:4 +#: forms_common.py:68 forms_common.py:863 ishtar_menu.py:47 models.py:2610 +#: models.py:2791 models.py:2856 templates/ishtar/sheet_person.html:4 msgid "Person" msgstr "" @@ -212,15 +212,16 @@ msgid "" msgstr "" #: forms_common.py:172 forms_common.py:329 forms_common.py:453 -#: ishtar_menu.py:75 models.py:2492 models.py:2583 +#: ishtar_menu.py:75 models.py:2493 models.py:2584 #: templates/ishtar/sheet_organization.html:4 msgid "Organization" msgstr "" #: forms_common.py:175 forms_common.py:212 forms_common.py:324 #: forms_common.py:378 forms_common.py:448 models.py:1103 models.py:1481 -#: models.py:1750 models.py:1766 models.py:2003 models.py:2486 models.py:2595 -#: models.py:2972 templates/ishtar/sheet_organization.html:8 +#: models.py:1750 models.py:1766 models.py:2003 models.py:2279 models.py:2487 +#: models.py:2596 models.py:2975 templates/ishtar/import_list.html:13 +#: templates/ishtar/sheet_organization.html:8 #: templates/ishtar/sheet_organization.html:21 msgid "Name" msgstr "Name" @@ -255,22 +256,22 @@ msgstr "E-Mail-Adresse" #: forms_common.py:188 forms_common.py:385 models.py:1561 #: templates/ishtar/sheet_organization.html:14 -#: templates/ishtar/sheet_person.html:19 +#: templates/ishtar/sheet_person.html:21 #: templates/ishtar/wizard/wizard_person.html:17 msgid "Phone" msgstr "" #: forms_common.py:189 forms_common.py:394 models.py:1573 #: templates/ishtar/sheet_organization.html:15 -#: templates/ishtar/sheet_person.html:37 +#: templates/ishtar/sheet_person.html:39 #: templates/ishtar/wizard/wizard_person.html:35 msgid "Mobile phone" msgstr "" #: forms_common.py:213 forms_common.py:327 forms_common.py:451 models.py:2170 -#: models.py:2488 models.py:2907 templates/sheet_ope.html:85 +#: models.py:2489 models.py:2910 templates/sheet_ope.html:85 #: templates/sheet_ope.html.py:105 templates/sheet_ope.html:126 -#: templates/ishtar/import_list.html:13 +#: templates/ishtar/import_list.html:14 #: templates/ishtar/sheet_organization.html:23 #: templates/ishtar/blocks/window_tables/documents.html:8 msgid "Type" @@ -292,7 +293,7 @@ msgstr "" msgid "Organization to merge" msgstr "" -#: forms_common.py:325 forms_common.py:376 forms_common.py:449 models.py:2593 +#: forms_common.py:325 forms_common.py:376 forms_common.py:449 models.py:2594 #: templates/ishtar/sheet_organization.html:22 msgid "Surname" msgstr "" @@ -311,16 +312,16 @@ msgid "Identity" msgstr "" #: forms_common.py:373 forms_common.py:781 forms_common.py:830 models.py:2135 -#: models.py:2587 models.py:2589 models.py:2904 templates/sheet_ope.html:104 +#: models.py:2588 models.py:2590 models.py:2907 templates/sheet_ope.html:104 #: templates/ishtar/blocks/window_tables/documents.html:7 msgid "Title" msgstr "" -#: forms_common.py:374 models.py:2591 +#: forms_common.py:374 models.py:2592 msgid "Salutation" msgstr "" -#: forms_common.py:380 models.py:2597 +#: forms_common.py:380 models.py:2598 msgid "Raw name" msgstr "" @@ -380,7 +381,7 @@ msgstr "Benutzername" msgid "Account search" msgstr "" -#: forms_common.py:512 forms_common.py:552 forms_common.py:556 models.py:2540 +#: forms_common.py:512 forms_common.py:552 forms_common.py:556 models.py:2541 msgid "Person type" msgstr "" @@ -388,7 +389,7 @@ msgstr "" msgid "Account" msgstr "" -#: forms_common.py:577 wizards.py:1333 +#: forms_common.py:577 wizards.py:1339 msgid "New password" msgstr "" @@ -412,7 +413,7 @@ msgstr "" msgid "Send the new password by email?" msgstr "" -#: forms_common.py:636 forms_common.py:649 models.py:2987 +#: forms_common.py:636 forms_common.py:649 models.py:2990 msgid "Towns" msgstr "" @@ -428,7 +429,7 @@ msgstr "" msgid "Documentation informations" msgstr "" -#: forms_common.py:783 forms_common.py:831 models.py:2136 models.py:2879 +#: forms_common.py:783 forms_common.py:831 models.py:2136 models.py:2882 msgid "Source type" msgstr "" @@ -440,37 +441,37 @@ msgstr "" msgid "Internal reference" msgstr "" -#: forms_common.py:791 models.py:2918 +#: forms_common.py:791 models.py:2921 msgid "Numerical ressource (web address)" msgstr "" -#: forms_common.py:792 models.py:2920 +#: forms_common.py:792 models.py:2923 msgid "Receipt date" msgstr "" -#: forms_common.py:794 models.py:2302 models.py:2922 +#: forms_common.py:794 models.py:2304 models.py:2925 msgid "Creation date" msgstr "Gründungsdatum" -#: forms_common.py:797 models.py:2925 +#: forms_common.py:797 models.py:2928 msgid "Receipt date in documentation" msgstr "" #: forms_common.py:799 forms_common.py:835 models.py:379 models.py:696 -#: models.py:2030 models.py:2601 models.py:2932 +#: models.py:2030 models.py:2602 models.py:2935 msgid "Comment" msgstr "" #: forms_common.py:801 forms_common.py:834 models.py:1105 models.py:1770 -#: models.py:1957 models.py:2004 models.py:2931 templates/sheet_ope.html:128 +#: models.py:1957 models.py:2004 models.py:2934 templates/sheet_ope.html:128 msgid "Description" msgstr "Beschreibung" -#: forms_common.py:804 models.py:2933 +#: forms_common.py:804 models.py:2936 msgid "Additional information" msgstr "" -#: forms_common.py:806 forms_common.py:838 models.py:2935 +#: forms_common.py:806 forms_common.py:838 models.py:2938 msgid "Has a duplicate" msgstr "" @@ -485,7 +486,7 @@ msgid "" "p>" msgstr "" -#: forms_common.py:827 forms_common.py:856 forms_common.py:890 models.py:2859 +#: forms_common.py:827 forms_common.py:856 forms_common.py:890 models.py:2861 #: templates/ishtar/wizard/wizard_person_deletion.html:124 msgid "Author" msgstr "" @@ -498,7 +499,7 @@ msgstr "" msgid "Would you like to delete this documentation?" msgstr "" -#: forms_common.py:864 models.py:2137 models.py:2846 models.py:2856 +#: forms_common.py:864 models.py:2137 models.py:2848 models.py:2858 msgid "Author type" msgstr "" @@ -510,7 +511,7 @@ msgstr "" msgid "There are identical authors." msgstr "" -#: forms_common.py:901 models.py:2860 models.py:2914 +#: forms_common.py:901 models.py:2862 models.py:2917 #: templates/sheet_ope.html:106 #: templates/ishtar/blocks/window_tables/documents.html:9 msgid "Authors" @@ -528,7 +529,7 @@ msgstr "" msgid "Deletion" msgstr "" -#: ishtar_menu.py:39 models.py:1277 views.py:1606 +#: ishtar_menu.py:39 models.py:1277 views.py:1608 msgid "Global variables" msgstr "" @@ -540,7 +541,7 @@ msgstr "" msgid "Search" msgstr "" -#: ishtar_menu.py:54 ishtar_menu.py:83 templates/ishtar/import_list.html:15 +#: ishtar_menu.py:54 ishtar_menu.py:83 templates/ishtar/import_list.html:16 msgid "Creation" msgstr "Gründung" @@ -556,19 +557,19 @@ msgstr "" msgid "Manual merge" msgstr "" -#: ishtar_menu.py:109 models.py:2313 +#: ishtar_menu.py:109 models.py:2315 msgid "Imports" msgstr "" -#: ishtar_menu.py:112 views.py:1614 +#: ishtar_menu.py:112 views.py:1616 msgid "New import" msgstr "" -#: ishtar_menu.py:116 views.py:1628 +#: ishtar_menu.py:116 views.py:1630 msgid "Current imports" msgstr "" -#: ishtar_menu.py:120 views.py:1664 +#: ishtar_menu.py:120 views.py:1669 msgid "Old imports" msgstr "" @@ -612,7 +613,7 @@ msgstr "" msgid "Creator" msgstr "" -#: models.py:965 models.py:2998 models.py:3054 +#: models.py:965 models.py:2846 models.py:3001 models.py:3057 msgid "Order" msgstr "" @@ -828,7 +829,7 @@ msgid "Total" msgstr "" #: models.py:1393 models.py:1517 models.py:1529 -#: templates/ishtar/sheet_person.html:22 +#: templates/ishtar/sheet_person.html:24 #: templates/ishtar/dashboards/dashboard_main_detail.html:141 #: templates/ishtar/dashboards/dashboard_main_detail_users.html:26 #: templates/ishtar/wizard/wizard_person.html:20 @@ -851,7 +852,7 @@ msgstr "" msgid "Document templates" msgstr "" -#: models.py:1520 models.py:1530 models.py:2297 +#: models.py:1520 models.py:1530 models.py:2299 msgid "State" msgstr "" @@ -1041,11 +1042,11 @@ msgstr "" msgid "Importer - Targets keys" msgstr "" -#: models.py:2138 models.py:2910 +#: models.py:2138 models.py:2913 msgid "Format" msgstr "" -#: models.py:2139 models.py:3002 +#: models.py:2139 models.py:3005 msgid "Operation type" msgstr "" @@ -1109,15 +1110,15 @@ msgstr "" msgid "Context record relation type" msgstr "" -#: models.py:2158 models.py:3060 +#: models.py:2158 models.py:3063 msgid "Spatial reference system" msgstr "" -#: models.py:2159 models.py:2888 +#: models.py:2159 models.py:2891 msgid "Support type" msgstr "" -#: models.py:2160 models.py:2552 +#: models.py:2160 models.py:2553 msgid "Title type" msgstr "" @@ -1215,263 +1216,263 @@ msgstr "" msgid "Archived" msgstr "" -#: models.py:2281 +#: models.py:2283 msgid "Imported file" msgstr "" -#: models.py:2283 +#: models.py:2285 msgid "Associated images (zip file)" msgstr "" -#: models.py:2285 +#: models.py:2287 msgid "Encoding" msgstr "" -#: models.py:2287 +#: models.py:2289 msgid "Skip lines" msgstr "" -#: models.py:2288 templates/ishtar/import_list.html:47 +#: models.py:2290 templates/ishtar/import_list.html:51 msgid "Error file" msgstr "" -#: models.py:2291 +#: models.py:2293 msgid "Result file" msgstr "" -#: models.py:2294 templates/ishtar/import_list.html:53 +#: models.py:2296 templates/ishtar/import_list.html:57 msgid "Match file" msgstr "" -#: models.py:2300 +#: models.py:2302 msgid "Conservative import" msgstr "" -#: models.py:2305 +#: models.py:2307 msgid "End date" msgstr "" -#: models.py:2307 +#: models.py:2309 msgid "Remaining seconds" msgstr "" -#: models.py:2312 +#: models.py:2314 msgid "Import" msgstr "" -#: models.py:2342 +#: models.py:2343 msgid "Analyse" msgstr "" -#: models.py:2344 models.py:2347 +#: models.py:2345 models.py:2348 msgid "Re-analyse" msgstr "" -#: models.py:2345 +#: models.py:2346 msgid "Launch import" msgstr "" -#: models.py:2348 +#: models.py:2349 msgid "Re-import" msgstr "" -#: models.py:2349 +#: models.py:2350 msgid "Archive" msgstr "" -#: models.py:2351 +#: models.py:2352 msgid "Unarchive" msgstr "" -#: models.py:2352 widgets.py:130 templates/ishtar/form_delete.html:11 +#: models.py:2353 widgets.py:130 templates/ishtar/form_delete.html:11 msgid "Delete" msgstr "" -#: models.py:2493 +#: models.py:2494 msgid "Organizations" msgstr "" -#: models.py:2495 +#: models.py:2496 msgid "Can view all Organizations" msgstr "" -#: models.py:2496 +#: models.py:2497 msgid "Can view own Organization" msgstr "" -#: models.py:2497 +#: models.py:2498 msgid "Can add own Organization" msgstr "" -#: models.py:2499 +#: models.py:2500 msgid "Can change own Organization" msgstr "" -#: models.py:2501 +#: models.py:2502 msgid "Can delete own Organization" msgstr "" -#: models.py:2536 +#: models.py:2537 msgid "Groups" msgstr "" -#: models.py:2541 +#: models.py:2542 msgid "Person types" msgstr "" -#: models.py:2553 +#: models.py:2554 msgid "Title types" msgstr "" -#: models.py:2562 +#: models.py:2563 msgid "Mr" msgstr "" -#: models.py:2563 +#: models.py:2564 msgid "Miss" msgstr "" -#: models.py:2564 +#: models.py:2565 msgid "Mr and Mrs" msgstr "" -#: models.py:2565 +#: models.py:2566 msgid "Mrs" msgstr "" -#: models.py:2566 +#: models.py:2567 msgid "Doctor" msgstr "" -#: models.py:2599 +#: models.py:2600 msgid "Contact type" msgstr "" -#: models.py:2602 models.py:2666 +#: models.py:2603 models.py:2667 msgid "Types" msgstr "" -#: models.py:2605 +#: models.py:2606 msgid "Is attached to" msgstr "" -#: models.py:2610 +#: models.py:2611 msgid "Persons" msgstr "" -#: models.py:2612 +#: models.py:2613 msgid "Can view all Persons" msgstr "" -#: models.py:2613 +#: models.py:2614 msgid "Can view own Person" msgstr "" -#: models.py:2614 +#: models.py:2615 msgid "Can add own Person" msgstr "" -#: models.py:2615 +#: models.py:2616 msgid "Can change own Person" msgstr "" -#: models.py:2616 +#: models.py:2617 msgid "Can delete own Person" msgstr "" -#: models.py:2793 +#: models.py:2794 msgid "Advanced shortcut menu" msgstr "" -#: models.py:2796 +#: models.py:2797 msgid "Ishtar user" msgstr "" -#: models.py:2797 +#: models.py:2798 msgid "Ishtar users" msgstr "" -#: models.py:2841 +#: models.py:2842 msgid "To modify the password use the form in Auth > User" msgstr "" -#: models.py:2847 +#: models.py:2849 msgid "Author types" msgstr "" -#: models.py:2880 +#: models.py:2883 msgid "Source types" msgstr "" -#: models.py:2889 +#: models.py:2892 msgid "Support types" msgstr "" -#: models.py:2896 +#: models.py:2899 msgid "Format type" msgstr "" -#: models.py:2897 +#: models.py:2900 msgid "Format types" msgstr "" -#: models.py:2905 +#: models.py:2908 msgid "External ID" msgstr "" -#: models.py:2908 +#: models.py:2911 msgid "Support" msgstr "" -#: models.py:2912 +#: models.py:2915 msgid "Scale" msgstr "" -#: models.py:2926 +#: models.py:2929 msgid "Item number" msgstr "" -#: models.py:2927 +#: models.py:2930 msgid "Ref." msgstr "" -#: models.py:2930 +#: models.py:2933 msgid "Internal ref." msgstr "" -#: models.py:2973 +#: models.py:2976 msgid "Surface (m2)" msgstr "" -#: models.py:2974 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107 +#: models.py:2977 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107 msgid "Localisation" msgstr "Lokalisierung" -#: models.py:2999 +#: models.py:3002 msgid "Is preventive" msgstr "" -#: models.py:3003 +#: models.py:3006 msgid "Operation types" msgstr "" -#: models.py:3032 +#: models.py:3035 msgid "Preventive" msgstr "" -#: models.py:3033 +#: models.py:3036 msgid "Research" msgstr "" -#: models.py:3056 +#: models.py:3059 msgid "Authority name" msgstr "" -#: models.py:3057 +#: models.py:3060 msgid "Authority SRID" msgstr "" -#: models.py:3061 +#: models.py:3064 msgid "Spatial reference systems" msgstr "" @@ -1539,56 +1540,56 @@ msgstr "" msgid "Treatment" msgstr "" -#: views.py:1361 views.py:1404 +#: views.py:1363 views.py:1406 msgid "Operation not permitted." msgstr "" -#: views.py:1363 +#: views.py:1365 #, python-format msgid "New %s" msgstr "" -#: views.py:1422 views.py:1472 +#: views.py:1424 views.py:1474 msgid "Archaeological files" msgstr "" -#: views.py:1423 views.py:1476 +#: views.py:1425 views.py:1478 msgid "Operations" msgstr "" -#: views.py:1425 views.py:1480 +#: views.py:1427 views.py:1482 msgid "Context records" msgstr "" -#: views.py:1427 views.py:1483 +#: views.py:1429 views.py:1485 msgid "Finds" msgstr "" -#: views.py:1676 templates/ishtar/import_list.html:43 +#: views.py:1683 templates/ishtar/import_list.html:47 msgid "Link unmatched items" msgstr "" -#: views.py:1691 +#: views.py:1698 msgid "Delete import" msgstr "" -#: views.py:1730 +#: views.py:1737 msgid "Merge persons" msgstr "" -#: views.py:1754 +#: views.py:1761 msgid "Select the main person" msgstr "" -#: views.py:1763 +#: views.py:1770 msgid "Merge organization" msgstr "" -#: views.py:1773 +#: views.py:1780 msgid "Select the main organization" msgstr "" -#: views.py:1813 views.py:1829 +#: views.py:1820 views.py:1836 msgid "Corporation manager" msgstr "" @@ -1596,11 +1597,11 @@ msgstr "" msgid "Search..." msgstr "" -#: widgets.py:670 templatetags/window_tables.py:91 +#: widgets.py:670 templatetags/window_tables.py:96 msgid "No results" msgstr "" -#: widgets.py:671 templatetags/window_tables.py:92 +#: widgets.py:671 templatetags/window_tables.py:97 msgid "Loading..." msgstr "" @@ -1608,15 +1609,15 @@ msgstr "" msgid "Remove" msgstr "" -#: wizards.py:372 templates/ishtar/import_delete.html:20 +#: wizards.py:374 templates/ishtar/import_delete.html:21 msgid "Yes" msgstr "" -#: wizards.py:374 +#: wizards.py:376 msgid "No" msgstr "" -#: wizards.py:1390 +#: wizards.py:1396 #, python-format msgid "[%(app_name)s] Account creation/modification" msgstr "" @@ -1687,11 +1688,7 @@ msgstr "" #: templates/base.html:84 templates/welcome.html:8 templates/welcome.html.py:9 #: templates/welcome.html:10 templates/welcome.html.py:11 -#: templates/ishtar/manage_basket.html:4 -#: templates/ishtar/blocks/window_field.html:1 -#: templates/ishtar/blocks/window_field_detail.html:1 -#: templates/ishtar/blocks/window_field_multiple.html:1 -#: templates/ishtar/blocks/window_field_url.html:1 +#: templates/ishtar/manage_basket.html:5 msgid ":" msgstr "" @@ -1980,7 +1977,7 @@ msgid "where the magic happens." msgstr "" #: templates/window.html:40 templates/blocks/JQueryJqGrid.html:34 -#: templates/ishtar/manage_basket.html:12 +#: templates/ishtar/manage_basket.html:13 msgid "Add" msgstr "" @@ -2061,7 +2058,7 @@ msgid "remove" msgstr "" #: templates/ishtar/form.html:11 templates/ishtar/formset.html:8 -#: templates/ishtar/import_list.html:58 templates/ishtar/merge.html:31 +#: templates/ishtar/import_list.html:62 templates/ishtar/merge.html:31 #: templates/ishtar/simple_form.html:7 #: templates/ishtar/wizard/default_wizard.html:31 #: templates/ishtar/wizard/search.html:13 @@ -2069,19 +2066,19 @@ msgstr "" msgid "Validate" msgstr "" -#: templates/ishtar/import_delete.html:8 +#: templates/ishtar/import_delete.html:9 msgid "The current items are linked to this import:" msgstr "" -#: templates/ishtar/import_delete.html:18 +#: templates/ishtar/import_delete.html:19 msgid "All these items will be deleted with this import." msgstr "" -#: templates/ishtar/import_delete.html:19 +#: templates/ishtar/import_delete.html:20 msgid "Are you sure?" msgstr "" -#: templates/ishtar/import_delete.html:22 +#: templates/ishtar/import_delete.html:23 msgid "Back" msgstr "" @@ -2089,35 +2086,39 @@ msgstr "" msgid "No pending imports." msgstr "" -#: templates/ishtar/import_list.html:14 +#: templates/ishtar/import_list.html:15 msgctxt "file" msgid "File" msgstr "" -#: templates/ishtar/import_list.html:16 +#: templates/ishtar/import_list.html:17 msgid "Status" msgstr "" -#: templates/ishtar/import_list.html:17 +#: templates/ishtar/import_list.html:18 msgid "Action" msgstr "" -#: templates/ishtar/import_list.html:25 +#: templates/ishtar/import_list.html:29 msgid "Source file" msgstr "" -#: templates/ishtar/import_list.html:50 +#: templates/ishtar/import_list.html:54 msgid "Control file" msgstr "" -#: templates/ishtar/manage_basket.html:9 +#: templates/ishtar/manage_basket.html:10 msgid "Checking \"Select all\" only selects the current page." msgstr "" -#: templates/ishtar/manage_basket.html:13 +#: templates/ishtar/manage_basket.html:14 msgid "Basket content" msgstr "" +#: templates/ishtar/manage_basket.html:22 templates/ishtar/sheet.html:28 +msgid "Close" +msgstr "" + #: templates/ishtar/merge.html:5 msgid "Merge" msgstr "" @@ -2186,10 +2187,6 @@ msgstr "" msgid "Contact informations" msgstr "" -#: templates/ishtar/sheet.html:28 -msgid "Close" -msgstr "" - #: templates/ishtar/sheet.html:34 msgid "Close all windows" msgstr "" @@ -2214,60 +2211,64 @@ msgstr "" msgid "Planning service of archaeological files" msgstr "" -#: templates/ishtar/sheet_person.html:21 +#: templates/ishtar/sheet_person.html:23 #: templates/ishtar/wizard/wizard_person.html:19 msgid "Phone type" msgstr "" -#: templates/ishtar/sheet_person.html:44 +#: templates/ishtar/sheet_person.html:46 #: templates/ishtar/wizard/wizard_person.html:42 msgid "Business address" msgstr "" -#: templates/ishtar/sheet_person.html:52 +#: templates/ishtar/sheet_person.html:55 #: templates/ishtar/wizard/wizard_person.html:51 msgid "Other address" msgstr "" -#: templates/ishtar/sheet_person.html:60 +#: templates/ishtar/sheet_person.html:64 msgid "Associated organization" msgstr "" -#: templates/ishtar/sheet_person.html:71 +#: templates/ishtar/sheet_person.html:76 msgid "Associated operations as scientist" msgstr "" -#: templates/ishtar/sheet_person.html:75 +#: templates/ishtar/sheet_person.html:80 msgid "Associated operations as responsible" msgstr "" -#: templates/ishtar/sheet_person.html:80 +#: templates/ishtar/sheet_person.html:85 #: templates/ishtar/wizard/wizard_person_deletion.html:6 msgid "In charge of archaeological files" msgstr "" -#: templates/ishtar/sheet_person.html:85 +#: templates/ishtar/sheet_person.html:90 #: templates/ishtar/wizard/wizard_person_deletion.html:14 msgid "General contractor of archaeological files" msgstr "" -#: templates/ishtar/sheet_person.html:90 +#: templates/ishtar/sheet_person.html:95 #: templates/ishtar/wizard/wizard_person_deletion.html:22 msgid "Responsible for planning service of archaeological files" msgstr "" -#: templates/ishtar/sheet_person.html:96 +#: templates/ishtar/sheet_person.html:101 msgid "Documents associated to operations" msgstr "" -#: templates/ishtar/sheet_person.html:101 +#: templates/ishtar/sheet_person.html:106 msgid "Documents associated to context records" msgstr "" -#: templates/ishtar/sheet_person.html:106 +#: templates/ishtar/sheet_person.html:111 msgid "Documents associated to finds" msgstr "" +#: templates/ishtar/sheet_source.html:22 +msgid "Web link" +msgstr "" + #: templates/ishtar/blocks/advanced_shortcut_menu.html:15 #: templates/ishtar/blocks/shortcut_menu.html:15 msgid "" @@ -2322,6 +2323,20 @@ msgid "" "a free software under AGPL v3 license." msgstr "" +#: templates/ishtar/blocks/sheet_creation_section.html:3 +msgctxt "Sheet" +msgid "Creation" +msgstr "" + +#: templates/ishtar/blocks/sheet_creation_section.html:12 +msgctxt "Sheet" +msgid "Modification" +msgstr "" + +#: templates/ishtar/blocks/sheet_external_id.html:3 +msgid "Internal ID" +msgstr "" + #: templates/ishtar/blocks/window_nav.html:6 msgid "Previous version" msgstr "" diff --git a/translations/fr/archaeological_context_records.po b/translations/fr/archaeological_context_records.po index d30649001..3b0762092 100644 --- a/translations/fr/archaeological_context_records.po +++ b/translations/fr/archaeological_context_records.po @@ -4,23 +4,24 @@ # Étienne Loks <etienne.loks at peacefrogs net>, 2010-2015. # Valérie-Emma Leroux <emma@iggdrasil.net>, 2016. #zanata # Valérie-Emma Leroux <emma@iggdrasil.net>, 2017. #zanata +# Étienne Loks <etienne.loks@iggdrasil.net>, 2017. #zanata msgid "" msgstr "" "MIME-Version: 1.0\n" "Content-Transfer-Encoding: 8bit\n" "Content-Type: text/plain; charset=UTF-8\n" -"PO-Revision-Date: 2017-03-09 04:59-0500\n" -"Last-Translator: Valérie-Emma Leroux <emma@iggdrasil.net>\n" +"PO-Revision-Date: 2017-03-21 06:22-0400\n" +"Last-Translator: Étienne Loks <etienne.loks@iggdrasil.net>\n" "Language-Team: \n" "Language: fr\n" "Plural-Forms: nplurals=2; plural=n>1;\n" "X-Generator: Zanata 3.9.6\n" -#: forms.py:47 forms.py:51 models.py:198 models.py:565 wizards.py:77 +#: forms.py:47 forms.py:51 models.py:216 models.py:589 wizards.py:77 msgid "Operation" msgstr "Opération" -#: forms.py:59 forms.py:137 models.py:200 models.py:533 +#: forms.py:59 forms.py:141 models.py:218 models.py:557 msgid "ID" msgstr "Identifiant" @@ -44,7 +45,7 @@ msgstr "Entité archéologique" msgid "Search within related operations" msgstr "Rechercher parmi les opérations liées" -#: forms.py:77 forms.py:233 models.py:56 +#: forms.py:77 forms.py:254 models.py:56 msgid "Period" msgstr "Période" @@ -60,7 +61,7 @@ msgstr "Parcelle (section/numéro/domaine public)" msgid "Search within relations" msgstr "Rechercher parmi les relations" -#: forms.py:111 forms.py:336 views.py:92 +#: forms.py:111 forms.py:357 views.py:92 msgid "Context record search" msgstr "Rechercher une Unité d'Enregistrement" @@ -72,52 +73,64 @@ msgstr "Vous devez sélectionner au moins une Unité d'Enregistrement." msgid "General" msgstr "Général" -#: forms.py:136 models.py:154 models.py:196 models.py:535 +#: forms.py:140 models.py:181 models.py:214 models.py:559 msgid "Parcel" msgstr "Parcelle" -#: forms.py:139 models.py:201 models.py:536 -#: templates/ishtar/sheet_contextrecord.html:39 +#: forms.py:143 models.py:219 models.py:560 +#: templates/ishtar/sheet_contextrecord.html:30 msgid "Description" msgstr "Description" -#: forms.py:141 models.py:202 +#: forms.py:145 models.py:220 msgid "General comment" msgstr "Commentaire général" -#: forms.py:143 models.py:206 +#: forms.py:148 models.py:267 +msgid "Excavation technique" +msgstr "Méthode de fouille" + +#: forms.py:149 models.py:224 msgid "Length (m)" msgstr "Taille (m)" -#: forms.py:144 models.py:207 +#: forms.py:150 models.py:225 msgid "Width (m)" msgstr "Largeur (m)" -#: forms.py:145 models.py:208 +#: forms.py:151 models.py:226 msgid "Thickness (m)" msgstr "Épaisseur (m)" -#: forms.py:146 models.py:210 +#: forms.py:152 models.py:228 +msgid "Diameter (m)" +msgstr "Diamètre (m)" + +#: forms.py:153 models.py:229 msgid "Depth (m)" msgstr "Profondeur (m)" -#: forms.py:147 forms.py:355 models.py:218 models.py:534 +#: forms.py:155 models.py:231 +msgid "Depth of appearance (m)" +msgstr "Profondeur d'apparition" + +#: forms.py:156 forms.py:376 models.py:241 models.py:558 msgid "Context record type" msgstr "Type d'Unité d'Enregistrement" -#: forms.py:148 models.py:220 -msgid "Has furniture?" -msgstr "Contient du mobilier ?" +#: forms.py:159 ishtar_menu.py:48 +msgid "Documentation" +msgstr "Documentation" -#: forms.py:151 models.py:212 +#: forms.py:162 models.py:233 msgid "Location" msgstr "Lieu" -#: forms.py:154 +#: forms.py:165 msgid "Image" msgstr "Image" -#: forms.py:155 +#: forms.py:166 #, python-format msgid "" "<p>Heavy images are resized to: %(width)dx%(height)d (ratio is preserved).</" @@ -126,112 +139,112 @@ msgstr "" "<p>Les images trop grandes sont retaillées en : %(width)dx%(height)d (le " "ratio est conservé).</p>" -#: forms.py:222 +#: forms.py:243 msgid "This ID already exists for this operation." msgstr "Cet identifiant existe déjà pour cette opération." -#: forms.py:228 forms.py:255 models.py:67 +#: forms.py:249 forms.py:276 models.py:67 msgid "Dating" msgstr "Datation" -#: forms.py:234 models.py:57 +#: forms.py:255 models.py:57 msgid "Start date" msgstr "Date de début" -#: forms.py:235 models.py:58 models.py:205 +#: forms.py:256 models.py:58 models.py:223 msgid "End date" msgstr "Date de fin" -#: forms.py:236 models.py:61 +#: forms.py:257 models.py:61 msgid "Quality" msgstr "Qualité" -#: forms.py:237 models.py:39 models.py:59 +#: forms.py:258 models.py:39 models.py:59 msgid "Dating type" msgstr "Type de datation" -#: forms.py:264 ishtar_menu.py:29 models.py:595 +#: forms.py:285 ishtar_menu.py:29 models.py:619 msgid "Context record" msgstr "Unité d'Enregistrement" -#: forms.py:285 +#: forms.py:306 msgid "Relations" msgstr "Relations" -#: forms.py:289 forms.py:297 models.py:223 -#: templates/ishtar/sheet_contextrecord.html:51 +#: forms.py:310 forms.py:318 models.py:244 +#: templates/ishtar/sheet_contextrecord.html:44 msgid "Interpretation" msgstr "Interprétation" -#: forms.py:293 +#: forms.py:314 msgid "Comments on dating" msgstr "Commentaires sur la datation" -#: forms.py:295 models.py:222 +#: forms.py:316 models.py:243 msgid "Filling" msgstr "Remplissage" -#: forms.py:299 models.py:243 +#: forms.py:320 models.py:264 msgid "Activity" msgstr "Activité" -#: forms.py:301 models.py:241 +#: forms.py:322 models.py:262 msgid "Identification" msgstr "Identification" -#: forms.py:303 models.py:226 +#: forms.py:324 models.py:247 msgid "TAQ" msgstr "TAQ" -#: forms.py:304 models.py:230 +#: forms.py:325 models.py:251 msgid "Estimated TAQ" msgstr "TAQ estimé" -#: forms.py:306 models.py:233 +#: forms.py:327 models.py:254 msgid "TPQ" msgstr "TPQ" -#: forms.py:307 models.py:237 +#: forms.py:328 models.py:258 msgid "Estimated TPQ" msgstr "TPQ estimé" -#: forms.py:322 +#: forms.py:343 msgid "Operation search" msgstr "Rechercher une opération" -#: forms.py:324 +#: forms.py:345 msgid "You should select an operation." msgstr "Vous devez sélectionner une Opération." -#: forms.py:329 +#: forms.py:350 msgid "Would you like to delete this context record?" msgstr "Voulez-vous supprimer cette Unité d'Enregistrement ?" -#: forms.py:338 +#: forms.py:359 msgid "You should select a context record." msgstr "Vous devez sélectionner une Unité d'Enregistrement." -#: forms.py:343 +#: forms.py:364 msgid "Year of the operation" msgstr "Année de l'opération" -#: forms.py:345 +#: forms.py:366 msgid "Numeric reference" msgstr "Référence numérique" -#: forms.py:351 +#: forms.py:372 msgid "Town of the operation" msgstr "Commune de l'opération" -#: forms.py:353 +#: forms.py:374 msgid "Period of the context record" msgstr "Période de l'Unité d'Enregistrement" -#: forms.py:368 +#: forms.py:389 msgid "Documentation search" msgstr "Rechercher une documentation" -#: forms.py:370 +#: forms.py:391 msgid "You should select a document." msgstr "Vous devez sélectionner un document." @@ -251,10 +264,6 @@ msgstr "Modification" msgid "Deletion" msgstr "Suppression" -#: ishtar_menu.py:48 -msgid "Documentation" -msgstr "Documentation" - #: models.py:40 msgid "Dating types" msgstr "Types de datation" @@ -307,55 +316,67 @@ msgstr "Type d'identification" msgid "Identification Types" msgstr "Types d'identification" -#: models.py:155 models.py:537 +#: models.py:125 +msgid "Excavation technique type" +msgstr "Type de méthode de fouille" + +#: models.py:126 +msgid "Excavation technique types" +msgstr "Types de méthode de fouille" + +#: models.py:134 +msgid "Documentation type" +msgstr "Type de documentation" + +#: models.py:135 +msgid "Documentation types" +msgstr "Types de documentation" + +#: models.py:172 models.py:561 msgid "Periods" msgstr "Périodes" -#: models.py:156 -msgid "Town" -msgstr "Ville" - -#: models.py:184 -msgid "Parcel (town)" -msgstr "Parcelle (commune)" +#: models.py:173 +msgid "Datings (period)" +msgstr "Datations (période)" -#: models.py:185 +#: models.py:174 msgid "Related context records" msgstr "Unités d'Enregistrement liées" -#: models.py:187 +#: models.py:177 msgid "Parcel (external ID)" msgstr "Parcelle (identifiant externe)" -#: models.py:188 -msgid "Datings (period)" -msgstr "Datations (période)" +#: models.py:178 models.py:179 +msgid "Parcel (town)" +msgstr "Parcelle (commune)" -#: models.py:189 +#: models.py:180 msgid "Parcel (year)" msgstr "Parcelle (année)" -#: models.py:193 +#: models.py:211 msgid "External ID" msgstr "ID externe" -#: models.py:195 +#: models.py:213 msgid "External ID is set automatically" msgstr "L'identifiant externe est configuré automatiquement" -#: models.py:203 +#: models.py:221 msgid "Date d'ouverture" msgstr "Date d'ouverture" -#: models.py:213 +#: models.py:234 msgid "A short description of the location of the context record" msgstr "Une courte description de la localisation de l'Unité d'Enregistrement" -#: models.py:216 +#: models.py:239 msgid "Comment on datings" msgstr "Commentaire sur les datations" -#: models.py:227 +#: models.py:248 msgid "" "\"Terminus Ante Quem\" the context record can't have been created after this " "date" @@ -363,11 +384,11 @@ msgstr "" "« Terminus Ante Quem ». L'Unité d'Enregistrement ne peut avoir été créée " "après cette date." -#: models.py:231 +#: models.py:252 msgid "Estimation of a \"Terminus Ante Quem\"" msgstr "Estimation d'un « Terminus Ante Quem »." -#: models.py:234 +#: models.py:255 msgid "" "\"Terminus Post Quem\" the context record can't have been created before " "this date" @@ -375,116 +396,116 @@ msgstr "" "« Terminus Post Quem ». L'Unité d'Enregistrement ne peut avoir été créée " "avant cette date." -#: models.py:238 +#: models.py:259 msgid "Estimation of a \"Terminus Post Quem\"" msgstr "Estimation d'un « Terminus Post Quem »." -#: models.py:246 +#: models.py:270 msgid "Point" msgstr "Point" -#: models.py:247 +#: models.py:271 msgid "Polygon" msgstr "Polygone" -#: models.py:248 +#: models.py:272 msgid "Cached name" msgstr "Nom en cache" -#: models.py:252 models.py:253 templates/ishtar/sheet_contextrecord.html:4 +#: models.py:276 models.py:277 templates/ishtar/sheet_contextrecord.html:4 msgid "Context Record" msgstr "Unité d'Enregistrement" -#: models.py:255 +#: models.py:279 msgid "Can view all Context Records" msgstr "Peut voir toutes les Unités d'Enregistrement" -#: models.py:257 +#: models.py:281 msgid "Can view own Context Record" msgstr "Peut voir sa propre Unité d'Enregistrement" -#: models.py:259 +#: models.py:283 msgid "Can add own Context Record" msgstr "Peut ajouter sa propre Unité d'Enregistrement" -#: models.py:261 +#: models.py:285 msgid "Can change own Context Record" msgstr "Peut modifier sa propre Unité d'Enregistrement" -#: models.py:263 +#: models.py:287 msgid "Can delete own Context Record" msgstr "Peut supprimer sa propre Unité d'Enregistrement" -#: models.py:273 +#: models.py:297 msgctxt "short" msgid "Context record" msgstr "UE" -#: models.py:467 +#: models.py:491 msgid "Inverse relation" msgstr "Relation inverse" -#: models.py:471 models.py:494 models.py:532 +#: models.py:495 models.py:518 models.py:556 msgid "Relation type" msgstr "Type de relation" -#: models.py:472 +#: models.py:496 msgid "Relation types" msgstr "Types de relation" -#: models.py:489 +#: models.py:513 msgid "ID (left)" msgstr "ID (gauche)" -#: models.py:490 +#: models.py:514 msgid "Context record type (left)" msgstr "Type d'UE (gauche)" -#: models.py:491 +#: models.py:515 msgid "Parcel (left)" msgstr "Parcelle (gauche)" -#: models.py:492 +#: models.py:516 msgid "Description (left)" msgstr "Description (gauche)" -#: models.py:493 +#: models.py:517 msgid "Periods (left)" msgstr "Périodes (gauche)" -#: models.py:495 +#: models.py:519 msgid "ID (right)" msgstr "ID (droit)" -#: models.py:496 +#: models.py:520 msgid "Context record type (right)" msgstr "Type d'UE (droite)" -#: models.py:497 +#: models.py:521 msgid "Parcel (right)" msgstr "Parcelle (droite)" -#: models.py:498 +#: models.py:522 msgid "Description (right)" msgstr "Description (droite)" -#: models.py:499 +#: models.py:523 msgid "Periods (right)" msgstr "Périodes (droite)" -#: models.py:508 +#: models.py:532 msgid "Record relation" msgstr "Relation entre Unités d'Enregistrement" -#: models.py:509 +#: models.py:533 msgid "Record relations" msgstr "Relations entre Unités d'Enregistrement" -#: models.py:592 +#: models.py:616 msgid "Context record documentation" msgstr "Documentation d'une Unité d'Enregistrement" -#: models.py:593 +#: models.py:617 msgid "Context record documentations" msgstr "Documentations des Unités d'Enregistrement" @@ -516,86 +537,86 @@ msgstr "Unité d'Enregistrement : modifier une documentation associée" msgid "Context record: source deletion" msgstr "Unité d'Enregistrement : supprimer une documentation associée" -#: templates/ishtar/sheet_contextrecord.html:17 +#: templates/ishtar/sheet_contextrecord.html:18 msgid "Complete ID:" msgstr "ID complet :" -#: templates/ishtar/sheet_contextrecord.html:17 +#: templates/ishtar/sheet_contextrecord.html:18 msgid "Temporary ID:" msgstr "ID temporaire :" -#: templates/ishtar/sheet_contextrecord.html:18 -msgid "Creation:" -msgstr "Création :" - -#: templates/ishtar/sheet_contextrecord.html:25 -msgid "Modification:" -msgstr "Modification :" - -#: templates/ishtar/sheet_contextrecord.html:63 +#: templates/ishtar/sheet_contextrecord.html:56 msgid "Datations" msgstr "Datations" -#: templates/ishtar/sheet_contextrecord.html:72 +#: templates/ishtar/sheet_contextrecord.html:65 msgid "Context record relations" msgstr "Relations entre Unités d'Enregistrement" -#: templates/ishtar/sheet_contextrecord.html:79 +#: templates/ishtar/sheet_contextrecord.html:72 msgid "Operation summary" msgstr "Résumé de l'opération" -#: templates/ishtar/sheet_contextrecord.html:81 +#: templates/ishtar/sheet_contextrecord.html:74 msgid "Patriarche OA code not yet recorded!" msgstr "Code d'opération Patriarche non renseigné !" -#: templates/ishtar/sheet_contextrecord.html:88 +#: templates/ishtar/sheet_contextrecord.html:78 +msgid "Numerical reference" +msgstr "Référence numérique" + +#: templates/ishtar/sheet_contextrecord.html:82 msgid "State:" msgstr "État :" -#: templates/ishtar/sheet_contextrecord.html:88 +#: templates/ishtar/sheet_contextrecord.html:82 msgid "Active file" msgstr "Dossier actif" -#: templates/ishtar/sheet_contextrecord.html:88 +#: templates/ishtar/sheet_contextrecord.html:82 msgid "Closed operation" msgstr "Opération close" -#: templates/ishtar/sheet_contextrecord.html:90 +#: templates/ishtar/sheet_contextrecord.html:84 msgid "Closing date:" msgstr "Date de clôture :" -#: templates/ishtar/sheet_contextrecord.html:90 +#: templates/ishtar/sheet_contextrecord.html:84 msgid "by" msgstr "par" -#: templates/ishtar/sheet_contextrecord.html:98 +#: templates/ishtar/sheet_contextrecord.html:92 msgid "Localisation" msgstr "Lieu" -#: templates/ishtar/sheet_contextrecord.html:99 +#: templates/ishtar/sheet_contextrecord.html:93 msgid "Towns:" msgstr "Communes :" -#: templates/ishtar/sheet_contextrecord.html:100 +#: templates/ishtar/sheet_contextrecord.html:94 msgid "Related operation:" msgstr "Opération associée :" -#: templates/ishtar/sheet_contextrecord.html:102 +#: templates/ishtar/sheet_contextrecord.html:96 msgid "No operation linked to this context unit!" msgstr "Pas d'opération rattachée à cette UE !" -#: templates/ishtar/sheet_contextrecord.html:105 +#: templates/ishtar/sheet_contextrecord.html:99 msgid "Document from this context record" msgstr "Document associé à cette Unité d'Enregistrement" -#: templates/ishtar/sheet_contextrecord.html:110 +#: templates/ishtar/sheet_contextrecord.html:104 msgid "Finds" msgstr "Mobilier" -#: templates/ishtar/sheet_contextrecord.html:115 +#: templates/ishtar/sheet_contextrecord.html:109 msgid "Documents from associated finds" msgstr "Documents du mobilier associé" #: templates/ishtar/sheet_contextrecordsource.html:4 msgid "Context record source" msgstr "Documentation associée à l'UE" + +#: templates/ishtar/sheet_contextrecordsource.html:11 +msgid "Related context record" +msgstr "Unité d'Enregistrement associée" diff --git a/translations/fr/archaeological_files.po b/translations/fr/archaeological_files.po index 4c565b478..23d75e0d0 100644 --- a/translations/fr/archaeological_files.po +++ b/translations/fr/archaeological_files.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-03-09 05:00-0500\n" +"PO-Revision-Date: 2017-02-05 05:21-0500\n" "Last-Translator: Valérie-Emma Leroux <emma@iggdrasil.net>\n" "Language-Team: \n" "Language: fr\n" @@ -19,7 +19,7 @@ msgstr "" "X-Generator: Zanata 3.9.6\n" #: forms.py:47 forms.py:210 forms.py:255 forms.py:396 forms.py:423 -#: models.py:108 templates/ishtar/sheet_file.html:157 +#: models.py:108 templates/ishtar/sheet_file.html:144 msgid "Year" msgstr "Année" @@ -35,7 +35,7 @@ msgstr "Autre référence" msgid "Parcel (section/number/public domain)" msgstr "Parcelle (section/numéro/domaine public)" -#: forms.py:55 forms.py:407 forms.py:434 models.py:553 +#: forms.py:55 forms.py:407 forms.py:434 models.py:558 msgid "Department" msgstr "Département" @@ -64,11 +64,11 @@ msgid "Permit reference" msgstr "Référence du permis" #: forms.py:63 forms.py:227 forms.py:364 models.py:180 -#: templates/ishtar/sheet_file.html:110 +#: templates/ishtar/sheet_file.html:97 msgid "Comment" msgstr "Commentaire" -#: forms.py:65 templates/ishtar/sheet_file.html:130 +#: forms.py:65 templates/ishtar/sheet_file.html:117 msgid "In charge" msgstr "Responsable" @@ -124,7 +124,7 @@ msgstr "Date après" msgid "Date before" msgstr "Date avant" -#: forms.py:197 templates/ishtar/sheet_file.html:14 +#: forms.py:197 templates/ishtar/sheet_file.html:19 msgid "General" msgstr "Général" @@ -173,12 +173,12 @@ msgstr "Responsable pour le service instructeur" msgid "Total developed surface (m2)" msgstr "Surface totale aménagée (m2)" -#: forms.py:333 templates/ishtar/sheet_file.html:100 +#: forms.py:333 templates/ishtar/sheet_file.html:87 #: templates/ishtar/dashboards/dashboard_file.html:45 msgid "Research archaeology" msgstr "Archéologie programmée" -#: forms.py:341 models.py:183 templates/ishtar/sheet_file.html:101 +#: forms.py:341 models.py:183 templates/ishtar/sheet_file.html:88 msgid "Departments" msgstr "Départements" @@ -186,7 +186,7 @@ msgstr "Départements" msgid "Scientist in charge" msgstr "Responsable scientifique" -#: forms.py:353 models.py:186 templates/ishtar/sheet_file.html:103 +#: forms.py:353 models.py:186 templates/ishtar/sheet_file.html:90 msgid "Requested operation type" msgstr "Type d'opération demandée" @@ -194,11 +194,11 @@ msgstr "Type d'opération demandée" msgid "Lead organization" msgstr "Organisation porteuse du projet" -#: forms.py:371 models.py:196 templates/ishtar/sheet_file.html:108 +#: forms.py:371 models.py:196 templates/ishtar/sheet_file.html:95 msgid "Classified area" msgstr "Au sein d'un site classé" -#: forms.py:373 models.py:198 templates/ishtar/sheet_file.html:109 +#: forms.py:373 models.py:198 templates/ishtar/sheet_file.html:96 msgid "Protected area" msgstr "Au sein d'un secteur sauvegardé" @@ -372,7 +372,7 @@ msgstr "Lieu-dit" msgid "Main address - postal code" msgstr "Adresse des terrains - code postal" -#: models.py:188 templates/ishtar/sheet_file.html:104 +#: models.py:188 templates/ishtar/sheet_file.html:91 msgid "Organization" msgstr "Organisation" @@ -416,15 +416,15 @@ msgstr "Peut clore un Dossier" msgid "FILE" msgstr "DOSSIER" -#: models.py:413 +#: models.py:418 msgid "Multi-town" msgstr "Intercommunal" -#: models.py:419 +#: models.py:424 msgid "No town" msgstr "Pas de commune" -#: models.py:552 +#: models.py:557 msgid "File" msgstr "Dossier" @@ -464,7 +464,7 @@ msgstr "Dossier : modifier un acte administratif" msgid "File: administrative act deletion" msgstr "Dossier : supprimer un acte administratif" -#: wizards.py:124 templates/ishtar/sheet_file.html:122 +#: wizards.py:124 templates/ishtar/sheet_file.html:109 msgid "Associated operations" msgstr "Opérations associées" @@ -480,122 +480,114 @@ msgstr "Choisir le type de document" msgid "Generate" msgstr "Générer" -#: templates/ishtar/sheet_file.html:23 -msgid "Creation:" -msgstr "Création :" - -#: templates/ishtar/sheet_file.html:30 -msgid "Modification:" -msgstr "Modification :" - -#: templates/ishtar/sheet_file.html:47 +#: templates/ishtar/sheet_file.html:34 msgid "State:" msgstr "État :" -#: templates/ishtar/sheet_file.html:47 +#: templates/ishtar/sheet_file.html:34 msgid "Active file" msgstr "Dossier actif" -#: templates/ishtar/sheet_file.html:48 +#: templates/ishtar/sheet_file.html:35 msgid "Closed file" msgstr "Dossier clos" -#: templates/ishtar/sheet_file.html:50 +#: templates/ishtar/sheet_file.html:37 msgid "Closing date:" msgstr "Date de clôture :" -#: templates/ishtar/sheet_file.html:50 +#: templates/ishtar/sheet_file.html:37 msgid "by" msgstr "par" -#: templates/ishtar/sheet_file.html:55 +#: templates/ishtar/sheet_file.html:42 msgid "Related file:" msgstr "Dossier en relation avec :" -#: templates/ishtar/sheet_file.html:60 +#: templates/ishtar/sheet_file.html:47 msgid "Localisation" msgstr "Localisation" -#: templates/ishtar/sheet_file.html:61 +#: templates/ishtar/sheet_file.html:48 msgid "Towns:" msgstr "Communes :" -#: templates/ishtar/sheet_file.html:62 +#: templates/ishtar/sheet_file.html:49 msgid "Departments:" msgstr "Départements :" -#: templates/ishtar/sheet_file.html:64 +#: templates/ishtar/sheet_file.html:51 msgid "Main address:" msgstr "Adresse principale :" -#: templates/ishtar/sheet_file.html:65 +#: templates/ishtar/sheet_file.html:52 msgid "Complement:" msgstr "Complément :" -#: templates/ishtar/sheet_file.html:66 +#: templates/ishtar/sheet_file.html:53 msgid "Postal code:" msgstr "Code postal :" -#: templates/ishtar/sheet_file.html:68 +#: templates/ishtar/sheet_file.html:55 msgid "Surface:" msgstr "Surface :" -#: templates/ishtar/sheet_file.html:73 +#: templates/ishtar/sheet_file.html:60 msgid "Preventive archaeological file" msgstr "Dossier d'archéologie préventive" -#: templates/ishtar/sheet_file.html:75 +#: templates/ishtar/sheet_file.html:62 msgid "Developed surface:" msgstr "Surface aménagée :" -#: templates/ishtar/sheet_file.html:101 templates/ishtar/sheet_file.html:102 -#: templates/ishtar/sheet_file.html:103 templates/ishtar/sheet_file.html:104 -#: templates/ishtar/sheet_file.html:110 +#: templates/ishtar/sheet_file.html:88 templates/ishtar/sheet_file.html:89 +#: templates/ishtar/sheet_file.html:90 templates/ishtar/sheet_file.html:91 +#: templates/ishtar/sheet_file.html:97 #: templates/ishtar/dashboards/dashboard_file.html:14 msgid ":" msgstr " :" -#: templates/ishtar/sheet_file.html:102 +#: templates/ishtar/sheet_file.html:89 msgid "Head scientist" msgstr "Responsable scientifique" -#: templates/ishtar/sheet_file.html:116 +#: templates/ishtar/sheet_file.html:103 msgid "Associated parcels" msgstr "Parcelles associées" -#: templates/ishtar/sheet_file.html:119 +#: templates/ishtar/sheet_file.html:106 msgid "Administrative acts" msgstr "Actes administratifs" -#: templates/ishtar/sheet_file.html:127 templates/ishtar/sheet_file.html:158 +#: templates/ishtar/sheet_file.html:114 templates/ishtar/sheet_file.html:145 msgid "Ref." msgstr "Réf." -#: templates/ishtar/sheet_file.html:129 templates/ishtar/sheet_file.html:159 +#: templates/ishtar/sheet_file.html:116 templates/ishtar/sheet_file.html:146 msgid "Type" msgstr "Type" -#: templates/ishtar/sheet_file.html:131 +#: templates/ishtar/sheet_file.html:118 msgid "Start date" msgstr "Date de début" -#: templates/ishtar/sheet_file.html:132 +#: templates/ishtar/sheet_file.html:119 msgid "Excavation end date" msgstr "Date de fin de chantier" -#: templates/ishtar/sheet_file.html:146 +#: templates/ishtar/sheet_file.html:133 msgid "No operation associated to this archaeological file" msgstr "Pas d'opération associée à ce dossier archéologique" -#: templates/ishtar/sheet_file.html:152 +#: templates/ishtar/sheet_file.html:139 msgid "Admninistrative acts linked to associated operations" msgstr "Actes administratifs associés à ces opérations" -#: templates/ishtar/sheet_file.html:160 +#: templates/ishtar/sheet_file.html:147 msgid "Date" msgstr "Date" -#: templates/ishtar/sheet_file.html:170 +#: templates/ishtar/sheet_file.html:157 msgid "No administrative act linked to operations" msgstr "Pas d'acte administratif associé à ces opérations" diff --git a/translations/fr/archaeological_finds.po b/translations/fr/archaeological_finds.po index c32c79b64..32c8a4861 100644 --- a/translations/fr/archaeological_finds.po +++ b/translations/fr/archaeological_finds.po @@ -3,182 +3,184 @@ # This file is distributed under the same license as the Ishtar package. # Étienne Loks <etienne.loks at peacefrogs net>, 2010-2015. # Valérie-Emma Leroux <emma@iggdrasil.net>, 2016. #zanata +# Étienne Loks <etienne.loks@iggdrasil.net>, 2016. #zanata # Valérie-Emma Leroux <emma@iggdrasil.net>, 2017. #zanata +# Étienne Loks <etienne.loks@iggdrasil.net>, 2017. #zanata msgid "" msgstr "" "MIME-Version: 1.0\n" "Content-Transfer-Encoding: 8bit\n" "Content-Type: text/plain; charset=UTF-8\n" -"PO-Revision-Date: 2017-03-09 05:01-0500\n" -"Last-Translator: Valérie-Emma Leroux <emma@iggdrasil.net>\n" +"PO-Revision-Date: 2017-03-21 06:23-0400\n" +"Last-Translator: Étienne Loks <etienne.loks@iggdrasil.net>\n" "Language-Team: \n" "Language: fr\n" "Plural-Forms: nplurals=2; plural=n>1;\n" "X-Generator: Zanata 3.9.6\n" -#: forms.py:90 forms.py:94 wizards.py:64 +#: forms.py:93 forms.py:97 models_finds.py:505 wizards.py:64 msgid "Context record" msgstr "Unité d'Enregistrement" -#: forms.py:123 ishtar_menu.py:32 models_finds.py:656 models_finds.py:1059 -#: models_finds.py:1068 models_treatments.py:279 +#: forms.py:126 ishtar_menu.py:32 models_finds.py:668 models_finds.py:1071 +#: models_finds.py:1080 models_treatments.py:281 #: templates/ishtar/sheet_find.html:5 msgid "Find" msgstr "Mobilier" -#: forms.py:137 forms.py:330 forms.py:559 models_finds.py:151 -#: models_finds.py:587 +#: forms.py:140 forms.py:333 forms.py:601 models_finds.py:151 +#: models_finds.py:599 msgid "Free ID" msgstr "ID libre" -#: forms.py:139 models_finds.py:639 +#: forms.py:142 models_finds.py:651 msgid "Previous ID" msgstr "Identifiant précédent" -#: forms.py:140 forms.py:362 forms_treatments.py:134 models_finds.py:155 -#: models_finds.py:588 models_treatments.py:125 +#: forms.py:143 forms.py:364 forms_treatments.py:134 models_finds.py:155 +#: models_finds.py:600 models_treatments.py:127 msgid "Description" msgstr "Description" -#: forms.py:143 forms.py:364 models_finds.py:164 +#: forms.py:146 forms.py:366 models_finds.py:164 msgid "Batch/object" msgstr "Lot/objet" -#: forms.py:145 models_finds.py:616 +#: forms.py:148 models_finds.py:628 msgid "Is complete?" msgstr "Est complet ?" -#: forms.py:148 forms.py:352 forms.py:563 models_finds.py:51 +#: forms.py:151 forms.py:354 forms.py:605 models_finds.py:51 msgid "Material type" msgstr "Type de matériau" -#: forms.py:149 forms.py:356 models_finds.py:63 models_finds.py:592 +#: forms.py:152 forms.py:358 models_finds.py:63 models_finds.py:604 msgid "Conservatory state" msgstr "État sanitaire" -#: forms.py:152 models_finds.py:594 +#: forms.py:155 models_finds.py:606 msgid "Conservatory comment" msgstr "Commentaire relatif à la conservation" -#: forms.py:155 models_finds.py:113 models_finds.py:619 +#: forms.py:158 models_finds.py:113 models_finds.py:631 msgid "Object types" msgstr "Types d'objet" -#: forms.py:157 forms.py:355 models_finds.py:72 +#: forms.py:160 forms.py:357 models_finds.py:72 msgid "Preservation type" msgstr "Type de conservation" -#: forms.py:160 forms.py:358 models_finds.py:621 +#: forms.py:163 forms.py:360 models_finds.py:633 msgid "Integrity / interest" msgstr "Intégrité / intérêt" -#: forms.py:163 forms.py:360 models_finds.py:624 +#: forms.py:166 forms.py:362 models_finds.py:636 msgid "Remarkability" msgstr "Remarquabilité" -#: forms.py:166 models_finds.py:169 +#: forms.py:169 models_finds.py:169 msgid "Point of topographic reference" msgstr "Point de référence topographique" -#: forms.py:169 models_finds.py:171 +#: forms.py:172 models_finds.py:171 msgid "X" msgstr "X" -#: forms.py:170 models_finds.py:172 +#: forms.py:173 models_finds.py:172 msgid "Y" msgstr "Y" -#: forms.py:171 models_finds.py:173 +#: forms.py:174 models_finds.py:173 msgid "Z" msgstr "Z" -#: forms.py:173 models_finds.py:181 +#: forms.py:176 models_finds.py:181 msgid "Spatial Reference System" msgstr "Système de référence spatiale" -#: forms.py:176 models_finds.py:174 +#: forms.py:179 models_finds.py:174 msgid "Estimated error for X" msgstr "Erreur estimée pour X" -#: forms.py:178 models_finds.py:176 +#: forms.py:181 models_finds.py:176 msgid "Estimated error for Y" msgstr "Erreur estimée pour Y" -#: forms.py:180 models_finds.py:178 +#: forms.py:183 models_finds.py:178 msgid "Estimated error for Z" msgstr "Erreur estimée pour Z" -#: forms.py:181 models_finds.py:628 +#: forms.py:184 models_finds.py:640 msgid "Length (cm)" msgstr "Longueur (cm)" -#: forms.py:182 models_finds.py:629 +#: forms.py:185 models_finds.py:641 msgid "Width (cm)" msgstr "Largeur (cm)" -#: forms.py:183 models_finds.py:630 +#: forms.py:186 models_finds.py:642 msgid "Height (cm)" msgstr "Hauteur (cm)" -#: forms.py:184 models_finds.py:631 +#: forms.py:187 models_finds.py:643 msgid "Diameter (cm)" msgstr "Diamètre (cm)" -#: forms.py:185 models_finds.py:632 +#: forms.py:188 models_finds.py:644 msgid "Thickness (cm)" msgstr "Épaisseur (cm)" -#: forms.py:186 forms.py:564 models_finds.py:599 +#: forms.py:189 forms.py:606 models_finds.py:611 msgid "Volume (l)" msgstr "Volume (l)" -#: forms.py:187 forms.py:565 models_finds.py:600 +#: forms.py:190 forms.py:607 models_finds.py:612 msgid "Weight (g)" msgstr "Poids (g)" -#: forms.py:189 models_finds.py:633 +#: forms.py:192 models_finds.py:645 msgid "Dimensions comment" msgstr "Commentaire concernant les dimensions" -#: forms.py:190 forms.py:566 models_finds.py:603 +#: forms.py:193 forms.py:608 models_finds.py:615 msgid "Find number" msgstr "Mobilier (en nombre)" -#: forms.py:192 models_finds.py:627 +#: forms.py:195 models_finds.py:639 msgid "Minimum number of individuals (MNI)" msgstr "Nombre minimum d'individus (NMI)" -#: forms.py:193 models_finds.py:635 +#: forms.py:196 models_finds.py:647 msgid "Mark" msgstr "Marque" -#: forms.py:194 forms.py:365 models_finds.py:641 +#: forms.py:197 forms.py:367 models_finds.py:653 msgid "Check" msgstr "Vérification" -#: forms.py:196 models_finds.py:643 +#: forms.py:199 models_finds.py:655 msgid "Check date" msgstr "Date de vérification" -#: forms.py:197 forms_treatments.py:132 forms_treatments.py:434 -#: models_finds.py:156 models_finds.py:636 models_treatments.py:124 -#: models_treatments.py:492 +#: forms.py:200 forms_treatments.py:132 forms_treatments.py:434 +#: models_finds.py:156 models_finds.py:648 models_treatments.py:126 +#: models_treatments.py:494 msgid "Comment" msgstr "Commentaires" -#: forms.py:200 models_finds.py:637 +#: forms.py:203 models_finds.py:649 msgid "Comment on dating" msgstr "Commentaire général sur les datations" -#: forms.py:201 models_finds.py:645 +#: forms.py:204 models_finds.py:657 msgid "Estimated value" msgstr "Valeur estimée" -#: forms.py:203 forms_treatments.py:151 +#: forms.py:206 forms_treatments.py:151 msgid "Image" msgstr "Image" -#: forms.py:204 forms_treatments.py:152 +#: forms.py:207 forms_treatments.py:152 #, python-format msgid "" "<p>Heavy images are resized to: %(width)dx%(height)d (ratio is preserved).</" @@ -187,192 +189,208 @@ msgstr "" "<p>Les images trop grandes sont retaillées en : %(width)dx%(height)d (le " "ratio est conservé).</p>" -#: forms.py:278 +#: forms.py:281 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 +#: forms.py:290 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é : {}." -#: forms.py:293 forms.py:324 models_finds.py:611 +#: forms.py:296 forms.py:327 models_finds.py:623 msgid "Dating" msgstr "Datation" -#: forms.py:298 forms.py:350 +#: forms.py:301 forms.py:353 msgid "Period" msgstr "Période" -#: forms.py:299 forms_treatments.py:138 forms_treatments.py:436 -#: models_finds.py:1073 models_treatments.py:127 models_treatments.py:290 -#: templates/ishtar/sheet_find.html:103 templates/ishtar/sheet_find.html:145 +#: forms.py:302 forms_treatments.py:138 forms_treatments.py:436 +#: models_finds.py:1085 models_treatments.py:129 models_treatments.py:292 +#: templates/ishtar/sheet_find.html:91 templates/ishtar/sheet_find.html:133 msgid "Start date" msgstr "Date de début" -#: forms.py:301 models_finds.py:1074 models_treatments.py:291 -#: templates/ishtar/sheet_find.html:104 templates/ishtar/sheet_find.html:146 +#: forms.py:304 models_finds.py:1086 models_treatments.py:293 +#: templates/ishtar/sheet_find.html:92 templates/ishtar/sheet_find.html:134 msgid "End date" msgstr "Date de fin" -#: forms.py:302 +#: forms.py:305 msgid "Quality" msgstr "Qualité" -#: forms.py:304 +#: forms.py:307 msgid "Dating type" msgstr "Type de datation" -#: forms.py:306 +#: forms.py:309 msgid "Precise dating" msgstr "Datation précise" -#: forms.py:328 models_finds.py:188 +#: forms.py:331 models_finds.py:188 msgid "Short ID" msgstr "ID court" -#: forms.py:329 models_finds.py:191 +#: forms.py:332 models_finds.py:191 msgid "Complete ID" msgstr "ID complet" -#: forms.py:333 forms_treatments.py:54 forms_treatments.py:96 +#: forms.py:336 forms_treatments.py:54 forms_treatments.py:96 #: forms_treatments.py:284 forms_treatments.py:356 forms_treatments.py:406 -#: forms_treatments.py:489 models_treatments.py:100 models_treatments.py:464 +#: forms_treatments.py:489 models_treatments.py:102 models_treatments.py:466 msgid "Year" msgstr "Année" -#: forms.py:335 +#: forms.py:338 msgid "Operation's number (index by year)" msgstr "Numéro de l'opération (index par année)" -#: forms.py:338 +#: forms.py:341 msgid "Code PATRIARCHE" msgstr "Code PATRIARCHE" -#: forms.py:342 +#: forms.py:345 msgid "Archaeological site" msgstr "Entité archéologique" -#: forms.py:348 +#: forms.py:351 msgid "Search within related operations" msgstr "Rechercher parmi les opérations liées" -#: forms.py:353 models_finds.py:112 +#: forms.py:355 models_finds.py:112 msgid "Object type" msgstr "Type d'objet" -#: forms.py:366 forms_treatments.py:57 +#: forms.py:368 forms_treatments.py:57 msgid "Has an image?" msgstr "Dispose d'une image ?" -#: forms.py:414 forms.py:427 views.py:130 +#: forms.py:417 +msgid "Warehouse (location)" +msgstr "Dépôt (lieu)" + +#: forms.py:423 +msgid "Warehouse (responsible)" +msgstr "Dépôt (responsable)" + +#: forms.py:428 +msgid "Container ID" +msgstr "Identifiant du contenant" + +#: forms.py:429 +msgid "Container ref." +msgstr "Réf. contenant" + +#: forms.py:433 forms.py:456 views.py:149 msgid "Find search" msgstr "Rechercher un mobilier" -#: forms.py:441 templates/ishtar/sheet_treatment.html:46 +#: forms.py:481 templates/ishtar/sheet_treatment.html:46 msgid "Upstream finds" msgstr "Mobilier amont" -#: forms.py:443 models_finds.py:657 +#: forms.py:483 models_finds.py:669 msgid "Finds" msgstr "Mobilier" -#: forms.py:453 +#: forms.py:495 msgid "You should at least select one archaeological find." msgstr "Vous devez sélectionner au moins un mobilier archéologique." -#: forms.py:556 +#: forms.py:598 msgid "Resulting find" msgstr "Mobilier résultant" -#: forms.py:561 +#: forms.py:603 msgid "Precise description" msgstr "Description précise" -#: forms.py:576 +#: forms.py:618 msgid "Resulting finds" msgstr "Mobiliers résultants" -#: forms.py:581 +#: forms.py:623 msgid "Would you like to delete this find?" msgstr "Voulez-vous supprimer ce mobilier ?" -#: forms.py:585 models_treatments.py:90 +#: forms.py:627 models_treatments.py:90 msgid "Upstream find" msgstr "Mobilier amont" -#: forms.py:598 +#: forms.py:640 msgid "Archaeological find search" msgstr "Rechercher un mobilier" -#: forms.py:600 +#: forms.py:642 msgid "You should select an archaeological find." msgstr "Vous devez sélectionner du mobilier." -#: forms.py:605 +#: forms.py:647 msgid "Year of the operation" msgstr "Année de l'opération" -#: forms.py:607 +#: forms.py:649 msgid "Numeric reference" msgstr "Référence numérique" -#: forms.py:614 +#: forms.py:656 msgid "Period of the archaeological find" msgstr "Période du mobilier" -#: forms.py:616 +#: forms.py:658 msgid "Material type of the archaeological find" msgstr "Type de matériau du mobilier" -#: forms.py:618 +#: forms.py:660 msgid "Description of the archaeological find" msgstr "Description du mobilier" -#: forms.py:630 forms_treatments.py:590 forms_treatments.py:616 +#: forms.py:672 forms_treatments.py:590 forms_treatments.py:616 msgid "Documentation search" msgstr "Rechercher une documentation" -#: forms.py:632 forms_treatments.py:592 forms_treatments.py:618 +#: forms.py:674 forms_treatments.py:592 forms_treatments.py:618 msgid "You should select a document." msgstr "Vous devez sélectionner un document." -#: forms.py:649 +#: forms.py:691 msgid "Another basket already exists with this name." msgstr "Un autre panier existant utilise déjà ce nom." -#: forms.py:659 forms.py:663 forms_treatments.py:175 ishtar_menu.py:57 +#: forms.py:701 forms.py:705 forms_treatments.py:175 ishtar_menu.py:57 msgid "Basket" msgstr "Panier" -#: forms_treatments.py:52 forms_treatments.py:92 models_treatments.py:96 -#: templates/ishtar/sheet_find.html:97 templates/ishtar/sheet_find.html:139 +#: forms_treatments.py:52 forms_treatments.py:92 models_treatments.py:98 +#: templates/ishtar/sheet_find.html:85 templates/ishtar/sheet_find.html:127 msgid "Label" msgstr "Intitulé" -#: forms_treatments.py:53 forms_treatments.py:95 models_treatments.py:98 +#: forms_treatments.py:53 forms_treatments.py:95 models_treatments.py:100 msgid "Other ref." msgstr "Autre réf." #: forms_treatments.py:55 forms_treatments.py:237 forms_treatments.py:285 #: forms_treatments.py:348 forms_treatments.py:357 forms_treatments.py:459 -#: forms_treatments.py:490 forms_treatments.py:557 models_treatments.py:102 -#: models_treatments.py:466 +#: forms_treatments.py:490 forms_treatments.py:557 models_treatments.py:104 +#: models_treatments.py:468 msgid "Index" msgstr "Index" #: forms_treatments.py:56 forms_treatments.py:101 forms_treatments.py:301 -#: forms_treatments.py:578 models_treatments.py:56 models_treatments.py:107 -#: models_treatments.py:289 +#: forms_treatments.py:578 models_treatments.py:56 models_treatments.py:109 +#: models_treatments.py:291 msgid "Treatment type" msgstr "Type de traitement" -#: forms_treatments.py:68 forms_treatments.py:560 views.py:360 +#: forms_treatments.py:68 forms_treatments.py:560 views.py:398 msgid "Treatment search" msgstr "Rechercher un traitement" @@ -380,8 +398,8 @@ msgstr "Rechercher un traitement" msgid "Base treatment" msgstr "Traitement de base" -#: forms_treatments.py:103 models_treatments.py:109 -#: templates/ishtar/sheet_find.html:99 templates/ishtar/sheet_find.html:141 +#: forms_treatments.py:103 models_treatments.py:92 models_treatments.py:111 +#: templates/ishtar/sheet_find.html:87 templates/ishtar/sheet_find.html:129 msgid "State" msgstr "État" @@ -389,15 +407,15 @@ msgstr "État" msgid "Target" msgstr "Destination" -#: forms_treatments.py:107 forms_treatments.py:417 models_treatments.py:117 +#: forms_treatments.py:107 forms_treatments.py:417 models_treatments.py:119 msgid "Responsible" msgstr "Responsable" -#: forms_treatments.py:113 models_treatments.py:120 +#: forms_treatments.py:113 models_treatments.py:122 msgid "Organization" msgstr "Organisation" -#: forms_treatments.py:119 models_treatments.py:112 models_treatments.py:292 +#: forms_treatments.py:119 models_treatments.py:114 models_treatments.py:294 msgid "Location" msgstr "Lieu" @@ -409,12 +427,12 @@ msgstr "Contenant (pertinent dans le cadre du conditionnement)" msgid "External ref." msgstr "Réf. externe" -#: forms_treatments.py:136 models_treatments.py:126 +#: forms_treatments.py:136 models_treatments.py:128 msgid "Goal" msgstr "But" -#: forms_treatments.py:140 forms_treatments.py:442 models_treatments.py:128 -#: models_treatments.py:486 +#: forms_treatments.py:140 forms_treatments.py:442 models_treatments.py:130 +#: models_treatments.py:488 msgid "Closing date" msgstr "Date de clôture" @@ -463,13 +481,13 @@ msgstr "Un responsable ou une organisation doit être défini." msgid "Another treatment with this index exists for {}." msgstr "Un autre traitement avec cet index existe pour {}." -#: forms_treatments.py:262 models_treatments.py:105 +#: forms_treatments.py:262 models_treatments.py:107 msgid "Associated request" msgstr "Demande associée" #: forms_treatments.py:266 forms_treatments.py:397 ishtar_menu.py:108 -#: models_treatments.py:497 models_treatments.py:519 models_treatments.py:581 -#: wizards.py:183 templates/ishtar/sheet_treatmentfile.html:5 +#: models_treatments.py:499 models_treatments.py:521 models_treatments.py:584 +#: wizards.py:187 templates/ishtar/sheet_treatmentfile.html:5 msgid "Treatment request" msgstr "Demande de traitement" @@ -527,7 +545,7 @@ msgstr "Référence interne du traitement" msgid "Modified by" msgstr "Modifié par" -#: forms_treatments.py:354 forms_treatments.py:404 models_treatments.py:471 +#: forms_treatments.py:354 forms_treatments.py:404 models_treatments.py:473 msgid "Name" msgstr "Nom" @@ -535,9 +553,9 @@ msgstr "Nom" msgid "Internal ref." msgstr "Réf. interne" -#: forms_treatments.py:358 forms_treatments.py:415 -#: templates/ishtar/sheet_find.html:98 templates/ishtar/sheet_find.html:140 -#: templates/ishtar/sheet_find.html:232 +#: forms_treatments.py:358 forms_treatments.py:415 models_treatments.py:91 +#: templates/ishtar/sheet_find.html:86 templates/ishtar/sheet_find.html:128 +#: templates/ishtar/sheet_find.html:228 msgid "Type" msgstr "Type" @@ -545,21 +563,21 @@ msgstr "Type" msgid "In charge" msgstr "Responsable" -#: forms_treatments.py:366 forms_treatments.py:423 models_treatments.py:480 +#: forms_treatments.py:366 forms_treatments.py:423 models_treatments.py:482 #: templates/ishtar/sheet_treatmentfile.html:31 msgid "Applicant" msgstr "Demandeur" -#: forms_treatments.py:372 forms_treatments.py:429 models_treatments.py:484 +#: forms_treatments.py:372 forms_treatments.py:429 models_treatments.py:486 #: templates/ishtar/sheet_treatmentfile.html:38 msgid "Applicant organisation" msgstr "Organisation du demandeur" -#: forms_treatments.py:385 forms_treatments.py:565 views.py:464 +#: forms_treatments.py:385 forms_treatments.py:565 views.py:502 msgid "Treatment request search" msgstr "Rechercher une demande de traitement" -#: forms_treatments.py:439 models_treatments.py:490 +#: forms_treatments.py:439 models_treatments.py:492 msgid "Reception date" msgstr "Date de réception" @@ -591,8 +609,8 @@ msgstr "Index de la demande de traitement" msgid "Treatment request internal reference" msgstr "Référence interne de la demande de traitement" -#: forms_treatments.py:508 forms_treatments.py:604 models_treatments.py:449 -#: models_treatments.py:473 +#: forms_treatments.py:508 forms_treatments.py:604 models_treatments.py:451 +#: models_treatments.py:475 msgid "Treatment request type" msgstr "Type de demande de traitement" @@ -634,12 +652,12 @@ msgstr "Gestion des éléments" msgid "Documentation" msgstr "Documentation" -#: ishtar_menu.py:133 ishtar_menu.py:214 models_finds.py:1070 +#: ishtar_menu.py:133 ishtar_menu.py:214 models_finds.py:1082 msgid "Administrative act" msgstr "Acte administratif" -#: ishtar_menu.py:151 ishtar_menu.py:233 templates/ishtar/sheet_find.html:227 -#: templates/ishtar/sheet_find.html:229 +#: ishtar_menu.py:151 ishtar_menu.py:233 templates/ishtar/sheet_find.html:222 +#: templates/ishtar/sheet_find.html:224 msgid "Documents" msgstr "Documents" @@ -647,8 +665,9 @@ msgstr "Documents" msgid "Source" msgstr "Documentation" -#: ishtar_menu.py:185 models_treatments.py:145 models_treatments.py:281 -#: models_treatments.py:565 templates/ishtar/sheet_treatment.html:5 +#: ishtar_menu.py:185 models_treatments.py:147 models_treatments.py:283 +#: models_treatments.py:567 models_treatments.py:570 +#: templates/ishtar/sheet_treatment.html:5 msgid "Treatment" msgstr "Traitement" @@ -668,7 +687,7 @@ msgstr "Recommandation" msgid "Parent material" msgstr "Matériau parent" -#: models_finds.py:52 models_finds.py:507 models_finds.py:590 +#: models_finds.py:52 models_finds.py:525 models_finds.py:602 msgid "Material types" msgstr "Types de matériau" @@ -700,8 +719,8 @@ msgstr "Type de remarquabilité" msgid "Remarkability types" msgstr "Types de remarquabilité" -#: models_finds.py:98 models_finds.py:586 models_treatments.py:40 -#: models_treatments.py:285 +#: models_finds.py:98 models_finds.py:598 models_treatments.py:40 +#: models_treatments.py:287 msgid "Order" msgstr "Ordre" @@ -717,12 +736,12 @@ msgstr "Types de lot" msgid "Parent" msgstr "Parent" -#: models_finds.py:152 models_finds.py:583 models_treatments.py:122 -#: models_treatments.py:469 +#: models_finds.py:152 models_finds.py:595 models_treatments.py:124 +#: models_treatments.py:471 msgid "External ID" msgstr "ID externe" -#: models_finds.py:154 models_finds.py:585 +#: models_finds.py:154 models_finds.py:597 msgid "External ID is set automatically" msgstr "L'identifiant externe est configuré automatiquement" @@ -762,7 +781,7 @@ msgstr "Polygon" msgid "Cached value - do not edit" msgstr "Valeur en cache - ne pas éditer" -#: models_finds.py:197 models_finds.py:581 +#: models_finds.py:197 models_finds.py:593 msgid "Base find" msgstr "Mobilier de base" @@ -810,109 +829,129 @@ msgstr "Vérifié mais incorrect" msgid "Checked and correct" msgstr "Vérifié et correct" -#: models_finds.py:505 -msgid "Periods" -msgstr "Périodes" - -#: models_finds.py:506 models_finds.py:614 models_treatments.py:129 -#: models_treatments.py:293 templates/ishtar/sheet_find.html:102 -#: templates/ishtar/sheet_find.html:144 -msgid "Container" -msgstr "Contenant" - -#: models_finds.py:517 +#: models_finds.py:506 msgid "Base find - Short ID" msgstr "Mobilier de base - ID court" -#: models_finds.py:518 +#: models_finds.py:507 msgid "Base find - Complete ID" msgstr "Mobilier de base - ID complet" -#: models_finds.py:519 +#: models_finds.py:509 +msgid "Operation (code)" +msgstr "Opération (code)" + +#: models_finds.py:511 +msgid "Town" +msgstr "Ville" + +#: models_finds.py:513 +msgid "Operation (name)" +msgstr "Opération (nom)" + +#: models_finds.py:515 +msgid "Parcel" +msgstr "Parcelle" + +#: models_finds.py:516 +msgid "Batch" +msgstr "Lot" + +#: models_finds.py:517 msgid "Base find - Comment" msgstr "Mobilier de base - Commentaires" -#: models_finds.py:520 +#: models_finds.py:518 msgid "Base find - Description" msgstr "Mobilier de base - Description" -#: models_finds.py:521 +#: models_finds.py:519 msgid "Base find - Topographic localisation" msgstr "Mobilier de base - Localisation topographique" -#: models_finds.py:523 +#: models_finds.py:521 msgid "Base find - Special interest" msgstr "Mobilier de base - Intérêt spécifique" -#: models_finds.py:524 +#: models_finds.py:522 msgid "Base find - Discovery date" msgstr "Mobilier de base - Date de découverte" -#: models_finds.py:597 +#: models_finds.py:523 models_finds.py:626 models_treatments.py:131 +#: models_treatments.py:295 templates/ishtar/sheet_find.html:90 +#: templates/ishtar/sheet_find.html:132 +msgid "Container" +msgstr "Contenant" + +#: models_finds.py:524 +msgid "Periods" +msgstr "Périodes" + +#: models_finds.py:609 msgid "Type of preservation to consider" msgstr "Mesures de conservation à envisager" -#: models_finds.py:601 +#: models_finds.py:613 msgid "Weight unit" msgstr "Unité de poids" -#: models_finds.py:607 templates/ishtar/sheet_find.html:90 +#: models_finds.py:619 templates/ishtar/sheet_find.html:78 msgid "Upstream treatment" msgstr "Traitement amont" -#: models_finds.py:610 templates/ishtar/sheet_find.html:132 +#: models_finds.py:622 templates/ishtar/sheet_find.html:120 msgid "Downstream treatment" msgstr "Traitement aval" -#: models_finds.py:648 +#: models_finds.py:660 msgid "Collection" msgstr "Collection" -#: models_finds.py:650 models_treatments.py:141 models_treatments.py:493 +#: models_finds.py:662 models_treatments.py:143 models_treatments.py:495 msgid "Cached name" msgstr "Nom en cache" -#: models_finds.py:659 +#: models_finds.py:671 msgid "Can view all Finds" msgstr "Peut voir tout le Mobilier" -#: models_finds.py:660 +#: models_finds.py:672 msgid "Can view own Find" msgstr "Peut voir son propre Mobilier" -#: models_finds.py:661 +#: models_finds.py:673 msgid "Can add own Find" msgstr "Peut ajouter son propre Mobilier" -#: models_finds.py:662 +#: models_finds.py:674 msgid "Can change own Find" msgstr "Peut modifier son propre Mobilier" -#: models_finds.py:663 +#: models_finds.py:675 msgid "Can delete own Find" msgstr "Peut supprimer son propre Mobilier" -#: models_finds.py:669 +#: models_finds.py:681 msgid "FIND" msgstr "MOBILIER" -#: models_finds.py:1057 +#: models_finds.py:1069 msgid "Find documentation" msgstr "Documentation de mobilier" -#: models_finds.py:1058 +#: models_finds.py:1070 msgid "Find documentations" msgstr "Documentations de mobilier" -#: models_finds.py:1071 +#: models_finds.py:1083 msgid "Person" msgstr "Individu" -#: models_finds.py:1077 +#: models_finds.py:1089 msgid "Property" msgstr "Propriété" -#: models_finds.py:1078 +#: models_finds.py:1090 msgid "Properties" msgstr "Propriétés" @@ -960,315 +999,319 @@ msgstr "Types d'état de traitement" msgid "Downstream find" msgstr "Mobilier aval" -#: models_treatments.py:114 +#: models_treatments.py:116 msgid "Location where the treatment is done. Target warehouse for a move." msgstr "" "Endroit où le traitement est réalisé. Renseignez le dépôt de destination " "pour un déplacement." -#: models_treatments.py:131 +#: models_treatments.py:133 msgid "Estimated cost" msgstr "Coût estimé" -#: models_treatments.py:133 +#: models_treatments.py:135 msgid "Quoted cost" msgstr "Coût devisé" -#: models_treatments.py:135 +#: models_treatments.py:137 msgid "Realized cost" msgstr "Coût réalisé" -#: models_treatments.py:137 +#: models_treatments.py:139 msgid "Insurance cost" msgstr "Coût d'assurance" -#: models_treatments.py:139 +#: models_treatments.py:141 msgid "Target a basket" msgstr "Appliquer à un panier" -#: models_treatments.py:146 templates/ishtar/sheet_find.html:87 -#: templates/ishtar/sheet_treatmentfile.html:45 +#: models_treatments.py:148 templates/ishtar/sheet_find.html:75 +#: templates/ishtar/sheet_treatmentfile.html:46 msgid "Treatments" msgstr "Traitements" -#: models_treatments.py:149 +#: models_treatments.py:151 msgid "Can view all Treatments" msgstr "Peut voir tous les Traitements" -#: models_treatments.py:150 +#: models_treatments.py:152 msgid "Can view own Treatment" msgstr "Peut voir son propre Traitement" -#: models_treatments.py:151 +#: models_treatments.py:153 msgid "Can add own Treatment" msgstr "Peut ajouter son propre Traitement" -#: models_treatments.py:152 +#: models_treatments.py:154 msgid "Can change own Treatment" msgstr "Peut modifier son propre Traitement" -#: models_treatments.py:153 +#: models_treatments.py:155 msgid "Can delete own Treatment" msgstr "Peut supprimer son propre Traitement" -#: models_treatments.py:165 +#: models_treatments.py:167 msgid "TREATMENT" msgstr "TRAITEMENT" -#: models_treatments.py:294 templates/ishtar/sheet_find.html:101 -#: templates/ishtar/sheet_find.html:143 +#: models_treatments.py:296 templates/ishtar/sheet_find.html:89 +#: templates/ishtar/sheet_find.html:131 msgid "Doer" msgstr "Opérateur" -#: models_treatments.py:295 models_treatments.py:296 +#: models_treatments.py:297 models_treatments.py:298 msgid "Related finds" msgstr "Mobilier associé" -#: models_treatments.py:438 +#: models_treatments.py:440 msgid "Is upstream" msgstr "Est en amont" -#: models_treatments.py:450 +#: models_treatments.py:452 msgid "Treatment request types" msgstr "Types de demande de traitement" -#: models_treatments.py:467 +#: models_treatments.py:469 msgid "Internal reference" msgstr "Référence interne" -#: models_treatments.py:476 +#: models_treatments.py:478 msgid "Person in charge" msgstr "Personne responsable" -#: models_treatments.py:488 +#: models_treatments.py:490 msgid "Creation date" msgstr "Date de création" -#: models_treatments.py:498 +#: models_treatments.py:500 msgid "Treatment requests" msgstr "Demandes de traitement" -#: models_treatments.py:502 +#: models_treatments.py:504 msgid "Can view all Treatment requests" msgstr "Peut voir toutes les Demandes de traitement" -#: models_treatments.py:504 +#: models_treatments.py:506 msgid "Can view own Treatment request" msgstr "Peut voir sa propre Demande de traitement" -#: models_treatments.py:506 +#: models_treatments.py:508 msgid "Can add own Treatment request" msgstr "Peut ajouter sa propre Demande de traitement" -#: models_treatments.py:508 +#: models_treatments.py:510 msgid "Can change own Treatment request" msgstr "Peut modifier sa propre Demande de traitement" -#: models_treatments.py:510 +#: models_treatments.py:512 msgid "Can delete own Treatment request" msgstr "Peut supprimer sa propre Demande de traitement" -#: models_treatments.py:571 +#: models_treatments.py:574 msgid "Treatment documentation" msgstr "Documentation de traitement" -#: models_treatments.py:572 +#: models_treatments.py:575 msgid "Treament documentations" msgstr "Documentations de traitement" #: models_treatments.py:588 +msgid "Treatment file" +msgstr "Dossier de traitement" + +#: models_treatments.py:592 msgid "Treatment request documentation" msgstr "Documentation de demande de traitement" -#: models_treatments.py:589 +#: models_treatments.py:593 msgid "Treatment request documentations" msgstr "Documentations de demande de traitement" -#: views.py:125 +#: views.py:138 msgid "New find" msgstr "Ajouter un mobilier" -#: views.py:139 +#: views.py:167 msgid "Find modification" msgstr "Modifier un mobilier" -#: views.py:154 +#: views.py:189 msgid "Find deletion" msgstr "Supprimer un mobilier" -#: views.py:159 +#: views.py:194 msgid "Find: source search" msgstr "Mobilier : rechercher une documentation associée" -#: views.py:167 +#: views.py:202 msgid "Find: new source" msgstr "Mobilier : ajouter une documentation associée" -#: views.py:175 +#: views.py:210 msgid "Find: source modification" msgstr "Mobilier : modifier une documentation associée" -#: views.py:190 +#: views.py:225 msgid "Find: source deletion" msgstr "Mobilier : supprimer un mobilier associé" -#: views.py:204 +#: views.py:239 msgid "New basket" msgstr "Ajouter un panier" -#: views.py:223 +#: views.py:258 msgid "Manage items in basket" msgstr "Gérer les éléments dans un panier" -#: views.py:243 +#: views.py:278 msgid "Manage basket" msgstr "Gérer un panier" -#: views.py:331 +#: views.py:369 msgid "Delete basket" msgstr "Supprimer un panier" -#: views.py:381 +#: views.py:419 msgid "New treatment" msgstr "Ajouter un traitement" -#: views.py:389 views.py:481 +#: views.py:427 views.py:519 msgid "Modify" msgstr "Modifier" -#: views.py:406 +#: views.py:444 msgid "Treatment deletion" msgstr "Supprimer un traitement" -#: views.py:413 +#: views.py:451 msgid "Treatment: search administrative act" msgstr "Traitement : rechercher un acte administratif" -#: views.py:422 +#: views.py:460 msgid "Treatment: new administrative act" msgstr "Traitement : ajouter un acte administratif" -#: views.py:432 +#: views.py:470 msgid "Treatment: administrative act modification" msgstr "Traitement : modifier un acte administratif" -#: views.py:441 +#: views.py:479 msgid "Treatment: administrative act deletion" msgstr "Traitement : supprimer un acte administratif" -#: views.py:474 +#: views.py:512 msgid "New treatment request" msgstr "Ajouter une demande de traitement" -#: views.py:497 +#: views.py:535 msgid "Treatment request deletion" msgstr "Supprimer une demande de traitement" -#: views.py:504 +#: views.py:542 msgid "Treatment request: search administrative act" msgstr "Demande de traitement : rechercher un acte administratif" -#: views.py:514 +#: views.py:552 msgid "Treatment request: new administrative act" msgstr "Demande de traitement : ajouter un acte administratif" -#: views.py:524 +#: views.py:562 msgid "Treatment request: administrative act modification" msgstr "Demande de traitement : modifier un acte administratif" -#: views.py:533 +#: views.py:571 msgid "Treatment request: administrative act deletion" msgstr "Demande de traitement : supprimer un acte administratif" -#: views.py:559 +#: views.py:597 msgid "Treatment: source search" msgstr "Traitement : rechercher une documentation associée" -#: views.py:574 +#: views.py:612 msgid "Treatment: source modification" msgstr "Traitement : modifier une documentation associée" -#: views.py:589 +#: views.py:627 msgid "Treatment: source deletion" msgstr "Traitement : supprimer une documentation associée" -#: views.py:602 +#: views.py:640 msgid "Treatment request: source search" msgstr "Demande de traitement : rechercher une documentation associée" -#: views.py:618 +#: views.py:656 msgid "Treatment request: source modification" msgstr "Demande de traitement : modifier une documentation associée" -#: views.py:636 +#: views.py:674 msgid "Treatment request: source deletion" msgstr "Demande de traitement : supprimer une documentation associée" -#: wizards.py:63 wizards.py:195 +#: wizards.py:63 wizards.py:199 msgid "Operation" msgstr "Opération" -#: templates/ishtar/sheet_find.html:24 -msgid "Creation:" -msgstr "Création :" - -#: templates/ishtar/sheet_find.html:31 -msgid "Modification:" -msgstr "Modification :" +#: templates/ishtar/sheet_find.html:25 +msgid "Administrative index" +msgstr "Index administratif" -#: templates/ishtar/sheet_find.html:79 +#: templates/ishtar/sheet_find.html:67 msgid "Warehouse" msgstr "Dépôt" -#: templates/ishtar/sheet_find.html:96 templates/ishtar/sheet_find.html:138 +#: templates/ishtar/sheet_find.html:84 templates/ishtar/sheet_find.html:126 msgid "Year - index" msgstr "Année - index" -#: templates/ishtar/sheet_find.html:100 templates/ishtar/sheet_find.html:142 +#: templates/ishtar/sheet_find.html:88 templates/ishtar/sheet_find.html:130 msgid "Related finds (max. 15 displayed)" msgstr "Mobilier associé (max. 15 affichés)" -#: templates/ishtar/sheet_find.html:128 +#: templates/ishtar/sheet_find.html:116 msgid "Export as CSV" msgstr "Export en CSV" -#: templates/ishtar/sheet_find.html:128 templates/ishtar/sheet_find.html:171 +#: templates/ishtar/sheet_find.html:116 templates/ishtar/sheet_find.html:159 msgid "CSV" msgstr "CSV" -#: templates/ishtar/sheet_find.html:176 +#: templates/ishtar/sheet_find.html:164 msgid "Associated base finds" msgstr "Mobilier de base associé" -#: templates/ishtar/sheet_find.html:208 +#: templates/ishtar/sheet_find.html:171 +msgid "Internal ID" +msgstr "ID interne" + +#: templates/ishtar/sheet_find.html:203 msgid "Coordinates:" msgstr "Cordonnées :" -#: templates/ishtar/sheet_find.html:210 +#: templates/ishtar/sheet_find.html:205 msgid "X:" msgstr "X :" -#: templates/ishtar/sheet_find.html:211 +#: templates/ishtar/sheet_find.html:206 msgid "Y:" msgstr "Y :" -#: templates/ishtar/sheet_find.html:212 +#: templates/ishtar/sheet_find.html:207 msgid "Z:" msgstr "Z :" -#: templates/ishtar/sheet_find.html:215 +#: templates/ishtar/sheet_find.html:210 msgid "SRID:" msgstr "SRID :" -#: templates/ishtar/sheet_find.html:231 +#: templates/ishtar/sheet_find.html:227 msgid "Title" msgstr "Titre" -#: templates/ishtar/sheet_find.html:233 +#: templates/ishtar/sheet_find.html:229 msgid "Authors" msgstr "Auteurs" -#: templates/ishtar/sheet_find.html:234 +#: templates/ishtar/sheet_find.html:230 msgid "Link" msgstr "Lien" @@ -1280,6 +1323,10 @@ msgstr "Panier de mobilier" msgid "Find source" msgstr "Documentation associée au mobilier" +#: templates/ishtar/sheet_findsource.html:11 +msgid "Related find" +msgstr "Mobilier associé" + #: templates/ishtar/sheet_treatment.html:20 msgctxt "Treatment" msgid "Closed" @@ -1298,6 +1345,16 @@ msgstr "Mobilier aval" msgid "Related operations" msgstr "Opérations associées" +#: templates/ishtar/sheet_treatment.html:60 +#: templates/ishtar/sheet_treatmentfile.html:51 +msgid "Associated documents" +msgstr "Documents associés" + +#: templates/ishtar/sheet_treatment.html:65 +#: templates/ishtar/sheet_treatmentfile.html:56 +msgid "Administrative acts" +msgstr "Actes administratifs" + #: templates/ishtar/sheet_treatmentfile.html:16 msgctxt "Treatment request" msgid "Closed" @@ -1312,6 +1369,14 @@ msgstr "Active" msgid "Treatment request source" msgstr "Documentation de demande de traitement" +#: templates/ishtar/sheet_treatmentfilesource.html:11 +msgid "Related treatment request" +msgstr "Demande de traitement associée" + #: templates/ishtar/sheet_treatmentsource.html:4 msgid "Treatment source" msgstr "Documentation de traitement" + +#: templates/ishtar/sheet_treatmentsource.html:11 +msgid "Related treatment" +msgstr "Traitement associé" diff --git a/translations/fr/archaeological_operations.po b/translations/fr/archaeological_operations.po index 966e83092..af55782dc 100644 --- a/translations/fr/archaeological_operations.po +++ b/translations/fr/archaeological_operations.po @@ -6,25 +6,26 @@ # Valérie-Emma Leroux <emma@iggdrasil.net>, 2016. #zanata # Étienne Loks <etienne.loks@iggdrasil.net>, 2016. #zanata # Valérie-Emma Leroux <emma@iggdrasil.net>, 2017. #zanata +# Étienne Loks <etienne.loks@iggdrasil.net>, 2017. #zanata msgid "" msgstr "" "MIME-Version: 1.0\n" "Content-Transfer-Encoding: 8bit\n" "Content-Type: text/plain; charset=UTF-8\n" -"PO-Revision-Date: 2017-03-09 05:01-0500\n" -"Last-Translator: Valérie-Emma Leroux <emma@iggdrasil.net>\n" +"PO-Revision-Date: 2017-03-16 05:04-0400\n" +"Last-Translator: Étienne Loks <etienne.loks@iggdrasil.net>\n" "Language-Team: \n" "Language: fr\n" "Plural-Forms: nplurals=2; plural=n>1;\n" "X-Generator: Zanata 3.9.6\n" -#: forms.py:69 forms.py:371 forms.py:1009 forms.py:1031 forms.py:1035 -#: models.py:1221 templates/ishtar/sheet_operation.html:156 +#: forms.py:69 forms.py:371 forms.py:1013 forms.py:1035 forms.py:1039 +#: models.py:1247 templates/ishtar/sheet_operation.html:151 #: templates/ishtar/blocks/window_tables/parcels.html:10 msgid "Parcels" msgstr "Parcelles" -#: forms.py:72 forms.py:205 forms.py:985 models.py:1207 +#: forms.py:72 forms.py:205 forms.py:989 models.py:1233 #: templates/ishtar/blocks/window_tables/parcels.html:7 #: templates/ishtar/dashboards/dashboard_operation.html:432 #: templates/ishtar/dashboards/dashboard_operation.html:446 @@ -33,22 +34,22 @@ msgstr "Parcelles" msgid "Town" msgstr "Commune" -#: forms.py:74 forms.py:455 forms.py:752 forms.py:1255 models.py:272 -#: models.py:1013 models.py:1205 +#: forms.py:74 forms.py:455 forms.py:756 forms.py:1259 models.py:272 +#: models.py:1039 models.py:1231 #: templates/ishtar/blocks/window_tables/parcels.html:8 msgid "Year" msgstr "Année" -#: forms.py:77 models.py:1208 +#: forms.py:77 models.py:1234 #: templates/ishtar/blocks/window_tables/parcels.html:9 msgid "Section" msgstr "Section" -#: forms.py:80 models.py:1210 +#: forms.py:80 models.py:1236 msgid "Parcel number" msgstr "Numéro de parcelle" -#: forms.py:82 models.py:1212 models.py:1229 models.py:1278 +#: forms.py:82 models.py:1238 models.py:1255 models.py:1304 msgid "Public domain" msgstr "Domaine public" @@ -84,8 +85,8 @@ msgstr "Il y a des parcelles identiques." msgid "Relation type" msgstr "Type de relation" -#: forms.py:383 ishtar_menu.py:30 models.py:367 models.py:834 models.py:864 -#: models.py:892 models.py:995 models.py:1204 wizards.py:344 wizards.py:355 +#: forms.py:383 ishtar_menu.py:30 models.py:368 models.py:849 models.py:884 +#: models.py:917 models.py:1021 models.py:1230 wizards.py:344 wizards.py:355 #: templates/ishtar/sheet_operation.html:4 msgid "Operation" msgstr "Opération" @@ -94,7 +95,7 @@ msgstr "Opération" msgid ":" msgstr ": " -#: forms.py:411 forms.py:605 forms.py:1220 +#: forms.py:411 forms.py:607 forms.py:1224 msgid "You should select an operation." msgstr "Vous devez sélectionner une opération." @@ -110,19 +111,19 @@ msgstr "Relations actuelles" msgid "Deleted relations" msgstr "Relations supprimées" -#: forms.py:451 templates/ishtar/sheet_operation.html:95 +#: forms.py:451 templates/ishtar/sheet_operation.html:85 msgid "Relations" msgstr "Relations" -#: forms.py:456 forms.py:1226 models.py:273 +#: forms.py:456 forms.py:1230 models.py:273 msgid "Numeric reference" msgstr "Identifiant numérique" -#: forms.py:462 forms.py:1266 +#: forms.py:462 forms.py:1270 msgid "Parcel (section/number/public domain)" msgstr "Parcelle (section/numéro/domaine public)" -#: forms.py:465 forms.py:1269 models.py:835 +#: forms.py:465 forms.py:1273 models.py:850 #: templates/ishtar/dashboards/dashboard_operation.html:390 #: templates/ishtar/dashboards/dashboard_operation.html:411 #: templates/ishtar/dashboards/dashboard_operation.html:643 @@ -131,248 +132,253 @@ msgstr "Parcelle (section/numéro/domaine public)" msgid "Department" msgstr "Département" -#: forms.py:466 forms.py:1097 models.py:86 +#: forms.py:466 forms.py:1101 models.py:86 +#: templates/ishtar/sheet_operation.html:22 #: templates/ishtar/blocks/window_tables/archaeologicalsites.html:8 msgid "Name" msgstr "Nom" -#: forms.py:468 forms.py:672 forms.py:750 forms.py:1232 models.py:280 +#: forms.py:468 forms.py:752 models.py:334 +msgid "Address / Locality" +msgstr "Adresse / Lieu-dit" + +#: forms.py:470 forms.py:674 forms.py:754 forms.py:1236 models.py:280 msgid "Operation type" msgstr "Type d'opération" -#: forms.py:470 +#: forms.py:472 msgid "Is open?" msgstr "Est ouvert ?" -#: forms.py:478 forms.py:782 models.py:269 +#: forms.py:480 forms.py:786 models.py:269 msgid "In charge" msgstr "Responsable du suivi scientifique" -#: forms.py:485 models.py:989 +#: forms.py:487 models.py:1015 msgid "Scientist in charge" msgstr "Responsable scientifique" -#: forms.py:487 forms.py:674 forms.py:772 models.py:267 +#: forms.py:489 forms.py:676 forms.py:776 models.py:267 msgid "Operator" msgstr "Opérateur" -#: forms.py:496 forms.py:1102 models.py:90 models.py:282 +#: forms.py:498 forms.py:1106 models.py:90 models.py:282 #: templates/ishtar/blocks/window_tables/archaeologicalsites.html:10 msgid "Remains" msgstr "Vestiges" -#: forms.py:497 forms.py:1080 forms.py:1099 models.py:88 models.py:288 +#: forms.py:499 forms.py:1084 forms.py:1103 models.py:88 models.py:288 #: templates/ishtar/blocks/window_tables/archaeologicalsites.html:9 msgid "Periods" msgstr "Périodes" -#: forms.py:498 +#: forms.py:500 msgid "Started before" msgstr "Commencé avant" -#: forms.py:500 +#: forms.py:502 msgid "Started after" msgstr "Commencé après" -#: forms.py:502 +#: forms.py:504 msgid "Ended before" msgstr "Terminé avant" -#: forms.py:504 +#: forms.py:506 msgid "Ended after" msgstr "Terminé après" -#: forms.py:507 +#: forms.py:509 msgid "Search within relations" msgstr "Rechercher parmi les relations" -#: forms.py:509 forms.py:837 +#: forms.py:511 forms.py:841 msgid "Comment" msgstr "Commentaire" -#: forms.py:510 +#: forms.py:512 msgid "Abstract (full text search)" msgstr "Résumé (recherche texte intégral)" -#: forms.py:512 forms.py:840 models.py:336 +#: forms.py:514 forms.py:844 models.py:337 msgid "Comment about scientific documentation" msgstr "Commentaire concernant la documentation scientifique" -#: forms.py:513 forms.py:842 models.py:348 +#: forms.py:515 forms.py:846 models.py:349 msgid "Record quality" msgstr "Qualité d'enregistrement" -#: forms.py:514 forms.py:807 models.py:300 +#: forms.py:516 forms.py:811 models.py:300 msgid "Report processing" msgstr "Traitement du rapport" -#: forms.py:516 forms.py:845 models.py:343 +#: forms.py:518 forms.py:849 models.py:344 msgid "Virtual operation" msgstr "Opération virtuelle" -#: forms.py:518 forms.py:1142 forms.py:1146 models.py:94 +#: forms.py:520 forms.py:1146 forms.py:1150 models.py:94 msgid "Archaeological site" msgstr "Entité archéologique" -#: forms.py:524 forms.py:1273 +#: forms.py:526 forms.py:1277 msgid "Created by" msgstr "Créé par" -#: forms.py:530 forms.py:1279 +#: forms.py:532 forms.py:1283 msgid "Modified by" msgstr "Modifié par" -#: forms.py:537 +#: forms.py:539 msgid "Documentation deadline before" msgstr "Date limite de rendu de la documentation avant" -#: forms.py:539 +#: forms.py:541 msgid "Documentation deadline after" msgstr "Date limite de rendu de la documentation après" -#: forms.py:541 forms.py:830 models.py:355 +#: forms.py:543 forms.py:834 models.py:356 msgid "Documentation received" msgstr "Documentation reçue" -#: forms.py:543 +#: forms.py:545 msgid "Finds deadline before" msgstr "Date limite de rendu du mobilier avant" -#: forms.py:545 +#: forms.py:547 msgid "Finds deadline after" msgstr "Date limite de rendu du mobilier après" -#: forms.py:547 forms.py:835 models.py:359 +#: forms.py:549 forms.py:839 models.py:360 msgid "Finds received" msgstr "Mobilier reçu" -#: forms.py:592 forms.py:1218 views.py:168 +#: forms.py:594 forms.py:1222 views.py:168 msgid "Operation search" msgstr "Rechercher une opération" -#: forms.py:636 +#: forms.py:638 msgid "Associated file" msgstr "Dossier associé" -#: forms.py:640 forms.py:933 models.py:501 models.py:891 models.py:1000 +#: forms.py:642 forms.py:937 models.py:516 models.py:916 models.py:1026 #: wizards.py:80 msgid "Archaeological file" msgstr "Dossier archéologique" -#: forms.py:647 forms.py:649 models.py:350 +#: forms.py:649 forms.py:651 models.py:351 msgid "Abstract" msgstr "Résumé" -#: forms.py:652 +#: forms.py:654 msgid "months" msgstr "mois" -#: forms.py:652 +#: forms.py:654 msgid "years" msgstr "années" -#: forms.py:654 models.py:253 +#: forms.py:656 models.py:253 msgid "Creation date" msgstr "Date de création" -#: forms.py:655 +#: forms.py:657 msgid "Start of field work" msgstr "Début du travail de terrain" -#: forms.py:657 +#: forms.py:659 msgid "All" msgstr "Tout" -#: forms.py:658 +#: forms.py:660 msgid "Preventive" msgstr "Préventif" -#: forms.py:659 +#: forms.py:661 msgid "Research" msgstr "Programmé" -#: forms.py:663 +#: forms.py:665 msgid "Slicing" msgstr "Découpage" -#: forms.py:666 +#: forms.py:668 msgid "Department detail" msgstr "Détail par département" -#: forms.py:668 +#: forms.py:670 msgid "Date get from" msgstr "Date obtenue depuis" -#: forms.py:670 +#: forms.py:672 msgid "Preventive/Research" msgstr "Préventif/Programmé" -#: forms.py:676 +#: forms.py:678 msgid "Date after" msgstr "Date après" -#: forms.py:678 +#: forms.py:680 msgid "Date before" msgstr "Date avant" -#: forms.py:680 +#: forms.py:682 msgid "With reports" msgstr "Avec un rapport" -#: forms.py:681 +#: forms.py:683 msgid "With finds" msgstr "Avec du mobilier" -#: forms.py:733 forms.py:1327 templates/ishtar/sheet_administrativeact.html:20 -#: templates/ishtar/sheet_operation.html:24 +#: forms.py:735 forms.py:1331 templates/ishtar/sheet_administrativeact.html:20 +#: templates/ishtar/sheet_operation.html:26 msgid "General" msgstr "Général" -#: forms.py:748 models.py:333 +#: forms.py:750 models.py:333 msgid "Generic name" msgstr "Nom générique" -#: forms.py:757 models.py:302 +#: forms.py:761 models.py:302 msgid "Old code" msgstr "Ancien code" -#: forms.py:760 +#: forms.py:764 msgid "Head scientist" msgstr "Responsable scientifique" -#: forms.py:779 models.py:332 +#: forms.py:783 models.py:332 msgid "Operator reference" msgstr "Référence de l'opérateur" -#: forms.py:793 +#: forms.py:797 msgid "Total surface (m2)" msgstr "Surface totale (m2)" -#: forms.py:800 models.py:54 models.py:256 models.py:1417 +#: forms.py:804 models.py:54 models.py:256 models.py:1443 msgid "Start date" msgstr "Date de début" -#: forms.py:802 models.py:258 +#: forms.py:806 models.py:258 msgid "Excavation end date" msgstr "Date de fin de chantier" -#: forms.py:805 models.py:259 +#: forms.py:809 models.py:259 msgid "Report delivery date" msgstr "Date de livraison du rapport" -#: forms.py:827 models.py:352 +#: forms.py:831 models.py:353 msgid "Deadline for submission of the documentation" msgstr "Date limite de rendu de la documentation" -#: forms.py:832 models.py:357 +#: forms.py:836 models.py:358 msgid "Deadline for submission of the finds" msgstr "Date limite de rendu du mobilier" -#: forms.py:847 +#: forms.py:851 msgid "Image" msgstr "Image" -#: forms.py:848 +#: forms.py:852 #, python-format msgid "" "<p>Heavy images are resized to: %(width)dx%(height)d (ratio is preserved).</" @@ -381,19 +387,19 @@ msgstr "" "<p>Les images trop grandes sont retaillées en : %(width)dx%(height)d (le " "ratio est conservé).</p>" -#: forms.py:886 +#: forms.py:890 msgid "" "If you want to set an excavation end date you have to provide a start date." msgstr "" "Avant de renseigner la date de fin de chantier, il est nécessaire de " "renseigner une date de début." -#: forms.py:891 +#: forms.py:895 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." -#: forms.py:919 +#: forms.py:923 #, python-format msgid "" "Operation code already exists for year: %(year)d - use a value bigger than " @@ -402,106 +408,106 @@ msgstr "" "Ce code d'opération existe déjà pour l'année %(year)d - utilisez une valeur " "plus grande que %(last_val)d" -#: forms.py:923 +#: forms.py:927 msgid "Bad operation code" msgstr "Mauvais code d'opération" -#: forms.py:929 models.py:516 +#: forms.py:933 models.py:531 models.py:879 msgid "Operation code" msgstr "Code de l'opération" -#: forms.py:955 +#: forms.py:959 msgid "Preventive informations - excavation" msgstr "Information archéologie préventive - fouille" -#: forms.py:956 models.py:286 +#: forms.py:960 models.py:286 #: templates/ishtar/dashboards/dashboard_operation.html:701 msgid "Cost (euros)" msgstr "Coût (euros)" -#: forms.py:957 models.py:291 +#: forms.py:961 models.py:291 msgid "Scheduled man-days" msgstr "Jours-hommes prévus" -#: forms.py:959 models.py:294 +#: forms.py:963 models.py:294 msgid "Optional man-days" msgstr "Jours-hommes optionnels" -#: forms.py:961 models.py:297 +#: forms.py:965 models.py:297 msgid "Effective man-days" msgstr "Jours-hommes effectifs" -#: forms.py:971 +#: forms.py:975 msgid "Preventive informations - diagnostic" msgstr "Information archéologie préventive - diagnostic" -#: forms.py:974 models.py:316 +#: forms.py:978 models.py:316 msgid "Prescription on zoning" msgstr "Prescription sur zonage" -#: forms.py:976 models.py:319 +#: forms.py:980 models.py:319 msgid "Prescription on large area" msgstr "Prescription sur une vaste surface" -#: forms.py:979 models.py:321 +#: forms.py:983 models.py:321 msgid "Prescription on geoarchaeological context" msgstr "Prescription sur un contexte géoarchéologique" -#: forms.py:983 forms.py:1005 models.py:284 models.py:1023 +#: forms.py:987 forms.py:1009 models.py:284 models.py:1049 msgid "Towns" msgstr "Communes" -#: forms.py:1012 models.py:1220 models.py:1415 +#: forms.py:1016 models.py:1246 models.py:1441 msgid "Parcel" msgstr "Parcelle" -#: forms.py:1064 models.py:46 +#: forms.py:1068 models.py:46 msgid "Remain types" msgstr "Types de vestige" -#: forms.py:1068 models.py:45 +#: forms.py:1072 models.py:45 msgid "Remain type" msgstr "Type de vestige" -#: forms.py:1084 templates/ishtar/sheet_operation.html:176 -#: templates/ishtar/sheet_operation.html:207 +#: forms.py:1088 templates/ishtar/sheet_operation.html:171 +#: templates/ishtar/sheet_operation.html:202 msgid "Period" msgstr "Période" -#: forms.py:1096 models.py:85 +#: forms.py:1100 models.py:85 msgid "Reference" msgstr "Référence" -#: forms.py:1125 +#: forms.py:1129 msgid "This reference already exists." msgstr "Cette référence existe déjà ." -#: forms.py:1157 models.py:95 models.py:340 -#: templates/ishtar/sheet_operation.html:106 +#: forms.py:1161 models.py:95 models.py:341 +#: templates/ishtar/sheet_operation.html:96 msgid "Archaeological sites" msgstr "Entités archéologiques" -#: forms.py:1161 +#: forms.py:1165 msgid "Associated archaeological sites" msgstr "Entités archéologiques associées" -#: forms.py:1167 ishtar_menu.py:34 ishtar_menu.py:64 ishtar_menu.py:93 +#: forms.py:1171 ishtar_menu.py:34 ishtar_menu.py:64 ishtar_menu.py:93 msgid "Search" msgstr "Recherche" -#: forms.py:1172 +#: forms.py:1176 msgid "Would you like to close this operation?" msgstr "Voulez-vous clore cette opération ?" -#: forms.py:1177 +#: forms.py:1181 msgid "Would you like to delete this operation?" msgstr "Voulez-vous supprimer cette opération ?" -#: forms.py:1186 forms.py:1256 forms.py:1392 models.py:866 models.py:980 +#: forms.py:1190 forms.py:1260 forms.py:1396 models.py:886 models.py:1006 msgid "Index" msgstr "Index" -#: forms.py:1212 +#: forms.py:1216 #, python-format msgid "" "Index already exists for operation: %(operation)s - use a value bigger than " @@ -510,48 +516,48 @@ msgstr "" "Cet index existe déjà pour l'opération : %(operation)s, utilisez une valeur " "plus grande que %(last_val)d" -#: forms.py:1224 +#: forms.py:1228 msgid "Operation's year" msgstr "Année de l'opération" -#: forms.py:1231 +#: forms.py:1235 msgid "Operation's town" msgstr "Commune de l'opération" -#: forms.py:1244 +#: forms.py:1248 msgid "Documentation search" msgstr "Rechercher une documentation" -#: forms.py:1246 +#: forms.py:1250 msgid "You should select a document." msgstr "Vous devez sélectionner un document." -#: forms.py:1263 forms.py:1330 models.py:905 models.py:974 +#: forms.py:1267 forms.py:1334 models.py:930 models.py:1000 msgid "Act type" msgstr "Type d'acte" -#: forms.py:1264 forms.py:1462 +#: forms.py:1268 forms.py:1466 msgid "Indexed?" msgstr "Indexé ?" -#: forms.py:1270 forms.py:1335 models.py:1014 +#: forms.py:1274 forms.py:1339 models.py:1040 #: templates/ishtar/blocks/window_tables/administrativacts.html:10 msgid "Object" msgstr "Objet" -#: forms.py:1307 views.py:333 +#: forms.py:1311 views.py:333 msgid "Administrative act search" msgstr "Rechercher un acte administratif" -#: forms.py:1322 forms.py:1420 forms.py:1487 +#: forms.py:1326 forms.py:1424 forms.py:1491 msgid "You should select an administrative act." msgstr "Vous devez sélectionner un acte administratif." -#: forms.py:1338 models.py:1011 +#: forms.py:1342 models.py:1037 msgid "Signature date" msgstr "Date de signature" -#: forms.py:1380 +#: forms.py:1384 #, python-format msgid "" "This index already exists for year: %(year)d - use a value bigger than " @@ -560,31 +566,31 @@ msgstr "" "Cet index existe déjà pour l'année : %(year)d, utilisez une valeur plus " "grande que %(last_val)d" -#: forms.py:1384 +#: forms.py:1388 msgid "Bad index" msgstr "Mauvais index" -#: forms.py:1397 +#: forms.py:1401 msgid "Would you like to delete this administrative act?" msgstr "Voulez-vous supprimer cet acte administratif ?" -#: forms.py:1402 +#: forms.py:1406 msgid "Template" msgstr "Patron" -#: forms.py:1426 forms.py:1430 +#: forms.py:1430 forms.py:1434 msgid "This document is not intended for this type of act." msgstr "Ce document n'est pas destiné à ce type d'acte." -#: forms.py:1448 +#: forms.py:1452 msgid "Doc generation" msgstr "Génération de document" -#: forms.py:1450 +#: forms.py:1454 msgid "Generate the associated doc?" msgstr "Générer le document associé ?" -#: forms.py:1471 ishtar_menu.py:123 views.py:386 +#: forms.py:1475 ishtar_menu.py:123 views.py:386 msgctxt "admin act register" msgid "Register" msgstr "Registre" @@ -605,7 +611,7 @@ msgstr "Clôture" msgid "Deletion" msgstr "Suppression" -#: ishtar_menu.py:59 models.py:1030 +#: ishtar_menu.py:59 models.py:1056 #: templates/ishtar/sheet_administrativeact.html:4 msgid "Administrative act" msgstr "Acte administratif" @@ -630,16 +636,16 @@ msgstr "Tableau de bord" msgid "General informations" msgstr "Informations générales" -#: ishtar_menu.py:139 models.py:368 +#: ishtar_menu.py:139 models.py:369 #: templates/ishtar/dashboards/dashboard_operation.html:8 msgid "Operations" msgstr "Opérations" -#: models.py:53 models.py:71 models.py:1879 +#: models.py:53 models.py:71 models.py:1913 msgid "Order" msgstr "Ordre" -#: models.py:55 models.py:1418 +#: models.py:55 models.py:1444 msgid "End date" msgstr "Date de fin" @@ -755,7 +761,7 @@ msgstr "Date de clôture" msgid "In charge scientist" msgstr "Responsable du suivi scientifique" -#: models.py:277 models.py:1200 +#: models.py:277 models.py:1226 msgid "File" msgstr "Dossier" @@ -763,299 +769,307 @@ msgstr "Dossier" msgid "Surface (m2)" msgstr "Surface (m2)" -#: models.py:334 +#: models.py:335 msgid "General comment" msgstr "Commentaire général" -#: models.py:337 +#: models.py:338 msgid "Cached name" msgstr "Nom en cache" -#: models.py:345 +#: models.py:346 msgid "" "If checked, it means that this operation have not been officialy registered." msgstr "" "Si coché, cela signifie que cette opération n'a pas été officiellement " "enregistrée." -#: models.py:361 +#: models.py:362 msgid "Point" msgstr "Point" -#: models.py:362 +#: models.py:363 msgid "Multi polygon" msgstr "Polygones multi-parties" -#: models.py:370 +#: models.py:371 msgid "Can view all Operations" msgstr "Peut voir toutes les Opérations" -#: models.py:371 +#: models.py:372 msgid "Can view own Operation" msgstr "Peut voir sa propre Opération" -#: models.py:372 +#: models.py:373 msgid "Can add own Operation" msgstr "Peut ajouter sa propre Opération" -#: models.py:373 +#: models.py:374 msgid "Can change own Operation" msgstr "Peut modifier sa propre Opération" -#: models.py:374 +#: models.py:375 msgid "Can delete own Operation" msgstr "Peut supprimer sa propre Opération" -#: models.py:375 +#: models.py:376 msgid "Can close Operation" msgstr "Peut clore une Opération" -#: models.py:404 +#: models.py:405 msgid "OPE" msgstr "OPE" -#: models.py:470 +#: models.py:479 msgid "Intercommunal" msgstr "Intercommunal" -#: models.py:502 +#: models.py:517 msgid "Code patriarche" msgstr "Code patriarche" -#: models.py:542 +#: models.py:557 msgid "This operation code already exists for this year" msgstr "Ce code d'opération existe déjà pour cette année." -#: models.py:567 +#: models.py:582 msgid "Number of parcels" msgstr "Nombre de parcelles" -#: models.py:585 +#: models.py:600 msgid "Number of administrative acts" msgstr "Nombre d'actes administratifs" -#: models.py:593 +#: models.py:608 msgid "Number of indexed administrative acts" msgstr "Nombre d'actes administratifs indexés" -#: models.py:601 +#: models.py:616 msgid "Number of context records" msgstr "Nombre d'Unités d'Enregistrement" -#: models.py:637 +#: models.py:652 msgid "Number of finds" msgstr "Nombre d'éléments de mobilier" -#: models.py:682 +#: models.py:697 msgid "No type" msgstr "Pas de type" -#: models.py:713 +#: models.py:728 msgid "Number of sources" msgstr "Nombre de documents" -#: models.py:755 templates/ishtar/dashboards/dashboard_operation.html:309 +#: models.py:770 templates/ishtar/dashboards/dashboard_operation.html:309 #: templates/ishtar/dashboards/dashboard_operation.html:575 #: templates/ishtar/dashboards/dashboard_operation.html:611 msgid "Mean" msgstr "Moyenne" -#: models.py:805 +#: models.py:820 msgid "Inverse relation" msgstr "Relation inverse" -#: models.py:809 +#: models.py:824 msgid "Operation relation type" msgstr "Type de relation entre opérations" -#: models.py:810 +#: models.py:825 msgid "Operation relation types" msgstr "Types de relation entre opérations" -#: models.py:823 +#: models.py:838 msgid "Operation record relation" msgstr "Relation entre opérations" -#: models.py:824 +#: models.py:839 msgid "Operation record relations" msgstr "Relations entre opérations" -#: models.py:870 +#: models.py:878 +msgid "Operation year" +msgstr "Année de l'opération" + +#: models.py:880 +msgid "Document code" +msgstr "Code du document" + +#: models.py:890 msgid "Operation documentation" msgstr "Documentation d'une opération" -#: models.py:871 +#: models.py:891 msgid "Operation documentations" msgstr "Documentations des opérations" -#: models.py:874 +#: models.py:894 msgid "Can view all Operation sources" msgstr "Peut voir toutes les Documentations d'opération" -#: models.py:876 +#: models.py:896 msgid "Can view own Operation source" msgstr "Peut voir sa propre Documentation d'opération" -#: models.py:878 +#: models.py:898 msgid "Can add own Operation source" msgstr "Peut ajouter sa propre Documentation d'opération" -#: models.py:880 +#: models.py:900 msgid "Can change own Operation source" msgstr "Peut modifier sa propre Documentation d'opération" -#: models.py:882 +#: models.py:902 msgid "Can delete own Operation source" msgstr "Peut supprimer sa propre Documentation d'opération" -#: models.py:893 models.py:1005 +#: models.py:918 models.py:1031 msgid "Treatment request" msgstr "Demande de traitement" -#: models.py:894 models.py:1010 +#: models.py:919 models.py:1036 msgid "Treatment" msgstr "Traitement" -#: models.py:896 +#: models.py:921 msgid "Intended to" msgstr "Destiné à " -#: models.py:898 +#: models.py:923 msgid "Code" msgstr "Code" -#: models.py:901 +#: models.py:926 msgid "Associated template" msgstr "Patron associé" -#: models.py:902 +#: models.py:927 msgid "Indexed" msgstr "Indexé" -#: models.py:906 +#: models.py:931 msgid "Act types" msgstr "Types d'acte" -#: models.py:978 +#: models.py:997 models.py:1077 +#: templates/ishtar/blocks/window_tables/administrativacts.html:7 +#: templates/ishtar/blocks/window_tables/archaeologicalsites.html:7 +msgid "Ref." +msgstr "Réf." + +#: models.py:1004 msgid "Person in charge of the operation" msgstr "Responsable d'opération" -#: models.py:984 +#: models.py:1010 msgid "Archaeological preventive operator" msgstr "Opérateur d'archéologie préventive" -#: models.py:992 +#: models.py:1018 msgid "Signatory" msgstr "Signataire" -#: models.py:1020 +#: models.py:1046 msgid "Departments" msgstr "Départements" -#: models.py:1021 +#: models.py:1047 msgid "Cached values get from associated departments" msgstr "Valeur en cache des départements associés" -#: models.py:1024 +#: models.py:1050 msgid "Cached values get from associated towns" msgstr "Valeur en cache des communes associées" -#: models.py:1031 templates/ishtar/sheet_operation.html:114 -#: templates/ishtar/sheet_operation.html:150 +#: models.py:1057 templates/ishtar/sheet_operation.html:104 +#: templates/ishtar/sheet_operation.html:145 msgid "Administrative acts" msgstr "Actes administratifs" -#: models.py:1034 +#: models.py:1060 msgid "Can view all Administrative acts" msgstr "Peut voir tous les Actes administratifs" -#: models.py:1036 +#: models.py:1062 msgid "Can view own Administrative act" msgstr "Peut voir son propre Acte administratif" -#: models.py:1038 +#: models.py:1064 msgid "Can add own Administrative act" msgstr "Peut ajouter son propre Acte administratif" -#: models.py:1040 +#: models.py:1066 msgid "Can change own Administrative act" msgstr "Peut modifier son propre Acte administratif" -#: models.py:1042 +#: models.py:1068 msgid "Can delete own Administrative act" msgstr "Peut supprimer son propre Acte administratif" -#: models.py:1051 -#: templates/ishtar/blocks/window_tables/administrativacts.html:7 -#: templates/ishtar/blocks/window_tables/archaeologicalsites.html:7 -msgid "Ref." -msgstr "Réf." - -#: models.py:1145 +#: models.py:1171 msgid "This index already exists for this year" msgstr "Cet index existe déjà pour cette année." -#: models.py:1213 +#: models.py:1239 msgid "External ID" msgstr "ID externe" -#: models.py:1216 +#: models.py:1242 msgid "External ID is set automatically" msgstr "L'identifiant externe est configuré automatiquement" -#: models.py:1217 +#: models.py:1243 msgid "Address - Locality" msgstr "Adresse - Lieu-dit" -#: models.py:1413 +#: models.py:1439 msgid "Owner" msgstr "Propriétaire" -#: models.py:1421 +#: models.py:1447 msgid "Parcel owner" msgstr "Propriétaire de parcelle" -#: models.py:1422 +#: models.py:1448 msgid "Parcel owners" msgstr "Propriétaires de parcelle" -#: models.py:1448 +#: models.py:1474 msgid "Recorded" msgstr "Enregistré" -#: models.py:1449 +#: models.py:1475 msgid "Effective" msgstr "Effectif" -#: models.py:1450 +#: models.py:1476 msgid "Active" msgstr "Actif" -#: models.py:1451 +#: models.py:1477 msgid "Field completed" msgstr "Terrain achevé" -#: models.py:1452 +#: models.py:1478 msgid "Associated report" msgstr "Rapport associé" -#: models.py:1453 +#: models.py:1479 msgid "Closed" msgstr "Clos" -#: models.py:1454 +#: models.py:1480 msgid "Documented and closed" msgstr "Documenté et clos" -#: models.py:1880 +#: models.py:1914 msgid "Is preventive" msgstr "Préventif" -#: models.py:1883 +#: models.py:1917 msgid "Operation type old" msgstr "Type d'opération - ancien" -#: models.py:1884 +#: models.py:1918 msgid "Operation types old" msgstr "Types d'opération - ancien" @@ -1116,7 +1130,7 @@ msgstr "" "oubli, définissez-le à la première étape." #: templates/ishtar/sheet_administrativeact.html:36 -#: templates/ishtar/sheet_operation.html:50 +#: templates/ishtar/sheet_operation.html:40 msgid "Surface:" msgstr "Surface :" @@ -1128,96 +1142,100 @@ msgstr "Cette opération est virtuelle." msgid "Patriarche OA code not yet recorded!" msgstr "Code d'opération Patriarche non renseigné !" -#: templates/ishtar/sheet_operation.html:27 -msgid "Creation:" -msgstr "Création :" +#: templates/ishtar/sheet_operation.html:23 +msgid "Address" +msgstr "Adresse" -#: templates/ishtar/sheet_operation.html:34 -msgid "Modification:" -msgstr "Modification :" +#: templates/ishtar/sheet_operation.html:30 +msgid "Begining date" +msgstr "Date de début" -#: templates/ishtar/sheet_operation.html:46 +#: templates/ishtar/sheet_operation.html:36 msgid "State:" msgstr "État :" -#: templates/ishtar/sheet_operation.html:46 +#: templates/ishtar/sheet_operation.html:36 msgid "Active file" msgstr "Dossier actif" -#: templates/ishtar/sheet_operation.html:47 +#: templates/ishtar/sheet_operation.html:37 msgid "Closed operation" msgstr "Opération close" -#: templates/ishtar/sheet_operation.html:48 +#: templates/ishtar/sheet_operation.html:38 msgid "Closing date:" msgstr "Date de clôture :" -#: templates/ishtar/sheet_operation.html:48 +#: templates/ishtar/sheet_operation.html:38 msgid "by" msgstr "par" -#: templates/ishtar/sheet_operation.html:51 +#: templates/ishtar/sheet_operation.html:41 msgid "Cost:" msgstr "Coût :" -#: templates/ishtar/sheet_operation.html:52 +#: templates/ishtar/sheet_operation.html:42 msgid "Duration:" msgstr "Durée :" -#: templates/ishtar/sheet_operation.html:52 +#: templates/ishtar/sheet_operation.html:42 msgid "Day" msgstr "Jour" -#: templates/ishtar/sheet_operation.html:85 +#: templates/ishtar/sheet_operation.html:75 msgid "Localisation" msgstr "Localisation" -#: templates/ishtar/sheet_operation.html:110 +#: templates/ishtar/sheet_operation.html:100 msgid "Associated parcels" msgstr "Parcelles associées" -#: templates/ishtar/sheet_operation.html:118 +#: templates/ishtar/sheet_operation.html:108 msgid "Document from this operation" msgstr "Documents de cette opération" -#: templates/ishtar/sheet_operation.html:124 -#: templates/ishtar/sheet_operation.html:161 +#: templates/ishtar/sheet_operation.html:114 +#: templates/ishtar/sheet_operation.html:156 msgid "Context records" msgstr "Unités d'Enregistrement" -#: templates/ishtar/sheet_operation.html:128 +#: templates/ishtar/sheet_operation.html:119 msgid "Context record relations" msgstr "Relations entre Unités d'Enregistrement" -#: templates/ishtar/sheet_operation.html:133 +#: templates/ishtar/sheet_operation.html:124 msgid "Documents from associated context records" msgstr "Documents des Unités d'Enregistrement associées" -#: templates/ishtar/sheet_operation.html:138 -#: templates/ishtar/sheet_operation.html:184 +#: templates/ishtar/sheet_operation.html:129 +#: templates/ishtar/sheet_operation.html:179 msgid "Finds" msgstr "Mobilier" -#: templates/ishtar/sheet_operation.html:143 +#: templates/ishtar/sheet_operation.html:134 msgid "Documents from associated finds" msgstr "Documents du mobilier associé" -#: templates/ishtar/sheet_operation.html:148 +#: templates/ishtar/sheet_operation.html:139 +msgid "Associated containers" +msgstr "Contenants associés" + +#: templates/ishtar/sheet_operation.html:143 msgid "Statistics" msgstr "Statistiques" -#: templates/ishtar/sheet_operation.html:168 -#: templates/ishtar/sheet_operation.html:222 +#: templates/ishtar/sheet_operation.html:163 +#: templates/ishtar/sheet_operation.html:217 #: templates/ishtar/blocks/window_tables/administrativacts.html:8 msgid "Type" msgstr "Type" -#: templates/ishtar/sheet_operation.html:168 -#: templates/ishtar/sheet_operation.html:176 -#: templates/ishtar/sheet_operation.html:191 -#: templates/ishtar/sheet_operation.html:199 -#: templates/ishtar/sheet_operation.html:207 -#: templates/ishtar/sheet_operation.html:222 +#: templates/ishtar/sheet_operation.html:163 +#: templates/ishtar/sheet_operation.html:171 +#: templates/ishtar/sheet_operation.html:186 +#: templates/ishtar/sheet_operation.html:194 +#: templates/ishtar/sheet_operation.html:202 +#: templates/ishtar/sheet_operation.html:217 #: templates/ishtar/dashboards/dashboard_operation.html:18 #: templates/ishtar/dashboards/dashboard_operation.html:164 #: templates/ishtar/dashboards/dashboard_operation.html:432 @@ -1226,19 +1244,19 @@ msgstr "Type" msgid "Number" msgstr "Nombre" -#: templates/ishtar/sheet_operation.html:191 +#: templates/ishtar/sheet_operation.html:186 msgid "Material type" msgstr "Type de matériau" -#: templates/ishtar/sheet_operation.html:199 +#: templates/ishtar/sheet_operation.html:194 msgid "Object type" msgstr "Type d'objet" -#: templates/ishtar/sheet_operation.html:215 +#: templates/ishtar/sheet_operation.html:210 msgid "Sources" msgstr "Documents" -#: templates/ishtar/sheet_operation.html:231 +#: templates/ishtar/sheet_operation.html:226 msgid "Finds by context records" msgstr "Mobilier par Unités d'Enregistrement" @@ -1246,6 +1264,10 @@ msgstr "Mobilier par Unités d'Enregistrement" msgid "Operation source" msgstr "Documentation associée à l'opération" +#: templates/ishtar/sheet_operationsource.html:11 +msgid "Related operation" +msgstr "Opération associée" + #: templates/ishtar/blocks/window_tables/administrativacts.html:9 msgid "Date" msgstr "Date" diff --git a/translations/fr/archaeological_warehouse.po b/translations/fr/archaeological_warehouse.po index 6780d7b3a..15d86d645 100644 --- a/translations/fr/archaeological_warehouse.po +++ b/translations/fr/archaeological_warehouse.po @@ -4,149 +4,167 @@ # Étienne Loks <etienne.loks at peacefrogs net>, 2010-2011. # Valérie-Emma Leroux <emma@iggdrasil.net>, 2016. #zanata # Valérie-Emma Leroux <emma@iggdrasil.net>, 2017. #zanata +# Étienne Loks <etienne.loks@iggdrasil.net>, 2017. #zanata msgid "" msgstr "" "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 <copied-by-zanata@zanata.org>\n" +"PO-Revision-Date: 2017-03-21 06:24-0400\n" +"Last-Translator: Étienne Loks <etienne.loks@iggdrasil.net>\n" "Language-Team: \n" "Language: fr\n" "Plural-Forms: nplurals=2; plural=n>1;\n" "X-Generator: Zanata 3.9.6\n" -#: forms.py:35 forms.py:91 ishtar_menu.py:40 models.py:63 models.py:103 +#: forms.py:36 forms.py:99 ishtar_menu.py:40 models.py:63 models.py:103 #: templates/ishtar/sheet_warehouse.html:4 msgid "Warehouse" msgstr "Dépôt" -#: forms.py:44 forms.py:49 models.py:280 +#: forms.py:45 forms.py:50 models.py:281 msgid "Division" msgstr "Division" -#: forms.py:51 models.py:127 +#: forms.py:52 models.py:127 msgid "Order" msgstr "Ordre" -#: forms.py:62 models.py:53 +#: forms.py:66 +msgid "There are identical divisions." +msgstr "Il y a des divisions identiques" + +#: forms.py:70 models.py:53 msgid "Divisions" msgstr "Divisions" -#: forms.py:66 forms.py:95 models.py:45 models.py:100 +#: forms.py:74 forms.py:103 models.py:45 models.py:100 msgid "Name" msgstr "Nom" -#: forms.py:67 forms.py:97 models.py:36 models.py:47 +#: forms.py:75 forms.py:105 models.py:36 models.py:47 msgid "Warehouse type" msgstr "Type de dépôt" -#: forms.py:68 forms.py:114 +#: forms.py:76 forms.py:122 msgid "Town" msgstr "Commune" -#: forms.py:79 views.py:98 +#: forms.py:87 views.py:100 msgid "Warehouse search" msgstr "Rechercher un dépôt" -#: forms.py:100 models.py:50 +#: forms.py:108 models.py:50 msgid "Person in charge" msgstr "Responsable" -#: forms.py:106 forms.py:168 models.py:51 models.py:180 +#: forms.py:114 forms.py:184 models.py:51 models.py:181 msgid "Comment" msgstr "Commentaires" -#: forms.py:108 +#: forms.py:116 msgid "Address" msgstr "Adresse" -#: forms.py:110 +#: forms.py:118 msgid "Address complement" msgstr "Complément d'adresse" -#: forms.py:112 +#: forms.py:120 msgid "Postal code" msgstr "Code postal" -#: forms.py:115 +#: forms.py:123 msgid "Country" msgstr "Pays" -#: forms.py:117 +#: forms.py:125 msgid "Phone" msgstr "Téléphone" -#: forms.py:118 +#: forms.py:126 msgid "Mobile phone" msgstr "Téléphone mobile" -#: forms.py:145 forms.py:146 +#: forms.py:153 forms.py:154 msgid "Would you like to delete this warehouse?" msgstr "Voulez-vous supprimer ce dépôt ?" -#: forms.py:150 models.py:191 models.py:278 +#: forms.py:158 models.py:192 models.py:279 #: templates/ishtar/sheet_container.html:4 msgid "Container" msgstr "Contenant" -#: forms.py:154 forms.py:221 models.py:142 +#: forms.py:163 forms.py:237 models.py:142 msgid "Ref." msgstr "Réf." -#: forms.py:155 forms.py:220 models.py:145 models.py:178 +#: forms.py:164 forms.py:236 models.py:145 models.py:179 msgid "Container type" msgstr "Type de contenant" -#: forms.py:157 +#: forms.py:166 msgid "Current location (warehouse)" msgstr "Lieu actuel (dépôt)" -#: forms.py:163 models.py:175 +#: forms.py:172 models.py:176 msgid "Responsible warehouse" msgstr "Dépôt responsable" -#: forms.py:195 -msgid "Index" -msgstr "Index" +#: forms.py:178 +msgid "Image" +msgstr "Image" + +#: forms.py:179 +#, python-format +msgid "" +"<p>Heavy images are resized to: %(width)dx%(height)d (ratio is preserved).</" +"p>" +msgstr "" +"<p>Les images trop grandes sont retaillées en : %(width)dx%(height)d (le " +"ratio est conservé).</p>" -#: forms.py:213 +#: forms.py:211 +msgid "ID" +msgstr "Identifiant" + +#: forms.py:229 msgid "This ID already exists for this warehouse." msgstr "Cet identifiant existe déjà pour ce dépôt." -#: forms.py:231 forms.py:237 views.py:131 +#: forms.py:247 forms.py:253 views.py:142 msgid "Container search" msgstr "Rechercher un contenant" -#: forms.py:233 forms.py:239 +#: forms.py:249 forms.py:255 msgid "You should select a container." msgstr "Vous devez sélectionner un contenant." -#: forms.py:234 +#: forms.py:250 msgid "Add a new container" msgstr "Ajouter un nouveau contenant" -#: forms.py:244 ishtar_menu.py:36 views.py:93 +#: forms.py:260 ishtar_menu.py:36 views.py:95 msgid "Packaging" msgstr "Conditionnement" -#: forms.py:250 +#: forms.py:266 msgid "Packager" msgstr "Personne assurant le conditionnement" -#: forms.py:256 +#: forms.py:272 msgid "Date" msgstr "Date" -#: forms.py:260 +#: forms.py:276 msgid "Packaged finds" msgstr "Mobilier conditionné" -#: forms.py:264 models.py:181 +#: forms.py:280 models.py:182 msgid "Localisation" msgstr "Localisation" -#: forms.py:289 forms.py:290 +#: forms.py:305 forms.py:306 msgid "Would you like to delete this container?" msgstr "Voulez-vous supprimer ce contenant ?" @@ -170,7 +188,7 @@ msgstr "Modification" msgid "Deletion" msgstr "Suppression" -#: ishtar_menu.py:57 models.py:192 templates/ishtar/sheet_warehouse.html:17 +#: ishtar_menu.py:57 models.py:193 templates/ishtar/sheet_warehouse.html:20 msgid "Containers" msgstr "Contenants" @@ -178,11 +196,11 @@ msgstr "Contenants" msgid "Warehouse types" msgstr "Types de dépôt" -#: models.py:56 models.py:186 +#: models.py:56 models.py:187 msgid "External ID" msgstr "ID externe" -#: models.py:58 models.py:188 +#: models.py:58 models.py:189 msgid "External ID is set automatically" msgstr "L'ID externe est attribué automatiquement" @@ -219,12 +237,12 @@ msgid "Collection" msgstr "Collection" #: models.py:117 -msgid "Warehouse division" -msgstr "Division de dépôt" +msgid "Warehouse division type" +msgstr "Type de division de dépôt" #: models.py:118 -msgid "Warehouse divisions" -msgstr "Divisions de dépôt" +msgid "Warehouse division types" +msgstr "Types de division de dépôt" #: models.py:138 msgid "Length (mm)" @@ -246,78 +264,78 @@ msgstr "Volume (l)" msgid "Container types" msgstr "Types de contenant" -#: models.py:164 +#: models.py:165 msgid "Location - index" msgstr "Lieu - index" -#: models.py:165 +#: models.py:166 msgid "Precise localisation" msgstr "Localisation précise" -#: models.py:166 +#: models.py:167 msgid "Type" msgstr "Type" -#: models.py:172 +#: models.py:173 msgid "Location (warehouse)" msgstr "Lieu (dépôt)" -#: models.py:179 +#: models.py:180 msgid "Container ref." msgstr "Réf. du contenant" -#: models.py:183 +#: models.py:184 msgid "Cached location" msgstr "Lieu - en cache" -#: models.py:281 +#: models.py:282 msgid "Reference" msgstr "Référence" -#: models.py:284 +#: models.py:285 msgid "Container localisation" msgstr "Localisation de contenant" -#: models.py:285 +#: models.py:286 msgid "Container localisations" msgstr "Localisations de contenant" -#: views.py:110 +#: views.py:112 msgid "Warehouse creation" msgstr "Ajouter un dépôt" -#: views.py:119 +#: views.py:121 msgid "Warehouse modification" msgstr "Modifier un dépôt" -#: views.py:126 +#: views.py:137 msgid "Warehouse deletion" msgstr "Supprimer un dépôt" -#: views.py:142 +#: views.py:153 msgid "Container creation" msgstr "Ajouter un contenant" -#: views.py:151 +#: views.py:162 msgid "Container modification" msgstr "Modifier un contenant" -#: views.py:158 +#: views.py:177 msgid "Container deletion" msgstr "Supprimer un contenant" -#: templates/ishtar/sheet_container.html:19 +#: templates/ishtar/sheet_container.html:27 msgid "Content" msgstr "Contenu" -#: templates/ishtar/sheet_warehouse.html:22 +#: templates/ishtar/sheet_warehouse.html:25 msgid "Attached containers" msgstr "Contenants associés" -#: templates/ishtar/wizard/wizard_containerlocalisation.html:5 +#: templates/ishtar/wizard/wizard_containerlocalisation.html:6 msgid "" -"No division set for this warehouse. Define it to localise container in this " -"warehouse." +"No division set for this warehouse. Define at least one division to localise " +"containers in this warehouse." msgstr "" -"Pas de division configurée pour ce dépôt. Définissez une division pour " -"localiser un contenant dans ce dépôt." +"Pas de division configurée pour ce dépôt. Définissez au moins une division " +"pour localiser les contenants dans ce dépôt." diff --git a/translations/fr/ishtar_common.po b/translations/fr/ishtar_common.po index 34ff2b5a6..6a9d80265 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-03-09 05:02-0500\n" +"PO-Revision-Date: 2017-03-21 01:54-0400\n" "Last-Translator: Valérie-Emma Leroux <emma@iggdrasil.net>\n" "Language-Team: \n" "Language: fr\n" @@ -26,7 +26,7 @@ msgstr "identifiant" msgid "email address" msgstr "courriel" -#: __init__.py:10 +#: __init__.py:10 templates/ishtar/sheet_source.html:8 msgid "Related item" msgstr "Élément associé" @@ -139,31 +139,31 @@ msgstr "" "Erreur de configuration de l'importeur : le champ \"{}\" n'existe pas pour " "{}." -#: data_importer.py:1555 +#: data_importer.py:1559 msgid "line" msgstr "ligne" -#: data_importer.py:1555 +#: data_importer.py:1559 msgid "col" msgstr "colonne" -#: data_importer.py:1555 +#: data_importer.py:1559 msgid "error" msgstr "erreur" -#: data_importer.py:1561 +#: data_importer.py:1565 msgid "field" msgstr "champ" -#: data_importer.py:1561 +#: data_importer.py:1565 msgid "source" msgstr "source" -#: data_importer.py:1561 +#: data_importer.py:1565 msgid "result" msgstr "résultat" -#: data_importer.py:1577 +#: data_importer.py:1581 #, python-format msgid "\"%(value)s\" not in %(values)s" msgstr "\"%(value)s\" n'est pas dans %(values)s" @@ -201,7 +201,7 @@ msgid "Template" msgstr "Patron" #: forms_common.py:41 forms_common.py:59 forms_common.py:184 -#: forms_common.py:408 models.py:1548 models.py:2986 +#: forms_common.py:408 models.py:1548 models.py:2989 #: templates/blocks/JQueryAdvancedTown.html:19 #: templates/ishtar/sheet_organization.html:13 msgid "Town" @@ -224,8 +224,8 @@ msgstr "" "<p class='example'>Par exemple tapez « saint denis 93 » pour obtenir la " "commune Saint-Denis dans le département français de Seine-Saint-Denis.</p>" -#: forms_common.py:68 forms_common.py:863 ishtar_menu.py:47 models.py:2609 -#: models.py:2790 models.py:2854 templates/ishtar/sheet_person.html:4 +#: forms_common.py:68 forms_common.py:863 ishtar_menu.py:47 models.py:2610 +#: models.py:2791 models.py:2856 templates/ishtar/sheet_person.html:4 msgid "Person" msgstr "Personne" @@ -238,15 +238,16 @@ msgstr "" "pas possible." #: forms_common.py:172 forms_common.py:329 forms_common.py:453 -#: ishtar_menu.py:75 models.py:2492 models.py:2583 +#: ishtar_menu.py:75 models.py:2493 models.py:2584 #: templates/ishtar/sheet_organization.html:4 msgid "Organization" msgstr "Organisation" #: forms_common.py:175 forms_common.py:212 forms_common.py:324 #: forms_common.py:378 forms_common.py:448 models.py:1103 models.py:1481 -#: models.py:1750 models.py:1766 models.py:2003 models.py:2486 models.py:2595 -#: models.py:2972 templates/ishtar/sheet_organization.html:8 +#: models.py:1750 models.py:1766 models.py:2003 models.py:2279 models.py:2487 +#: models.py:2596 models.py:2975 templates/ishtar/import_list.html:13 +#: templates/ishtar/sheet_organization.html:8 #: templates/ishtar/sheet_organization.html:21 msgid "Name" msgstr "Nom" @@ -281,22 +282,22 @@ msgstr "Courriel" #: forms_common.py:188 forms_common.py:385 models.py:1561 #: templates/ishtar/sheet_organization.html:14 -#: templates/ishtar/sheet_person.html:19 +#: templates/ishtar/sheet_person.html:21 #: templates/ishtar/wizard/wizard_person.html:17 msgid "Phone" msgstr "Téléphone" #: forms_common.py:189 forms_common.py:394 models.py:1573 #: templates/ishtar/sheet_organization.html:15 -#: templates/ishtar/sheet_person.html:37 +#: templates/ishtar/sheet_person.html:39 #: templates/ishtar/wizard/wizard_person.html:35 msgid "Mobile phone" msgstr "Téléphone portable" #: forms_common.py:213 forms_common.py:327 forms_common.py:451 models.py:2170 -#: models.py:2488 models.py:2907 templates/sheet_ope.html:85 +#: models.py:2489 models.py:2910 templates/sheet_ope.html:85 #: templates/sheet_ope.html.py:105 templates/sheet_ope.html:126 -#: templates/ishtar/import_list.html:13 +#: templates/ishtar/import_list.html:14 #: templates/ishtar/sheet_organization.html:23 #: templates/ishtar/blocks/window_tables/documents.html:8 msgid "Type" @@ -318,7 +319,7 @@ msgstr "Fusionner tous les éléments dans" msgid "Organization to merge" msgstr "Organisation à fusionner" -#: forms_common.py:325 forms_common.py:376 forms_common.py:449 models.py:2593 +#: forms_common.py:325 forms_common.py:376 forms_common.py:449 models.py:2594 #: templates/ishtar/sheet_organization.html:22 msgid "Surname" msgstr "Prénom" @@ -337,16 +338,16 @@ msgid "Identity" msgstr "Identité" #: forms_common.py:373 forms_common.py:781 forms_common.py:830 models.py:2135 -#: models.py:2587 models.py:2589 models.py:2904 templates/sheet_ope.html:104 +#: models.py:2588 models.py:2590 models.py:2907 templates/sheet_ope.html:104 #: templates/ishtar/blocks/window_tables/documents.html:7 msgid "Title" msgstr "Titre" -#: forms_common.py:374 models.py:2591 +#: forms_common.py:374 models.py:2592 msgid "Salutation" msgstr "Formule d'appel" -#: forms_common.py:380 models.py:2597 +#: forms_common.py:380 models.py:2598 msgid "Raw name" msgstr "Nom brut" @@ -406,7 +407,7 @@ msgstr "Nom d'utilisateur" msgid "Account search" msgstr "Rechercher un compte" -#: forms_common.py:512 forms_common.py:552 forms_common.py:556 models.py:2540 +#: forms_common.py:512 forms_common.py:552 forms_common.py:556 models.py:2541 msgid "Person type" msgstr "Type de personne" @@ -414,7 +415,7 @@ msgstr "Type de personne" msgid "Account" msgstr "Compte" -#: forms_common.py:577 wizards.py:1333 +#: forms_common.py:577 wizards.py:1339 msgid "New password" msgstr "Nouveau mot de passe" @@ -438,7 +439,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:636 forms_common.py:649 models.py:2987 +#: forms_common.py:636 forms_common.py:649 models.py:2990 msgid "Towns" msgstr "Communes" @@ -454,7 +455,7 @@ msgstr "Seul un choix peut être coché." msgid "Documentation informations" msgstr "Information sur le document" -#: forms_common.py:783 forms_common.py:831 models.py:2136 models.py:2879 +#: forms_common.py:783 forms_common.py:831 models.py:2136 models.py:2882 msgid "Source type" msgstr "Type de document" @@ -466,37 +467,37 @@ msgstr "Référence" msgid "Internal reference" msgstr "Référence interne" -#: forms_common.py:791 models.py:2918 +#: forms_common.py:791 models.py:2921 msgid "Numerical ressource (web address)" msgstr "Ressource numérique (adresse web)" -#: forms_common.py:792 models.py:2920 +#: forms_common.py:792 models.py:2923 msgid "Receipt date" msgstr "Date de réception" -#: forms_common.py:794 models.py:2302 models.py:2922 +#: forms_common.py:794 models.py:2304 models.py:2925 msgid "Creation date" msgstr "Date de création" -#: forms_common.py:797 models.py:2925 +#: forms_common.py:797 models.py:2928 msgid "Receipt date in documentation" msgstr "Date de réception en documentation" #: forms_common.py:799 forms_common.py:835 models.py:379 models.py:696 -#: models.py:2030 models.py:2601 models.py:2932 +#: models.py:2030 models.py:2602 models.py:2935 msgid "Comment" msgstr "Commentaire" #: forms_common.py:801 forms_common.py:834 models.py:1105 models.py:1770 -#: models.py:1957 models.py:2004 models.py:2931 templates/sheet_ope.html:128 +#: models.py:1957 models.py:2004 models.py:2934 templates/sheet_ope.html:128 msgid "Description" msgstr "Description" -#: forms_common.py:804 models.py:2933 +#: forms_common.py:804 models.py:2936 msgid "Additional information" msgstr "Information supplémentaire" -#: forms_common.py:806 forms_common.py:838 models.py:2935 +#: forms_common.py:806 forms_common.py:838 models.py:2938 msgid "Has a duplicate" msgstr "Existe en doublon" @@ -513,7 +514,7 @@ msgstr "" "<p>Les images trop grandes sont retaillées en : %(width)dx%(height)d (le " "ratio est conservé).</p>" -#: forms_common.py:827 forms_common.py:856 forms_common.py:890 models.py:2859 +#: forms_common.py:827 forms_common.py:856 forms_common.py:890 models.py:2861 #: templates/ishtar/wizard/wizard_person_deletion.html:124 msgid "Author" msgstr "Auteur" @@ -526,7 +527,7 @@ msgstr "Informations supplémentaires" msgid "Would you like to delete this documentation?" msgstr "Voulez-vous supprimer ce document ?" -#: forms_common.py:864 models.py:2137 models.py:2846 models.py:2856 +#: forms_common.py:864 models.py:2137 models.py:2848 models.py:2858 msgid "Author type" msgstr "Type d'auteur" @@ -538,7 +539,7 @@ msgstr "Sélection d'auteur" msgid "There are identical authors." msgstr "Il y a des auteurs identiques." -#: forms_common.py:901 models.py:2860 models.py:2914 +#: forms_common.py:901 models.py:2862 models.py:2917 #: templates/sheet_ope.html:106 #: templates/ishtar/blocks/window_tables/documents.html:9 msgid "Authors" @@ -556,7 +557,7 @@ msgstr "Ajout/modification" msgid "Deletion" msgstr "Suppression" -#: ishtar_menu.py:39 models.py:1277 views.py:1606 +#: ishtar_menu.py:39 models.py:1277 views.py:1608 msgid "Global variables" msgstr "Variables globales" @@ -568,7 +569,7 @@ msgstr "Annuaire" msgid "Search" msgstr "Recherche" -#: ishtar_menu.py:54 ishtar_menu.py:83 templates/ishtar/import_list.html:15 +#: ishtar_menu.py:54 ishtar_menu.py:83 templates/ishtar/import_list.html:16 msgid "Creation" msgstr "Ajout" @@ -584,19 +585,19 @@ msgstr "Fusion automatique" msgid "Manual merge" msgstr "Fusion manuelle" -#: ishtar_menu.py:109 models.py:2313 +#: ishtar_menu.py:109 models.py:2315 msgid "Imports" msgstr "Imports" -#: ishtar_menu.py:112 views.py:1614 +#: ishtar_menu.py:112 views.py:1616 msgid "New import" msgstr "Nouvel import" -#: ishtar_menu.py:116 views.py:1628 +#: ishtar_menu.py:116 views.py:1630 msgid "Current imports" msgstr "Imports en cours" -#: ishtar_menu.py:120 views.py:1664 +#: ishtar_menu.py:120 views.py:1669 msgid "Old imports" msgstr "Anciens imports" @@ -640,7 +641,7 @@ msgstr "Dernier éditeur" msgid "Creator" msgstr "Créateur" -#: models.py:965 models.py:2998 models.py:3054 +#: models.py:965 models.py:2846 models.py:3001 models.py:3057 msgid "Order" msgstr "Ordre" @@ -883,7 +884,7 @@ msgid "Total" msgstr "Total" #: models.py:1393 models.py:1517 models.py:1529 -#: templates/ishtar/sheet_person.html:22 +#: templates/ishtar/sheet_person.html:24 #: templates/ishtar/dashboards/dashboard_main_detail.html:141 #: templates/ishtar/dashboards/dashboard_main_detail_users.html:26 #: templates/ishtar/wizard/wizard_person.html:20 @@ -906,7 +907,7 @@ msgstr "Patron de document" msgid "Document templates" msgstr "Patrons de document" -#: models.py:1520 models.py:1530 models.py:2297 +#: models.py:1520 models.py:1530 models.py:2299 msgid "State" msgstr "État" @@ -1098,11 +1099,11 @@ msgstr "Importeur - Clé de rapprochement" msgid "Importer - Targets keys" msgstr "Importeur - Clés de rapprochement" -#: models.py:2138 models.py:2910 +#: models.py:2138 models.py:2913 msgid "Format" msgstr "Format" -#: models.py:2139 models.py:3002 +#: models.py:2139 models.py:3005 msgid "Operation type" msgstr "Type d'opération" @@ -1166,15 +1167,15 @@ msgstr "Type d'identification" msgid "Context record relation type" msgstr "Type de relations entre Unités d'Enregistrement" -#: models.py:2158 models.py:3060 +#: models.py:2158 models.py:3063 msgid "Spatial reference system" msgstr "Système de référence spatiale" -#: models.py:2159 models.py:2888 +#: models.py:2159 models.py:2891 msgid "Support type" msgstr "Type de support" -#: models.py:2160 models.py:2552 +#: models.py:2160 models.py:2553 msgid "Title type" msgstr "Type de titre" @@ -1272,265 +1273,265 @@ msgstr "Terminé" msgid "Archived" msgstr "Archivé" -#: models.py:2281 +#: models.py:2283 msgid "Imported file" msgstr "Fichier importé" -#: models.py:2283 +#: models.py:2285 msgid "Associated images (zip file)" msgstr "Images associées (fichier zip)" -#: models.py:2285 +#: models.py:2287 msgid "Encoding" msgstr "Codage" -#: models.py:2287 +#: models.py:2289 msgid "Skip lines" msgstr "Nombre de lignes d'entête" -#: models.py:2288 templates/ishtar/import_list.html:47 +#: models.py:2290 templates/ishtar/import_list.html:51 msgid "Error file" msgstr "Fichier erreur" -#: models.py:2291 +#: models.py:2293 msgid "Result file" msgstr "Fichier résultant" -#: models.py:2294 templates/ishtar/import_list.html:53 +#: models.py:2296 templates/ishtar/import_list.html:57 msgid "Match file" msgstr "Fichier de correspondance" -#: models.py:2300 +#: models.py:2302 msgid "Conservative import" msgstr "Import conservateur" -#: models.py:2305 +#: models.py:2307 msgid "End date" msgstr "Date de fin" -#: models.py:2307 +#: models.py:2309 msgid "Remaining seconds" msgstr "Secondes restantes" -#: models.py:2312 +#: models.py:2314 msgid "Import" msgstr "Import" -#: models.py:2342 +#: models.py:2343 msgid "Analyse" msgstr "Analyser" -#: models.py:2344 models.py:2347 +#: models.py:2345 models.py:2348 msgid "Re-analyse" msgstr "Analyser de nouveau " -#: models.py:2345 +#: models.py:2346 msgid "Launch import" msgstr "Lancer l'import" -#: models.py:2348 +#: models.py:2349 msgid "Re-import" msgstr "Ré-importer" -#: models.py:2349 +#: models.py:2350 msgid "Archive" msgstr "Archiver" -#: models.py:2351 +#: models.py:2352 msgid "Unarchive" msgstr "Désarchiver" -#: models.py:2352 widgets.py:130 templates/ishtar/form_delete.html:11 +#: models.py:2353 widgets.py:130 templates/ishtar/form_delete.html:11 msgid "Delete" msgstr "Supprimer" -#: models.py:2493 +#: models.py:2494 msgid "Organizations" msgstr "Organisations" -#: models.py:2495 +#: models.py:2496 msgid "Can view all Organizations" msgstr "Peut voir toutes les Organisations" -#: models.py:2496 +#: models.py:2497 msgid "Can view own Organization" msgstr "Peut voir sa propre Organisation" -#: models.py:2497 +#: models.py:2498 msgid "Can add own Organization" msgstr "Peut ajouter sa propre Organisation" -#: models.py:2499 +#: models.py:2500 msgid "Can change own Organization" msgstr "Peut modifier sa propre Organisation" -#: models.py:2501 +#: models.py:2502 msgid "Can delete own Organization" msgstr "Peut supprimer sa propre Organisation" -#: models.py:2536 +#: models.py:2537 msgid "Groups" msgstr "Groupes" -#: models.py:2541 +#: models.py:2542 msgid "Person types" msgstr "Types de personne" -#: models.py:2553 +#: models.py:2554 msgid "Title types" msgstr "Types de titre" -#: models.py:2562 +#: models.py:2563 msgid "Mr" msgstr "M." -#: models.py:2563 +#: models.py:2564 msgid "Miss" msgstr "Mlle" -#: models.py:2564 +#: models.py:2565 msgid "Mr and Mrs" msgstr "M. et Mme" -#: models.py:2565 +#: models.py:2566 msgid "Mrs" msgstr "Mme" -#: models.py:2566 +#: models.py:2567 msgid "Doctor" msgstr "Dr." -#: models.py:2599 +#: models.py:2600 msgid "Contact type" msgstr "Type de contact" -#: models.py:2602 models.py:2666 +#: models.py:2603 models.py:2667 msgid "Types" msgstr "Types" -#: models.py:2605 +#: models.py:2606 msgid "Is attached to" msgstr "Est rattaché à " -#: models.py:2610 +#: models.py:2611 msgid "Persons" msgstr "Personnes" -#: models.py:2612 +#: models.py:2613 msgid "Can view all Persons" msgstr "Peut voir toutes les Personnes" -#: models.py:2613 +#: models.py:2614 msgid "Can view own Person" msgstr "Peut voir sa propre Personne" -#: models.py:2614 +#: models.py:2615 msgid "Can add own Person" msgstr "Peut ajouter sa propre Personne" -#: models.py:2615 +#: models.py:2616 msgid "Can change own Person" msgstr "Peut modifier sa propre Personne" -#: models.py:2616 +#: models.py:2617 msgid "Can delete own Person" msgstr "Peut supprimer sa propre Personne" -#: models.py:2793 +#: models.py:2794 msgid "Advanced shortcut menu" msgstr "Menu de raccourci (avancé)" -#: models.py:2796 +#: models.py:2797 msgid "Ishtar user" msgstr "Utilisateur d'Ishtar" -#: models.py:2797 +#: models.py:2798 msgid "Ishtar users" msgstr "Utilisateurs d'Ishtar" -#: models.py:2841 +#: models.py:2842 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:2847 +#: models.py:2849 msgid "Author types" msgstr "Types d'auteur" -#: models.py:2880 +#: models.py:2883 msgid "Source types" msgstr "Types de document" -#: models.py:2889 +#: models.py:2892 msgid "Support types" msgstr "Types de support" -#: models.py:2896 +#: models.py:2899 msgid "Format type" msgstr "Type de format" -#: models.py:2897 +#: models.py:2900 msgid "Format types" msgstr "Types de format" -#: models.py:2905 +#: models.py:2908 msgid "External ID" msgstr "Identifiant externe" -#: models.py:2908 +#: models.py:2911 msgid "Support" msgstr "Support" -#: models.py:2912 +#: models.py:2915 msgid "Scale" msgstr "Échelle" -#: models.py:2926 +#: models.py:2929 msgid "Item number" msgstr "Numéro d'élément" -#: models.py:2927 +#: models.py:2930 msgid "Ref." msgstr "Réf." -#: models.py:2930 +#: models.py:2933 msgid "Internal ref." msgstr "Réf. interne" -#: models.py:2973 +#: models.py:2976 msgid "Surface (m2)" msgstr "Surface (m2)" -#: models.py:2974 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107 +#: models.py:2977 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107 msgid "Localisation" msgstr "Localisation" -#: models.py:2999 +#: models.py:3002 msgid "Is preventive" msgstr "Est du préventif" -#: models.py:3003 +#: models.py:3006 msgid "Operation types" msgstr "Types d'opération" -#: models.py:3032 +#: models.py:3035 msgid "Preventive" msgstr "Préventif" -#: models.py:3033 +#: models.py:3036 msgid "Research" msgstr "Programmé" -#: models.py:3056 +#: models.py:3059 msgid "Authority name" msgstr "Registre" -#: models.py:3057 +#: models.py:3060 msgid "Authority SRID" msgstr "SRID" -#: models.py:3061 +#: models.py:3064 msgid "Spatial reference systems" msgstr "Systèmes de référence spatiale" @@ -1598,56 +1599,56 @@ msgstr "Demande de traitement" msgid "Treatment" msgstr "Traitement" -#: views.py:1361 views.py:1404 +#: views.py:1363 views.py:1406 msgid "Operation not permitted." msgstr "Opération non permise." -#: views.py:1363 +#: views.py:1365 #, python-format msgid "New %s" msgstr "Nouveau %s" -#: views.py:1422 views.py:1472 +#: views.py:1424 views.py:1474 msgid "Archaeological files" msgstr "Dossiers" -#: views.py:1423 views.py:1476 +#: views.py:1425 views.py:1478 msgid "Operations" msgstr "Opérations" -#: views.py:1425 views.py:1480 +#: views.py:1427 views.py:1482 msgid "Context records" msgstr "Unités d'Enregistrement" -#: views.py:1427 views.py:1483 +#: views.py:1429 views.py:1485 msgid "Finds" msgstr "Mobilier" -#: views.py:1676 templates/ishtar/import_list.html:43 +#: views.py:1683 templates/ishtar/import_list.html:47 msgid "Link unmatched items" msgstr "Associer les éléments non rapprochés" -#: views.py:1691 +#: views.py:1698 msgid "Delete import" msgstr "Supprimer un import" -#: views.py:1730 +#: views.py:1737 msgid "Merge persons" msgstr "Fusionner des personnes" -#: views.py:1754 +#: views.py:1761 msgid "Select the main person" msgstr "Choisir la personne principale" -#: views.py:1763 +#: views.py:1770 msgid "Merge organization" msgstr "Fusionner des organisations" -#: views.py:1773 +#: views.py:1780 msgid "Select the main organization" msgstr "Sélectionner l'organisation principale" -#: views.py:1813 views.py:1829 +#: views.py:1820 views.py:1836 msgid "Corporation manager" msgstr "Représentant de la personne morale" @@ -1655,11 +1656,11 @@ msgstr "Représentant de la personne morale" msgid "Search..." msgstr "Recherche..." -#: widgets.py:670 templatetags/window_tables.py:91 +#: widgets.py:670 templatetags/window_tables.py:96 msgid "No results" msgstr "Pas de résultats" -#: widgets.py:671 templatetags/window_tables.py:92 +#: widgets.py:671 templatetags/window_tables.py:97 msgid "Loading..." msgstr "Chargement..." @@ -1667,15 +1668,15 @@ msgstr "Chargement..." msgid "Remove" msgstr "Enlever" -#: wizards.py:372 templates/ishtar/import_delete.html:20 +#: wizards.py:374 templates/ishtar/import_delete.html:21 msgid "Yes" msgstr "Oui" -#: wizards.py:374 +#: wizards.py:376 msgid "No" msgstr "Non" -#: wizards.py:1390 +#: wizards.py:1396 #, python-format msgid "[%(app_name)s] Account creation/modification" msgstr "[%(app_name)s] Création/modification du compte" @@ -1748,11 +1749,7 @@ msgstr "Éléments courants" #: templates/base.html:84 templates/welcome.html:8 templates/welcome.html.py:9 #: templates/welcome.html:10 templates/welcome.html.py:11 -#: templates/ishtar/manage_basket.html:4 -#: templates/ishtar/blocks/window_field.html:1 -#: templates/ishtar/blocks/window_field_detail.html:1 -#: templates/ishtar/blocks/window_field_multiple.html:1 -#: templates/ishtar/blocks/window_field_url.html:1 +#: templates/ishtar/manage_basket.html:5 msgid ":" msgstr " :" @@ -2045,7 +2042,7 @@ msgid "where the magic happens." msgstr "c'est là que la magie opère." #: templates/window.html:40 templates/blocks/JQueryJqGrid.html:34 -#: templates/ishtar/manage_basket.html:12 +#: templates/ishtar/manage_basket.html:13 msgid "Add" msgstr "Ajouter" @@ -2128,7 +2125,7 @@ msgid "remove" msgstr "supprimer" #: templates/ishtar/form.html:11 templates/ishtar/formset.html:8 -#: templates/ishtar/import_list.html:58 templates/ishtar/merge.html:31 +#: templates/ishtar/import_list.html:62 templates/ishtar/merge.html:31 #: templates/ishtar/simple_form.html:7 #: templates/ishtar/wizard/default_wizard.html:31 #: templates/ishtar/wizard/search.html:13 @@ -2136,19 +2133,19 @@ msgstr "supprimer" msgid "Validate" msgstr "Valider" -#: templates/ishtar/import_delete.html:8 +#: templates/ishtar/import_delete.html:9 msgid "The current items are linked to this import:" msgstr "Les éléments suivants sont associés à cet import :" -#: templates/ishtar/import_delete.html:18 +#: templates/ishtar/import_delete.html:19 msgid "All these items will be deleted with this import." msgstr "Tous ces éléments vont être supprimés avec cet import." -#: templates/ishtar/import_delete.html:19 +#: templates/ishtar/import_delete.html:20 msgid "Are you sure?" msgstr "Êtes-vous sûr ?" -#: templates/ishtar/import_delete.html:22 +#: templates/ishtar/import_delete.html:23 msgid "Back" msgstr "Retour" @@ -2156,35 +2153,39 @@ msgstr "Retour" msgid "No pending imports." msgstr "Pas d'imports en attente." -#: templates/ishtar/import_list.html:14 +#: templates/ishtar/import_list.html:15 msgctxt "file" msgid "File" msgstr "Fichier" -#: templates/ishtar/import_list.html:16 +#: templates/ishtar/import_list.html:17 msgid "Status" msgstr "État" -#: templates/ishtar/import_list.html:17 +#: templates/ishtar/import_list.html:18 msgid "Action" msgstr "Action" -#: templates/ishtar/import_list.html:25 +#: templates/ishtar/import_list.html:29 msgid "Source file" msgstr "Fichier source" -#: templates/ishtar/import_list.html:50 +#: templates/ishtar/import_list.html:54 msgid "Control file" msgstr "Fichier de contrôle" -#: templates/ishtar/manage_basket.html:9 +#: templates/ishtar/manage_basket.html:10 msgid "Checking \"Select all\" only selects the current page." msgstr "Cocher « Tout sélectionner » sélectionne seulement la page courante." -#: templates/ishtar/manage_basket.html:13 +#: templates/ishtar/manage_basket.html:14 msgid "Basket content" msgstr "Contenu du panier" +#: templates/ishtar/manage_basket.html:22 templates/ishtar/sheet.html:28 +msgid "Close" +msgstr "Fermer" + #: templates/ishtar/merge.html:5 msgid "Merge" msgstr "Fusionner" @@ -2253,10 +2254,6 @@ msgstr "Identification" msgid "Contact informations" msgstr "Coordonnées" -#: templates/ishtar/sheet.html:28 -msgid "Close" -msgstr "Fermer" - #: templates/ishtar/sheet.html:34 msgid "Close all windows" msgstr "Fermer toutes les fenêtres" @@ -2281,60 +2278,64 @@ msgstr "Organisation de l'aménageur des dossiers" msgid "Planning service of archaeological files" msgstr "Service instructeur des dossiers" -#: templates/ishtar/sheet_person.html:21 +#: templates/ishtar/sheet_person.html:23 #: templates/ishtar/wizard/wizard_person.html:19 msgid "Phone type" msgstr "Type de téléphone" -#: templates/ishtar/sheet_person.html:44 +#: templates/ishtar/sheet_person.html:46 #: templates/ishtar/wizard/wizard_person.html:42 msgid "Business address" msgstr "Adresse professionnelle" -#: templates/ishtar/sheet_person.html:52 +#: templates/ishtar/sheet_person.html:55 #: templates/ishtar/wizard/wizard_person.html:51 msgid "Other address" msgstr "Autre adresse" -#: templates/ishtar/sheet_person.html:60 +#: templates/ishtar/sheet_person.html:64 msgid "Associated organization" msgstr "Organisation associée" -#: templates/ishtar/sheet_person.html:71 +#: templates/ishtar/sheet_person.html:76 msgid "Associated operations as scientist" msgstr "Opérations associées en tant que responsable scientifique" -#: templates/ishtar/sheet_person.html:75 +#: templates/ishtar/sheet_person.html:80 msgid "Associated operations as responsible" msgstr "Opérations associées en tant que responsable" -#: templates/ishtar/sheet_person.html:80 +#: templates/ishtar/sheet_person.html:85 #: templates/ishtar/wizard/wizard_person_deletion.html:6 msgid "In charge of archaeological files" msgstr "Responsable des dossiers" -#: templates/ishtar/sheet_person.html:85 +#: templates/ishtar/sheet_person.html:90 #: templates/ishtar/wizard/wizard_person_deletion.html:14 msgid "General contractor of archaeological files" msgstr "Aménageur des dossiers" -#: templates/ishtar/sheet_person.html:90 +#: templates/ishtar/sheet_person.html:95 #: templates/ishtar/wizard/wizard_person_deletion.html:22 msgid "Responsible for planning service of archaeological files" msgstr "Responsable pour le service instructeur des dossiers" -#: templates/ishtar/sheet_person.html:96 +#: templates/ishtar/sheet_person.html:101 msgid "Documents associated to operations" msgstr "Documents des opérations associées" -#: templates/ishtar/sheet_person.html:101 +#: templates/ishtar/sheet_person.html:106 msgid "Documents associated to context records" msgstr "Documents des Unités d'Enregistrement associées" -#: templates/ishtar/sheet_person.html:106 +#: templates/ishtar/sheet_person.html:111 msgid "Documents associated to finds" msgstr "Documents du mobilier associé" +#: templates/ishtar/sheet_source.html:22 +msgid "Web link" +msgstr "Lien Internet" + #: templates/ishtar/blocks/advanced_shortcut_menu.html:15 #: templates/ishtar/blocks/shortcut_menu.html:15 msgid "" @@ -2396,6 +2397,20 @@ msgstr "" "Propulsé par <a href=\"https://ishtar-archeo.net/\">Ishtar</a> v%(VERSION)s -" " logiciel libre sous licence AGPL v3." +#: templates/ishtar/blocks/sheet_creation_section.html:3 +msgctxt "Sheet" +msgid "Creation" +msgstr "Création" + +#: templates/ishtar/blocks/sheet_creation_section.html:12 +msgctxt "Sheet" +msgid "Modification" +msgstr "Modification" + +#: templates/ishtar/blocks/sheet_external_id.html:3 +msgid "Internal ID" +msgstr "ID interne" + #: templates/ishtar/blocks/window_nav.html:6 msgid "Previous version" msgstr "Version précédente" diff --git a/version.py b/version.py index faeadf711..8b36e12b1 100644 --- a/version.py +++ b/version.py @@ -1,4 +1,4 @@ -VERSION = (0, 99, 15) +VERSION = (0, 99, 16) def get_version(): |