Example #1
0
def create_or_login(resp):
	session['openid'] = resp.identity_url

	user_model = User()
	user = user_model.find({'email' : resp.email})[0]
	if user is None:
		user_data = structure = {
			"nick" : resp.nickname or resp.fullname,
			"fullname" : resp.fullname,
			"email" : resp.email,
			"favourites" : [],
			"roles" : [],
			"reputation" : 1,
			"logins" : [{
				'ip' : request.remote_addr,
				'date_loggedin' : datetime.utcnow().isoformat(),
			}],
			"about" : "",
			"language" : resp.language,
			"timezone" : resp.timezone
		}
		user_data["_id"] = user_model.insert(user_data)
		session["userid"] = str(user_data["_id"])
		app.logger.log(json.dumps(session))
	else:
		user_model.update({"_id" : user["_id"]}, {"$push" : {"logins" : {
			"ip" : request.remote_addr,
			"date_loggedin" : datetime.utcnow().isoformat(),
		}}})
		session["userid"] = str(user["_id"]) 
	return redirect(url_for("bp_word.home")) 
Example #2
0
def create_temp_userid_cookie_response(response):
	if 'openid' not in session and hasattr(g, "user"):
		response.set_cookie("tempuid", g.user["_id"], max_age = 365*24*60*60)
	else:
		from modules.user.models import User
		user = User()
		record = user.find({"_id" : ObjectId(session["userid"])})[0]
		g.user = dict(record)
		g.user["_id"] = str(g.user["_id"])
	return response
Example #3
0
def create_temp_userid_cookie_response(response):
    if 'openid' not in session and hasattr(g, "user"):
        response.set_cookie("tempuid",
                            g.user["_id"],
                            max_age=365 * 24 * 60 * 60)
    else:
        from modules.user.models import User
        user = User()
        record = user.find({"_id": ObjectId(session["userid"])})[0]
        g.user = dict(record)
        g.user["_id"] = str(g.user["_id"])
    return response
Example #4
0
def create_temp_userid_cookie():
	session.permanent = True
	app.permanent_session_lifetime = timedelta(days=31)
	if 'openid' not in session:
		if request.cookies.get("tempuid") is None:
			g.user = {"_id" : os.urandom(4)}
		else:
			g.user = {"_id" : request.cookies.get("tempuid")}
	else:
		from modules.user.models import User
		user = User()
		record = user.find({"_id" : ObjectId(session["userid"])})[0]
		g.user = dict(record)
		g.user["_id"] = str(g.user["_id"])
Example #5
0
def create_temp_userid_cookie():
    session.permanent = True
    app.permanent_session_lifetime = timedelta(days=31)
    if 'openid' not in session:
        if request.cookies.get("tempuid") is None:
            g.user = {"_id": os.urandom(4)}
        else:
            g.user = {"_id": request.cookies.get("tempuid")}
    else:
        from modules.user.models import User
        user = User()
        record = user.find({"_id": ObjectId(session["userid"])})[0]
        g.user = dict(record)
        g.user["_id"] = str(g.user["_id"])
Example #6
0
def create_or_login(resp):
    session['openid'] = resp.identity_url

    user_model = User()
    user = user_model.find({'email': resp.email})[0]
    if user is None:
        user_data = structure = {
            "nick":
            resp.nickname or resp.fullname,
            "fullname":
            resp.fullname,
            "email":
            resp.email,
            "favourites": [],
            "roles": [],
            "reputation":
            1,
            "logins": [{
                'ip': request.remote_addr,
                'date_loggedin': datetime.utcnow().isoformat(),
            }],
            "about":
            "",
            "language":
            resp.language,
            "timezone":
            resp.timezone
        }
        user_data["_id"] = user_model.insert(user_data)
        session["userid"] = str(user_data["_id"])
        app.logger.log(json.dumps(session))
    else:
        user_model.update({"_id": user["_id"]}, {
            "$push": {
                "logins": {
                    "ip": request.remote_addr,
                    "date_loggedin": datetime.utcnow().isoformat(),
                }
            }
        })
        session["userid"] = str(user["_id"])
    return redirect(url_for("bp_word.home"))