summaryrefslogtreecommitdiff
path: root/archaeological_files
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_files')
-rw-r--r--archaeological_files/migrations/0003_views.py16
-rw-r--r--archaeological_files/models.py13
2 files changed, 29 insertions, 0 deletions
diff --git a/archaeological_files/migrations/0003_views.py b/archaeological_files/migrations/0003_views.py
new file mode 100644
index 000000000..5e3d891ad
--- /dev/null
+++ b/archaeological_files/migrations/0003_views.py
@@ -0,0 +1,16 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import models, migrations
+from archaeological_files.models import FileByDepartment
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('archaeological_files', '0002_auto_20170414_2123'),
+ ]
+
+ operations = [
+ migrations.RunSQL(FileByDepartment.CREATE_SQL)
+ ]
diff --git a/archaeological_files/models.py b/archaeological_files/models.py
index 412cceb46..2bd5eba9c 100644
--- a/archaeological_files/models.py
+++ b/archaeological_files/models.py
@@ -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)