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
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
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