def build_acl(acl, roles, key_name): acl.update({ 'can_see_unapproved_content_lists': False, 'can_see_reported_content_lists': False, 'can_omit_flood_protection': False, 'can_approve_content': [], 'can_see_reports': [], }) acl = algebra.sum_acls(acl, roles=roles, key=key_name, can_see_unapproved_content_lists=algebra.greater, can_see_reported_content_lists=algebra.greater, can_omit_flood_protection=algebra.greater ) categories_roles = get_categories_roles(roles) categories = list(Category.objects.all_categories(include_root=True)) for category in categories: category_acl = acl['categories'].get(category.pk, {'can_browse': 0}) if category_acl['can_browse']: category_acl = acl['categories'][category.pk] = build_category_acl( category_acl, category, categories_roles, key_name) if category_acl.get('can_approve_content'): acl['can_approve_content'].append(category.pk) if category_acl.get('can_see_reports'): acl['can_see_reports'].append(category.pk) return acl
def build_acl(acl, roles, key_name): acl['can_see_unapproved_content_lists'] = False acl['can_see_reported_content_lists'] = False acl['can_approve_content'] = [] acl['can_see_reports'] = [] acl = algebra.sum_acls(acl, roles=roles, key=key_name, can_see_unapproved_content_lists=algebra.greater, can_see_reported_content_lists=algebra.greater) categories_roles = get_categories_roles(roles) categories = list(Category.objects.all_categories(include_root=True)) approve_in_categories = [] for category in categories: category_acl = acl['categories'].get(category.pk, {'can_browse': 0}) if category_acl['can_browse']: category_acl = acl['categories'][category.pk] = build_category_acl( category_acl, category, categories_roles, key_name) if category_acl.get('can_see_reports'): acl['can_see_reports'].append(category.pk) if category_acl.get('can_approve_content'): approve_in_categories.append(category) return acl
def build_acl(acl, roles, key_name): acl['can_approve_content'] = [] acl['can_pin_threads'] = [] acl['can_close_threads'] = [] acl['can_see_reports'] = [] categories_roles = get_categories_roles(roles) categories = list(Category.objects.all_categories(include_root=True)) approve_in_categories = [] for category in categories: category_acl = acl['categories'].get(category.pk, {'can_browse': 0}) if category_acl['can_browse']: acl['categories'][category.pk] = build_category_acl( category_acl, category, categories_roles, key_name) if acl['categories'][category.pk].get('can_pin_threads'): acl['can_pin_threads'].append(category.pk) if acl['categories'][category.pk].get('can_close_threads'): acl['can_close_threads'].append(category.pk) if acl['categories'][category.pk].get('can_see_reports'): acl['can_see_reports'].append(category.pk) if acl['categories'][category.pk].get('can_approve_content'): approve_in_categories.append(category) for category in categories: for sub in approve_in_categories: if category.has_child(sub) or category == sub: acl['can_approve_content'].append(category.pk) return acl
def build_acl(acl, roles, key_name): acl['can_see_unapproved_content_lists'] = False acl['can_see_reported_content_lists'] = False acl['can_approve_content'] = [] acl['can_see_reports'] = [] acl = algebra.sum_acls(acl, roles=roles, key=key_name, can_see_unapproved_content_lists=algebra.greater, can_see_reported_content_lists=algebra.greater ) categories_roles = get_categories_roles(roles) categories = list(Category.objects.all_categories(include_root=True)) approve_in_categories = [] for category in categories: category_acl = acl['categories'].get(category.pk, {'can_browse': 0}) if category_acl['can_browse']: category_acl = acl['categories'][category.pk] = build_category_acl( category_acl, category, categories_roles, key_name) if category_acl.get('can_see_reports'): acl['can_see_reports'].append(category.pk) if category_acl.get('can_approve_content'): approve_in_categories.append(category) return acl
def build_acl(acl, roles, key_name): acl['can_review_moderated_content'] = [] acl['can_see_reports'] = [] categories_roles = get_categories_roles(roles) for category in Category.objects.all_categories(): category_acl = acl['categories'].get(category.pk, {'can_browse': 0}) if category_acl['can_browse']: acl['categories'][category.pk] = build_category_acl( category_acl, category, categories_roles, key_name) if acl['categories'][category.pk]['can_review_moderated_content']: acl['can_review_moderated_content'].append(category.pk) if acl['categories'][category.pk]['can_see_reports']: acl['can_see_reports'].append(category.pk) return acl
def build_acl(acl, roles, key_name): categories_roles = get_categories_roles(roles) categories = list(Category.objects.all_categories(include_root=True)) for category in categories: category_acl = acl['categories'].get(category.pk, {'can_browse': 0}) if category_acl['can_browse']: acl['categories'][category.pk] = build_category_acl( category_acl, category, categories_roles, key_name) private_category = Category.objects.private_threads() private_threads_acl = acl['categories'].get(private_category.pk) if private_threads_acl: private_threads_acl.update({ 'can_mark_best_answers': 0, 'can_change_marked_answers': 0, 'best_answer_change_time': 0, }) return acl
def build_acl(acl, roles, key_name): acl.update({ 'can_download_other_users_attachments': False, 'max_attachment_size': 0, 'can_delete_other_users_attachments': False, 'can_see_unapproved_content_lists': False, 'can_see_reported_content_lists': False, 'can_approve_content': [], 'can_see_reports': [], }) acl = algebra.sum_acls( acl, roles=roles, key=key_name, can_download_other_users_attachments=algebra.greater, max_attachment_size=algebra.greater, can_delete_other_users_attachments=algebra.greater, can_see_unapproved_content_lists=algebra.greater, can_see_reported_content_lists=algebra.greater) categories_roles = get_categories_roles(roles) categories = list(Category.objects.all_categories(include_root=True)) approve_in_categories = [] for category in categories: category_acl = acl['categories'].get(category.pk, {'can_browse': 0}) if category_acl['can_browse']: category_acl = acl['categories'][category.pk] = build_category_acl( category_acl, category, categories_roles, key_name) if category_acl.get('can_see_reports'): acl['can_see_reports'].append(category.pk) if category_acl.get('can_approve_content'): approve_in_categories.append(category) return acl