summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_context_records/migrations/0049_auto_20190711_1401.py75
-rw-r--r--archaeological_context_records/templates/ishtar/sheet_contextrecord.html10
-rw-r--r--archaeological_context_records/tests.py24
-rw-r--r--archaeological_context_records/urls.py2
-rw-r--r--archaeological_context_records/views.py8
-rw-r--r--archaeological_operations/migrations/0058_auto_20190711_1401.py75
-rw-r--r--ishtar_common/models.py18
-rw-r--r--ishtar_common/utils.py38
8 files changed, 200 insertions, 50 deletions
diff --git a/archaeological_context_records/migrations/0049_auto_20190711_1401.py b/archaeological_context_records/migrations/0049_auto_20190711_1401.py
new file mode 100644
index 000000000..7b9ec7f28
--- /dev/null
+++ b/archaeological_context_records/migrations/0049_auto_20190711_1401.py
@@ -0,0 +1,75 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.18 on 2019-07-11 14:01
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import ishtar_common.models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('archaeological_context_records', '0048_auto_20190704_1526'),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name='contextrecord',
+ name='relation_bitmap_image_bellow',
+ ),
+ migrations.RemoveField(
+ model_name='contextrecord',
+ name='relation_dot_bellow',
+ ),
+ migrations.RemoveField(
+ model_name='contextrecord',
+ name='relation_image_bellow',
+ ),
+ migrations.RemoveField(
+ model_name='historicalcontextrecord',
+ name='relation_bitmap_image_bellow',
+ ),
+ migrations.RemoveField(
+ model_name='historicalcontextrecord',
+ name='relation_dot_bellow',
+ ),
+ migrations.RemoveField(
+ model_name='historicalcontextrecord',
+ name='relation_image_bellow',
+ ),
+ migrations.AddField(
+ model_name='contextrecord',
+ name='relation_bitmap_image_below',
+ field=models.FileField(blank=True, help_text='La taille maximale supportée pour le fichier est de 100 Mo.', null=True, upload_to=ishtar_common.models.get_image_path, verbose_name='Generated below relation image (PNG)'),
+ ),
+ migrations.AddField(
+ model_name='contextrecord',
+ name='relation_dot_below',
+ field=models.FileField(blank=True, help_text='La taille maximale supportée pour le fichier est de 100 Mo.', null=True, upload_to=ishtar_common.models.get_image_path, verbose_name='Generated below relation image (DOT)'),
+ ),
+ migrations.AddField(
+ model_name='contextrecord',
+ name='relation_image_below',
+ field=models.FileField(blank=True, help_text='La taille maximale supportée pour le fichier est de 100 Mo.', null=True, upload_to=ishtar_common.models.get_image_path, verbose_name='Generated below relation image (SVG)'),
+ ),
+ migrations.AddField(
+ model_name='historicalcontextrecord',
+ name='relation_bitmap_image_below',
+ field=models.TextField(blank=True, help_text='La taille maximale supportée pour le fichier est de 100 Mo.', max_length=100, null=True, verbose_name='Generated below relation image (PNG)'),
+ ),
+ migrations.AddField(
+ model_name='historicalcontextrecord',
+ name='relation_dot_below',
+ field=models.TextField(blank=True, help_text='La taille maximale supportée pour le fichier est de 100 Mo.', max_length=100, null=True, verbose_name='Generated below relation image (DOT)'),
+ ),
+ migrations.AddField(
+ model_name='historicalcontextrecord',
+ name='relation_image_below',
+ field=models.TextField(blank=True, help_text='La taille maximale supportée pour le fichier est de 100 Mo.', max_length=100, null=True, verbose_name='Generated below relation image (SVG)'),
+ ),
+ migrations.AlterField(
+ model_name='relationtype',
+ name='logical_relation',
+ field=models.CharField(blank=True, choices=[('above', 'Au-dessus'), ('below', 'Below'), ('equal', 'Égal')], max_length=10, null=True, verbose_name='Relation logique'),
+ ),
+ ]
diff --git a/archaeological_context_records/templates/ishtar/sheet_contextrecord.html b/archaeological_context_records/templates/ishtar/sheet_contextrecord.html
index 0643a40fc..811a80fc4 100644
--- a/archaeological_context_records/templates/ishtar/sheet_contextrecord.html
+++ b/archaeological_context_records/templates/ishtar/sheet_contextrecord.html
@@ -276,11 +276,11 @@
{% include "ishtar/blocks/sheet_relation_image.html" %}
{% endwith %}{% endwith %}{% endwith %}{% endwith %}
- <h3>{% trans "Diagram of statigraphic relations - bellow" %}</h3>
- {% with relation_type="bellow" %}
- {% with relation_image=item.relation_image_bellow %}
- {% with relation_png=item.relation_bitmap_image_bellow %}
- {% with relation_dot=item.relation_dot_bellow %}
+ <h3>{% trans "Diagram of statigraphic relations - below" %}</h3>
+ {% with relation_type="below" %}
+ {% with relation_image=item.relation_image_below %}
+ {% with relation_png=item.relation_bitmap_image_below %}
+ {% with relation_dot=item.relation_dot_below %}
{% include "ishtar/blocks/sheet_relation_image.html" %}
{% endwith %}{% endwith %}{% endwith %}{% endwith %}
diff --git a/archaeological_context_records/tests.py b/archaeological_context_records/tests.py
index 9e16603de..496613f86 100644
--- a/archaeological_context_records/tests.py
+++ b/archaeological_context_records/tests.py
@@ -875,8 +875,8 @@ class GraphGenerationTest(ContextRecordInit, TestCase):
def setUp(self):
self.sym_rel_type, __ = models.RelationType.objects.get_or_create(
symmetrical=True, txt_idx='sym', logical_relation='equal')
- self.rel_type_bellow, __ = models.RelationType.objects.get_or_create(
- symmetrical=False, txt_idx='bellow', logical_relation='bellow')
+ self.rel_type_below, __ = models.RelationType.objects.get_or_create(
+ symmetrical=False, txt_idx='below', logical_relation='below')
self.rel_type_above, __ = models.RelationType.objects.get_or_create(
symmetrical=False, txt_idx='above', logical_relation='above')
self.create_context_record({"label": u"CR 1"})
@@ -905,17 +905,17 @@ class GraphGenerationTest(ContextRecordInit, TestCase):
models.RecordRelations.objects.create(
left_record=cr_1, right_record=cr_2,
- relation_type=self.rel_type_bellow)
+ relation_type=self.rel_type_below)
models.RecordRelations.objects.create(
left_record=cr_3, right_record=cr_2,
relation_type=self.rel_type_above)
models.RecordRelations.objects.create(
left_record=cr_3, right_record=cr_4,
- relation_type=self.rel_type_bellow)
+ relation_type=self.rel_type_below)
models.RecordRelations.objects.create(
left_record=cr_1B, right_record=cr_2B,
- relation_type=self.rel_type_bellow)
+ relation_type=self.rel_type_below)
models.RecordRelations.objects.create(
left_record=cr_3B, right_record=cr_2B,
relation_type=self.rel_type_above)
@@ -924,7 +924,7 @@ class GraphGenerationTest(ContextRecordInit, TestCase):
relation_type=self.rel_type_above)
models.RecordRelations.objects.create(
left_record=cr_2D, right_record=cr_3B,
- relation_type=self.rel_type_bellow)
+ relation_type=self.rel_type_below)
def test_gen_relation(self):
generate_relation_graph(self.cr_2)
@@ -978,13 +978,13 @@ class GraphGenerationTest(ContextRecordInit, TestCase):
self.assertNotIn('"CR 2C"', content)
self.assertNotIn('"CR 2D"', content)
- def test_gen_relation_bellow(self):
- generate_relation_graph(self.cr_2, render_bellow=False)
+ def test_gen_relation_below(self):
+ generate_relation_graph(self.cr_2, render_below=False)
cr_2 = models.ContextRecord.objects.get(pk=self.cr_2.pk)
- self.assertIsNotNone(cr_2.relation_image_bellow)
- self.assertIsNotNone(cr_2.relation_bitmap_image_bellow)
- self.assertIsNotNone(cr_2.relation_dot_bellow)
- content = open(cr_2.relation_dot_bellow.path).read()
+ self.assertIsNotNone(cr_2.relation_image_below)
+ self.assertIsNotNone(cr_2.relation_bitmap_image_below)
+ self.assertIsNotNone(cr_2.relation_dot_below)
+ content = open(cr_2.relation_dot_below.path).read()
self.assertNotIn('"CR 1"', content)
self.assertNotIn('"CR 1B"', content)
self.assertIn('"CR 2B"', content)
diff --git a/archaeological_context_records/urls.py b/archaeological_context_records/urls.py
index 96882e20d..0b46f4de8 100644
--- a/archaeological_context_records/urls.py
+++ b/archaeological_context_records/urls.py
@@ -54,7 +54,7 @@ urlpatterns = [
url(r'revert-contextrecord/(?P<pk>.+)/(?P<date>.+)$',
views.revert_contextrecord, name='revert-contextrecord'),
url(r'generate-relation-image-contextrecord/(?P<pk>.+)/('
- r'?P<type>(bellow)|(above)|(full))?',
+ r'?P<type>(below)|(above)|(full))?',
views.GenerateRelationImage.as_view(),
name='generate-relation-image-contextrecord'),
url(r'get-contextrecord/own/(?P<type>.+)?$', views.get_contextrecord,
diff --git a/archaeological_context_records/views.py b/archaeological_context_records/views.py
index e27aacb41..a1232b138 100644
--- a/archaeological_context_records/views.py
+++ b/archaeological_context_records/views.py
@@ -194,15 +194,15 @@ class GenerateRelationImage(IshtarMixin, LoginRequiredMixin, RedirectView):
self.item = self.model.objects.get(pk=kwargs['pk'])
except self.model.DoesNotExist:
raise Http404()
- render_above, render_bellow, full = True, True, False
+ render_above, render_below, full = True, True, False
if render_type == "above":
- render_bellow = False
- elif render_type == "bellow":
+ render_below = False
+ elif render_type == "below":
render_above = False
elif render_type == "full":
full = True
self.item.generate_relation_image(
- render_bellow=render_bellow, render_above=render_above, full=full)
+ render_below=render_below, render_above=render_above, full=full)
return super(GenerateRelationImage, self).get(request, *args, **kwargs)
diff --git a/archaeological_operations/migrations/0058_auto_20190711_1401.py b/archaeological_operations/migrations/0058_auto_20190711_1401.py
new file mode 100644
index 000000000..c9b420c44
--- /dev/null
+++ b/archaeological_operations/migrations/0058_auto_20190711_1401.py
@@ -0,0 +1,75 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.18 on 2019-07-11 14:01
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import ishtar_common.models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('archaeological_operations', '0057_auto_20190704_1526'),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name='historicaloperation',
+ name='relation_bitmap_image_bellow',
+ ),
+ migrations.RemoveField(
+ model_name='historicaloperation',
+ name='relation_dot_bellow',
+ ),
+ migrations.RemoveField(
+ model_name='historicaloperation',
+ name='relation_image_bellow',
+ ),
+ migrations.RemoveField(
+ model_name='operation',
+ name='relation_bitmap_image_bellow',
+ ),
+ migrations.RemoveField(
+ model_name='operation',
+ name='relation_dot_bellow',
+ ),
+ migrations.RemoveField(
+ model_name='operation',
+ name='relation_image_bellow',
+ ),
+ migrations.AddField(
+ model_name='historicaloperation',
+ name='relation_bitmap_image_below',
+ field=models.TextField(blank=True, help_text='La taille maximale supportée pour le fichier est de 100 Mo.', max_length=100, null=True, verbose_name='Generated below relation image (PNG)'),
+ ),
+ migrations.AddField(
+ model_name='historicaloperation',
+ name='relation_dot_below',
+ field=models.TextField(blank=True, help_text='La taille maximale supportée pour le fichier est de 100 Mo.', max_length=100, null=True, verbose_name='Generated below relation image (DOT)'),
+ ),
+ migrations.AddField(
+ model_name='historicaloperation',
+ name='relation_image_below',
+ field=models.TextField(blank=True, help_text='La taille maximale supportée pour le fichier est de 100 Mo.', max_length=100, null=True, verbose_name='Generated below relation image (SVG)'),
+ ),
+ migrations.AddField(
+ model_name='operation',
+ name='relation_bitmap_image_below',
+ field=models.FileField(blank=True, help_text='La taille maximale supportée pour le fichier est de 100 Mo.', null=True, upload_to=ishtar_common.models.get_image_path, verbose_name='Generated below relation image (PNG)'),
+ ),
+ migrations.AddField(
+ model_name='operation',
+ name='relation_dot_below',
+ field=models.FileField(blank=True, help_text='La taille maximale supportée pour le fichier est de 100 Mo.', null=True, upload_to=ishtar_common.models.get_image_path, verbose_name='Generated below relation image (DOT)'),
+ ),
+ migrations.AddField(
+ model_name='operation',
+ name='relation_image_below',
+ field=models.FileField(blank=True, help_text='La taille maximale supportée pour le fichier est de 100 Mo.', null=True, upload_to=ishtar_common.models.get_image_path, verbose_name='Generated below relation image (SVG)'),
+ ),
+ migrations.AlterField(
+ model_name='relationtype',
+ name='logical_relation',
+ field=models.CharField(blank=True, choices=[('above', 'Au-dessus'), ('below', 'Below'), ('equal', 'Égal')], max_length=10, null=True, verbose_name='Relation logique'),
+ ),
+ ]
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index da05955ce..f39cdabe8 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -1226,16 +1226,16 @@ class RelationItem(models.Model):
_("Generated above relation image (PNG)"), null=True, blank=True,
upload_to=get_image_path, help_text=max_size_help()
)
- relation_image_bellow = models.FileField(
- _("Generated bellow relation image (SVG)"), null=True, blank=True,
+ relation_image_below = models.FileField(
+ _("Generated below relation image (SVG)"), null=True, blank=True,
upload_to=get_image_path, help_text=max_size_help()
)
- relation_dot_bellow = models.FileField(
- _("Generated bellow relation image (DOT)"), null=True, blank=True,
+ relation_dot_below = models.FileField(
+ _("Generated below relation image (DOT)"), null=True, blank=True,
upload_to=get_image_path, help_text=max_size_help()
)
- relation_bitmap_image_bellow = models.FileField(
- _("Generated bellow relation image (PNG)"), null=True, blank=True,
+ relation_bitmap_image_below = models.FileField(
+ _("Generated below relation image (PNG)"), null=True, blank=True,
upload_to=get_image_path, help_text=max_size_help()
)
@@ -1244,10 +1244,10 @@ class RelationItem(models.Model):
def generate_relation_image(
self, highlight_current=True, render_above=True,
- render_bellow=True, full=False):
+ render_below=True, full=False):
generate_relation_graph(self, highlight_current=highlight_current,
render_above=render_above,
- render_bellow=render_bellow, full=full)
+ render_below=render_below, full=full)
class JsonDataSection(models.Model):
@@ -2285,7 +2285,7 @@ class BaseHistorizedItem(StatisticItem, TemplateItem, FullSearch, Imported,
LOGICAL_TYPES = (
('above', _("Above")),
- ('bellow', _("Bellow")),
+ ('below', _("Below")),
('equal', _("Equal"))
)
diff --git a/ishtar_common/utils.py b/ishtar_common/utils.py
index 43603b2e1..388f54ff4 100644
--- a/ishtar_common/utils.py
+++ b/ishtar_common/utils.py
@@ -1092,7 +1092,7 @@ def create_default_areas(models=None, verbose=False):
def get_relations_for_graph(rel_model, obj_pk, above_relations=None,
equal_relations=None, treated=None, styles=None,
- render_above=True, render_bellow=True, full=False):
+ render_above=True, render_below=True, full=False):
"""
Get all above and equal relations of an object (get all child and parent
relations)
@@ -1103,7 +1103,7 @@ def get_relations_for_graph(rel_model, obj_pk, above_relations=None,
:param treated: treated relation list to prevent circular call
:param styles: current styles
:param render_above: render relation above the current object
- :param render_bellow: render relation bellow the current object
+ :param render_below: render relation below the current object
:param full: render the full graph
:return: above and equal relations list (each containing lists of two
members)
@@ -1130,23 +1130,23 @@ def get_relations_for_graph(rel_model, obj_pk, above_relations=None,
relation_type__logical_relation__isnull=False), True)):
q = q.values("left_record_id",'right_record_id',
'relation_type__logical_relation')
- get_above, get_bellow = render_above, render_bellow
- if inverse and (not render_above or not render_bellow):
- get_above, get_bellow = not render_above, not render_bellow
+ get_above, get_below = render_above, render_below
+ if inverse and (not render_above or not render_below):
+ get_above, get_below = not render_above, not render_below
for relation in q.all():
logical_relation = relation['relation_type__logical_relation']
left_record = relation['left_record_id']
right_record = relation['right_record_id']
- is_above, is_bellow = False, False
+ is_above, is_below = False, False
if not logical_relation:
continue
- elif get_bellow and logical_relation == 'above' and \
+ elif get_below and logical_relation == 'above' and \
(left_record, right_record) not in above_relations:
above_relations.append((left_record, right_record))
- is_bellow = True
- elif get_above and logical_relation == 'bellow' and \
+ is_below = True
+ elif get_above and logical_relation == 'below' and \
(right_record, left_record) not in above_relations:
above_relations.append((right_record, left_record))
is_above = True
@@ -1161,27 +1161,27 @@ def get_relations_for_graph(rel_model, obj_pk, above_relations=None,
other_record = left_record
else:
other_record = right_record
- if get_above and get_bellow and not full and (is_bellow or
- is_above):
- if (is_above and not inverse) or (is_bellow and inverse):
+ if get_above and get_below and not full and (is_below or
+ is_above):
+ if (is_above and not inverse) or (is_below and inverse):
ar, er, substyles = get_relations_for_graph(
rel_model, other_record, above_relations,
equal_relations, treated, styles,
render_above=True,
- render_bellow=False
+ render_below=False
)
else:
ar, er, substyles = get_relations_for_graph(
rel_model, other_record, above_relations,
equal_relations, treated, styles,
render_above=False,
- render_bellow=True
+ render_below=True
)
else:
ar, er, substyles = get_relations_for_graph(
rel_model, other_record, above_relations, equal_relations,
treated, styles, render_above=render_above,
- render_bellow=render_bellow, full=full
+ render_below=render_below, full=full
)
styles.update(substyles)
error_style = "color=red"
@@ -1213,7 +1213,7 @@ def get_relations_for_graph(rel_model, obj_pk, above_relations=None,
def generate_relation_graph(obj, highlight_current=True,
- render_above=True, render_bellow=True,
+ render_above=True, render_below=True,
full=False, debug=False):
if not settings.DOT_BINARY:
return
@@ -1224,7 +1224,7 @@ def generate_relation_graph(obj, highlight_current=True,
# get relations
above_relations, equal_relations, styles = get_relations_for_graph(
rel_model, obj.pk, render_above=render_above,
- render_bellow=render_bellow, full=full)
+ render_below=render_below, full=full)
# generate dotfile
dot_str = "digraph relations {\nnode [shape=box];\n"
@@ -1284,8 +1284,8 @@ def generate_relation_graph(obj, highlight_current=True,
dot_file.write(dot_str)
if not render_above:
- suffix = "_bellow"
- elif not render_bellow:
+ suffix = "_below"
+ elif not render_below:
suffix = "_above"
else:
suffix = ""