Skip to content

Commit

Permalink
#145 Update skin of user admin page
Browse files Browse the repository at this point in the history
  • Loading branch information
nadouani committed Mar 16, 2017
1 parent 5b3842c commit e123b93
Show file tree
Hide file tree
Showing 3 changed files with 116 additions and 118 deletions.
4 changes: 2 additions & 2 deletions ui/app/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html ng-app="thehive">
<head>
<meta charset="utf-8">
<title ng-bind="'The Hive' + (title ? ' - ' + title : '')"></title>
<title ng-bind="'TheHive' + (title ? ' - ' + title : '')"></title>

<meta name="description" content="">
<meta name="viewport" content="width=device-width">
Expand Down Expand Up @@ -50,7 +50,7 @@
</head>
<body ng-cloak class="hold-transition skin-blue layout-top-nav">
<page-loader></page-loader>
<div ui-view></div>
<div ui-view></div>

<!-- build:js(.) scripts/vendor.js -->
<!-- bower:js -->
Expand Down
10 changes: 1 addition & 9 deletions ui/app/views/maintenance.html
Original file line number Diff line number Diff line change
@@ -1,19 +1,11 @@
<div class="container-fluid">
<!--
<br>
<br>
<div style="position:absolute; margin:auto; top:0px; left:0px; right:0px; z-index:100; width:50%;">
<alert close="closeAlert($index)" ng-repeat="alert in alerts" type="{{alert.type}}">{{alert.message}}</alert>
</div> -->

<div class="row mt-m">
<div class="col-md-8 col-md-offset-2">
<alert close="closeAlert($index)" ng-repeat="alert in alerts" type="{{alert.type}}">{{alert.message}}</alert>
</div>
</div>

<!-- Update Database -->
<!-- Update Database -->
<div class="row" ng-hide="showUserForm">
<div class="col-md-8 col-md-offset-2">

Expand Down
220 changes: 113 additions & 107 deletions ui/app/views/partials/admin/users.html
Original file line number Diff line number Diff line change
@@ -1,120 +1,126 @@
<h2 class="vpad10">User management</h2>
<div class="vpad10"></div>
<div class="row">
<div class="col-md-11">
<div class="box">
<div class="box-header">
<h3 class="box-title">User management</h3>
</div>
<div class="box-body">
<div class="row">
<div class="col-md-3">
<input class="form-control input-sm" ng-model="newUser.login" placeholder="Login" type="text"/>
</div>
<div class="col-md-3">
<input class="form-control input-sm" ng-model="newUser.name" placeholder="Full Name" type="text"/>
<div class="col-md-11">
<div class="row">
<div class="col-md-3">
<input class="form-control input-sm" ng-model="newUser.login" placeholder="Login" type="text"/>
</div>
<div class="col-md-3">
<input class="form-control input-sm" ng-model="newUser.name" placeholder="Full Name" type="text"/>
</div>
<div class="col-md-1">
<input ng-model="apiKey" type="checkbox"/>
API key
</div>
<div class="col-md-2" ng-if="!apiKey && (canSetPass === true)">
<span><input class="form-control input-sm" ng-model="newUser.password" placeholder="Password" type="password"/></span>
</div>
<div class="col-md-2">
Roles
<div class="btn-group" uib-dropdown>
<button class="btn btn-sm dropdown-toggle" uib-dropdown-toggle type="button">
{{newUser.roles.join(', ')}}&nbsp;&nbsp;
<span class="caret"></span>
</button>
<ul class="dropdown-menu" uib-dropdown-menu>
<li>
<a ng-click="newUser.roles = ['read']">read</a>
<a ng-click="newUser.roles = ['read','write']">read, write</a>
<a ng-click="newUser.roles = ['read','write','admin']">read, write, admin</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="col-md-1">
<input ng-model="apiKey" type="checkbox"/>
API key
</div>
<div class="col-md-2" ng-if="!apiKey && (canSetPass === true)">
<span><input class="form-control input-sm" ng-model="newUser.password" placeholder="Password" type="password"/></span>
</div>
<div class="col-md-2">
Roles
<div class="btn-group" uib-dropdown>
<button class="btn btn-sm dropdown-toggle" uib-dropdown-toggle type="button">
{{newUser.roles.join(', ')}}&nbsp;&nbsp;
<span class="caret"></span>
</button>
<ul class="dropdown-menu" uib-dropdown-menu>
<li>
<a ng-click="newUser.roles = ['read']">read</a>
<a ng-click="newUser.roles = ['read','write']">read, write</a>
<a ng-click="newUser.roles = ['read','write','admin']">read, write, admin</a>
</li>
</ul>
</div>
<span class="btn btn-sm btn-primary" ng-click="addUserForm = false ; addUser(newUser);">Add user</span>
</div>
</div>
</div>
<div class="col-md-1">
<span class="btn btn-sm btn-primary" ng-click="addUserForm = false ; addUser(newUser);">Add user</span>
</div>
</div>
<div class="vpad10"></div>
<div class="row">
<div class="col-md-12">
<table class="table table-hover">
<thead>
<tr>
<th class="col-md-2">Login</th>
<th class="col-md-3">Full Name</th>
<th class="col-md-2">Roles</th>
<th class="col-md-3">Password / API key</th>
<th class="col-md-3 text-center">Lock</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="user in userlist.values | orderBy:'id'">
<td class="col-md-2" ng-class="{ 'Locked':'text-muted', 'Ok':''}[user.status]" style="vertical-align:middle; ">
<updatable-simple-text active="state.editing" on-update="updateField(user, 'login', newValue)" value="user.id"></updatable-simple-text>
<div class="vpad10"></div>
<div class="row">
<div class="col-md-12">
<table class="table table-striped">
<thead>
<tr>
<th class="col-md-2">Login</th>
<th class="col-md-3">Full Name</th>
<th class="col-md-2">Roles</th>
<th class="col-md-3">Password / API key</th>
<th class="col-md-3 text-center">Lock</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="user in userlist.values | orderBy:'id'">
<td class="col-md-2" ng-class="{ 'Locked':'text-muted', 'Ok':''}[user.status]" style="vertical-align:middle; ">
<updatable-simple-text active="state.editing" on-update="updateField(user, 'login', newValue)" value="user.id"></updatable-simple-text>
</td>
<td class="col-md-3" ng-class="{ 'Locked':'text-muted', 'Ok':''}[user.status]" style="vertical-align:middle; ">
<updatable-simple-text active="state.editing" on-update="updateField(user, 'name', newValue)" value="user.name"></updatable-simple-text>
</td>
</span>
</td>
<td class="col-md-3" ng-class="{ 'Locked':'text-muted', 'Ok':''}[user.status]" style="vertical-align:middle; ">
<updatable-simple-text active="state.editing" on-update="updateField(user, 'name', newValue)" value="user.name"></updatable-simple-text>
<td class="col-md-2" style="vertical-align:middle; ">
<div class="btn-group" uib-dropdown ng-if="user.status == 'Ok'">
<button class="btn btn-sm dropdown-toggle" uib-dropdown-toggle type="button">
<span ng-bind="user.roles.join(', ')">&nbsp;&nbsp;
<span class="caret"></span>
</span>
</button>
<ul class="dropdown-menu" uib-dropdown-menu>
<li>
<a ng-click="newValue = ['read'] ; updateField(user, 'roles', newValue)">read</a>
<a ng-click="newValue = ['read','write'];updateField(user, 'roles', newValue)">read, write</a>
<a ng-click="newValue = ['read','write','admin'];updateField(user, 'roles', newValue)">read, write, admin</a>
</li>
</ul>
</div>
<div ng-if="user.status == 'Locked'">
<span class="text-muted" ng-bind="user.roles"></span>
</div>
</td>
</span>
</td>
<td class="col-md-2" style="vertical-align:middle; ">
<div class="btn-group" uib-dropdown ng-if="user.status == 'Ok'">
<button class="btn btn-sm dropdown-toggle" uib-dropdown-toggle type="button">
<span ng-bind="user.roles.join(', ')">&nbsp;&nbsp;
<span class="caret"></span>

<td class="col-md-3" ng-init="showPwdForm[user] = false" style="vertical-align:middle; ">
<span ng-if="canSetPass === true">
<span class="btn btn-sm btn-default" ng-class="{ 'Locked':'disabled', 'Ok':''}[user.status]" ng-click="showPwdForm[user] = true" ng-hide="showPwdForm[user]">New password</span>
<form ng-show="showPwdForm[user]" ng-submit="setPassword(user, newValue); showPwdForm[user] = false;">
<div class="input-group input-group-sm">
<input autofocus="autofocus" class="form-control input-sm" ng-model="newValue" type="password">
<span class="input-group-btn">
<button class="btn btn-xs btn-default" ng-click="showPwdForm[user] = false" type="button">
<i class="text-danger glyphicon glyphicon-remove"></i>
</button>
</span>
</div>
</form>
</span>
<span ng-hide="showPwdForm[user]">
<span class="btn btn-sm btn-default" ng-class="{ 'Locked':'disabled', 'Ok':''}[user.status]" ng-click="createKey(user)" ng-if="!user['has-key']">Create API Key</span>
<span class="btn btn-sm btn-primary" ng-class="{ 'Locked':'disabled', 'Ok':''}[user.status]" ng-click="getKey(user)" ng-hide="usrKey[user.id] || !user['has-key']">Show API Key</span>
<span ng-if="user['has-key'] && !showApiKey">{{usrKey[user.id]}}</span>
</span>
</button>
<ul class="dropdown-menu" uib-dropdown-menu>
<li>
<a ng-click="newValue = ['read'] ; updateField(user, 'roles', newValue)">read</a>
<a ng-click="newValue = ['read','write'];updateField(user, 'roles', newValue)">read, write</a>
<a ng-click="newValue = ['read','write','admin'];updateField(user, 'roles', newValue)">read, write, admin</a>
</li>
</ul>
</div>
<div ng-if="user.status == 'Locked'">
<span class="text-muted" ng-bind="user.roles"></span>
</div>
</td>

<td class="col-md-3" ng-init="showPwdForm[user] = false" style="vertical-align:middle; ">
<span ng-if="canSetPass === true">
<span class="btn btn-sm btn-default" ng-class="{ 'Locked':'disabled', 'Ok':''}[user.status]" ng-click="showPwdForm[user] = true" ng-hide="showPwdForm[user]">New password</span>
<form ng-show="showPwdForm[user]" ng-submit="setPassword(user, newValue); showPwdForm[user] = false;">
<div class="input-group input-group-sm">
<input autofocus="autofocus" class="form-control input-sm" ng-model="newValue" type="password">
<span class="input-group-btn">
<button class="btn btn-xs btn-default" ng-click="showPwdForm[user] = false" type="button">
<i class="text-danger glyphicon glyphicon-remove"></i>
</button>
</td>
<!-- <td ng-mouseenter="showDropUser[user] = 'text-danger'" ng-mouseleave="showDropUser[user] = 'text-muted'" style="vertical-align:middle; " class="col-md-3"><center> <span><a href ng-click="lockUser(user)"> -->
<td class="col-md-3" style="vertical-align:middle; ">
<center>
<span>
<a href ng-click="lockUser(user)">
<i class="glyphicon glyphicon-lock" ng-class="{'Locked':'text-danger', 'Ok':'text-muted' }[user.status]"></i>
</a>
</span>
</div>
</form>
</span>
<span ng-hide="showPwdForm[user]">
<span class="btn btn-sm btn-default" ng-class="{ 'Locked':'disabled', 'Ok':''}[user.status]" ng-click="createKey(user)" ng-if="!user['has-key']">Create API Key</span>
<span class="btn btn-sm btn-primary" ng-class="{ 'Locked':'disabled', 'Ok':''}[user.status]" ng-click="getKey(user)" ng-hide="usrKey[user.id] || !user['has-key']">Show API Key</span>
<span ng-if="user['has-key'] && !showApiKey">{{usrKey[user.id]}}</span>
</span>
</center>
</td>
</tr>

</td>
<!-- <td ng-mouseenter="showDropUser[user] = 'text-danger'" ng-mouseleave="showDropUser[user] = 'text-muted'" style="vertical-align:middle; " class="col-md-3"><center> <span><a href ng-click="lockUser(user)"> -->
<td class="col-md-3" style="vertical-align:middle; ">
<center>
<span>
<a href ng-click="lockUser(user)">
<i class="glyphicon glyphicon-lock" ng-class="{'Locked':'text-danger', 'Ok':'text-muted' }[user.status]"></i>
</a>
</span>
</center>
</td>
</tr>
</tbody>
</table>

</tbody>
</table>
<psearch control="userlist"></psearch>

<psearch control="userlist"></psearch>
</div>
</div>

0 comments on commit e123b93

Please sign in to comment.