| | |
| | | /* |
| | | |
| | | Beispiel aus Spot fuer den Post eines Coordinates-Objektes |
| | | |
| | | var coord = new Coordinates( |
| | | c.latitude, |
| | | c.longitude, |
| | | self.nummer(c.altitude), |
| | | self.nummer(c.accuracy), |
| | | self.nummer(c.altitudeAccuracy), |
| | | self.nummer(c.heading), |
| | | self.nummer(c.speed)); |
| | | var cObj = self.serialisieren(coord); |
| | | |
| | | |
| | | $.ajax({ |
| | | url: '../rpc?c=de.uhilger.spot.api.NutzerApi&m=ortSpeichern', |
| | | data: { |
| | | p: cObj |
| | | }, |
| | | type: "POST", |
| | | dataType : "html", |
| | | //success: function( resp ) { |
| | | //$('#fehler').html('Antwort: ' + resp); |
| | | //}, |
| | | error: function( xhr, status, errorThrown ) { |
| | | $('#fehler').html("Error: " + errorThrown + " Status: " + status); |
| | | }, |
| | | complete: function( xhr, status ) { |
| | | //alert( "The request is complete!" ); |
| | | } |
| | | }); |
| | | usw. |
| | | |
| | | |
| | | function Coordinates(la, lo, al, ac, aa, hd, sp) { |
| | | this.latitude = la; |
| | | this.longitude = lo; |
| | | this.altitude = al; |
| | | this.accuracy = ac; |
| | | this.altitudeAccuracy = aa; |
| | | this.heading = hd; |
| | | this.speed = sp; |
| | | function um_init() { |
| | | $('#user-form').hide(); |
| | | $('#nav').hide(); |
| | | $('#role-form').hide(); |
| | | $('#user-role-form').hide(); |
| | | $('.user-save-btn').click(um_user_save); |
| | | $('.user-cancel-btn').click(um_back_from_new_user); |
| | | $('#nutzerliste').click(um_user_list_click); |
| | | $('#nutzerLoeschen').click(um_del_user); |
| | | $('#nutzerNeu').click(um_new_user); |
| | | $('#nutzerLoeschen').prop( "disabled", true ); |
| | | $('#nutzerRolleEntziehen').prop( "disabled", true ); |
| | | $('#rolleErteilen').prop( "disabled", true ); |
| | | $('#rolleErteilen').click(um_grant_role); |
| | | $('#nutzerRolleEntziehen').click(um_revoke_role); |
| | | $('#neueRolle').click(um_new_role); |
| | | $('#rollen').click(um_role_list_click); |
| | | $('#nutzerrollen').click(um_user_role_list_click); |
| | | um_clear_user_form(); |
| | | um_apicall_get_user_list(); |
| | | um_apicall_get_granted_roles(); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | */ |
| | | |
| | | /* ----- user functions ------ */ |
| | | |
| | | function um_user_save() { |
| | | var user = um_user_form_lesen(); |
| | | var kww = $('#kennwortw').val(); |
| | | if(user.pw != kww) { |
| | | alert('Kennworte stimmen nicht ueberein.'); |
| | | } else { |
| | | um_apicall_create_user(self.serialisieren(user)); |
| | | } |
| | | } |
| | | |
| | | function um_del_user() { |
| | | var userId = um_get_first_selected_user_id(); |
| | | if(userId !== 'none') { |
| | | var antwort = confirm("Wollen Sie den Nutzer " + userId + " loeschen?"); |
| | | if (antwort === true) { |
| | | var user = new User(userId, '-', '-', '-', '-'); |
| | | um_apicall_del_user(self.serialisieren(user)); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /* ----------- role functions ------------ */ |
| | | |
| | | function um_new_role() { |
| | | var roleIsNew = true; |
| | | var userId = um_get_first_selected_user_id(); |
| | | if(userId === 'none') { |
| | | alert('Es wurde kein Benutzer ausgewaehlt.'); |
| | | } else { |
| | | var answer = prompt("Name der Rolle", ""); |
| | | if (answer === null) { |
| | | alert("Es wurde Cancel betaetigt."); |
| | | } else if(answer !== "") { |
| | | um_apicall_grant_role(userId, answer, roleIsNew); |
| | | } else { |
| | | alert("OK betaetigt, aber Keine Rolle angegeben."); |
| | | } |
| | | } |
| | | } |
| | | |
| | | function um_grant_role() { |
| | | var roleIsNew = false; |
| | | var userId = um_get_first_selected_user_id(); |
| | | var roleId = um_get_first_selected_role_id(); |
| | | if(roleId !== 'none' && userId !== 'none') { |
| | | um_apicall_grant_role(userId, roleId, roleIsNew); |
| | | } |
| | | } |
| | | |
| | | function um_revoke_role() { |
| | | var userId = um_get_first_selected_user_id(); |
| | | var roleId = um_get_first_selected_userrole_id(); |
| | | if(roleId !== 'none' && userId !== 'none') { |
| | | um_apicall_revoke_role(userId, roleId); |
| | | } |
| | | } |
| | | |
| | | /* ----------- ui interaction ------------ */ |
| | | |
| | | function um_user_list_click() { |
| | | $('#nav-back-btn').click(um_back_from_roles); |
| | | $('#nutzerLoeschen').prop( "disabled", false ); |
| | | $('#rollen :selected').prop("selected", false); |
| | | var userId = um_get_first_selected_user_id(); |
| | | $('#userid').html(userId); |
| | | um_apicall_get_user_roles(userId); |
| | | $('#user-list-form').hide(); |
| | | $('#nav').show(); |
| | | $('#role-form').show(); |
| | | $('#user-role-form').show(); |
| | | } |
| | | |
| | | function um_new_user() { |
| | | $('#nav-back-btn').click(um_back_from_new_user); |
| | | $('#user-list-form').hide(); |
| | | $('#user-form').show(); |
| | | $('#nav').show(); |
| | | } |
| | | |
| | | function um_role_list_click() { |
| | | $('#rolleErteilen').prop( "disabled", false ); |
| | | } |
| | | |
| | | function um_user_role_list_click() { |
| | | $('#nutzerRolleEntziehen').prop( "disabled", false ); |
| | | } |
| | | |
| | | function um_back_from_roles() { |
| | | $('#user-list-form').show(); |
| | | $('#nav').hide(); |
| | | $('#role-form').hide(); |
| | | $('#user-role-form').hide(); |
| | | } |
| | | |
| | | function um_back_from_new_user() { |
| | | $('#user-list-form').show(); |
| | | $('#nav').hide(); |
| | | $('#user-form').hide(); |
| | | um_clear_user_form(); |
| | | } |
| | | |
| | | /* ------- ui i/o ------ */ |
| | | |
| | | function um_user_form_lesen() { |
| | | var userId = $('#anmeldename').val(); |
| | | var kw = $('#kennwort').val(); |
| | | var user = new User(userId, kw, '-', '-', '-'); |
| | | return user; |
| | | } |
| | | |
| | | function um_show_user_list(resp) { |
| | | $("#nutzerliste").empty(); |
| | | var users = resp.List[0]; |
| | | for(var i = 1; i < users.List.length; i++) { |
| | | var user = users.List[i]; |
| | | $("#nutzerliste").append('<option value=' + user.String + '>' + user.String + '</option>'); |
| | | } |
| | | $('#nutzerLoeschen').prop( "disabled", true ); |
| | | } |
| | | |
| | | function um_clear_user_form() { |
| | | $('#anmeldename').val(''); |
| | | $('#kennwort').val(''); |
| | | $('#kennwortw').val(''); |
| | | } |
| | | |
| | | function um_get_first_selected_user_id() { |
| | | var userId = 'none'; |
| | | var userIds = []; |
| | | $('#nutzerliste :selected').each(function(i, selected){ |
| | | userIds[i] = $(selected).text(); |
| | | }); |
| | | if(userIds.length > 0) { |
| | | userId = userIds[0]; |
| | | } |
| | | return userId; |
| | | } |
| | | |
| | | function um_get_first_selected_role_id() { |
| | | var roleId = 'none'; |
| | | var roleIds = []; |
| | | $('#rollen :selected').each(function(i, selected){ |
| | | roleIds[i] = $(selected).text(); |
| | | }); |
| | | if(roleIds.length > 0) { |
| | | roleId = roleIds[0]; |
| | | } |
| | | return roleId; |
| | | } |
| | | |
| | | function um_get_first_selected_userrole_id() { |
| | | var roleId = 'none'; |
| | | var roleIds = []; |
| | | $('#nutzerrollen :selected').each(function(i, selected){ |
| | | roleIds[i] = $(selected).text(); |
| | | }); |
| | | if(roleIds.length > 0) { |
| | | roleId = roleIds[0]; |
| | | } |
| | | return roleId; |
| | | } |
| | | |
| | | function um_show_user_role_list(resp) { |
| | | $("#nutzerrollen").empty(); |
| | | var rollen = resp.List[0]; |
| | | for(var i = 1; i < rollen.List.length; i++) { |
| | | var rolle = rollen.List[i]; |
| | | $("#nutzerrollen").append('<option value=' + rolle.String + '>' + rolle.String + '</option>'); |
| | | } |
| | | $('#nutzerRolleEntziehen').prop( "disabled", true ); |
| | | $('#rolleErteilen').prop( "disabled", true ); |
| | | } |
| | | |
| | | function um_show_role_list(resp) { |
| | | $("#rollen").empty(); |
| | | var rollen = resp.List[0]; |
| | | for(var i = 1; i < rollen.List.length; i++) { |
| | | var rolle = rollen.List[i]; |
| | | $("#rollen").append('<option value=' + rolle.String + '>' + rolle.String + '</option>'); |
| | | } |
| | | $('#rolleErteilen').prop( "disabled", true ); |
| | | } |
| | | |
| | | /* ---- api calls ----- */ |
| | | |
| | | function um_apicall_create_user(user) { |
| | | var m = 'createUser'; |
| | | var u = '../svc/' + m; |
| | | $.ajax({ |
| | | url: u, |
| | | data: { |
| | | p: user |
| | | }, |
| | | type: "POST", |
| | | dataType : "html", |
| | | success: function( resp ) { |
| | | um_apicall_get_user_list(); |
| | | um_back_from_new_user(); |
| | | }, |
| | | error: function( xhr, status, errorThrown ) { |
| | | $('#fehler').html("Error: " + errorThrown + " Status: " + status); |
| | | }, |
| | | complete: function( xhr, status ) { |
| | | //alert( "The request is complete!" ); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function um_apicall_del_user(user) { |
| | | var m = 'deleteUser'; |
| | | var u = '../svc/' + m; |
| | | $.ajax({ |
| | | url: u, |
| | | data: { |
| | | p: user |
| | | }, |
| | | type: "POST", |
| | | dataType : "html", |
| | | success: function( resp ) { |
| | | um_apicall_get_user_list(); |
| | | }, |
| | | error: function( xhr, status, errorThrown ) { |
| | | $('#fehler').html("Error: " + errorThrown + " Status: " + status); |
| | | }, |
| | | complete: function( xhr, status ) { |
| | | //alert( "The request is complete!" ); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function um_apicall_get_user_list() { |
| | | var m = 'getUserNameList'; |
| | | var u = '../svc/' + m; |
| | | $.ajax({ |
| | | url: u, |
| | | type: "GET", |
| | | dataType : "json", |
| | | success: function( resp ) { |
| | | um_show_user_list(resp); |
| | | }, |
| | | error: function( xhr, status, errorThrown ) { |
| | | $('#fehler').html("Error: " + errorThrown + " Status: " + status); |
| | | }, |
| | | complete: function( xhr, status ) { |
| | | //alert( "The request is complete!" ); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // http]://example.com/um/api?c=de.uhilger.um.api.UserMgr&m=testmethode |
| | | function um_apicall_grant_role(userId, roleName, isNewRole) { |
| | | var ur = new UserRole(userId, roleName); |
| | | var m = 'grantRole'; |
| | | var u = '../svc/' + m; |
| | | $.ajax({ |
| | | url: u, |
| | | data: { |
| | | p: self.serialisieren(ur) |
| | | }, |
| | | type: "POST", |
| | | dataType : "html", |
| | | success: function( resp ) { |
| | | um_apicall_get_user_roles(userId); |
| | | if(isNewRole) { |
| | | um_apicall_get_granted_roles(); |
| | | } |
| | | }, |
| | | error: function( xhr, status, errorThrown ) { |
| | | $('#fehler').html("Error: " + errorThrown + " Status: " + status); |
| | | }, |
| | | complete: function( xhr, status ) { |
| | | //alert( "The request is complete!" ); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function um_apicall_revoke_role(userId, roleName) { |
| | | var ur = new UserRole(userId, roleName); |
| | | var m = 'revokeRole'; |
| | | var u = '../svc/' + m; |
| | | $.ajax({ |
| | | url: u, |
| | | data: { |
| | | p: self.serialisieren(ur) |
| | | }, |
| | | type: "POST", |
| | | dataType : "html", |
| | | success: function( resp ) { |
| | | um_apicall_get_user_roles(userId); |
| | | }, |
| | | error: function( xhr, status, errorThrown ) { |
| | | $('#fehler').html("Error: " + errorThrown + " Status: " + status); |
| | | }, |
| | | complete: function( xhr, status ) { |
| | | //alert( "The request is complete!" ); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function um_apicall_get_user_roles(userId) { |
| | | var m = 'getUserRoleNames'; |
| | | var u = '../svc/' + m + '?p=' + userId; |
| | | $.ajax({ |
| | | url: u, |
| | | type: "GET", |
| | | dataType : "json", |
| | | success: function( resp ) { |
| | | um_show_user_role_list(resp); |
| | | }, |
| | | error: function( xhr, status, errorThrown ) { |
| | | $('#fehler').html("Error: " + errorThrown + " Status: " + status); |
| | | }, |
| | | complete: function( xhr, status ) { |
| | | //alert( "The request is complete!" ); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function um_apicall_get_granted_roles() { |
| | | var m = 'getRoleNamesGranted'; |
| | | var u = '../svc/' + m; |
| | | $.ajax({ |
| | | url: u, |
| | | type: "GET", |
| | | dataType : "json", |
| | | success: function( resp ) { |
| | | um_show_role_list(resp); |
| | | }, |
| | | error: function( xhr, status, errorThrown ) { |
| | | $('#fehler').html("Error: " + errorThrown + " Status: " + status); |
| | | }, |
| | | complete: function( xhr, status ) { |
| | | //alert( "The request is complete!" ); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /* ----- Hilfsfunktionen ----- */ |
| | | |
| | | function serialisieren(obj) { |
| | | return '{"' + obj.constructor.name + '":' + JSON.stringify(obj) + '}'; |
| | | }; |
| | | |
| | | /* ----- Objekte ----- */ |
| | | |
| | | function User(i, p, fn, ln, em) { |
| | | this.id = i; |
| | | this.pw = p; |
| | | this.firstName = fn; |
| | | this.lastName = ln; |
| | | this.email = em; |
| | | } |
| | | |
| | | function UserRole(u, r) { |
| | | this.userId = u; |
| | | this.role = r; |
| | | } |