Files
edx-platform/lms/djangoapps/course_wiki/settings.py
Kyle McCormick d1a775d3cd Use full names for lms.djangoapps imports (#25401)
* Use full LMS imports paths in LMS settings and urls modules
* Use full LMS import paths in Studio settings and urls modules
* Import from lms.djangoapps.badges instead of badges
* Import from lms.djangoapps.branding instead of branding
* Import from lms.djangoapps.bulk_email instead of bulk_email
* Import from lms.djangoapps.bulk_enroll instead of bulk_enroll
* Import from lms.djangoapps.ccx instead of ccx
* Import from lms.djangoapps.course_api instead of course_api
* Import from lms.djangoapps.course_blocks instead of course_blocks
* Import from lms.djangoapps.course_wiki instead of course_wiki
* Import from lms.djangoapps.courseware instead of courseware
* Import from lms.djangoapps.dashboard instead of dashboard
* Import from lms.djangoapps.discussion import discussion
* Import from lms.djangoapps.email_marketing instead of email_marketing
* Import from lms.djangoapps.experiments instead of experiments
* Import from lms.djangoapps.gating instead of gating
* Import from lms.djangoapps.grades instead of grades
* Import from lms.djangoapps.instructor_analytics instead of instructor_analytics
* Import form lms.djangoapps.lms_xblock instead of lms_xblock
* Import from lms.djangoapps.lti_provider instead of lti_provider
* Import from lms.djangoapps.mobile_api instead of mobile_api
* Import from lms.djangoapps.rss_proxy instead of rss_proxy
* Import from lms.djangoapps.static_template_view instead of static_template_view
* Import from lms.djangoapps.survey instead of survey
* Import from lms.djangoapps.verify_student instead of verify_student
* Stop suppressing EdxPlatformDeprecatedImportWarnings
2020-11-04 08:48:33 -05:00

38 lines
1.2 KiB
Python

"""
These callables are used by django-wiki to check various permissions
a user has on an article.
"""
from lms.djangoapps.course_wiki.utils import user_is_article_course_staff
def CAN_DELETE(article, user): # pylint: disable=invalid-name
"""Is user allowed to soft-delete article?"""
return _is_staff_for_article(article, user)
def CAN_MODERATE(article, user): # pylint: disable=invalid-name
"""Is user allowed to restore or purge article?"""
return _is_staff_for_article(article, user)
def CAN_CHANGE_PERMISSIONS(article, user): # pylint: disable=invalid-name
"""Is user allowed to change permissions on article?"""
return _is_staff_for_article(article, user)
def CAN_ASSIGN(article, user): # pylint: disable=invalid-name
"""Is user allowed to change owner or group of article?"""
return _is_staff_for_article(article, user)
def CAN_ASSIGN_OWNER(article, user): # pylint: disable=invalid-name
"""Is user allowed to change group of article to one of its own groups?"""
return _is_staff_for_article(article, user)
def _is_staff_for_article(article, user):
"""Is the user staff for article's course wiki?"""
return user.is_staff or user.is_superuser or user_is_article_course_staff(user, article)