summaryrefslogtreecommitdiff
path: root/archaeological_files/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_files/models.py')
-rw-r--r--archaeological_files/models.py27
1 files changed, 20 insertions, 7 deletions
diff --git a/archaeological_files/models.py b/archaeological_files/models.py
index 52f628817..2a4bcb0aa 100644
--- a/archaeological_files/models.py
+++ b/archaeological_files/models.py
@@ -26,7 +26,8 @@ from django.db.models import Q, Count, Sum
from django.db.models.signals import post_save, m2m_changed, post_delete
from django.utils.translation import ugettext_lazy as _, ugettext
-from ishtar_common.utils import cached_label_changed, get_cache
+from ishtar_common.utils import cached_label_changed, get_cache, \
+ get_current_year
from ishtar_common.models import GeneralType, BaseHistorizedItem, \
HistoricalRecords, OwnPerms, Person, Organization, Department, Town, \
@@ -105,8 +106,7 @@ class File(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter,
}
# fields
- year = models.IntegerField(_(u"Year"),
- default=lambda: datetime.datetime.now().year)
+ year = models.IntegerField(_(u"Year"), default=get_current_year)
numeric_reference = models.IntegerField(
_(u"Numeric reference"), blank=True, null=True)
internal_reference = models.CharField(_(u"Internal reference"), blank=True,
@@ -180,7 +180,7 @@ class File(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter,
comment = models.TextField(_(u"Comment"), null=True, blank=True)
# research archaeology -->
departments = models.ManyToManyField(
- Department, verbose_name=_(u"Departments"), null=True, blank=True)
+ Department, verbose_name=_(u"Departments"), blank=True)
requested_operation_type = models.ForeignKey(
OperationType, related_name='+', null=True,
blank=True, verbose_name=_(u"Requested operation type"))
@@ -430,9 +430,9 @@ class File(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter,
return self.towns.all()[0].numero_insee[:2]
@classmethod
- def get_query_owns(cls, user):
- return (Q(history_creator=user) |
- Q(in_charge__ishtaruser=user.ishtaruser)) \
+ def get_query_owns(cls, ishtaruser):
+ return (Q(history_creator=ishtaruser.user_ptr) |
+ Q(in_charge__ishtaruser=ishtaruser)) \
& Q(end_date__isnull=True)
def is_active(self):
@@ -554,6 +554,19 @@ class FileByDepartment(models.Model):
"""
Database view for dashboard
"""
+ CREATE_SQL = """
+ CREATE VIEW file_department (id, department_id, file_id) as
+ select town."id", town."departement_id", file_towns."file_id"
+ from ishtar_common_town town
+ inner join archaeological_files_file_towns file_towns
+ on file_towns."town_id"=town."id"
+ order by town."departement_id";
+ CREATE RULE file_department_delete
+ AS ON DELETE TO file_department DO INSTEAD();
+ """
+ DELETE_SQL = """
+ DROP VIEW file_department;
+ """
file = models.ForeignKey(File, verbose_name=_(u"File"))
department = models.ForeignKey(Department, verbose_name=_(u"Department"),
blank=True, null=True)