def get(self, doc_type): models = PEDoc.gql('WHERE docType = :1', doc_type) try: result = {doc_type: [PEDoc.convert_dict(i) for i in models]} except AttributeError: return Response(status=404) return render_escaped_json_response(result)
def get(self, doc_type, doc_id): model = PEDoc.get_by_key_name(doc_id) try: result = PEDoc.convert_dict(model) except AttributeError: return Response(status=404) return render_escaped_json_response(result)
def inner(): try: docs = self._get_doc_values(self.request) doc_values = self._flatten_doc_values(docs) except NotFound: return Response(status=404) acls = AclRulesPlus.get_by_area(doc_type) no_admin = self._has_admin(doc_values) is False if acls.count() == 0: if no_admin: return self._400() else: if no_admin and self._members(doc_values) >= self._admins(acls): return self._400() for key in doc_values.keys(): AclRules.insert_or_update(doc_type, key, [doc_values[key]]) result = {doc_type: AclRulesPlus.get_by_list(doc_type)} return render_escaped_json_response(result)
def _after( self, doc_id, doc_type, doc_values, ): if doc_id and PEDoc.get_by_key_name(doc_id): try: result = PEDoc.update_and_get_by_dict(doc_id, doc_type, doc_values) except ConflictError: return Response(status=409) except InternalServerError: return Response(status=500) else: try: result = PEDoc.create_and_get_by_dict(doc_id, doc_type, doc_values) except InternalServerError: return Response(status=500) return render_escaped_json_response(result)