2014-07-13 35 views
0

我使用Plone4.3.3的PloneBooking3.0.0a2,但是如果我想顯示定期預訂,我會得到一個不充分的特權錯誤。在我看來,負責兩個功能:Plone4.3中responseText的權限不夠有效

function showPeriodicityResult(url, alt_url, target_id, form_id, waiting_text) { 
    ajaxobject = getXmlHttpRequest(); 

    form = document.getElementById(form_id); 
    periodicity_type = getPeriodicityType(form); 
    periodicity_end_date = form['periodicity_form_periodicity_end_date_0'].value; 
    periodicity_variable = form['periodicity2_x'].value; 

    query = getPeriodicityQuery(periodicity_type, periodicity_end_date, periodicity_variable); 
    url = url + query + "&d=" + (new Date()).getTime(); 
    alt_url = alt_url + query; 

    // Opera does not support ajax 
    if (ajaxobject == null) { 
     window.location = alt_url; 
    } else { 
     var node = document.getElementById(target_id); 
     node.innerHTML = waiting_text; 
     ajaxobject.open('GET', url, true); 
     ajaxobject.onreadystatechange = function(){CallBackGenerateAjaxHTML(ajaxobject, target_id);}; 
     ajaxobject.send(null); 
    } 
} 

function CallBackGenerateAjaxHTML(ajaxobject, target_id) { 
    if (ajaxobject.readyState == 4) { 
     if (ajaxobject.status > 299 || ajaxobject.status < 200) { 
      return; 
     } 
     elem = document.getElementById(target_id); 
     elem.innerHTML = ajaxobject.responseText; 
    } 
} 

特別是隨着的responseText的innerHTML設置似乎是一個問題。是否有像Plone版本差異從3到4的快速答案,還是我必須深入工作?

+1

您的意思是「權限不足*客戶端*端錯誤? 如果是:您可以找到確切的線路,從瀏覽器控制檯中引發錯誤,如果否:服務器端回溯可以提供幫助 –

+1

另外,您的瀏覽器開發工具的網絡選項卡可以用於調試AJAX問題(如跨域策略)。 –

+0

感謝您的評論。我發現現在在結果模板中的tal定義會導致錯誤:'here_obj python :portal.uid_catalog(UID = here_uid)[0] .getObject();'這個人要求身份驗證。是否有替代術語來做到這一點? – efpeha

回答

1

您在評論中提到了portal.uid_catalog引發了未經授權。

當我記得正確時,uid-catalog自上次Plone修補程序以來需要更高的權限。但是,當您使用正常目錄的UID時,您也可以搜索一個項目。

here_obj python:portal.portal_catalog(UID=here_uid)[0].getObject(); 

這樣你應該可以得到你的對象。

+0

就是這樣!非常感謝!我的同事們會很高興。 – efpeha

相關問題