93 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| $(document).ready(function () {
 | |
|     // Function to fetch and display locations
 | |
|     function fetchLocations() {
 | |
|         // Make a GET request to retrieve all locations
 | |
|         fetch('/api/v0/location', {
 | |
|             method: 'GET',
 | |
|             headers: {
 | |
|                 'Authorization': '2-eb0c08b0-250a-4249-8a87-11141e2ff8fb'
 | |
|             },
 | |
|         })
 | |
|             .then(response => {
 | |
|                 if (response.ok) {
 | |
|                     return response.json();
 | |
|                 } else {
 | |
|                     throw new Error(`HTTP error! Status: ${response.status}`);
 | |
|                 }
 | |
|             })
 | |
|             .then(locations => {
 | |
|                 // Clear existing table rows
 | |
|                 $('#locationTableBody').empty();
 | |
| 
 | |
|                 // Populate the table with location information
 | |
|                 locations.forEach(location => {
 | |
|                     $('#locationTableBody').append(`
 | |
|                         <tr>
 | |
|                             <td>${location.id}</td>
 | |
|                             <td>${location.name}</td>
 | |
|                             <td>${location.description}</td>
 | |
|                         </tr>
 | |
|                     `);
 | |
|                 });
 | |
|             })
 | |
|             .catch(error => {
 | |
|                 console.error('Error fetching locations:', error);
 | |
|                 // Handle error as needed
 | |
|             });
 | |
|     }
 | |
|     // Call the fetchLocations function when the page loads
 | |
|     fetchLocations();
 | |
| });
 | |
| 
 | |
| $(document).ready(function () {
 | |
|     $('#allLocationLink').on('click', function () {
 | |
|       $('#locationContainer').show();
 | |
|       $('#createLocationForm').hide();
 | |
|     });
 | |
|     $('#addLocationLink').on('click', function () {
 | |
|         $('#locationContainer').hide();
 | |
|         $('#createLocationForm').show();
 | |
|       });
 | |
|   });
 | |
| 
 | |
| 
 | |
| $('#locationForm').on('submit', function (e) {
 | |
|     e.preventDefault();
 | |
| 
 | |
|     const location = $('#location').val();
 | |
|     const user = req.session.jobTitle
 | |
|     const description = $('#description').val();
 | |
|    
 | |
|     fetch('/api/v0/location/new', {
 | |
|       method: 'POST',
 | |
|       headers: {
 | |
|           'Content-Type': 'application/json',
 | |
|           'Authorization': '2-eb0c08b0-250a-4249-8a87-11141e2ff8fb'
 | |
|       },
 | |
|       body: JSON.stringify({
 | |
|           name: location,
 | |
|           added_by: user,
 | |
|           description: description
 | |
|       }),
 | |
|   })
 | |
|   .then(response => {
 | |
|     if (response.ok) {
 | |
|         // Status 201 indicates successful creation
 | |
|         return response.json();
 | |
|     } else {
 | |
|         return response.json().then(data => {
 | |
|             throw new Error(data.message || `HTTP error! Status: ${response.status}`);
 | |
|         });
 | |
|     }
 | |
| })
 | |
| .then(data => {
 | |
|     console.log(`Location added successfully. Message: ${data.message}`);
 | |
|     alert('Location added successfully!');
 | |
|     resetFormFields();
 | |
| })
 | |
| .catch(error => {
 | |
|     console.error('Location not added successfully', error);
 | |
|     // Handle error as needed
 | |
| });
 | |
|   });
 |