def test_multi_level_proxify(self): self.address_view.proxifyField({'my_region':'Base_view.my_list_field'}) self.person_view.proxifyField({'my_default_region':'Address_view.my_region'}) field = self.person_view.my_default_region self.assertEqual(field.meta_type, 'ProxyField') self.assertEqual(field.get_value('form_id'), 'Address_view') self.assertEqual(field.get_value('field_id'), 'my_region') self.assertEqual(field.getTemplateField().getId(), 'my_region') self.assertEqual(field.getRecursiveTemplateField().getId(), 'my_list_field') self.assertEqual(field.is_delegated('title'), True) self.assertEqual(field.get_value('title'), 'Country') self.assertEqual(field.is_delegated('size'), True) self.assertEqual(field.get_value('size'), 1) self.assertEqual(field.is_delegated('items'), False) self.assertEqual(field.get_tales('items')._text, 'here/portal_categories/region/getCategoryChildTranslatedLogicalPathItemList') self.assertEqual(field.is_delegated('enabled'), True) self.assertEqual(field.get_value('enabled'), 1) self.assertEqual(field.is_delegated('description'), True) self.assertEqual(field.get_value('description'), '') self.assertEqual(field.has_value('scrap_variable'), 0) purgeFieldValueCache() # must purge cache before changing internal field value. template_field = self.address_view.my_region template_field.values['title'] = 'Region' self.assertEqual(field.get_value('title'), 'Region')
def test_single_level_proxify(self): # StringField self.person_view.proxifyField({'my_name':'Base_view.my_string_field'}) field = self.person_view.my_name self.assertEqual(field.meta_type, 'ProxyField') self.assertEqual(field.get_value('form_id'), 'Base_view') self.assertEqual(field.get_value('field_id'), 'my_string_field') self.assertEqual(field.is_delegated('title'), False) self.assertEqual(field.get_value('title'), 'Name') self.assertEqual(field.is_delegated('display_maxwidth'), False) self.assertEqual(field.get_value('display_maxwidth'), 20) self.assertEqual(field.is_delegated('enabled'), True) self.assertEqual(field.get_value('enabled'), 1) self.assertEqual(field.is_delegated('description'), True) self.assertEqual(field.get_value('description'), '') purgeFieldValueCache() # must purge cache before changing internal field value. template_field = self.base_view.my_string_field template_field.values['description'] = 'Description' self.assertEqual(field.get_value('description'), 'Description') purgeFieldValueCache() # ListField self.person_view.manage_addField('my_gender', 'Gender', 'ListField') self.person_view.proxifyField({'my_gender':'Base_view.my_gender'}) field = self.person_view.my_gender self.assertEqual(field.is_delegated('title'), True) self.assertEqual(field.get_value('title'), 'Gender') self.assertEqual(field.is_delegated('items'), True) self.assertEqual(field.get_value('items'), [('Male', 'Male'), ('Female', 'Female')]) purgeFieldValueCache()
def test_unproxify(self): #Proxify First self.address_view.proxifyField({'my_region':'Base_view.my_list_field'}) self.person_view.proxifyField({'my_default_region':'Address_view.my_region'}) purgeFieldValueCache() #UnProxify self.person_view.unProxifyField({'my_default_region':'on'}) field = self.person_view.my_default_region self.assertEqual(field.meta_type, 'ListField') self.assertEqual(field.get_value('title'), 'Country') self.assertEqual(field.get_tales('items')._text, 'here/portal_categories/region/getCategoryChildTranslatedLogicalPathItemList') #Test unproxify with old instance. #Proxify First self.person_view.proxifyField({'my_career_subordination_title':'Base_view.my_relation_string_field'}) purgeFieldValueCache() #UnProxify self.person_view.unProxifyField({'my_career_subordination_title':'on'}) field = self.person_view.my_career_subordination_title self.assertEqual(field.meta_type, 'RelationStringField') self.assertEqual(field.get_value('title'), 'Organisation') self.assertEqual(field.get_value('proxy_listbox_ids'), [('OrganisationModule_viewOrganisationList/listbox', 'Organisation')])