Commit 17de9c11 authored by Jérome Perrin's avatar Jérome Perrin

reapply r16405


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@16670 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 2fa1c51e
......@@ -672,7 +672,9 @@ class ERP5Form(ZMIForm, ZopePageTemplate):
portal = portal_url.getPortalObject()
portal_skins = getToolByName(self, 'portal_skins')
default_field_library_path = portal.getProperty('erp5_default_field_library_path', None)
default_field_library_path = portal.getProperty(
'erp5_default_field_library_path',
'erp5_core.Base_viewFieldLibrary')
if (not default_field_library_path or
len(default_field_library_path.split('.'))!=2):
return
......@@ -683,21 +685,24 @@ class ERP5Form(ZMIForm, ZopePageTemplate):
default_field_library = getattr(skinfolder, form_id, None)
if default_field_library is None:
return
if not default_field_library_path in form_order:
for i in default_field_library.objectValues():
field_meta_type, proxy_flag = get_field_meta_type_and_proxy_flag(i)
if meta_type==field_meta_type:
if proxy_flag:
field_meta_type = '%s(Proxy' % field_meta_type
matched_item = {'form_id':form_id,
'field_type':field_meta_type,
'field_object':i,
'proxy_flag':proxy_flag,
'matched_rate':0
}
for i in default_field_library.objectValues():
field_meta_type, proxy_flag = get_field_meta_type_and_proxy_flag(i)
if meta_type==field_meta_type:
if proxy_flag:
field_meta_type = '%s(Proxy)' % field_meta_type
matched_item = {'form_id':form_id,
'field_type':field_meta_type,
'field_object':i,
'proxy_flag':proxy_flag,
'matched_rate':0
}
if not default_field_library_path in form_order:
matched_append(default_field_library_path,
matched_item)
if not default_field_library_path in \
perfect_matched_form_order:
perfect_matched_append(default_field_library_path,
matched_item)
id_ = field.getId()
meta_type = field.meta_type
......@@ -737,6 +742,7 @@ class ERP5Form(ZMIForm, ZopePageTemplate):
if perfect_matched:
perfect_matched_form_order.sort()
add_default_field_library()
return perfect_matched_form_order, perfect_matched
form_order.sort()
......@@ -902,7 +908,8 @@ def get_field_meta_type_and_proxy_flag(field):
try:
return field.getRecursiveTemplateField().meta_type, True
except AttributeError:
raise AttributeError, 'The proxy target of %s field does not exists. Please check the field setting.' % field.getId()
raise AttributeError, 'The proxy target of %s field does not '\
'exists. Please check the field setting.' % field.getId()
else:
return field.meta_type, False
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment