First version of users import and export feature
This commit is contained in:
@@ -341,6 +341,43 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Modal user import -->
|
||||
<div class="modal fade" id="userImportModal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title">Import Users</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div ng-show="!userImport.done">
|
||||
<div ng-show="!userImport.busy">
|
||||
<input type="file" style="display: none;" id="userImportFileInput" accept="application/json"/>
|
||||
<button class="btn btn-primary" ng-click="userImport.openFileInput()">Select JSON file</button>
|
||||
<br/>
|
||||
<br/>
|
||||
<p class="text-danger" ng-show="userImport.error.file">{{ userImport.error.file }}</p>
|
||||
<p ng-show="userImport.users.length">Found {{ userImport.users.length }} users to import</p>
|
||||
</div>
|
||||
<div ng-show="userImport.busy" class="progress progress-striped active">
|
||||
<div class="progress-bar progress-bar-success" role="progressbar" style="width: {{ userImport.percent }}%"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="userImport.done">
|
||||
<p>{{ userImport.success }} users successfully imported.</p>
|
||||
<div ng-show="userImport.error.import.length">
|
||||
<p class="text-danger">The following users were not imported:</p>
|
||||
<div ng-repeat="tmp in userImport.error.import"><b>{{ tmp.user.email }}:</b> {{ tmp.error.message }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{ 'main.dialog.close' | tr }}</button>
|
||||
<button type="button" class="btn btn-primary" ng-click="userImport.import()" ng-show="!userImport.done" ng-disabled="userImport.busy || !userImport.users.length"><i class="fa fa-circle-notch fa-spin" ng-show="userImport.busy"></i> Import</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Modal password reset -->
|
||||
<div class="modal fade" id="passwordResetModal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
@@ -558,6 +595,10 @@
|
||||
<button class="btn btn-primary btn-outline pull-right" ng-click="useradd.show()">
|
||||
<i class="fa fa-user-plus"></i> {{ 'users.newUserAction' | tr }}
|
||||
</button>
|
||||
<div class="btn-group pull-right" style="margin-left: 5px;">
|
||||
<button class="btn btn-primary btn-outline" ng-click="userImport.show()" uib-tooltip="Import Users" tooltip-placement="bottom"><i class="fa fa-file-import"></i></button>
|
||||
<button class="btn btn-primary btn-outline" ng-click="userExport()" uib-tooltip="Export Users" tooltip-placement="bottom"><i class="fa fa-file-export"></i></button>
|
||||
</div>
|
||||
<input type="text" id="userSearchInput" class="form-control pull-right" style="max-width: 350px;" ng-model="userSearchString" ng-model-options="{ debounce: 1000 }" ng-change="updateFilter()" placeholder="{{ 'main.searchPlaceholder' | tr }}"/>
|
||||
</h1>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user