mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-27 09:09:04 +01:00
Fix combination common rights selector in ACL popup window
This commit is contained in:
parent
b06b18e006
commit
95b704bd7d
@ -37,6 +37,19 @@ app.classes.mail = AppJS.extend(
|
|||||||
mail_fileSelectorWindow: null,
|
mail_fileSelectorWindow: null,
|
||||||
mail_isMainWindow: true,
|
mail_isMainWindow: true,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* abbrevations for common access rights
|
||||||
|
* @array
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
aclCommonRights:['lrs','lprs','ilprs', 'ilprws', 'akxeilprwts', 'custom'],
|
||||||
|
/**
|
||||||
|
* Demonstrates ACL rights
|
||||||
|
* @array
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
aclRights:['l','r','s','w','i','p','c','d','a'],
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialize javascript for this application
|
* Initialize javascript for this application
|
||||||
*
|
*
|
||||||
@ -2086,23 +2099,59 @@ app.classes.mail = AppJS.extend(
|
|||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Select the right combination of the rights for radio buttons from the selected common right
|
||||||
*
|
*
|
||||||
|
* @param {widget} widget common right selectBox
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
acl_delete_btn: function(_egw,_widget)
|
acl_common_rights_selector: function(widget)
|
||||||
{
|
{
|
||||||
var that = this;
|
var rowId = widget.id.replace(/[^0-9.]+/g, '');
|
||||||
var buttonId = _widget.id;
|
var rights = (widget.value == "custom")?[]:(widget.value == "akxeilprwts")? widget.value.replace(/[k,x,t,e]/g,"cd").split(""):widget.value.split("");
|
||||||
var callbackAclDeleteDialog = function (button_id)
|
for (var i=0;i<this.aclRights.length;i++)
|
||||||
{
|
{
|
||||||
if (button_id == et2_dialog.YES_BUTTON )
|
rightsWidget = this.et2.getWidgetById(rowId+'[acl_' + this.aclRights[i]+ ']');
|
||||||
{
|
rightsWidget.set_value((jQuery.inArray(this.aclRights[i],rights) != -1 )?true:false);
|
||||||
that.et2._inst.submit(buttonId);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
di =et2_dialog.show_dialog(callbackAclDeleteDialog, this.egw.lang("Do you really want to remove all rights from this account"),this.egw.lang("Delete"), {},et2_dialog.BUTTONS_YES_NO_CANCEL, et2_dialog.WARNING_MESSAGE);
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Choose the right common right option for common ACL selecBox
|
||||||
|
*
|
||||||
|
* @param {widget} widget radioButton rights
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
acl_common_rights: function(widget)
|
||||||
|
{
|
||||||
|
|
||||||
|
var rowId = widget.id.replace(/[^0-9.]+/g, '');
|
||||||
|
var aclCommonWidget = this.et2.getWidgetById(rowId + '[acl]');
|
||||||
|
var rights = '';
|
||||||
|
|
||||||
|
for (var i=0;i<this.aclRights.length;i++)
|
||||||
|
{
|
||||||
|
rightsWidget = this.et2.getWidgetById(rowId+'[acl_' + this.aclRights[i]+ ']');
|
||||||
|
if (rightsWidget.get_value() == "true")
|
||||||
|
rights += this.aclRights[i];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var i=0;i<this.aclCommonRights.length;i++)
|
||||||
|
{
|
||||||
|
if (rights.split("").sort().toString() == this.aclCommonRights[i].split("").sort().toString())
|
||||||
|
rights = this.aclCommonRights[i];
|
||||||
|
}
|
||||||
|
if (jQuery.inArray(rights,this.aclCommonRights ) == -1)
|
||||||
|
{
|
||||||
|
aclCommonWidget.set_value('custom');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
aclCommonWidget.set_value(rights);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Edit a folder acl for account(s)
|
* Edit a folder acl for account(s)
|
||||||
*
|
*
|
||||||
|
@ -44,17 +44,17 @@
|
|||||||
<row class="row">
|
<row class="row">
|
||||||
<taglist-email id="${row}[acc_id]" allowFreeEntries="true" maxSelection="1" />
|
<taglist-email id="${row}[acc_id]" allowFreeEntries="true" maxSelection="1" />
|
||||||
<menulist>
|
<menulist>
|
||||||
<menupopup id="${row}[acl]" onchange="1"/>
|
<menupopup id="${row}[acl]" onchange="app.mail.acl_common_rights_selector"/>
|
||||||
</menulist>
|
</menulist>
|
||||||
<checkbox align="center" id="${row}[acl_l]" />
|
<checkbox align="center" id="${row}[acl_l]" onchange="app.mail.acl_common_rights"/>
|
||||||
<checkbox align="center" id="${row}[acl_r]" />
|
<checkbox align="center" id="${row}[acl_r]" onchange="app.mail.acl_common_rights"/>
|
||||||
<checkbox align="center" id="${row}[acl_s]" />
|
<checkbox align="center" id="${row}[acl_s]" onchange="app.mail.acl_common_rights"/>
|
||||||
<checkbox align="center" id="${row}[acl_w]" />
|
<checkbox align="center" id="${row}[acl_w]" onchange="app.mail.acl_common_rights"/>
|
||||||
<checkbox align="center" id="${row}[acl_i]" />
|
<checkbox align="center" id="${row}[acl_i]" onchange="app.mail.acl_common_rights"/>
|
||||||
<checkbox align="center" id="${row}[acl_p]" />
|
<checkbox align="center" id="${row}[acl_p]" onchange="app.mail.acl_common_rights"/>
|
||||||
<checkbox align="center" id="${row}[acl_c]" />
|
<checkbox align="center" id="${row}[acl_c]" onchange="app.mail.acl_common_rights"/>
|
||||||
<checkbox align="center" id="${row}[acl_d]" />
|
<checkbox align="center" id="${row}[acl_d]" onchange="app.mail.acl_common_rights"/>
|
||||||
<checkbox align="center" id="${row}[acl_a]" />
|
<checkbox align="center" id="${row}[acl_a]" onchange="app.mail.acl_common_rights"/>
|
||||||
<checkbox align="center" id="${row}[acl_recursive]"/>
|
<checkbox align="center" id="${row}[acl_recursive]"/>
|
||||||
<hbox orient=",0,0">
|
<hbox orient=",0,0">
|
||||||
<button align="right" statustext="Delete this ACL" label="Delete" id="delete[${row}]" value="${row}" image="delete" onclick="et2_dialog.confirm(widget,'Do you really want to remove all rights from this account','Remove')"/>
|
<button align="right" statustext="Delete this ACL" label="Delete" id="delete[${row}]" value="${row}" image="delete" onclick="et2_dialog.confirm(widget,'Do you really want to remove all rights from this account','Remove')"/>
|
||||||
|
Loading…
Reference in New Issue
Block a user