def __call__( self, request ): """ Request: AddCategory :: Category Response: Category | Fail """ category = self.fromPacket( request ) Category = self.model.use( 'Category' ) if Category.query().filter( and_( Category.name == category.name, or_( Category.owner_id == self.player.id, Category.owner_id == None ))).count(): return self.Fail( request, "PermissionDenied", "Category named %s already exists!" % category.name ) Model.add( category ) return self.toPacket( request, category )
def filter( self ): Category = self.model.use( 'Category' ) from sqlalchemy import or_ return or_( Category.owner == self.player, Category.owner == None )