def post(self): try: vs = self.body_json() source, bid, listing, rating, text = \ vs['source'], vs['bid'], vs['listing'], int(vs['rating']), vs['text'][0:400] user = users.get_current_user() bid = Bid.get(bid) listing = Listing.get(listing) fb = Feedback.get_by_source(bid, listing, user_steam_id(user)) if rating > 100 or rating < -100: raise TypeError('Invalid feedback rating') if source == 'lister': ## lister is adding feedback for bidder; target is bid owner target = bid.owner elif source == 'bidder': ## bidder is adding feedback for lister; target is listing owner target = listing.owner else: raise TypeError('Invalid feedback source') source = user_steam_id(user) if fb: #raise TypeError('Feedback exists') fb.rating = rating fb.comment = text fb.put() else: fb = Feedback.build(bid, listing, source, target, rating, text) except (Exception, ), exc: self.error(500) raise exc = exc.message if hasattr(exc, 'message') else str(exc) result = {'msg':'error', 'description':exc}
def post(self): try: key = self.request.get('bid') warn('notify win: %s', key) bid = Bid.get(key) profile = bid.owner_profile() settings = PlayerSettings.get_by_id64(bid.owner).encode_builtin(complete=True) if settings['email'] and settings['notify-wins']: name = getattr(profile, 'personaname', bid.owner) send(name, settings['email'], bid.owner, bid.listing.url()) except (Exception, ), exc: warn('notify win exception: %s', exc) self.response.out.write('WARN')
def post(self): try: key = self.body_json()['key'] bid = Bid.get(key) if not bid: self.error(404) elif user_steam_id(users.get_current_user()) != bid.owner: self.error(401) else: bid.cancel() except (Exception, ), exc: self.error(500) raise error('cancel bid exception: %s', exc)
def post(self): try: key = self.request.get('bid') update = self.request.get('update') #warn('notify bid: %s, %s', key, update) bid = Bid.get(key) listing = bid.listing profile = listing.owner_profile() settings = PlayerSettings.get_by_id64(listing.owner).encode_builtin(complete=True) if settings['email'] and settings['notify-bids']: name = getattr(profile, 'personaname', listing.owner) send(name, settings['email'], listing.owner, listing.url()) except (Exception, ), exc: warn('notify bid exception: %s', exc) self.response.out.write('WARN')