예제 #1
0
def _create_notifications(userid, submitid, rating, settings):
    """
    Creates notifications to watchers.
    """
    welcome.submission_insert(userid,
                              submitid,
                              rating=rating.code,
                              settings=settings)
예제 #2
0
파일: submission.py 프로젝트: Syfaro/weasyl
def _create_notifications(userid, submitid, rating, settings, title, tags):
    """
    Creates notifications to welcome page, watchers, Twitter.
    """
    welcome.submission_insert(userid, submitid, rating=rating.code, settings=settings)

    if 'q' in settings and 'f' not in settings:
        _post_to_twitter_about(submitid, title, rating.code, tags)
예제 #3
0
def _create_notifications(userid, submitid, rating, settings, title, tags):
    """
    Creates notifications to welcome page, watchers, Twitter.
    """
    welcome.submission_insert(userid, submitid, rating=rating.code, settings=settings)

    if 'q' in settings and 'f' not in settings:
        _post_to_twitter_about(submitid, title, rating.code, tags)
예제 #4
0
 def test_simple_submission(self):
     """
     Posting a submission should create notifications for all watchers.
     """
     s = db_utils.create_submission(self.owner)
     welcome.submission_insert(self.owner, s)
     self.assertEqual(1, self._notification_count(self.friend))
     self.assertEqual(1, self._notification_count(self.nonfriend))
     self.assertEqual(1, self._notification_count(self.ignored))
예제 #5
0
 def test_simple_submission(self):
     """
     Posting a submission should create notifications for all watchers.
     """
     s = db_utils.create_submission(self.owner)
     welcome.submission_insert(self.owner, s)
     self.assertEquals(1, self._notification_count(self.friend))
     self.assertEquals(1, self._notification_count(self.nonfriend))
     self.assertEquals(1, self._notification_count(self.ignored))
예제 #6
0
 def test_friends_only_submission(self):
     """
     Submissions uploaded as friends-only should be visible only to friends.
     """
     s = db_utils.create_submission(self.owner,
                                    settings=CharSettings({'friends-only'},
                                                          {}, {}))
     welcome.submission_insert(self.owner, s, settings='f')
     self.assertEqual(1, self._notification_count(self.friend))
     self.assertEqual(0, self._notification_count(self.nonfriend))
     self.assertEqual(0, self._notification_count(self.ignored))
예제 #7
0
 def test_friends_only_submission(self):
     """
     Submissions uploaded as friends-only should be visible only to friends.
     """
     s = db_utils.create_submission(
         self.owner,
         settings=CharSettings({'friends-only'}, {}, {}))
     welcome.submission_insert(self.owner, s, settings='f')
     self.assertEquals(1, self._notification_count(self.friend))
     self.assertEquals(0, self._notification_count(self.nonfriend))
     self.assertEquals(0, self._notification_count(self.ignored))
예제 #8
0
    def test_submission_becomes_friends_only(self):
        """
        Submissions becoming friends-only should be removed from non-friends'
        notification lists.
        """
        # Initial behavior should match with normal.
        s = db_utils.create_submission(self.owner)
        welcome.submission_insert(self.owner, s)
        self.assertEqual(1, self._notification_count(self.friend))
        self.assertEqual(1, self._notification_count(self.nonfriend))
        self.assertEqual(1, self._notification_count(self.ignored))

        welcome.submission_became_friends_only(s, self.owner)
        self.assertEqual(1, self._notification_count(self.friend))
        self.assertEqual(0, self._notification_count(self.nonfriend))
        self.assertEqual(0, self._notification_count(self.ignored))
예제 #9
0
    def test_submission_becomes_friends_only(self):
        """
        Submissions becoming friends-only should be removed from non-friends'
        notification lists.
        """
        # Initial behavior should match with normal.
        s = db_utils.create_submission(self.owner)
        welcome.submission_insert(self.owner, s)
        self.assertEquals(1, self._notification_count(self.friend))
        self.assertEquals(1, self._notification_count(self.nonfriend))
        self.assertEquals(1, self._notification_count(self.ignored))

        welcome.submission_became_friends_only(s, self.owner)
        self.assertEquals(1, self._notification_count(self.friend))
        self.assertEquals(0, self._notification_count(self.nonfriend))
        self.assertEquals(0, self._notification_count(self.ignored))
예제 #10
0
def modcontrol_spamqueue_submission_post_(request):
    """
    A Pyramid route controller for approving for display or items which the spam filter has tagged as being spam.
    :param request: The Pyramid request.
    :return/raises: HTTPSeeOther for the journal spam queue.
    """
    action = request.params.get("directive")
    submitid = int(request.params.get("submitid"))

    if action == "approve":
        # Approve and insert the journal into the notifications table.
        submitid, userid, rating, settings, content, ua_id, ip_addr = define.engine.execute(
            """
            UPDATE submission
            SET is_spam = FALSE
            WHERE submitid = %(id)s
            RETURNING submitid, userid, rating, settings, content, submitter_user_agent_id, submitter_ip_address
        """,
            id=submitid).first()
        # Update the spam filtering backend to indicate that this was not spam
        spam_filtering.submit(
            is_ham=True,
            user_ip=ip_addr,
            user_agent_id=ua_id,
            user_id=userid,
            comment_type="submission",
            comment_content=content,
        )
        welcome.submission_insert(userid=userid,
                                  submitid=submitid,
                                  rating=rating,
                                  settings=settings)
    elif action == "reject":
        moderation.hidesubmission(submitid=submitid)
    else:
        raise HTTPSeeOther("/modcontrol/spamqueue/submission")

    raise HTTPSeeOther("/modcontrol/spamqueue/submission")