def process_school(request, schema, entity): from voluptuous import Schema obj = json.loads(request.body) schema = Schema(schema, extra=True) try: obj = schema(obj) except: logging.exception('validation failed') logging.info(obj) school = entity.from_dict(obj) to_put = [school] if not obj.get('key'): # this is a new school. add the all groups group from sosbeacon.group import Group from sosbeacon.group import ADMIN_GROUPS_ID from sosbeacon.group import STAFF_GROUPS_ID group_admin = Group(key=ndb.Key( Group, ADMIN_GROUPS_ID + "%s" % (school.key.id()), namespace="_x_")) group_admin.name = "Admin" group_admin.school = school.key group_admin.default = True group_staff = Group(key=ndb.Key( Group, STAFF_GROUPS_ID + "%s" % (school.key.id()), namespace="_x_")) group_staff.name = "Staff" group_staff.school = school.key group_staff.default = True to_put.append(group_admin) to_put.append(group_staff) ndb.put_multi(to_put) return school
def process_school(request, schema, entity): from voluptuous import Schema obj = json.loads(request.body) schema = Schema(schema, extra=True) try: obj = schema(obj) except: logging.exception('validation failed') logging.info(obj) school = entity.from_dict(obj) to_put = [school] if not obj.get('key'): # this is a new school. add the all groups group from sosbeacon.group import Group from sosbeacon.group import ADMIN_GROUPS_ID from sosbeacon.group import STAFF_GROUPS_ID group_admin = Group(key=ndb.Key(Group, ADMIN_GROUPS_ID + "%s" % (school.key.id()), namespace="_x_")) group_admin.name = "Admin" group_admin.school = school.key group_admin.default = True group_staff = Group(key=ndb.Key(Group, STAFF_GROUPS_ID + "%s" % (school.key.id()), namespace="_x_")) group_staff.name = "Staff" group_staff.school = school.key group_staff.default = True to_put.append(group_admin) to_put.append(group_staff) ndb.put_multi(to_put) return school