summaryrefslogtreecommitdiff
path: root/archaeological_files/wizards.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@proxience.com>2015-08-18 15:07:58 +0200
committerÉtienne Loks <etienne.loks@proxience.com>2015-08-18 15:07:58 +0200
commit601bcd199a5078ad951f3bce77edc0f1f940a790 (patch)
treecd116e3bfaab2167f5f63ddc350eb55b678acf23 /archaeological_files/wizards.py
parentb158c7375e7cf025b9a3f11cc6978b8a6c6f45b6 (diff)
downloadIshtar-601bcd199a5078ad951f3bce77edc0f1f940a790.tar.bz2
Ishtar-601bcd199a5078ad951f3bce77edc0f1f940a790.zip
Archaeological files: associate many towns. PEP8 and formating.
Diffstat (limited to 'archaeological_files/wizards.py')
-rw-r--r--archaeological_files/wizards.py68
1 files changed, 20 insertions, 48 deletions
diff --git a/archaeological_files/wizards.py b/archaeological_files/wizards.py
index 00949b8db..7fac15c66 100644
--- a/archaeological_files/wizards.py
+++ b/archaeological_files/wizards.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
-# Copyright (C) 2012-2014 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
+# Copyright (C) 2012-2015 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -25,15 +25,14 @@ from django.template import RequestContext
from django.utils.translation import ugettext_lazy as _
from ishtar_common.forms import reverse_lazy
-from ishtar_common.wizards import Wizard, ClosingWizard
+from ishtar_common.wizards import ClosingWizard
from archaeological_operations.wizards import OperationWizard,\
- OperationAdministrativeActWizard,\
- AdministrativeActDeletionWizard
-from ishtar_common.models import Town
+ OperationAdministrativeActWizard
from archaeological_operations.models import AdministrativeAct, Parcel, \
- Operation
+ Operation
import models
+
class FileWizard(OperationWizard):
model = models.File
object_parcel_type = 'associated_file'
@@ -41,46 +40,11 @@ class FileWizard(OperationWizard):
town_step_keys = ['towns-']
wizard_done_window = reverse_lazy('show-file')
- '''
- def get_form(self, step=None, data=None, files=None):
- """
- Manage towns
- """
- if data:
- data = data.copy()
- else:
- data = {}
- # manage the dynamic choice of towns
- if not step:
- # step = self.determine_step(request, storage)
- step = self.steps.current
- form = self.get_form_list()[step]
- town_form_key = self.town_step_key
- town_form_key += self.url_name
- if step.startswith(self.parcel_step_key) \
- and hasattr(form, 'management_form') \
- and self.session_has_key(town_form_key):
- towns = []
- qdict = self.request.session[self.storage.prefix]['step_data']\
- [town_form_key]
- for k in qdict.keys():
- if k.endswith("town") and qdict[k]:
- try:
- town = Town.objects.get(pk=int(qdict[k][0]))
- towns.append((town.pk, unicode(town)))
- except (ObjectDoesNotExist, ValueError):
- pass
- data['TOWNS'] = sorted(towns, key=lambda x:x[1])
- form = super(FileWizard, self).get_form(step, data, files)
- """
- return form
- '''
-
def get_extra_model(self, dct, form_list):
dct = super(FileWizard, self).get_extra_model(dct, form_list)
if not dct.get('numeric_reference'):
- current_ref = models.File.objects.filter(year=dct['year']
- ).aggregate(Max('numeric_reference'))["numeric_reference__max"]
+ current_ref = models.File.objects.filter(year=dct['year'])\
+ .aggregate(Max('numeric_reference'))["numeric_reference__max"]
dct['numeric_reference'] = current_ref and current_ref + 1 or 1
return dct
@@ -126,9 +90,11 @@ class FileWizard(OperationWizard):
parcel.save()
return res
+
class FileModificationWizard(FileWizard):
modification = True
+
class FileClosingWizard(ClosingWizard):
model = models.File
fields = ['year', 'numeric_reference', 'internal_reference',
@@ -139,12 +105,14 @@ class FileClosingWizard(ClosingWizard):
fields += ['saisine_type', 'reference_number']
fields += ['towns']
+
class FileDeletionWizard(FileClosingWizard):
def get_formated_datas(self, forms):
datas = super(FileDeletionWizard, self).get_formated_datas(forms)
datas.append((_("Associated operations"), []))
for operation in Operation.objects.filter(
- associated_file=self.current_obj).all():
+ associated_file=self.current_obj).all():
+
if operation.end_date:
datas[-1][1].append(('', unicode(operation)))
return datas
@@ -154,8 +122,9 @@ class FileDeletionWizard(FileClosingWizard):
for operation in Operation.objects.filter(associated_file=obj).all():
operation.delete()
obj.delete()
- return render_to_response('ishtar/wizard/wizard_delete_done.html', {},
- context_instance=RequestContext(self.request))
+ return render_to_response(
+ 'ishtar/wizard/wizard_delete_done.html', {},
+ context_instance=RequestContext(self.request))
class FileAdministrativeActWizard(OperationAdministrativeActWizard):
@@ -168,8 +137,9 @@ class FileAdministrativeActWizard(OperationAdministrativeActWizard):
# and '_deletion' so it is creation
file_id = self.session_get_value(form_key, "pk")
try:
- return ((_(u"Archaelogical file"),
- unicode(models.File.objects.get(pk=file_id))),)
+ return (
+ (_(u"Archaelogical file"),
+ unicode(models.File.objects.get(pk=file_id))),)
except models.File.DoesNotExist:
return
else:
@@ -183,8 +153,10 @@ class FileAdministrativeActWizard(OperationAdministrativeActWizard):
except AdministrativeAct.DoesNotExist:
return
+
class FileEditAdministrativeActWizard(FileAdministrativeActWizard):
model = AdministrativeAct
edit = True
+
def get_associated_item(self, dct):
return self.get_current_object().associated_file