Merge pull request #15635 from edx/ssemenova/ed-699

Educator-699 Modify deleted group warning on the unit/container page
This commit is contained in:
Sofiya Semenova
2017-07-28 07:23:11 -07:00
committed by GitHub
10 changed files with 144 additions and 37 deletions

View File

@@ -8,6 +8,7 @@ from xblock.core import XBlock
from xblock.fields import Boolean, Dict, Scope, String, XBlockMixin
from xblock.validation import ValidationMessage
from lms.lib.utils import is_unit
from xmodule.modulestore.inheritance import UserPartitionList
from xmodule.partitions.partitions import NoSuchUserPartitionError, NoSuchUserPartitionGroupError
@@ -15,8 +16,16 @@ from xmodule.partitions.partitions import NoSuchUserPartitionError, NoSuchUserPa
# more information can be found here: https://openedx.atlassian.net/browse/PLAT-902
_ = lambda text: text
INVALID_USER_PARTITION_VALIDATION = _(u"This component's access settings refer to deleted or invalid group configurations.")
INVALID_USER_PARTITION_GROUP_VALIDATION = _(u"This component's access settings refer to deleted or invalid groups.")
INVALID_USER_PARTITION_VALIDATION_COMPONENT = _(
u"This component's access settings refer to deleted or invalid group configurations."
)
INVALID_USER_PARTITION_VALIDATION_UNIT = _(
u"This unit's access settings refer to deleted or invalid group configurations."
)
INVALID_USER_PARTITION_GROUP_VALIDATION_COMPONENT = _(
u"This component's access settings refer to deleted or invalid groups."
)
INVALID_USER_PARTITION_GROUP_VALIDATION_UNIT = _(u"This unit's access settings refer to deleted or invalid groups.")
NONSENSICAL_ACCESS_RESTRICTION = _(u"This component's access settings contradict its parent's access settings.")
@@ -32,6 +41,7 @@ class GroupAccessDict(Dict):
@XBlock.needs('partitions')
@XBlock.needs('i18n')
class LmsBlockMixin(XBlockMixin):
"""
Mixin that defines fields common to all blocks used in the LMS
@@ -185,6 +195,7 @@ class LmsBlockMixin(XBlockMixin):
validation = super(LmsBlockMixin, self).validate()
has_invalid_user_partitions = False
has_invalid_groups = False
block_is_unit = is_unit(self)
for user_partition_id, group_ids in self.group_access.iteritems():
try:
@@ -204,7 +215,9 @@ class LmsBlockMixin(XBlockMixin):
validation.add(
ValidationMessage(
ValidationMessage.ERROR,
INVALID_USER_PARTITION_VALIDATION
(INVALID_USER_PARTITION_VALIDATION_UNIT
if block_is_unit
else INVALID_USER_PARTITION_VALIDATION_COMPONENT)
)
)
@@ -212,7 +225,9 @@ class LmsBlockMixin(XBlockMixin):
validation.add(
ValidationMessage(
ValidationMessage.ERROR,
INVALID_USER_PARTITION_GROUP_VALIDATION
(INVALID_USER_PARTITION_GROUP_VALIDATION_UNIT
if block_is_unit
else INVALID_USER_PARTITION_GROUP_VALIDATION_COMPONENT)
)
)