feat(home/models.py): add user_has_access property to CoursePage
This commit is contained in:
@@ -20,6 +20,17 @@ class CoursePage(Page):
|
|||||||
help_text="Select a group to restrict access to this course. Non-members will be prompted to purchase the course to view modules.",
|
help_text="Select a group to restrict access to this course. Non-members will be prompted to purchase the course to view modules.",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def _user_has_access(self, user):
|
||||||
|
if not user.is_authenticated:
|
||||||
|
return False
|
||||||
|
user_group_ids = user.groups.values_list("id", flat=True)
|
||||||
|
return self.allowed_groups.filter(id__in=user_group_ids).exists()
|
||||||
|
|
||||||
|
def get_context(self, request):
|
||||||
|
context = super().get_context(request)
|
||||||
|
context["user_has_access"] = self._user_has_access(request.user)
|
||||||
|
return context
|
||||||
|
|
||||||
content_panels = Page.content_panels + [
|
content_panels = Page.content_panels + [
|
||||||
FieldPanel("body"),
|
FieldPanel("body"),
|
||||||
FieldPanel("allowed_groups", widget=CheckboxSelectMultiple),
|
FieldPanel("allowed_groups", widget=CheckboxSelectMultiple),
|
||||||
|
|||||||
Reference in New Issue
Block a user