Esempio n. 1
0
 def post(self, confid):
     user = users.get_current_user()
     if not user:
         login_url = users.create_login_url(self.request.url)
         self.redirect(login_url)
         return
     # get the conference
     if confid.startswith('new:'):
         confid = confid[4:]
     conference = Conference.get_by_id(confid)
     # check if the user is an admin
     if user.email() not in conference.reviewers:
         self.response.out.write("You are not authorized")
         return
     # get proposal id & proposal
     proposal_id = long(self.request.get('proposal_id'))
     proposal = Proposal.get_by_id(id=proposal_id, parent=conference.key)
     if not proposal:
         self.response.out.write("No proposal found for this id (" +
                                 str(proposal_id) + ")")
         return
     # get existing review by this user
     review = Review.get_by_id(id=user.email(), parent=proposal.key)
     if not review:
         review = Review(id=user.email(), parent=proposal.key)
     # store value for the review
     review.comment = self.request.get('comment')
     if self.request.get('rating'):
         review.rating = int(self.request.get('rating'))
     # store in Data Store
     review.put()
     # redirect to get
     self.redirect(self.request.url)
Esempio n. 2
0
    def post(self, serialised_key):
        if users.is_current_user_admin():
            #Either fetch review or create one
            review = None
            if serialised_key:
                review = db.get(db.Key(encoded=serialised_key))
            if not review:
                review = Review()
            #Add/update contents
            review.title = self.request.get('title')
            review.content = self.request.get('content')
            category = self.request.get('category')
            if category in Review.categories:
                review.category = category
            else:
                review.category = Review.categories[-1]  #i.e Other

            rating = self.request.get('rating')
            if rating in Review.ratings:
                review.rating = rating
            else:
                review.rating = Review.ratings[-1]   #i.e. N/A
            review.editDate = dt.datetime.now()
            review.put()
            self.redirect("/")
        else:
            self.redirect("/")
Esempio n. 3
0
def edit_hotel_review(hotel_id):
  if request.method == 'POST':
    hotel = Hotel.get_by_id(hotel_id)
    data = request.json
    review = Review(**data)
    review.hotel = hotel
    review.put()
    return hotel_reviews(hotel_id)
Esempio n. 4
0
  def post(self):
    # We set the same parent key on the 'review' to ensure each review is in
    # the same entity group. Queries across the single entity group will be
    # consistent. However, the write rate to a single entity group should
    # be limited to ~1/second.
    food_name = self.request.get('stall_name')
    review = Review(parent=stall_key(stall_name),
					content = self.request.get('content'))

    if users.get_current_user():
      author = users.get_current_user().nickname()
    
    review.put()
    self.redirect('/?' + urllib.urlencode({'stall_name': stall_name}))
Esempio n. 5
0
    def post(self, url_name):
        company = Company.all().filter('urlname = ', url_name).fetch(1)
        company = company[0]

	review = Review()
        review.company = company
	review.text = self.request.get('content')
        rating = Rating()
        rating.overall = self.GetIntOrDefault('overall')
        rating.benefits = self.GetIntOrDefault('benefits')
        rating.salary = self.GetIntOrDefault('salary')
        rating.environment = self.GetIntOrDefault('environment')
        rating.peers = self.GetIntOrDefault('peers')
        rating.location = self.GetIntOrDefault('location')
        rating.growth = self.GetIntOrDefault('growth')
        rating.put()
        review.rating = rating
	review.put()
	self.redirect('/companies/view/' + company.urlname)
    def postReview(self, request):
        """Post a review for a session"""
        self._checkLoggedIn()

        if not request.conference_name:
            raise endpoints.BadRequestException(
                "Conference session 'conference_name' field required")
        if not request.session_name:
            raise endpoints.BadRequestException(
                "Conference session 'name' field required")
        if not request.review:
            raise endpoints.BadRequestException(
                "Conference session 'review' review required")

        # Check to make sure conference exists and get for parent key
        parent = self._getSessionByName(session_name=request.session_name)

        # Get Parent key
        parent_key = parent.key

        # Check to make sure speaker has a profile: using displayName
        if request.speaker_name:
            self._checkSpeakerProfile(displayName=request.speaker_name)

        # copy ConferenceForm/ProtoRPC Message into dict
        data = {field.name: getattr(request, field.name)
                for field in request.all_fields()}

        # convert review to string for database put
        data = self._convertReview(data)

        # Set session as child of user supplied conference
        # Associate data and put session object
        review = Review(parent=parent_key, **data)
        review.put()

        msg = "Thank you for your feedback"

        return StringMessage(data=msg)
Esempio n. 7
0
from models import Company
from models import Rating
from models import Review

# Create some companies
company1 = Company(name='Google',urlname='google')
company2 = Company(name='Jobber',urlname='jobber')
company1.put()
company2.put()

#Create some ratings
rating1 = Rating(overall=4,salary=3,benefits=4,growth=5,peers=4,environment=5,location=5)
rating2 = Rating(overall=5,salary=3,benefits=3,growth=4,peers=5,environment=5,location=4)
rating1.put()
rating2.put()

#Create some reviews
review1 = Review(company=company1,text='Google is amazing!',rating=rating1)
review2 = Review(company=company2,text='Jobber is a wonderful start-up to work for!',rating=rating2)
review1.put()
review2.put()