def image_edit(request, image_id):
    image = Image.objects.get(pk=image_id)
    old_path = image.image
    if image.user.id == request.user.id:
        form = ImageForm(request.POST or None,
                         request.FILES or None,
                         instance=image)
        if request.method == 'POST':
            data = {'result': False}
            if form.is_valid():
                img = form.save()
                History.objects.create(
                    image=img,
                    old_path=old_path,
                )
                user_email = request.user.email
                msg = '{};{};{};'.format(user_email, img.date_time, img.image)
                send_mail(
                    'Изображение было изменено',
                    msg,
                    '*****@*****.**',
                    [user_email],
                    fail_silently=False,
                )
                data['result'] = True
            else:
                data['errors'] = form.errors
            return JsonResponse(data)
        else:
            ctx = {
                'form': form,
            }
            return render(request, 'gallery/form.html', ctx)
    else:
        raise Http404
Example #2
0
def photos(request):
    if request.method == 'POST':
        form = ImageForm(request.POST, request.FILES)

        if form.is_valid():
            service.upload_file(request.FILES['image'],
                                request.POST['file_name'])
    else:
        form = ImageForm()

    return render(request, 'photos.html', dict(form=form))
Example #3
0
def index(request):
    cat_list = []
    if request.method == "POST":
        form = ImageForm(data=request.POST, files=request.FILES)
        if form.is_valid():
            form.save()
            obj = form.instance
            return render(request, "index.html", {"obj": obj})
    else:
        form = ImageForm()
    all_img = ImageModel.objects.all()
    print(request.GET.get('category'))
    img = ImageModel.objects.filter(
        category=request.GET.get('category')).order_by('date').reverse()
    for i in all_img:
        if i is not cat_list:
            cat_list.append(i.category)
            # print(cat_list)
    cat_list = set(cat_list)
    if request.GET.get('category') is None or request.GET.get(
            'category') == "all":
        return render(request, "index.html", {
            "all_img": all_img,
            "form": form,
            "cat_list": cat_list
        })
    else:
        return render(request, "index.html", {
            "img": img,
            "form": form,
            "cat_list": cat_list
        })
Example #4
0
def image_add(request):
    album_lst = Album.objects.all()
    if request.method == 'POST':
        form = ImageForm(request.POST, request.FILES, )
        if form.is_valid():
            image_instance = form.save()
            create_thumbnail(image_instance)
            image_instance.save()
            return redirect('gallery.views.album_detail', image_instance.album.slug)
    else:
        album_slug = request.GET.get('album_slug', '__')
        if album_slug == '__':
            print("Classic form")
            form = ImageForm()
        else:
            album = Album.objects.get(slug=album_slug)
            # print("album : %s // album slug : %s" % (album_slug, album_slug))
            form = ImageForm(initial={'album': album})

    return render(request, 'gallery/image_add.html', locals())
def image_upload():
    if request.method == 'POST':
        form = ImageForm(request.form)
        if form.validate():
            image_file = request.files['file']
            # test if file is a PNG, GIF, or JPEG
            if image_file.content_type in ['image/png', 'image/gif', 'image/jpeg']:
                filepath = os.path.join(app.config['IMAGES_DIR'], secure_filename(image_file.filename))
                image = Image(path=filepath)
                image_file.save(image.path)
                # must grab image size after the image gets saved. Everything else can be generated or gotten at Image.__init__()
                image.size = os.path.getsize(image.path)
                db.session.add(image)
                db.session.commit()
                flash('Saved %s' % os.path.basename(image.path), 'success')
                return redirect(url_for('gallery.index'))
            else:
                flash('File extension "%s" not recognized!' % image_file.content_type, 'error')
    else:
        form = ImageForm()
    return render_template('gallery/image_upload.html', form=form)
Example #6
0
def edit_image(request, image_id):
    image = get_object_or_404(Image, id=image_id)
    form = ImageForm(instance=image)
    if request.user != image.user:
        messages.add_message(
            request, messages.ERROR, '<div class="error">You may only edit images that belong to ' "you!</div>"
        )
        return render(request, "permission_denied.html", {})
    if request.method == "POST":
        form = ImageForm(request.POST, request.FILES, instance=image)
        if form.is_valid():
            form.save()
            si = StreamItem(
                action_type="U",
                user=request.user,
                content_type=ContentType.objects.get_for_model(Image),
                object_id=image_id,
            )
            si.save()
            messages.add_message(request, messages.SUCCESS, '<div class="success">Image updated</div>')
            return HttpResponseRedirect(image.get_absolute_url())
    return render(request, "gallery/image/edit.html", {"form": form})
Example #7
0
def list(request):
    # handle file upload
    form = ImageForm(request.POST or None, request.FILES or None)
    
    if form.is_valid():
        form.save()
        return redirect('list')
    
    # load images for the list page
    images = Image.objects.all()
    
    # paging
    paginator = Paginator(images, 8)
    page = request.GET.get('page')
    try:
        image_list = paginator.page(page)
    except InvalidPage:
        image_list = paginator.page(1)

    # render list page with the images and the form
    return render(request, 'gallery/list.html', {
        'image_list': image_list,
        'form': form,
    })
Example #8
0
def create_image(request):
    form = ImageForm()
    if (request.method == "POST"):
        form = ImageForm(request.POST, request.FILES)
        if (form.is_valid()):
            image = form.save(commit=False)
            image.user = request.user
            image.save()
            form.save_m2m()
            si = StreamItem(
                action_type='C',
                user=request.user,
                content_type=ContentType.objects.get_for_model(Image),
                object_id=image.id)
            si.save()
            messages.add_message(
                request, messages.SUCCESS,
                '<div class="success">Image created - <a '
                'href="/image/create/">Add another!</a></div>')
            return HttpResponseRedirect(image.get_absolute_url())
    return render(request, 'gallery/image/edit.html', {'form': form})
Example #9
0
def edit_image(request, image_id):
    image = get_object_or_404(Image, id=image_id)
    form = ImageForm(instance=image)
    if (request.user != image.user):
        messages.add_message(
            request, messages.ERROR,
            '<div class="error">You may only edit images that belong to '
            'you!</div>')
        return render(request, 'permission_denied.html', {})
    if (request.method == "POST"):
        form = ImageForm(request.POST, request.FILES, instance=image)
        if (form.is_valid()):
            form.save()
            si = StreamItem(
                action_type='U',
                user=request.user,
                content_type=ContentType.objects.get_for_model(Image),
                object_id=image_id)
            si.save()
            messages.add_message(request, messages.SUCCESS,
                                 '<div class="success">Image updated</div>')
            return HttpResponseRedirect(image.get_absolute_url())
    return render(request, 'gallery/image/edit.html', {'form': form})
Example #10
0
def create_image(request):
    form = ImageForm()
    if request.method == "POST":
        form = ImageForm(request.POST, request.FILES)
        if form.is_valid():
            image = form.save(commit=False)
            image.user = request.user
            image.save()
            form.save_m2m()
            si = StreamItem(
                action_type="C",
                user=request.user,
                content_type=ContentType.objects.get_for_model(Image),
                object_id=image.id,
            )
            si.save()
            messages.add_message(
                request,
                messages.SUCCESS,
                '<div class="success">Image created - <a ' 'href="/image/create/">Add another!</a></div>',
            )
            return HttpResponseRedirect(image.get_absolute_url())
    return render(request, "gallery/image/edit.html", {"form": form})