def detail(request, slug, template_name="studygroups/detail.html"): study_group = get_object_or_404(StudyGroup, slug=slug) if has_perm(request.user, 'studygroups.view_studygroup', study_group): EventLog.objects.log(instance=study_group) officers = study_group.officers() #has_group_view_permission is True if there is at least one #group where the user is a member that has a view_studygroup permission. has_group_view_permission = False #Check user for group view permissions if request.user.is_authenticated(): groups = request.user.group_set.all() perms = has_groups_perms(study_group).filter(group__in=groups) for perm in perms: #Check if permission has view studygroup permission has_group_view_permission |= perm.codename == 'view_studygroup' if has_group_view_permission: break filters = get_query_filters(request.user, 'files.view_file') files = File.objects.filter(filters).filter( group=study_group.group).distinct() return render_to_response( template_name, { 'study_group': study_group, 'officers': officers, 'files': files, 'has_group_view_permission': has_group_view_permission, }, context_instance=RequestContext(request)) else: raise Http403
def detail(request, slug, template_name="committees/detail.html"): committee = get_object_or_404(Committee, slug=slug) if has_perm(request.user, 'committees.view_committee', committee): EventLog.objects.log(instance=committee) officers = committee.officers() #has_group_view_permission is True if there is at least one #group where the user is a member that has a view_committee permission. has_group_view_permission = False #Check user for group view permissions if request.user.is_authenticated(): groups = request.user.group_set.all() perms = has_groups_perms(committee).filter(group__in=groups) for perm in perms: #Check if permission has view committee permission has_group_view_permission |= perm.codename == 'view_committee' if has_group_view_permission: break filters = get_query_filters(request.user, 'files.view_file') files = File.objects.filter(filters).filter(group=committee.group).distinct() return render_to_response(template_name, { 'committee': committee, 'officers': officers, 'files': files, 'has_group_view_permission': has_group_view_permission, }, context_instance=RequestContext(request)) else: raise Http403
def obj_lock(self): from tendenci.apps.perms.fields import has_groups_perms t = '<i style="color:{color};" title="{perm}, {status}" class="fa fa-{lock_type}" aria-hidden="true"></i>' color = 'brown' lock_type = 'unlock-alt' if self.allow_anonymous_view: perm = 'Public' elif self.allow_user_view: perm = 'Users' lock_type = 'lock' elif self.allow_member_view: perm = 'Members' lock_type = 'lock' elif has_groups_perms(self): perm = 'Groups' lock_type = 'lock' else: perm = 'Private' color = 'red' lock_type = 'lock' if self.status and self.status_detail == 'active': if self.allow_anonymous_view: color = 'green' perm = 'Public' else: color = 'red' lock_type = 'lock' value = t.format(color=color, perm=perm, status=self.status_detail, lock_type=lock_type) return mark_safe(value)
def obj_perms(self): from tendenci.apps.perms.fields import has_groups_perms t = '<span class="t-perm t-perm-%s">%s</span>' if self.allow_anonymous_view: value = t % ('public', 'Public') elif self.allow_user_view: value = t % ('users', 'Users') elif self.allow_member_view: value = t % ('members', 'Members') elif has_groups_perms(self): value = t % ('groups', 'Groups') else: value = t % ('private', 'Private') return mark_safe(value)
def obj_perms(self): from tendenci.apps.perms.fields import has_groups_perms t = '<span class="t-profile-perm t-perm-%s">%s</span>' if self.allow_anonymous_view: value = t % ('public','Public') elif self.allow_user_view: value = t % ('users','Users') elif self.allow_member_view: value = t % ('members','Members') elif has_groups_perms(self): value = t % ('groups','Groups') else: value = t % ('private','Private') return mark_safe(value)
def detail(request, slug, template_name="committees/detail.html"): committee = get_object_or_404(Committee, slug=slug) if has_perm(request.user, 'committees.view_committee', committee): EventLog.objects.log(instance=committee) officers = committee.officers().filter( Q(expire_dt__isnull=True) | Q(expire_dt__gte=date.today())) #has_group_view_permission is True if there is at least one #group where the user is a member that has a view_committee permission. has_group_view_permission = False #Check user for group view permissions if request.user.is_authenticated: groups = request.user.user_groups.all() perms = has_groups_perms(committee).filter(group__in=groups) for perm in perms: #Check if permission has view committee permission has_group_view_permission |= perm.codename == 'view_committee' if has_group_view_permission: break filters = get_query_filters(request.user, 'files.view_file') files = File.objects.filter(filters).filter( group=committee.group).distinct() show_officers_phone = officers.exclude(phone__isnull=True).exclude( phone='').exists() show_officers_email = officers.exclude(email__isnull=True).exclude( email='').exists() return render_to_resp(request=request, template_name=template_name, context={ 'committee': committee, 'officers': officers, 'files': files, 'has_group_view_permission': has_group_view_permission, 'show_officers_phone': show_officers_phone, 'show_officers_email': show_officers_email }) else: raise Http403
def detail(request, slug, template_name="chapters/detail.html"): chapter = get_object_or_404(Chapter, slug=slug) if has_perm(request.user, 'chapters.view_chapter', chapter): EventLog.objects.log(instance=chapter) officers = chapter.officers() #has_group_view_permission is True if there is at least one #group where the user is a member that has a view_chapter permission. has_group_view_permission = False #Check user for group view permissions if request.user.is_authenticated: groups = request.user.user_groups.all() perms = has_groups_perms(chapter).filter(group__in=groups) for perm in perms: #Check if permission has view chapter permission has_group_view_permission |= perm.codename == 'view_chapter' if has_group_view_permission: break filters = get_query_filters(request.user, 'files.view_file') files = File.objects.filter(filters).filter( group=chapter.group).distinct() return render_to_resp(request=request, template_name=template_name, context={ 'chapter': chapter, 'officers': officers, 'files': files, 'has_group_view_permission': has_group_view_permission, }) else: raise Http403