diff options
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 |
commit | 11d7e76203e13a6d4c2a0c9aa29bd2d1dd86f5b6 (patch) | |
tree | 8d8e7c09faf179b2fed07878d1cf450a245a78d0 /archaeological_context_records/wizards.py | |
parent | 19fcd922361b045894c0eeb56e095d785299909e (diff) | |
parent | 2c063aace94e5a9f3b5dc596e4a502ef062db059 (diff) | |
download | Ishtar-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.py | 20 |
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 |