diff --git a/app/global-translations/locale-en.json b/app/global-translations/locale-en.json index 26266c8c..971bc92e 100644 --- a/app/global-translations/locale-en.json +++ b/app/global-translations/locale-en.json @@ -1118,6 +1118,8 @@ "label.exportcsv":"Export CSV Format", "label.pdfformat":"PDF Format", "label.run":"Run", - "label.category":"Category" + "label.category":"Category", + "label.madeondate":"Created On", + "label.viewcheckerinbox":"View Checker Inbox" } diff --git a/app/scripts/controllers/main/TaskController.js b/app/scripts/controllers/main/TaskController.js index 6451ae87..05f62316 100644 --- a/app/scripts/controllers/main/TaskController.js +++ b/app/scripts/controllers/main/TaskController.js @@ -1,6 +1,6 @@ (function(module) { mifosX.controllers = _.extend(module, { - TaskController: function(scope, resourceFactory, route, dateFilter,$modal) { + TaskController: function(scope, resourceFactory, route, dateFilter,$modal,location) { scope.clients = []; scope.loans = []; @@ -9,85 +9,95 @@ scope.formData = {}; scope.loanTemplate = {}; scope.date = {}; + scope.checkData = []; scope.isCollapsed = true; resourceFactory.checkerInboxResource.get({templateResource:'searchtemplate'},function(data){ scope.checkerTemplate = data; }); - - scope.approveChecker = function (aid) { + resourceFactory.checkerInboxResource.search(function(data) { + scope.searchData = data; + }); + scope.approveChecker = function () { $modal.open({ templateUrl: 'approvechecker.html', - controller: CheckerApproveCtrl, - resolve:{ - aId : function () - { - return aid; - } - } - }); + controller: CheckerApproveCtrl + }); }; - var CheckerApproveCtrl = function ($scope, $modalInstance,aId) { + var CheckerApproveCtrl = function ($scope, $modalInstance) { + $scope.approve = function () { - resourceFactory.checkerInboxResource.save({templateResource: aId,command:'approve'},{}, function(data){ - scope.isCollapsed = true; - scope.displayResults = true; - var reqFromDate = dateFilter(scope.date.from,'yyyy-MM-dd'); - var reqToDate = dateFilter(scope.date.to,'yyyy-MM-dd'); - var params = {}; - if (scope.formData.action) { params.actionName = scope.formData.action; }; - - if (scope.formData.entity) { params.entityName = scope.formData.entity; }; - - if (scope.formData.resourceId) { params.resourceId = scope.formData.resourceId; }; - - if (scope.formData.user) { params.makerId = scope.formData.user; }; - - if (scope.date.from) { params.makerDateTimeFrom = reqFromDate; }; - - if (scope.date.to) { params.makerDateTimeto = reqToDate; }; - resourceFactory.checkerInboxResource.search(params , function(data) { - scope.searchData = data; - }); + var totalApprove = 0; + var approveCount = 0; + _.each(scope.checkData,function(value,key) + { + if(value==true) + { + totalApprove++; + } }); + _.each(scope.checkData,function(value,key) + { + if(value==true) + { + + resourceFactory.checkerInboxResource.save({templateResource: key,command:'approve'},{}, function(data){ + approveCount++; + if(approveCount==totalApprove){ + scope.search(); + } + },function(data){ + approveCount++; + if(approveCount==totalApprove){ + scope.search(); + } + }); + } + }); + scope.checkData = {}; $modalInstance.close('approve'); + + }; + $scope.cancel = function () { + $modalInstance.dismiss('cancel'); }; }; - scope.deleteChecker = function (id) { + scope.deleteChecker = function () { $modal.open({ templateUrl: 'deletechecker.html', - controller: CheckerDeleteCtrl, - resolve:{ - id: function () - { - return id; - } - } + controller: CheckerDeleteCtrl }); }; - var CheckerDeleteCtrl = function ($scope, $modalInstance,id) { + var CheckerDeleteCtrl = function ($scope, $modalInstance) { $scope.delete = function () { - resourceFactory.checkerInboxResource.delete({templateResource: id}, {}, function(data){ - scope.isCollapsed = true; - scope.displayResults = true; - var reqFromDate = dateFilter(scope.date.from,'yyyy-MM-dd'); - var reqToDate = dateFilter(scope.date.to,'yyyy-MM-dd'); - var params = {}; - if (scope.formData.action) { params.actionName = scope.formData.action; }; - - if (scope.formData.entity) { params.entityName =scope.formData.entity; }; - - if (scope.formData.resourceId) { params.resourceId = scope.formData.resourceId; }; - - if (scope.formData.user) { params.makerId = scope.formData.user; }; - - if (scope.date.from) { params.makerDateTimeFrom = reqFromDate; }; - - if (scope.date.to) { params.makerDateTimeto = reqToDate; }; - resourceFactory.checkerInboxResource.search(params , function(data) { - scope.searchData = data; - }); + var totalDelete = 0; + var deleteCount = 0 + _.each(scope.checkData,function(value,key) + { + if(value==true) + { + totalDelete++; + } }); + _.each(scope.checkData,function(value,key) + { + if(value==true) + { + + resourceFactory.checkerInboxResource.delete({templateResource: key}, {}, function(data){ + deleteCount++; + if(deleteCount==totalDelete){ + scope.search(); + } + }, function(data){ + deleteCount++; + if(deleteCount==totalDelete){ + scope.search(); + } + }); + } + }); + scope.checkData = {}; $modalInstance.close('delete'); }; $scope.cancel = function () { @@ -95,6 +105,10 @@ }; }; + scope.routeTo = function(id){ + location.path('viewcheckerinbox/'+id); + }; + resourceFactory.officeResource.getAllOffices(function(data){ scope.offices = data; for(var i in data){ @@ -135,7 +149,6 @@ scope.search = function(){ scope.isCollapsed = true; - scope.displayResults = true; var reqFromDate = dateFilter(scope.date.from,'yyyy-MM-dd'); var reqToDate = dateFilter(scope.date.to,'yyyy-MM-dd'); var params = {}; @@ -181,7 +194,7 @@ } }); - mifosX.ng.application.controller('TaskController', ['$scope', 'ResourceFactory', '$route', 'dateFilter','$modal', mifosX.controllers.TaskController]).run(function($log) { + mifosX.ng.application.controller('TaskController', ['$scope', 'ResourceFactory', '$route', 'dateFilter','$modal','$location', mifosX.controllers.TaskController]).run(function($log) { $log.info("TaskController initialized"); }); }(mifosX.controllers || {})); diff --git a/app/scripts/controllers/main/ViewCheckerinboxController.js b/app/scripts/controllers/main/ViewCheckerinboxController.js new file mode 100644 index 00000000..022d03d2 --- /dev/null +++ b/app/scripts/controllers/main/ViewCheckerinboxController.js @@ -0,0 +1,57 @@ +(function(module) { + mifosX.controllers = _.extend(module, { + ViewCheckerinboxController: function(scope, resourceFactory, routeParams,location,$modal) { + scope.details = {}; + resourceFactory.auditResource.get({templateResource: routeParams.id} , function(data) { + scope.details = data; + scope.commandAsJson = data.commandAsJson; + var obj = JSON.parse(scope.commandAsJson); + scope.jsondata = []; + _.each(obj,function(value,key){ + scope.jsondata.push({name:key,property:value}); + }); + }); + scope.checkerApprove = function () { + $modal.open({ + templateUrl: 'approve.html', + controller: ApproveCtrl + }); + }; + var ApproveCtrl = function ($scope, $modalInstance) { + + $scope.approve = function () { + resourceFactory.checkerInboxResource.save({templateResource: routeParams.id,command:'approve'},{}, function(data){ + location.path('tasks'); + }); + $modalInstance.close('approve'); + }; + $scope.cancel = function () { + $modalInstance.dismiss('cancel'); + }; + }; + + scope.checkerDelete = function () { + $modal.open({ + templateUrl: 'delete.html', + controller: DeleteCtrl + }); + }; + var DeleteCtrl = function ($scope, $modalInstance) { + $scope.delete = function () { + resourceFactory.checkerInboxResource.delete({templateResource: routeParams.id}, {}, function(data){ + location.path('tasks'); + }); + $modalInstance.close('delete'); + }; + $scope.cancel = function () { + $modalInstance.dismiss('cancel'); + }; + }; + } + }); + mifosX.ng.application.controller('ViewCheckerinboxController', ['$scope', 'ResourceFactory', '$routeParams','$location','$modal', mifosX.controllers.ViewCheckerinboxController]).run(function($log) { + $log.info("ViewCheckerinboxController initialized"); + }); +}(mifosX.controllers || {})); + + diff --git a/app/scripts/mifosXComponents.js b/app/scripts/mifosXComponents.js index 49d0108a..dbc1a18e 100644 --- a/app/scripts/mifosXComponents.js +++ b/app/scripts/mifosXComponents.js @@ -152,7 +152,8 @@ define(['underscore', 'mifosX'], function() { 'template/ViewTemplateController', 'template/EditTemplateController', 'loanAccount/GuarantorController', - 'loanAccount/EditGuarantorController' + 'loanAccount/EditGuarantorController', + 'main/ViewCheckerinboxController' ], filters: [ 'StatusLookup', diff --git a/app/scripts/routes.js b/app/scripts/routes.js index 8606c455..4f2cc3c4 100644 --- a/app/scripts/routes.js +++ b/app/scripts/routes.js @@ -452,6 +452,9 @@ .when('/guarantor/:id', { templateUrl: 'views/loans/guarantor.html' }) + .when('/viewcheckerinbox/:id',{ + templateUrl: 'views/system/viewcheckerinbox.html' + }) .when('/editguarantor/:id/:loanId',{ templateUrl: 'views/loans/editguarantor.html' }); diff --git a/app/styles/app.css b/app/styles/app.css index caa74f51..63943d9d 100644 --- a/app/styles/app.css +++ b/app/styles/app.css @@ -386,6 +386,14 @@ a:hover cursor: pointer; } +.pointer{ + cursor: pointer; +} + +tr.pointer-main:hover { + color: #007FFF; +} + .grbgcolor { background-color: #F0F0F0; } diff --git a/app/views/system/viewcheckerinbox.html b/app/views/system/viewcheckerinbox.html new file mode 100644 index 00000000..ee2fda6f --- /dev/null +++ b/app/views/system/viewcheckerinbox.html @@ -0,0 +1,88 @@ +
+ + + + + +

{{'label.viewcheckerinbox' | translate}}

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{{'label.id' | translate}}:{{details.id}}
{{ 'label.status' | translate }}:{{details.processingResult}}
{{ 'label.user' | translate }}:{{details.maker}}
{{ 'label.action' | translate }}:{{details.actionName}}
{{ 'label.entity' | translate }}:{{details.entityName}}
{{ 'label.resourceid' | translate }}:{{details.resourceId}}
{{ 'label.date' | translate }}:{{details.madeOnDate | DateFormat}}
{{ 'label.office' | translate }}:{{details.officeName}}
{{ 'label.savingsaccountno' | translate }}:{{details.savingsAccountNo}}
{{details.groupLevelName}}:{{details.groupName}}
+
+ + +
+ + + + + + + + + + + + + +
      {{ 'label.command' | translate }}
      {{json.name}}{{json.property}}
+
\ No newline at end of file diff --git a/app/views/tasks.html b/app/views/tasks.html index bb61dc31..b443ff34 100644 --- a/app/views/tasks.html +++ b/app/views/tasks.html @@ -80,6 +80,10 @@ {{'label.searchoptions' | translate}} + + + +
@@ -97,8 +101,8 @@
@@ -106,8 +110,8 @@
@@ -115,8 +119,8 @@
@@ -166,31 +170,30 @@
-
+
- - - - - - - - - - + + + + + + + + + - - - - - - - - - - + + + + + + + + + +
{{'label.id' | translate}}{{'label.status' | translate}}{{'label.user' | translate}}{{'label.action' | translate}}{{'label.entity' | translate}}
{{'label.id' | translate}}{{'label.madeondate' | translate}}{{'label.status' | translate}}{{'label.user' | translate}}{{'label.action' | translate}}{{'table.heading.entity' | translate}}
{{data.id}}{{data.processingResult}}{{data.maker}}{{data.actionName}}{{data.entityName}}{{'label.details' | translate}}
{{data.id}}{{data.madeOnDate | DateFormat}}{{data.processingResult}}{{data.maker}}{{data.actionName}}{{data.entityName}}