Esempio n. 1
0
File: views.py Progetto: kamni/zorna
def user_settings_profile(request):
    try:
        form = FormsForm.objects.get(slug=settings.ZORNA_USER_PROFILE_FORM)
        try:
            entry = form.entries.get(account=request.user)
        except FormsFormEntry.DoesNotExist:
            entry = None
        args = (form, request.POST or None, request.FILES or None)
        form_for_form = FormForForm(*args, instance=entry or None)
        if form.bind_to_account:
            if not form_for_form.instance.id:
                del form_for_form.fields['zorna_owner']
                del form_for_form.fields['zorna_owner-id']
                form_for_form.fields['zorna_owner-id'] = forms.CharField(
                    widget=forms.HiddenInput(), initial=request.user.pk)
            else:
                del form_for_form.fields['zorna_owner']
    except:
        form_for_form = None
        form = None

    if form_for_form and request.method == 'POST' and form_for_form.is_valid():
        form_for_form.save(request=request)
        return user_settings(request)
    extra_context = user_settings_intialize(request)
    extra_context['form_for_form'] = form_for_form
    extra_context['form'] = form
    context = RequestContext(request)
    return render_to_response('account/user_profile.html', extra_context, context_instance=context)
Esempio n. 2
0
File: views.py Progetto: kamni/zorna
def edit_user(request, user):
    baccess = SiteOptions.objects.is_access_valid(
        request.user, 'zorna_validate_registration')
    if request.user.is_superuser or baccess:
        try:
            form = FormsForm.objects.get(slug=settings.ZORNA_USER_PROFILE_FORM)
            try:
                entry = form.entries.get(account=user)
            except FormsFormEntry.DoesNotExist:
                entry = None
            args = (form, request.POST or None, request.FILES or None)
            form_for_form = FormForForm(*args, instance=entry or None)
            if form.bind_to_account:
                if not form_for_form.instance.id:
                    del form_for_form.fields['zorna_owner']
                    del form_for_form.fields['zorna_owner-id']
                    form_for_form.fields['zorna_owner-id'] = forms.CharField(
                        widget=forms.HiddenInput(), initial=user)
                else:
                    del form_for_form.fields['zorna_owner']
        except:
            form_for_form = None
        user = User.objects.get(pk=user)
        form = AccountEditProfileForm(user, data=request.POST or None)
        if request.method == 'POST':
            if form.is_valid():
                if not form_for_form or form_for_form.is_valid():
                    user.username = form.cleaned_data['username']
                    user.first_name = form.cleaned_data['firstname']
                    user.last_name = form.cleaned_data['lastname']
                    user.email = form.cleaned_data['email']
                    user.is_active = form.cleaned_data['is_active']
                    user.save()
                    try:
                        cal = Calendar.objects.get_calendar_for_object(
                            user, 'owner')
                        cal.name = user.get_full_name()
                        cal.slug = slugify(cal.name)
                        cal.save()
                    except Calendar.DoesNotExist:
                        pass
                    if form_for_form:
                        form_for_form.save(request=request)
                    return HttpResponseRedirect(reverse('list_users'))
        context = RequestContext(request)
        return render_to_response("account/edit_user.html", {'form': form, 'curuser': user, 'form_profile': form_for_form}, context_instance=context)
    else:
        return HttpResponseRedirect('/')
Esempio n. 3
0
def register(request,
             admin_origin=False,
             is_active=False,
             success_url=None,
             template="account/registration_form.html"):

    register_complete_url = reverse('user_register_complete_email')
    if not admin_origin:
        try:
            reg = SiteRegistration.objects.get(site=Site.objects.get_current())
            if not reg.allow_registration:
                return HttpResponseForbidden()
            if reg.validation_type == REGISTRATION_ADMIN_VALIDATION:
                register_complete_url = reverse(
                    'user_register_complete_noemail')
            elif reg.validation_type == REGISTRATION_NO_VALIDATION:
                register_complete_url = reverse(
                    'user_register_complete_novalidation')
        except SiteRegistration.DoesNotExist:
            return HttpResponseForbidden()

    form = AccountRegistrationForm(data=request.POST or None)
    try:
        f = FormsForm.objects.get(slug=settings.ZORNA_USER_PROFILE_FORM)
        args = (f, request.POST or None, request.FILES or None)
        form_for_form = FormForForm(*args, instance=None)
        if f.bind_to_account:
            del form_for_form.fields['zorna_owner']
            del form_for_form.fields['zorna_owner-id']
            form_for_form.fields['zorna_owner-id'] = forms.CharField(
                widget=forms.HiddenInput(), required=False)
        lform = form_for_form
    except Exception as e:
        form_for_form = None
        lform = form

    if request.user.is_anonymous():
        lform.fields['REMOTE_ADDR'] = forms.CharField(
            widget=forms.HiddenInput(), initial=request.META['REMOTE_ADDR'])
        lform.fields['REMOTE_ADDR'] = forms.CharField(
            widget=forms.HiddenInput(), initial=request.META['REMOTE_ADDR'])
        lform.fields['captcha'] = ReCaptchaField(label='Captcha',
                                                 required=True,
                                                 widget=ReCaptchaWidget())

    if request.method == 'POST':
        if form.is_valid():
            if not form_for_form or form_for_form.is_valid():
                new_user = form.save(request, admin_origin, is_active)
                if form_for_form:
                    form_for_form.cleaned_data['zorna_owner-id'] = new_user.pk
                    form_for_form.save(request=request)
                return HttpResponseRedirect(success_url
                                            or register_complete_url)
    context = RequestContext(request)
    return render_to_response(template, {
        'form': form,
        'form_profile': form_for_form
    },
                              context_instance=context)
Esempio n. 4
0
File: api.py Progetto: somair/zorna
def forms_get_form_add_entry(request, form_slug, **kwargs):
    form = forms_get_form(form_slug)
    if form:
        kwargs['rget'] = request.GET  # {'lot.designation': '110'}
        args = (form, request.POST or None, request.FILES or None)
        form_for_form = FormForForm(*args, **kwargs)
        return form_for_form
    else:
        return None
Esempio n. 5
0
File: api.py Progetto: somair/zorna
def forms_get_form_edit_entry(request, entry):
    try:
        entry = FormsFormEntry.objects.get(pk=entry)
        form = entry.form
    except:
        return None

    rget = request.GET  # {'lot.designation': '110'}
    args = (form, request.POST or None, request.FILES or None)
    form_for_form = FormForForm(*args, instance=entry, rget=rget)
    return form_for_form
Esempio n. 6
0
def user_settings_profile(request):
    try:
        form = FormsForm.objects.get(slug=settings.ZORNA_USER_PROFILE_FORM)
        try:
            entry = form.entries.get(account=request.user)
        except FormsFormEntry.DoesNotExist:
            entry = None
        args = (form, request.POST or None, request.FILES or None)
        form_for_form = FormForForm(*args, instance=entry or None)
        if form.bind_to_account:
            if not form_for_form.instance.id:
                del form_for_form.fields['zorna_owner']
                del form_for_form.fields['zorna_owner-id']
                form_for_form.fields['zorna_owner-id'] = forms.CharField(
                    widget=forms.HiddenInput(), initial=request.user.pk)
            else:
                del form_for_form.fields['zorna_owner']
    except:
        form_for_form = None
        form = None

    if form_for_form and request.method == 'POST' and form_for_form.is_valid():
        form_for_form.save(request=request)
        return user_settings(request)
    extra_context = user_settings_intialize(request)
    extra_context['form_for_form'] = form_for_form
    extra_context['form'] = form
    context = RequestContext(request)
    return render_to_response('account/user_profile.html',
                              extra_context,
                              context_instance=context)
Esempio n. 7
0
def edit_user(request, user):
    baccess = SiteOptions.objects.is_access_valid(
        request.user, 'zorna_validate_registration')
    if request.user.is_superuser or baccess:
        try:
            form = FormsForm.objects.get(slug=settings.ZORNA_USER_PROFILE_FORM)
            try:
                entry = form.entries.get(account=user)
            except FormsFormEntry.DoesNotExist:
                entry = None
            args = (form, request.POST or None, request.FILES or None)
            form_for_form = FormForForm(*args, instance=entry or None)
            if form.bind_to_account:
                if not form_for_form.instance.id:
                    del form_for_form.fields['zorna_owner']
                    del form_for_form.fields['zorna_owner-id']
                    form_for_form.fields['zorna_owner-id'] = forms.CharField(
                        widget=forms.HiddenInput(), initial=user)
                else:
                    del form_for_form.fields['zorna_owner']
        except:
            form_for_form = None
        user = User.objects.get(pk=user)
        form = AccountEditProfileForm(user, data=request.POST or None)
        if request.method == 'POST':
            if form.is_valid():
                if not form_for_form or form_for_form.is_valid():
                    user.username = form.cleaned_data['username']
                    user.first_name = form.cleaned_data['firstname']
                    user.last_name = form.cleaned_data['lastname']
                    user.email = form.cleaned_data['email']
                    user.is_active = form.cleaned_data['is_active']
                    user.save()
                    try:
                        cal = Calendar.objects.get_calendar_for_object(
                            user, 'owner')
                        cal.name = user.get_full_name()
                        cal.slug = slugify(cal.name)
                        cal.save()
                    except Calendar.DoesNotExist:
                        pass
                    if form_for_form:
                        form_for_form.save(request=request)
                    return HttpResponseRedirect(reverse('list_users'))
        context = RequestContext(request)
        return render_to_response("account/edit_user.html", {
            'form': form,
            'curuser': user,
            'form_profile': form_for_form
        },
                                  context_instance=context)
    else:
        return HttpResponseRedirect('/')
Esempio n. 8
0
File: views.py Progetto: kamni/zorna
def register(request, admin_origin=False, is_active=False, success_url=None, template="account/registration_form.html"):

    register_complete_url = reverse('user_register_complete_email')
    if not admin_origin:
        try:
            reg = SiteRegistration.objects.get(site=Site.objects.get_current())
            if not reg.allow_registration:
                return HttpResponseForbidden()
            if reg.validation_type == REGISTRATION_ADMIN_VALIDATION:
                register_complete_url = reverse(
                    'user_register_complete_noemail')
            elif reg.validation_type == REGISTRATION_NO_VALIDATION:
                register_complete_url = reverse(
                    'user_register_complete_novalidation')
        except SiteRegistration.DoesNotExist:
            return HttpResponseForbidden()

    form = AccountRegistrationForm(data=request.POST or None)
    try:
        f = FormsForm.objects.get(slug=settings.ZORNA_USER_PROFILE_FORM)
        args = (f, request.POST or None, request.FILES or None)
        form_for_form = FormForForm(*args, instance=None)
        if f.bind_to_account:
            del form_for_form.fields['zorna_owner']
            del form_for_form.fields['zorna_owner-id']
            form_for_form.fields['zorna_owner-id'] = forms.CharField(
                widget=forms.HiddenInput(), required=False)
        lform = form_for_form
    except Exception as e:
        form_for_form = None
        lform = form

    if request.user.is_anonymous():
        lform.fields['REMOTE_ADDR'] = forms.CharField(
            widget=forms.HiddenInput(), initial=request.META['REMOTE_ADDR'])
        lform.fields['REMOTE_ADDR'] = forms.CharField(
            widget=forms.HiddenInput(), initial=request.META['REMOTE_ADDR'])
        lform.fields['captcha'] = ReCaptchaField(
            label='Captcha', required=True, widget=ReCaptchaWidget())

    if request.method == 'POST':
        if form.is_valid():
            if not form_for_form or form_for_form.is_valid():
                new_user = form.save(request, admin_origin, is_active)
                if form_for_form:
                    form_for_form.cleaned_data['zorna_owner-id'] = new_user.pk
                    form_for_form.save(request=request)
                return HttpResponseRedirect(success_url or register_complete_url)
    context = RequestContext(request)
    return render_to_response(template, {'form': form, 'form_profile': form_for_form}, context_instance=context)