def instantiate_user(self, found_user_info): new_user = Member(found_user_info["username"], found_user_info["password"], found_user_info["name"], found_user_info["surname"], found_user_info["email"]) new_user.waitingBooks = found_user_info["waitingBooks"] new_user.currentFine = found_user_info["currentFine"] new_user.loanedBooks = found_user_info["loanedBooks"] new_user.totalLoanedBooks = found_user_info["totalLoanedBooks"] new_user.lastLoanedBook = found_user_info["lastLoanedBook"] new_user.formerFine = found_user_info["formerFine"] new_user.id = str(found_user_info["_id"]) return new_user
def post(self): nick = self.get_body_argument('nick', None) password = self.get_body_argument('password', None) password_confirm = self.get_body_argument('password_confirm', None) invite_code = self.get_body_argument('invite_code', None) if nick and password and password_confirm and invite_code: length = len(password) if length >= 6 and length <= 18 and password == password_confirm: if Member.isExist(nick): self.send_result( error_code=constants.error_code['user_has_exist']) return query_invite_code = 'select count(1) count from tb_invite where code = %s' code_num = db.get(query_invite_code, invite_code) if code_num and code_num.count: md5 = hashlib.md5() md5.update(password) password_md5 = md5.hexdigest() now = datetime.datetime.now() insert_sql = 'insert into tb_user (nick, password, created) values (%s, %s, %s)' try: member_id = db.insert(insert_sql, nick, password_md5, now) self.send_result(True, error_code=None) return except: pass # TODO add log elif not code_num.count: self.send_result(error_code=constants. error_code['invite_code_not_exist']) return self.send_result()
def post(self): nick = self.get_body_argument('nick', None) password = self.get_body_argument('password', None) password_confirm = self.get_body_argument('password_confirm', None) invite_code = self.get_body_argument('invite_code', None) if nick and password and password_confirm and invite_code: length = len(password) if length >= 6 and length <= 18 and password == password_confirm: if Member.isExist(nick): self.send_result(error_code=constants.error_code['user_has_exist']) return query_invite_code = 'select count(1) count from tb_invite where code = %s' code_num = db.get(query_invite_code, invite_code) if code_num and code_num.count: md5 = hashlib.md5() md5.update(password) password_md5 = md5.hexdigest() now = datetime.datetime.now() insert_sql = 'insert into tb_user (nick, password, created) values (%s, %s, %s)' try: member_id = db.insert(insert_sql, nick, password_md5, now) self.send_result(True, error_code=None) return except: pass # TODO add log elif not code_num.count: self.send_result(error_code=constants.error_code['invite_code_not_exist']) return self.send_result()
def league_create(user): league_fields = league_schema.load(request.json) new_league = League() new_league.title = league_fields["title"] new_league.description = league_fields["description"] new_league.owner = user.id user.league.append(new_league) db.session.add(new_league) created_league = League.query.filter_by(owner=user.id) member = Member() member.user_id = user.id member.league_id = created_league[-1].id member.active = True db.session.add(member) db.session.commit() return jsonify(league_schema.dump(new_league))
def league_add_members(user, id): league = League.query.filter_by(id=id, owner=user.id).first() if not league: return abort(401, description="Unauthorized to add members to this league") data = request.json for user_id in data["members"]: new_member = Member() new_member.user_id = user_id new_member.league_id = id new_member.active = True member_already_exists = Member.query.filter_by( user_id=new_member.user_id, league_id=new_member.league_id).first() if not member_already_exists: db.session.add(new_member) else: continue db.session.commit() return (f"The members were successfully added to the league")
def post(self): nick = self.get_body_argument('nick', None) password = self.get_body_argument('password', None) if not nick or not password: self.send_result(error_code=constants.error_code['miss_nick_or_password']) return user = Member.getByNick(nick) if user: md5 = hashlib.md5() md5.update(password) password_md5 = md5.hexdigest().upper() if user.password.upper() == password_md5: self.set_secure_cookie('current_user', nick, 10) user = json.dumps(user, cls=utils.JSONEncoder) self.send_result(True, user, error_code=None) else: self.send_result(error_code=constants.error_code['wrong_password']) return self.send_result(error_code=constants.error_code['member_not_exist'])
def post(self): nick = self.get_body_argument('nick', None) password = self.get_body_argument('password', None) if not nick or not password: self.send_result( error_code=constants.error_code['miss_nick_or_password']) return user = Member.getByNick(nick) if user: md5 = hashlib.md5() md5.update(password) password_md5 = md5.hexdigest().upper() if user.password.upper() == password_md5: self.set_secure_cookie('current_user', nick, 10) user = json.dumps(user, cls=utils.JSONEncoder) self.send_result(True, user, error_code=None) else: self.send_result( error_code=constants.error_code['wrong_password']) return self.send_result(error_code=constants.error_code['member_not_exist'])
def get(self, id): member = Member.getById(id) if member: self.render('profile.html', user=member) raise tornado.web.HTTPError(404)
def seed_db(): from datetime import date from models.User import User # Importing the User model from models.Profile import Profile # Importing the Profile model from models.League import League from models.Member import Member from models.Fine import Fine from models.Point import Point from models.Category import Category from models.Sprint import Sprint from main import bcrypt # Hashing module for the passwords from faker import Faker # Importing the faker module for fake data import random # Importing random from the python standard library import copy import time faker = Faker() users = [] leagues = [] categories = [] sprints = [] points = [] fines = [] for i in range(5): time.sleep(0.2) user = User() user.email = f"test{i+1}@test.com" user.password = bcrypt.generate_password_hash("123456").decode("utf-8") db.session.add(user) users.append(user) db.session.commit() for i in range(5): # time.sleep(0.2) profile = Profile() profile.username = f"username{i}" profile.firstname = f"firstname{i}" profile.lastname = f"lastname{i}" profile.user_id = users[i].id db.session.add(profile) db.session.commit() for i in range(5): # time.sleep(0.2) new_league = League() new_league.title = f"League title {i}" new_league.description = f"A nice league to the power of {i}" new_league.owner = users[i].id leagues.append(new_league) db.session.add(new_league) db.session.commit() for i in range(5): # time.sleep(0.2) owner = Member() owner.user_id = leagues[i].owner owner.league_id = i + 1 owner.active = True db.session.add(owner) new_member = Member() new_member.active = True new_member.league_id = i + 1 new_member.user_id = random.choice(users).id while new_member.user_id == owner.user_id: new_member.user_id = random.choice(users).id db.session.add(new_member) db.session.commit() for i in range(5): new_sprint = Sprint() new_sprint.title = f"Sprint title #{i}" new_sprint.meeting_point = f"The Outback" new_sprint.creation_time = date.today() league = leagues[i] new_sprint.league = league sprints.append(new_sprint) db.session.commit() for i in range(5): # time.sleep(0.2) new_category = Category() new_category.title = f"category title {i}" new_category.description = f"category description {i}" if i % 2 == 0: private = True else: private = False new_category.private = private new_category.owner = random.choice(users).id new_category.leagues_categories.append(leagues[i]) categories.append(new_category) db.session.commit() for i in range(5): # time.sleep(0.2) new_fine = Fine() new_fine.title = f"Title {i}" new_fine.description = f"Description {i}" new_fine.amount = i if i % 2 == 0: style = "Award" else: style = "Fine" new_fine.style = style category = categories[i] new_fine.category = category fines.append(new_fine) db.session.commit() for i in range(4): # time.sleep(0.2) new_point = Point() new_point.creation_time = date.today() new_point.fine_id = random.choice(fines).id sprint = sprints[i] new_point.sprint = sprint new_point.giver_id = sprint.league.owner new_point.receiver_id = sprint.league.members[1].id db.session.commit() print("Tables seeded")
def get_members_of_class_node(classNode): memberList = [] classRefid = parser.get_class_id(classNode) className = parser.get_class_name(classNode) sectionNodes = parser.get_sections_of_class_node(classNode) for sectionNode in sectionNodes: mSectionKind = parser.get_section_kind(sectionNode) memberNodes = parser.get_members_of_section_node(sectionNode) for memberNode in memberNodes: mName = parser.get_memberdef_name(memberNode) if (VERBOSE): print("processing member: " + mName) mId = parser.get_memberdef_id(memberNode) mKind = parser.get_memberdef_kind(memberNode) mType = parser.get_memberdef_type(memberNode) mInline = parser.get_memberdef_inline(memberNode) mStatic = parser.get_memberdef_static(memberNode) mExplicit = parser.get_memberdef_explicit(memberNode) mVirtuality = parser.get_memberdef_virtuality(memberNode) mProt = parser.get_memberdef_prot(memberNode) mBriefDesc = parser.get_memberdef_brief_desc(memberNode) mDetailedDesc = parser.get_memberdef_detailed_desc(memberNode) mInbodyDesc = parser.get_memberdef_inbody_desc(memberNode) mHeadFile = parser.get_memberdef_head_file(memberNode) mHeadLine = parser.get_memberdef_head_line(memberNode) mBodyFile = parser.get_memberdef_body_file(memberNode) mBodyStart = parser.get_memberdef_body_start(memberNode) mBodyEnd = parser.get_memberdef_body_end(memberNode) mReimplementerIds = parser.get_reimplementers_of_memberdef_node(memberNode) mParamNodes = parser.get_params_of_memberdef_node(memberNode) mIsConstructor = True if (className == mName) else False mIsCopyConstructor = False mIsDestructor = True if ("~"+className == mName) else False # Update file locations if necessary if (mHeadFile is not None): mHeadFile = mHeadFile.replace(settings.OLD_SOURCE_DIR, settings.NEW_SOURCE_DIR) if (mBodyFile is not None): mBodyFile = mBodyFile.replace(settings.OLD_SOURCE_DIR, settings.NEW_SOURCE_DIR) mParamList = [] for index, mParamNode in enumerate(mParamNodes): mParamName = parser.get_name_of_param_node(mParamNode) mParamType = parser.get_type_of_param_node(mParamNode) mIsCopyConstructor = parser.is_member_copy_constructor(classRefid, mParamNode) mParam = Param(index, mParamName, mParamType) mParamList.append(mParam) member = Member(mId, mName, mKind, mType, mParamList, mSectionKind, mInline, mStatic, mExplicit, mVirtuality, mProt, mBriefDesc, mDetailedDesc, mInbodyDesc, mHeadFile, mHeadLine, mBodyFile, mBodyStart, mBodyEnd, mReimplementerIds, mIsConstructor, mIsCopyConstructor, mIsDestructor) memberList.append(member) return memberList
def add_new_member(self, username, password, name, surname, email): new_user = Member(username, password, name, surname, email) return self.client.add_new_member_db(new_user)