def list(self, request): ''' Returns a list of proposals. ''' proposals = Proposal.query().fetch() messages = [] for proposal in proposals: messages.append(proposal.to_message()) return proposal_messages.Proposals(proposals=messages)
def put(self, request): ''' Create a new or or edit an existing proposal. ''' if not request.key: # Create a new proposal. proposal = Proposal() else: # Get the proposal to edit. proposal_key = ndb.Key(urlsafe=self.decrypt(request.key)) proposal = proposal_key.get() if not proposal: # TODO: What to do on error? return proposal_messages.Proposal() # Update the proposal. proposal.mutate_from_message(request) proposal.slug = "TODO: Remove me! (OF-64)" proposal.put() return proposal.to_message()