diff --git a/app/forms/search.py b/app/forms/search.py index 6a4f8e9..0ef2ce8 100644 --- a/app/forms/search.py +++ b/app/forms/search.py @@ -9,6 +9,7 @@ from app.models.forum import Forum class SearchForm(FlaskForm): q = StringField('Rechercher', validators=[InputRequired()]) + class AdvancedSearchForm(SearchForm): def generate_choices(): choices = {'Forum': [ @@ -39,11 +40,16 @@ class AdvancedSearchForm(SearchForm): choices['Forum'].append('Administration') # Forum reserved to members of CreativeCalc f = Forum.query.filter_by(url='/creativecalc').first() - if (current_user.is_athenticated and current_user.can_access_forum(f)): + if (current_user.is_authenticated and current_user.can_access_forum(f)): choices['Forum'].append('CreativeCalc') return choices - sortBy = SelectField('Trier', choices={'date': ['croissant', 'décroissant'],'alphabétique': ['croissant', 'décroissant']}, validators=[Optional()]) + sortBy = SelectField('Trier', + choices={'date': ['Date croissante', + 'Date décroissante'], + 'alphabétique': ['Alphabétique croissant', + 'Alphabétique décroissant']}, + validators=[Optional()]) date = DateField('Date de publication', validators=[Optional()]) scope = SelectMultipleField('', choices=generate_choices, validators=[Optional()]) submit = SubmitField('Affiner la recherche') diff --git a/app/static/css/search.css b/app/static/css/search.css new file mode 100644 index 0000000..4b1aba9 --- /dev/null +++ b/app/static/css/search.css @@ -0,0 +1,38 @@ +section.form.search form { + display: grid; + grid-template-areas: 'search search submit''date sort scope''none none scope'; + grid-template-rows: 40% 40% 20%; + grid-template-rows: 5em 5em 100%; +} +section.form.search form div.query { + grid-area: search; +} +section.form.search form div.submit { + grid-area: submit; + display: flex; + align-items: center; + width: 40%; + margin-left: 1em; +} +section.form.search form div.date { + grid-area: date; +} +section.form.search form div.date input#date { + width: 80%; +} +section.form.search form div.sort { + grid-area: sort; + margin-left: 2em; +} +section.form.search form div.scope { + grid-area: scope; + width: 80%; + margin-left: 1em; +} +section.form.search form div.scope select { + width: 100%; +} +section.search-results { + width: 100%; + min-height: 50vh; +} \ No newline at end of file diff --git a/app/static/less/search.less b/app/static/less/search.less new file mode 100644 index 0000000..7bc7cde --- /dev/null +++ b/app/static/less/search.less @@ -0,0 +1,48 @@ +section.form.search form { + display: grid; + grid-template-areas: + 'search search submit' + 'date sort scope' + 'none none scope'; + grid-template-rows: 40% 40% 20%; + grid-template-rows: 5em 5em 100%; + + & div.query { + grid-area: search; + } + + & div.submit { + grid-area: submit; + display: flex; + align-items: center; + width: 40%; + margin-left: 1em; + } + + & div.date { + grid-area: date; + & input#date { + width: 80%; + } + } + + & div.sort { + grid-area: sort; + margin-left: 2em; + } + + & div.scope { + grid-area: scope; + width: 80%; + margin-left: 1em; + + & select { + width: 100%; + } + } +} + +section.search-results { + width: 100%; + min-height: 50vh; +} diff --git a/app/templates/search.html b/app/templates/search.html index 0515a24..0d57329 100644 --- a/app/templates/search.html +++ b/app/templates/search.html @@ -3,19 +3,34 @@ {% set tabtitle = "Recherche avancée" %} {% block content %} -
+ +
+ {% for i in results %} +
+ {{ i }} +
+ {% endfor %} +
{% endblock %} diff --git a/app/utils/render.py b/app/utils/render.py index 8576b9e..348a302 100644 --- a/app/utils/render.py +++ b/app/utils/render.py @@ -19,6 +19,7 @@ def render(*args, styles=[], scripts=[], modules=[], **kwargs): 'css/debugger.css', 'css/programs.css', 'css/editor.css', + 'css/search.css', ] scripts_ = [ 'scripts/trigger_menu.js',