permissionspage.vm
Home
/
src /
java /
azkaban /
webapp /
servlet /
velocity /
permissionspage.vm
#*
* Copyright 2012 LinkedIn Corp.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*#
<!DOCTYPE html>
<html lang="en">
<head>
#parse ("azkaban/webapp/servlet/velocity/style2.vm")
#parse ("azkaban/webapp/servlet/velocity/javascript.vm")
<script type="text/javascript" src="${context}/js/azkaban.nav.js"></script>
<script type="text/javascript" src="${context}/js/azkaban.permission.view.js"></script>
<script type="text/javascript">
var contextURL = "${context}";
var currentTime = ${currentTime};
var timezone = "${timezone}";
var errorMessage = null;
var successMessage = null;
var userId = "$username";
var projectName = "$project.name";
</script>
</head>
<body>
#set ($current_page="all")
#parse ("azkaban/webapp/servlet/velocity/nav2.vm")
<div class="container">
## Page error or success message.
#if ($errorMsg)
<div class="panel panel-danger">
<div class="panel-heading">Error</div>
<div class="panel-body">
$errorMsg
</div>
</div>
#else
#if ($error_message != "null")
<div class="alert alert-danger">$error_message</div>
#elseif ($success_message != "null")
<div class="alert alert-success">$success_message</div>
#end
## Alert message
<div class="alert alert-dismissable" id="messaging">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<p id="messaging-message"></p>
</div>
<div class="page-header">
<h1><a href="${context}/manager?project=${project.name}">Project <small>$project.name</small></a></h1>
<p>$project.description</p>
</div>
<div class="row">
<div class="col-lg-8">
<div class="panel panel-default">
<div class="panel-heading">
Permissions
<div class="pull-right">
#if ($isAdmin)
<button id="addUser" class="btn btn-xs btn-success">Add User</button>
<button id="addGroup" class="btn btn-xs btn-warning">Add Group</button>
<button id="addProxyUser" class="btn btn-xs btn-info">Add Proxy User</button>
#end
</div>
</div>
<div class="panel-body">
## User permissions table.
<div class="panel panel-success">
<div class="panel-heading">User</div>
<table class="table table-striped" id="permissions-table">
<thead>
<th class="tb-username">User</th>
<th class="tb-perm">Admin</th>
<th class="tb-read">Read</th>
<th class="tb-write">Write</th>
<th class="tb-execute">Execute</th>
<th class="tb-schedule">Schedule</th>
#if ($isAdmin)
<th class="tb-action"></th>
#end
</thead>
<tbody>
#if ($permissions)
#foreach ($perm in $permissions)
<tr>
<td class="tb-username">
#if ($perm.first == $username)
${perm.first} <span class="sublabel">(you)</span>
#else
$perm.first
#end
</td>
#if ($perm.second.isPermissionNameSet("ADMIN"))
<td><input id="${perm.first}-admin-checkbox" type="checkbox" name="admin" disabled="disabled" checked="true"></input></td>
<td><input id="${perm.first}-read-checkbox" type="checkbox" name="read" disabled="disabled" checked="true"></input></td>
<td><input id="${perm.first}-write-checkbox" type="checkbox" name="write" disabled="disabled" checked="true"></input></td>
<td><input id="${perm.first}-execute-checkbox" type="checkbox" name="execute" disabled="disabled" checked="true"></input></td>
<td><input id="${perm.first}-schedule-checkbox" type="checkbox" name="schedule" disabled="disabled" checked="true"></input></td>
#else
<td><input id="${perm.first}-admin-checkbox" type="checkbox" name="admin" disabled="disabled"></input></td>
<td><input id="${perm.first}-read-checkbox" type="checkbox" name="read" disabled="disabled" #if ($perm.second.isPermissionNameSet("READ")) checked="true" #end></input></td>
<td><input id="${perm.first}-write-checkbox" type="checkbox" name="write" disabled="disabled" #if ($perm.second.isPermissionNameSet("WRITE")) checked="true" #end></input></td>
<td><input id="${perm.first}-execute-checkbox" type="checkbox" name="execute" disabled="disabled" #if ($perm.second.isPermissionNameSet("EXECUTE")) checked="true" #end></input></td>
<td><input id="${perm.first}-schedule-checkbox" type="checkbox" name="schedule" disabled="disabled" #if ($perm.second.isPermissionNameSet("SCHEDULE")) checked="true" #end></input></td>
#end
#if ($isAdmin)
<td><button id="$perm.first" #if($perm.first == $username) disabled="disabled" class="btn btn-xs btn-disabled" #else class="btn btn-xs btn-default" #end >Change</button></td>
#end
</tr>
#end
#else
<tr><td class="last">No Users Found.</td></tr>
#end
</tbody>
</table>
</div>
## Group permissions table.
<div class="panel panel-warning">
<div class="panel-heading">Group</div>
<table class="table table-striped" id="group-permissions-table">
<thead>
<tr>
<th class="tb-username">Group</th>
<th class="tb-perm">Admin</th>
<th class="tb-read">Read</th>
<th class="tb-write">Write</th>
<th class="tb-execute">Execute</th>
<th class="tb-schedule">Schedule</th>
#if ($isAdmin)
<th class="tb-action"></th>
#end
</tr>
</thead>
<tbody>
#if ($groupPermissions)
#foreach ($perm in $groupPermissions)
<tr>
<td class="tb-username">
#if ($perm.first == $username)
${perm.first} <span class="sublabel">(you)</span>
#else
$perm.first
#end
</td>
#if ($perm.second.isPermissionNameSet("ADMIN"))
<td><input id="group-${perm.first}-admin-checkbox" type="checkbox" name="admin" disabled="disabled" checked="true"></input></td>
<td><input id="group-${perm.first}-read-checkbox" type="checkbox" name="read" disabled="disabled" checked="true"></input></td>
<td><input id="group-${perm.first}-write-checkbox" type="checkbox" name="write" disabled="disabled" checked="true"></input></td>
<td><input id="group-${perm.first}-execute-checkbox" type="checkbox" name="execute" disabled="disabled" checked="true"></input></td>
<td><input id="group-${perm.first}-schedule-checkbox" type="checkbox" name="schedule" disabled="disabled" checked="true"></input></td>
#else
<td><input id="group-${perm.first}-admin-checkbox" type="checkbox" name="admin" disabled="disabled"></input></td>
<td><input id="group-${perm.first}-read-checkbox" type="checkbox" name="read" disabled="disabled" #if ($perm.second.isPermissionNameSet("READ")) checked="true" #end></input></td>
<td><input id="group-${perm.first}-write-checkbox" type="checkbox" name="write" disabled="disabled" #if ($perm.second.isPermissionNameSet("WRITE")) checked="true" #end></input></td>
<td><input id="group-${perm.first}-execute-checkbox" type="checkbox" name="execute" disabled="disabled" #if ($perm.second.isPermissionNameSet("EXECUTE")) checked="true" #end></input></td>
<td><input id="group-${perm.first}-schedule-checkbox" type="checkbox" name="schedule" disabled="disabled" #if ($perm.second.isPermissionNameSet("SCHEDULE")) checked="true" #end></input></td>
#end
#if ($isAdmin)
<td><button id="group-$perm.first" class="btn btn-xs btn-default">Change</button></td>
#end
</tr>
#end
#else
<tr><td class="last">No Groups Found.</td></tr>
#end
</tbody>
</table>
</div>
## Proxy users table.
<div class="panel panel-warning">
<div class="panel-heading">Group</div>
<table class="table table-striped" id="proxy-user-table">
<thead>
<tr>
<th class="tb-username">Proxy User</th>
#if ($isAdmin)
<th class="tb-action"></th>
#end
</tr>
</thead>
<tbody>
#if ($proxyUsers)
#foreach ($proxyUser in $proxyUsers)
<tr>
<td class="tb-username">#if($proxyUser == $username) ${proxyUser} <span class="sublabel">(you)</span> #else $proxyUser #end</td>
#if($isAdmin)
<td><button id="proxy-${proxyUser}" name="${proxyUser}" class="remove-btn btn2">Remove</button></td>
#end
</tr>
#end
#else
<tr><td class="last">No Proxy User Found.</td></tr>
#end
</tbody>
</table>
</div>
</div><!-- /panel-body -->
</div><!-- /panel -->
</div><!-- /col-lg-8 -->
<div class="col-lg-4">
#parse ("azkaban/webapp/servlet/velocity/projectsidebar.vm")
</div><!-- /col-lg-4 -->
</div>
#end
</div><!-- /container -->
## TODO: OLD
<div id="remove-proxy" class="modal">
<h3>Remove Proxy User</h3>
<div id="removeProxyErrorMsg" class="box-error-message"></div>
<p id="proxyRemoveMsg">Removing Proxy User </p>
<div class="actions">
<a class="yes btn2" id="remove-proxy-btn" href="#">Remove Proxy User</a>
<a class="no simplemodal-close btn3" href="#">Cancel</a>
</div>
</div>
<div id="add-proxy" class="modal">
<h3 id="proxy-title">Add Proxy User</h3>
<div id="proxyErrorMsg" class="box-error-message"></div>
<dl>
<dt>Proxy</dt>
<dd><input id="proxy-user-box" name="proxyid" type="text" /></dd>
</dl>
<div class="actions">
<a class="yes btn2" id="add-proxy-btn" href="#">Add Proxy User</a>
<a class="no simplemodal-close btn3" href="#">Cancel</a>
</div>
</div>
<div id="change-permission" class="modal">
<h3 id="change-title">Change Permissions</h3>
<div id="errorMsg" class="box-error-message"></div>
<div class="message">
<fieldset>
<dl>
<dt>User</dt>
<dd><input id="user-box" name="userid" type="text" /></dd>
<div id="otherCheckBoxes">
<dt class="nextline">Admin</dt>
<dd><input id="admin-change" name="admin" type="checkbox" /></dd>
<dt>Read</dt>
<dd><input id="read-change" name="read" type="checkbox" /></dd>
<dt>Write</dt>
<dd><input id="write-change" name="write" type="checkbox" /></dd>
<dt>Execute</dt>
<dd><input id="execute-change" name="execute" type="checkbox" /></dd>
<dt>Schedule</dt>
<dd><input id="schedule-change" name="schedule" type="checkbox" /></dd>
</div>
</dl>
</fieldset>
</div>
<div class="actions">
<a class="yes btn2" id="change-btn" href="#">Commit</a>
<a class="no simplemodal-close btn3" href="#">Cancel</a>
</div>
</div>
<div id="invalid-session" class="modal">
<h3>Invalid Session</h3>
<p>Session has expired. Please re-login.</p>
<div class="actions">
<a class="yes btn2" id="login-btn" href="#">Re-login</a>
</div>
</div>
</body>
</html>