Groups changes for MIFOSX-1482

This commit is contained in:
Gaurav Saini 2014-08-08 14:28:35 +05:30
parent 14143bf949
commit 82487ae4bb
5 changed files with 114 additions and 117 deletions

View File

@ -153,6 +153,7 @@
"label.button.undotransfer": "Undo Transfer",
"label.button.deleteall": "Delete All",
"label.button.add": "Add",
"label.button.back": "Back",
"label.button.attendance": "Attendance",
"label.button.unassign": "Unassign",
"label.button.advancesearch": "Advance Search",
@ -557,6 +558,8 @@
"label.heading.creategroup": "Create Group",
"label.heading.editgroup": "Edit Group",
"label.heading.managemembers": "Manage Members",
"label.heading.associatenewmembers": "Associate New Members",
"label.heading.groupmembers": "Group Members",
"label.heading.transferclientsbetweengroups": "Transfer Client between Groups",
"label.heading.destinationgroupdetails": "Destination Group Details",
"label.heading.nextmeetingon": "Next Meeting on",
@ -592,6 +595,7 @@
"label.input.selectedclients": "Selected clients",
"label.input.inheritgrouploanofficer": "Inherit group loan officer",
"label.input.destinationgroup": "Destination group",
"label.input.searchformember": "Search for a Member",
"#Buttons": "..",
"label.button.creategroup": "Create Group",

View File

@ -1,9 +1,7 @@
(function (module) {
mifosX.controllers = _.extend(module, {
MemberManageController: function (scope, routeParams, route, location, resourceFactory) {
MemberManageController: function (scope, routeParams, route, location, resourceFactory, $modal) {
scope.group = [];
scope.addedClients = [];
scope.formData = {};
scope.viewClient = function (item) {
scope.client = item;
@ -17,53 +15,46 @@
scope.allClients = data.clientOptions;
scope.allMembers = data.clientMembers;
});
scope.add = function () {
if(scope.available != ""){
var temp = {};
temp.id = scope.available.id;
temp.displayName = scope.available.displayName;
scope.addedClients.push(temp);
}
if(scope.available != ""){
scope.associate = {};
scope.associate.clientMembers = [];
scope.associate.clientMembers[0] = scope.available.id;
console.log(scope.associate);
resourceFactory.groupResource.save({groupId: routeParams.id, command: 'associateClients'}, scope.associate, function (data) {
var temp = {};
temp.id = scope.available.id;
temp.displayName = scope.available.displayName;
scope.allMembers.push(temp);
});
}
};
scope.sub = function (id) {
for (var i = 0; i < scope.addedClients.length; i++) {
if (scope.addedClients[i].id == id) {
scope.addedClients.splice(i, 1);
break;
}
}
};
scope.remove = function (id) {
$modal.open({
templateUrl: 'delete.html',
controller: MemberDeleteCtrl
});
scope.disassociate = {};
scope.disassociate.clientMembers = [];
scope.disassociate.clientMembers.push(id);
console.log(scope.disassociate);
resourceFactory.groupResource.save({groupId: routeParams.id, command: 'disassociateClients'}, scope.disassociate, function (data) {
scope.allMembers.splice(0, 1);
});
};
scope.submit = function () {
scope.formData.clientMembers = [];
if(scope.addedClients.length > 0){
for (var i in scope.addedClients) {
scope.formData.clientMembers[i] = scope.addedClients[i].id;
}
resourceFactory.groupResource.save({groupId: routeParams.id, command: 'associateClients'}, scope.formData, function (data) {
location.path('/viewgroup/' + scope.group.id);
var MemberDeleteCtrl = function ($scope, $modalInstance) {
$scope.delete = function () {
resourceFactory.groupResource.save({groupId: routeParams.id, command: 'disassociateClients'}, scope.disassociate, function (data) {
scope.allMembers.splice(0, 1);
$modalInstance.close('activate');
});
} else {
location.path('/viewgroup/' + scope.group.id);
}
};
$scope.cancel = function () {
$modalInstance.dismiss('cancel');
};
};
}
});
mifosX.ng.application.controller('MemberManageController', ['$scope', '$routeParams', '$route', '$location', 'ResourceFactory', mifosX.controllers.MemberManageController]).run(function ($log) {
mifosX.ng.application.controller('MemberManageController', ['$scope', '$routeParams', '$route', '$location', 'ResourceFactory', '$modal', mifosX.controllers.MemberManageController]).run(function ($log) {
$log.info("MemberManageController initialized");
});
}(mifosX.controllers || {}));

View File

@ -1306,4 +1306,7 @@ h3.bolder {
}
.meeting th:first-child{
padding-left: 0px;
}
.thumbnail.row h4 {
text-align: center;
}

View File

@ -4,30 +4,43 @@
<li><a href="#/viewgroup/{{group.id}}">{{'label.anchor.viewgroup' | translate}}</a></li>
<li class="active">{{'label.anchor.managemembers' | translate}}</li>
</ul>
<script type="text/ng-template" id="delete.html">
<div class="modal-header silver">
<h3 class="bolder">{{'label.heading.delete' | translate}}</h3>
</div>
<div class="modal-body ">
<api-validate></api-validate>
<br>
<button class="btn btn-warning" ng-click="cancel()">{{'label.button.cancel' | translate}}</button>
<button class="btn btn-primary" ng-click="delete()">{{'label.button.confirm' | translate}}</button>
</div>
</script>
<api-validate></api-validate>
<form name="managemembers" class="form-horizontal well">
<fieldset>
<legend>{{'label.heading.managemembers' | translate}}</legend>
<div class="row">
<div class="col-md-5">
<div class="col-md-7">
<legend>{{'label.heading.associatenewmembers' | translate}}</legend>
<div class="form-group">
<div class="col-sm-8 col-md-8">
<label class="control-label col-sm-4">{{ 'label.input.searchformember' | translate }}</label>
<div class="col-sm-4 col-md-4">
<input id="expert" type="text" data-ng-model="available"
placeholder="{{'label.input.select.groups' | translate }}" class="col-md-4 form-control" typeahead-on-select="viewClient(available)"
ng-autofocus="true" typeahead="client as client.displayName for client in allClients | filter:$viewValue | limitTo:8"/>
</div>
<div class="col-sm-1 col-md-1">
<button ng-show="available" type="button" class="btn angled-btn btn-primary" data-ng-click="add()">
<i class="icon-plus"></i></button>
{{ 'label.button.add' | translate }}
<i class="icon-double-angle-right"></i></button>
</div>
</div>
<div class="form-group">
<div data-ng-show="available" class="col-md-10">
<div data-ng-show="available" class="col-md-6 col-md-offset-1">
<p>{{'label.heading.groupdetails' | translate}}</p>
<table class="table">
<tr>
<td class="width36">{{'label.heading.name' | translate}}</td>
<td class="width60">{{client.displayName}}</td>
<td>{{'label.heading.name' | translate}}</td>
<td>{{client.displayName}}</td>
</tr>
<tr>
<td>{{ 'label.heading.id' | translate }}</td>
@ -41,10 +54,11 @@
</div>
</div>
</div>
<div class="col-md-6">
<div class="col-md-5">
<legend>{{'label.heading.groupmembers' | translate}}</legend>
<div class="form-group" ng-repeat="members in allMembers">
<div class="col-sm-6 col-md-6">
<input disabled="" class="form-control input-xxlarge" placeholder={{members.displayName}}
<input disabled="" class="form-control input-xxlarge" placeholder="{{members.displayName}} (Id: {{members.id}})"
type="text"/>
</div>
<div class="col-sm-2 col-md-2">
@ -53,26 +67,11 @@
</button>
</div>
</div>
<div class="form-group" ng-repeat="clients in addedClients">
<div class="col-sm-6 col-md-6">
<input disabled="" class="form-control input-xxlarge" placeholder={{clients.displayName}}
type="text"/>
</div>
<div class="col-sm-2 col-md-2">
<button type="button" class="btn angled-btn btn-primary " data-ng-click="sub(clients.id)">
<i class="icon-remove"></i>
</button>
</div>
</div>
</div>
</div>
<div class="col-sm-3 col-md-offset-5">
<br>
<a id="cancel" href="#/viewgroup/{{group.id}}" class="btn btn-default">{{ 'label.button.cancel' | translate }}</a>
<button id="save" type="button" class="btn btn-primary" data-ng-click="submit()" has-permission='ASSOCIATECLIENTS_GROUP'>
<i class="icon-check-sign icon-white"></i> {{ 'label.button.save' | translate }}
</button>
<a id="cancel" href="#/viewgroup/{{group.id}}" class="btn btn-default"><i class="icon-double-angle-left"></i> {{ 'label.button.back' | translate }}</a>
</div>
</fieldset>
</form>

View File

@ -58,7 +58,7 @@
<a ng-show="group.active" href="#/newgrouploanaccount/{{group.id}}" class="btn btn-primary" has-permission='CREATE_LOAN'><i
class="icon-file icon-white"></i>{{ 'label.button.grouploanapplication' | translate }}</a>
<a ng-show="group.active" href="#/newjlgloanaccount/{{group.id}}" has-permission='CREATE_LOAN' class="btn btn-primary"><i
class="icon-plus icon-white"></i>{{ 'label.button.bulkjlgloanapplication' | translate }}</a>
class="icon-copy icon-white"></i>{{ 'label.button.bulkjlgloanapplication' | translate }}</a>
<span class="btn-group dropdown" on-toggle="toggled(open)">
<a class="btn btn-primary dropdown-toggle">
{{ 'label.button.more' | translate}}
@ -350,61 +350,61 @@
</div>
<div class="col-sm-3 col-md-3">
<div class="thumbnail row">
<h4><strong>{{group.name}}</strong></h4>
<table class="table-minified">
<tr data-ng-show="group.activationDate">
<th class="table-bold">{{ 'label.heading.activationdate' | translate }}</th>
<td><span class="padded-td">{{group.activationDate | DateFormat}}</span></td>
</tr>
<tr data-ng-show="group.staffName">
<th class="table-bold">{{ 'label.heading.staff' | translate }}</th>
<td><span class="padded-td">{{group.staffName}}</span>
</td>
</tr>
<tr data-ng-show="group.externalId">
<th class="table-bold">{{ 'label.input.externalid' | translate }}</th>
<td><span class="padded-td">{{group.externalId}}</span>
</td>
</tr>
<tr data-ng-show="group.centerName">
<td class="table-bold">{{ 'label.heading.center' | translate }}</td>
<td><span class="padded-td"><a class="list-group-item-text" href="#/viewcenter/{{group.centerId}}">{{group.centerName}}</a></span>
</td>
</tr>
</table>
<table class="table-minified">
<tr>
<th class="whitebg" colspan="2">{{ 'label.heading.summary' | translate }}</th>
</tr>
<tr>
<th>{{ 'label.numofactiveclient' | translate }}</th>
<td>{{summary.activeClients}}</td>
</tr>
<tr>
<th>{{ 'label.numofactivegrouploans' | translate }}</th>
<td>{{summary.activeGroupLoans}}</td>
</tr>
<tr>
<th>{{ 'label.numofactiveclientloans' | translate }}</th>
<td>{{summary.activeClientLoans}}</td>
</tr>
<tr>
<th>{{ 'label.numofactivegroupborrowers' | translate }}</th>
<td>{{summary.activeGroupBorrowers}}</td>
</tr>
<tr>
<th>{{ 'label.numofactiveclientborrowers' | translate }}</th>
<td>{{summary.activeClientBorrowers}}</td>
</tr>
<tr>
<th>{{ 'label.numofactiveoverduegrouploans' | translate }}</th>
<td>{{summary.overdueGroupLoans}}</td>
</tr>
<tr>
<th>{{ 'label.numofactiveoverdueclientloans' | translate }}</th>
<td>{{summary.overdueClientLoans}}</td>
</tr>
</table>
<div class="col-md-12 paddingleft0px">
<h4><strong>{{group.name}} {{ 'label.heading.details' | translate }}</strong></h4>
<table class="table-minified">
<tr data-ng-show="group.activationDate">
<th>{{ 'label.heading.activationdate' | translate }}</th>
<td><span class="padded-td">{{group.activationDate | DateFormat}}</span></td>
</tr>
<tr data-ng-show="group.staffName">
<th>{{ 'label.heading.staff' | translate }}</th>
<td><span class="padded-td">{{group.staffName}}</span>
</td>
</tr>
<tr data-ng-show="group.externalId">
<th>{{ 'label.input.externalid' | translate }}</th>
<td><span class="padded-td">{{group.externalId}}</span>
</td>
</tr>
<tr data-ng-show="group.centerName">
<td>{{ 'label.heading.center' | translate }}</td>
<td><span class="padded-td"><a class="list-group-item-text" href="#/viewcenter/{{group.centerId}}">{{group.centerName}}</a></span>
</td>
</tr>
</table>
<h4><strong>{{ 'label.heading.summary' | translate }}</strong></h4>
<table class="table-minified">
<tr>
<th>{{ 'label.numofactiveclient' | translate }}</th>
<td>{{summary.activeClients}}</td>
</tr>
<tr>
<th>{{ 'label.numofactivegrouploans' | translate }}</th>
<td>{{summary.activeGroupLoans}}</td>
</tr>
<tr>
<th>{{ 'label.numofactiveclientloans' | translate }}</th>
<td>{{summary.activeClientLoans}}</td>
</tr>
<tr>
<th>{{ 'label.numofactivegroupborrowers' | translate }}</th>
<td>{{summary.activeGroupBorrowers}}</td>
</tr>
<tr>
<th>{{ 'label.numofactiveclientborrowers' | translate }}</th>
<td>{{summary.activeClientBorrowers}}</td>
</tr>
<tr>
<th>{{ 'label.numofactiveoverduegrouploans' | translate }}</th>
<td>{{summary.overdueGroupLoans}}</td>
</tr>
<tr>
<th>{{ 'label.numofactiveoverdueclientloans' | translate }}</th>
<td>{{summary.overdueClientLoans}}</td>
</tr>
</table>
</div>
</div>
</div>
</div>