summaryrefslogtreecommitdiff
path: root/archaeological_operations/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_operations/models.py')
-rw-r--r--archaeological_operations/models.py35
1 files changed, 5 insertions, 30 deletions
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py
index ca649d2d0..fdcb05f80 100644
--- a/archaeological_operations/models.py
+++ b/archaeological_operations/models.py
@@ -33,7 +33,7 @@ from ishtar_common.utils import cached_label_changed
from ishtar_common.models import GeneralType, BaseHistorizedItem, \
HistoricalRecords, LightHistorizedItem, OwnPerms, Department, Source,\
Person, Organization, Town, Dashboard, IshtarUser, ValueGetter, \
- DocumentTemplate, ShortMenuItem
+ DocumentTemplate, ShortMenuItem, DashboardFormItem
FILES_AVAILABLE = 'archaeological_files' in settings.INSTALLED_APPS
class OperationType(GeneralType):
@@ -132,7 +132,8 @@ class ArchaeologicalSite(BaseHistorizedItem):
name += u" %s %s" % (settings.JOINT, self.name)
return name
-class Operation(BaseHistorizedItem, OwnPerms, ValueGetter, ShortMenuItem):
+class Operation(BaseHistorizedItem, OwnPerms, ValueGetter, ShortMenuItem,
+ DashboardFormItem):
TABLE_COLS = ['year_index', 'operation_type', 'remains', 'towns',
'start_date', 'excavation_end_date']
if FILES_AVAILABLE:
@@ -140,6 +141,8 @@ class Operation(BaseHistorizedItem, OwnPerms, ValueGetter, ShortMenuItem):
'associated_file_short_label', 'start_date',
'excavation_end_date']
start_date = models.DateField(_(u"Start date"), null=True, blank=True)
+ creation_date = models.DateField(_(u"Creation date"),
+ default=datetime.date.today)
excavation_end_date = models.DateField(_(u"Excavation end date"), null=True,
blank=True)
end_date = models.DateField(_(u"Closing date"), null=True, blank=True)
@@ -337,34 +340,6 @@ class Operation(BaseHistorizedItem, OwnPerms, ValueGetter, ShortMenuItem):
Max('operation_code'))["operation_code__max"]
return (max_val + 1) if max_val else 1
- @classmethod
- def get_periods(cls, slice='year', fltr={}):
- q = cls.objects
- if fltr:
- q = q.filter(**fltr)
- if slice == 'year':
- max_year = datetime.date.today().year + 1
- return [res['year'] for res in list(
- q.exclude( year__isnull=True
- ).exclude(year__gt=max_year
- ).values('year'
- ).annotate(Count("id")).order_by())]
- return []
-
- @classmethod
- def get_by_year(cls, year, fltr={}):
- q = cls.objects
- if fltr:
- q = q.filter(**fltr)
- return q.filter(year=year)
-
- @classmethod
- def get_total_number(cls, fltr={}):
- q = cls.objects
- if fltr:
- q = q.filter(**fltr)
- return q.count()
-
year_index_lbl = _(u"Operation code")
@property
def year_index(self):