Пример #1
0
    def render(self, context):
        form = self.form.resolve(context, True)

        hidden_fields_errors = ErrorDict()

        for field in form.hidden_fields():
            if field.errors:
                hidden_fields_errors.update({field.name: field.errors})

        context[self.as_var] = hidden_fields_errors
        return ""
Пример #2
0
    def render(self, context):
        form = self.form.resolve(context, True)

        hidden_fields_errors = ErrorDict()

        for field in form.hidden_fields():
            if field.errors:
                hidden_fields_errors.update({field.name: field.errors})

        context[self.as_var] = hidden_fields_errors
        return ''
Пример #3
0
def edit(request, pk=1, errors=None, reverse=False):
    """Edit main profile data if user is authorized"""
    template = 'profiles/edit.html'
    result = 'Error'
    if errors is None:
        errors = ErrorDict()
    target = Profile.objects.get(pk=pk)
    if request.method == 'POST' and request.user.is_authenticated():
        profile = ProfileForm(request.POST, request.FILES, instance=target)
        contacts = ContactFormSet(request.POST, request.FILES, instance=target)
        if profile.is_valid() and contacts.is_valid():
            contacts.save()
            profile.save()
            result = 'Done'
        if not profile.is_valid():
            errors.update(profile.errors)
        if not contacts.is_valid():
            for num, suberrors in enumerate(contacts.errors):
                if suberrors:
                    for field, error in suberrors.iteritems():
                        field_id = "%s-%s-%s" % (contacts.prefix, num, field)
                        errors.update({field_id: error})
    if (request.method == 'GET' or not request.user.is_authenticated()
            or errors):
        profile = ProfileForm(instance=target)
        contacts = ContactFormSet(instance=target)
        if reverse:
            profile.fields.keyOrder.reverse()
            contacts.forms.reverse()
            template = 'profiles/edit_reversed.html'
        if not request.user.is_authenticated():
            readonly(profile)
            readonly(contacts)
            errors['auth: '] = 'you are not authorized to edit this form'

    if request.is_ajax():
        return HttpResponse(simplejson.dumps({
            'result': result,
            'errors': errors
        }),
                            mimetype='application/javascript')
    else:
        print(errors)
        return render_to_response(template, {
            'profile': profile,
            'contacts': contacts,
            'errors': errors
        },
                                  context_instance=RequestContext(request))
Пример #4
0
def edit(request, pk=1, errors=None, reverse=False):
    """Edit main profile data if user is authorized"""
    template = 'profiles/edit.html'
    result = 'Error'
    if errors is None:
        errors = ErrorDict()
    target = Profile.objects.get(pk=pk)
    if request.method == 'POST' and request.user.is_authenticated():
        profile = ProfileForm(request.POST, request.FILES, instance=target)
        contacts = ContactFormSet(request.POST, request.FILES,
                                   instance=target)
        if profile.is_valid() and contacts.is_valid():
            contacts.save()
            profile.save()
            result = 'Done'
        if not profile.is_valid():
            errors.update(profile.errors)
        if not contacts.is_valid():
            for num, suberrors in enumerate(contacts.errors):
                if suberrors:
                    for field, error in suberrors.iteritems():
                        field_id = "%s-%s-%s" % (contacts.prefix, num, field)
                        errors.update({field_id: error})
    if (request.method == 'GET' or not request.user.is_authenticated()
      or errors):
        profile = ProfileForm(instance=target)
        contacts = ContactFormSet(instance=target)
        if reverse:
            profile.fields.keyOrder.reverse()
            contacts.forms.reverse()
            template = 'profiles/edit_reversed.html'
        if not request.user.is_authenticated():
            readonly(profile)
            readonly(contacts)
            errors['auth: '] = 'you are not authorized to edit this form'

    if request.is_ajax():
        return HttpResponse(simplejson.dumps({'result': result,
                                              'errors': errors}),
                            mimetype='application/javascript')
    else:
        print(errors)
        return render_to_response(template, {'profile': profile,
                                             'contacts': contacts,
                                             'errors': errors},
                                  context_instance=RequestContext(request))