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'
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'
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
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
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