diff options
| -rw-r--r-- | archaeological_context_records/forms.py | 6 | ||||
| -rw-r--r-- | archaeological_files/forms.py | 18 | ||||
| -rw-r--r-- | archaeological_finds/forms.py | 6 | ||||
| -rw-r--r-- | archaeological_finds/forms_treatments.py | 24 | ||||
| -rw-r--r-- | archaeological_operations/forms.py | 16 | ||||
| -rw-r--r-- | archaeological_warehouse/forms.py | 12 | ||||
| -rw-r--r-- | ishtar_common/forms_common.py | 24 | ||||
| -rw-r--r-- | ishtar_common/templates/ishtar/forms/search_query.html | 2 | ||||
| -rw-r--r-- | ishtar_common/templates/widgets/search_input.html | 6 | ||||
| -rw-r--r-- | ishtar_common/widgets.py | 11 | 
10 files changed, 85 insertions, 40 deletions
diff --git a/archaeological_context_records/forms.py b/archaeological_context_records/forms.py index 3267f806f..2fd3fee9a 100644 --- a/archaeological_context_records/forms.py +++ b/archaeological_context_records/forms.py @@ -60,8 +60,10 @@ class OperationFormSelection(CustomForm, forms.Form):  class RecordSelect(CustomForm, TableSelect):      form_admin_name = _(u"Context record - 001 - Search")      form_slug = "contextrecord-001-search" -    search_vector = forms.CharField(label=_(u"Full text search"), -                                    widget=widgets.SearchWidget) +    search_vector = forms.CharField( +        label=_(u"Full text search"), widget=widgets.SearchWidget( +            'archaeological-context-records', 'contextrecord' +        ))      label = forms.CharField(label=_(u"ID"), max_length=100)      town = get_town_field()      if settings.COUNTRY == 'fr': diff --git a/archaeological_files/forms.py b/archaeological_files/forms.py index 96f12b9f5..645953a78 100644 --- a/archaeological_files/forms.py +++ b/archaeological_files/forms.py @@ -47,8 +47,10 @@ from bootstrap_datepicker.widgets import DatePicker  class FileSelect(TableSelect): -    search_vector = forms.CharField(label=_(u"Full text search"), -                                    widget=widgets.SearchWidget) +    search_vector = forms.CharField( +        label=_(u"Full text search"), widget=widgets.SearchWidget( +            'archaeological-files', 'file' +        ))      year = forms.IntegerField(label=_("Year"))      numeric_reference = forms.IntegerField(label=_("Numeric reference"))      internal_reference = forms.CharField(max_length=200, @@ -407,8 +409,10 @@ class FinalFileDeleteForm(FinalForm):  class AdministrativeActFileModifySelect(TableSelect): -    search_vector = forms.CharField(label=_(u"Full text search"), -                                    widget=widgets.SearchWidget) +    search_vector = forms.CharField( +        label=_(u"Full text search"), widget=widgets.SearchWidget( +            'archaeological-operations', 'administrativeact' +        ))      year = forms.IntegerField(label=_("Year"))      index = forms.IntegerField(label=_("Index"))      if settings.COUNTRY == 'fr': @@ -436,8 +440,10 @@ class AdministrativeActFileModifySelect(TableSelect):  class AdministrativeActFileSelect(TableSelect): -    search_vector = forms.CharField(label=_(u"Full text search"), -                                    widget=widgets.SearchWidget) +    search_vector = forms.CharField( +        label=_(u"Full text search"), widget=widgets.SearchWidget( +            'archaeological-operations', 'administrativeact' +        ))      year = forms.IntegerField(label=_("Year"))      index = forms.IntegerField(label=_("Index"))      if settings.COUNTRY == 'fr': diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py index f814b7fb4..0c9788d4f 100644 --- a/archaeological_finds/forms.py +++ b/archaeological_finds/forms.py @@ -408,8 +408,10 @@ DatingFormSet.form_slug = "find-040-dating"  class FindSelect(CustomForm, TableSelect):      form_admin_name = _(u"Find - 001 - Search")      form_slug = "find-001-search" -    search_vector = forms.CharField(label=_(u"Full text search"), -                                    widget=widgets.SearchWidget) +    search_vector = forms.CharField( +        label=_(u"Full text search"), widget=widgets.SearchWidget( +            'archaeological-finds', 'find' +        ))      base_finds__cache_short_id = forms.CharField(label=_(u"Short ID"))      base_finds__cache_complete_id = forms.CharField(label=_(u"Complete ID"))      label = forms.CharField(label=_(u"Free ID")) diff --git a/archaeological_finds/forms_treatments.py b/archaeological_finds/forms_treatments.py index f2a47e727..ae6152951 100644 --- a/archaeological_finds/forms_treatments.py +++ b/archaeological_finds/forms_treatments.py @@ -44,8 +44,10 @@ logger = logging.getLogger(__name__)  class TreatmentSelect(TableSelect): -    search_vector = forms.CharField(label=_(u"Full text search"), -                                    widget=widgets.SearchWidget) +    search_vector = forms.CharField( +        label=_(u"Full text search"), widget=widgets.SearchWidget( +            'archaeological-finds', 'treatment' +        ))      label = forms.CharField(label=_(u"Label"))      other_reference = forms.CharField(label=_(u"Other ref."))      year = forms.IntegerField(label=_(u"Year")) @@ -322,8 +324,10 @@ class DashboardForm(IshtarForm):  class AdministrativeActTreatmentSelect(TableSelect): -    search_vector = forms.CharField(label=_(u"Full text search"), -                                    widget=widgets.SearchWidget) +    search_vector = forms.CharField( +        label=_(u"Full text search"), widget=widgets.SearchWidget( +            'archaeological-operations', 'administrativeact' +        ))      year = forms.IntegerField(label=_("Year"))      index = forms.IntegerField(label=_("Index"))      act_type = forms.ChoiceField(label=_("Act type"), choices=[]) @@ -393,8 +397,10 @@ class AdministrativeActTreatmentModifForm(  class TreatmentFileSelect(TableSelect): -    search_vector = forms.CharField(label=_(u"Full text search"), -                                    widget=widgets.SearchWidget) +    search_vector = forms.CharField( +        label=_(u"Full text search"), widget=widgets.SearchWidget( +            'archaeological-finds', 'treatmentfile' +        ))      name = forms.CharField(label=_(u"Name"))      internal_reference = forms.CharField(label=_(u"Internal ref."))      year = forms.IntegerField(label=_(u"Year")) @@ -580,8 +586,10 @@ class DashboardTreatmentFileForm(IshtarForm):  class AdministrativeActTreatmentFileSelect(TableSelect): -    search_vector = forms.CharField(label=_(u"Full text search"), -                                    widget=widgets.SearchWidget) +    search_vector = forms.CharField( +        label=_(u"Full text search"), widget=widgets.SearchWidget( +            'archaeological-operations', 'administrativeact' +        ))      year = forms.IntegerField(label=_("Year"))      index = forms.IntegerField(label=_("Index"))      act_type = forms.ChoiceField(label=_("Act type"), choices=[]) diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py index 29a86cc2e..acce3835b 100644 --- a/archaeological_operations/forms.py +++ b/archaeological_operations/forms.py @@ -474,8 +474,9 @@ RecordRelationsFormSet.form_slug = "operation-080-relations"  class OperationSelect(TableSelect):      _model = models.Operation -    search_vector = forms.CharField(label=_(u"Full text search"), -                                    widget=widgets.SearchWidget) +    search_vector = forms.CharField( +        label=_(u"Full text search"), widget=widgets.SearchWidget( +            'archaeological-operations', 'operation'))      year = forms.IntegerField(label=_("Year"))      operation_code = forms.IntegerField(label=_(u"Numeric reference"))      if settings.COUNTRY == 'fr': @@ -1245,8 +1246,9 @@ class OperationDeletionForm(FinalForm):  class SiteSelect(TableSelect): -    search_vector = forms.CharField(label=_(u"Full text search"), -                                    widget=widgets.SearchWidget) +    search_vector = forms.CharField( +        label=_(u"Full text search"), widget=widgets.SearchWidget( +            'archaeological-operations', 'archaeologicalsite'))      reference = forms.CharField(label=_(u"Reference"), max_length=200,                                  required=False)      name = forms.CharField(label=_(u"Name"), max_length=200, required=False) @@ -1357,8 +1359,10 @@ class SiteUnderwaterForm(ManageOldType):  class AdministrativeActOpeSelect(TableSelect): -    search_vector = forms.CharField(label=_(u"Full text search"), -                                    widget=widgets.SearchWidget) +    search_vector = forms.CharField( +        label=_(u"Full text search"), widget=widgets.SearchWidget( +                'archaeological-operations', 'administrativeact' +        ))      year = forms.IntegerField(label=_("Year"))      index = forms.IntegerField(label=_("Index"))      if settings.COUNTRY == 'fr': diff --git a/archaeological_warehouse/forms.py b/archaeological_warehouse/forms.py index e13255efc..09c64a7dc 100644 --- a/archaeological_warehouse/forms.py +++ b/archaeological_warehouse/forms.py @@ -79,8 +79,10 @@ SelectedDivisionFormset.form_slug = "warehouse-020-divisions"  class WarehouseSelect(TableSelect): -    search_vector = forms.CharField(label=_(u"Full text search"), -                                    widget=widgets.SearchWidget) +    search_vector = forms.CharField( +        label=_(u"Full text search"), widget=widgets.SearchWidget( +            'archaeological-warehouse', 'warehouse' +        ))      name = forms.CharField(label=_(u"Name"))      warehouse_type = forms.ChoiceField(label=_(u"Warehouse type"), choices=[])      towns = forms.CharField(label=_(u"Town")) @@ -245,8 +247,10 @@ class ContainerModifyForm(ContainerForm):  class ContainerSelect(TableSelect): -    search_vector = forms.CharField(label=_(u"Full text search"), -                                    widget=widgets.SearchWidget) +    search_vector = forms.CharField( +        label=_(u"Full text search"), widget=widgets.SearchWidget( +            'archaeological-warehouse', 'container' +        ))      location = get_warehouse_field()      container_type = forms.ChoiceField(label=_(u"Container type"), choices=[])      reference = forms.CharField(label=_(u"Ref.")) diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py index 397b87815..ec6f7bc96 100644 --- a/ishtar_common/forms_common.py +++ b/ishtar_common/forms_common.py @@ -338,8 +338,10 @@ class OrganizationForm(ManageOldType, NewItemForm):  class OrganizationSelect(TableSelect): -    search_vector = forms.CharField(label=_(u"Full text search"), -                                    widget=widgets.SearchWidget) +    search_vector = forms.CharField( +        label=_(u"Full text search"), widget=widgets.SearchWidget( +            'ishtar-common', 'organization' +        ))      name = forms.CharField(label=_(u"Name"), max_length=300)      organization_type = forms.ChoiceField(label=_(u"Type"), choices=[]) @@ -453,8 +455,10 @@ class BaseOrganizationForm(forms.ModelForm):  class PersonSelect(TableSelect): -    search_vector = forms.CharField(label=_(u"Full text search"), -                                    widget=widgets.SearchWidget) +    search_vector = forms.CharField( +        label=_(u"Full text search"), widget=widgets.SearchWidget( +            'ishtar-common', 'person' +        ))      name = forms.CharField(label=_(u"Name"), max_length=200)      surname = forms.CharField(label=_(u"Surname"), max_length=50)      email = forms.CharField(label=_(u"Email"), max_length=75) @@ -582,8 +586,10 @@ class PersonUserFormSelection(PersonFormSelection):  class IshtarUserSelect(TableSelect): -    search_vector = forms.CharField(label=_(u"Full text search"), -                                    widget=widgets.SearchWidget) +    search_vector = forms.CharField( +        label=_(u"Full text search"), widget=widgets.SearchWidget( +            'ishtar-common', 'ishtaruser' +        ))      username = forms.CharField(label=_(u"Username"), max_length=200)      name = forms.CharField(label=_(u"Name"), max_length=200)      surname = forms.CharField(label=_(u"Surname"), max_length=50) @@ -1172,8 +1178,10 @@ class DocumentForm(forms.ModelForm, CustomForm, ManageOldType):  class DocumentSelect(TableSelect): -    search_vector = forms.CharField(label=_(u"Full text search"), -                                    widget=widgets.SearchWidget) +    search_vector = forms.CharField( +        label=_(u"Full text search"), widget=widgets.SearchWidget( +            'ishtar-common', 'document' +        ))      authors = forms.IntegerField(          widget=widgets.JQueryAutoComplete(              "/" + settings.URL_PATH + 'autocomplete-author', diff --git a/ishtar_common/templates/ishtar/forms/search_query.html b/ishtar_common/templates/ishtar/forms/search_query.html index ff51d483d..d44c61ade 100644 --- a/ishtar_common/templates/ishtar/forms/search_query.html +++ b/ishtar_common/templates/ishtar/forms/search_query.html @@ -2,7 +2,7 @@  <div class="modal-dialog modal-sm" id="save-search-div">      <div class="modal-content">          <div class="modal-header"> -            <h5>{% trans "Bookmark search" %}</h5> +            <h5>{% trans "Bookmark this search" %}</h5>              <button type="button" class="close" data-dismiss="modal" aria-label="Close">                  <span aria-hidden="true">×</span>              </button> diff --git a/ishtar_common/templates/widgets/search_input.html b/ishtar_common/templates/widgets/search_input.html index 01e49e93b..7f5526b18 100644 --- a/ishtar_common/templates/widgets/search_input.html +++ b/ishtar_common/templates/widgets/search_input.html @@ -23,12 +23,12 @@             id="save-search-button"             data-target="#modal-dynamic-form"             data-modal-open="#modal-dynamic-form" -           title="{% trans 'Bookmark save' %}" -           href="{% url 'save-search-query' 'archaeological-operations' 'operation'%}"> +           title="{% trans 'Bookmark this search' %}" +           href="{% url 'save-search-query' app_name model %}">              <i class="fa fa-star-o" aria-hidden="true"></i>          </a>          <span class="input-group-text input-link disabled" -              title="{% trans 'Load bookmark' %}" +              title="{% trans 'Bookmarks' %}"                id="load-bookmark">              <i class="fa fa-bookmark" aria-hidden="true"></i>          </span> diff --git a/ishtar_common/widgets.py b/ishtar_common/widgets.py index 8788920af..405b5d69e 100644 --- a/ishtar_common/widgets.py +++ b/ishtar_common/widgets.py @@ -479,6 +479,17 @@ if settings.SURFACE_UNIT == 'square-metre':  class SearchWidget(forms.TextInput):      template_name = 'widgets/search_input.html' +    def __init__(self, app_name=None, model=None, attrs=None): +        super(SearchWidget, self).__init__(attrs) +        self.app_name = app_name +        self.model = model + +    def get_context(self, name, value, attrs): +        context = super(SearchWidget, self).get_context(name, value, attrs) +        context['app_name'] = self.app_name +        context['model'] = self.model +        return context +  class ModelFieldMixin(object):      def to_python(self, value):  | 
