diff options
-rw-r--r-- | ishtar/furnitures/forms.py | 28 | ||||
-rw-r--r-- | ishtar/furnitures/urls.py | 8 | ||||
-rw-r--r-- | ishtar/locale/fr/LC_MESSAGES/django.po | 2 | ||||
-rw-r--r-- | ishtar/templates/search.html | 25 |
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 %} |