def test_get_users_by_group_by_collections_only_one_user_match(self):
        # with:
        # create librarian group and those members
        group_name = "Librarian"
        librarian_group = modelfactories.GroupFactory(name=group_name)
        librarian1 = auth.UserF(is_active=True)
        librarian2 = auth.UserF(is_active=True)

        librarian1.groups.add(librarian_group)
        librarian1.save()

        librarian2.groups.add(librarian_group)
        librarian2.save()

        # create col1. user: librarian1 belongs to it
        col1 = modelfactories.CollectionFactory.create()
        col1.add_user(librarian1)
        # create col2. without users.
        col2 = modelfactories.CollectionFactory.create()

        # when:
        users = get_users_by_group_by_collections(group_name, [col1, col2,])
        # then:
        self.assertEqual(1, len(users))
        self.assertIn(librarian1, users)
        self.assertNotIn(librarian2, users)
Example #2
0
    def test_get_users_by_group_by_collections_only_one_user_match(self):
        # with:
        # create librarian group and those members
        group_name = "Librarian"
        librarian_group = modelfactories.GroupFactory(name=group_name)
        librarian1 = auth.UserF(is_active=True)
        librarian2 = auth.UserF(is_active=True)

        librarian1.groups.add(librarian_group)
        librarian1.save()

        librarian2.groups.add(librarian_group)
        librarian2.save()

        # create col1. user: librarian1 belongs to it
        col1 = modelfactories.CollectionFactory.create()
        col1.add_user(librarian1)
        # create col2. without users.
        col2 = modelfactories.CollectionFactory.create()

        # when:
        users = get_users_by_group_by_collections(group_name, [
            col1,
            col2,
        ])
        # then:
        self.assertEqual(1, len(users))
        self.assertIn(librarian1, users)
        self.assertNotIn(librarian2, users)
    def set_bcc_recipients(self, member):
        """ recipients must belong to the same collection as member """
        collections_of_board_member = member.board.issue.journal.collections.all()

        if collections_of_board_member:
            librarians = get_users_by_group_by_collections('Librarian', collections_of_board_member)
        else:
            logger.error("[BoardMembersMessage.set_bcc_recipients] Can't define the collection of member (pk: %s), to filter bcc_recipients" % member.pk)
            return

        if librarians:
            filtered_librarians = [librarian for librarian in librarians if user_receive_emails(librarian)]
            self.bcc_recipients = map(lambda u: u.email, filtered_librarians)
        else:
            logger.error("[BoardMembersMessage.set_bcc_recipients] Can't prepare a message, Can't retrieve a list of Librarian Users.")
    def test_get_users_by_group_by_collections_NO_collections(self):
                # with:
        # create librarian group and those members
        group_name = "Librarian"
        librarian_group = modelfactories.GroupFactory(name=group_name)
        librarian1 = auth.UserF(is_active=True)
        librarian2 = auth.UserF(is_active=True)

        librarian1.groups.add(librarian_group)
        librarian1.save()

        librarian2.groups.add(librarian_group)
        librarian2.save()

        # collection list is an empty list

        # when:
        users = get_users_by_group_by_collections(group_name, [])
        # then:
        self.assertEqual(0, len(users))
        self.assertNotIn(librarian1, users)
        self.assertNotIn(librarian2, users)
Example #5
0
    def test_get_users_by_group_by_collections_NO_collections(self):
        # with:
        # create librarian group and those members
        group_name = "Librarian"
        librarian_group = modelfactories.GroupFactory(name=group_name)
        librarian1 = auth.UserF(is_active=True)
        librarian2 = auth.UserF(is_active=True)

        librarian1.groups.add(librarian_group)
        librarian1.save()

        librarian2.groups.add(librarian_group)
        librarian2.save()

        # collection list is an empty list

        # when:
        users = get_users_by_group_by_collections(group_name, [])
        # then:
        self.assertEqual(0, len(users))
        self.assertNotIn(librarian1, users)
        self.assertNotIn(librarian2, users)
Example #6
0
    def set_bcc_recipients(self, member):
        """ recipients must belong to the same collection as member """
        collections_of_board_member = member.board.issue.journal.collections.all(
        )

        if collections_of_board_member:
            librarians = get_users_by_group_by_collections(
                'Librarian', collections_of_board_member)
        else:
            logger.error(
                "[BoardMembersMessage.set_bcc_recipients] Can't define the collection of member (pk: %s), to filter bcc_recipients"
                % member.pk)
            return

        if librarians:
            filtered_librarians = [
                librarian for librarian in librarians
                if user_receive_emails(librarian)
            ]
            self.bcc_recipients = map(lambda u: u.email, filtered_librarians)
        else:
            logger.error(
                "[BoardMembersMessage.set_bcc_recipients] Can't prepare a message, Can't retrieve a list of Librarian Users."
            )