def addCollaborator(self, blogId, collaboratorId, typeName): ''' @see: IBlogCollaboratorService.addCollaborator ''' typeId = self.collaboratorTypeIds()[typeName] if typeId is None: raise InputError( Ref(_('Invalid collaborator type'), ref=BlogCollaborator.Type)) sql = self.session().query(BlogCollaboratorEntry) sql = sql.filter(BlogCollaboratorEntry.Blog == blogId) sql = sql.filter( BlogCollaboratorEntry.blogCollaboratorId == collaboratorId) if sql.update({BlogCollaboratorEntry.typeId: typeId}) > 0: return sql = self.session().query(BlogCollaboratorMapped.Id) sql = sql.join(BlogMapped) sql = sql.filter(BlogCollaboratorMapped.User == BlogMapped.Creator) sql = sql.filter(BlogMapped.Id == blogId) sql = sql.filter(BlogCollaboratorMapped.Id == collaboratorId) if sql.count() > 0: raise InputError( _('The blog creator cannot be assigned as a collaborator')) bgc = BlogCollaboratorEntry() bgc.Blog = blogId bgc.blogCollaboratorId = collaboratorId bgc.typeId = typeId self.session().add(bgc) self.session().flush((bgc, ))
def addCollaborator(self, blogId, collaboratorId, typeName): ''' @see: IBlogCollaboratorService.addCollaborator ''' typeId = self.collaboratorTypeIds()[typeName] if typeId is None: raise InputError(Ref(_('Invalid collaborator type'), ref=BlogCollaborator.Type)) sql = self.session().query(BlogCollaboratorEntry) sql = sql.filter(BlogCollaboratorEntry.Blog == blogId) sql = sql.filter(BlogCollaboratorEntry.blogCollaboratorId == collaboratorId) if sql.update({BlogCollaboratorEntry.typeId: typeId}) > 0: return sql = self.session().query(BlogCollaboratorMapped.Id) sql = sql.join(BlogMapped) sql = sql.filter(BlogCollaboratorMapped.User == BlogMapped.Creator) sql = sql.filter(BlogMapped.Id == blogId) sql = sql.filter(BlogCollaboratorMapped.Id == collaboratorId) if sql.count() > 0: raise InputError(_('The blog creator cannot be assigned as a collaborator')) bgc = BlogCollaboratorEntry() bgc.Blog = blogId bgc.blogCollaboratorId = collaboratorId bgc.typeId = typeId self.session().add(bgc) self.session().flush((bgc,))
def addCollaborator(self, blogId, collaboratorId): ''' @see: IBlogCollaboratorService.addCollaborator ''' sql = self.session().query(BlogCollaboratorEntry) sql = sql.filter(BlogCollaboratorEntry.Blog == blogId) sql = sql.filter(BlogCollaboratorEntry.blogCollaboratorId == collaboratorId) if sql.count() > 0: raise InputError(_('Already a collaborator for this blog')) bgc = BlogCollaboratorEntry() bgc.Blog = blogId bgc.blogCollaboratorId = collaboratorId self.session().add(bgc) self.session().flush((bgc,)) return bgc.blogCollaboratorId
def addCollaborator(self, blogId, collaboratorId): """ @see: IBlogCollaboratorService.addCollaborator """ sql = self.session().query(BlogCollaboratorEntry) sql = sql.filter(BlogCollaboratorEntry.Blog == blogId) sql = sql.filter(BlogCollaboratorEntry.blogCollaboratorId == collaboratorId) if sql.count() > 0: raise InputError(_("Already a collaborator for this blog")) bgc = BlogCollaboratorEntry() bgc.Blog = blogId bgc.blogCollaboratorId = collaboratorId self.session().add(bgc) self.session().flush((bgc,)) return bgc.blogCollaboratorId