Пример #1
0
class UserProfileView(TemplateView, MyPaginator):
    template_name = 'users/profile.html'

    def dispatch(self, request, *args, **kwargs):
        if request.user.is_authenticated() and request.user.pk == int(kwargs['user_id']):
            self.user = request.user
        else:
            self.user = get_object_or_404(User, pk=kwargs['user_id'])
        self.wall_post_form = UserWallPostForm(request.POST or None)
        return super(UserProfileView, self).dispatch(request, *args, **kwargs)

    def get_context_data(self, **kwargs):
        context = super(UserProfileView, self).get_context_data(**kwargs)
        context['profile_user'] = self.user
        # context['wall_posts'] = self.get_wall_posts()
        context['wall_posts'] = self.get_paginator(self.user.wall_posts.select_related('author'))
        context['wall_post_form'] = self.wall_post_form
        if self.request.user != self.user:
            context['is_my_friend'] = User.friendship.are_friends(self.request.user, self.user)
        return context

    def post(self, request, *args, **kwargs):
        if self.wall_post_form.is_valid():
            post = self.wall_post_form.save(commit=False)
            post.user = self.user
            post.author = request.user
            post.save()
            FriendInfo.friendinfom.add_post_wall(post.author.pk, post.user.pk, post)
            messages.success(request, _(u'Сообщение успешно опубликовано.'))
            return redirect(request.path)
        return self.get(request, *args, **kwargs)
Пример #2
0
 def dispatch(self, request, *args, **kwargs):
     if request.user.is_authenticated() and int(
             kwargs['user_id']) == request.user.pk:
         self.user = request.user
         self.is_my_profile = True
     else:
         self.user = get_object_or_404(User, pk=kwargs['user_id'])
         self.is_my_profile = False
     self.wallpost_form = UserWallPostForm(request.POST or None)
     return super(UserProfileView, self).dispatch(request, *args, **kwargs)
Пример #3
0
 def dispatch(self, request, *args, **kwargs):
     if request.user.is_authenticated() and request.user.pk == int(kwargs['user_id']):
         self.user = request.user
     else:
         self.user = get_object_or_404(User, pk=kwargs['user_id'])
     self.wall_post_form = UserWallPostForm(request.POST or None)
     return super(ProfileViews, self).dispatch(request, *args, **kwargs)
Пример #4
0
class UserProfileView(TemplateView):
    template_name = 'users/profile.html'

    @method_decorator(login_required)
    def dispatch(self, request, *args, **kwargs):
        if request.user.is_authenticated() and int(
                kwargs['user_id']) == request.user.pk:
            self.user = request.user
            self.is_my_profile = True
        else:
            self.user = get_object_or_404(User, pk=kwargs['user_id'])
            self.is_my_profile = False
        self.wallpost_form = UserWallPostForm(request.POST or None)
        return super(UserProfileView, self).dispatch(request, *args, **kwargs)

    def get_wall_posts(self):
        paginator = Paginator(self.user.wall_posts.select_related('author'),
                              20)
        page = self.request.GET.get('page')
        try:
            wall_posts = paginator.page(page)
        except PageNotAnInteger:
            wall_posts = paginator.page(1)
        except EmptyPage:
            wall_posts = paginator.page(paginator.num_pages)
        return wall_posts

    def get_context_data(self, **kwargs):
        context = super(UserProfileView, self).get_context_data(**kwargs)
        context['is_my_profile'] = self.is_my_profile
        context['profile_user'] = self.user
        context['wall_posts'] = self.get_wall_posts()
        context['wallpost_form'] = self.wallpost_form
        if not self.is_my_profile:
            context['is_my_friend'] = User.friendship.are_friends(
                self.request.user, self.user)
        return context

    def post(self, request, *args, **kwargs):
        if self.wallpost_form.is_valid():
            post = self.wallpost_form.save(commit=False)
            post.user = self.user
            post.author = request.user
            post.save()
            messages.success(request, _(u'Сообщение успешно добавлено.'))
            return redirect(request.path)
        return self.get(request, *args, **kwargs)
Пример #5
0
 def dispatch(self, request, *args, **kwargs):
     if request.user.is_authenticated() and int(kwargs['user_id']) == request.user.pk:
         self.user = request.user
         self.is_my_profile = True
     else:
         self.user = get_object_or_404(User, pk=kwargs['user_id'])
         self.is_my_profile = False
     self.wallpost_form = UserWallPostForm(request.POST or None)
     return super(UserProfileView, self).dispatch(request, *args, **kwargs)
Пример #6
0
class UserProfileView(TemplateView):
    template_name = 'users/profile.html'

    @method_decorator(login_required)
    def dispatch(self, request, *args, **kwargs):
        if request.user.is_authenticated() and int(kwargs['user_id']) == request.user.pk:
            self.user = request.user
            self.is_my_profile = True
        else:
            self.user = get_object_or_404(User, pk=kwargs['user_id'])
            self.is_my_profile = False
        self.wallpost_form = UserWallPostForm(request.POST or None)
        return super(UserProfileView, self).dispatch(request, *args, **kwargs)

    def get_wall_posts(self):
        paginator = Paginator(self.user.wall_posts.select_related('author'), 20)
        page = self.request.GET.get('page')
        try:
            wall_posts = paginator.page(page)
        except PageNotAnInteger:
            wall_posts = paginator.page(1)
        except EmptyPage:
            wall_posts = paginator.page(paginator.num_pages)
        return wall_posts

    def get_context_data(self, **kwargs):
        context = super(UserProfileView, self).get_context_data(**kwargs)
        context['is_my_profile'] = self.is_my_profile
        context['profile_user'] = self.user
        context['wall_posts'] = self.get_wall_posts()
        context['wallpost_form'] = self.wallpost_form
        if not self.is_my_profile:
            context['is_my_friend'] = User.friendship.are_friends(self.request.user, self.user)
        return context

    def post(self, request, *args, **kwargs):
        if self.wallpost_form.is_valid():
            post = self.wallpost_form.save(commit=False)
            post.user = self.user
            post.author = request.user
            post.save()
            messages.success(request, _(u'Сообщение успешно добавлено.'))
            return redirect(request.path)
        return self.get(request, *args, **kwargs)
Пример #7
0
class ProfileViews(TemplateView):
    template_name = 'users/profile.html'

    def dispatch(self, request, *args, **kwargs):
        if request.user.is_authenticated() and request.user.pk == int(kwargs['user_id']):
            self.user = request.user
        else:
            self.user = get_object_or_404(User, pk=kwargs['user_id'])
        self.wall_post_form = UserWallPostForm(request.POST or None)
        return super(ProfileViews, self).dispatch(request, *args, **kwargs)

    def get_wall_posts(self):
        paginator = Paginator(self.user.wall_posts.select_related('author'), 10)
        page = self.request.GET.get('page')
        try:
            wall_posts = paginator.page(page)
        except PageNotAnInteger:
            wall_posts = paginator.page(1)
        except EmptyPage:
            wall_posts = paginator.page(paginator.num_pages)
        return wall_posts

    def get_context_data(self, **kwargs):
        context = super(ProfileViews, self).get_context_data(**kwargs)
        context['profile_user'] = self.user
        context['wall_posts'] = self.get_wall_posts()
        context['wall_post_form'] = self.wall_post_form
        if self.request.user != self.user:
            context['is_my_friend'] = User.friendship.are_friends(self.request.user, self.user)
        return context

    def post(self, request, *args, **kwargs):
        if self.wall_post_form.is_valid():
            post = self.wall_post_form.save(commit=False)
            post.user = self.user
            post.author = request.user
            post.save()
            messages.success(request, ugettext(u'Message success posted'))
            return redirect(request.path)
        return self.get(request, *args, **kwargs)