def new_consumer(request): if request.method == 'GET': form = ConsumerForm() return direct_to_template(request, 'oauthsp/new_consumer.html', locals()) form = ConsumerForm(request.POST, request.FILES) if not form.is_valid(): return direct_to_template(request, 'oauthsp/new_consumer.html', locals()) consumer = form.save(commit=False) consumer.user = request.user consumer.image = StoredFile.store_file('image.png', form.big_image) consumer.small_image = StoredFile.store_file('image.png', form.small_image) consumer.save() return HttpResponseRedirect(consumer.get_absolute_url())
def edit_consumer(request, consumer_id): consumer = get_object_or_404(Consumer, id=consumer_id) if consumer.user != request.user: return HttpResponseForbidden(_('Only the consumer owner may edit it')) if request.method == 'GET': form = EditConsumerForm(initial={ 'version': consumer.version, 'uri': consumer.uri, 'description': consumer.description, 'private': consumer.private, 'editable_attributes': consumer.editable_attributes, }) return direct_to_template(request, 'oauthsp/new_consumer.html', locals()) form = EditConsumerForm(request.POST, request.FILES) if not form.is_valid(): return direct_to_template(request, 'oauthsp/new_consumer.html', locals()) consumer.version = form.cleaned_data['version'] consumer.uri = form.cleaned_data['uri'] consumer.description = form.cleaned_data['description'] consumer.private = form.cleaned_data['private'] consumer.editable_attributes = form.cleaned_data['editable_attributes'] for_deletion = [] if hasattr(form, 'big_image'): if consumer.image: for_deletion = [consumer.image, consumer.small_image] consumer.image = StoredFile.store_file('image.png', form.big_image) consumer.small_image = StoredFile.store_file('image.png', form.small_image) consumer.save() # Delete after changing the foreign keys for obj in for_deletion: obj.delete() return HttpResponseRedirect(consumer.get_absolute_url())