mirror of
https://github.com/ziirish/burp-ui.git
synced 2026-05-15 14:16:08 -06:00
257 lines
13 KiB
HTML
257 lines
13 KiB
HTML
{% extends "layout.html" %}
|
|
{% block body %}
|
|
{% include "notifications.html" %}
|
|
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
|
|
{% include "small_topbar.html" %}
|
|
<ul class="breadcrumb" style="margin-bottom: 5px;">
|
|
<li><a href="{{ url_for('view.home') }}">{{ _('Home') }}</a></li>
|
|
<li class="active">{{ _('Administration') }}</li>
|
|
</ul>
|
|
<br />
|
|
<div class="form-container">
|
|
<legend id="grants">{{ _('Grants') }}</legend>
|
|
<div class="row well">
|
|
<h3>{{ _('Create new grant') }}</h3>
|
|
<p><button class="btn btn-success" id="btn-add-grant" ng-click="addNewGrant()"><i class="fa fa-plus" aria-hidden="true"></i> {{ _('New grant') }}</button></p>
|
|
</div>
|
|
</div>
|
|
<div class="form-container">
|
|
<legend>{{ _('Grants list') }}</legend>
|
|
<div id="waiting-user-container" class="row">
|
|
<i class="fa fa-spin fa-fw fa-refresh" aria-hidden="true"></i> {{ _('Loading, Please wait...') }}
|
|
<br />
|
|
<div class="progress progress-striped active">
|
|
<div class="progress-bar progress-bar-info" style="width: 100%"></div>
|
|
</div>
|
|
</div>
|
|
<div class="table-responsive" id="table-users-container" style="display: none;">
|
|
<table class="table table-striped table-hover nowrap" id="table-users" width="100%">
|
|
<thead>
|
|
<tr>
|
|
<th>{{ _('Username') }}</th>
|
|
<th>{{ _('Authorization Backend') }}</th>
|
|
<th>{{ _('Role') }}</th>
|
|
<th>{{ _('Groups') }}</th>
|
|
<th>{{ _('Grants') }}</th>
|
|
<th>{{ _('Controls') }}</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div class="form-container">
|
|
<legend id="grants">{{ _('Groups') }}</legend>
|
|
<div class="row well">
|
|
<h3>{{ _('Create new group') }}</h3>
|
|
<p><button class="btn btn-success" id="btn-add-group" ng-click="addNewGroup()"><i class="fa fa-plus" aria-hidden="true"></i> {{ _('New group') }}</button></p>
|
|
</div>
|
|
</div>
|
|
<div class="form-container">
|
|
<legend>{{ _('Groups list') }}</legend>
|
|
<div id="waiting-group-container" class="row">
|
|
<i class="fa fa-spin fa-fw fa-refresh" aria-hidden="true"></i> {{ _('Loading, Please wait...') }}
|
|
<br />
|
|
<div class="progress progress-striped active">
|
|
<div class="progress-bar progress-bar-info" style="width: 100%"></div>
|
|
</div>
|
|
</div>
|
|
<div class="table-responsive" id="table-groups-container" style="display: none;">
|
|
<table class="table table-striped table-hover nowrap" id="table-groups" width="100%">
|
|
<thead>
|
|
<tr>
|
|
<th>{{ _('Group name') }}</th>
|
|
<th>{{ _('Authorization Backend') }}</th>
|
|
<th>{{ _('Role') }}</th>
|
|
<th>{{ _('Members') }}</th>
|
|
<th>{{ _('Grants') }}</th>
|
|
<th>{{ _('Controls') }}</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="delete-user-modal" class="modal fade">
|
|
<div class="modal-dialog modal-lg">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
|
<h4 class="modal-title">{{ _('Confirmation') }}</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<div class="alert alert-warning">
|
|
<i class="fa fa-fw fa-2x fa-question-circle"></i>{{ _('You are about to delete a user, are you sure?') }}
|
|
</div>
|
|
<form class="form-horizontal" id="delete-user-form">
|
|
<fieldset id="delete-details">
|
|
</fieldset>
|
|
</form>
|
|
<br />
|
|
<div class="alert alert-danger" id="delete-confirm" style="display:none;">
|
|
<strong><i class="fa fa-fw fa-2x fa-exclamation-circle"></i>{{ _('Warning!') }}</strong> {{ _('You are about to remove your grants associated to your <strong>current</strong> user.') }}
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">{{ _('Cancel') }}</button>
|
|
<button type="button" class="btn btn-danger" data-dismiss="modal" id="perform-delete">{{ _('Confirm') }}</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="edit-user-modal" class="modal fade">
|
|
<div class="modal-dialog modal-lg">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
|
<h4 class="modal-title">{{ _('Confirmation') }}</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<form class="form-horizontal">
|
|
<fieldset id="edit-details">
|
|
</fieldset>
|
|
</form>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">{{ _('Cancel') }}</button>
|
|
<button type="button" class="btn btn-info" data-dismiss="modal" id="perform-edit">{{ _('Edit') }}</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="delete-group-modal" class="modal fade">
|
|
<div class="modal-dialog modal-lg">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
|
<h4 class="modal-title">{{ _('Confirmation') }}</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<div class="alert alert-warning">
|
|
<i class="fa fa-fw fa-2x fa-question-circle"></i>{{ _('You are about to delete a group, are you sure?') }}
|
|
</div>
|
|
<form class="form-horizontal" id="delete-group-form">
|
|
<fieldset id="delete-group-details">
|
|
</fieldset>
|
|
</form>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">{{ _('Cancel') }}</button>
|
|
<button type="button" class="btn btn-danger" data-dismiss="modal" id="perform-group-delete">{{ _('Confirm') }}</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="edit-group-modal" class="modal fade">
|
|
<div class="modal-dialog modal-lg">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
|
<h4 class="modal-title">{{ _('Confirmation') }}</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<form class="form-horizontal">
|
|
<fieldset id="edit-group-details">
|
|
</fieldset>
|
|
</form>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">{{ _('Cancel') }}</button>
|
|
<button type="button" class="btn btn-info" data-dismiss="modal" id="perform-group-edit">{{ _('Edit') }}</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="create-grant-modal" class="modal fade">
|
|
<div class="modal-dialog modal-lg">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
|
{% raw -%}
|
|
<h4 class="modal-title">{{ modalTitle }}</h4>
|
|
{% endraw -%}
|
|
</div>
|
|
<div class="modal-body">
|
|
<form class="form-horizontal" name="pctrl.grantAdd" ng-submit="addGrant($event)">
|
|
<fieldset>
|
|
{% raw -%}
|
|
<Legend>{{ modalLegend }}</Legend>
|
|
<div class="form-group" ng-class="{'has-error': pctrl.grantAdd.name.$touched && !pctrl.grantAdd.name.$valid}">
|
|
<label class="col-lg-2 control-label" for="name">{{ nameLabel }}</label>
|
|
<div class="col-lg-10">
|
|
<input class="form-control" type="text" id="name" name="name" placeholder="{{ nameLabel }}" ng-model="name" required>
|
|
</div>
|
|
</div>
|
|
{% endraw -%}
|
|
<div class="form-group">
|
|
<label class="col-lg-2 control-label" for="acl_backend">{{ _('Backend') }}</label>
|
|
<div class="col-lg-10">
|
|
<select class="form-control" name="acl_backend" id="acl_backend" ng-model="acl_backend" ng-change="checkSelect()" required>
|
|
<option selected disabled value="placeholder">{{ _('Authorization Backend') }}</option>
|
|
{% raw -%}
|
|
<option ng-repeat="back in acl_backends" ng-disabled="!actionAllowed(back)" value="{{ back.name }}">{{ back.name }}</option>
|
|
{% endraw -%}
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="form-group" ng-class="{'has-error': !validGrantInput}">
|
|
<label for="grantValue" class="col-lg-2 control-label">{{ _('Grants') }}</label>
|
|
<div class="col-lg-6">
|
|
<div ui-ace ng-model="grantValue" ace-mode="json" ace-theme="ambiance" style="height: 200px;" class="form-control"></div>
|
|
</div>
|
|
<span id="helpBlock" class="help-block" ng-show="!validGrantInput" ng-cloak>{{ _('You need to enter a valid JSON expression. Example:') }} <kbd>"client"</kbd>, <kbd>{"clients": ["c1", "c2"]}</kbd>, <kbd>["client1", "client2"]</kbd>, <kbd>{ "agents": { "agent1": ["client1", "client2"] } }</kbd></span>
|
|
</div>
|
|
<div class="form-group" ng-if="mode == 'group'">
|
|
<label for="group-members" class="col-lg-2 control-label">{{ _('Group members') }}</label>
|
|
<div class="col-lg-6">
|
|
<ui-select id="group-members" name="group-members" multiple ng-model="pctrl.grantAdd.groupMembers" ng-disabled="$parent.loadingMembers" style="width: 100%;" title="{{ _('Choose a person') }}">
|
|
<ui-select-match placeholder="{{ _('Select person...') }}">{{ '{{$item.id}}' }}</ui-select-match>
|
|
<ui-select-choices repeat="person.id as person in pctrl.grantAdd.backendUsers | filter: $select.search">
|
|
<div ng-bind-html="person.id | highlight: $select.search"></div>
|
|
</ui-select-choices>
|
|
</ui-select>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<div class="col-lg-3 col-lg-offset-2">
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" ng-model="isAdmin"> {{ _("Is Admin") }}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<div class="col-lg-3 col-lg-offset-2">
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" ng-model="isModerator"> {{ _("Is Moderator") }}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<div class="col-lg-2 col-lg-offset-2">
|
|
<button class="btn btn-success" type="submit" ng-disabled="!pctrl.grantAdd.$valid || !validGrantInput"><i class="fa fa-plus" aria-hidden="true"></i> {{ _('Create') }}</button>
|
|
</div>
|
|
<div class="col-lg-8">
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" ng-model="dismiss"> {{ _("Close modal after success") }}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</form>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">{{ _('Cancel') }}</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|