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 |