示例#1
0
 def test_missing_warning_karma_form(self):
     data = {
         'note': '',
         'karma': '-50'
     }
     form = KarmaForm(data=data, profile=self.user)
     self.assertFalse(form.is_valid())
示例#2
0
 def get_context_data(self, **kwargs):
     context = super(MemberDetail, self).get_context_data(**kwargs)
     usr = context['usr']
     profile = usr.profile
     context['profile'] = profile
     context['topics'] = list(
         Topic.objects.last_topics_of_a_member(usr, self.request.user))
     followed_query_set = TopicAnswerSubscription.objects.get_objects_followed_by(
         self.request.user.id)
     followed_topics = list(
         set(followed_query_set) & set(context['topics']))
     for topic in context['topics']:
         topic.is_followed = topic in followed_topics
     context[
         'articles'] = PublishedContent.objects.last_articles_of_a_member_loaded(
             usr)
     context[
         'tutorials'] = PublishedContent.objects.last_tutorials_of_a_member_loaded(
             usr)
     context['karmanotes'] = KarmaNote.objects.filter(
         user=usr).order_by('-pubdate')
     context['karmaform'] = KarmaForm(profile)
     context['topic_read'] = TopicRead.objects.list_read_topic_pk(
         self.request.user, context['topics'])
     context[
         'subscriber_count'] = NewPublicationSubscription.objects.get_subscriptions(
             self.object).count()
     return context
示例#3
0
 def test_valid_karma_form(self):
     data = {
         'note': 'bad user is bad !',
         'karma': '-50'
     }
     form = KarmaForm(data=data, profile=self.user)
     self.assertTrue(form.is_valid())
示例#4
0
 def test_missing_warning_karma_form(self):
     data = {
         'warning': "",
         'points': "-50"
     }
     form = KarmaForm(data=data, profile=self.user)
     self.assertFalse(form.is_valid())
示例#5
0
 def test_valid_karma_form(self):
     data = {
         'warning': "bad user is bad !",
         'points': "-50"
     }
     form = KarmaForm(data=data, profile=self.user)
     self.assertTrue(form.is_valid())
示例#6
0
 def test_missing_points_karma_form(self):
     data = {
         'note': 'bad user is bad !',
         'karma': ''
     }
     form = KarmaForm(data=data, profile=self.user)
     # should be fine as points is not required=True
     self.assertTrue(form.is_valid())
示例#7
0
 def test_missing_points_karma_form(self):
     data = {
         'warning': "bad user is bad !",
         'points': ""
     }
     form = KarmaForm(data=data, profile=self.user)
     # should be fine as points is not required=True
     self.assertTrue(form.is_valid())
示例#8
0
 def get_context_data(self, **kwargs):
     context = super(MemberDetail, self).get_context_data(**kwargs)
     usr = context['usr']
     profile = usr.profile
     context['profile'] = profile
     context['topics'] = list(Topic.objects.last_topics_of_a_member(usr, self.request.user))
     context['articles'] = PublishedContent.objects.last_articles_of_a_member_loaded(usr)
     context['tutorials'] = PublishedContent.objects.last_tutorials_of_a_member_loaded(usr)
     context['karmanotes'] = KarmaNote.objects.filter(user=usr).order_by('-create_at')
     context['karmaform'] = KarmaForm(profile)
     context['topic_read'] = TopicRead.objects.list_read_topic_pk(self.request.user, context['topics'])
     context['subscriber_count'] = NewPublicationSubscription.objects.get_subscriptions(self.object).count()
     return context
示例#9
0
 def get_context_data(self, **kwargs):
     context = super(MemberDetail, self).get_context_data(**kwargs)
     usr = context['usr']
     profile = usr.profile
     context['profile'] = profile
     context['topics'] = list(Topic.objects.last_topics_of_a_member(usr, self.request.user))
     context['articles'] = PublishedContent.objects.last_articles_of_a_member_loaded(usr)
     context['tutorials'] = PublishedContent.objects.last_tutorials_of_a_member_loaded(usr)
     context['old_tutos'] = Profile.objects.all_old_tutos_from_site_du_zero(profile)
     context['karmanotes'] = KarmaNote.objects.filter(user=usr).order_by('-create_at')
     context['karmaform'] = KarmaForm(profile)
     context['form'] = OldTutoForm(profile)
     context['topic_read'] = TopicRead.objects.list_read_topic_pk(self.request.user, context['topics'])
     return context
示例#10
0
 def get_context_data(self, **kwargs):
     context = super(MemberDetail, self).get_context_data(**kwargs)
     usr = context['usr']
     profile = usr.profile
     context['profile'] = profile
     context['topics'] = list(
         Topic.objects.last_topics_of_a_member(usr, self.request.user))
     followed_query_set = TopicAnswerSubscription.objects.get_objects_followed_by(
         self.request.user.id)
     followed_topics = list(
         set(followed_query_set) & set(context['topics']))
     for topic in context['topics']:
         topic.is_followed = topic in followed_topics
     context[
         'articles'] = PublishedContent.objects.last_articles_of_a_member_loaded(
             usr)
     context[
         'opinions'] = PublishedContent.objects.last_opinions_of_a_member_loaded(
             usr)
     context[
         'tutorials'] = PublishedContent.objects.last_tutorials_of_a_member_loaded(
             usr)
     context['topic_read'] = TopicRead.objects.list_read_topic_pk(
         self.request.user, context['topics'])
     context[
         'subscriber_count'] = NewPublicationSubscription.objects.get_subscriptions(
             self.object).count()
     if self.request.user.has_perm('member.change_profile'):
         sanctions = list(
             Ban.objects.filter(user=usr).select_related('moderator'))
         notes = list(
             KarmaNote.objects.filter(user=usr).select_related('moderator'))
         actions = sanctions + notes
         actions.sort(key=lambda action: action.pubdate)
         actions.reverse()
         context['actions'] = actions
         context['karmaform'] = KarmaForm(profile)
     return context
示例#11
0
 def test_missing_warning_karma_form(self):
     data = {"note": "", "karma": "-50"}
     form = KarmaForm(data=data, profile=self.user)
     self.assertFalse(form.is_valid())
示例#12
0
 def test_valid_karma_form(self):
     data = {"note": "bad user is bad !", "karma": "-50"}
     form = KarmaForm(data=data, profile=self.user)
     self.assertTrue(form.is_valid())
示例#13
0
    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        usr = context["usr"]
        profile = usr.profile
        context["profile"] = profile
        context["topics"] = list(
            Topic.objects.last_topics_of_a_member(usr, self.request.user))
        followed_query_set = TopicAnswerSubscription.objects.get_objects_followed_by(
            self.request.user.id)
        followed_topics = list(
            set(followed_query_set) & set(context["topics"]))
        for topic in context["topics"]:
            topic.is_followed = topic in followed_topics
        context[
            "articles"] = PublishedContent.objects.last_articles_of_a_member_loaded(
                usr)
        context[
            "opinions"] = PublishedContent.objects.last_opinions_of_a_member_loaded(
                usr)
        context[
            "tutorials"] = PublishedContent.objects.last_tutorials_of_a_member_loaded(
                usr)
        context[
            "articles_and_tutorials"] = PublishedContent.objects.last_tutorials_and_articles_of_a_member_loaded(
                usr)
        context["topic_read"] = TopicRead.objects.list_read_topic_pk(
            self.request.user, context["topics"])
        context[
            "subscriber_count"] = NewPublicationSubscription.objects.get_subscriptions(
                self.object).count()
        context["contribution_articles_count"] = (
            ContentContribution.objects.filter(
                user__pk=usr.pk,
                content__sha_public__isnull=False,
                content__type=CONTENT_TYPES[1]["name"]).values_list(
                    "content", flat=True).distinct().count())
        context["contribution_tutorials_count"] = (
            ContentContribution.objects.filter(
                user__pk=usr.pk,
                content__sha_public__isnull=False,
                content__type=CONTENT_TYPES[0]["name"]).values_list(
                    "content", flat=True).distinct().count())
        context["content_reactions_count"] = ContentReaction.objects.filter(
            author=usr).count()
        context["hide_forum_activity"] = (
            profile.hide_forum_activity
            and not self.request.user.has_perm("member.change_profile")
            and not profile.user == self.request.user)

        if self.request.user.has_perm("member.change_profile"):
            sanctions = list(
                Ban.objects.filter(user=usr).select_related("moderator"))
            notes = list(
                KarmaNote.objects.filter(user=usr).select_related("moderator"))
            actions = sanctions + notes
            actions.sort(key=lambda action: action.pubdate)
            actions.reverse()
            context["actions"] = actions
            context["karmaform"] = KarmaForm(profile)
            context["alerts"] = profile.alerts_on_this_profile.all().order_by(
                "-pubdate")
            context[
                "has_unsolved_alerts"] = profile.alerts_on_this_profile.filter(
                    solved=False).exists()

        context["summaries"] = self.get_summaries(profile)
        return context