ulrich
2016-12-27 95f4150c6074126f2639028a07a629e46300f3d7
commit | author | age
5bf001 1
U 2 function um_init() {
3   $('.user-save-btn').click(um_user_save);
4df887 4   $('#nutzerliste').click(um_user_list_click);
U 5   $('#nutzerLoeschen').click(um_del_user);
6   $('#nutzerNeu').click(um_new_user);
7   $('#nutzerLoeschen').prop( "disabled", true );
95f415 8   $('#neueRolle').click(um_new_role);
72c5c3 9   um_clear_user_form();
U 10   um_apicall_get_user_list();
5bf001 11 }
4df887 12
U 13 /* ----- user functions ------ */
5bf001 14
U 15 function um_user_save() {
f8b605 16   var user = um_user_form_lesen();
U 17   var kww = $('#kennwortw').val();
18   if(user.pw != kww) {
19     alert('Kennworte stimmen nicht ueberein.');
20   } else {
72c5c3 21     //alert('user-save ' + user.id);
U 22     um_apicall_create_user(self.serialisieren(user));
f8b605 23   }
U 24 }
4df887 25
72c5c3 26 function um_del_user() {
95f415 27   /*var users = [];
72c5c3 28   $('#nutzerliste :selected').each(function(i, selected){
U 29     users[i] = $(selected).text();
95f415 30   });*/
72c5c3 31
U 32   //alert('delete user ' + users[0]);
95f415 33   var userId = um_get_first_selected_user_id();
U 34   if(userId !== 'none') {
35     var antwort = confirm("Wollen Sie den Nutzer " + usersId + " loeschen?"); 
36     if (antwort === true) {
37       var user = new User(userId, '-', '-', '-', '-');
38       um_apicall_del_user(self.serialisieren(user));
39     }  
40   }
4df887 41 }
U 42
43 function um_new_user() {
44   alert('show form to enter new user');
95f415 45 }
U 46
47 /* ----------- role functions ------------ */
48
49 function um_new_role() {
50   var userId = um_get_first_selected_user_id();
51   if(userId === 'none') {
52     alert('Es wurde kein Benutzer ausgewaehlt.');
53   } else {
54     var answer = prompt("Name der Rolle", "");
55     if (answer === null) {
56       alert("Es wurde Cancel betaetigt.");
57     } else if(answer !== "") {
58       alert("Rolle fuer Benutzer " + userId + " anlegen: " + answer);
59     } else {
60       alert("OK betaetigt, aber Keine Rolle angegeben.");
61     }
62   }
4df887 63 }
U 64
65 /* ----------- ui interaction ------------ */
66
67 function um_user_list_click() {
72c5c3 68   $('#nutzerLoeschen').prop( "disabled", false );
U 69   /*
70    var users = [];
71    $('#nutzerliste :selected').each(function(i, selected){
72      users[i] = $(selected).text();
73    });
74   */
75    //alert(users[0]);
4df887 76 }
U 77
78
79 /* ------- ui i/o ------ */
80
81 function um_user_form_lesen() {
82   var userId = $('#anmeldename').val();
83   var kw = $('#kennwort').val();
84   var user = new User(userId, kw, '-', '-', '-');
85   return user;
86 }
87
546fbc 88 function um_show_user_list(resp) {
72c5c3 89   $("#nutzerliste").empty();
546fbc 90   var users = resp.List[0];
72c5c3 91   for(var i = 1; i < users.List.length; i++) {
546fbc 92     var user = users.List[i];
U 93     $("#nutzerliste").append('<option value=' + user.String + '>' + user.String + '</option>');
94   }
72c5c3 95   $('#nutzerLoeschen').prop( "disabled", true );
546fbc 96   //var user1 = users.List[1];
U 97   //var username = user1.String;
98   //alert(username);
72c5c3 99 }
U 100
101 function um_clear_user_form() {
102   $('#anmeldename').val('');
103   $('#kennwort').val('');
104   $('#kennwortw').val('');
546fbc 105 }
4df887 106
95f415 107 function um_get_first_selected_user_id() {
U 108   var userId = 'none';
109   var userIds = [];
110   $('#nutzerliste :selected').each(function(i, selected){
111     userIds[i] = $(selected).text();
112   });
113   if(userIds.length > 0) {
114     userId = userIds[0];
115   }
116   return userId;
117 }
118
4df887 119 /* ---- api calls ----- */
f8b605 120
72c5c3 121 function um_apicall_create_user(user) {
f8b605 122   var m = 'createUser';
72c5c3 123   var u = '../svc/' + m;
f8b605 124   $.ajax({
U 125     url: u,
126     data: {
72c5c3 127       p: user
f8b605 128     },
U 129     type: "POST",
130     dataType : "html",
72c5c3 131     success: function( resp ) {
f8b605 132       //$('#fehler').html('Antwort: ' + resp);
72c5c3 133       um_apicall_get_user_list();
U 134       um_clear_user_form();
135     },
f8b605 136     error: function( xhr, status, errorThrown ) {
U 137       $('#fehler').html("Error: " + errorThrown + " Status: " + status);
138     },
139     complete: function( xhr, status ) {
140       //alert( "The request is complete!" );
141     }
142   });      
143 }
144
72c5c3 145 function um_apicall_del_user(user) {
U 146   var m = 'deleteUser';
147   var u = '../svc/' + m;
148   $.ajax({
149     url: u,
150     data: {
151       p: user
152     },
153     type: "POST",
154     dataType : "html",
155     success: function( resp ) {
156       um_apicall_get_user_list();
157     },
158     error: function( xhr, status, errorThrown ) {
159       $('#fehler').html("Error: " + errorThrown + " Status: " + status);
160     },
161     complete: function( xhr, status ) {
162       //alert( "The request is complete!" );
163     }
164   });      
165 }
166
167 function um_apicall_get_user_list() {
546fbc 168   var m = 'getUserNameList';
U 169   var u = '../svc/' + m;
170   $.ajax({
171     url: u,
172     type: "GET",
173     dataType : "json",
174     success: function( resp ) {
175       um_show_user_list(resp);
176     },
177     error: function( xhr, status, errorThrown ) {
178       $('#fehler').html("Error: " + errorThrown + " Status: " + status);
179     },
180     complete: function( xhr, status ) {
181       //alert( "The request is complete!" );
182     }
183   });      
184 }
185
4df887 186 /* ----- Hilfsfunktionen ----- */
f8b605 187
U 188 function serialisieren(obj) {
189   return '{"' + obj.constructor.name + '":' + JSON.stringify(obj) + '}';
190 };
191
4df887 192 /* ----- Objekte ----- */
U 193
f8b605 194 function User(i, p, fn, ln, em) {
U 195   this.id = i;
196   this.pw = p;
197   this.firstName = fn;
198   this.lastName = ln;
199   this.email = em;
5bf001 200 }