summaryrefslogtreecommitdiff
path: root/archaeological_context_records/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_context_records/models.py')
-rw-r--r--archaeological_context_records/models.py58
1 files changed, 41 insertions, 17 deletions
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)