summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ishtar/furnitures/forms.py28
-rw-r--r--ishtar/furnitures/urls.py8
-rw-r--r--ishtar/locale/fr/LC_MESSAGES/django.po2
-rw-r--r--ishtar/templates/search.html25
4 files changed, 62 insertions, 1 deletions
diff --git a/ishtar/furnitures/forms.py b/ishtar/furnitures/forms.py
index 769e5d509..467d2b342 100644
--- a/ishtar/furnitures/forms.py
+++ b/ishtar/furnitures/forms.py
@@ -117,6 +117,19 @@ class FormSet(BaseFormSet):
form.fields[DELETION_FIELD_NAME].label = ''
form.fields[DELETION_FIELD_NAME].widget = widgets.DeleteWidget()
+class SearchWizard(NamedUrlSessionFormWizard):
+ model = None
+
+ def get_wizard_name(self):
+ """
+ As the class name can interfere when reused, use the url_name
+ """
+ return self.url_name
+
+ def get_template(self, request, storage):
+ templates = ['search.html']
+ return templates
+
class Wizard(NamedUrlSessionFormWizard):
model = None
@@ -1048,6 +1061,9 @@ def is_preventive(form_name, model, type_key='file_type', key=''):
return False
return func
+file_search_wizard = SearchWizard([('general-file_search', FileFormSelection)],
+ url_name='file_search',)
+
file_creation_wizard = FileWizard([
('general-file_creation', FileFormGeneral),
('address-file_creation', FileFormAddress),
@@ -1627,6 +1643,10 @@ PeriodFormset = formset_factory(PeriodForm, can_delete=True,
formset=PeriodFormSet)
PeriodFormset.form_label = _("Periods")
+operation_search_wizard = SearchWizard([
+ ('general-operation_search', OperationFormSelection)],
+ url_name='operation_search',)
+
operation_creation_wizard = OperationWizard([
('general-operation_creation', OperationFormGeneral),
('refs-operation_creation', OperationFormReference),
@@ -1893,6 +1913,10 @@ class RecordFormInterpretation(forms.Form):
tpq_estimated = forms.IntegerField(label=_(u"Estimated TPQ"),
required=False)
+record_search_wizard = SearchWizard([
+ ('general-record_search', RecordFormSelection)],
+ url_name='record_search',)
+
record_creation_wizard = RecordWizard([
('selec-record_creation', OperationFormSelection),
('general-record_creation', RecordFormGeneral),
@@ -2005,6 +2029,10 @@ class ItemFormSelection(forms.Form):
ItemSelect(), models.Item),
validators=[models.valid_id(models.Item)])
+item_search_wizard = SearchWizard([
+ ('general-item_search', ItemFormSelection)],
+ url_name='item_search',)
+
item_modification_wizard = ItemWizard([
('selec-item_modification', ItemFormSelection),
('item-item_modification', ItemForm),
diff --git a/ishtar/furnitures/urls.py b/ishtar/furnitures/urls.py
index 5132e2f55..0cf3c5b9f 100644
--- a/ishtar/furnitures/urls.py
+++ b/ishtar/furnitures/urls.py
@@ -32,6 +32,8 @@ urlpatterns = patterns('',
ishtar_forms.person_modification_wizard, name='person_modification'),
url(BASE_URL + r'account_management/(?P<step>.+)$',
ishtar_forms.account_management_wizard, name='account_management'),
+ url(BASE_URL + r'file_search/(?P<step>.+)$',
+ ishtar_forms.file_search_wizard, name='file_search'),
url(BASE_URL + r'file_creation/(?P<step>.+)$',
ishtar_forms.file_creation_wizard, name='file_creation'),
url(BASE_URL + r'file_modification/(?P<step>.+)$',
@@ -46,6 +48,8 @@ urlpatterns = patterns('',
url(BASE_URL + r'file_administrativeact_deletion/(?P<step>.+)$',
ishtar_forms.file_administrativeact_deletion_wizard,
name='file_administrativeact_deletion'),
+ url(BASE_URL + r'operation_search/(?P<step>.+)$',
+ ishtar_forms.operation_search_wizard, name='operation_search'),
url(BASE_URL + r'operation_creation/(?P<step>.+)$',
ishtar_forms.operation_creation_wizard, name='operation_creation'),
url(BASE_URL + r'operation_modification/(?P<step>.+)$',
@@ -63,12 +67,16 @@ urlpatterns = patterns('',
url(BASE_URL + r'operation_administrativeact_deletion/(?P<step>.+)$',
ishtar_forms.operation_administrativeact_deletion_wizard,
name='operation_administrativeact_deletion'),
+ url(BASE_URL + r'record_search/(?P<step>.+)$',
+ ishtar_forms.record_search_wizard, name='record_search'),
url(BASE_URL + r'record_creation/(?P<step>.+)$',
ishtar_forms.record_creation_wizard, name='record_creation'),
url(BASE_URL + r'record_modification/(?P<step>.+)$',
ishtar_forms.record_modification_wizard, name='record_modification'),
url(BASE_URL + r'record_deletion/(?P<step>.+)$',
ishtar_forms.record_deletion_wizard, name='record_deletion'),
+ url(BASE_URL + r'item_search/(?P<step>.+)$',
+ ishtar_forms.item_search_wizard, name='item_search'),
url(BASE_URL + r'item_creation/(?P<step>.+)$',
ishtar_forms.item_creation_wizard, name='item_creation'),
url(BASE_URL + r'item_modification/(?P<step>.+)$',
diff --git a/ishtar/locale/fr/LC_MESSAGES/django.po b/ishtar/locale/fr/LC_MESSAGES/django.po
index 0133829c4..1f28ea3bd 100644
--- a/ishtar/locale/fr/LC_MESSAGES/django.po
+++ b/ishtar/locale/fr/LC_MESSAGES/django.po
@@ -1578,7 +1578,7 @@ msgstr "Commune"
#: templates/sheet_ope.html:75 templates/sheet_operation.html:76
msgid "No parcel associated to this operation"
-msgstr "Pas de pacelle associée à cette opération"
+msgstr "Pas de parcelle associée à cette opération"
#: templates/sheet_ope.html:96 templates/sheet_operation.html:96
msgid "No administrative act associated to this operation"
diff --git a/ishtar/templates/search.html b/ishtar/templates/search.html
new file mode 100644
index 000000000..5787cb2c6
--- /dev/null
+++ b/ishtar/templates/search.html
@@ -0,0 +1,25 @@
+{% extends "base.html" %}
+{% load i18n %}
+{% load range %}
+{% block extra_head %}
+{{form.media}}
+{% endblock %}
+{% block content %}
+<div class='form'>
+{% if form.forms %}
+<div class='top_button'><input type="submit" id="submit_form" value="{% trans "Validate" %}"/></div>
+<table class='formset'>
+ {%if form.non_form_errors%}<tr class='error'><th colspan='2'>{{form.non_form_errors}}</th></tr>{%endif%}
+ {{ form.management_form }}
+ {% for formsetform in form.forms %}
+ {{ formsetform.as_table }}
+ {% endfor %}
+ <tr class='modify'><td colspan="2"><button name="formset_modify" value="{{form_step}}">{% trans "Add/Modify" %}</button></td></tr></li>
+</table>
+{% else %}
+<table>
+ {{ form.as_table }}
+</table>
+{% endif %}
+</div>
+{% endblock %}