Example #1
0
 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)
Example #2
0
 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)
Example #3
0
 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', [])
Example #4
0
    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
Example #5
0
    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