summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2016-12-13 11:12:16 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2016-12-13 11:12:16 +0100
commite36ae6b8508a1e60f45a2edffb40e4b104e29de9 (patch)
tree668089a9b4afc76842a42d01b978df7a09d6b907
parent1da20a5b5bb591c0789f570399d9c644ec3e4263 (diff)
downloadIshtar-e36ae6b8508a1e60f45a2edffb40e4b104e29de9.tar.bz2
Ishtar-e36ae6b8508a1e60f45a2edffb40e4b104e29de9.zip
Treatments: fix associated filename - add modify links in sheets
-rw-r--r--archaeological_finds/models_treatments.py6
-rw-r--r--archaeological_finds/templates/ishtar/sheet_treatment.html2
-rw-r--r--archaeological_finds/templates/ishtar/sheet_treatmentfile.html2
-rw-r--r--archaeological_finds/urls.py4
-rw-r--r--archaeological_finds/views.py19
-rw-r--r--archaeological_operations/models.py15
6 files changed, 44 insertions, 4 deletions
diff --git a/archaeological_finds/models_treatments.py b/archaeological_finds/models_treatments.py
index e0fb8683c..ec1ebf7a2 100644
--- a/archaeological_finds/models_treatments.py
+++ b/archaeological_finds/models_treatments.py
@@ -414,6 +414,12 @@ class TreatmentFile(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter):
def __unicode__(self):
return self.cached_label
+ @property
+ def associated_filename(self):
+ return "-".join([str(slugify(getattr(self, attr)))
+ for attr in ('year', 'index', 'internal_reference',
+ 'name') if getattr(self, attr)])
+
def _generate_cached_label(self):
items = [unicode(getattr(self, k))
for k in ['year', 'index', 'internal_reference', 'name'] if
diff --git a/archaeological_finds/templates/ishtar/sheet_treatment.html b/archaeological_finds/templates/ishtar/sheet_treatment.html
index f1bfd68d2..a18cc9873 100644
--- a/archaeological_finds/templates/ishtar/sheet_treatment.html
+++ b/archaeological_finds/templates/ishtar/sheet_treatment.html
@@ -4,7 +4,7 @@
{% block head_title %}{% trans "Treatment" %}{% endblock %}
{% block content %}
-{% window_nav item window_id 'show-treatment' %}
+{% window_nav item window_id 'show-treatment' 'treatment_modify' %}
{% if item.image %}
<a href='{{item.image.url}}' rel="prettyPhoto" title="{{item.label}}" class='photo'><img src='{{item.thumbnail.url}}'/></a>
diff --git a/archaeological_finds/templates/ishtar/sheet_treatmentfile.html b/archaeological_finds/templates/ishtar/sheet_treatmentfile.html
index d569c5f0f..b142d3516 100644
--- a/archaeological_finds/templates/ishtar/sheet_treatmentfile.html
+++ b/archaeological_finds/templates/ishtar/sheet_treatmentfile.html
@@ -4,7 +4,7 @@
{% block head_title %}{% trans "Treatment file" %}{% endblock %}
{% block content %}
-{% window_nav item window_id 'show-treatmentfile' %}
+{% window_nav item window_id 'show-treatmentfile' 'treatmentfile_modify' %}
<p class="window-refs">{{ item.name|default:"" }}</p>
{% if item.internal_reference %}
diff --git a/archaeological_finds/urls.py b/archaeological_finds/urls.py
index 843cfead9..f1ddb1223 100644
--- a/archaeological_finds/urls.py
+++ b/archaeological_finds/urls.py
@@ -96,6 +96,8 @@ urlpatterns = patterns(
check_rights(['change_find', 'change_own_find'])(
views.treatment_modification_wizard),
name='treatment_modification'),
+ url(r'treatment_modify/(?P<pk>.+)/$',
+ views.treatment_modify, name='treatment_modify'),
url(r'^treatment_search/(?P<step>.+)?$',
check_rights(['view_find', 'view_own_find'])(
views.treatment_search_wizard), name='treatment_search'),
@@ -209,6 +211,8 @@ urlpatterns = patterns(
check_rights(['change_find', 'change_own_find'])(
views.treatmentfile_modification_wizard),
name='treatmentfile_modification'),
+ url(r'^treatmentfile_modify/(?P<pk>.+)/$',
+ views.treatmentfile_modify, name='treatmentfile_modify'),
url(r'^treatmentfle_deletion/(?P<step>.+)?$',
check_rights(['change_find', 'change_own_find'])(
views.treatmentfile_deletion_wizard),
diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py
index 2b5aef79c..01e579566 100644
--- a/archaeological_finds/views.py
+++ b/archaeological_finds/views.py
@@ -384,6 +384,16 @@ treatment_modification_wizard = TreatmentModificationWizard.as_view(
url_name='treatment_modification',
)
+
+def treatment_modify(request, pk):
+ treatment_modification_wizard(request)
+ TreatmentModificationWizard.session_set_value(
+ request, 'selec-treatment_modification', 'pk', pk, reset=True)
+ return redirect(reverse(
+ 'treatment_modification',
+ kwargs={'step': 'basetreatment-treatment_modification'}))
+
+
treatment_deletion_wizard = TreatmentDeletionWizard.as_view([
('selec-treatment_deletion', TreatmentFormSelection),
('final-treatment_deletion', TreatmentDeletionForm)],
@@ -466,6 +476,15 @@ treatmentfile_modification_wizard = TreatmentFileModificationWizard.as_view(
url_name='treatmentfile_modification',
)
+
+def treatmentfile_modify(request, pk):
+ treatmentfile_modification_wizard(request)
+ TreatmentFileModificationWizard.session_set_value(
+ request, 'selec-treatmentfile_modification', 'pk', pk, reset=True)
+ return redirect(reverse(
+ 'treatmentfile_modification',
+ kwargs={'step': 'treatmentfile-treatmentfile_modification'}))
+
treatmentfile_deletion_wizard = TreatmentFileDeletionWizard.as_view([
('selec-treatmentfile_deletion', TreatmentFileFormSelection),
('final-treatmentfile_deletion', TreatmentFileDeletionForm)],
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py
index 307d02e97..7507da817 100644
--- a/archaeological_operations/models.py
+++ b/archaeological_operations/models.py
@@ -1037,7 +1037,7 @@ class AdministrativeAct(BaseHistorizedItem, OwnPerms, ValueGetter):
def __unicode__(self):
return settings.JOINT.join(
[unicode(item) for item in [
- self.operation, self.associated_file, self.act_object]
+ self.related_item, self.act_object]
if item])
full_ref_lbl = _(u"Ref.")
@@ -1054,6 +1054,10 @@ class AdministrativeAct(BaseHistorizedItem, OwnPerms, ValueGetter):
return u" ".join(lbl)
@property
+ def associated_filename(self):
+ return self.get_filename()
+
+ @property
def towns(self):
if self.associated_file:
return self.associated_file.towns.all()
@@ -1081,7 +1085,14 @@ class AdministrativeAct(BaseHistorizedItem, OwnPerms, ValueGetter):
@property
def related_item(self):
- return self.operation if self.operation else self.associated_file
+ if self.operation:
+ return self.operation
+ if self.associated_file:
+ return self.associated_file
+ if self.treatment:
+ return self.treatment
+ if self.treatment_file:
+ return self.treatment_file
def get_filename(self):
filename = self.related_item.associated_filename