Exemple #1
0
def before_request():
	g.user=current_user
	if g.user.is_authenticated():
		a=str(datetime.utcnow());
		cur.execute('update user set last_seen = "'+a+'" where  id= %d'%(g.user.id));
		db.commit();
		g.search_form=SearchForm();
Exemple #2
0
def setupprofile():
    createprofile = CreateProfile()
    
    if request.method == "POST" and  createprofile.validate_on_submit():
                username = createprofile.username.data
                location= createprofile.location.data
                biography=createprofile.biography.data
                photo= createprofile.profilepic.data
                created_date=format_date_joined(datetime.datetime.now())
                filename=secure_filename(photo.filename)
                photo.save(os.path.join(app.config['UPLOAD_FOLDER'],filename))
                lastuserid= db.engine.execute("select userid from users order by userid desc limit 1")
                for last in lastuserid:
                    userid=last.userid
                # insert into gallery and addphoto , get the id from that for profilepic
                db.engine.execute("insert into gallery(photourl) values('"+'/static/uploads/'+filename+"')")
                lastphotoid= db.engine.execute("select photoid from gallery order by photoid desc limit 1")
                for last in lastphotoid:
                    photoid=last.photoid
              
                # db.engine.execute("insert into addphoto(photoid ,userid) values ('"+str(photoid)+"','"+str(userid)+"')")
                cur.execute("CALL addphotos("+str(photoid)+",'"+str(userid)+"')")
                conn.commit()
                db.engine.execute("insert into Profiles (userid,profilepic,username,biography,countryliving,createddate) values('"+str(userid)+"','"+str(photoid)+"','"+username+"','"+biography+"','"+location+"','"+format_date_joined(datetime.datetime.now())+"')")
		

                return redirect(url_for('login'))
    else:
                flash_errors(createprofile)
    return render_template('setupprofile.html',form=createprofile)   
Exemple #3
0
def get_user_invites():
    invreq = {'invites': [], 'requests': []}
    for gr, g, u in sess.query(GroupRequests, Group, Users).filter_by(invitee=session['userid']).\
            filter_by(complete='f').join(Group).join(Users):
        invreq['requests'].append({
            "requestid": gr.requestid,
            "requester": u.username,
            "group": g.groupname,
            "date": gr.dateissued
        })

    cur.execute(
        "SELECT inviteme.requestid, users.username, groups.groupname, inviteme.date "
        "FROM inviteme INNER JOIN users ON users.userid = inviteme.userid "
        "JOIN groups ON groups.groupid = inviteme.groupid  "
        "WHERE accepted is null AND groups.userid = '{}'".format(
            session['userid']))
    response = cur.fetchall()
    for row in response:
        invreq['invites'].append({
            "requestid": row[0],
            "requester": row[1],
            "group": [2],
            "date": row[3]
        })
    pgconnect.commit()
    return jsonify(invites=invreq)
Exemple #4
0
def createpost(option):
    createpost = CreatePost()
    textpost=createpost.text.data
    postDate='2020-04-24'
    postTime='12:09:00'
    if request.method == "POST":
        # print("went into function")
        if(textpost!=""):
            print("textpost")
            db.engine.execute("insert into  posts(content,ctype, postDateTime) values('"+textpost+"','text','"+str(datetime.datetime.now())+"')")
        else:
            photo= createpost.image.data
                # created_date=format_date_joined(datetime.datetime.now())
            filename=secure_filename(photo.filename)
            photo.save(os.path.join(app.config['UPLOAD_FOLDER'],filename))
            db.engine.execute("insert into gallery(photourl) values('"+'/static/uploads/'+filename+"')")
            lastphotoid= db.engine.execute("select photoid from gallery order by photoid desc limit 1")
            for last in lastphotoid:
                photoid=last.photoid
            # db.engine.execute("insert into addphoto(photoid ,userid) values ('"+str(photoid)+"','"+session['userid']+"')")
            cur.execute("CALL addphotos("+str(photoid)+",'"+str(session['userid'])+"')")
            conn.commit()
            db.engine.execute("insert into  posts(content,ctype, postDateTime) values('"+'/static/uploads/'+filename+"','image','"+str(datetime.datetime.now())+"')")

        lastpostid= db.engine.execute("select postId from posts order by postid desc limit 1")
        for last in lastpostid:
            postId=last.postid
        # db.engine.execute("insert into user_post_log(postid ,userid) values ('"+str(postId)+"','"+session['userid']+"')")
        cur.execute("CALL adduserposts("+str(postId)+",'"+str(session['userid'])+"')")
        conn.commit()
        return redirect(url_for('posts'))
Exemple #5
0
 def __init__(self, body, timestamp, user_id):
     self.body = body
     self.timestamp = str(timestamp)
     self.user_id = user_id
     cur.execute("insert into post(body,timestamp,user_id) values ('" +
                 self.body + "','" + self.timestamp + "',%d)" %
                 (self.user_id))
     db.commit()
Exemple #6
0
 def follow(self, user):
     if not self.is_following(user):
         cur.execute(
             'insert followers (follower_id,followed_id) values (%d,%d)' %
             (self.id, user.id))
         db.commit()
         return self
     else:
         return 0
Exemple #7
0
 def unfollow(self, user):
     if self.is_following(user):
         cur.execute(
             'delete from followers where follower_id=%d and followed_id=%d'
             % (self.id, user.id))
         db.commit()
         return self
     else:
         return 0
Exemple #8
0
def delete_group():
    cur.execute("Delete from mapobjects where groupid = {}".format(
        session['groupid']))
    pgconnect.commit()
    sess.query(Post).filter_by(groupid=session['groupid']).delete()
    sess.query(Thread).filter_by(groupid=session['groupid']).delete()
    sess.query(Group).filter_by(groupid=session['groupid']).delete()
    username = sess.query(Users).filter_by(
        userid=session['userid']).one().username
    return render_template('groupselect.html', username=username)
Exemple #9
0
def addfollower(followerid):
    form=FriendType()
    friendtype = form.friendtype.data
    # print(friendtype)
    session['following']+=1
    session['followers']+=1

    cur.execute("CALL addfriend("+str(session['userid'])+","+str(followerid)+",'"+friendtype+"')")
    conn.commit()
    cur.execute("CALL addfriend("+str(followerid)+","+str(session['userid'])+",'"+friendtype+"')")
    conn.commit()
    return redirect(url_for('profile',userid=followerid))
Exemple #10
0
	def __init__(self,nickname,email):
		self.nickname=nickname;
		self.email=email;
		if(cur.execute('select * from user where nickname="'+self.nickname+'"')==0):
			cur.execute('insert into user(nickname,email) values("'+self.nickname+'","'+self.email+'")');
			db.commit();
		cur.execute('select * from user where nickname="'+self.nickname+'"')
		for a in cur:
			self.id=a[0];
			self.about_me=a[3];
			self.last_seen=a[4];
			break;
Exemple #11
0
def create_group():
    groupname = request.args.get('groupname')
    bounds = request.args.get('bounds')
    bounds_arr = request.args.get('bounds').split(" ")
    opengroup = 'false'
    if request.args.get('opengroup') == 'on':
        opengroup = 'true'
    cur.execute(
        "SELECT count(*) from groups where groupname = '{}' and userid = {} and bounds = '{}'"
        .format(groupname, session['userid'], bounds))
    response = cur.fetchall()
    for row in response:
        if row[0] > 0:
            return jsonify("group already exists")
    cur.execute(
        "INSERT INTO groups (geom, groupname, userid, bounds,opengroup) "
        "VALUES (ST_Centroid(ST_GeomFromText('MULTIPOINT ({} {},{} {})')), '{}', {}, '{}', {})"
        .format(bounds_arr[0], bounds_arr[1], bounds_arr[2], bounds_arr[3],
                groupname, session['userid'], bounds, opengroup))
    cur.execute(
        "SELECT groupid FROM groups WHERE groupname = '{}'".format(groupname))
    response = cur.fetchall()
    for row in response:
        groupid = row[0]
    cur.execute("INSERT INTO usersgroups VALUES ({},{})".format(
        session['userid'], groupid))
    pgconnect.commit()
    return jsonify(groupid=groupid)
Exemple #12
0
def add_geojson():
    json = urlparse.unquote(request.form['geojson'])

    group_admin = sess.query(Group).filter_by(
        groupid=session['groupid']).one().userid
    if session['userid'] != group_admin:
        return jsonify("not allowed")
    cur.execute(
        "INSERT INTO mapobjects (geom, groupid, userid, date) VALUES "
        "(ST_Transform(ST_GeomFromText('{}',4326),3857), {}, {}, '{}');".
        format(json, session['groupid'], session['userid'],
               datetime.datetime.utcnow()))
    pgconnect.commit()
    return jsonify('success')
def get_policy_csv(regionid, policystatusid, branchid='ignore'):

    if branchid == 'ignore':
        cur.execute("select healthtime, machineclass, machinefunction, count(ipaddr) from region_info_{0} "
                "where policystatus={1} group by healthtime,machineclass,machinefunction  order by healthtime asc".format(regionid,policystatusid))
    else:
        cur.execute("select healthtime, machineclass, machinefunction, count(ipaddr) from region_info_{0} "
                    "where policystatus={1} and facility='{2}' group by healthtime,machineclass,machinefunction  order by healthtime asc".format(regionid,policystatusid, branchid))
    rows = cur.fetchall()
    output = cStringIO.StringIO()
    writer = csv.writer(output, delimiter=',')
    writer.writerow(("healthtime","machineclass","machinefunction","ipaddrcount"))
    for row in rows:
        writer.writerow(row)
    return output.getvalue()
Exemple #14
0
 def __init__(self, nickname, email):
     self.nickname = nickname
     self.email = email
     if (cur.execute('select * from user where nickname="' + self.nickname +
                     '"') == 0):
         cur.execute('insert into user(nickname,email) values("' +
                     self.nickname + '","' + self.email + '")')
         db.commit()
     cur.execute('select * from user where nickname="' + self.nickname +
                 '"')
     for a in cur:
         self.id = a[0]
         self.about_me = a[3]
         self.last_seen = a[4]
         break
Exemple #15
0
def edit():
	form=EditForm();
	if form.validate_on_submit():
		a=cur.execute('select * from user where nickname="'+form.nickname.data+'"')
		if(a==0 or form.nickname.data==g.user.nickname):
			cur.execute('update user set nickname = "'+form.nickname.data+'",about_me="'+form.about_me.data+'" where  id= %d'%(g.user.id));
			db.commit();
			flash('Your changes have been saved.')
			return redirect(url_for('user',nickname=g.user.nickname))
		else:
			flash('The name you set has been used by others, please choose another name');
			return redirect(url_for('edit'));
	else:
		form.nickname.data=g.user.nickname
		form.about_me.data=g.user.about_me
	return render_template('edit.html',form=form);
Exemple #16
0
def uploadgallery():
    uploadform=UploadProfilePic()
     # insert into gallery and addphoto , get the id from that for profilepic

    photo= uploadform.profilepic.data
    created_date=format_date_joined(datetime.datetime.now())
    filename=secure_filename(photo.filename)
    photo.save(os.path.join(app.config['UPLOAD_FOLDER'],filename))
    db.engine.execute("insert into gallery(photourl) values('"+'/static/uploads/'+filename+"')")
    lastphotoid= db.engine.execute("select photoid from gallery order by photoid desc limit 1")
    for last in lastphotoid:
        photoid=last.photoid
    
    # db.engine.execute("insert into addphoto(photoid ,userid) values ('"+str(photoid)+"','"+str(session['userid'])+"')")
    cur.execute("CALL addphotos("+str(photoid)+",'"+str(session['userid'])+"')")
    conn.commit()
    return redirect(url_for('setprofilepic',photoid=photoid))
Exemple #17
0
	def followers(self):
		a=cur.execute('select followed_id from followers where follower_id=%d'%(self.id));
		b=[];
		for i in cur:
			b.append(i[0]);
		c=len(b);
		b.insert(0,c);
		return b;
Exemple #18
0
 def followers(self):
     a = cur.execute(
         'select followed_id from followers where follower_id=%d' %
         (self.id))
     b = []
     for i in cur:
         b.append(i[0])
     c = len(b)
     b.insert(0, c)
     return b
Exemple #19
0
def delete_post():
    postid = request.args.get('postid', 0, type=int)
    is_this_my_post = sess.query(Post).filter_by(userid=session['userid']).filter_by(postid=postid).one()
    if is_this_my_post.userid != session['userid']:
        return jsonify('request not allowed')
    objectid = is_this_my_post.objectid
    canIdelete = sess.query(Post).filter_by(responseto=postid).count()
    if canIdelete > 0:
        return jsonify('request not allowed')
    sess.query(Post).filter_by(userid=session['userid']).filter_by(postid=postid).delete()
    sess.commit()
    # check if you can delete the geometry
    usingobject = cur.execute("SELECT count(*) from posts where objectid = {}".format(objectid))
    response = cur.fetchall()
    for row in response:
        if row[0] == 0:
            cur.execute("DELETE from mapobjects where objectid = {}".format(objectid))
            pgconnect.commit()
    return jsonify('success')
def get_policy_csv(regionid, policystatusid, branchid='ignore'):

    if branchid == 'ignore':
        cur.execute(
            "select healthtime, machineclass, machinefunction, count(ipaddr) from region_info_{0} "
            "where policystatus={1} group by healthtime,machineclass,machinefunction  order by healthtime asc"
            .format(regionid, policystatusid))
    else:
        cur.execute(
            "select healthtime, machineclass, machinefunction, count(ipaddr) from region_info_{0} "
            "where policystatus={1} and facility='{2}' group by healthtime,machineclass,machinefunction  order by healthtime asc"
            .format(regionid, policystatusid, branchid))
    rows = cur.fetchall()
    output = cStringIO.StringIO()
    writer = csv.writer(output, delimiter=',')
    writer.writerow(
        ("healthtime", "machineclass", "machinefunction", "ipaddrcount"))
    for row in rows:
        writer.writerow(row)
    return output.getvalue()
Exemple #21
0
def posts_by_extent():
    posts = []
    extent = request.args.get('ext', 0, type=str)
    extent = re.sub(' ', ',', extent)
    for geometrytype in ['POINT', 'LINE', 'POLYGON']:
        cur.execute("SELECT posts.postid, posts.userid, posts.date, posts.objectid, posts.postcontent, thread.nickname,"
                    "users.username FROM posts INNER JOIN thread on thread.threadid = posts.threadid INNER JOIN "
                    "mapobjects on posts.objectid = mapobjects.objectid INNER JOIN users on users.userid = posts.userid"
                    " WHERE posts.groupid = {} and ST_Within(mapobjects.geom,ST_MakeEnvelope({}, 3857)) "
                    "AND ST_AsText(geom) like '{}%' Order by date DESC;".
                    format(session['groupid'], extent, geometrytype))
        response = cur.fetchall()
        for row in response:
            voted = vtotal = None
            qry = sess.query(sqlalchemy.sql.func.sum(Votes.vote)).filter_by(postid=row[0])
            for res in qry.all():
                vtotal = res
            for v in sess.query(Votes).filter_by(postid=row[0]).filter_by(userid=session['userid']):
                voted = v.vote
            posts.append([row[0], row[1], row[2], row[3], row[4], row[5], row[6], vtotal[0], voted])
    return jsonify(posts=posts)
Exemple #22
0
	def followed_posts(self,j):
		cur.execute('select count(*) from followers,post,user where followers.followed_id=post.user_id and followers.followed_id=user.id and followers.follower_id=%d '%(self.id));
		sum=0;
		for i in cur:
			sum=i[0];
			break;
		if(sum > 5*j+5):
			cur.execute('select body,nickname from followers,post,user where followers.followed_id=post.user_id and followers.followed_id=user.id and followers.follower_id=%d order by post.timestamp  limit %d,5'%(self.id,5*int(j)));
			b=[];
			b.append(1);
			for i in cur:
				a={}
				a['nickname']=i[1]
				a['body']=i[0]
				b.append(a)
			return b;
		if (sum <= 5*j+5):
			cur.execute('select body,nickname from followers,post,user where followers.followed_id=post.user_id and followers.followed_id=user.id and followers.follower_id=%d order by post.timestamp limit %d,%d '%(self.id,5*int(j),sum-5*int(j)));
			b=[];
			b.append(0);
			for i in cur:
				a={}
				a['nickname']=i[1]
				a['body']=i[0]
				b.append(a)
			return b;
Exemple #23
0
 def followed_posts(self, j):
     cur.execute(
         'select count(*) from followers,post,user where followers.followed_id=post.user_id and followers.followed_id=user.id and followers.follower_id=%d '
         % (self.id))
     sum = 0
     for i in cur:
         sum = i[0]
         break
     if (sum > 5 * j + 5):
         cur.execute(
             'select body,nickname from followers,post,user where followers.followed_id=post.user_id and followers.followed_id=user.id and followers.follower_id=%d order by post.timestamp  limit %d,5'
             % (self.id, 5 * int(j)))
         b = []
         b.append(1)
         for i in cur:
             a = {}
             a['nickname'] = i[1]
             a['body'] = i[0]
             b.append(a)
         return b
     if (sum <= 5 * j + 5):
         cur.execute(
             'select body,nickname from followers,post,user where followers.followed_id=post.user_id and followers.followed_id=user.id and followers.follower_id=%d order by post.timestamp limit %d,%d '
             % (self.id, 5 * int(j), sum - 5 * int(j)))
         b = []
         b.append(0)
         for i in cur:
             a = {}
             a['nickname'] = i[1]
             a['body'] = i[0]
             b.append(a)
         return b
Exemple #24
0
def user(nickname,page=0):
	a=cur.execute('select * from user where nickname="'+nickname+'"');
	if a==0:
		flash('User '+nickname+' not found.')
		return redirect(url_for('index'))
	for i in cur:
		user=User(nickname=i[1],email=i[2]);
		break;
	posts=user.followed_posts(page);
#返回的结果中第一个表示的是是否后面还有未显示的内容,1表示还有,0表示没有
	hasNext=posts[0];
	del posts[0];
	return render_template('user.html',user=user,posts=posts,hasNext=hasNext,page_num=page);
Exemple #25
0
def search_result(query):
	query1='%'+query+'%'
	cur.execute('select body,nickname from followers,post,user where followers.followed_id=post.user_id and followers.followed_id=user.id and post.body like "'+query1+'" and followers.follower_id=%d  order by post.timestamp limit %d'%(g.user.id,MAX_SEARCH_RESULTS));
	a=[];
	for i in cur:
		b={};
		b['body']=i[0];
		b['nickname']=i[1];
		a.append(b);
	return render_template('search_result.html',query=query,results=a);

	
	
	


	
	
	
	
	
	
	
Exemple #26
0
def quit_group():
    groupid = request.form['groupid']
    uid = sess.query(UsersGroups).filter_by(groupid=groupid).filter_by(
        userid=session['userid']).count()
    if uid > 0:
        cur.execute(
            "DELETE FROM Votes where userid = {} and postid in (Select postid from posts where groupid = {})"
            .format(session['userid'], groupid))
        sess.query(Post).filter_by(groupid=groupid).filter_by(
            userid=session['userid']).delete()
        cur.execute(
            "DELETE FROM mapobjects Where userid = {} and groupid = {}".format(
                session['userid'], groupid))
        pgconnect.commit()
        sess.query(UsersGroups).filter_by(groupid=groupid).filter_by(
            userid=session['userid']).delete()
        sess.query(GroupRequests).filter_by(groupid=groupid).filter_by(
            invitee=session['userid']).delete()
        sess.query(InviteMe).filter_by(groupid=groupid).filter_by(
            userid=session['userid']).delete()
        sess.commit()
    username = sess.query(Users).filter_by(
        userid=session['userid']).one().username
    return render_template('groupselect.html', username=username)
Exemple #27
0
def creategrouppost(groupID, postType):
    createpost = CreatePost()
    textpost=createpost.text.data
    
    if request.method == "POST":
        #SELECT userid FROM joinsgroup WHERE status = 'Editor' AND userid = 42 AND groupid = 1;
        value=db.engine.execute("SELECT userid FROM joinsgroup WHERE status = 'Editor' AND userid = '"+session['userid']+"' AND groupid = '"+groupID+"';")
        
        isEditor = 0
        for val in value:
            isEditor = val

        if isEditor:
            if postType == 'text' and textpost!="":
                db.engine.execute("insert into  posts(content,ctype, postDateTime) values('"+textpost+"','text','"+str(datetime.datetime.now())+"')")
                lastTextPostID= db.engine.execute("SELECT postid FROM posts ORDER BY postid DESC LIMIT 1")
                for last in lastTextPostID:
                    postid=last.postid
                db.engine.execute("INSERT INTO  groupposts(groupid,postid) values('"+groupID+"', '"+str(postid)+"');")
                # db.engine.execute("insert into user_post_log(postid ,userid) values ('"+str(postid)+"','"+session['userid']+"')")
                cur.execute("CALL adduserposts("+str(postid)+",'"+str(session['userid'])+"')")
                conn.commit()
                return groupposts(groupID)

            elif postType == 'image':
                photo= createpost.image.data
                filename=secure_filename(photo.filename)
                photo.save(os.path.join(app.config['UPLOAD_FOLDER'],filename))
                db.engine.execute("insert into gallery(photourl) values('"+'/static/uploads/'+filename+"')")
                lastphotoid= db.engine.execute("select photoid from gallery order by photoid desc limit 1")
                for last in lastphotoid:
                    photoid=last.photoid
                # db.engine.execute("insert into addphoto(photoid ,userid) values ('"+str(photoid)+"','"+session['userid']+"')")
                cur.execute("CALL addphotos("+str(photoid)+",'"+str(session['userid'])+"')")
                conn.commit()
                db.engine.execute("insert into  posts(content,ctype, postDateTime) values('"+'/static/uploads/'+filename+"','image','"+str(datetime.datetime.now())+"')")

                lastpostid= db.engine.execute("select postId from posts order by postid desc limit 1")
                for last in lastpostid:
                    postId=last.postid

                # db.engine.execute("insert into user_post_log(postid ,userid) values ('"+str(postId)+"','"+session['userid']+"')")
                cur.execute("CALL adduserposts("+str(postId)+",'"+str(session['userid'])+"')")
                conn.commit()
                db.engine.execute("INSERT INTO  groupposts(groupid,postid) values('"+groupID+"', '"+str(postId)+"');")

                return groupposts(groupID)

        else:
            flash('You are not a Content Editor for this group!', 'danger')
            return groupposts(groupID)
Exemple #28
0
def manage_request():
    requestid = request.form['requestid']
    action = request.form['submit']
    cur.execute(
        "SELECT groupid,invitee FROM grouprequests WHERE requestid = {};".
        format(requestid))
    response = cur.fetchall()
    for row in response:
        if action == 'accept':
            # make sure it doesn't add twice
            cur.execute("INSERT INTO usersgroups VALUES ({},{})".format(
                row[1], row[0]))
        cur.execute(
            "UPDATE grouprequests set complete = 't' WHERE requestid = {}".
            format(requestid))
        pgconnect.commit()
    return render_template('groupselect.html')
Exemple #29
0
def after_login(resp):
	if resp.email is None or resp.email=="":
		flash('Invalid login.Please try again.')
		return redirect(url_for('login'))
	mail=resp.email
	a=cur.execute('select * from user where email = "'+mail+'"');
	if a==0:
		nickname=resp.nickname
		if nickname is None or nickname=="":
			nickname=resp.email.split('@')[0]
		user=User(nickname=nickname,email=resp.email);
	else: 
		for each in cur:
			b=list(each);
			break;
		user=User(nickname=b[1],email=b[2]);
	remember_me=False
	user.follow(user);
	if 'remember_me' in session:
		remember_me=session['remember_me']
		session.pop('remember_me',None)
	login_user(user,remember=remember_me)
	return redirect( request.args.get('next') or url_for('index'))
Exemple #30
0
def follow(nickname):
	a=cur.execute('select * from user where nickname="'+nickname+'"');
	if a==0:
		flash('User %s not found.'% nickname);
		return redirect(url_for('index'));
	for i in cur:
		user = User(nickname=i[1],email=i[2]);
		break;
	if user==g.user:
		flash('You have already follow yourself!');
		return redirect(url_for('user',nickname=nickname));
	u=g.user.follow(user);
	if u == 0:
		flash("you have already follow"+nickname+"!");
		return redirect(url_for('user',nickname=nickname))
	flash('You are now following '+ nickname + '!')
	follower_notification(user, g.user)
	return redirect(url_for('user',nickname=nickname));

	@app.route('/unfollow/<nickname>')
	@login_required
	def unfollow(nickname):
		a=cur.execute('select * from user where nickname="'+nickname+'"');
	if a==0:
		flash('User %s not found.'% nickname);
	for i in cur:
		user = User(nickname=i[1],email=i[2]);
		break;
	if user==g.user:
		flash("You can/'t unfollow yourself!");
		return redirect(url_for('user',nickname=nickname));
	u=g.user.unfollow(user);
	if u == 0:
		flash('You should not unfollow a people that you did not follow');
		return redirect(url_for('user',nickname=nickname));
	flash('You have unfollow '+ nickname +'.');
	return redirect(url_for('user',nickname=nickname));
Exemple #31
0
 def is_following(self, user):
     a = cur.execute(
         'select * from followers where follower_id=%d and followed_id=%d' %
         (self.id, user.id))
     return a
Exemple #32
0
def likepost(postid,userid):
    cur.execute("CALL addlike("+str(postid)+","+str(userid)+")")
    conn.commit()
    return redirect(url_for('posts'))
Exemple #33
0
	def unfollow(nickname):
		a=cur.execute('select * from user where nickname="'+nickname+'"');
Exemple #34
0
def oauth_authorized(resp):
    next_url = request.args.get('next') or url_for('index')
    if resp is None:
        flash(u'You denied the request to sign in.')
        return redirect(next_url)

    session['twitter_token'] = (resp['oauth_token'],
                                resp['oauth_token_secret'])
    username = resp['screen_name']
    session['twitter_user'] = username
    if session.has_key('groupid'):
        open = sess.query(Group).filter_by(groupid=session['groupid'])
    # check if twitter user has already logged in to cartoforum
    twitteruser = sess.query(TwitterUsers).filter_by(username=username).count()

    flash('You were signed in as %s' % username)
    if twitteruser == 0:
        tu = TwitterUsers(oauth_provider='twitter',
                          username=username,
                          oauth_uid=resp['user_id'],
                          oauth_token=resp['oauth_token'],
                          oauth_secret=resp['oauth_token_secret'])
        sess.add(tu)
        sess.commit()

    else:
        tu = sess.query(TwitterUsers).filter_by(username=username).first()
        tu.oauth_token = resp['oauth_token']
        tu.oauth_secret = resp['oauth_token_secret']
        sess.commit()

    # check if the twitter users screen name has already been taken.
    userquery = sess.query(Users).filter_by(
        username='******'.format(username)).count()

    if userquery == 0:
        # move on with their twitter screen name
        newuser = Users(username='******'.format(username),
                        password='******',
                        twitterid=resp['user_id'])
        sess.add(newuser)
        sess.commit()
    else:
        # this username exists, is the twitterid different from what we have logged?
        twitterid = sess.query(TwitterUsers).filter_by(
            username='******'.format(username)).count()
        if twitterid == 0:
            # offer them a different name
            alt_name = utils.get_alternate_username(session['twitter_user'])
            if not session['groupid']:
                return render_template('select_username.html',
                                       alt_name=alt_name)
        else:
            username = sess.query(Users).filter_by(
                twitterid=resp['user_id']).one().username

    tulogged = sess.query(Users).filter_by(
        username='******'.format(username)).one()
    session['userid'] = tulogged.userid
    session['logged_in'] = True
    if session.has_key('groupid'):
        cur.execute("INSERT INTO usersgroups VALUES ({},{})".format(
            session['userid'], session['groupid']))
        cur.execute(
            "SELECT groupname,bounds from groups where groupid = {}".format(
                session['groupid']))
        pgconnect.commit()
        response = cur.fetchall()
        for row in response:
            groupname = row[0]
            bounds = row[1]
        # Check for group membership, return group name and bounds and username
        user = sess.query(Users).filter_by(userid=session['userid']).one()
        username = user.username
        basemap = user.basemap
        color = user.color
        # TODO: check that user is a member of group
        return render_template('map.html',
                               groupid=session['groupid'],
                               userid=session['userid'],
                               username=username,
                               basemap=basemap,
                               color=color,
                               groupname=groupname,
                               bounds=bounds)
    else:
        return render_template('groupselect.html', username=username)
Exemple #35
0
def insert_tiket():
    cur.execute(
        "INSERT INTO `support_tiket` (`title`, `isi`, `iduser`, `status`, `created_time`, `update_time`) VALUES ('Test', 'Test aja', '1', 'closed', '2018-05-11 18:32:29', '2018-05-11 18:45:12');"
    )
    db.commit()
    return "sukses"
Exemple #36
0
def get_desa(id):
    cur.execute("select * from villages where id ='" + str(id) + "'")
    return cur.fetchone()
Exemple #37
0
	def follow(self,user):
		if not self.is_following(user):
			cur.execute('insert followers (follower_id,followed_id) values (%d,%d)'%(self.id,user.id));
			db.commit();
			return self;
		else: return 0;
Exemple #38
0
	def __init__(self,body,timestamp,user_id):
		self.body=body;
		self.timestamp=str(timestamp);
		self.user_id=user_id;
		cur.execute("insert into post(body,timestamp,user_id) values ('"+self.body+"','"+self.timestamp+"',%d)"%(self.user_id));
		db.commit();
Exemple #39
0
	def unfollow(self,user):
		if self.is_following(user):
			cur.execute('delete from followers where follower_id=%d and followed_id=%d'%(self.id,user.id));
			db.commit();
			return self;
		else: return 0; 
Exemple #40
0
def load_user(id):
	id1=int(id)
	cur.execute("select * from user where id=%d"%id1);
	for i in cur:
		user=User(nickname=i[1],email=i[2]);
		return user
Exemple #41
0
	def is_following(self,user):
		a=cur.execute('select * from followers where follower_id=%d and followed_id=%d'%(self.id,user.id));
		return a;