Exemplo n.º 1
0
def edit_proj(request, project_slug):
    proj = get_object_or_404(Projet, slug=project_slug)
    if proj.user != request.user:
        return HttpResponseForbidden()
    else:
        images = ImageProject.objects.get(project=proj)
    if request.POST:
        form_projet = ProjetForm(request.POST, instance=proj, prefix="projet")
        form = ImageForm(request.POST, request.FILES, prefix="images", instance=images)
        import ipdb;ipdb.set_trace()
        if form.is_valid() and form_projet.is_valid():
            form.save()
            proj = form_projet.save(commit=False)
            proj.slug = slugify(proj.title)
            proj.save()
            # If the save was successful, redirect to another page
            redirect_url = reverse('tracking.views.dashboard', kwargs={'projet_slug': proj.slug})
            return HttpResponseRedirect(redirect_url)

    else:
        form = ImageForm(prefix="images", instance=images)
        form_projet = ProjetForm(prefix="projet", instance=proj)
    return render(request, 'projet/edit.html', {
        'form': form,
        'form_projet': form_projet,
        'proj': proj,
        })
Exemplo n.º 2
0
def createproj(request):
    if request.method == 'POST':
        form = ImageForm(request.POST, request.FILES, prefix="images")
        form_projet = ProjetForm(request.POST, prefix="projet")
        if form.is_valid() and form_projet.is_valid():
            form.save(commit=False)
            projet = form_projet.save(commit=False)
            title = projet.title
            projet.slug = slugify(title)
            projet.user = request.user
            projet.meta_description = projet.content
            projet.meta_keywords = projet.content.split()
            projet.save()
            images = form.save(commit=False)
            images.project = projet
            images.save()
            success_url = reverse('projet.views.success_create', args=[str(projet.slug)])
            return HttpResponseRedirect(success_url)
    else:
        form = ImageForm(prefix="images")
        form_projet = ProjetForm(prefix="projet")
    return render(request, 'projet/creation.html', {
        'form': form,
        'form_projet': form_projet,
        })
Exemplo n.º 3
0
Arquivo: views.py Projeto: psultan/OST
def upload(request):
    '''upload an image'''
    if request.POST:
        #save form
        form = ImageForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('/hello/all_uploads')
    else:
        #show form
        form = ImageForm()
        args={}
        args['form'] = form
        return render_to_response("upload.html", args, context_instance=RequestContext(request))
Exemplo n.º 4
0
def uploadImage(request):

    if request.method== 'POST':
        form = ImageForm(request.POST, request.FILES)
        if form.is_valid():
            form.save(commit=True)
            return images(request)
        else:
            print form.errors
    else:
        form = ImageForm()

    contextdict = {"form": form}
    return render(request, 'uploadImage.html', contextdict)
Exemplo n.º 5
0
def browse(request,
           id=None,
           tag=None,
           model=None,
           admin_instance=None,
           template='limage/browse.html'):
    imgs = Image.objects.all()
    o = None
    formargs = {}

    try:
        int(id)
    except ValueError:
        return HttpResponse(json.dumps({
            'form':
            'sorry, we can not upload images until you saved your Story at least once!',
            'images': [],
            'enable_upload': False
        }),
                            mimetype='application/json')

    if model:
        o = model.objects.get(id=id)
        formargs = dict(content_type=ContentType.objects.get_for_model(model),
                        object_id=o.pk)
        imgs = imgs.filter(**formargs)
    if tag:
        imgs = imgs.filter(tags__name=tag)

    if formargs.get('content_type'):
        formargs['content_type'] = formargs['content_type'].pk

    form = ImageForm(initial=formargs)
    if request.method == 'POST':
        form = ImageForm(request.POST, request.FILES, initial=formargs)

        if form.is_valid():
            form.save()

    imgs = {
        'images': [{
            'url': x.img.url,
            'id': x.pk,
        } for x in imgs],
        'form': form.as_p(),
        'enable_upload': True
    }
    return HttpResponse(json.dumps(imgs), mimetype="application/json")
Exemplo n.º 6
0
def create_image(request):
    if request.POST:
        form = ImageForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            
            return HttpResponseRedirect('/galleries/albums/')
    else:
        form = ImageForm()
        
    args = {}
    args.update(csrf(request))
    
    args['form'] = form
    
    return render(request,'create_image.html', args)
Exemplo n.º 7
0
def image_upload(request, image_id=None):
    instance = None
    if image_id:
        instance = Image.objects.get(pk=image_id)

    if request.method == "POST":
        form = ImageForm(request.POST, request.FILES, instance=instance)
        if form.is_valid():
            new_instance = form.save(commit=True)  # let's save the instance to get create its primary key

            if form.cleaned_data['delete_image'] and new_instance.image:
                new_instance.image.delete()

            if form.cleaned_data['image_path']:
                tmp_path = form.cleaned_data['image_path']
                abs_tmp_path = os.path.join(settings.MEDIA_ROOT, tmp_path)

                fname, fext = os.path.splitext(os.path.basename(tmp_path))
                filename = slugify(fname) + fext

                new_instance.image.save(filename, File(open(abs_tmp_path, "rb")), False)
                os.remove(abs_tmp_path)
            new_instance.save()
            return redirect("image_list")
    else:
        form = ImageForm(instance=instance)

    return render(request, "images/image_upload.html", {'instance': instance, 'form': form})
Exemplo n.º 8
0
def image_upload(request, image_id=None):
    instance = None
    if image_id:
        instance = Image.objects.get(pk=image_id)

    if request.method == "POST":
        form = ImageForm(request.POST, request.FILES, instance=instance)
        if form.is_valid():
            new_instance = form.save(commit=True)  # let's save the instance to get create its primary key

            if form.cleaned_data['delete_image'] and new_instance.image:
                new_instance.image.delete()

            if form.cleaned_data['image_path']:
                tmp_path = form.cleaned_data['image_path']
                abs_tmp_path = os.path.join(settings.MEDIA_ROOT, tmp_path)

                fname, fext = os.path.splitext(os.path.basename(tmp_path))
                filename = slugify(fname) + fext

                new_instance.image.save(filename, File(open(abs_tmp_path, "rb")), False)
                os.remove(abs_tmp_path)
            new_instance.save()
            return redirect("image_list")
    else:
        form = ImageForm(instance=instance)

    return render(request, "images/image_upload.html", {'instance': instance, 'form': form})
Exemplo n.º 9
0
Arquivo: views.py Projeto: psultan/OST
def upload(request):
    '''upload an image'''
    if request.POST:
        #save form
        form = ImageForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('/hello/all_uploads')
    else:
        #show form
        form = ImageForm()
        args = {}
        args['form'] = form
        return render_to_response("upload.html",
                                  args,
                                  context_instance=RequestContext(request))
Exemplo n.º 10
0
 def post(self, request, *args, **kwargs):
     self.object = Image
     user = request.user
     form = ImageForm(request.POST, request.FILES)
     if form.is_valid():
         self.object = form.save(commit=False)
         self.object.user = user
         self.object.save()
         return HttpResponseRedirect(reverse('images_url'))
     else:
         return self.render_to_response(self.get_context_data(form=form))
Exemplo n.º 11
0
def manageImages(request, id):
    ad = Ad.objects.get(id=id)
    isOwnAd = (request.user == ad.user)
    adImage = AdsImages(ad=ad)
    adImages = AdsImages.findByAd(ad)
    form = ImageForm()
    if isOwnAd:
        if request.method == 'POST' and isOwnAd:
            if (request.POST.get('uploadBtn') != None):
                form = ImageForm(request.POST, request.FILES, instance=adImage)
                if form.is_valid():
                    form.save()
            if (request.POST.get('delImageBtn') != None):
                selected = request.POST.getlist('imageChkBx')
                for imgId in selected:
                    image = AdsImages.findById(imgId)
                    image.delete()

        context = {'form': form, 'images': adImages, 'ad': ad}
        return render(request, 'oglasnik/manageImages.html', context)
    return redirect(reverse('index'))
Exemplo n.º 12
0
def browse(request, id=None, tag=None, model=None, admin_instance=None, template="limage/browse.html"):
    imgs = Image.objects.all()
    o = None
    formargs = {}

    try:
        int(id)
    except ValueError:
        return HttpResponse(
            json.dumps(
                {
                    "form": "sorry, we can not upload images until you saved your Story at least once!",
                    "images": [],
                    "enable_upload": False,
                }
            ),
            mimetype="application/json",
        )

    if model:
        o = model.objects.get(id=id)
        formargs = dict(content_type=ContentType.objects.get_for_model(model), object_id=o.pk)
        imgs = imgs.filter(**formargs)
    if tag:
        imgs = imgs.filter(tags__name=tag)

    if formargs.get("content_type"):
        formargs["content_type"] = formargs["content_type"].pk

    form = ImageForm(initial=formargs)
    if request.method == "POST":
        form = ImageForm(request.POST, request.FILES, initial=formargs)

        if form.is_valid():
            form.save()

    imgs = {"images": [{"url": x.img.url, "id": x.pk} for x in imgs], "form": form.as_p(), "enable_upload": False}
    return HttpResponse(json.dumps(imgs), mimetype="application/json")
Exemplo n.º 13
0
def upload_image(request, project_name, issueset_id, issue_id):
    """
    View for uploading the image and attaching it to an issue.
    """

    project = get_object_or_404(CollabProject, slug=project_name)
    project_id = project.id
    issueset = get_object_or_404(IssueSet, id=issueset_id)
    issue = get_object_or_404(Issue, id=issue_id)

    
    if not is_allowed(request, project_id, Issue._meta.verbose_name, 'Editable'):
        return handle_privilege(request, "You do not have privileges to edit issues!", issueset.get_absolute_url())

    # Check if the issue exists in that project AND issue set!
    if issue.issueset.project.id != project.id or issue.issueset.id != issueset.id:
	return handle_privilege(request, "The issue does not match the group or issue list!", project.get_absolute_url())

    if request.method == 'POST':
        form = ImageForm(request.POST, request.FILES)
        if form.is_valid():
	    # In Django 1.02, I need the following hack. The reason is
	    # that to decide where to upload the file to, it need to
	    # know what issue it is attached to. When I execute
	    # form.save(commit=False), it fails (although not in the
	    # current SVN).
	    form.cleaned_data["issue"] = issue
            image = form.save(commit=False)
            image.issue = issue
            image.save()
	    message = "The image has been added to the issue."
            request.user.message_set.create(message=message)
            return HttpResponseRedirect(issue.get_absolute_url())
    else:
        form = ImageForm()
    return render_to_response('issues/add_image.html', {'form': form, 'issue': issue, 'project': project}, context_instance=RequestContext(request))
Exemplo n.º 14
0
def create_stories(request):
	if request.user.is_authenticated():
		if request.POST:
			current_user = request.user
			list_form = []
			#Get the story form
			storyform = StoryForm(request.POST,prefix = "Story")
			#Check if text and image exists
			if not (request.POST.getlist('text') and request.FILES.getlist('source')):
				from django.contrib import messages
				messages.add_message(request, messages.WARNING, 'Please insert at least 1 text and 1 image')
				return render_page(request,"create_stories.html","custom error")	
			print storyform
			#Handle insertion for the title.
			if storyform.is_valid():
				story = storyform.save(commit = False)
				story.user_id = current_user.id
				story.save()
				#Handle insertion of the text
				for f,p in zip(request.POST.getlist('text'),request.POST.getlist('text_position')):
					text = TextForm(request.POST,{'position' : p,'text': f })
					if text.is_valid():
						addtext = text.save(commit = False)
						addtext.storyid_id = story.id
						addtext.user = current_user
						addtext.position = p
						addtext.text = f
						list_form.append(addtext);
					else:
						return render_page(request,"create_stories.html",{'form': text})


				#Handle insertion of the image
				for f,p in zip(request.FILES.getlist('source'),request.POST.getlist('position')):
					if f.size > 5000000:
						from django.contrib import messages
						messages.add_message(request, messages.WARNING, 'Image size should not be more than 5MB.')
						return render_page(request,"create_stories.html","custom error")
					form = ImageForm(request.POST, {'source': f })
					if form.is_valid():
						addimage = form.save(commit = False)
						addimage.storyid_id = story.id
						addimage.user = current_user
						addimage.position = p
						list_form.append(addimage);
					else:
						return render_page(request,"create_stories.html",{'form': form})
				#All form has been validated. Save it permanently
				for item_form in list_form:
					item_form.save()
				#Change the story complete to true so user can see it.
				story.complete = True;
				story.save();
				#Stream to all users who follows.				
				stream_feed(request.user.id,str(request.user.id) + ':' + str(story.storyid))
				
				return HttpResponseRedirect("/stories/read/?s=" + str(story.storyid))
			else:
				return render_page(request,"create_stories.html",{'form': storyform})
		else:
			return render_page(request,"create_stories.html","no error")
	else:
		return HttpRespondeRedirect("home.html")