Skip to content

Commit

Permalink
Feature/epic 379/563 overriding labels (#581)
Browse files Browse the repository at this point in the history
* #562 overriding labels

* #562 hopefully improves coverage

* #562 fix locale

* #563 override labels

* #562 overriding labels

* #563 override labels

* #563 review fix
  • Loading branch information
vancamti committed Jul 16, 2020
1 parent f055920 commit 3497f79
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 12 deletions.
2 changes: 1 addition & 1 deletion atramhasis/templates/tree.jinja2
Expand Up @@ -60,7 +60,7 @@
var current = '{{ conceptscheme.scheme_id }}';
{% endif %}
d3.json('{{ request.route_path("scheme_tree", scheme_id = scheme_id, _query={'language':locale}) }}',
function (error, tree) {
function(error, tree) {
if (error) throw error;
var treeData = { 'label': scheme_label, 'scheme_id': scheme_id, children: tree }
Expand Down
10 changes: 7 additions & 3 deletions atramhasis/views/views.py
Expand Up @@ -116,8 +116,12 @@ def conceptscheme_view(self):
scheme_id = self.request.matchdict['scheme_id']
provider = self.request.skos_registry.get_provider(scheme_id)
conceptscheme = provider.concept_scheme
title = conceptscheme.label(self.request.locale_name).label if (conceptscheme.label()) \
else scheme_id
if 'atramhasis.force_display_label_language' in provider.metadata:
locale = provider.metadata['atramhasis.force_display_label_language']
else:
locale = self.request.locale_name
title = (conceptscheme.label(locale).label if (conceptscheme.label())
else scheme_id)

scheme = {
'scheme_id': scheme_id,
Expand All @@ -129,7 +133,7 @@ def conceptscheme_view(self):
}

return {'conceptscheme': scheme, 'conceptschemes': conceptschemes,
'locale': self.request.locale_name}
'locale': locale}

@audit
@view_config(route_name='concept', renderer='atramhasis:templates/concept.jinja2')
Expand Down
38 changes: 30 additions & 8 deletions tests/test_views.py
Expand Up @@ -2,18 +2,30 @@
import os
import unittest

from skosprovider.registry import Registry
from paste.deploy.loadwsgi import appconfig
from pyramid import testing
from skosprovider_sqlalchemy.models import Concept, Collection, Thing, Label, Note, LabelType, ConceptScheme
from skosprovider.registry import Registry
from skosprovider_sqlalchemy.models import Collection
from skosprovider_sqlalchemy.models import Concept
from skosprovider_sqlalchemy.models import ConceptScheme
from skosprovider_sqlalchemy.models import Label
from skosprovider_sqlalchemy.models import LabelType
from skosprovider_sqlalchemy.models import Note
from skosprovider_sqlalchemy.models import Thing
from sqlalchemy.orm.exc import NoResultFound
from webob.multidict import MultiDict
from paste.deploy.loadwsgi import appconfig

from atramhasis.cache import list_region
from atramhasis.data.datamanagers import SkosManager, ConceptSchemeManager, AuditManager
from atramhasis.errors import SkosRegistryNotFoundException, ConceptSchemeNotFoundException, ConceptNotFoundException
from atramhasis.views.views import AtramhasisView, AtramhasisAdminView, AtramhasisListView, \
labels_to_string, get_definition
from atramhasis.data.datamanagers import AuditManager
from atramhasis.data.datamanagers import ConceptSchemeManager
from atramhasis.data.datamanagers import SkosManager
from atramhasis.errors import ConceptNotFoundException
from atramhasis.errors import ConceptSchemeNotFoundException
from atramhasis.errors import SkosRegistryNotFoundException
from atramhasis.views.views import AtramhasisAdminView
from atramhasis.views.views import AtramhasisListView
from atramhasis.views.views import AtramhasisView
from atramhasis.views.views import get_definition
from atramhasis.views.views import labels_to_string
from fixtures.data import trees

try:
Expand Down Expand Up @@ -260,6 +272,16 @@ def test_conceptscheme_view(self):
self.assertIsNotNone(res['conceptscheme']['notes'])
self.assertIsNotNone(res['conceptscheme']['top_concepts'])

def test_conceptscheme_view_language(self):
self.request.matchdict['scheme_id'] = 'TREES'
self.request.skos_registry.providers['TREES'].metadata[
'atramhasis.force_display_label_language'] = 'nl'

atramhasisview = AtramhasisView(self.request)
res = atramhasisview.conceptscheme_view()
self.assertIsNotNone(res)
self.assertEqual(res['locale'], 'nl')


class TestConceptView(unittest.TestCase):
def setUp(self):
Expand Down

0 comments on commit 3497f79

Please sign in to comment.