from django.contrib.admin import widgets
from django.utils.safestring import mark_safe
from datamaster_modeles.models import Thematique, Pays, Region
-from savoirs.models import Evenement, Discipline, Record, Actualite, RessourceSearch, ActualiteSearch, EvenementSearch, Search
+from savoirs.models import Evenement, Discipline, Record, Actualite, RessourceSearch, ActualiteSearch, \
+ AppelSearch, EvenementSearch, Search
from savoirs.lib.recherche import build_search_regexp
from savoirs.admin import EvenementAdminForm
import settings
class Meta(ActualiteSearchForm.Meta):
fields = ['nom'] + ActualiteSearchForm.Meta.fields
+class AppelSearchForm(forms.ModelForm):
+ """Formulaire de recherche pour les actualités."""
+ date_min = SEPDateField(required=False, label="Depuis le")
+ date_max = SEPDateField(required=False, label="Jusqu'au")
+
+ class Meta:
+ model = AppelSearch
+ fields = ['q', 'date_min', 'date_max', 'discipline', 'region']
+
+class AppelSearchEditForm(AppelSearchForm):
+
+ class Meta(AppelSearchForm.Meta):
+ fields = ['nom'] + AppelSearchForm.Meta.fields
+
class EvenementSearchForm(forms.ModelForm):
"""Formulaire de recherche pour les évènements."""
date_min = SEPDateField(required=False, label="Depuis le")
"""Sauvegarde une recherche"""
if type == 'ressources':
form_class = RessourceSearchEditForm
- elif type in ['actualites', 'appels']:
+ elif type == 'actualites':
form_class = ActualiteSearchEditForm
+ elif type == 'appels':
+ form_class = AppelSearchEditForm
elif type == 'sites':
form_class = SiteSearchEditForm
elif type == 'chercheurs':
recherche = get_object_or_404(Search, id=id, user=request.user).as_leaf_class()
if isinstance(recherche, RessourceSearch):
form_class = RessourceSearchEditForm
- elif isinstance(recherche, ActualiteSearchBase):
+ elif isinstance(recherche, ActualiteSearch):
form_class = ActualiteSearchEditForm
+ elif isinstance(recherche, AppelSearch):
+ form_class = AppelSearchEditForm
elif isinstance(recherche, SiteSearch):
form_class = SiteSearchEditForm
elif isinstance(recherche, ChercheurSearch):