You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							265 lines
						
					
					
						
							9.1 KiB
						
					
					
				
			
		
		
	
	
							265 lines
						
					
					
						
							9.1 KiB
						
					
					
				| $(document).ready(function () { | |
|     $("#gen_pass").click(function () { | |
|         $("#password").val(makePassword(8)); | |
|         return false; | |
|     }); | |
|  | |
|     function makePassword(length) { | |
|         var result = ''; | |
|         var characters_g = 'AEIOUYaeiouy'; | |
|         var characters_s = 'BCDFGHJKLMNPQRSTVWXZbcdfghjklmnpqrstvwxz'; | |
|         var characters_g_Length = characters_g.length; | |
|         var characters_s_Length = characters_s.length; | |
|         for (var i = 0; i < length; i++) { | |
|             if (i % 2 == 0) { | |
|                 result += characters_g.charAt(Math.floor(Math.random() * characters_g_Length)); | |
|             } else { | |
|                 result += characters_s.charAt(Math.floor(Math.random() * characters_s_Length)); | |
|             } | |
|         } | |
|         return result; | |
|     } | |
|  | |
|     $('#add_user').on('click', function(){ | |
|         $('#username').css('background-color', '#fff'); | |
|         $('#password').css('background-color', '#fff'); | |
|         $('#full_name').css('background-color', '#fff'); | |
|         clinic_manager = $('#clinic_manager').prop("checked"); | |
|         examiner = $('#examiner').prop("checked"); | |
|         doctor = $('#doctor').prop("checked"); | |
|         directions = $('#directions').prop("checked"); | |
|         prof_doctor = $('#prof_doctor').prop("checked"); | |
|         username = $('#username').val(); | |
|         password = $('#password').val(); | |
|         notification_email = $('#notification_email').val(); | |
|         full_name = $('#full_name').val(); | |
|         false_form = false; | |
|         if(!(directions)) | |
|         { | |
|             directions = false; | |
|         } | |
|  | |
|         if(!(prof_doctor)) | |
|         { | |
|             prof_doctor = false; | |
|         } | |
|  | |
|  | |
|         if(!(full_name)) | |
|         { | |
|             $('#full_name').css('background-color', '#f55'); | |
|             full_name = true; | |
|         } | |
|  | |
|         if(!(username)) | |
|         { | |
|             $('#username').css('background-color', '#f55'); | |
|             false_form = true; | |
|         } | |
|          if(!(password)) | |
|         { | |
|             $('#password').css('background-color', '#f55'); | |
|             false_form = true; | |
|         } | |
|  | |
|         if(false_form==false) | |
|         { | |
|             var message = { | |
|                 clinic_manager: clinic_manager, | |
|                 examiner: examiner, | |
|                 username:username, | |
|                 password:password, | |
|                 full_name:full_name, | |
|                 directions:directions, | |
|                 doctor:doctor, | |
|                 prof_doctor:prof_doctor, | |
|                 notification_email:notification_email | |
|             } | |
|             $.each($('.area_check'), function(e) { | |
|                 if($(this).prop('checked') == true) | |
|                     message['area'] = $(this).data('area_id'); | |
|             }); | |
|  | |
|             $.ajax({ | |
|                 type:'POST', | |
|                 url: '/ca_add_user', | |
|                 async: !1, | |
|                 processData: false,  // tell jQuery not to process the data | |
|                 contentType: false,  // tell jQuery not to set contentType | |
|                 data: JSON.stringify(message), | |
|                 success: (data) => { | |
|                     if(data['success'] == true) | |
|                     { | |
|                         $('#username').val(''); | |
|                         $('#password').val(''); | |
|                         $('#success').slideDown(500); | |
|                         $('#success').delay(2000).slideUp(); | |
|                     } | |
|                     else | |
|                     { | |
|                         $('#exception').slideDown(500); | |
|                         $('#exception').delay(2000).slideUp(); | |
|                         $('#username').css('background-color', '#f55'); | |
|                         if(data.hasOwnProperty('message')) | |
|                         { | |
|                             show_error(data.message,0); | |
|                         } | |
|                     } | |
|                 }, | |
|                 error:function (jqXHR, exception) { | |
|                     if(data.hasOwnProperty('message')) | |
|                     { | |
|                         show_error('Ошибка при добавлении пользователя',0); | |
|                     } | |
|                 } | |
|             }); | |
|         } | |
|         else | |
|         { | |
|             $('#exception').slideDown(500); | |
|             $('#exception').delay(2000).slideUp(); | |
|         } | |
|     }); | |
|  | |
|     $('#edit_user').on('click', function(){ | |
|         $('#username').css('background-color', '#fff'); | |
|         $('#password').css('background-color', '#fff'); | |
|         $('#full_name').css('background-color', '#fff'); | |
|         manager_role = $('#manager_role').prop("checked"); | |
|         admin_role = $('#admin_role').prop("checked"); | |
|         examiner = $('#examiner').prop("checked"); | |
|         doctor = $('#doctor').prop("checked"); | |
|         directions = $('#directions').prop("checked"); | |
|         prof_doctor = $('#prof_doctor').prop("checked"); | |
|         password = $('#password').val(); | |
|         full_name = $('#full_name').val(); | |
|         notification_email = $('#notification_email').val(); | |
|         user_id = $('#user_id').val(); | |
|         false_form = false; | |
|         if(!directions) | |
|             directions = false | |
|         if(!(prof_doctor)) | |
|         { | |
|             prof_doctor = false; | |
|         } | |
|  | |
|         if(false_form==false) | |
|         { | |
|             var message = { | |
|                 password:password, | |
|                 full_name:full_name, | |
|                 examiner:examiner, | |
|                 manager:manager_role, | |
|                 admin: admin_role, | |
|                 user_id:user_id, | |
|                 directions:directions, | |
|                 doctor:doctor, | |
|                 prof_doctor:prof_doctor, | |
|                 notification_email:notification_email | |
|             } | |
|             console.log(message) | |
|             $.each($('.area_check'), function(e) { | |
|                 if($(this).prop('checked') == true) | |
|                     message['area'] = $(this).data('area_id'); | |
|             }); | |
|  | |
|             $.ajax({ | |
|                 type:'POST', | |
|                 url: '/ca_update_user', | |
|                 async: !1, | |
|                 processData: false,  // tell jQuery not to process the data | |
|                 contentType: false,  // tell jQuery not to set contentType | |
|                 data: JSON.stringify(message), | |
|                 success: (data) => { | |
|                     if(data['success'] == true) | |
|                     { | |
|                         $('#username').val(''); | |
|                         $('#password').val(''); | |
|                         $('#success').slideDown(500); | |
|                         $('#success').delay(2000).slideUp(); | |
|                     } | |
|                     else | |
|                     { | |
|                         $('#exception').slideDown(500); | |
|                         $('#exception').delay(2000).slideUp(); | |
|                         $('#username').css('background-color', '#f55'); | |
|                     } | |
|                 } | |
|             }); | |
|         } | |
|         else | |
|         { | |
|             $('#exception').slideDown(500); | |
|             $('#exception').delay(2000).slideUp(); | |
|         } | |
|     }); | |
|  | |
|     $('#recover_user').click(function(){ | |
|  | |
|         user_id = $('#user_id').val() | |
|         var message = { | |
|             user_id: user_id, | |
|         } | |
|         $.ajax({ | |
|             type:'POST', | |
|             url: '/ca_recover_user', | |
|             async: !1, | |
|             processData: false,  // tell jQuery not to process the data | |
|             contentType: false,  // tell jQuery not to set contentType | |
|             data: JSON.stringify(message), | |
|             success: (data) => { | |
|                 if(data['success'] == true) | |
|                 { | |
|                     $('#recover_user').hide(); | |
|                     $('#delete_user').show(); | |
|                 } | |
|                 else | |
|                 { | |
|                     console.log('Saving error') | |
|                     if(data['self_delete'] == true) | |
|                         $('#exception').html('Ошибка, действие не применимо к своему пользователю'); | |
|                     else | |
|                         $('#exception').html('Ошибка, не удалось обновить информацию'); | |
|                     $('#exception').slideDown(500); | |
|                     $('#exception').delay(2000).slideUp(); | |
|                 } | |
|             } | |
|         }); | |
|  | |
|     }); | |
|  | |
|     $('#delete_user').click(function(){ | |
|         user_id = $('#user_id').val() | |
|         var message = { | |
|             user_id: user_id, | |
|         } | |
|         $.ajax({ | |
|             type:'POST', | |
|             url: '/ca_delete_user', | |
|             async: !1, | |
|             processData: false,  // tell jQuery not to process the data | |
|             contentType: false,  // tell jQuery not to set contentType | |
|             data: JSON.stringify(message), | |
|             success: (data) => { | |
|                 if(data['success'] == true) | |
|                 { | |
|                     $('#recover_user').show(); | |
|                     $('#delete_user').hide(); | |
|                 } | |
|                 else | |
|                 { | |
|  | |
|                     console.log('Saving error') | |
|                     if(data['self_delete'] == true) | |
|                         $('#exception').html('Ошибка, действие не применимо к своему пользователю'); | |
|                     else | |
|                         $('#exception').html('Ошибка, не удалось обновить информацию'); | |
|                     $('#exception').slideDown(500); | |
|                     $('#exception').delay(2000).slideUp(); | |
|                 } | |
|             } | |
|         }); | |
|     }); | |
|  | |
|  | |
| });
 | |
| 
 |