/** * 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(); } ); }, 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' ) ); } }