我在Plone4.3.3中使用PloneBooking3.0.0a2,但如果我想显示定期预订,我会收到一个不合适的权限错误。在我看来,有两个功能负责:
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的快速回答,还是我必须深入工作?
答案 0 :(得分:1)
您在评论中提到portal.uid_catalog会引发未经授权。
当我没记错时,自最后一个Plone修补程序以来,uid-catalog需要更高的权限。但是,当您使用普通目录提供UID时,您也可以搜索项目。
here_obj python:portal.portal_catalog(UID=here_uid)[0].getObject();
这样你就可以获得你的对象。