def UploadPhoto(request): if request.method == 'POST': form = PhotoForm(request.POST, request.FILES) if form.is_valid(): form.save(request.user) return HttpResponseRedirect("/upload/") else: return render_to_response("upload.html", {'form': form, 'STATIC_URL': settings.STATIC_URL,}, RequestContext(request)) form = PhotoForm() return render_to_response("upload.html", {'form': form, 'STATIC_URL': settings.STATIC_URL,}, RequestContext(request))
def post(self, request): photo = Photo(owner=request.user) form = PhotoForm(request.POST, instance=photo) if form.is_valid(): form.save() return redirect("photo_detail", photo.pk) context = {"form": form} return render(request, "photos/new_photo.html", context)
def UploadPhoto(request): if request.method == "POST": form = PhotoForm(request.POST, request.FILES) if form.is_valid(): form.save(request.user) return HttpResponseRedirect("/upload/") else: return render_to_response( "upload.html", {"form": form, "STATIC_URL": settings.STATIC_URL}, RequestContext(request) ) form = PhotoForm() return render_to_response("upload.html", {"form": form, "STATIC_URL": settings.STATIC_URL}, RequestContext(request))
def create_photo(request): """ Gestiona la creación de una nueva foto :param request: objeto request :return: objeto response """ new_photo = None if request.method == 'POST': # si le hemos dado al boton crear, vamos a validar el formulario y a guardar la foto photo_with_user = Photo(owner=request.user) # creamos foto para el usuario autenticado form = PhotoForm(request.POST, instance=photo_with_user) # Le indicamos que en lugar de instanciarse una foto propio, # use new_photo que tiene ya asignado un usuario if form.is_valid(): new_photo = form.save() # guardamos la foto en la base de datos form = PhotoForm() #para que nos borre la info que ya habíamos metido en el formulario else: # si no, creamos un formulario vacio form = PhotoForm() context = { 'form' : form, 'photo' : new_photo } return render(request, 'photos/create_photo.html', context)
def post(self, request, *args, **kwargs): """ Handles the upload of photos and returns a JSON serialization of the uploaded photo. """ photoForm = PhotoForm(request.POST, request.FILES) if photoForm.is_valid(): # check that the file size is valid: image_file_size = photoForm.files['image'].size if image_file_size <= MAX_UPLOAD_SIZE: # save the photo and image file: photo = photoForm.save(commit=False) # set the default caption and user: photo.caption = photo.image.name photo.user = request.user photo.save() # return the serialized photo: return { 'status': 'success', 'status_code': 200, 'photoData': photo.serialize(), } # return error response return { 'status': 'invalid', 'status_code': 403, }
def take_photo(request): data = request.POST.copy() if not request.user.is_authenticated(): return HttpResponseBadRequest('Only signed in users can upload photographs.') ctype = data.get("content_type") object_id = data.get("object_id") if ctype is None or object_id is None: return HttpResponseBadRequest("Missing content_type or object_id field.") try: model = models.get_model(*ctype.split(".", 1)) target = model._default_manager.get(id=object_id) except TypeError: return HttpResponseBadRequest("Invalid content_type value: %r" % escape(ctype)) except AttributeError: return HttpResponseBadRequest("The given content-type %r does not resolve to a valid model." % escape(ctype)) except ObjectDoesNotExist: return HttpResponseBadRequest("No object matching content-type %r and object PK %r exists." % (escape(ctype), escape(object_id))) form = PhotoForm(target, data=data, files=request.FILES) if not form.is_valid(): template_list = [ "photos/preview.html" #"comments/%s_%s_preview.html" % tuple(str(model._meta).split(".")), #"comments/%s_preview.html" % model._meta.app_label, ] return render(request, template_list, { "form" : form, } ) photo = form.save() #photo = form.get_photo_object() #photo.save() next = data.get("next", '/') return HttpResponseRedirect(next)
def post(self, request, *args, **kwargs): """ Handles the upload of photos and returns a JSON serialization of the uploaded photo. """ photoForm = PhotoForm(request.POST, request.FILES) if photoForm.is_valid(): # check that the file size is valid: image_file_size = photoForm.files['image'].size if image_file_size <= MAX_UPLOAD_SIZE: # save the photo and image file: photo = photoForm.save(commit=False) # set the default caption and user: photo.caption = photo.image.name photo.user = request.user photo.save() # return the serialized photo: return { 'status': 'success', 'status_code': 200, 'photoData': photo.serialize(), } # return error response return {'status': 'invalid', 'status_code': 403, }
def job_photo(request, job_id): ''' Takes and stores a photo for a job ''' variables = {} form_data = {} form_data['job'] = variables['job_id'] = job_id form = PhotoForm(initial=form_data) if request.POST: form = PhotoForm(request.POST, request.FILES) if form.is_valid(): form.save() messages.success(request, 'Photo successfully added.') variables['form'] = form return render(request, 'contractor/take-photo.html', variables)
def upload(request): form = PhotoForm(request.POST or None, request.FILES or None) if form.is_valid(): new_photo = form.save(commit=False) new_photo.user = request.user new_photo.save() return redirect('index') return locals()
def add_photo(request,id): album=get_object_or_404(Item,id=id) if request.method=='POST': form=PhotoForm(request.POST,request.FILES ) if form.is_valid(): instance=form.save(commit=False) instance.item=album instance.save() return redirect(reverse('home')) form=PhotoForm() return render(request,'app/AddPhoto.html',{'form':form})
def upload(request, id): if not request.user.is_staff and not request.user.is_superuser: return HttpResponseForbidden( 'You should be authenticated as admin or staff to upload files') article = get_object_or_404(Article, id=id) form = PhotoForm(request.POST, request.FILES) if form.is_valid(): p = form.save(commit=False) p.article = article p.save() return HttpResponse('')
def upload(request): """ Upload view function. Saves new photos or display upload form. """ if request.method == 'POST': form = PhotoForm(request.POST, request.FILES) if form.is_valid(): # handle_uploaded_file(request.FILES['image']) photo = form.save(commit=False) photo.create(request.user) return HttpResponseRedirect('/view/%s/' % photo.id) else: form = PhotoForm() return render_to_response('upload.html', locals(), context_instance=RequestContext(request))
def create(request): if request.method == "GET": form = PhotoForm() elif request.method == "POST": form = PhotoForm(request.POST, request.FILES) if form.is_valid(): obj = form.save() return redirect(obj) ctx = { 'form': form, } return render(request, 'edit.html', ctx)
def post(self, request): form = PhotoForm(self.request.POST, self.request.FILES) if form.is_valid(): f = form.save(commit=False) contractor = Contractor.objects.get(pk='1025362') f.content_type = ContentType.objects.get(model='contractor') f.object_id = contractor.LicNum # print('test2') f.save() data = {'is_valid': True, 'name': f.img.name, 'url': f.img.url} else: # print('test3') data = {'is_valid': False} return JsonResponse(data)
def edit_album_view(request, a): ''' Allows users to edit albums ''' try: album = Album.objects.get(pk=a) except Album.DoesNotExist: raise Http404 if album.creator == request.user: if request.POST: photo = Photo(creator=request.user) photo_form = PhotoForm(request.POST, request.FILES, instance=photo) if photo_form.is_valid(): photo_form.save() photo.albums.add(album) photo.save() return HttpResponseRedirect('/edit/%s' % a) c = {} c.update(csrf(request)) context = {'c': c, 'album': album, 'PhotoForm': PhotoForm(), } message = 'Click texts to edit.' message += ' Click images to delete.' if \ len(album.photo_set.all()) > 0 else '' messages.info(request, message) return render(request, 'edit_album.html', context) raise PermissionDenied
def create_photo(request): new_photo = None if request.method == 'POST': #Creamos la foto para el usuario autenticado photo_with_user = Photo(owner=request.user) form = PhotoForm(request.POST, instance=photo_with_user) if form.is_valid(): new_photo = form.save() form = PhotoForm() else: form = PhotoForm() context = {'form': form, 'photo': new_photo} return render(request, 'photos/create_photo.html', context)
def create_photo(request): """ Gestiona la creacion de fotos :param: request: :return: """ new_photo = None if request.method == 'POST': photo_with_user = Photo( owner=request.user) # creamos foto para el usuario form = PhotoForm(request.POST, instance=photo_with_user) if form.is_valid(): new_photo = form.save() form = PhotoForm() else: form = PhotoForm() context = {'form': form, 'photo': new_photo} return render(request, 'photos/create_photo.html', context)
def gallery(request, gallery_id): try: gallery = Gallery.objects.get(id=gallery_id) except Gallery.DoesNotExist: raise Http404 if request.method == "POST": form = PhotoForm(request.POST, request.FILES) if form.is_valid(): new_photo = form.save(commit=False) new_photo.visible_by = 'AD' new_photo.save() form.save_m2m() return HttpResponseRedirect("/gallery/%s/" % gallery_id) else: form = PhotoForm() context = {'gallery': gallery, 'form': form} return render(request, "gallery.html", context)
def upload(request): form = PhotoForm(auto_id="%s") if request.POST: form = PhotoForm( { "user": request.user.id, "pub_date": datetime.now(), "gallery": request.POST["gallery"], "title": request.POST["title"], }, request.FILES, ) if form.is_valid(): photo = form.save() photo.attach_tags(request.POST["tags"]) return render_to_response("photos/upload.html", {"form": form}, context_instance=RequestContext(request))
def add_photo_view(request): if request.method == 'POST': form = PhotoForm(request.user, request.FILES, data=request.POST) if form.is_valid(): photo = form.save(commit=False) photo.owner = request.user photo.save() for tag in form.cleaned_data['tags']: photo.tags.add(tag) photo.save() if form.cleaned_data['tag']: tag = Tag(name=form.cleaned_data['tag'], owner=request.user) tag.save() photo.tags.add(tag) photo.save() return HttpResponseRedirect('/photos') else: form = PhotoForm(current_user=request.user) return render(request, 'photorizer/add_photo.html', {'form': form})
def gallery(request, gallery_id): try: gallery = Gallery.objects.get(id=gallery_id) except Gallery.DoesNotExist: raise Http404 if request.method == "POST": form = PhotoForm(request.POST, request.FILES) if form.is_valid(): new_photo = form.save(commit=False) new_photo.visible_by = 'AD' new_photo.save() form.save_m2m() return HttpResponseRedirect("/gallery/%s/" % gallery_id) else: form = PhotoForm() context = {'gallery': gallery, 'form' : form} return render(request, "gallery.html", context)
def create_photo(request): """ Gestiona la creacion de fotos :param request: objeto request :return: """ new_photo = None if request.method == "POST": photo_with_user = Photo(owner=request.user) form = PhotoForm(request.POST, instance=photo_with_user) if form.is_valid(): new_photo = form.save() form = PhotoForm() else: form = PhotoForm() context = { 'photo': new_photo, 'form': form } return render(request, 'create_photo.html', context)
def new_photo(request): messages = [] if request.POST: # lo mismo que hacer request.method == 'POST' photo_with_user = Photo(owner=request.user) photo_form = PhotoForm(request.POST, files=request.FILES, instance=photo_with_user) if photo_form.is_valid(): new_photo = photo_form.save() # guarda la foto messages.append('Foto guardada!! <a href="/photos/' + str(new_photo.pk) + '">Verfoto</a>') photo_form = PhotoForm() else: photo_form = PhotoForm() context = { 'form': photo_form, 'message_list': messages } return render(request, 'photos/new_photo.html', context)
def create_photo(request): new_photo = None if request.method == 'POST': #Creamos la foto para el usuario autenticado photo_with_user = Photo(owner=request.user) form = PhotoForm(request.POST, instance=photo_with_user) if form.is_valid(): new_photo = form.save() form = PhotoForm() else: form = PhotoForm() context = { 'form': form, 'photo': new_photo } return render(request, 'photos/create_photo.html',context)
def add_point(request): """ Get the form to add a point """ data = {'success': False} rendered = None form = PointForm(request.POST or None, request.FILES if request.POST else None) if request.method == 'POST': point = form.save(commit=False) point.user = request.user point.save() photoForm = PhotoForm(request.POST, request.FILES) photo = photoForm.save(commit=False) photo.point = point photo.save() else: rendered = render_to_string('points/add_point_form.html', {'form': form},RequestContext(request)) data = { 'success': True, 'html': rendered } return HttpResponse(simplejson.dumps(data))
def post(self, request, *args, **kwargs): """ Handles the updating of photos and returns a JSON serialization of the updated photo. Note, this view cannot update the associated image file. """ public_id = kwargs.get('public_id') photo = get_object_or_404(Photo, public_id=public_id) photoForm = PhotoForm(request.POST, instance=photo) if photoForm.is_valid(): # save the photo: photo = photoForm.save() # return the serialized photo: return { 'status': 'success', 'status_code': 200, 'photoData': photo.serialize(), } # return error response return {'status': 'invalid', 'status_code': 403, }
def add_point(request): """ Get the form to add a point """ data = {'success': False} rendered = None form = PointForm(request.POST or None, request.FILES if request.POST else None) if request.method == 'POST': point = form.save(commit=False) point.user = request.user point.save() photoForm = PhotoForm(request.POST, request.FILES) photo = photoForm.save(commit=False) photo.point = point photo.save() else: rendered = render_to_string('points/add_point_form.html', {'form': form}, RequestContext(request)) data = {'success': True, 'html': rendered} return HttpResponse(simplejson.dumps(data))
def new_photo(request): messages = [] if request.POST: # lo mismo que hacer request.method == 'POST' photo_with_user = Photo(owner=request.user) photo_form = PhotoForm(request.POST, files=request.FILES, instance=photo_with_user) if photo_form.is_valid(): #new_photo = Photo() #new_photo.url = photo_form.cleaned_data.get('url') #... #new_photo.save() new_photo = photo_form.save() # guarda la foto messages.append('Foto guardada! <a href="/photos/' + str(new_photo.pk) + '">Ver foto</a>') photo_form = PhotoForm() else: photo_form = PhotoForm() context = {'form': photo_form, 'message_list': messages} return render(request, 'photos/new_photo.html', context)
def post(self, request, *args, **kwargs): """ Handles the updating of photos and returns a JSON serialization of the updated photo. Note, this view cannot update the associated image file. """ public_id = kwargs.get('public_id') photo = get_object_or_404(Photo, public_id=public_id) photoForm = PhotoForm(request.POST, instance=photo) if photoForm.is_valid(): # save the photo: photo = photoForm.save() # return the serialized photo: return { 'status': 'success', 'status_code': 200, 'photoData': photo.serialize(), } # return error response return { 'status': 'invalid', 'status_code': 403, }
def generic_photos(request, model, object_id, max_photos=5, extra_context={}): model_instance = get_object_or_404(model, pk=object_id) photos = GenericPhoto.objects.photos_for_object(model_instance) if request.method == 'POST' and photos.count() < max_photos: form = PhotoForm(request.POST, request.FILES) if form.is_valid(): instance = form.save(commit=False) if instance.image.size > photos_settings.MAX_PHOTO_SIZE: messages.error(request, _(u'The photo is too big.')) os.unlink(instance.photo.path) return HttpResponseRedirect(request.META.get('HTTP_REFERER','/')) # ext = os.path.splitext(os.path.split(instance.get_photo_filename())) # if ext != '.png' and ext != '.jpg' and ext != '.gif': # _flash_message(request, _(u'El solo fotos de tipo: PNG, JPG o GIF son permitidas.'), type='error') # os.unlink(instance.get_photo_filename()) # return HttpResponseRedirect('/photos/' + str(ad.number)) instance.object_id = object_id instance.content_type = ContentType.objects.get_for_model(model) instance.save() photos = GenericPhoto.objects.photos_for_object(model_instance) if photos.filter(main=True).count() == 0: new_main_photo = photos[0] new_main_photo.main=True new_main_photo.save() messages.success(request, _(u'The photo was added successfully.')) return HttpResponseRedirect(request.META.get('HTTP_REFERER','/')) else: form = PhotoForm() extra_context.update({ 'title':_(u'photos for%(object_name)s%(max_photos)s: %(object)s') % { 'object_name':' %s' % unicode(extra_context['object_name']) if 'object_name' in extra_context else '', 'object':model_instance, 'max_photos': (_(u' (maximum of %s)') % max_photos if max_photos else '') }, 'object':model_instance, 'object_list':photos, 'hide_object':True, 'extra_columns':[ {'name':_(u'photo'),'attribute':lambda x: '<div class="gallery"><a href="%s"><img src="%s" /></a></div>' % (x.get_display_url(), x.get_thumbnail_url())}, {'name':_(u'main photo'),'attribute':lambda x: '<span class="famfam active famfam-accept"></span>' if x.main else '-'}, {'name':_(u'title'),'attribute':lambda x: x.title if x.title else '-'} ], }) if GenericPhoto.objects.photos_for_object(model_instance).count() < max_photos: extra_context.update({ 'subforms_dict':[ { 'name':'generic_form_subtemplate.html', 'title':_(u'Upload new photo'), 'form':form, }, ], }) else: #subform_dict is persistent between views, clear it explicitly extra_context.update({'subforms_dict':[]}) return render_to_response('photos.html', extra_context, context_instance=RequestContext(request))
def generic_photos(request, model, object_id, max_photos=5, extra_context={}): model_instance = get_object_or_404(model, pk=object_id) photos = GenericPhoto.objects.photos_for_object(model_instance) if request.method == 'POST' and photos.count() < max_photos: form = PhotoForm(request.POST, request.FILES) if form.is_valid(): instance = form.save(commit=False) if instance.image.size > photos_settings.MAX_PHOTO_SIZE: messages.error(request, _(u'The photo is too big.')) os.unlink(instance.photo.path) return HttpResponseRedirect( request.META.get('HTTP_REFERER', '/')) # ext = os.path.splitext(os.path.split(instance.get_photo_filename())) # if ext != '.png' and ext != '.jpg' and ext != '.gif': # _flash_message(request, _(u'El solo fotos de tipo: PNG, JPG o GIF son permitidas.'), type='error') # os.unlink(instance.get_photo_filename()) # return HttpResponseRedirect('/photos/' + str(ad.number)) instance.object_id = object_id instance.content_type = ContentType.objects.get_for_model(model) instance.save() photos = GenericPhoto.objects.photos_for_object(model_instance) if photos.filter(main=True).count() == 0: new_main_photo = photos[0] new_main_photo.main = True new_main_photo.save() messages.success(request, _(u'The photo was added successfully.')) return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/')) else: form = PhotoForm() extra_context.update({ 'title': _(u'photos for%(object_name)s%(max_photos)s: %(object)s') % { 'object_name': ' %s' % unicode(extra_context['object_name']) if 'object_name' in extra_context else '', 'object': model_instance, 'max_photos': (_(u' (maximum of %s)') % max_photos if max_photos else '') }, 'object': model_instance, 'object_list': photos, 'hide_object': True, 'extra_columns': [{ 'name': _(u'photo'), 'attribute': lambda x: '<div class="gallery"><a href="%s"><img src="%s" /></a></div>' % (x.get_display_url(), x.get_thumbnail_url()) }, { 'name': _(u'main photo'), 'attribute': lambda x: '<span class="famfam active famfam-accept"></span>' if x.main else '-' }, { 'name': _(u'title'), 'attribute': lambda x: x.title if x.title else '-' }], }) if GenericPhoto.objects.photos_for_object( model_instance).count() < max_photos: extra_context.update({ 'subforms_dict': [ { 'name': 'generic_form_subtemplate.html', 'title': _(u'Upload new photo'), 'form': form, }, ], }) else: #subform_dict is persistent between views, clear it explicitly extra_context.update({'subforms_dict': []}) return render_to_response('photos.html', extra_context, context_instance=RequestContext(request))