Fixup the mailinglist crud ui

This commit is contained in:
Johannes Zellner
2018-04-06 16:43:43 +02:00
parent c308bd90cb
commit de212f49c2
3 changed files with 135 additions and 51 deletions

View File

@@ -40,6 +40,23 @@
</div>
</div>
<!-- Modal remove mailinglist -->
<div class="modal fade" id="mailinglistRemoveModal" tabindex="-1" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
</div>
<div class="modal-body">
<p>Really delete mailinglist <b>{{ mailinglists.remove.list.name }}@{{selectedDomain.domain}}</b>?</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-danger" ng-click="mailinglists.remove.submit()" ng-disabled="mailinglists.remove.busy"><i class="fa fa-circle-o-notch fa-spin" ng-show="mailinglist.remove.busy"></i> Delete</button>
</div>
</div>
</div>
</div>
<!-- Test email sent -->
<div class="modal fade" id="testEmailModal" tabindex="-1" role="dialog">
<div class="modal-dialog">
@@ -184,16 +201,45 @@
<div class="card card-large" style="margin-bottom: 15px;" ng-show="selectedDomain.mailConfig.enabled">
<div class="row">
<div class="col-md-12">
Mailinglists or forwarders are bound to user groups. Each user in a group will receive the mails sent to this group's email address.
Mailinglists will forward all emails to the assigned mailboxes.
</div>
</div>
<br/>
<div class="row">
<div class="col-md-6">
<multiselect ng-model="mailinglists.groups" options="name for name in mailinglists.availableGroups" data-multiple="true"></multiselect>
<button class="btn btn-outline btn-primary" ng-disabled="mailinglists.busy" ng-click="mailinglists.submit()"><i class="fa fa-circle-o-notch fa-spin" ng-show="mailinglists.busy"></i> Save</button>
</div>
</div>
<table class="table table-hover">
<thead>
<tr>
<th>Name</th>
<th>Mailboxes</th>
<th class="text-right" style="width: 100px;">Action</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="list in mailinglists.mailinglists">
<td style="vertical-align: middle;">
{{ list.name }}
</td>
<td>
<multiselect ng-model="list.members" options="name for name in mailinglists.availableMailboxNames" data-multiple="true"></multiselect>
</td>
<td class="text-right no-wrap">
<button ng-show="list.members !== list.orig.members" class="btn btn-success" ng-disabled="list.busy" ng-click="mailinglists.submit(list)"><i class="fa" ng-class="{ 'fa-spin': list.busy, 'fa-circle-o-notch': list.busy, 'fa-check': !list.busy }"></i></button>
<button class="btn btn-danger" ng-click="mailinglists.remove.show(list)"><i class="fa fa-trash"></i></button>
</td>
</tr>
<tr>
<td>
<input type="text" class="form-control" ng-model="mailinglists.add.name" placeholder="new list">
<p ng-show="mailinglists.add.error" class="text-danger"><b>{{ mailinglists.add.error }}</b></p>
</td>
<td>
<multiselect ng-model="mailinglists.add.members" options="name for name in mailinglists.availableMailboxNames" data-multiple="true"></multiselect>
</td>
<td class="text-right no-wrap">
<button class="btn btn-primary" ng-disabled="!mailinglists.add.name || !mailinglists.add.members.length || mailinglists.add.busy" ng-click="mailinglists.add.submit()"><i class="fa fa-circle-o-notch fa-spin" ng-show="mailinglists.add.busy"></i> Add</button>
</td>
</tr>
</tbody>
</table>
</div>
<div class="text-left" ng-show="selectedDomain.mailConfig.enabled">