コード例 #1
0
ファイル: student.py プロジェクト: ProCynic/asn
    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
        })
コード例 #2
0
ファイル: student.py プロジェクト: ProCynic/asn
    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
        })
コード例 #3
0
ファイル: student.py プロジェクト: ProCynic/asn
    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')