Commit 02d2c552 authored by Michal Čihař's avatar Michal Čihař

Forms and handling of upload

parent fefa3fea
......@@ -117,3 +117,7 @@ class AutoForm(forms.Form):
class WordForm(forms.Form):
source = forms.CharField(label = _('Source'))
target = forms.CharField(label = _('Translation'))
class DictUploadForm(forms.Form):
file = forms.FileField(label = _('File'))
overwrite = forms.BooleanField(label = _('Overwrite existing'), required = False)
......@@ -10,10 +10,11 @@ from django.contrib.auth.decorators import login_required, permission_required
from django.contrib.auth.models import AnonymousUser
from django.db.models import Q, Count
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
from django.core.urlresolvers import reverse
from trans.models import Project, SubProject, Translation, Unit, Suggestion, Check, Dictionary, Change
from lang.models import Language
from trans.forms import TranslationForm, UploadForm, SimpleUploadForm, ExtraUploadForm, SearchForm, MergeForm, AutoForm, WordForm
from trans.forms import TranslationForm, UploadForm, SimpleUploadForm, ExtraUploadForm, SearchForm, MergeForm, AutoForm, WordForm, DictUploadForm
from util import is_plural, split_plural, join_plural
from accounts.models import Profile
from whoosh.analysis import StandardAnalyzer, StemmingAnalyzer
......@@ -136,7 +137,18 @@ def show_dictionaries(request, project):
@login_required
@permission_required('trans.upload_dictionary')
def upload_dictionary(request, project, lang):
return HttpResponseRedirect('/')
prj = get_object_or_404(Project, slug = project)
lang = get_object_or_404(Language, code = lang)
if request.method == 'POST':
form = DictUploadForm(request.POST, request.FILES)
if form.is_valid():
messages.add_message(request, messages.INFO, _('Imported words from file.'))
else:
messages.add_message(request, messages.ERROR, _('Failed to process form!'))
else:
messages.add_message(request, messages.ERROR, _('Failed to process form!'))
return HttpResponseRedirect(reverse('trans.views.show_dictionary', kwargs = {'project': prj.slug, 'lang': lang.code}))
def show_dictionary(request, project, lang):
prj = get_object_or_404(Project, slug = project)
......@@ -155,6 +167,8 @@ def show_dictionary(request, project, lang):
else:
form = WordForm()
uploadform = DictUploadForm()
words = Dictionary.objects.filter(project = prj, language = lang).order_by('source')
limit = request.GET.get('limit', 25)
......@@ -177,6 +191,7 @@ def show_dictionary(request, project, lang):
'language': lang,
'words': words,
'form': form,
'uploadform': uploadform,
}))
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