Skip to content

Commit

Permalink
Merge 9d6a462 into bef270c
Browse files Browse the repository at this point in the history
  • Loading branch information
wardi committed Feb 11, 2015
2 parents bef270c + 9d6a462 commit 9d1b29b
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 10 deletions.
9 changes: 5 additions & 4 deletions ckanext/scheming/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,18 @@
from pylons.i18n import gettext


def scheming_language_text(text, _gettext=None, _lang=None):
def scheming_language_text(text, prefer_lang=None, _gettext=None):
"""
:param text: {lang: text} dict or text string
:param prefer_lang: choose this language version if available
Convert "language-text" to users' language by looking up
languag in dict or using gettext if not a dict
"""
if hasattr(text, 'get'):
if _lang is None:
_lang = lang()
v = text.get(_lang)
if prefer_lang is None:
prefer_lang = lang()
v = text.get(prefer_lang)
if not v:
v = text.get(config.get('ckan.locale_default', 'en'))
if not v:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,11 @@
{%- endif -%}
{%- set schema = h.scheming_get_dataset_schema(dataset_type) -%}
{%- for field in schema.dataset_fields -%}
{%- snippet 'scheming/snippets/form_field.html',
field=field, data=data, errors=errors, licenses=c.licenses,
schema=schema -%}
{%- if field.form_snippet is not none -%}
{%- snippet 'scheming/snippets/form_field.html',
field=field, data=data, errors=errors, licenses=c.licenses,
schema=schema -%}
{%- endif -%}
{%- endfor -%}
{% endblock %}

Expand Down
6 changes: 3 additions & 3 deletions ckanext/scheming/tests/test_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,17 @@ def test_pass_through_gettext(self):
def test_only_one_language(self):
assert_equals('hello', scheming_language_text(
{'zh': 'hello'},
_lang='en'))
prefer_lang='en'))

def test_matching_language(self):
assert_equals('hello', scheming_language_text(
{'en': 'hello', 'aa': 'aaaa'},
_lang='en'))
prefer_lang='en'))

def test_first_when_no_matching_language(self):
assert_equals('hello', scheming_language_text(
{'aa': 'hello', 'bb': 'no'},
_lang='en'))
prefer_lang='en'))

class TestFieldRequired(object):
def test_explicit_required_true(self):
Expand Down

0 comments on commit 9d1b29b

Please sign in to comment.