def test_get_additional_data(self): context = self.portal result = plone_session.get_additional_data(context) self.assertEqual(None, result) plone_session.set_additional_data(context, 'test data') result = plone_session.get_additional_data(context) self.assertEqual('test data', result)
def test_get_additional_data(self): context = self.portal result = plone_session.get_additional_data(context) self.assertEqual(None, result) plone_session.set_additional_data(context, 'test data') result = plone_session.get_additional_data(context) self.assertEqual('test data', result)
def additional_data(self, form_data=None, add_manager_defaults=False): if not form_data: data = plone_session.get_additional_data(self.context) else: data = plone_session.get_additional_data(self.context) or dict() # merge the formdata for session use only, committing the # reservation only forms defined in the resource are # stored with the reservation to get proper separation data = self.merge_formdata( plone_session.get_additional_data(self.context) or dict(), utils.additional_data_dictionary(form_data, self.fti) ) plone_session.set_additional_data(self.context, data) # the default values of manager forms are added to users without # the permission right before saving if add_manager_defaults and not self.may_view_manager_sets: defaults = {} manager_ftis = self.manager_ftis for key, info in manager_ftis.items(): for name, f in field.Fields(info[1]).items(): if f.field.default is not None: fieldkey = '{}.{}'.format(key, name) defaults[fieldkey] = f.field.default data = self.merge_formdata( data, utils.additional_data_dictionary(defaults, manager_ftis) ) # on the other hand, if the user is not allowed, the data is cleared, # just in case (really more of a dev-environment problem, but it # doesn't hurt anyway) if data: if not add_manager_defaults and not self.may_view_manager_sets: manager_ftis = self.manager_ftis for form in data.keys(): if form in manager_ftis: del data[form] return data
def additional_data(self, form_data=None, add_manager_defaults=False): if not form_data: data = plone_session.get_additional_data(self.context) else: data = plone_session.get_additional_data(self.context) or dict() # merge the formdata for session use only, committing the # reservation only forms defined in the resource are # stored with the reservation to get proper separation data = self.merge_formdata( plone_session.get_additional_data(self.context) or dict(), utils.additional_data_dictionary(form_data, self.fti) ) plone_session.set_additional_data(self.context, data) # the default values of manager forms are added to users without # the permission right before saving if add_manager_defaults and not self.may_view_manager_sets: defaults = {} manager_ftis = self.manager_ftis for key, info in manager_ftis.items(): for name, f in field.Fields(info[1]).items(): if f.field.default is not None: fieldkey = '{}.{}'.format(key, name) defaults[fieldkey] = f.field.default data = self.merge_formdata( data, utils.additional_data_dictionary(defaults, manager_ftis) ) # on the other hand, if the user is not allowed, the data is cleared, # just in case (really more of a dev-environment problem, but it # doesn't hurt anyway) if data: if not add_manager_defaults and not self.may_view_manager_sets: manager_ftis = self.manager_ftis for form in data.keys(): if form in manager_ftis: del data[form] return data