mirror of
https://github.com/openMF/community-app.git
synced 2026-02-06 11:46:55 +00:00
Merge branch 'Mifos_tasks_wubwub' of git://github.com/Muciojad/community-app into Muciojad-Mifos_tasks_wubwub
Conflicts: app/scripts/controllers/organization/ViewRoleController.js app/views/administration/viewrole.html
This commit is contained in:
commit
f9d0114936
@ -1,9 +1,13 @@
|
||||
(function (module) {
|
||||
mifosX.controllers = _.extend(module, {
|
||||
ViewRoleController: function (scope, routeParams, resourceFactory, route, $modal) {
|
||||
|
||||
scope.permissions = [];
|
||||
scope.groupings = [];
|
||||
scope.formData = {};
|
||||
scope.checkboxesChanged = false; // this flag is informing backup-system if user started editing
|
||||
var bValuesOnly = []; // array for 1-0 values only from permission-checkboxes
|
||||
|
||||
var tempPermissionUIData = [];
|
||||
resourceFactory.rolePermissionResource.get({roleId: routeParams.id}, function (data) {
|
||||
scope.role = data;
|
||||
@ -22,6 +26,16 @@
|
||||
tempPermissionUIData[currentGrouping].permissions.push(temp);
|
||||
}
|
||||
|
||||
scope.backupCheckValues = function()
|
||||
{//backup -> save the data from formData before editing to boolean array
|
||||
for(var i = 0; i< this.permissions.permissions.length; i++)
|
||||
{
|
||||
var temp = this.formData[this.permissions.permissions[i].code];
|
||||
bValuesOnly.push(temp);
|
||||
}
|
||||
checkboxesChanged = true; // user started editing - set flag to true
|
||||
};
|
||||
|
||||
scope.isRoleEnable = function(value) {
|
||||
return value;
|
||||
};
|
||||
@ -88,17 +102,22 @@
|
||||
};
|
||||
|
||||
scope.cancel = function () {
|
||||
route.reload();
|
||||
route.reload();
|
||||
scope.isDisabled = true;
|
||||
};
|
||||
|
||||
|
||||
scope.submit = function () {
|
||||
var permissionData = {};
|
||||
permissionData.permissions = this.formData;
|
||||
resourceFactory.rolePermissionResource.update({roleId: routeParams.id}, permissionData, function (data) {
|
||||
route.reload();
|
||||
backupCheckValues();// reload current data in array (backup)
|
||||
checkboxesChanged = false; // user finished editing - set flag to false
|
||||
scope.isDisabled = true;
|
||||
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
scope.showPermissions = function (grouping) {
|
||||
@ -133,10 +152,57 @@
|
||||
string = string.charAt(0).toUpperCase() + string.slice(1);
|
||||
return string;
|
||||
};
|
||||
|
||||
scope.selectAll = function(allSelected)
|
||||
{
|
||||
var checkboxes = document.getElementsByName('cp');
|
||||
|
||||
if(allSelected == false)
|
||||
{
|
||||
for(var i in checkboxes)
|
||||
{
|
||||
checkboxes[i].checked = 1;
|
||||
}
|
||||
for(var i = 0; i< this.permissions.permissions.length; i++)
|
||||
{
|
||||
this.formData[this.permissions.permissions[i].code] = true;
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
for(var i in checkboxes)
|
||||
{
|
||||
checkboxes[i].checked = 0;
|
||||
}
|
||||
for(var i = 0; i< this.permissions.permissions.length; i++)
|
||||
{
|
||||
this.formData[this.permissions.permissions[i].code] = false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
scope.restoreCheckboxes = function()
|
||||
{
|
||||
for(var i = 0; i < bValuesOnly.length;i++)
|
||||
{
|
||||
this.formData[this.permissions.permissions[i].code] = bValuesOnly[i];
|
||||
}
|
||||
for(var i = bValuesOnly.length; i > 0; i--)
|
||||
{
|
||||
bValuesOnly.pop(); // erase old elements in flag-array
|
||||
}
|
||||
|
||||
checkboxesChanged = false; // user canceled editing - set flag to false
|
||||
};
|
||||
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
});
|
||||
mifosX.ng.application.controller('ViewRoleController', ['$scope', '$routeParams', 'ResourceFactory', '$route', '$modal', mifosX.controllers.ViewRoleController]).run(function ($log) {
|
||||
mifosX.ng.application.controller('ViewRoleController', ['$scope', '$routeParams', 'ResourceFactory', '$route','$modal', mifosX.controllers.ViewRoleController]).run(function ($log) {
|
||||
$log.info("ViewRoleController initialized");
|
||||
});
|
||||
}(mifosX.controllers || {}));
|
||||
}(mifosX.controllers || {}));
|
||||
@ -64,7 +64,7 @@
|
||||
<hr>
|
||||
<div class="pull-right" ng-show="isDisabled">
|
||||
<div class="btn-group">
|
||||
<a data-ng-click="editRoles()" class="btn btn-primary" has-permission='UPDATE_ROLE'><i class="icon-edit icon-white"></i>{{
|
||||
<a data-ng-click="editRoles(); backupCheckValues()" class="btn btn-primary" has-permission='UPDATE_ROLE'><i class="icon-edit icon-white"></i>{{
|
||||
'label.button.edit' | translate }}</a>
|
||||
</div>
|
||||
<div class="btn-group" ng-if="!isRoleEnable(role.disabled)">
|
||||
@ -79,12 +79,18 @@
|
||||
<a data-ng-click="deleteRolesConfirmation()" class="btn btn-primary" has-permission='DELETE_ROLE'><i class="icon-trash icon-white"></i>{{
|
||||
'label.button.delete' | translate }}</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="btn-group" ng-show="!isDisabled" style="float: right">
|
||||
<a data-ng-click="selectAll(false)" class="btn btn-primary"><i class="icon-ok-sign icon-white"></i>{{'label.button.selectAll' | translate}}</a>
|
||||
<a data-ng-click="selectAll(true)" class="btn btn-danger"><i class="icon-remove-sign icon-white"></i>{{'label.button.deselectAll' | translate}}</a>
|
||||
|
||||
</div>
|
||||
<h3>{{'label.heading.permissions' | translate}}: <strong>{{formatName(previousGrouping)}}</strong>
|
||||
</h3>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td width="15%" valign="top">
|
||||
<td width="30%" valign="top">
|
||||
<table>
|
||||
<tr ng-repeat="grouping in groupings" ng-class="{graybg: grouping == previousGrouping}">
|
||||
<td><a ng-click="showPermissions(grouping);"><span>{{formatName(grouping)}}</span></a></td>
|
||||
@ -92,17 +98,18 @@
|
||||
</table>
|
||||
</td>
|
||||
<td width="85%" valign="top">
|
||||
|
||||
<table width="100%">
|
||||
<tr ng-repeat="permission in permissions.permissions">
|
||||
<td width="50%"><label for="{{permission.code}}">{{permissionName(permission.code)}}</label></td>
|
||||
<td><input id="{{permission.code}}" type="checkbox" data-ng-model="formData[permission.code]" ng-disabled="isDisabled"></td>
|
||||
<td><input id="{{permission.code}}" type="checkbox" name='cp'
|
||||
data-ng-model="formData[permission.code]" ng-disabled="isDisabled"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="col-md-offset-3" ng-hide="isDisabled">
|
||||
<a class="btn btn-default" ng-click="cancel()">{{ 'label.button.cancel' | translate}}</a>
|
||||
<div class="col-md-offset-4" ng-hide="isDisabled">
|
||||
<a class="btn btn-default" ng-click="cancel(); restoreCheckboxes()">{{ 'label.button.cancel' | translate}}</a>
|
||||
<button type="submit" class="btn btn-primary" has-permission='UPDATE_ROLE'>{{ 'label.button.save' | translate}}</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user