def remove_roles_validation(process, context): site = get_site_folder(True) return ('editable' in context.state and \ has_role(role=('Owner', context))) or \ is_site_moderator() or\ has_any_roles(roles=(('SiteAdmin', site), 'Admin'))
def start(self, context, request, appstruct, **kw): site = get_site_folder(True, request) user = get_current(request) is_manager = has_any_roles( user=user, roles=('Admin', ('SiteAdmin', site))) or\ is_site_moderator(request) if is_manager or all(has_role(user=user, role=('Owner', v)) for v in appstruct['targets'] if 'published' not in v.state): root = getSite() source = appstruct['source'] targets = appstruct['targets'] for artist in targets: replaced = artist.replace_by(source) if replaced: request.registry.notify(ObjectReplaced( old_object=artist, new_object=source )) root.delfromproperty('artists', artist) else: return {'error': True} return {}
def remove_roles_validation(process, context): site = get_site_folder(True) return ('editable' in context.state and \ has_role(role=('Owner', context))) or \ has_any_roles(roles=(('SiteAdmin', site), 'Admin')) or\ is_site_moderator()
def edit_state_validation(process, context): if 'draft' in context.state: return True site = get_site_folder(True) return has_role(role=('SiteAdmin', site)) or\ is_site_moderator()
def edit_state_validation(process, context): if 'editable' in context.state: return True site = get_site_folder(True) return has_role(role=('SiteAdmin', site)) or\ is_site_moderator()
def update(self): result = {} site = get_site_folder(True, self.request) user = get_current(self.request) is_manager = has_any_roles( user=user, roles=('Admin', ('SiteAdmin', site))) or\ is_site_moderator(self.request) duplicates = find_duplicates_artist(self.context, self.duplicates_state) diff_bodies = {} context_view = self.content( args={'object': self.context}, template=self.context.templates.get('diff', None))['body'] for duplicate in duplicates: duplicate_view = self.content( args={'object': duplicate}, template=duplicate.templates.get('diff', None))['body'] soupt, textdiff = html_diff_wrapper.render_html_diff( context_view, duplicate_view) diff_bodies[duplicate] = (textdiff, get_oid(duplicate)) values = {'context': self.context, 'oid': get_oid(self.context), 'context_view': context_view, 'contents': diff_bodies, 'row_len': math.ceil(len(diff_bodies)/2), 'is_manager': is_manager, 'view': self} body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) result['coordinates'] = {self.coordinates: [item]} return result
def start(self, context, request, appstruct, **kw): site = get_site_folder(True, request) user = get_current(request) is_manager = has_any_roles( user=user, roles=('Admin', ('SiteAdmin', site))) or\ is_site_moderator(request) if is_manager or all( has_role(user=user, role=('Owner', v)) for v in appstruct['targets'] if 'published' not in v.state): root = getSite() source = appstruct['source'] targets = appstruct['targets'] for venue in targets: replaced = venue.replace_by(source) if replaced: request.registry.notify( ObjectReplaced(old_object=venue, new_object=source)) root.delfromproperty('venues', venue) else: return {'error': True} return {}
def update(self): result = {} site = get_site_folder(True, self.request) user = get_current(self.request) is_manager = has_any_roles( user=user, roles=('Admin', ('SiteAdmin', site))) or\ is_site_moderator(self.request) duplicates = find_duplicates_artist(self.context, self.duplicates_state) diff_bodies = {} context_view = self.content(args={'object': self.context}, template=self.context.templates.get( 'diff', None))['body'] for duplicate in duplicates: duplicate_view = self.content(args={'object': duplicate}, template=duplicate.templates.get( 'diff', None))['body'] soupt, textdiff = html_diff_wrapper.render_html_diff( context_view, duplicate_view) diff_bodies[duplicate] = (textdiff, get_oid(duplicate)) values = { 'context': self.context, 'oid': get_oid(self.context), 'context_view': context_view, 'contents': diff_bodies, 'row_len': math.ceil(len(diff_bodies) / 2), 'is_manager': is_manager, 'view': self } body = self.content(args=values, template=self.template)['body'] item = self.adapt_item(body, self.viewid) result['coordinates'] = {self.coordinates: [item]} return result
def publish_roles_validation(process, context): site = get_site_folder(True) return is_site_moderator()
def publish_roles_validation(process, context): site = get_site_folder(True) return has_role(role=('Owner', context)) or\ is_site_moderator()
def archive_roles_validation(process, context): site = get_site_folder(True) return has_any_roles(roles=('Admin', ('SiteAdmin', site))) or\ is_site_moderator()
def archive_roles_validation(process, context): return is_site_moderator()
def admin_roles_validation(process, context): site = get_site_folder(True) return has_any_roles(roles=(('Journalist', site), ('SiteAdmin', site), 'Admin')) or\ is_site_moderator()
def archive_roles_validation(process, context): site = get_site_folder(True) return is_site_moderator() or\ has_role(role=('SiteAdmin', site))
def admin_roles_validation(process, context): site = get_site_folder(True) return has_any_roles(roles=(('Journalist', site), ('SiteAdmin', site), 'Admin')) or\ is_site_moderator()
def remove_roles_validation(process, context): site = get_site_folder(True) return is_site_moderator() or\ has_any_roles(roles=(('SiteAdmin', site), 'Admin'))
def archive_roles_validation(process, context): site = get_site_folder(True) return has_any_roles(roles=('Admin', ('SiteAdmin', site)))or\ is_site_moderator()
def remove_roles_validation(process, context): site = get_site_folder(True) return is_site_moderator() or\ has_any_roles(roles=(('SiteAdmin', site), 'Admin'))
def archive_roles_validation(process, context): return is_site_moderator()
def publish_roles_validation(process, context): site = get_site_folder(True) return has_role(role=('Owner', context)) or\ is_site_moderator()