| books_query = Resource.query.filter_by(type=resource_type) | books_query = Resource.query.filter_by(type=resource_type) | ||||
| for key in request.args.keys(): | for key in request.args.keys(): | ||||
| if key != 'view': | if key != 'view': | ||||
| if key == 'practice': | |||||
| if (key == 'practice' and request.args.get(key) != ''): | |||||
| books_1 = books_query.join(Relationship, Relationship.first_resource_id == Resource.id, isouter=True).filter(Relationship.second_resource_id==request.args.get(key)) | books_1 = books_query.join(Relationship, Relationship.first_resource_id == Resource.id, isouter=True).filter(Relationship.second_resource_id==request.args.get(key)) | ||||
| books_2 = books_query.join(Relationship, Relationship.second_resource_id == Resource.id, isouter=True).filter(Relationship.first_resource_id==request.args.get(key)) | books_2 = books_query.join(Relationship, Relationship.second_resource_id == Resource.id, isouter=True).filter(Relationship.first_resource_id==request.args.get(key)) | ||||
| books_query = books_1.union(books_2) | books_query = books_1.union(books_2) | ||||
| if key != 'practice': | |||||
| if (key != 'practice' and request.args.get(key) != ''): | |||||
| kwargs = {key: request.args.get(key)} | kwargs = {key: request.args.get(key)} | ||||
| books_query = books_query.filter_by(**kwargs) | books_query = books_query.filter_by(**kwargs) | ||||
| # finalise the query | # finalise the query |
| {{ view_switch() }} | {{ view_switch() }} | ||||
| {% if practices_filter%} | {% if practices_filter%} | ||||
| {{ filter_dropdown('practice', practices_filter, 'Practices') }} | |||||
| {{ filter_dropdown('practice', practices_filter, 'Practices') }} | |||||
| {% endif %} | {% endif %} | ||||
| {% if year_filter %} | {% if year_filter %} | ||||
| {{ filter_dropdown_nokey('year', year_filter, 'Year') }} | |||||
| {{ filter_dropdown_nokey('year', year_filter, 'Year') }} | |||||
| {% endif %} | {% endif %} | ||||
| {% if typology_filter %} | {% if typology_filter %} | ||||
| {{ filter_dropdown_nokey('typology', typology_filter, 'Typologies') }} | |||||
| {{ filter_dropdown_nokey('typology', typology_filter, 'Typologies') }} | |||||
| {% endif %} | {% endif %} | ||||
| {% if languages_filter %} | {% if languages_filter %} | ||||
| {{ filter_dropdown_nokey('scriptingLanguage', languages_filter, 'Scripting languages') }} | |||||
| {{ filter_dropdown_nokey('scriptingLanguage', languages_filter, 'Scripting languages') }} | |||||
| {% endif %} | {% endif %} | ||||
| {% if licenses_filter %} | {% if licenses_filter %} | ||||
| {{ filter_dropdown_nokey('license', licenses_filter, 'Licenses') }} | |||||
| {{ filter_dropdown_nokey('license', licenses_filter, 'Licenses') }} | |||||
| {% endif %} | {% endif %} | ||||
| {% if status_filter %} | {% if status_filter %} | ||||
| {{ filter_dropdown_nokey('status', status_filter, 'Maintenance status') }} | |||||
| {{ filter_dropdown_nokey('status', status_filter, 'Maintenance status') }} | |||||
| {% endif %} | {% endif %} | ||||
| <a href="{{ request.base_url }}?view={{ view }}">Reset</a> | <a href="{{ request.base_url }}?view={{ view }}">Reset</a> | ||||
| <div> | <div> | ||||
| {% if view == 'list' %} | {% if view == 'list' %} | ||||
| {% for resource in resources %} | |||||
| {{ resource_list(resource, loop) }} | |||||
| {% endfor %} | |||||
| {% for resource in resources %} | |||||
| {{ resource_list(resource, loop) }} | |||||
| {% endfor %} | |||||
| {% else %} | {% else %} | ||||
| {% for resource in resources %} | |||||
| {{ resource_with_related(resource, loop) }} | |||||
| {% endfor %} | |||||
| {% for resource in resources %} | |||||
| {{ resource_with_related(resource, loop) }} | |||||
| {% endfor %} | |||||
| {% endif %} | {% endif %} | ||||
| </div> | </div> | ||||
| tools_query = Resource.query.filter_by(type=resource_type) | tools_query = Resource.query.filter_by(type=resource_type) | ||||
| for key in request.args.keys(): | for key in request.args.keys(): | ||||
| if key != 'view': | if key != 'view': | ||||
| if key == 'practice': | |||||
| if (key == 'practice' and request.args.get(key) != ''): | |||||
| tools_1 = tools_query.join(Relationship, Relationship.first_resource_id == Resource.id, isouter=True).filter(Relationship.second_resource_id==request.args.get(key)) | tools_1 = tools_query.join(Relationship, Relationship.first_resource_id == Resource.id, isouter=True).filter(Relationship.second_resource_id==request.args.get(key)) | ||||
| tools_2 = tools_query.join(Relationship, Relationship.second_resource_id == Resource.id, isouter=True).filter(Relationship.first_resource_id==request.args.get(key)) | tools_2 = tools_query.join(Relationship, Relationship.second_resource_id == Resource.id, isouter=True).filter(Relationship.first_resource_id==request.args.get(key)) | ||||
| tools_query = tools_1.union(tools_2) | tools_query = tools_1.union(tools_2) | ||||
| if key == 'scriptingLanguage': | |||||
| if (key == 'scriptingLanguage' and request.args.get(key) != ''): | |||||
| regex = request.args.get(key) + "$|" + request.args.get(key) + "\s\/" | regex = request.args.get(key) + "$|" + request.args.get(key) + "\s\/" | ||||
| tools_query = tools_query.filter(Resource.scriptingLanguage.regexp_match(regex)) | tools_query = tools_query.filter(Resource.scriptingLanguage.regexp_match(regex)) | ||||
| if key != 'practice' and key != 'scriptingLanguage': | |||||
| if ((key != 'practice' and key != 'scriptingLanguage') and request.args.get(key) != ''): | |||||
| kwargs = {key: request.args.get(key)} | kwargs = {key: request.args.get(key)} | ||||
| tools_query = tools_query.filter_by(**kwargs) | tools_query = tools_query.filter_by(**kwargs) | ||||
| # finalise the query | # finalise the query |