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, })
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, })
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))
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)
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")
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)
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})
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})
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))
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))
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'))
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")
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))
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")