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 alvo(request, partida_id): fb_user = UserProfile.objects.get(user=request.user) partida = get_object_or_404(Partida, pk=partida_id) proximo_alvo = partida.proximo_alvo(request.user) if partida.n_jogadores() <= 1: return render(request, 'partidas/win.html', { 'partida': partida, }) if request.method == 'GET': foto_do_alvo = 'http://graph.facebook.com/'+proximo_alvo.profile.facebook_id+'/picture?type=large' return render(request, 'partidas/alvo.html', { 'partida': partida, 'alvo': proximo_alvo, 'foto_do_alvo': foto_do_alvo }) elif request.method == 'POST': form = UploadPhotoForm(request.POST, request.FILES) if form.is_valid(): files = {'source': request.FILES['file']} mensagem = request.user.get_full_name()+u' acaba de pegar '+proximo_alvo.get_full_name()+u'. Quer jogar também? http://pegapega.seocam.com' r_post_photo = requests.post('https://graph.facebook.com/me/photos', params={ 'access_token': fb_user.access_token, 'name': mensagem, }, files=files) picture_id = r_post_photo.json()['id'] if picture_id: partida.matar(proximo_alvo) r_tag_photo = requests.post('https://graph.facebook.com/'+picture_id+'/tags', params={ 'access_token': fb_user.access_token, 'to': proximo_alvo.profile.facebook_id }) return redirect('alvo', partida_id=partida.id)
def my_account(request, action=None, **kwargs): myaccount = True template = "webadmin/myaccount.html" conn = None try: conn = kwargs["conn"] except: logger.error(traceback.format_exc()) info = {'today': _("Today is %(tday)s") % {'tday': datetime.date.today()}, 'myaccount':myaccount} eventContext = {'userId':conn.getEventContext().userId,'userName':conn.getEventContext().userName, 'isAdmin':conn.getEventContext().isAdmin, 'version': request.session.get('version')} myaccount = BaseExperimenter(conn) myaccount.getMyDetails() myaccount.getOwnedGroups() edit_mode = False photo_size = None form = None form_file = UploadPhotoForm() if action == "save": if request.method != 'POST': return HttpResponseRedirect(reverse(viewname="wamyaccount", args=["edit"])) else: email_check = conn.checkEmail(request.REQUEST.get('email'), myaccount.experimenter.email) form = MyAccountForm(data=request.POST.copy(), initial={'groups':myaccount.otherGroups}, email_check=email_check) if form.is_valid(): firstName = form.cleaned_data['first_name'] middleName = form.cleaned_data['middle_name'] lastName = form.cleaned_data['last_name'] email = form.cleaned_data['email'] institution = form.cleaned_data['institution'] defaultGroup = form.cleaned_data['default_group'] myaccount.updateMyAccount(firstName, lastName, email, defaultGroup, middleName, institution) return HttpResponseRedirect(reverse("wamyaccount")) elif action == "upload": if request.method == 'POST': form_file = UploadPhotoForm(request.POST, request.FILES) if form_file.is_valid(): controller = BaseUploadFile(conn) controller.attach_photo(request.FILES['photo']) return HttpResponseRedirect(reverse("wamyaccount")) 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": form = MyAccountForm(initial={'omename': myaccount.experimenter.omeName, 'first_name':myaccount.experimenter.firstName, 'middle_name':myaccount.experimenter.middleName, 'last_name':myaccount.experimenter.lastName, 'email':myaccount.experimenter.email, 'institution':myaccount.experimenter.institution, 'default_group':myaccount.defaultGroup, 'groups':myaccount.otherGroups}) photo_size = conn.getExperimenterPhotoSize() if photo_size is not None: edit_mode = True photo_size = conn.getExperimenterPhotoSize() form = MyAccountForm(initial={'omename': myaccount.experimenter.omeName, 'first_name':myaccount.experimenter.firstName, 'middle_name':myaccount.experimenter.middleName, 'last_name':myaccount.experimenter.lastName, 'email':myaccount.experimenter.email, 'institution':myaccount.experimenter.institution, 'default_group':myaccount.defaultGroup, 'groups':myaccount.otherGroups}) context = {'info':info, 'eventContext':eventContext, 'form':form, 'form_file':form_file, 'ldapAuth': myaccount.ldapAuth, 'edit_mode':edit_mode, 'photo_size':photo_size, 'myaccount':myaccount} t = template_loader.get_template(template) c = Context(request,context) return HttpResponse(t.render(c))