--- /dev/null
+<form ng-submit="ok(args)" role="form">
+ <div class="modal-header">
+ <button type="button" class="close" ng-click="cancel()"
+ aria-hidden="true">×</button>
+ <h4 class="modal-title">[% l('Apply Standing Penalty / Message') %]</h4>
+ </div>
+ <div class="modal-body">
+ <div class="row">
+ <div class="col-md-8">
+ <ul class="nav nav-pills">
+ <!-- 21 == SILENT_NOTE -->
+ <li ng-class="{active : args.penalty == 21}">
+ <a href ng-click="args.penalty=21">[% l('Note') %]</a>
+ </li>
+ <!-- 20 == ALERT_NOTE -->
+ <li ng-class="{active : args.penalty == 20}">
+ <a href ng-click="args.penalty=20">[% l('Alert') %]</a>
+ </li>
+ <!-- 25 == STAFF_CHR -->
+ <li ng-class="{active : args.penalty == 25}">
+ <a href ng-click="args.penalty=25">[% l('Block') %]</a>
+ </li>
+ </ul>
+ </div>
+ <div class="col-md-4 pull-right">
+ <select class="form-control" ng-model="args.penalty">
+ <option ng-selected="args.penalty < 100"></option>
+ <option ng-repeat="penalty in penalties"
+ value="{{penalty.id()}}">{{penalty.label()}}</option>
+ </select>
+ </div>
+ </div>
+ <div class="form-group row pad-vert">
+ <div class="col-md-12">
+ <textarea class="form-control"
+ ng-model="args.note" placeholder="[% l('Note...') %]">
+ </textarea>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <input type="submit" class="btn btn-primary" value="[% l('OK') %]"/>
+ <button class="btn btn-warning" ng-click="cancel()">[% l('Cancel') %]</button>
+ </div>
+ </div> <!-- modal-content -->
+</form>
* Manages messages
*/
.controller('PatronMessagesCtrl',
- ['$scope','$routeParams','egCore',
-function($scope, $routeParams, egCore) {
+ ['$scope','$routeParams','egCore','$modal',
+function($scope, $routeParams, egCore , $modal) {
$scope.initTab('messages', $routeParams.id);
var usr_id = $routeParams.id;
});
}
+ $scope.createPenalty = function() {
+ $modal.open({
+ templateUrl: './circ/patron/t_new_message_dialog',
+ controller:
+ ['$scope','$modalInstance','staffPenalties',
+ function($scope , $modalInstance , staffPenalties) {
+ $scope.focusNote = true;
+ $scope.penalties = staffPenalties;
+ $scope.args = {penalty : 21}; // default to Note
+ $scope.setPenalty = function(id) {
+ args.penalty = id;
+ }
+ $scope.ok = function(count) { $modalInstance.close($scope.args) }
+ $scope.cancel = function () { $modalInstance.dismiss() }
+ }],
+ resolve : {
+ staffPenalties : function() {
+ return egCore.pcrud.search(
+ // id <= 100 are reserved for system use
+ 'csp', {id : {'>': 100}}, {}, {atomic : true});
+ }
+ }
+ }).result.then(
+ function(args) {
+ var pen = new egCore.idl.ausp();
+ pen.usr(usr_id);
+ pen.org_unit(egCore.auth.user().ws_ou());
+ pen.note(args.note);
+ pen.standing_penalty(args.penalty);
+ pen.staff(egCore.auth.user().id());
+ pen.set_date('now');
+ egCore.pcrud.create(pen).then(
+ function() { $scope.activeRevision++ });
+ }
+ );
+ }
+
}])