mirror of
https://github.com/openMF/community-app.git
synced 2026-02-06 13:51:55 +00:00
group attendance
Groups attendance and close group bug
This commit is contained in:
parent
a5c15d5bed
commit
f65815a8fd
@ -521,5 +521,6 @@
|
||||
"label.enternote":"Enter Note",
|
||||
"label.associatemembers":"Associate Members",
|
||||
"label.disassociatemembers":"Disassociate Members",
|
||||
"label.confirmdelete":"Confirm Delete"
|
||||
"label.confirmdelete":"Confirm Delete",
|
||||
"label.meetingdate":"Meeting Date"
|
||||
}
|
||||
27
app/scripts/controllers/groups/CloseGroupController.js
Normal file
27
app/scripts/controllers/groups/CloseGroupController.js
Normal file
@ -0,0 +1,27 @@
|
||||
(function(module) {
|
||||
mifosX.controllers = _.extend(module, {
|
||||
CloseGroupController: function(scope, routeParams, route, location, resourceFactory) {
|
||||
scope.group = [];
|
||||
scope.template = [];
|
||||
|
||||
resourceFactory.groupResource.get({groupId: routeParams.id,associations:'all'} , function(data) {
|
||||
scope.group = data;
|
||||
});
|
||||
resourceFactory.groupTemplateResource.get({command:'close'}, function(data){
|
||||
scope.template = data;
|
||||
});
|
||||
|
||||
scope.closeGroup = function(){
|
||||
this.formData.locale = 'en';
|
||||
this.formData.dateFormat = 'dd MMMM yyyy';
|
||||
resourceFactory.groupResource.save({groupId: routeParams.id ,command:'close'},this.formData, function(data){
|
||||
location.path('/viewgroup/' + data.resourceId);
|
||||
});
|
||||
};
|
||||
}
|
||||
});
|
||||
mifosX.ng.application.controller('CloseGroupController', ['$scope', '$routeParams','$route', '$location', 'ResourceFactory', mifosX.controllers.CloseGroupController]).run(function($log) {
|
||||
$log.info("CloseGroupController initialized");
|
||||
});
|
||||
}(mifosX.controllers || {}));
|
||||
|
||||
38
app/scripts/controllers/groups/GroupAttendanceController.js
Normal file
38
app/scripts/controllers/groups/GroupAttendanceController.js
Normal file
@ -0,0 +1,38 @@
|
||||
(function(module) {
|
||||
mifosX.controllers = _.extend(module, {
|
||||
GroupAttendanceController: function(scope, resourceFactory , routeParams, location) {
|
||||
scope.group = [];
|
||||
scope.tempData = {};
|
||||
|
||||
resourceFactory.groupResource.get({groupId: routeParams.groupId,associations:'all'} , function(data) {
|
||||
scope.group = data;
|
||||
scope.meeting = data.collectionMeetingCalendar;
|
||||
});
|
||||
resourceFactory.groupMeetingResource.getMeetingInfo({groupId: routeParams.groupId,templateSource: 'template',calenderId: routeParams.calendarId}, function(data) {
|
||||
scope.clients = data.clients;
|
||||
scope.attendanceOptions = data.attendanceTypeOptions;
|
||||
});
|
||||
|
||||
scope.attendanceUpdate = function(id){
|
||||
this.formData.clientsAttendance=[];
|
||||
for(var i=0; i<scope.clients.length;i++)
|
||||
{
|
||||
this.formData.clientsAttendance[i] ={clientId:scope.clients[i].id,attendanceType:this.tempData[scope.clients[i].id]};
|
||||
|
||||
}
|
||||
this.formData.locale = 'en' ;
|
||||
this.formData.dateFormat = 'dd MMMM yyyy';
|
||||
this.formData.calendarId = id;
|
||||
resourceFactory.groupMeetingResource.save({groupId: routeParams.groupId,calenderId: routeParams.calendarId},this.formData, function(data) {
|
||||
location.path('/viewgroup/' + routeParams.groupId);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
mifosX.ng.application.controller('GroupAttendanceController', ['$scope', 'ResourceFactory', '$routeParams','$location', mifosX.controllers.GroupAttendanceController]).run(function($log) {
|
||||
$log.info("GroupAttendanceController initialized");
|
||||
});
|
||||
}(mifosX.controllers || {}));
|
||||
|
||||
|
||||
@ -61,7 +61,6 @@
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
scope.activateGrouppop = function() {
|
||||
scope.choice = 2;
|
||||
};
|
||||
@ -76,24 +75,7 @@
|
||||
});
|
||||
});
|
||||
};
|
||||
scope.closureGrouppop = function(){
|
||||
resourceFactory.groupTemplateResource.get({command:'close'}, function(data){
|
||||
scope.template = data;
|
||||
});
|
||||
scope.choice = 1;
|
||||
};
|
||||
scope.closeGroup = function(id){
|
||||
var newClosure = new Object();
|
||||
newClosure.locale = 'en';
|
||||
newClosure.dateFormat = 'dd MMMM yyyy';
|
||||
newClosure.closureDate = this.formData.closureDate;
|
||||
newClosure.closureReasonId = this.formData.closureReasonId
|
||||
resourceFactory.groupResource.save({groupId: id ,command:'close'},newClosure, function(data){
|
||||
resourceFactory.groupResource.get({groupId: id}, function(data){
|
||||
route.reload();
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
scope.deleteGrouppop = function(){
|
||||
scope.choice = 3;
|
||||
} ;
|
||||
|
||||
@ -81,7 +81,9 @@ define(['underscore', 'mifosX'], function() {
|
||||
'savings/ViewTransactionController',
|
||||
'groups/CreateGroupController',
|
||||
'groups/AddMemberController',
|
||||
'groups/EditGroupController'
|
||||
'groups/EditGroupController',
|
||||
'groups/GroupAttendanceController',
|
||||
'groups/CloseGroupController'
|
||||
],
|
||||
filters: [
|
||||
'StatusLookup'
|
||||
|
||||
@ -225,6 +225,12 @@
|
||||
})
|
||||
.when('/addmember', {
|
||||
templateUrl: 'views/groups/addmember.html'
|
||||
})
|
||||
.when('/groupattendance', {
|
||||
templateUrl: 'views/groups/groupattendance.html'
|
||||
})
|
||||
.when('/closegroup/:id', {
|
||||
templateUrl: 'views/groups/closegroup.html'
|
||||
});
|
||||
$locationProvider.html5Mode(false);
|
||||
};
|
||||
|
||||
@ -51,6 +51,9 @@
|
||||
groupTemplateResource: defineResource(apiVer + "/groups/template", {}, {
|
||||
get: {method: 'GET', params: {}}
|
||||
}),
|
||||
groupMeetingResource:defineResource(apiVer + "/groups/:groupId/meetings/:templateSource", {groupId:'@groupId',templateSource:'@templateSource'}, {
|
||||
getMeetingInfo: {method:'GET', params: {}}
|
||||
}),
|
||||
runReportsResource: defineResource(apiVer + "/runreports/:reportSource", {reportSource : '@reportSource'}, {
|
||||
get: {method: 'GET', params: {}, isArray:true},
|
||||
getReport: {method: 'GET', params: {}}
|
||||
|
||||
21
app/views/groups/closegroup.html
Normal file
21
app/views/groups/closegroup.html
Normal file
@ -0,0 +1,21 @@
|
||||
<form data-ng-controller="CloseGroupController">
|
||||
<div class="paddedleft">
|
||||
<h3>{{ 'label.confirm' | translate }}</h3>
|
||||
<div>
|
||||
<label class="control-label">{{ 'label.closuredate' | translate }}</label>
|
||||
<input type="text" data-ng-model="formData.closureDate" required/>
|
||||
</div>
|
||||
<div>
|
||||
<label class="control-label">{{ 'label.closurereasons' | translate }}</label>
|
||||
<select ng-model="formData.closureReasonId">
|
||||
<option ng-repeat="reason in template.closureReasons" value="{{reason.id}}">{{reason.name}}</option>
|
||||
</select>
|
||||
</div>
|
||||
<br/>
|
||||
<div>
|
||||
<a href="#/viewgroup/{{group.id}}" class="btn btn-primary">{{ 'label.cancel' | translate }}</a>
|
||||
<button type="button" class="btn btn-primary" data-ng-click="closeGroup()">{{ 'label.confirm' | translate }}</button>
|
||||
</div>
|
||||
</div>
|
||||
<hr/>
|
||||
</form>
|
||||
38
app/views/groups/groupattendance.html
Normal file
38
app/views/groups/groupattendance.html
Normal file
@ -0,0 +1,38 @@
|
||||
<div ng-controller="GroupAttendanceController">
|
||||
<form class="form-horizontal well">
|
||||
<fieldset>
|
||||
<legend>{{'label.attendance' | translate}}</legend>
|
||||
<div class="control-group">
|
||||
<label class="control-label">{{'label.meetingdate' | translate}}</label>
|
||||
<div class="controls">
|
||||
<input type="text" id="name" ng-model="formData.meetingDate">Next Meeting on:{{meeting.nextTenRecurringDates[0]}}
|
||||
</div>
|
||||
</div>
|
||||
<table class="table table-striped" width="100%">
|
||||
<thead>
|
||||
<tr><td colspan="5"> </td></tr>
|
||||
<tr class="graybg">
|
||||
<th>{{ 'label.code.name' | translate }}</th>
|
||||
<th>{{ 'label.attendance' | translate }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="client in clients">
|
||||
<td>{{client.displayName}}</td>
|
||||
<td>
|
||||
<div>
|
||||
<select ng-model="tempData[client.id]">
|
||||
<option data-ng-repeat="attendance in attendanceOptions" value="{{attendance.id}}">{{attendance.value}}</option>
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="offset">
|
||||
<a href="#/viewgroup/{{group.id}}" class="btn btn-primary">{{'label.cancel' | translate}}</a>
|
||||
<button type="button" class="btn btn-primary" data-ng-click="attendanceUpdate(meeting.id)">{{'label.save' | translate}}</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
@ -3,7 +3,7 @@
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<div class='gavatar'>
|
||||
<img class="avatarpic" title="member1" src="../app/images/021.jpg">
|
||||
<img class="avatarpic" title="member1" src="../app/images/blank_avatar.jpg">
|
||||
<img class="avatarpic" title="member2" src="../app/images/1.jpg">
|
||||
<img class="avatarpic next-row" title="member3" src="../app/images/2.jpg">
|
||||
<img class="avatarpic next-row" title="member4" src="../app/images/3.jpg">
|
||||
@ -36,33 +36,12 @@
|
||||
<div class="btn-group pull-right" data-ng-hide="group.status.value == 'Closed'">
|
||||
<button class="btn btn-primary" data-ng-click="activateGrouppop()" data-ng-hide="group.status.value=='Active'"><i class="icon-check-sign icon-white"></i>{{ 'label.activate' | translate }}</button>
|
||||
<a href="#/editgroup/{{group.id}}" class="btn btn-primary"><i class="icon-edit icon-white"></i>{{ 'label.edit' | translate }}</a>
|
||||
<button class="btn btn-primary" data-ng-click="closureGrouppop()"><i class="icon-remove-circle icon-white"></i>{{ 'label.close' | translate }}</button>
|
||||
<a href="#/closegroup/{{group.id}}" class="btn btn-primary"><i class="icon-remove-circle icon-white"></i>{{ 'label.close' | translate }}</a>
|
||||
<button class="btn btn-primary" data-ng-click="deleteGrouppop()" data-ng-hide="group.status.value=='Active'"><i class="icon-trash icon-white"></i>{{ 'label.delete' | translate }}</button>
|
||||
</div>
|
||||
</div>
|
||||
<br/>
|
||||
<div data-ng-switch on="choice">
|
||||
<form ng-switch-when="1">
|
||||
<div class="paddedleft">
|
||||
<h3>{{ 'label.confirm' | translate }}</h3>
|
||||
<div>
|
||||
<label class="control-label">{{ 'label.closuredate' | translate }}</label>
|
||||
<input type="text" data-ng-model="formData.closureDate" required/>
|
||||
</div>
|
||||
<div>
|
||||
<label class="control-label">{{ 'label.closurereasons' | translate }}</label>
|
||||
<select ng-model="formData.closureReasonId">
|
||||
<option ng-repeat="reason in template.closureReasons" value="{{reason.id}}">{{reason.name}}</option>
|
||||
</select>
|
||||
</div>
|
||||
<br/>
|
||||
<div>
|
||||
<button type="button" class="btn btn-primary" data-ng-click="cancel(group.id)">{{ 'label.cancel' | translate }}</button>
|
||||
<button type="button" class="btn btn-primary" data-ng-click="closeGroup(group.id)">{{ 'label.confirm' | translate }}</button>
|
||||
</div>
|
||||
</div>
|
||||
<hr/>
|
||||
</form>
|
||||
<form ng-switch-when="2">
|
||||
<div class="paddedleft">
|
||||
<div>
|
||||
@ -201,7 +180,7 @@
|
||||
<a href="#/addmember?groupId={{group.id}}&officeId={{group.officeId}}" class="btn btn-primary pull-right"><i class="icon-plus-sign-alt icon-white"></i>{{ 'label.add' | translate }}</a>
|
||||
<button type="button" class="btn btn-primary pull-right" data-ng-click="disassociateMemberpop(group.id)">{{ 'label.disassociatemember' | translate }}</button>
|
||||
<button type="button" class="btn btn-primary pull-right" data-ng-click="associateMemberpop(group.id)">{{ 'label.associatemember' | translate }}</button>
|
||||
<a href="#/" class="btn btn-primary pull-right">{{ 'label.attendance' | translate }}</a>
|
||||
<a href="#/groupattendance?groupId={{group.id}}&calendarId={{group.collectionMeetingCalendar.id}}" class="btn btn-primary pull-right">{{ 'label.attendance' | translate }}</a>
|
||||
</div>
|
||||
</div>
|
||||
<div data-ng-switch on="choice">
|
||||
|
||||
Loading…
Reference in New Issue
Block a user