def update(self, data): creator_id = data.get('creator_id') if creator_id is not None and creator_id != self.creator_id: role = Role.by_id(creator_id) if role is not None and role.type == Role.USER: self.creator_id = role.id Permission.grant_collection(self.id, role, True, True) self.schema_update(data)
def update(self, data): creator_id = data.get('creator_id') if creator_id is not None and creator_id != self.creator_id: role = Role.by_id(creator_id) if role is not None and role.type == Role.USER: self.creator_id = role.id Permission.grant_collection(self.id, role, True, True) self.schema_update(data)
def update(self, data): validate(data, self._schema) creator_id = data.get('creator_id') if creator_id is not None and creator_id != self.creator_id: role = Role.by_id(creator_id) if role is not None and role.type == Role.USER: self.creator_id = role.id Permission.grant_collection(self.id, role, True, True) self.label = data.get('label') self.summary = data.get('summary', self.summary) self.category = data.get('category', self.category) self.managed = data.get('managed') self.private = data.get('private') self.countries = data.pop('countries', [])
def create(cls, data, role=None): foreign_id = data.get('foreign_id') or make_token() collection = cls.by_foreign_id(foreign_id) if collection is None: collection = cls() collection.foreign_id = foreign_id collection.creator = role collection.update(data) db.session.add(collection) db.session.flush() if role is not None: Permission.grant_collection(collection.id, role, True, True) return collection
def create(cls, data, role=None): foreign_id = data.get('foreign_id') or make_token() collection = cls.by_foreign_id(foreign_id) if collection is None: collection = cls() collection.foreign_id = foreign_id collection.creator = role collection.update(data) db.session.add(collection) db.session.flush() if role is not None: Permission.grant_collection(collection.id, role, True, True) return collection