mirror of https://github.com/gophish/gophish
103 lines
5.3 KiB
HTML
103 lines
5.3 KiB
HTML
{{%define "content"%}} {{%template "nav" .User %}}
|
|
<div class="jumbotron">
|
|
<div class="container" style="text-align:center;">
|
|
<h1 class="sans header">
|
|
Users & Groups
|
|
</h1>
|
|
</div>
|
|
</div>
|
|
<div class="container" ng-controller="GroupCtrl">
|
|
<div class="col-md-3 sidebar">
|
|
<ul class="nav nav-pills nav-stacked">
|
|
<li><a href="/">Dashboard</a>
|
|
</li>
|
|
<li class="active"><a href="/users">Users & Groups</a>
|
|
</li>
|
|
<li><a href="/settings">Settings</a>
|
|
</li>
|
|
<li><a href="/api/">API Documentation</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="col-md-9">
|
|
<div class="row">
|
|
<button type="button" class="btn btn-primary" ng-click="editGroup('new')" data-toggle="modal" data-target="#newGroupModal"><i class="fa fa-plus"></i> New Group</button>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<table ng-table="mainTableParams" class="table table-hover table-striped table-bordered">
|
|
<tbody>
|
|
<tr ng-repeat="group in $data" class="editable-row">
|
|
<td data-title="'Name'" sortable="'name'" class="col-sm-1">{{group.name}}</td>
|
|
<td data-title="'Members'" class="col-sm-2">
|
|
<span ng-repeat="target in group.targets">
|
|
{{target.email}}{{$last ? '' : ', '}}
|
|
</span>
|
|
<div class="btn-group" style="float: right;">
|
|
<button type="button" class="btn btn-primary dropdown-toggle edit-button" data-toggle="dropdown">
|
|
<span class="caret" style="border-top-color:#FFFFFF"></span>
|
|
<span class="sr-only">Toggle Dropdown</span>
|
|
</button>
|
|
<ul class="dropdown-menu" style="left:auto; right:0;" role="menu">
|
|
<li><a ng-click="editGroup(group)" data-toggle="modal" ng-href="#" data-target="#newGroupModal">Edit</a>
|
|
</li>
|
|
<li class="divider"></li>
|
|
<li><a ng-click="deleteGroup(group)" ng-href="#">Delete</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</td>
|
|
<td data-title="'Modified Date'" class="col-sm-1">{{group.modified_date | date:'medium'}}</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<!-- New Campaign Modal -->
|
|
<div class="modal" id="newGroupModal" tabindex="-1" role="dialog" aria-labelledby="groupModalLabel" aria-hidden="true">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
|
<h4 class="modal-title" ng-hide="newGroup" id="groupModalLabel">Edit Group: {{group.name}}</h4>
|
|
<h4 class="modal-title" ng-show="newGroup" id="groupModalLabel">New Group</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<label class="control-label" for="name">Name:</label>
|
|
<div class="form-group">
|
|
<input type="text" class="form-control" ng-model="group.name" placeholder="Group name" id="name" />
|
|
</div>
|
|
<div class="form-group">
|
|
<button class="btn btn-danger"><i class="fa fa-plus"></i> Bulk Import Users</button>
|
|
</div>
|
|
<label class="control-label" for="users">Users:</label>
|
|
<form ng:submit="addTarget()">
|
|
<div class="input-group">
|
|
<input type="email" class="form-control" placeholder="test@example.com" id="users" ng-model="newTarget.email" />
|
|
<span class="input-group-btn">
|
|
<button class="btn btn-primary"><i class="fa fa-plus"></i> Add</button>
|
|
</span>
|
|
</div>
|
|
</form>
|
|
<br />
|
|
<table ng-table="editGroupTableParams" class="table table-hover table-striped table-condensed">
|
|
<tbody>
|
|
<tr ng-repeat="target in $data" class="editable-row">
|
|
<td>{{target.email}}
|
|
<span ng-click="removeTarget(target)" class="remove-row"><i class="fa fa-trash-o"></i>
|
|
</span>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
|
|
<button type="button" class="btn btn-primary" ng-click="saveGroup(group)" data-dismiss="modal">Save Group</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{%end%}}
|