Esempio n. 1
0
def privacy(request):
    site = get_current_site(request)
    context = {
        'request': request,
        'languages': get_unknown_languages(None),
        'site': site,
        'x_title': _('Privacy Policy'),
        'x_description': _("Privacy policy for this website."),
    }

    return render(request, 'corpora/privacy.html', context)
Esempio n. 2
0
def home(request):
    if request.user.is_authenticated():
        return redirect('people:profile')
    else:

        context = {
            'request': request,
            'languages': get_unknown_languages(None),
        }

        return render(request, 'corpora/home.html', context)
        #return redirect('account/login')
Esempio n. 3
0
def home(request):
    # if request.user.is_authenticated():
    #     return redirect('people:profile')
    # else:
    groups = Group.objects.all().order_by('name')
    site = get_current_site(request)
    context = {
        'request': request,
        'groups': groups,
        'languages': get_unknown_languages(None),
        'x_title': site.name,
        'x_description': _("Kōrero Māori is teaching computers indigenous languages.\
            We've created an open sourced web app to help indigenous\
            communities strealine their work in language revitalisation."),
    }

    return render(request, 'corpora/home.html', context)
Esempio n. 4
0
def rules(request):
    site = get_current_site(request)

    person = get_or_create_person(request)

    if hasattr(person, 'groups'):
        groups = person.groups
        if groups.count() == 1:
            group = groups.first()
            person.group = group

    context = {
        'person': person,
        'request': request,
        'languages': get_unknown_languages(None),
        'site': site,
        'x_title': _('Rules'),
        'x_description': _("Rules for our competitions."),
    }

    return render(request, 'people/competition/rules.html', context)
Esempio n. 5
0
def choose_language(request):
    person = get_or_create_person(request)
    if not person:
        return redirect(reverse('account_login'))

    current_language = get_current_language(request)
    if current_language:
        set_current_language_for_person(person, current_language)

    next_page = request.GET.get('next', None)

    known_languages = KnownLanguage.objects.filter(person=person).count()
    if known_languages > 0:
        extra = known_languages
    else:
        extra = 1

    unknown = get_unknown_languages(person)
    KnownLanguageFormset = inlineformset_factory(
        Person,
        KnownLanguage,
        form=KnownLanguageFormWithPerson,
        fields=('language', 'level_of_proficiency', 'person', 'accent',
                'dialect'),
        max_num=get_num_supported_languages(),
        extra=extra,
    )
    # formset  = KnownLanguageFormset(form_kwargs={'person':person})
    # KnownLanguageFormsetWithPerson = inlineformset_factory(Person, KnownLanguage, form=form,  fields=('language','level_of_proficiency','person'), max_num=get_num_supported_languages(), extra=known_languages+1)

    formset = KnownLanguageFormset(instance=person,
                                   form_kwargs={
                                       'person': person,
                                       'require_proficiency': True
                                   })

    if request.method == 'POST':

        # Upon first post to the person choosing their language
        # We can ensure that the user just signed up
        person.just_signed_up = False
        person.save()

        formset = KnownLanguageFormset(request.POST,
                                       request.FILES,
                                       instance=person,
                                       form_kwargs={
                                           'person': person,
                                           'require_proficiency': True
                                       })
        if formset.has_changed():
            if formset.is_valid():
                instances = formset.save()

                current_language = get_current_language(request)
                if not current_language:
                    for instance in instances:
                        if instance.active:
                            current_language = obj.language
                if not current_language:
                    current_language = translation.get_language()

                try:
                    set_current_language_for_person(person, current_language)
                except:
                    logger.debug(
                        "We may be trying to set a language when knownlanguage doens't exist"
                    )

                if next_page:
                    response = redirect(reverse(next_page))
                else:
                    response = redirect(reverse('people:choose_language'))

                response = set_language_cookie(response, current_language)

                return response

        else:
            if formset.is_valid():
                if next_page:
                    return redirect(reverse(next_page))
                # else:
                #     return redirect(reverse('people:choose_language'))
            # formset = KnownLanguageFormsetWithPerson(instance=person)

    response = render(
        request, 'people/choose_language.html', {
            'known_language_form': formset,
            'known_languages': known_languages,
            'unknown_languages': unknown,
            'just_signup_track': person.just_signed_up,
        })

    current_language = get_current_language(request)
    if current_language:
        set_current_language_for_person(person, current_language)
        response = set_language_cookie(response, current_language)
    else:
        logger.debug('no current language')
    return response
Esempio n. 6
0
 def get_context_data(self, **kwargs):
     context = super(HomeView, self).get_context_data(**kwargs)
     groups = Group.objects.all().order_by('name')
     context['groups'] = groups
     context['languages'] = get_unknown_languages(None)
     return context