def decorator(request, *args, **kwargs): user = get_or_none(LdapUser,pk=request.user.username) if not user: raise Http404 object = cls.objects.get(pk=kwargs['pk']) if is_admin(user.uid) or user.dn in object.owner: return function(request, *args, **kwargs) raise Http404
def decorator(request, *args, **kwargs): user = get_or_none(LdapUser, pk=request.user.username) if not user: raise Http404 object = cls.objects.get(pk=kwargs['pk']) if is_admin(user.uid) or user.dn in object.owner: return function(request, *args, **kwargs) raise Http404
def get_context_data(self, **kwargs): context = super(self.__class__, self).get_context_data(**kwargs) members = self.object.member invalidMembers = [] for member in members: m = get_or_none(LdapUser, uid=member.split('=')[1].split(',')[0]) if not m: invalidMembers.append(member.split('=')[1].split(',')[0]) context['invalidMembers'] = sorted(invalidMembers) return context
def get_initial(self): owners = [] for owner in self.object.owner: owners.append(LdapUser.objects.get(uid=owner.split('=')[1].split(',')[0])) members = [] for member in self.object.member: m = get_or_none(LdapUser, uid=member.split('=')[1].split(',')[0]) if m: members.append(LdapUser.objects.get(uid=member.split('=')[1].split(',')[0])) return { 'member': sorted(members, key=lambda member: member.cn), 'owner': sorted(owners, key=lambda owner: owner.cn), }
def get_context_data(self, **kwargs): context = super(MaillistDetail, self).get_context_data(**kwargs) context['owners'] = [] for owner in self.object.owner: context['owners'].append(LdapUser.objects.get(uid=owner.split('=')[1].split(',')[0])) context['members'] = [] invalidMembers = [] # filters for invalid entries and put it in a different list for member in self.object.member: m = get_or_none(LdapUser, uid=member.split('=')[1].split(',')[0]) if not m: invalidMembers.append(member.split('=')[1].split(',')[0]) else: context['members'].append(LdapUser.objects.get(uid=member.split('=')[1].split(',')[0])) context['invalidMembers'] = sorted(invalidMembers) return context