Files
dbois/public/js/lib/modules/beheer/usersModule.js
T
2018-04-21 21:12:09 +02:00

122 lines
3.7 KiB
JavaScript

/**
* Created by Pensare Software.
* User: Theo Weijmer
* Date: 25/12/2017
* Time: 09:49
*/
dbo.usersInit = function () {
if ( dbo.usersModel !== undefined ) {
} else {
dbo.usersModel = {
users : ko.observableArray( [] ),
user : ko.observable(),
roles : ko.observableArray( [] ),
archive: ko.observable( false ),
init: function () {
var vm = dbo.usersModel;
vm.refreshUsers();
dbo.rolesDataservice.getAllRoles( 'F', function ( data ) {
vm.roles( data );
} );
},
newUser: function () {
var vm = dbo.usersModel;
dbo.editUserModal.newEditUser( false, function () {
vm.refreshUsers();
} );
},
toggleArchive: function () {
var vm = dbo.usersModel;
vm.archive( !vm.archive() );
vm.refreshUsers();
},
editUser: function () {
var user = this;
var vm = dbo.usersModel;
dbo.editUserModal.newEditUser( user, function () {
vm.refreshUsers();
} );
},
editTarget : function(){
dbo.employeeTargetModel.init(this.id);
},
archiveUser: function () {
var vm = dbo.usersModel;
var self = this;
var status = self.archive == 'F' ? 'T' : 'F';
dbo.userDataService.archiveUser( self.id, status, function () {
vm.refreshUsers();
} );
},
removeUser: function () {
var vm = dbo.usersModel;
var self = this;
tellMe( {
title : 'verwijderen medewerker',
message : 'weet u zeker dat u de medewerker wilt verwijderen, dit kan niet ongedaan worden gemaakt',
notify : true,
noText : 'nee verwijder de medewerker niet',
yesText : 'ja verwijder de medewerker',
modalClass: 'modal-warning'
}, function ( response ) {
console.log( response );
if ( response ) {
dbo.userDataService.removeUser( self.id, function ( data ) {
if ( data.result ) {
tellMe( {
title : 'medewerker verwijderd',
message : 'de medewerker is succesvol verwijderd',
modalClass: 'modal-success'
}, function () {
vm.refreshUsers();
} );
} else {
tellMe( {
title : 'fout bij verwijderen medewerker',
message : 'de medewerker kan niet worden verwijderd',
modalClass: 'modal-danger'
} );
}
} );
}
} );
},
refreshUsers: function () {
var vm = dbo.usersModel;
dbo.userDataService.getAllUsers( vm.archive() ? 'T' : 'F', function ( data ) {
vm.users( data );
} );
}
};
dbo.usersModel.init();
ko.applyBindings( dbo.usersModel, document.getElementById( 'USERS' ) );
}
}