def post(self): action = self.request.get('action') if action == "submit_application": user = "" try: user_data = json.loads(self.request.get('user_data')) user = populate.create_user(user_data, "Mentor") if user=="User already exists": self.log_user_out() message = json.dumps({"message":"error", "value":user}) self.response.write(message) else: programUTF = json.loads(self.request.get('program')) programJSON = jsonString.convert(programUTF) program = populate.create_program(user, programJSON) mail_status = mailhandler.requestMail(user) notifyuser = mailhandler.notificationMail(user) message = json.dumps({"message":"success", "firstname":user.first_name, "lastname":user.last_name}) self.log_user_out() self.response.write(message) except: populate.delete_user(user) self.log_user_out() message = json.dumps({"message":"error", "value":"unknown"}) self.response.write(message)
def get(self): authorization_code = self.request.get('code') state = self.request.get('state') #requesting for accesss token from linkedIn using authorization code result = urllib.urlopen('https://www.linkedin.com/uas/oauth2/accessToken?grant_type=authorization_code&code=%s&redirect_uri=%s&client_id=%s&client_secret=%s' %(authorization_code,Redirect_uri_mentor,API_Key,Secret_Key)) #checks if action was successful and 'state' is authentic if result.code == 200 and state == State: token = json.loads(result.read()) #using access token to fetch user data from linkedIn userprofile = urllib.urlopen('https://api.linkedin.com/v1/people/~:(id,first-name,last-name,location:(name),summary,industry,public-profile-url,positions,recommendations-received,skills:(id,skill),educations:(id,school-name,field-of-study,start-date,end-date,degree,activities,notes),twitter-accounts,picture-url,email-address)?format=json&oauth2_access_token=%s' %(token['access_token'])) userdata = json.loads(userprofile.read()) profilepic = urllib.urlopen('https://api.linkedin.com/v1/people/~/picture-urls::(original)?format=json&oauth2_access_token=%s' %(token['access_token'])) bigPic = json.loads(profilepic.read()) userdata["big_pic"] = bigPic['values'][0] userdata = jsonString.convert(userdata) #rendering form for new mentor to fill exists = User.all().filter('email =', userdata['emailAddress']).count() if exists > 0 : self.render("/duplicate.html") else: self.render('mentor/mentorsignupform.html', user_data=json.dumps(userdata)) #redirects to homepage when action above is not successful else: self.redirect('/home')
def post(self): action = self.request.get('action') if action == "submit_application": try: user_data = json.loads(self.request.get('user_data')) user = populate.create_user(user_data, "Job Applicant") if user=="User already exists": self.log_user_out() message = json.dumps({"message":"error", "value":user}) self.response.write(message) else: programUTF = json.loads(self.request.get('program')) programJSON = jsonString.convert(programUTF) program = populate.create_program(user, programJSON) mail_status = mailhandler.requestMail(user) message = json.dumps({"message":"success", "firstname":user.first_name, "lastname":user.last_name}) self.log_user_out() self.response.write(message) ########################################### need to send alert to admin for confirmation of new user #################################################### except: self.response.write("Something seems to have gone wrong.") else: self.redirect('/home')
def post(self): action = self.request.get('action') if action =="largeSearch": totalResults = [] foundTopics = [] successTopics = [] successSectors = [] foundSectors = [] sector_count = len(self.request.get('sectors')) topic_count = len(self.request.get('topics')) if topic_count > 2: topicSTRING = self.request.get('topics') topicUTF = json.loads(str(topicSTRING)) topicJSON = jsonString.convert(topicUTF) for topic in topicJSON: self.query = Topic.all().filter("value = ",topic.get('value')) foundTopics.append(self.query) successTopics = self.returnCriterias(foundTopics) if sector_count > 2: sectorSTRING = self.request.get('sectors') sectorUTF = json.loads(str(sectorSTRING)) sectorJSON = jsonString.convert(sectorUTF) for sector in sectorJSON: self.query = Sector.all().filter("value = ", sector.get('value')) foundSectors.append(self.query) successSectors = self.returnSectors(foundSectors) totalResults = successSectors + successTopics finalResults = self.unique_result(totalResults) self.response.write(json.dumps(finalResults)) elif action == "getFullProfile": user_id = self.request.get("user_id") mentor = User.get_by_id(int(user_id)) user = User.get_by_id(int(self.user_id)) self.render("fullprofile.html", mentor = mentor, user_id= user.key().id()) elif action == "favorite": favorite_action = self.request.get('favorite_action') favorite_type = self.request.get('favorite_type') favorite_id = self.request.get('favorite_id') user = User.get_by_id(int(self.user_id)) result = {} if favorite_action == "unlike": totalFavorites = Favorite.gql("WHERE user=:1", user).count() result = Favorite.delete(user, favorite_type, favorite_id) message = {"message": result, "value": totalFavorites-1} self.response.write(json.dumps(message)) elif favorite_action == "like": totalFavorites = Favorite.gql("WHERE user=:1", user).count() result = Favorite.create(user, favorite_type, favorite_id) message = {"message": result, "value": totalFavorites+1} self.response.write(json.dumps(message)) else: result["message"] = "error" result["value"] = "wrong command" self.response.write(favorite_action) elif action == "rate": rating_type = self.request.get('rating_type') rating_id = self.request.get('rating_id') rating_value = self.request.get('rating_value') user = User.get_by_id(int(self.user_id)) result = {} result = Rating.rate(user, rating_type, rating_id, rating_value) message = result self.response.write(json.dumps(message)) elif action == "comment": comment = self.request.get("comment") comment = json.loads(comment) user = User.get_by_id(int(self.user_id)) comment['commentor_id'] = self.user_id comment['commentor'] = user if comment.get('type') == "user": comment['entity'] = User.get_by_id( int( comment.get('entity_id') ) ) else: comment['entity'] = Resource.get_by_id( int( comment.get('entity_id') ) ) comment_action = comment.get("comment_action") if comment_action == "new": result = Comment.create(comment) self.response.write(result) elif comment_action == "delete": result = Comment.delete(comment) self.response.write(result); elif comment_action == "edit": result = Comment.edit(comment) self.response.write(result); else: result["message"] = "error" result["value"] = "wrong command" self.response.write(rating_action)
def post(self): action = self.request.get('action') if action =="largeSearch": # try: totalResults = [] foundTopics = [] successTopics = [] successSectors = [] foundSectors = [] sector_count = len(self.request.get('sectors')) topic_count = len(self.request.get('topics')) if topic_count > 2: topicSTRING = self.request.get('topics') topicUTF = json.loads(str(topicSTRING)) topicJSON = jsonString.convert(topicUTF) for topic in topicJSON: self.query = Topic.all().filter("value = ",topic.get('value')) foundTopics.append(self.query) successTopics = self.returnCriterias(foundTopics) if sector_count > 2: sectorSTRING = self.request.get('sectors') sectorUTF = json.loads(str(sectorSTRING)) sectorJSON = jsonString.convert(sectorUTF) for sector in sectorJSON: self.query = Sector.all().filter("value = ", sector.get('value')) foundSectors.append(self.query) successSectors = self.returnSectors(foundSectors) # print "=================================================================" totalResults =successSectors + successTopics finalResults = self.unique_result(totalResults) # print finalResults # print "=================================================================" self.response.write(json.dumps(finalResults)) # except: # self.response.write("u don 4k up") elif action == "getFullProfile": user_id = self.request.get("user_id") user = User.get_by_id(int(user_id)) user_profile = {} user_profile["user"] = m2json.to_dict(user) user_profile["user"]["user_id"] = user_id logged_user = User.get_by_id(int(self.user_id)) status = Favorite.check(logged_user, user_id) user_profile["user"]["user_profile"] = user.user_profile user_profile["user"]["data_fav_status"] = status["favorite"] user_profile["user"]["data_fav_src"] = status["src"] rating = Rating.check(logged_user, user_id) user_profile["user"]["rating"] = rating if user.educations: user_profile["educations"] = m2json.gql_json_parser(user.educations) if user.positions: user_profile["positions"] = m2json.gql_json_parser(user.positions) if user.skills: user_profile["skills"] = m2json.gql_json_parser(user.skills) if user.comments_received: user_profile["logged_user_comment"] = Comment.check({"entity_id":user_id, "commentor_id":self.user_id}) user_profile["comments_received"] = [] for comments_received in user.comments_received: received = {} received['user'] = comments_received.user.first_name + " " + comments_received.user.last_name received['resource'] = comments_received.resource received['entity_id'] = comments_received.entity_id received['comment_id'] = comments_received.key().id() received['commentor'] = comments_received.commentor_name received['commentor_name'] = comments_received.commentor_name received['commentor_id'] = comments_received.commentor_id received['content'] = comments_received.content received['created'] = m2json.get_milliseconds(comments_received.created) received["rating"] = Rating.check(comments_received.commentor, comments_received.entity_id) user_profile["comments_received"].append(received) if user.programs: user_profile["program"] = m2json.gql_json_parser(user.programs) if user.programs[0].topics: user_profile["topics"] = m2json.gql_json_parser(user.programs[0].topics) if user.programs[0].sectors: user_profile["sectors"] = m2json.gql_json_parser(user.programs[0].sectors) self.response.write(json.dumps(user_profile)) elif action == "favorite": favorite_action = self.request.get('favorite_action') favorite_type = self.request.get('favorite_type') favorite_id = self.request.get('favorite_id') user = User.get_by_id(int(self.user_id)) result = {} if favorite_action == "unlike": totalFavorites = Favorite.gql("WHERE user=:1", user).count() result = Favorite.delete(user, favorite_type, favorite_id) message = {"message": result, "value": totalFavorites-1} self.response.write(json.dumps(message)) elif favorite_action == "like": totalFavorites = Favorite.gql("WHERE user=:1", user).count() result = Favorite.create(user, favorite_type, favorite_id) message = {"message": result, "value": totalFavorites+1} self.response.write(json.dumps(message)) else: result["message"] = "error" result["value"] = "wrong command" self.response.write(favorite_action) elif action == "rate": rating_type = self.request.get('rating_type') rating_id = self.request.get('rating_id') rating_value = self.request.get('rating_value') user = User.get_by_id(int(self.user_id)) result = {} result = Rating.rate(user, rating_type, rating_id, rating_value) message = result self.response.write(json.dumps(message)) elif action == "comment": comment = self.request.get("comment") comment = json.loads(comment) user = User.get_by_id(int(self.user_id)) comment['commentor_id'] = self.user_id comment['commentor'] = user if comment.get('type') == "user": comment['entity'] = User.get_by_id( int( comment.get('entity_id') ) ) else: comment['entity'] = Resource.get_by_id( int( comment.get('entity_id') ) ) comment_action = comment.get("comment_action") if comment_action == "new": result = Comment.create(comment) comment['status'] = result.get('status') comment["comment_id"] = result.get('value') comment['entity'] = None comment['commentor'] = user.first_name + " " + user.last_name self.response.write(json.dumps(comment)); elif comment_action == "delete": result = Comment.delete(comment) comment['status'] = result.get('status') comment["comment_id"] = result.get('value') comment['entity'] = None comment['commentor'] = user.first_name + " " + user.last_name self.response.write(json.dumps(comment)); elif comment_action == "edit": result = Comment.edit(comment) comment['status'] = result.get('status') comment["comment_id"] = result.get('value') comment['entity'] = None comment['commentor'] = user.first_name + " " + user.last_name self.response.write(json.dumps(comment)); else: result["message"] = "error" result["value"] = "wrong command" self.response.write(rating_action)