Commit d9252025 authored by Michal Čihař's avatar Michal Čihař

Add leter navigation to dictionary

parent ed5f1f3d
......@@ -11,7 +11,6 @@
{% block content %}
{% if words.object_list %}
<h2>{% trans "Dictionary" %}</h2>
......@@ -23,8 +22,10 @@
<a class="button-next{% if not words.has_next %} button-disabled{% endif %}" href="?page={{ words.next_page_number }}">{% trans "Next" %}</a>
<a class="button-end{% if words.paginator.num_pages == words.number %} button-disabled{% endif %}" href="?page={{ words.paginator.num_pages }}">{% trans "Last" %}</a>
</span>
<form class="letter autosubmit">{{ letterform.as_p }}</form>
</span>
{% if words.object_list %}
<table>
<thead>
<tr>
......@@ -61,7 +62,8 @@
{% endfor %}
</tbody>
</table>
{% else %}
<p>{% trans "No words found!" %}</p>
{% endif %}
<h2>{% trans "Tools" %}</h2>
......
......@@ -144,3 +144,10 @@ span.navi a.button-pos {
vertical-align: bottom;
margin-right: -5px;
}
form.letter, form.letter p {
display: inline;
}
form.letter select, form.letter p {
font-size: 10px;
font-weight: bolder;
}
......@@ -244,4 +244,7 @@ $(function() {
},
});
$("#id_date").datepicker();
$("form.autosubmit select").change(function() {
$("form.autosubmit").submit();
});
});
......@@ -194,3 +194,10 @@ class ReviewForm(forms.Form):
if self.cleaned_data['type'] != 'review':
raise ValidationError('Invalid value')
return self.cleaned_data['type']
class LetterForm(forms.Form):
letter = forms.ChoiceField(
label = _('Starting letter'),
choices = [('', _('Any'))] + [(chr(97 + x), chr(65 + x)) for x in range(26)],
required = False
)
......@@ -15,7 +15,7 @@ from django.core.urlresolvers import reverse
from weblate.trans.models import Project, SubProject, Translation, Unit, Suggestion, Check, Dictionary, Change
from weblate.lang.models import Language
from weblate.trans.checks import CHECKS
from weblate.trans.forms import TranslationForm, UploadForm, SimpleUploadForm, ExtraUploadForm, SearchForm, MergeForm, AutoForm, WordForm, DictUploadForm, ReviewForm
from weblate.trans.forms import TranslationForm, UploadForm, SimpleUploadForm, ExtraUploadForm, SearchForm, MergeForm, AutoForm, WordForm, DictUploadForm, ReviewForm, LetterForm
from weblate.trans.util import join_plural
from weblate.accounts.models import Profile
......@@ -237,6 +237,11 @@ def show_dictionary(request, project, lang):
limit = request.GET.get('limit', 25)
page = request.GET.get('page', 1)
letterform = LetterForm(request.GET)
if letterform.is_valid() and letterform.cleaned_data['letter'] != '':
words = words.filter(source__istartswith = letterform.cleaned_data['letter'])
paginator = Paginator(words, limit)
try:
......@@ -255,6 +260,7 @@ def show_dictionary(request, project, lang):
'words': words,
'form': form,
'uploadform': uploadform,
'letterform': letterform,
}))
def show_project(request, project):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment