diff --git a/members/static/html/jasenhakemukset.html b/members/static/html/jasenhakemukset.html index ada3034..337b6b8 100644 --- a/members/static/html/jasenhakemukset.html +++ b/members/static/html/jasenhakemukset.html @@ -21,8 +21,8 @@
- - + + Muokkaa
diff --git a/members/static/html/jasenlista.html b/members/static/html/jasenlista.html index b600d5d..2bb4d91 100644 --- a/members/static/html/jasenlista.html +++ b/members/static/html/jasenlista.html @@ -53,7 +53,7 @@ Muokkaa - + diff --git a/members/static/js/members_controllers.js b/members/static/js/members_controllers.js index d1cd262..d525f89 100644 --- a/members/static/js/members_controllers.js +++ b/members/static/js/members_controllers.js @@ -1,7 +1,8 @@ -// helpers +/* Controllers for member register views */ -function notyfication(type,timeout){ - return function(msg){ +/* Generator function to create a "noty" notification function */ +function notyfication(type, timeout) { + return function(msg) { noty({ 'text': msg, 'layout': "bottomRight", @@ -10,10 +11,15 @@ function notyfication(type,timeout){ }); }; } -var notyError = notyfication('error',2500); -var notySuccess = notyfication('success',2500); -function editor(returnpath){ +/* Create functions to show error and success notifications in the bottom + * right corner of the viewport + * + * These functions take a single message string as a parameter */ +var notyError = notyfication('error', 2500); +var notySuccess = notyfication('success', 2500); + +function memberDataEditor(returnpath) { return function($scope, $http, $route, $routeParams, $window, $location) { $scope.member = {"id": $routeParams.id}; $http.get("/members/api/member/" + $scope.member.id).then(function(response) { @@ -34,14 +40,12 @@ function editor(returnpath){ app.directive('ngConfirmClick', [ function() { return { link: function (scope, element, attr) { var clickAction = attr.confirmedClick; - element.bind('click',function (event) { + element.bind('click', function (event) { noty( { text: 'Oletko aivan varma? T. Lasse Lehtinen', layout: 'bottomRight', buttons: [ { addClass: 'btn btn-danger', text: 'Kyllä', onClick: function($noty) { - // this = button element - // $noty = $noty element $noty.close(); scope.$eval(clickAction) } @@ -120,64 +124,14 @@ app.controller("getController", function($scope, $document, $http, $window, $loc ); }; - /* Filter in only those members whose 'created' field comes - * before the specified date */ - $scope.filterByAddedBeforeDate = function(members) { - if ($scope.addedBeforeDatePicker == null) { + $scope.filterByDateComparison = function(members, datePicker, comparison) { + if (datePicker == null) { return members; } var result = []; for (var i = 0; i < members.length; i++) { - if (moment(members[i].created) <= $scope.addedBeforeDatePicker) { - result.push(members[i]); - } - } - return result; - }; - - /* Filter in only those members whose 'created' field comes - * after the specified date */ - $scope.filterByAddedAfterDate = function(members) { - if ($scope.addedAfterDatePicker == null) { - return members; - } - - var result = []; - for (var i = 0; i < members.length; i++) { - if (moment(members[i].created) > $scope.addedAfterDatePicker) { - result.push(members[i]); - } - } - return result; - }; - - /* Filter in only those members whose 'paid' field comes - * before the specified date */ - $scope.filterByPaidBeforeDate = function(members) { - if ($scope.paidBeforeDatePicker == null) { - return members; - } - - var result = []; - for (var i = 0; i < members.length; i++) { - if (moment(members[i].paid) <= $scope.paidBeforeDatePicker) { - result.push(members[i]); - } - } - return result; - }; - - /* Filter in only those members whose 'paid' field comes - * after the specified date */ - $scope.filterByPaidAfterDate = function(members) { - if ($scope.paidAfterDatePicker == null) { - return members; - } - - var result = []; - for (var i = 0; i < members.length; i++) { - if (moment(members[i].paid) > $scope.paidAfterDatePicker) { + if (comparison(members[i], datePicker)) { result.push(members[i]); } } @@ -217,10 +171,14 @@ app.controller("getController", function($scope, $document, $http, $window, $loc /* Run all filters on the members list */ $scope.doFilter = function() { var result = $scope.members; - result = $scope.filterByAddedBeforeDate(result); - result = $scope.filterByAddedAfterDate(result); - result = $scope.filterByPaidBeforeDate(result); - result = $scope.filterByPaidAfterDate(result); + result = $scope.filterByDateComparison(result, $scope.addedBeforeDatePicker, function(member, date) { + return moment(member.created) < date }); + result = $scope.filterByDateComparison(result, $scope.addedAfterDatePicker, function(member, date) { + return moment(member.created) >= date }); + result = $scope.filterByDateComparison(result, $scope.paidBeforeDatePicker, function(member, date) { + return moment(member.paid) < date }); + result = $scope.filterByDateComparison(result, $scope.paidAfterDatePicker, function(member, date) { + return moment(member.paid) >= date }); result = $scope.filterBySearch(result); $scope.shown_members = result; @@ -251,7 +209,7 @@ app.controller("postController", function($scope, $http, $location) { }); app.controller("applController", function($scope, $http, $route, $routeParams, $window, $location){ - $scope.applGetFunction = function() { + $scope.applUpdateAll = function() { $http.get("/members/api/requests").then(function(response){ $scope.applications = response.data; _.each($scope.applications, function(a){ @@ -260,35 +218,35 @@ app.controller("applController", function($scope, $http, $route, $routeParams, $ }); }); }; - $scope.applGetFunction(); - $scope.send_appl = function(id) { + $scope.applUpdateAll(); + $scope.sendAppl = function(id) { $http.post("/members/api/request/" + id).then( function(response) { notySuccess("Hakemus hyväksytty"); - $scope.applGetFunction(); + $scope.applUpdateAll(); }, function(response) { notyError("Hakemuksen hyväksyminen epäonnistui"); - $scope.applGetFunction(); + $scope.applUpdateAll(); } ); }; - $scope.delete_appl = function(id) { + $scope.deleteAppl = function(id) { $http.delete("/members/api/request/" + id).then( function(response) { notySuccess("Hakemus hylätty!"); - $scope.applGetFunction(); + $scope.applUpdateAll(); }, function(response) { notyError("Hakemuksen hylkäys epäonnistui"); - $scope.applGetFunction(); + $scope.applUpdateAll(); } ); }; }); -app.controller("editController",editor("/list")); -app.controller("appleditController", editor("/applications")); +app.controller("editController", memberDataEditor("/list")); +app.controller("applEditController", memberDataEditor("/applications")); app.controller("addManyController", function($scope, $http, $window) { $scope.memberData = ''; diff --git a/members/static/js/members_routers.js b/members/static/js/members_routers.js index 6717c82..d569d8e 100644 --- a/members/static/js/members_routers.js +++ b/members/static/js/members_routers.js @@ -22,7 +22,7 @@ app.config(['$routeProvider', function($routeProvider){ }) .when('/applications/edit/:id',{ templateUrl:"/static/html/muokkaa_jasenta.html", - controller:'appleditController', + controller:'applEditController', }) .when('/addmany/',{ templateUrl:"/static/html/lisaa_jasenia.html",