def manage_avatar(request, action=None, conn=None, **kwargs): template = "webadmin/avatar.html" edit_mode = False photo_size = None form_file = UploadPhotoForm() if action == "upload": if request.method == 'POST': form_file = UploadPhotoForm(request.POST, request.FILES) if form_file.is_valid(): attach_photo(conn, request.FILES['photo']) return HttpResponseRedirect(reverse(viewname="wamanageavatar", args=[conn.getEventContext().userId])) elif action == "crop": x1 = long(request.REQUEST.get('x1')) x2 = long(request.REQUEST.get('x2')) y1 = long(request.REQUEST.get('y1')) y2 = long(request.REQUEST.get('y2')) box = (x1,y1,x2,y2) conn.cropExperimenterPhoto(box) return HttpResponseRedirect(reverse("wamyaccount")) elif action == "editphoto": photo_size = conn.getExperimenterPhotoSize() if photo_size is not None: edit_mode = True elif action == "deletephoto": conn.deleteExperimenterPhoto() return HttpResponseRedirect(reverse("wamyaccount")) photo_size = conn.getExperimenterPhotoSize() context = {'form_file':form_file, 'edit_mode':edit_mode, 'photo_size':photo_size} context['template'] = template return context
def upload_file(request): if request.method == 'POST': form = UploadPhotoForm(request.POST, request.FILES) if form.is_valid(): tags = form.cleaned_data['tags'] title = form.cleaned_data['title'] photo = form.cleaned_data['photo'] lat = form.cleaned_data['lat'] lon = form.cleaned_data['lon'] request_token = request.session.get('request_token', None) access_token = request.session.get('access_token', None) if request_token is None: request_token = remote_app_client.fetch_request_token(callback=request.build_absolute_uri(reverse("widgets_return"))) request.session['request_token'] = request_token if access_token is None: access_token = remote_app_client.fetch_access_token(request_token,callback=request.build_absolute_uri(reverse("widgets_return"))) request.session['access_token'] = request_token parameters = {'photo[title]': title, 'photo[tags]': tags, 'photo[photo]': photo} # resource specific params url = "layer_name" response_json = remote_app_client.request_url(access_token, url, parameters, "POST") try: response = simplejson.loads(response_json) except: response = response_json return render_to_response('widgets/upload.html', locals(), context_instance=RequestContext(request)) layer = "layer_name" photo_id = "photos.%s" % (response['id']) photo_location_record = simplegeo.Record(layer,photo_id,lat,lon,type='image') sg_client.add_record(photo_location_record) return HttpResponseRedirect(reverse("widgets_photo",kwargs={'id':response['id']})) else: form = UploadPhotoForm() return render_to_response('widgets/upload.html', locals(), context_instance=RequestContext(request))
def edit_profile(): form = UploadPhotoForm() if form.validate_on_submit(): f = form.photo.data if f.filename == '': flash('No selected file.', category='danger') return render_template('edit_profile.html', form=form) if f and allowed_file(f.filename): filename = secure_filename(f.filename) f.save(os.path.join('app', 'static', 'assets', filename)) current_user.avatar_img = '/static/assets/' + filename db.session.commit() return redirect( url_for('user_page', username=current_user.username)) return render_template('edit_profile.html', form=form)
def upload_photos(username, iso, album_title): form = UploadPhotoForm() album = AlbumManager.get_album(g.user.id, album_title) if form.validate_on_submit(): for file in form.image.data: if 'image' not in file.mimetype: form.image.errors.append('Images only!') return render_template('form.html', form=form) filenames = add_photos( username, iso, album.title, form.image.data ) # returns an array of urls linking to the uploaded images for name in filenames: db.session.add( Photo(user_id=g.user.id, album_id=album.id, image=name)) db.session.commit() return redirect( url_for('show_album_photos', username=username, iso=iso, album_title=album_title)) return render_template('form.html', form=form)