def participate(self, request): whitespace = ' ' username = password = first_name = last_name = '' for k, v in request.POST.items(): if 'username' in k: u = User.objects.filter(username=v) if len(u) > 0: return response('Username already exists') else: username = v elif 'password' in k: if v not in request.POST['repeatpassword']: return response('Password mismatch') else: password = v elif 'name' in k: first_name, last_name = whitespace.join( v.split()[:1]), whitespace.join(v.split()[1:]) user = User(username=username, first_name=first_name, last_name=last_name) user.set_password(password) user.save() r = redirect('/Socialize/tutorial') r.set_cookie('username', username) r.set_cookie('permissions', 'super') return r
def authenticate(self,request): data = request.REQUEST if 'profile' in data: profile = self.json_decode(data['profile']); t = data['social'] # Atualizacao do perfil com tokens sociais if 'user' in request.session: return self.social_update(request,t,profile) # Registro do perfil com token social else: return self.social_register(request,t,profile) elif 'username' not in data or 'password' not in data: return response(json.dumps({'error':'User or password missing'}),mimetype='application/json') else: username = data['username'] password = data['password'] exists = User.objects.filter(username=username) if exists: if exists[0].check_password(password): obj = json.dumps({'username':username,'userid':exists[0].id}) request.session['user'] = username r = response(json.dumps({'success':'Login successful'}), mimetype = 'application/json') r.set_cookie('permissions','super') return r else: obj = json.dumps({'error':'User or password wrong'}) return response(obj,mimetype='application/json')
def Score(request): filename=request.GET['filename'] if filename=="": return response("error") temp=score.chengji_all(filename=filename) res=json.dumps(temp,ensure_ascii=False) return response(res)
def authenticate(self, request): data = request.REQUEST if 'profile' in data: profile = self.json_decode(data['profile']) t = data['social'] # Atualizacao do perfil com tokens sociais if 'user' in request.session: return self.social_update(request, t, profile) # Registro do perfil com token social else: return self.social_register(request, t, profile) elif 'username' not in data or 'password' not in data: return response(json.dumps({'error': 'User or password missing'}), mimetype='application/json') else: username = data['username'] password = data['password'] exists = User.objects.filter(username=username) if exists: if exists[0].check_password(password): obj = json.dumps({ 'username': username, 'userid': exists[0].id }) request.session['user'] = username r = response(json.dumps({'success': 'Login successful'}), mimetype='application/json') r.set_cookie('permissions', 'super') return r else: obj = json.dumps({'error': 'User or password wrong'}) return response(obj, mimetype='application/json') else: obj = json.dumps({'error': 'User does not exist'}) return response(obj, mimetype='application/json')
def Table(request): filename = request.GET['filename'] if filename=="": return response("error") temp=kebiao.kebiao_now(filename) res = json.dumps(temp, ensure_ascii=False) return response(res)
def GPA(request): yhm=request.GET['yhm'] mm=request.GET['mm'] if yhm =="" or mm=="": return response("error") temp=gpa.login(username=yhm,pwd=mm) res = json.dumps(temp, ensure_ascii=False) return response(res)
def change_password(self,request): user = self.current_user(request) old = request.POST['old_password'] new1 = request.POST['new_password1'] new2 = request.POST['new_password2'] if not user.check_password(old): return response('Senha incorreta.') user.set_password(new1) user.save() return response('Senha alterada!')
def Login(request): yhm=request.GET['yhm'] mm=request.GET['mm'] if yhm =="" or mm=="": return response("error") filename=get_random() status=login.login(yhm=yhm,mm=mm,filename=filename) temp={"status":status,"filename":filename} res=json.dumps(temp) return response(res)
def change_password(self, request): user = self.current_user(request) old = request.POST['old_password'] new1 = request.POST['new_password1'] new2 = request.POST['new_password2'] if not user.check_password(old): return response('Senha incorreta.') user.set_password(new1) user.save() return response('Senha alterada!')
def create_image(self,request): u = self.current_user(request) if 'description' in request.POST: image = list(Image.objects.filter(user=u))[-1:][0] descr = request.POST['description'] image.description = descr image.save() return response('Description added to image successfully') i = Image(link=self.upload_image(request),user=u) i.save() return response('Image created successfully')
def create_image(self, request): u = self.current_user(request) if 'description' in request.POST: image = list(Image.objects.filter(user=u))[-1:][0] descr = request.POST['description'] image.description = descr image.save() return response('Description added to image successfully') i = Image(link=self.upload_image(request), user=u) i.save() return response('Image created successfully')
def view_id(self, request): u = self.current_user(request) if 'first_turn' in request.GET: if u.profile.first_turn: return response('yes') else: return response('no') elif 'object' in request.GET: o, t = request.GET['object'][0].split(';') now, objs, rels = self.get_object_bydate(o, t) obj = globals()[objs].objects.all().filter(date=now)[0] if hasattr(obj, 'user'): return response(str(obj.user.id)) else: return response(str(self.current_user().id)) else: return response(str(self.current_user().id))
def view_id(self,request): u = self.current_user(request) if 'first_turn' in request.GET: if u.profile.first_turn: return response('yes') else: return response('no') elif 'object' in request.GET: o,t = request.GET['object'][0].split(';') now,objs,rels = self.get_object_bydate(o,t) obj = globals()[objs].objects.all().filter(date=now)[0] if hasattr(obj,'user'): return response(str(obj.user.id)) else: return response(str(self.current_user().id)) else: return response(str(self.current_user().id))
def view_mosaic(self,request,objlist=None,other=None): if 'user' in request.session: u = user(request.session['user']) else: u = user('efforia') try: page = request.GET.get('page',1) except PageNotAnInteger: page = 1 if objlist is None: f = self.feed(u) else: f = objlist if other is None: p = u.profile else: p = other f.sort(key=lambda item:item.date,reverse=True) p = Paginator(f,20,request=request) try: objects = p.page(page) except EmptyPage: return response('End of feed') rendered = self.apps_mosaic(request,objects,u) return response(rendered,content_type='text/html')
def clean_basket(self,request): u = self.current_user(request); cart = [] basket = list(Basket.objects.filter(user=u)) for b in basket: Sellable.objects.filter(sellid=b.product).delete() b.delete() return response("Basket cleaned successfully")
def balance(self,request): userid = request.GET['userid'] json.dumps({'objects':{ 'userid': userid, 'value': Profile.objects.filter(user=int(userid))[0].credit }}) return response(j,mimetype='application/json')
def task_operate(request): if request.method == 'GET': operate_type = request.GET.get('type', '') id = request.GET.get('task_id', '') id = int(id) # end if _task = Task.objects.get(id = id) _result = Result.objects.get(task_id = _task.task_id) if operate_type == 'stop': pass # end if if operate_type == 'delete': _task.delete() _result.delete() pass # end if if operate_type == 'restart': pass # end if _task.save() _result.save() transaction.commit() anoncement = 'TASK %d has %s' % (id,operate_type) return response(anoncement)
def send_event_cover(self,request): u = self.current_user(request) token = u.profile.facebook_token ident = request.REQUEST['id'] photo = request.REQUEST['url'] self.oauth_post_request('/%s'%ident,token,{'cover_url':photo},'facebook') return response('Published image cover on event successfully on Facebook')
def login(request): if request.GET: js = json.loads(request.GET["m"]) else: js = json.loads(request.POST["m"]) name = js["name"] password = js["pas"] if name and password: u = db.get_user(nickname=name) if u: if u.password == password: hx_u = db.get_hx_user(id=u.id) t = time.time() to = db.insert_token(id=u.id, token=u.nickname + str(int(round(t * 1000)))) ujs = { "code": 0, "token": to.token, "hx": { "nickname": hx_u.nickname, "pass": hx_u.password } } else: ujs = {"code": 1, "msg": "password error"} else: ujs = {"code": 2, "msg": "user is not found"} else: ujs = {"code": 3, "msg": "name or pass is empty"} return response(json.dumps(ujs))
def view_mosaic(self, request, objlist=None, other=None): if 'user' in request.session: u = user(request.session['user']) else: u = user('efforia') try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 if objlist is None: f = self.feed(u) else: f = objlist if other is None: p = u.profile else: p = other f.sort(key=lambda item: item.date, reverse=True) p = Paginator(f, 20, request=request) try: objects = p.page(page) except EmptyPage: return response('End of feed') apps = settings.EFFORIA_APPS return render(request, 'grid.jade', { 'f': objects, 'p': p, 'path': request.path, 'apps': apps, 'static_url': settings.STATIC_URL }, content_type='text/html')
def post(self, request): serializers = UserSerializers(data=request.data) if serializers.is_valid(): user = serializers.save() return Response(serializers.data, status=status.HTTP_201_CREATED) else: return response(serializers.errors, status=status.HTTP_400_BAD_REQUEST)
def postal_code(self, request): u = self.current_user(request) s = '' mail_code = request.GET['address'] q = self.consulta(mail_code)[0] d = fretefacil.create_deliverable('91350-180', mail_code, '30', '30', '30', '0.5') value = fretefacil.delivery_value(d) formatted = '<div>Valor do frete: R$ <div style="display:inline;" class="delivery">%s</div></div>' % value for i in q.values(): s += '<div>%s\n</div>' % i s += formatted now, objs, rels = self.get_object_bydate(request.GET['object'], '$$') obj = globals()[objs].objects.all().filter(date=now)[0] deliverable = Deliverable(product=obj, buyer=u, mail_code=mail_code, code=d['sender'], receiver=d['receiver'], height=int(d['height']), length=int(d['length']), width=int(d['width']), weight=int(float(d['weight'][0]) * 1000.0), value=value) deliverable.save() return response(s)
def placeholder(request, width, height): form = ImageForm({'height': height, 'width': width}) if form.is_valid(): image = form.generate() return response(image, content_type = 'image/png') else: return HttpResponseBadRequest("Invalid Image Request")
def tellPurpose(request): ''' The member is telling us why they are here. ''' try: user = request.session['member'] #We saved the user in session; now we'll log them in. login(request, user) #We have the user because they are already logged in. except KeyError: user = request.user member = user.everyone.member purpose_id=request.POST['purpose'] purpose=PresencePurpose.objects.get(id=purpose_id) presence=PresenceInstance(member=member, purpose=purpose) presence.save() request.session['presence'] = presence return response(json.dumps(1))
def bareLogin(request): username = request.POST['username'] password = request.POST['password'] user = authenticate(username=username, password=password) if user is not None: if user.is_active: logged = 1 #They exist and they are active. We're surely going to log this person in, one way or another. try: if user.everyone.member: top_level=request.META['REMOTE_ADDR'].split('.')[0] #Split the user's IP address. if True: #temp: top_level == str(10): #If the first number of the IP address is 10..... logged=2 #Send a signal that the user is a member and is in the store. request.session['member']=user #Save this user in session, but do not log them in yet. else: login(request, user) #They are a member, but not in the store. Log them in. except AttributeError: login(request, user) #They aren't a member, but they entered good creds. Log them in. else: logged = 0 else: logged = 0 return response(json.dumps(logged))
def process(self,request,cart=None): for k,v in request.REQUEST.iteritems(): if 'product' in k: product = v elif 'value' in k: value = float(v) elif 'qty' in k: qty = int(v) host = 'http://%s' % request.get_host() paypal = { 'business': settings.PAYPAL_RECEIVER_EMAIL, 'notify_url': '%s%s'%(host,settings.PAYPAL_NOTIFY_URL), 'return_url': '%s%s'%(host,settings.PAYPAL_RETURN_URL), 'cancel_return': '%s%s'%(host,settings.PAYPAL_CANCEL_RETURN), 'currency_code': 'BRL', } option = '_cart'; count = 0 try: form_paypal = PayPalPaymentsForm(initial=paypal) if cart is not None: for p in cart: count += 1 form_paypal.fields['amount_%i'%count] = forms.IntegerField(widget=ValueHiddenInput(),initial=p['value']) form_paypal.fields['item_name_%i'%count] = forms.CharField(widget=ValueHiddenInput(),initial=p['product']) form_paypal.fields['quantity_%i'%count] = forms.CharField(widget=ValueHiddenInput(),initial=p['qty']) else: form_paypal.fields['amount_1'] = forms.IntegerField(widget=ValueHiddenInput(),initial=value) form_paypal.fields['item_name_1'] = forms.CharField(widget=ValueHiddenInput(),initial=product) form_paypal.fields['quantity_1'] = forms.CharField(widget=ValueHiddenInput(),initial=str(qty)) form_paypal.fields['cmd'] = forms.CharField(widget=ValueHiddenInput(),initial=option) form_paypal.fields['upload'] = forms.CharField(widget=ValueHiddenInput(),initial='1') except (NameError,ImportError) as e: form_paypal = BasketForm(initial=paypal) t = Template('{{form}}') c = Context({'form':form_paypal.render()}) return response(t.render(c))
def mock(url, request): headers = {"Content-Type": "application/json"} from httmock import response resp = response(200, data, headers) if callback: callback(url, request, resp) return resp
def become_follower(self, request): u = self.current_user(request).id followed = Profile.objects.filter( id=request.GET['profile_id'])[0].user_id follow = Followed(followed=followed, follower=u) follow.save() return response('Profile followed successfully')
def create_spread(self, request): u = self.current_user(request) name = u.first_name.lower() text = str('%s' % (request.POST['content'])) post = Spreadable(user=u,content=text,name='!'+name) post.save() self.accumulate_points(1,request) return response('Spreadable created successfully')
def recharge(self, request): userid = request.REQUEST['userid'] values = request.REQUEST['value'] u = Profile.objects.filter(user=(userid))[0] u.credit += int(values) u.save() json.dumps({'objects': {'userid': userid, 'value': u.credit}}) return response(j, mimetype='application/json')
def delete_element(self, request): oid = request.GET['id'] modobj = settings.Socialize_TOKENS[request.GET['token']] module, obj = modobj.split('.') o = self.class_module('%s.models' % module, obj) query = o.objects.filter(id=oid) if len(query): query[0].delete() return response('Object deleted successfully')
def request_token(request): response_data = { 'access_token': 'a832106c17d00fd3b9094181c598820ef3ff76f4', 'scope': 'read write', 'expires_in': 86399, 'refresh_token': 'bfdbd5510ae724a2dbd458e68274ab5c8590d3e4' } return response(json.dumps(response_data), content_type="application/json")
def clean_basket(self, request): u = user(request.session['user']) cart = [] basket = list(Basket.objects.filter(user=u)) for b in basket: Sellable.objects.filter(sellid=b.product).delete() b.delete() return response("Basket cleaned successfully")
def create_spread(self,request): u = self.current_user(request) name = u.first_name.lower() text = unicode('%s' % (request.POST['content'])) post = Spreadable(user=u,content=text,name='!'+name) post.save() self.accumulate_points(1,request) return response('Spreadable created successfully')
def delete_element(self,request): oid = request.GET['id'] modobj = settings.EFFORIA_TOKENS[request.GET['token']] module,obj = modobj.split('.') o = self.class_module('%s.models'%module,obj) query = o.objects.filter(id=oid) if len(query): query[0].delete() return response('Object deleted successfully')
def create_image(self, request): images = Images() u = self.current_user(request) url = images.upload_image(request) products = Product.objects.filter(user=u) latest = list(products)[-1:][0] latest.visual = url latest.save() return response("Product created successfully")
def update_status(self,request): u = self.current_user(request) token = u.profile.facebook_token text = unicode('%s' % request.GET['content']) data = {'message':text.encode('utf-8')} if 'id' in request.REQUEST: url = '/%s/feed' % request.REQUEST['id'] else: url = '/me/feed' self.oauth_post_request(url,token,data,'facebook') return response('Published posting successfully on Facebook')
def update_status(self, request): u = self.current_user(request) token = u.profile.facebook_token text = str('%s' % request.GET['content']) data = {'message': text.encode('utf-8')} if 'id' in request.REQUEST: url = '/%s/feed' % request.REQUEST['id'] else: url = '/me/feed' self.oauth_post_request(url, token, data, 'facebook') return response('Published posting successfully on Facebook')
def deadlines(self,request): u = self.current_user(request) apps = settings.EFFORIA_APPS for a in apps: __import__('%s.app'%a) m = sys.modules['%s.app'%a] app = m.Application(u,a) app.deadline() return response('Deadlines verified successfully')
def send_event_cover(self, request): u = self.current_user(request) token = u.profile.facebook_token ident = request.REQUEST['id'] photo = request.REQUEST['url'] self.oauth_post_request('/%s' % ident, token, {'cover_url': photo}, 'facebook') return response( 'Published image cover on event successfully on Facebook')
def create_image(self,request): images = Images() u = self.current_user(request) url = images.upload_image(request) products = Product.objects.filter(user=u) latest = list(products)[-1:][0] latest.visual = url latest.save() return response("Product created successfully")
def update_profile(self,request,url,user): birthday = career = bio = '' p = user.profile for k,v in request.POST.iteritems(): if 'birth' in k: p.birthday = self.convert_datetime(v) elif 'career' in k: p.career = v elif 'bio' in k: p.bio = v p.save() return response('Added informations to profile successfully')
def deadlines(self, request): u = self.current_user(request) apps = settings.EFFORIA_APPS for a in apps: __import__('%s.app' % a) m = sys.modules['%s.app' % a] app = m.Application(u, a) app.deadline() return response('Deadlines verified successfully')
def balance(self, request): userid = request.GET['userid'] json.dumps({ 'objects': { 'userid': userid, 'value': Profile.objects.filter(user=int(userid))[0].credit } }) return response(j, mimetype='application/json')
def update_profile(self, request, url, user): birthday = career = bio = '' p = user.profile for k, v in request.POST.items(): if 'birth' in k: p.birthday = self.convert_datetime(v) elif 'career' in k: p.career = v elif 'bio' in k: p.bio = v p.save() return response('Added informations to profile successfully')
def update_status(self, request): u = self.current_user(request) if len(request.GET['content']) > 137: short = str('%s...' % (request.GET['content'][:137])) else: short = str('%s' % (request.GET['content'])) tokens = u.profile.twitter_token if not tokens: tokens = self.own_access()['twitter_token'] data = {'status':short.encode('utf-8')} self.oauth_post_request('/statuses/update.json',tokens,data,'twitter') return response('Published posting successfully on Twitter')
def save_page(self,request): page_id = request.POST['id'] p = Page.objects.filter(id=page_id)[0] for k,v in request.POST.items(): if 'content' in k: if len(v) > 0: p.content = v elif 'title' in k: if len(v) > 0: p.name = v p.save() return response('Page saved successfully')
def update_status(self,request): u = self.current_user(request) if len(request.GET['content']) > 137: short = unicode('%s...' % (request.GET['content'][:137])) else: short = unicode('%s' % (request.GET['content'])) tokens = u.profile.twitter_token if not tokens: tokens = self.own_access()['twitter_token'] data = {'status':short.encode('utf-8')} self.oauth_post_request('/statuses/update.json',tokens,data,'twitter') return response('Published posting successfully on Twitter')
def participate(self,request): whitespace = ' ' username = password = first_name = last_name = '' for k,v in request.POST.iteritems(): if 'username' in k: u = User.objects.filter(username=v) if len(u) > 0: return response('Username already exists') else: username = v elif 'password' in k: if v not in request.POST['repeatpassword']: return response('Password mismatch') else: password = v elif 'name' in k: first_name,last_name = whitespace.join(v.split()[:1]),whitespace.join(v.split()[1:]) user = User(username=username,first_name=first_name,last_name=last_name) user.set_password(password) user.save() r = redirect('tutorial') r.set_cookie('username',username) r.set_cookie('permissions','super') return r
def spreadobject(self,request): u = self.current_user(request) c = request.POST['content'] spread = Spreadable(user=u,content=c,name='!'+u.username) spread.save() objid = request.POST['id'] token = request.POST['token'] s = Spreaded(name=token,spread=objid,spreaded=spread.id,user=u) s.save() return response('Spreaded object created successfully')
def event_image(self,request): u = self.current_user(request) photo = request.FILES['Filedata'].read() dropbox = Dropbox() link = dropbox.upload_and_share(photo) res = self.url_request(link) e = Event.objects.filter(user=u).latest('date') e.visual = '%s?dl=1' % res e.save() return response(e.visual)
def change_photo(self,request): u = User.objects.filter(username=request.session['user'])[0] p = u.profile photo = request.FILES['Filedata'].read() dropbox = Dropbox() link = dropbox.upload_and_share(photo) res = self.url_request(link) url = '%s?dl=1' % res p.visual = url p.save() return response('Photo changed successfully')
def recharge(self,request): userid = request.REQUEST['userid'] values = request.REQUEST['value'] u = Profile.objects.filter(user=(userid))[0] u.credit += int(values) u.save() json.dumps({'objects':{ 'userid': userid, 'value': u.credit }}) return response(j,mimetype='application/json')
def promote(self,request): u = self.current_user(request) for k,v in request.REQUEST.iteritems(): if 'content' in k: content = v elif 'id' in k: promotedid = v elif 'token' in k: token = v move = Movement.objects.filter(cause_id=promotedid) if len(move) > 0: p = Promoted(name='$#',prom=promotedid,content=content,user=u); p.save() else: s = Promoted(name=token,prom=promotedid,content=content,user=u); s.save() mod,pobj = settings.EFFORIA_TOKENS[token].split('.') o = globals()[pobj].objects.filter(id=promotedid)[0] return response(o.event_id)
def finish_tutorial(self,request): whitespace = ' ' data = request.POST name = request.COOKIES['username'] u = User.objects.filter(username=name)[0] if 'name' in data: lname = data['name'].split() u.first_name,u.last_name = lname[0],whitespace.join(lname[1:]) u.save() request.session['user'] = name if len(request.POST) is 0: return response('Added informations to profile successfully')#return redirect('/') else: return self.update_profile(request,'/',u)
def change_photo(self,request): u = User.objects.filter(username=request.session['user'])[0] p = u.profile print request.POST photo = request.FILES['file'].read() #dropbox = Dropbox() #link = dropbox.upload_and_share(photo) res = self.url_request(link) url = '%s?dl=1' % res p.visual = url p.save() if 'redirect' in request.POST.keys(): return redirect('/') else: return response('Photo changed successfully')
def view_options(self,request): p = Profile.objects.filter(user=self.current_user(request))[0] value = 0 for k,v in request.GET.items(): if 'interface' in k: value = p.interface elif 'typeditor' in k: value = p.typeditor elif 'language' in k: value = p.language elif 'monetize' in k: value = p.monetize return response(value)