def render(self, context): try: manager = self.manager.resolve(context) user = self.user.resolve(context) if user.__class__ == cUser and manager.__class__ == cUser: context[self.varname] = is_manager(manager, user) return '' except template.VariableDoesNotExist: return ''
def user_metrics(request, username): """display user metrics page""" # TODO: only group administrators can view user metrics mm = MessageManager(request) try: u = cUser.objects.get(username=username) except cUser.DoesNotExist: u = get_object_or_404(User, username=username) has_permission_to_see_metrics = False if request.user.is_authenticated() and request.user.username == username: has_permission_to_see_metrics = True elif is_manager(request.user, u): has_permission_to_see_metrics = True if has_permission_to_see_metrics: return render(request, 'accounts/user/metrics.html', {'profile_user':u}, mm.messages()) else: #raise Http404 mm.set_notice("you do not have permission to view that page") return redirect(request.META.get('HTTP_REFERER','/'))
def users(request, username): """display the user account page""" # prepare messages mm = MessageManager(request) try: u = cUser.objects.get(username=username) fav = u.favorites except cUser.DoesNotExist: u = get_object_or_404(User, username=username) fav = None dict_content = {} dict_content['links'] = Link.objects.filter(user=u) dict_content['discussions'] = Discussion.objects.filter(user=u) dict_content['code_packages'] = CodePackage.objects.filter(user=u) dict_content['groups'] = u.groups.all() dict_content['curriculums'] = Curriculum.objects.filter(user=u) manager = is_manager(request.user, u) tasks = None if request.user.username == u.username: tasks = Task.objects.filter(author=u) return render(request, 'accounts/user/profile.html', {'tasks':tasks, 'profile_user':u, 'profile_favorites':fav, 'profile_content':dict_content, 'is_user_manager':manager}, mm.messages())