Bug #17357
closedNew page should have the same access group as the parent
0%
Description
When creating the new page, Typo3 should set the same access group as it
is in the parent page. Instead, it uses default creator's group.
Ref: http://support.typo3.org:8080/jive/thread.jspa?threadID=97650&tstart=0
(issue imported from #M5743)
Updated by Oliver Hader over 17 years ago
You could set this behaviour by Page TSconfig, e.g. like:
TCEMAIN.permissions.group = show,edit,delete,new,editcontent
TCEMAIN.permissions.groupid = 123
see: http://typo3.org/documentation/document-library/references/doc_core_tsconfig/4.1.0/view/1/3/
Updated by John Angel over 17 years ago
New group shouldn't be specified (as in example: 123), but transferred from the parent page.
Updated by Oliver Hader over 17 years ago
Thus, this would be a new feature. Unfortunately it's not possible to just change this in the current code - but to integrate a new property for TSconfig, like e.g. the following:
TCEMAIN.permissions.groupid = parent
Updated by John Angel over 17 years ago
Right Oliver, and that should be default setting.
Updated by John Angel about 17 years ago
This is very important issue, should be implemented v4.2.
Updated by John Angel about 17 years ago
Here is the implementation for TCEMAIN.permissions.groupid = parent:
t3lib/class.t3lib_tcemain.php:730
FROM:
$fieldArray = $this->setTSconfigPermissions($fieldArray,$TSConfig['permissions.']);
TO:
$fieldArray = $this->setTSconfigPermissions($fieldArray,$TSConfig['permissions.'],$tscPID);
t3lib/class.t3lib_tcemain.php:5142
FROM:
function setTSconfigPermissions($fieldArray,$TSConfig_p) {
if (strcmp($TSConfig_p['userid'],'')) $fieldArray['perms_userid']=intval($TSConfig_p['userid']);
if (strcmp($TSConfig_p['groupid'],'')) $fieldArray['perms_groupid']=intval($TSConfig_p['groupid']);
TO:
function setTSconfigPermissions($fieldArray,$TSConfig_p,$tscPID) {
if (strcmp($TSConfig_p['userid'],'')) $fieldArray['perms_userid']=intval($TSConfig_p['userid']);
if (strcmp($TSConfig_p['groupid'],'')) {
if($TSConfig_p['groupid']=='parent') {
$record=t3lib_BEfunc::getRecord('pages',$tscPID,'perms_groupid');
$fieldArray['perms_groupid']=$record['perms_groupid'];
} else {
$fieldArray['perms_groupid']=intval($TSConfig_p['groupid']);
}
}
Updated by John Angel about 17 years ago
Instead of:
if($TSConfig_p['groupid']=='parent') {
it's better:
if(strcasecmp($TSConfig_p['groupid'],'parent')==0) {
Updated by Susanne Moog over 13 years ago
- Status changed from Needs Feedback to Closed
- Target version deleted (
0)
I'm closing this issue as this would be a change of behavior that is not necessary in my eyes. If someone thinks this is needed please start a discussion on the TYPO3 v4 list and report it as a feature request again.