def get(self, key=0): """ Displays the edit rating page. """ session = getSessionByRequest(self) user = getSessionUser(session) try : ratable = db.get(db.Key(key)) except db.BadKeyError : setSessionMessageByRequest(self, "Invalid URL", True) self.redirect("/student/") return session.deletionTarget = getUserRating(user, ratable); session.put() rating = getUserRating(user, ratable) typename = str(ratable.__class__.__name__) self.generate('studentEdit.html', { 'typename': typename, 'rating': ratable, 'surpressFooter': True, 'score': rating })
def get(self, key = None) : """ Will display the add rating page. """ session = getSessionByRequest(self) if not key : setSessionMessage(session, "Invalid Request.") self.redirect('/student/') return try : target = db.get(db.Key(key)) except db.BadKeyError : setSessionMessageByRequest(self, "Invalid URL", True) self.redirect("/student/") return user = getSessionUser(session) rating = getUserRating(user, target) session.deletionTarget = rating; session.put() self.generate('studentAdd.html', { 'surpressFooter': True, 'ratable': prepareItem(target), 'rating' : rating })
def post(self, key=0): """ Edits the given rating. """ DA = DataAccessor() rated = db.get(db.Key(key)) session = getSessionByRequest(self) user = getSessionUser(session) rating = getUserRating(user, rated) if (not rating) : setSessionMessage(session, "You cannot edit something you have not rated.", True) self.redirect('/student') return q = DA.getAllRatings().filter("rated =", rated) if q.count() != 1 : setSessionMessage(session, "This item is no longer editable.", True); self.redirect("/student/") return typename = rated.__class__.__name__ if typename == 'Book': isbn = self.request.get('isbn') title = self.request.get('title') author = self.request.get('author') DA.update( rated, isbn=isbn, title=title, author=author ) elif typename == 'Paper': paperType = self.request.get('paperType').upper() title = self.request.get('title') author = self.request.get('author') DA.update( rated, paperType=paperType, title=title, author=author ) elif typename == 'Course': unique = self.request.get('unique') courseNum = self.request.get('courseNum') name = self.request.get('name') semester = self.request.get('semester').upper() instructor = self.request.get('instructor') year = self.request.get('year') DA.update( rated, unique=unique, courseNum=courseNum, name=name, semester=semester, year=year, instructor=instructor ) elif typename == 'Game': platform = self.request.get('platform').upper() title = self.request.get('title') DA.update( rated, platform=platform, title=title ) elif typename in ['Internship', 'PlaceLive', 'PlaceEat', 'PlaceFun', 'PlaceLive', 'PlaceStudy'] : name = self.request.get('name') location = self.request.get('location') semester = self.request.get('semester').upper() year = self.request.get('year') DA.update( rated, name=name, location=location, semester=semester, year=year ) if (validRating(self.request.get('rating'))) : DA.update(rating, rating=int(self.request.get('rating'))) setSessionMessageByRequest(self, "Successfully updated rating.") else : setSessionMessageByRequest(self, "Invalid rating input. Keeping original", True) self.redirect('/student')