/** * 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 gebruiker', message : 'weet u zeker dat u de gebruiker wilt verwijderen, dit kan niet ongedaan worden gemaakt', notify : true, noText : 'nee verwijder de gebruiker niet', yesText : 'ja verwijder de gebruiker', modalClass: 'modal-warning' }, function ( response ) { console.log( response ); if ( response ) { dbo.userDataService.removeUser( self.id, function ( data ) { if ( data.result ) { tellMe( { title : 'gebruiker verwijderd', message : 'de gebruiker is succesvol verwijderd', modalClass: 'modal-success' }, function () { vm.refreshUsers(); } ); } else { tellMe( { title : 'fout bij verwijderen gebruiker', message : 'de gebruiker 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' ) ); } }