Esempio n. 1
0
def save_js(request):
    response = {}
    response['errormsg'] = {}
    status = 403
    if request.is_ajax() and request.method == 'POST':
        the_id = int(request.POST['id'])
        if 'owner_id' in request.POST:
            owner_id = int(request.POST['owner_id'])
            if owner_id != request.user.id:
                if not check_access_rights(owner_id, request.user):
                    return False
        else:
            owner_id = request.user.id
        if 'image' in request.FILES and \
                request.FILES['image'].content_type not in ALLOWED_FILETYPES:
            status = 200  # Not implemented
            response['errormsg']['error'] = _('Filetype not supported')
        else:
            # We only allow owners to change their images.
            image = Image.objects.filter(pk=the_id, owner=request.user)
            if image.exists():
                image = image[0]
                status = 200
            else:
                image = Image()
                image.uploader = request.user
                image.owner_id = owner_id
                status = 201
                if 'checksum' in request.POST:
                    image.checksum = request.POST['checksum']
            image.title = request.POST['title']
            if 'imageCat' in request.POST:
                image.image_cat = request.POST['imageCat']
            if 'image' in request.FILES:
                image.image = request.FILES['image']
            if status == 201 and 'image' not in request.FILES:
                status = 200
                response['errormsg']['error'] = _('No file uploaded')
            else:
                image.save()
                response['values'] = {
                    'pk': image.pk,
                    'title': image.title,
                    'image': image.image.url,
                    'file_type': image.file_type,
                    'added': mktime(image.added.timetuple()) * 1000,
                    'checksum': image.checksum,
                    'cats': image.image_cat.split(',')
                }
                if image.thumbnail:
                    response['values']['thumbnail'] = image.thumbnail.url
                    response['values']['height'] = image.height
                    response['values']['width'] = image.width
    return JsonResponse(
        response,
        status=status
    )
Esempio n. 2
0
def save_js(request):
    response = {}
    response['errormsg'] = {}
    status = 403
    if request.is_ajax() and request.method == 'POST':
        the_id = int(request.POST['id'])
        if 'owner_id' in request.POST:
            owner_id = int(request.POST['owner_id'])
            if owner_id != request.user.id:
                if not check_write_access_rights(owner_id, request.user):
                    return False
        else:
            owner_id = request.user.id
        if 'image' in request.FILES and \
                request.FILES['image'].content_type not in ALLOWED_FILETYPES:
            status = 200  # Not implemented
            response['errormsg']['error'] = _('Filetype not supported')
        else:
            # We only allow owners to change their images.
            image = Image.objects.filter(pk=the_id, owner=request.user)
            if image.exists():
                image = image[0]
                status = 200
            else:
                image = Image()
                image.uploader = request.user
                image.owner_id = owner_id
                status = 201
                if 'checksum' in request.POST:
                    image.checksum = request.POST['checksum']
            image.title = request.POST['title']
            if 'imageCat' in request.POST:
                image.image_cat = request.POST['imageCat']
            if 'image' in request.FILES:
                image.image = request.FILES['image']
            if status == 201 and 'image' not in request.FILES:
                status = 200
                response['errormsg']['error'] = _('No file uploaded')
            else:
                image.save()
                response['values'] = {
                    'pk': image.pk,
                    'title': image.title,
                    'image': image.image.url,
                    'file_type': image.file_type,
                    'added': mktime(image.added.timetuple()) * 1000,
                    'checksum': image.checksum,
                    'cats': image.image_cat.split(',')
                }
                if image.thumbnail:
                    response['values']['thumbnail'] = image.thumbnail.url
                    response['values']['height'] = image.height
                    response['values']['width'] = image.width
    return JsonResponse(response, status=status)
Esempio n. 3
0
def save(request):
    response = {}
    response['errormsg'] = {}
    if 'image' in request.FILES and \
            request.FILES['image'].content_type not in ALLOWED_FILETYPES:
        status = 200  # Not implemented
        response['errormsg']['error'] = _('Filetype not supported')
    else:
        image = False
        if 'id' in request.POST and 'image' not in request.FILES:
            user_image = UserImage.objects.filter(image_id=int(
                request.POST['id']),
                                                  owner=request.user).first()
            if user_image:
                image = user_image.image
                status = 200
        if image is False:
            image = Image()
            image.uploader = request.user
            user_image = UserImage()
            user_image.owner = request.user
            status = 201
            if 'checksum' in request.POST:
                image.checksum = request.POST['checksum']
        user_image.title = request.POST['title']
        if 'copyright' in request.POST:
            user_image.copyright = request.POST['copyright']
        if 'cats' in request.POST:
            user_image.image_cat = request.POST['cats']
        if 'image' in request.FILES:
            image.image = request.FILES['image']
        if status == 201 and 'image' not in request.FILES:
            status = 200
            response['errormsg']['error'] = _('No file uploaded')
        else:
            image.save()
            user_image.image = image
            user_image.save()
            response['values'] = {
                'id': image.id,
                'title': user_image.title,
                'copyright': json.loads(user_image.copyright),
                'image': image.image.url,
                'file_type': image.file_type,
                'added': mktime(image.added.timetuple()) * 1000,
                'checksum': image.checksum,
                'cats': json.loads(user_image.image_cat)
            }
            if image.thumbnail:
                response['values']['thumbnail'] = image.thumbnail.url
                response['values']['height'] = image.height
                response['values']['width'] = image.width
    return JsonResponse(response, status=status)
Esempio n. 4
0
def save_js(request):
    response = {}
    response['errormsg'] = {}
    status = 403
    if request.is_ajax() and request.method == 'POST' :
        the_id    = int(request.POST['id'])
        image  = Image.objects.filter(pk = the_id, uploader = request.user)
        if image.exists():
            image = image[0]
            status = 200
        else:
            image = Image()
            image.uploader = request.user
            status = 201
            if 'checksum' in request.POST:
                image.checksum = request.POST['checksum']
        image.title = request.POST['title']
        if 'imageCat' in request.POST:
            image.image_cat = request.POST['imageCat']
        if 'image' in request.FILES:
            image.image = request.FILES['image']

        image.save()
        response['values'] = {
            'pk': image.id,
            'title': image.title,
            'image': image.image.url,
            'file_type': image.file_type,
            'added': mktime(image.added.timetuple())*1000,
            'checksum': image.checksum,
            'cats': image.image_cat.split(',')
        }
        if image.thumbnail:
            response['values']['thumbnail'] = image.thumbnail.url
            response['values']['height'] = image.height
            response['values']['width'] = image.width
    return HttpResponse(
        simplejson.dumps(response),
        content_type = 'application/json; charset=utf8',
        status=status
    )            
Esempio n. 5
0
def save_js(request):
    response = {}
    response["errormsg"] = {}
    status = 403
    if request.is_ajax() and request.method == "POST":
        the_id = int(request.POST["id"])
        image = Image.objects.filter(pk=the_id, uploader=request.user)
        if image.exists():
            image = image[0]
            status = 200
        else:
            image = Image()
            image.uploader = request.user
            status = 201
            if "checksum" in request.POST:
                image.checksum = request.POST["checksum"]
        image.title = request.POST["title"]
        if "imageCat" in request.POST:
            image.image_cat = request.POST["imageCat"]
        if "image" in request.FILES:
            image.image = request.FILES["image"]

        image.save()
        response["values"] = {
            "pk": image.id,
            "title": image.title,
            "image": image.image.url,
            "file_type": image.file_type,
            "added": mktime(image.added.timetuple()) * 1000,
            "checksum": image.checksum,
            "cats": image.image_cat.split(","),
        }
        if image.thumbnail:
            response["values"]["thumbnail"] = image.thumbnail.url
            response["values"]["height"] = image.height
            response["values"]["width"] = image.width
    return HttpResponse(simplejson.dumps(response), content_type="application/json; charset=utf8", status=status)
Esempio n. 6
0
def save_js(request):
    response = {}
    response['errormsg'] = {}
    status = 403
    if request.is_ajax() and request.method == 'POST':
        if 'image' in request.FILES and \
                request.FILES['image'].content_type not in ALLOWED_FILETYPES:
            status = 200  # Not implemented
            response['errormsg']['error'] = _('Filetype not supported')
        else:
            image = False
            if 'id' in request.POST and 'image' not in request.FILES:
                user_image = UserImage.objects.filter(
                    image_id=int(request.POST['id']),
                    owner=request.user
                ).first()
                if user_image:
                    image = user_image.image
                    status = 200
            if image is False:
                image = Image()
                image.uploader = request.user
                user_image = UserImage()
                user_image.owner = request.user
                status = 201
                if 'checksum' in request.POST:
                    image.checksum = request.POST['checksum']
            user_image.title = request.POST['title']
            if 'cats' in request.POST:
                user_image.image_cat = request.POST['cats']
            if 'image' in request.FILES:
                image.image = request.FILES['image']
            if status == 201 and 'image' not in request.FILES:
                status = 200
                response['errormsg']['error'] = _('No file uploaded')
            else:
                image.save()
                user_image.image = image
                user_image.save()
                response['values'] = {
                    'id': image.id,
                    'title': user_image.title,
                    'image': image.image.url,
                    'file_type': image.file_type,
                    'added': mktime(image.added.timetuple()) * 1000,
                    'checksum': image.checksum,
                    'cats': list(
                        map(
                            int,
                            list(filter(bool, user_image.image_cat.split(',')))
                        )
                    )
                }
                if image.thumbnail:
                    response['values']['thumbnail'] = image.thumbnail.url
                    response['values']['height'] = image.height
                    response['values']['width'] = image.width
    return JsonResponse(
        response,
        status=status
    )
Esempio n. 7
0
def save_js(request):
    response = {}
    response['errormsg'] = {}
    status = 403
    if request.is_ajax() and request.method == 'POST':
        if 'image' in request.FILES and \
                request.FILES['image'].content_type not in ALLOWED_FILETYPES:
            status = 200  # Not implemented
            response['errormsg']['error'] = _('Filetype not supported')
        else:
            image = False
            if 'id' in request.POST and 'image' not in request.FILES:
                user_image = UserImage.objects.filter(image_id=int(
                    request.POST['id']),
                                                      owner=request.user)
                if user_image.exists():
                    user_image = user_image[0]
                    image = user_image.image
                    status = 200
            if image is False:
                image = Image()
                image.uploader = request.user
                user_image = UserImage()
                user_image.owner = request.user
                status = 201
                if 'checksum' in request.POST:
                    image.checksum = request.POST['checksum']
            user_image.title = request.POST['title']
            if 'cats' in request.POST:
                user_image.image_cat = request.POST['cats']
            if 'image' in request.FILES:
                image.image = request.FILES['image']
            if status == 201 and 'image' not in request.FILES:
                status = 200
                response['errormsg']['error'] = _('No file uploaded')
            else:
                image.save()
                user_image.image = image
                user_image.save()
                response['values'] = {
                    'id':
                    image.id,
                    'title':
                    user_image.title,
                    'image':
                    image.image.url,
                    'file_type':
                    image.file_type,
                    'added':
                    mktime(image.added.timetuple()) * 1000,
                    'checksum':
                    image.checksum,
                    'cats':
                    list(
                        map(int, filter(bool,
                                        user_image.image_cat.split(','))))
                }
                if image.thumbnail:
                    response['values']['thumbnail'] = image.thumbnail.url
                    response['values']['height'] = image.height
                    response['values']['width'] = image.width
    return JsonResponse(response, status=status)