From 8e19be1b27cf14cf0f76d7c4bcd81e520ac95407 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Thu, 4 Apr 2013 14:58:05 +0200 Subject: Forms (operations, context records, files): add search by parcel (refs #575) --- ishtar_common/forms.py | 6 +++++- ishtar_common/forms_common.py | 4 ++-- ishtar_common/static/media/style.css | 3 +++ ishtar_common/views.py | 2 +- ishtar_common/widgets.py | 6 +++--- 5 files changed, 14 insertions(+), 7 deletions(-) (limited to 'ishtar_common') diff --git a/ishtar_common/forms.py b/ishtar_common/forms.py index d66d6d4cc..cb007442e 100644 --- a/ishtar_common/forms.py +++ b/ishtar_common/forms.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2010-2011 Étienne Loks +# Copyright (C) 2010-2013 Étienne Loks # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as @@ -101,6 +101,10 @@ class FormSet(BaseFormSet): form.fields[DELETION_FIELD_NAME].label = '' form.fields[DELETION_FIELD_NAME].widget = widgets.DeleteWidget() +class TableSelect(forms.Form): + def get_input_ids(self): + return self.fields.keys() + def get_now(): format = formats.get_format('DATE_INPUT_FORMATS')[0] value = datetime.datetime.now().strftime(format) diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py index 34a930e36..52fcfc97a 100644 --- a/ishtar_common/forms_common.py +++ b/ishtar_common/forms_common.py @@ -37,7 +37,7 @@ from django.utils.translation import ugettext_lazy as _ import models import widgets -from forms import FinalForm, FormSet, reverse_lazy, name_validator +from forms import FinalForm, FormSet, reverse_lazy, name_validator, TableSelect def get_town_field(label=_(u"Town"), required=True): help_text = _(u"

Type name, department code and/or postal code of the " @@ -234,7 +234,7 @@ class SourceForm(forms.Form): super(SourceForm, self).__init__(*args, **kwargs) self.fields['source_type'].choices = models.SourceType.get_types() -class SourceSelect(forms.Form): +class SourceSelect(TableSelect): authors = forms.IntegerField( widget=widgets.JQueryAutoComplete("/" + settings.URL_PATH + \ 'autocomplete-author', associated_model=models.Author), diff --git a/ishtar_common/static/media/style.css b/ishtar_common/static/media/style.css index 2aa673b51..cad9a224a 100644 --- a/ishtar_common/static/media/style.css +++ b/ishtar_common/static/media/style.css @@ -528,3 +528,6 @@ a.remove{ border:1px solid; } +.widget-parcel{ + width:60px; +} diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 83833e517..54523996f 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -173,7 +173,7 @@ HIERARCHIC_LEVELS = 5 HIERARCHIC_FIELDS = ['period', 'unit', 'material_type'] PRIVATE_FIELDS = ('id', 'history_modifier', 'order') def get_item(model, func_name, default_name, extra_request_keys=[], - base_request={}, bool_fields=[], dated_fields=[]): + base_request={}, bool_fields=[], dated_fields=[]): """ Generic treatment of tables """ diff --git a/ishtar_common/widgets.py b/ishtar_common/widgets.py index ecc48a1e8..1fd0b6ac0 100644 --- a/ishtar_common/widgets.py +++ b/ishtar_common/widgets.py @@ -219,8 +219,8 @@ class JQueryJqGrid(forms.RadioSelect): rendered += "\n

%s

\n" % unicode(_("Search and select an item")) extra_cols = [] col_names, col_idx = [], [] - for k in self.form.fields: - field = self.form.fields[k] + for k in self.form.get_input_ids(): + #field = self.form.fields[k] col_idx.append(u'"%s"' % k) for field_name in getattr(self.associated_model, self.table_cols): field = self.associated_model @@ -292,7 +292,7 @@ class JQueryJqGrid(forms.RadioSelect): } } var mygrid = jQuery("#grid_%(name)s"); - var url = "%(source)s?submited=1&" + data; + var url = "%(source)s?submited=1&" + data; mygrid.setGridParam({url:url}); mygrid.trigger("reloadGrid"); return false; -- cgit v1.2.3