• Nicolas Delaby's avatar
    Reveal Two bugs in ProxyField and acquisition handling. · b28dc2f1
    Nicolas Delaby authored
    These two bugs can only triggered if a proxy field use a field inside a form
    which is overrided by an another form contained in a skin folder with higher priority.
    
    Person_view.my_title
     \
      |  custom_project_folder.Base_viewFieldLibrary  <== my_title field is not present
      |- erp5_core.Base_viewFieldLibrary.my_title  <== fallback to next form according skin priority
    
      * ProxyField.getTemplateField does not return acceptable acquisition context in some conditions.
      An infinite loop can be triggered because getTemplateField return the proxyfield itself.
      * If a Field returned by getRecursiveTemplateField is not wrapped in 
      portal acquisition context, it can not being accessed in Restricted Environment.
      Because current user is not known in the context of the inspected object.
      er5_core.Base_edit.py l194:
        field_meta_type = field.getRecursiveTemplateField().meta_type
      raises Unauthorized Exception.
    
    
    git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@33589 20353a03-c40f-0410-a6d1-a30d3c3de9de
    b28dc2f1
testProxyField.py 10.9 KB