Exemple #1
0
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
Exemple #2
0
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
Exemple #3
0
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))
Exemple #4
0
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)
Exemple #5
0
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)
Exemple #6
0
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)
Exemple #7
0
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))