Example #1
0
def process_image_form(request, image_id=None):
    if request.method == 'POST':
        if not image_id:
            # form bound to the POST data
            form = ImageForm(request.POST, request.FILES, prefix='image')
        else:
            image = get_object_or_404(Image, id=image_id)
            form = ImageForm(request.POST, request.FILES, prefix='image', instance=image)
        if form.is_valid(): # All validation rules pass
            image = form.save(commit=False)
            if image:
                form.cleaned_data['image'] = image
            # Get the key
            if not image_id:
                key = get_first_available_label(Image, slugify(form.cleaned_data['title']), 'key')
                image.key = key
            if not image_id:
                if not request.user.is_authenticated():
                    raise ValidationError, 'User must be logged in'
                else:
                    image.uploaded_by = request.user
            image.save()
            form.redirect_url = image.get_absolute_url()
    else: #unbound forms
        if not image_id:
            form = ImageForm(initial=get_initial_image_data(request), prefix='image')
        else:
            image = get_object_or_404(Image, id=image_id)
            form = ImageForm(prefix='image', instance=image)
    return form
Example #2
0
def process_image_form(request, image_id=None):
    if request.method == 'POST':  # If the form has been submitted..
        if not image_id:
            form = ImageForm(request.POST, request.FILES,
                             prefix='image')  # A form bound to the POST data
        else:
            image = get_object_or_404(Image, id=image_id)
            form = ImageForm(request.POST,
                             request.FILES,
                             prefix='image',
                             instance=image)
        if form.is_valid():  # All validation rules pass
            image = form.save(commit=False)
            if image_id:
                form.cleaned_data['image'] = image
            # Get the key
            if not image_id:
                key = slugify(form.cleaned_data['title'])
                try:
                    Image.objects.get(key=key)
                except Image.DoesNotExist:
                    count = 1
                    while True:
                        newkey = '%s-%s' % (key, count)
                        try:
                            Image.objects.get(key=newkey)
                            count += 1
                        except Image.DoesNotExist:
                            key = newkey
                            break
                image.key = key
            if not image_id:
                if not request.user.is_authenticated():
                    raise ValidationError, 'User must be logged in'
                else:
                    image.uploaded_by = request.user
            image.save()
            form.redirect_url = image.get_absolute_url()
    else:  #unbound forms
        if not image_id:
            form = ImageForm(initial=get_initial_data(request), prefix='image')
        else:
            image = get_object_or_404(Image, id=image_id)
            #form = ImageForm(initial=get_initial_data(request), prefix='image', instance=image)
            form = ImageForm(prefix='image', instance=image)
    return form
Example #3
0
def process_image_form(request, image_id=None):
    if request.method == 'POST' and request.POST.has_key('submit'): # If we are saving the form
        if not image_id:
            form = ImageForm(request.POST, request.FILES, prefix='image') # A form bound to the POST data
        else:
            image = get_object_or_404(Image, id=image_id)
            form = ImageForm(request.POST, request.FILES, prefix='image', instance=image)
        if form.is_valid(): # All validation rules pass
            image = form.save(commit=False)
            print 'Image', image_id, image
            if image:
                form.cleaned_data['image'] = image
            # Get the key
            if not image_id:
                key = slugify(form.cleaned_data['title'])
                try:
                    Image.objects.get(key=key)
                except Image.DoesNotExist:
                    count = 1
                    while True:
                        newkey = '%s-%s'%(key, count)
                        try:
                            Image.objects.get(key=newkey)
                            count += 1
                        except Image.DoesNotExist:
                            key = newkey
                            break
                image.key = key
            if not image_id:
                if not request.user.is_authenticated():
                    raise ValidationError, 'User must be logged in'
                else:
                    image.uploaded_by = request.user
            image.save()
            form.redirect_url = image.get_absolute_url()
    else: #unbound forms
        if not image_id:
            form = ImageForm(initial=get_initial_data(request), prefix='image')
        else:
            image = get_object_or_404(Image, id=image_id)
            #form = ImageForm(initial=get_initial_data(request), prefix='image', instance=image) 
            form = ImageForm(prefix='image', instance=image)
    return form