def list_requests(self, status, sort_by = None, sort_descending = None): """ Retrieve the list of requests PARAMETERS: * status: filter requests by status """ query = RequestEntity.all().filter('status =', status) sign = sort_descending and '-' or '' if sort_descending is None: sort_descending = False if sort_by == RequestSortOrder.REQUESTOR: requests = query.order('%srequestor' % sign).fetch(1000) elif sort_by == RequestSortOrder.RANK: requests = query.fetch(1000) requests.sort(key = lambda request: request.requestor.rank, reverse = sort_descending) elif sort_by == RequestSortOrder.CATEGORY: requests = query.fetch(1000) requests.sort(key = lambda request: request.category.category, reverse = sort_descending) elif sort_by == RequestSortOrder.SUBMITTED_ON: requests = query.order('%ssubmitted_on' % sign).fetch(1000) else: requests = query.fetch(1000) return requests
def find_request(self, id): ''' Find a request by its id ''' id = int(id) return RequestEntity.get_by_id(id)
def create_request(self, category_id, subject, notes): ''' Create a new request ''' request = RequestEntity.create(requestor = self._requestor_key, category_id = category_id, subject = subject, notes = notes) request.put() return request