Skip to content

Commit

Permalink
Merge pull request #547 from OnroerendErfgoed/feature/423_sorting
Browse files Browse the repository at this point in the history
#423 add alphabetical sorting
  • Loading branch information
JonasGe committed Jun 2, 2020
2 parents a7d10bf + 30bcee4 commit 6b7d6a0
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 2 deletions.
4 changes: 2 additions & 2 deletions atramhasis/templates/macros.jinja2
Expand Up @@ -2,7 +2,7 @@
{% if relaties|length > 0 %}
{%- set counter = 0 %}
<div class="large-12 columns">
{%- for c in relaties|sort(attribute='id') %}
{%- for c in relaties|label_sort(language=request.locale_name) %}
{%- set counter = counter + 1 %}
<div class="large-3 large-3-pad columns result-grid" {% if counter == relaties|length %}style="float: left;"{% endif %}>
<a href="{{ request.route_path('concept', scheme_id = scheme_id, c_id = c.concept_id) }}"><h5>{{ c.label(request.locale_name).label }}</h5> <span> [ ID : {{ c.concept_id }} ]</span><br><small>{{ c.type }}</small></a>
Expand Down Expand Up @@ -140,7 +140,7 @@

{% macro print_concepts(request, concepts, conceptscheme) %}
{%- set counter = 0 %}
{%- for concept in concepts|sort(attribute='id') %}
{%- for concept in concepts|label_sort(language=request.locale_name) %}
{%- set counter = counter + 1 %}
<div class="large-3 large-3-pad columns result-grid" {% if counter == concepts|length %}style="float:left;"{% endif %}><a href="{{ request.route_path('concept', scheme_id= conceptscheme.scheme_id, c_id = concept.id) }}"><h5>{{ concept.label }}</h5> <span>[ id: {{ concept.id }} ]</span> <br><small>{{ concept.type }}</small></a></div>
{%- endfor %}
Expand Down
9 changes: 9 additions & 0 deletions atramhasis/utils.py
Expand Up @@ -103,3 +103,12 @@ def update_last_visited_concepts(request, concept_data):
# Add concept to the queue
last_visited.append(concept_data)


def label_sort(concepts, language='any'):
if not concepts:
return []
return sorted(
concepts, key=lambda concept: concept._sortkey(key='sortlabel',
language=language)
)

2 changes: 2 additions & 0 deletions development.ini
Expand Up @@ -19,6 +19,8 @@ jinja2.directories =
jinja2.extensions =
jinja2.ext.do
jinja2.ext.with_
jinja2.filters =
label_sort = atramhasis.utils.label_sort
available_languages = en nl fr

skosprovider.skosregistry_location = request
Expand Down
2 changes: 2 additions & 0 deletions production.ini
Expand Up @@ -20,6 +20,8 @@ jinja2.directories =
atramhasis:templates
jinja2.extensions =
jinja2.ext.do
jinja2.filters =
label_sort = atramhasis.utils.label_sort
available_languages = en nl fr
sqlalchemy.url = sqlite:///%(here)s/atramhasis.sqlite

Expand Down
2 changes: 2 additions & 0 deletions tests/conf_test.ini
Expand Up @@ -20,6 +20,8 @@ jinja2.directories =
jinja2.extensions =
jinja2.ext.do
jinja2.ext.with_
jinja2.filters =
label_sort = atramhasis.utils.label_sort
available_languages = en nl it
sqlalchemy.url = sqlite:///test.db
# sqlalchemy.url = postgresql://postgres:postgres@localhost:5432/atramhasis_test
Expand Down

0 comments on commit 6b7d6a0

Please sign in to comment.