summaryrefslogtreecommitdiff
path: root/archaeological_context_records/wizards.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@proxience.com>2016-01-10 15:35:51 +0100
committerÉtienne Loks <etienne.loks@proxience.com>2016-01-10 15:35:51 +0100
commit11d7e76203e13a6d4c2a0c9aa29bd2d1dd86f5b6 (patch)
tree8d8e7c09faf179b2fed07878d1cf450a245a78d0 /archaeological_context_records/wizards.py
parent19fcd922361b045894c0eeb56e095d785299909e (diff)
parent2c063aace94e5a9f3b5dc596e4a502ef062db059 (diff)
downloadIshtar-11d7e76203e13a6d4c2a0c9aa29bd2d1dd86f5b6.tar.bz2
Ishtar-11d7e76203e13a6d4c2a0c9aa29bd2d1dd86f5b6.zip
Merge branch 'master' into master-land-planner-2999
Diffstat (limited to 'archaeological_context_records/wizards.py')
-rw-r--r--archaeological_context_records/wizards.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/archaeological_context_records/wizards.py b/archaeological_context_records/wizards.py
index 99c666e89..2449b400e 100644
--- a/archaeological_context_records/wizards.py
+++ b/archaeological_context_records/wizards.py
@@ -29,6 +29,14 @@ class RecordWizard(Wizard):
model = models.ContextRecord
edit = False
wizard_done_window = reverse_lazy('show-contextrecord')
+ relations_step_key = 'relations'
+
+ def get_template_names(self):
+ templates = super(RecordWizard, self).get_template_names()
+ current_step = self.steps.current
+ if current_step.startswith(self.relations_step_key):
+ templates = ['ishtar/wizard/relations_wizard.html'] + templates
+ return templates
def get_current_operation(self):
step = self.steps.current
@@ -87,9 +95,21 @@ class RecordWizard(Wizard):
else:
current_object = self.get_current_object()
data['context_record'] = current_object
+ elif step.startswith('relations') and hasattr(form, 'management_form'):
+ data['CONTEXT_RECORDS'] = self.get_other_context_records()
form = super(RecordWizard, self).get_form(step, data, files)
return form
+ def get_other_context_records(self):
+ operation = self.get_current_operation()
+ if not operation:
+ return []
+ q = models.ContextRecord.objects.filter(operation=operation)
+ obj = self.get_current_object()
+ if obj and obj.pk:
+ q = q.exclude(pk=obj.pk)
+ return [(cr.pk, unicode(cr)) for cr in q.all()]
+
class RecordModifWizard(RecordWizard):
modification = True