Example #1
0
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())
Example #2
0
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())