Esempio n. 1
0
    def test_primary_field_info(self):
        class ITest(Interface):
            title = schema.TextLine()
            body = schema.Text()

        alsoProvides(ITest['body'], IPrimaryField)

        fti = DexterityFTI(u"testtype")
        fti.lookupSchema = Mock(return_value=ITest)
        fti.behaviors = []
        self.mock_utility(fti, IDexterityFTI, name=u"testtype")

        item = Item('item')
        item.portal_type = 'testtype'
        item.body = u'body text'

        info = PrimaryFieldInfo(item)
        assert info.fieldname == 'body'
        assert info.field == ITest['body']
        assert info.value == 'body text'
Esempio n. 2
0
    def test_primary_field_info(self):
        class ITest(Interface):
            title = schema.TextLine()
            body = schema.Text()

        alsoProvides(ITest['body'], IPrimaryField)

        fti_mock = self.mocker.proxy(DexterityFTI(u"testtype"))
        self.expect(fti_mock.lookupSchema()).result(ITest).count(0, None)
        self.expect(fti_mock.behaviors).result([]).count(0, None)
        self.mock_utility(fti_mock, IDexterityFTI, name=u"testtype")
        self.replay()

        item = Item('item')
        item.portal_type = 'testtype'
        item.body = u'body text'

        info = PrimaryFieldInfo(item)
        assert info.fieldname == 'body'
        assert info.field == ITest['body']
        assert info.value == 'body text'
Esempio n. 3
0
 def image_field_name(self):
     card_type = self.context_settings['type_twittercard']
     if card_type in ['summary_large_image', 'summary', 'photo']:
         # Find the field that is set in the settings and return it.
         image_field = self.context_settings.get('image_field_name', '')
         if hasattr(self.context_settings, image_field):
             return image_field
     if card_type == 'photo':
         # If the image field is not set in the settings, try and find the
         # primary field.
         try:
             images = self.context.restrictedTraverse('@@images')
             if not self.is_dexterity():
                 primary = self.context.Schema().hasPrimary()
                 if images.scale(primary.getName()):
                     return primary.getName()
             else:
                 primary = PrimaryFieldInfo(self.context)
                 if images.scale(primary.fieldname):
                     return primary.fieldname
         except AttributeError:
             return None
     return None
Esempio n. 4
0
    def _init_version_file(self):
        version_id = self.request.get('version_id')

        old_obj = Versioner(self.context).retrieve(version_id)
        primary_field_info = PrimaryFieldInfo(old_obj)
        self.version_file = primary_field_info.value
Esempio n. 5
0
 def _init_version_file(self):
     version_id = self.request.get('version_id')
     pr = getToolByName(self.context, 'portal_repository')
     old_obj = pr.retrieve(self.context, version_id).object
     primary_field_info = PrimaryFieldInfo(old_obj)
     self.version_file = primary_field_info.value