def post(self): viewer = self.user_model post = cgi.escape(self.request.get('key')) #Person getting the endorsement endorsee = cgi.escape(self.request.get('endorsee')) text = cgi.escape(self.request.get('text')) skill_key = ndb.Key(urlsafe=post) endorsee_key = ndb.Key(urlsafe=endorsee) endorsement = Endorsement.query(Endorsement.endorsee == endorsee_key, Endorsement.skill == skill_key).get() if text != "empty": details = EndorsementDetails() details.endorser = viewer.key details.endorsee = endorsee_key details.skill = skill_key details.description = text details.time = datetime.datetime.now() - datetime.timedelta(hours=7) #For PST details.put() if endorsement is not None: endorsement.endorsers.append(viewer.key) endorsement.endorsement_count +=1 else: endorsement = Endorsement() endorsement.endorsers.append(viewer.key) endorsement.endorsee = endorsee_key endorsement.skill = skill_key endorsement.endorsement_count +=1 endorsement.put()
def get(self, profile_id): viewer = self.user_model q = User.query(User.username == profile_id) user = q.get() profile = Profile.query(Profile.owner == user.key).get() #if profile isn't created, create one if not profile: profile = Profile() profile.owner = user.key profile.about = "I'm new to Techeria. Add me!" profile.put() skill_list = [] endorsements = Endorsement.query(Endorsement.endorsee == user.key).fetch() endorsement_details = EndorsementDetails.query(EndorsementDetails.endorsee == user.key).fetch() user.endorsement_count = len(endorsement_details) for skill in user.skills: skill = skill.get() if skill is not None: endorsement_list = [] endorsement_list.append(skill) #Get endorsement messages #Add number # count = 0 for x in endorsements: if x.skill == skill.key: count=x.endorsement_count endorsement_list.append(count) skill_list.append(endorsement_list) connection_list = [] """Get friend count """ counter = 0 for connection in user.friends: connection = User.get_by_id(connection.id()) counter+=1 user.friend_count = counter user.put() # Get Nested Comments comments = Comment.query(Comment.root==True, ndb.OR(Comment.recipient_key == user.key, Comment.sender_key == user.key)).order(-Comment.time).fetch(10) index = 0 while index < len(comments): children = Comment.query(Comment.parent == comments[index].key).fetch() index += 1 comments[index:index] = children if user: self.response.out.write(template.render('views/profile.html', {'user':user, 'comments': comments, 'viewer':viewer, 'skills':skill_list, 'profile':profile, 'endorsements':endorsement_details}))
def get(self, profile_id): viewer = self.user_model q = User.query(User.username == profile_id) user = q.get() profile = Profile.query(Profile.owner == user.key).get() #if profile isn't created, create one if not profile: profile = Profile() profile.owner = user.key profile.about = "I'm new to Techeria. Add me!" profile.put() TutorPosts = RequestPost.query(RequestPost.requester == profile_id).fetch() user.jobpostings = len(TutorPosts) #posts_tutors_applied_to = [] posts_tutors_applied_to = "" AllPosts = RequestPost.query() for onePost in AllPosts: if user.username in onePost.list_of_applicants: posts_tutors_applied_to = RequestPost.query().fetch() user.jobsapplied = len(posts_tutors_applied_to) skill_list = [] endorsements = Endorsement.query(Endorsement.endorsee == user.key).fetch() endorsement_details = EndorsementDetails.query(EndorsementDetails.endorsee == user.key).fetch() user.endorsement_count = len(endorsement_details) for skill in user.skills: skill = skill.get() if skill is not None: endorsement_list = [] endorsement_list.append(skill) #Get endorsement messages #Add number # count = 0 for x in endorsements: if x.skill == skill.key: count=x.endorsement_count endorsement_list.append(count) skill_list.append(endorsement_list) connection_list = [] """Get friend count """ counter = 0 for connection in user.friends: connection = User.get_by_id(connection.id()) counter+=1 user.friend_count = counter user.put() # Get Nested Comments comments = Comment.query(Comment.root==True, ndb.OR(Comment.recipient_key == user.key, Comment.sender_key == user.key)).order(-Comment.time).fetch(100) index = 0 while index < len(comments): children = Comment.query(Comment.parent == comments[index].key).fetch() index += 1 comments[index:index] = children if user: self.response.out.write(template.render('views/profile.html', {'user':user, 'comments': comments, 'viewer':viewer, 'skills':skill_list, 'profile':profile, 'endorsements':endorsement_details, 'TutorPosts': TutorPosts, 'posts_tutors_applied_to': posts_tutors_applied_to }))
def get(self, profile_id): viewer = self.user_model q = User.query(User.username == profile_id) user = q.get() profile = Profile.query(Profile.owner == user.key).get() #if profile isn't created, create one if not profile: profile = Profile() profile.owner = user.key profile.about = "I'm new to Techeria. Add me!" profile.put() TutorPosts = RequestPost.query(RequestPost.requester == profile_id).fetch() user.jobpostings = len(TutorPosts) # for starring and stuff starQry = RequestPost.query(RequestPost.payment_is_done == True) tutors_who_can_rate = [] tutees_who_can_rate = [] for a in starQry: tutors_who_can_rate.append(a.final_provider) tutees_who_can_rate.append(a.requester) #Get Notifications notifications = NotifiedMessage.query(NotifiedMessage.person_reference == viewer.username).fetch(10) notis_count = len(notifications) trl = Transaction.query() transactions_list = [] for oneTransaction in trl: if viewer.username in oneTransaction.testPeoplewhocanseethis: transactions_list.append(oneTransaction) #Get Emails msg_count = viewer.msg_count posts_that_are_paid = RequestPost.query(RequestPost.payment_is_done == True).fetch() posts_tutors_applied_to = RequestPost.query().fetch() #payments history #for onePaid in PaidPosts: #if onePaid.final_provider == user.username: #posts_that_are_paid = PaidPosts skill_list = [] endorsements = Endorsement.query(Endorsement.endorsee == user.key).fetch() endorsement_details = EndorsementDetails.query(EndorsementDetails.endorsee == user.key).fetch() user.endorsement_count = len(endorsement_details) for skill in user.skills: skill = skill.get() if skill is not None: endorsement_list = [] endorsement_list.append(skill) #Get endorsement messages #Add number # count = 0 for x in endorsements: if x.skill == skill.key: count=x.endorsement_count endorsement_list.append(count) skill_list.append(endorsement_list) connection_list = [] """Get friend count """ counter = 0 for connection in user.friends: connection = User.get_by_id(connection.id()) counter+=1 user.friend_count = counter user.put() # Get Nested Comments comments = Comment.query(Comment.root==True, ndb.OR(Comment.recipient_key == user.key, Comment.sender_key == user.key)).order(-Comment.time).fetch(100) index = 0 while index < len(comments): children = Comment.query(Comment.parent == comments[index].key).fetch() index += 1 comments[index:index] = children if user: self.response.out.write(template.render('views/profile.html', {'user':user, 'comments': comments, 'viewer':viewer, 'skills':skill_list, 'profile':profile, 'endorsements':endorsement_details, 'TutorPosts': TutorPosts, 'posts_tutors_applied_to': posts_tutors_applied_to, 'posts_that_are_paid': posts_that_are_paid, 'notifications': notifications, 'notis_count': notis_count, 'transactions_list': transactions_list, 'tutors_who_can_rate': tutors_who_can_rate, 'tutees_who_can_rate': tutees_who_can_rate, 'msg_count': msg_count }))