File: D:/HostingSpaces/PvdBoogaard/indoorski.nl/backup/oude-site/cms/admin/templates/groups.form.tpl
{template="header"}
<style type="text/css" media="all">
@import url("styles/groups.form.css");
</style>
<script type="text/javascript" src="../javascript/jquery.form.js"></script>
<script type="text/javascript" src="../javascript/jquery.field.js"></script>
<script type="text/javascript" src="../javascript/jquery/plugins/json.js"></script>
<script type="text/javascript" src="{$config.siteURL}/js.php?f=admin.groups.permissions&section={$section}&a=1"></script>
<script type="text/javascript" src="{$config.siteURL}/js.php?f=admin.validator&section={$section}&a=1"></script>
<script type="text/javascript"><!--
scopes = {}; // to cache scope lookups
currentGroupId = {$groupId};
perm = new Permission(); // local storage for the permission currently being edited/adding
lockedPermissions = {$groupPermissionsAreLocked};
// local storage for permission rows
perms = {$CurrentPermissionsJS};
function fixPermissionData () {
// 'fixes' server-provided permission data by instantiating as Permission objects
for (var i = perms.length; i--;) {
if (perms[i].constructor !== Permission)
perms[i] = new Permission(perms[i]);
}
}
$(function(){
fixPermissionData();
$('.CancelButton').click(function(){
if (confirm('{$lang.ConfirmCancelJS}')) {
location.href = "index.php?section=groups&action=view";
}
});
});
newPermId = 0; // keep track of new (temporary) permission ids
function showResponse (xml, statusText) {
if($('redirect', xml).text() == "true") {
window.top.location = "index.php?section=groups&action=view";
} else if($('status', xml).text() == "0") {
$('#MainMessage').errorMessage($('message', xml).text());
} else {
$('#MainMessage').successMessage($('message', xml).text());
$('#groupid').val($('groupid', xml).text());
}
var permissionData = $('permissiondata', xml).text();
if (permissionData) {
perms = $.parseJSON(permissionData);
fixPermissionData();
renderPermissionItemList(undefined, true);
}
}
function FieldName (field) {
var lang = { {$fieldLangs} };
return eval('lang.' + field);
}
function serialisePermissionData () {
var serialise = []; // blank object to copy local perms into
// server is expecting an array of values for permission granularity data
// for each permission item, convert csvs back to item values only, instead of passing text labels to the server
for (var j = perms.length; j--;) {
// clone permission from document scope to local scope
var perm = {};
jQuery.extend(perm, perms[j]);
for (var i = perm.itemcsv.length; i--;)
perm.itemcsv[i] = perm.itemcsv[i].value;
for (var i = perm.catcsv.length; i--;)
perm.catcsv[i] = perm.catcsv[i].value;
serialise[j] = perm;
}
return $.toJSON(serialise);
}
function submitGroup () {
$('#permissionDataInput').val(serialisePermissionData());
$('#frmGroup').submit();
}
function validateForm (isExit) {
var result = false;
var errormsgs = [];
// Clean out any previous errors
$('.validation_error').remove();
// The validation entries coming through from the validation object
{$formvalidate}
// If we have no errors
if(errormsgs.length == 0) {
// Complete the submission
$('#MessageTable').hide();
submitGroup();
return;
}
// Otherwise we're displaying errors and waiting for next input
$('html').scrollTo( 'body', 500 );
ErrorMessage('{$lang.ContentSaveErrors|sprintf,"group"}', errormsgs);
}
function ErrorMessage (error, arrMsgs) {
var val = '';
if(arrMsgs.length > 0){
val = error+"<ul>";
for(i=0;i<arrMsgs.length;i++){
val += '<li>' + arrMsgs[i] + '</li>';
}
val += "</ul>";
}else{
val = error;
}
$('#MainMessage').errorMessage(val);
}
//--></script>
{template="common.form.top"}
<!-- begin : common.form.top -->
<form action="remote.php?section=groups&action=savegroup" enctype="multipart/form-data" name="frmGroup" id="frmGroup" method="post">
<input type="hidden" name="savemethod" value="" id="savemethod" />
<input type="hidden" name="permissiondata" value="" id="permissionDataInput" />
<input type="button" name="saveonly" id="saveonly" value="{$lang.Save}" class="FormButton" onclick="validateForm(false);">
<input type="button" name="saveandexit" id="saveandexit" value="{$lang.SaveAndExit}" class="FormButton" onclick="$('#savemethod').val('andexit'); validateForm(true);">
<input type="button" value="{$lang.Cancel}" class="FormButton CancelButton" />
<div class="BodyContainer Intro" style="margin-bottom:0;">
{$formfields}
{if sizeof($tpl.JSfiles) > 0}
{foreach from=$tpl.JSfiles key=key item=file id=jsFileLoop}
{if $tpl.JSfilesIF.$key !== false}
<!--[if {$tpl.JSfilesIF.$key}]><script type="text/javascript" src="{$file}"></script><![endif]-->
{else}
<script type="text/javascript" src="{$file}"></script>
{/if}
{/foreach}
{/if}
{*
<div>
<table class="GridPanel" cellspacing="0">
<tbody>
<tr class="Heading3">
<td> </td>
<td>{$lang.PermissionFlagShort}</td>
<td>{$lang.Permission}</td>
<td>{$lang.Action}</td>
</tr>
</tbody>
<tbody id="PermissionItemListEmpty">
<tr class="PermissionItemRow GridRow">
<td> </td>
<td colspan="3">
{$lang.GroupPermissionListEmpty}
</td>
<tr>
</tbody>
<!-- template row, keep empty of other content -->
<tbody id="PermissionItemTemplate" style="display:none;">
<tr class="PermissionItemRow GridRow" onmouseover="$(this).addClass('GridRowOver');" onmouseout="$(this).removeClass('GridRowOver');" id="PermissionItemRow_%%permid%%">
<td> </td>
<td class="PermissionItemFlag">%%flag%%</td>
<td class="PermissionItemPermission">%%permission%%%%granularity%%</td>
<td class="PermissionItemButtons">
<a href="#" onclick="editPermissionItem('%%permid%%');return false;">{$lang.Edit}</a>
<a href="#" onclick="deletePermissionItem('%%permid%%');return false;">{$lang.Delete}</a>
</td>
</tr>
</tbody>
<tbody id="PermissionItemList">
</tbody>
</table>
</div>
*}
</div>
<div class="FieldLabelMatchIndent">
<input type="button" name="saveonly" id="saveonly" value="{$lang.Save}" class="FormButton" onclick="validateForm(false);">
<input type="button" name="saveandexit" id="saveandexit" value="{$lang.SaveAndExit}" class="FormButton" onclick="$('#savemethod').val('andexit'); validateForm(true);">
<input type="button" value="{$lang.Cancel}" class="FormButton CancelButton" />
</div>
</form>
<!-- end : common.form.top -->
{template="footer"}