예제 #1
0
    def test_all_contact_brains_ignores_security_by_default(self):
        self.grant('Authenticated')
        jamesbond = create(Builder('contact')
                           .having(firstname=u'James',
                                   lastname=u'Bond',
                                   email=None))
        jamesbond.manage_delLocalRoles(TEST_USER_ID)

        brains = contact_service().all_contact_brains()
        self.assertEquals(
            [(brain.firstname, brain.lastname) for brain in [jamesbond]],
            [(brain.firstname, brain.lastname) for brain in brains])

        brains = contact_service().all_contact_brains(ignore_security=False)
        self.assertEqual(0, len(brains))
예제 #2
0
    def test_all_contact_brains_ignores_security_by_default(self):
        self.grant('Authenticated')
        jamesbond = create(
            Builder('contact').having(firstname=u'James',
                                      lastname=u'Bond',
                                      email=None))
        jamesbond.manage_delLocalRoles(TEST_USER_ID)

        brains = contact_service().all_contact_brains()
        self.assertEquals([(brain.firstname, brain.lastname)
                           for brain in [jamesbond]],
                          [(brain.firstname, brain.lastname)
                           for brain in brains])

        brains = contact_service().all_contact_brains(ignore_security=False)
        self.assertEqual(0, len(brains))
예제 #3
0
 def get_user_contact_sort_dict(self):
     sort_dict = self.get_user_sort_dict()
     for contact in contact_service().all_contact_brains():
         sort_dict['contact:%s' %
                   (contact.id)] = u'%s %s' % (contact.lastname,
                                               contact.firstname)
     return sort_dict
예제 #4
0
    def test_all_contact_brains_ignores_security_by_default(self):
        self.grant('Authenticated')
        jamesbond = create(Builder('contact')
                           .having(firstname=u'James',
                                   lastname=u'Bond',
                                   email=None))

        jamesbond.__ac_local_roles_block__ = True
        jamesbond.reindexObjectSecurity()

        brains = contact_service().all_contact_brains()
        self.assertEquals(
            [(brain.firstname, brain.lastname) for brain in [jamesbond]],
            [(brain.firstname, brain.lastname) for brain in brains])

        brains = contact_service().all_contact_brains(ignore_security=False)
        self.assertEqual(0, len(brains))
예제 #5
0
    def test_all_contact_brains_ignores_security_by_default(self):
        self.grant('Authenticated')
        jamesbond = create(
            Builder('contact').having(firstname=u'James',
                                      lastname=u'Bond',
                                      email=None))

        jamesbond.__ac_local_roles_block__ = True
        jamesbond.reindexObjectSecurity()

        brains = contact_service().all_contact_brains()
        self.assertEquals([(brain.firstname, brain.lastname)
                           for brain in [jamesbond]],
                          [(brain.firstname, brain.lastname)
                           for brain in brains])

        brains = contact_service().all_contact_brains(ignore_security=False)
        self.assertEqual(0, len(brains))
예제 #6
0
    def key_value_provider(self):
        # Reset hidden_terms every time cache key changed
        self.hidden_terms = []

        items, hidden_terms = self._get_users()
        # copy lists to prevent cache modification
        items = items[:]
        self.hidden_terms = hidden_terms[:]
        for contact in contact_service().all_contact_brains():
            actor = Actor.contact(contact.contactid, contact=contact)
            items.append((contact.contactid, actor.get_label()))

        return items
예제 #7
0
    def test_all_contact_brains_returns_brains_of_all_contacts(self):
        self.grant('Manager')

        lara = create(
            Builder('contact').having(firstname=u'Lara',
                                      lastname=u'Croft',
                                      email=u'*****@*****.**'))

        superman = create(
            Builder('contact').having(firstname=u'Super',
                                      lastname=u'M\xe4n',
                                      email='*****@*****.**'))

        brains = contact_service().all_contact_brains()
        self.assertEquals([lara, superman],
                          [brain.getObject() for brain in brains])
예제 #8
0
    def test_all_contact_brains_returns_brains_of_all_contacts(self):
        self.grant('Manager')

        lara = create(Builder('contact')
                      .having(firstname=u'Lara',
                              lastname=u'Croft',
                              email=u'*****@*****.**'))

        superman = create(Builder('contact')
                          .having(firstname=u'Super',
                                  lastname=u'M\xe4n',
                                  email='*****@*****.**'))

        brains = contact_service().all_contact_brains()
        self.assertEquals(
            [lara, superman],
            [brain.getObject() for brain in brains])
예제 #9
0
    def _user_data(self):
        """Create a list containing all user data which can be memoized.
        key = mail-address:id eg. [email protected]:hugo.boss
        value for users = Fullname (userid, address), eg. Hugo Boss (hugo.boss, [email protected])
        value for contacts Fullname (id, address), eg. James Bond ([email protected])
        """
        user_data = []

        # users
        for user in ogds_service().all_users():
            if user.email:
                key = u'{}:{}'.format(user.email, user.userid)
                value = u'{} ({}, {})'.format(user.fullname(),
                                              user.userid, user.email)
                user_data.append((key, value))

            if user.email2:
                key = u'{}:{}'.format(user.email2, user.userid)
                value = u'{} ({}, {})'.format(user.fullname(),
                                              user.userid, user.email2)
                user_data.append((key, value))

        # contacts
        for contact in contact_service().all_contact_brains():
            if contact.email:
                user_data.append(
                    (u'{}:{}'.format(contact.email,
                                     contact.id.decode('utf-8')),
                     u'{} ({})'.format(contact.Title.decode('utf-8'),
                                       contact.email)))

            if contact.email2:
                user_data.append(
                    (u'{}:{}'.format(contact.email2, contact.id.decode('utf-8')),
                     u'{} ({})'.format(contact.Title.decode('utf-8'),
                                       contact.email2)))

        return user_data
예제 #10
0
 def get_user_contact_sort_dict(self):
     sort_dict = self.get_user_sort_dict()
     for contact in contact_service().all_contact_brains():
         sort_dict['contact:%s' % (contact.id)] = u'%s %s' % (
             contact.lastname, contact.firstname)
     return sort_dict
예제 #11
0
 def key_value_provider(self):
     for contact in contact_service().all_contact_brains():
         yield (contact.contactid,
                Actor.contact(contact.contactid,
                              contact=contact).get_label())