Esempio n. 1
0
    def test_ogds_user_adapter_doc_property_provider(self):
        provider = OgdsUserToContactAdapter(
            self.user).get_doc_property_provider(prefix='recipient')

        expected_ogds_user_properties = {
            'ogg.recipient.contact.title': u'M\xfcller Peter',
            'ogg.recipient.contact.description': u'nix',
            'ogg.recipient.person.salutation': 'Prof. Dr.',
            'ogg.recipient.person.firstname': 'Peter',
            'ogg.recipient.person.lastname': u'M\xfcller',
        }
        self.assertItemsEqual(expected_ogds_user_properties,
                              provider.get_properties())
    def test_adding_a_entry_with_a_user_as_contact(self, browser):
        peter = create(
            Builder('ogds_user').having(userid=u'peter.mueller',
                                        firstname=u'Peter',
                                        lastname=u'M\xfcller'))

        browser.login().open(self.dossier, view='add-journal-entry')
        browser.fill({
            'Category':
            u'phone-call',
            'Comment':
            u'Anfrage bez\xfcglich dem Jahr 2016 von Herr Meier'
        })
        form = browser.find_form_by_field('Contacts')
        form.find_widget('Contacts').fill(
            [get_contacts_token(OgdsUserToContactAdapter(peter))])

        browser.css('#form-buttons-add').first.click()

        browser.open(self.dossier, view=u'tabbedview_view-journal')
        row = browser.css('.listing').first.rows[1]
        links = row.css('.contacts a')

        self.assertEquals(u'Contacts M\xfcller Peter (peter.mueller)',
                          row.dict().get('References'))

        self.assertEquals(['http://nohost/plone/@@user-details/peter.mueller'],
                          [link.get('href') for link in links])
        self.assertEquals([u'M\xfcller Peter (peter.mueller)'], links.text)
    def setUp(self):
        super(TestContactsSource, self).setUp()

        self.peter_a = create(
            Builder('person').having(firstname=u'Peter',
                                     lastname=u'M\xfcller',
                                     former_contact_id=1111))
        self.peter_b = create(
            Builder('person').having(firstname=u'Peter',
                                     lastname=u'Fl\xfcckiger'))
        self.peter_c = create(
            Builder('person').having(
                firstname=u'Peter', lastname=u'Meier').having(is_active=False))
        self.meier_ag = create(
            Builder('organization').named(u'Meier AG').having(
                former_contact_id=2222))
        self.teamwork_ag = create(
            Builder('organization').named(u'4teamwork AG'))
        self.school = create(
            Builder('organization').named(u'School').having(is_active=False))

        self.role1 = create(
            Builder('org_role').having(person=self.peter_a,
                                       organization=self.meier_ag,
                                       function='Developer'))
        self.role2 = create(
            Builder('org_role').having(person=self.peter_a,
                                       organization=self.teamwork_ag,
                                       function='Scheffe'))
        self.ogds_user = OgdsUserToContactAdapter(
            ogds_service().all_users()[0])

        self.source = ContactsSource(self.portal)
Esempio n. 4
0
    def search(self, query_string):
        self.terms = []

        text_filters = query_string.split()
        query = Contact.query.filter(Contact.is_active == True)
        query = query.polymorphic_by_searchable_text(text_filters=text_filters)

        for contact in query.order_by(Contact.contact_id):
            self.terms.append(self.getTerm(contact))
            if hasattr(contact, 'organizations'):
                for org_role in contact.organizations:
                    self.terms.append(self.getTerm(org_role))

        for ogds_user in ogds_service().filter_users(text_filters):
            self.terms.append(self.getTerm(
                OgdsUserToContactAdapter(ogds_user)))

        return self.terms
Esempio n. 5
0
 def create_object(self):
     obj = super(PloneOGDSUserBuilder, self).create_object()
     if self._as_contact_adapter:
         obj = OgdsUserToContactAdapter(obj)
     return obj
Esempio n. 6
0
 def ogds_user(self):
     return OgdsUserToContactAdapter(ogds_service().find_user(self.ogds_userid))