summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* ogcp: add support for multi-ip repositoriesAlejandro Sirgo Rica2024-08-307-42/+173
| | | | | | | | | | | | Add support for the new API REST for repository management where the address is a list of ips instead of a single string. Add dynamic address creation in /action/repo/update and /action/repo/add forms through delete and add buttons in the form. Update /image/restore and /cache/fetch to use repository_id. Add additional repository form validations.
* ogcp: add disk restrictions in partition and formatAlejandro Sirgo Rica2024-08-224-62/+188
| | | | | | | | | | | | Use common disk space across all the selected clients. Show dynamic disk partition graph in the partition view. Limit partition sizes dynamically in the form. Move js code to handle the addition and removal of partitions into the html file to debloat ogcp.js and keep the functions local to the only file they manipulate.
* views: remove accents in image nameAlejandro Sirgo Rica2024-08-211-1/+6
| | | | | Remove accents in image name string. Special characters are not supported for image names.
* template: prevent backtrace in /client/listv1.1.3-29Alejandro Sirgo Rica2024-08-091-3/+7
| | | | Don't access client.speed if the field is not present.
* templates: adjust capitalization in commands buttonAlejandro Sirgo Rica2024-08-091-1/+1
| | | | Use "Restore image" instead of "Restore Image" for consistency.
* ogcp: Add /action/cache/fetch endpointAlejandro Sirgo Rica2024-08-094-1/+127
| | | | Add view to request the download of images into the client's cache.
* views: enable multi-image deletionAlejandro Sirgo Rica2024-08-062-18/+22
| | | | Allow the deletion of multiple images in image/delete.
* views: fix image create backtracev1.1.3-28Alejandro Sirgo Rica2024-08-061-2/+0
| | | | | | Fix backtrace caused by efd0b8ac Don't access the field scopes in ImageCreateForm as it does not exist.
* views: sort images based on alphabetical name orderAlejandro Sirgo Rica2024-08-061-0/+13
| | | | | | Show images in alphabetical order in every views listing images. The only exception is the dashboard as it shows them from newer to older.
* css: add iOS fonts to disclosure widgetAlejandro Sirgo Rica2024-08-052-3/+3
| | | | | Add Helvetica fonts to the fonts used to render the disclosure widget in the sidebar.
* js: enable center selection in CommandsAlejandro Sirgo Rica2024-08-052-7/+7
| | | | | Enable center checkboxes and implement selection of clients from multiple rooms in the same center.
* ogcp: add connected clients list viewAlejandro Sirgo Rica2024-08-053-1/+78
| | | | | | Add view to show the connected clients with access to the client details of each one. The view is accessible through the main dashboard.
* templates: link to images view from the dashboardAlejandro Sirgo Rica2024-07-301-1/+1
| | | | Add link to image count in dashboard to open images view.
* views: add missing checks for offline ogServerv1.1.3-27Alejandro Sirgo Rica2024-07-251-5/+63
| | | | | check when the API REST responses are null and report that ogServer might be offline.
* templates: make client details template more compactAlejandro Sirgo Rica2024-07-251-56/+11
| | | | | Make the form template update automatically after form definition modifications. Use a loop to render the for fields.
* js: use div instead of br in client pillsAlejandro Sirgo Rica2024-07-252-5/+7
| | | | | Improve html structure inside client pills so the values can be obtained with jquery by matching the name field of the div.
* js: add red highlight to slow client link speed in client pillsAlejandro Sirgo Rica2024-07-252-2/+4
| | | | | Add a red inner pill to the link speed value when the speed is lower than 1Gb/s.
* views: restrict EFI part size to 500MiB or higherAlejandro Sirgo Rica2024-07-251-0/+5
| | | | | | | Modern Windows systems require higher EFI partition sizes than most other OS. Validate partition & format form to ensure the EFI partition has as size of 500MiB or higher.
* ogcp: add image restrict functionalityAlejandro Sirgo Rica2024-07-257-41/+185
| | | | | | | | | | | Add center scope restriction using /image/restrict. Add view in Images to update scope permissions. Disable images in Commands for image update and restore if the client belongs to a disabled center. Consolidate template code to render scope selection checkboxes.
* css: add fixed font to disclosure widgetAlejandro Sirgo Rica2024-07-252-1/+3
| | | | | Prevent inconsistent visuals in different browser configurations. Make the disclosure widget always look the same.
* ogcp: improve sidebar logic in CommandsAlejandro Sirgo Rica2024-07-223-48/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Disable all checkboxes of scopes of level higher than room in the $(window).on('pageshow', function) callback. Set checkboxes as "indeterminate" when not every children is selected but have some of its children selected. [x] center [x] room1 [x] client1 [x] client1 [-] center [ ] room1 [-] room2 [ ] client1 [x] client1 Send all selected sidebar fields as form fields. This requires setting disabled to false and replacing indeterminate = true to checked = true in the .on('submit', function) callback. When a checkbox is clicked: 1. Find the room branch of the checked input. [ ] center [ ] room1 [ ] room2 <- root of the room branch [ ] client1 <-- clicked item 2. Uncheck all the checkboxes outside of the room branch. 3. Set all the children of the clicked item to the same value as the clicked item. 4. Set the parent checked or indeterminate values. 5. Save checkbox status.
* views: add repository_id to image/update payloadv1.1.3-26Alejandro Sirgo Rica2024-07-191-1/+1
| | | | | Give ogServer context about the proper repository to process the correct image.
* views: exclude clients with no partition in image/restore1.1.3-25Alejandro Sirgo Rica2024-07-171-0/+11
| | | | | | Clients cannot have an image restore when no partition configuration is available. Shown an error listing all the clients with no partitions.
* css: use min-width instad of wifth for client pillsAlejandro Sirgo Rica2024-07-172-2/+2
| | | | | | Some ogLive names can be large and a fixed size makes the text overflow under other client pills. Let the client pills grow if needed to fit its content.
* ogcp: show oglive client groups by ipAlejandro Sirgo Rica2024-07-172-5/+4
| | | | | Use the same visualization as the other parts of the web in the table that groups clients by ogLive.
* views: list default oglive in Set ogLive formAlejandro Sirgo Rica2024-07-171-10/+11
| | | | | | | Show default oglive as "ogLive (live name)" as the last option int the Set ogLive form. The previous implementation defined the default oglive as the most used when the default one is defined by /oglive/list.
* ogcp: show cache contents in client detailsAlejandro Sirgo Rica2024-07-164-173/+211
| | | | | | Show cache contents in client details for a more complete view of the client's state. Move the cache inspector code to its own template for reusability.
* ogcp: enable modification of client ipAlejandro Sirgo Rica2024-07-152-1/+3
| | | | | | Add 'id' value to the /client/update payload. Enable modification for the ip input field in the client update form.
* templates: hide part table in client details with no partitionsAlejandro Sirgo Rica2024-07-151-0/+2
| | | | | Remove <table> with partition information in client details form when the selected client has no partition configuration.
* templates: make ClientDetailsForm render more compactAlejandro Sirgo Rica2024-07-151-4/+68
| | | | | | | | Make the client form more compact so the user does not require to scroll to view all the information. Place each label and field in the same row of the form layout. Disable the Maintenance and Remote fields as they have not actual functionality.
* ogcp: show checksum in image infoAlejandro Sirgo Rica2024-07-122-0/+7
| | | | | | | Improve potential image troubleshooting within ogCP. Add checksum to the image info view. Show "Unknown" when no checksum is available.
* ogcp: add checksum to images in Manage cacheAlejandro Sirgo Rica2024-07-122-0/+2
| | | | | Ease detection of potential problems with images in cache. Show checksum under each image in the form.
* templates: force CSS update to show oglive indicatorAlejandro Sirgo Rica2024-07-111-1/+1
| | | | Increase CSS version to update CSS file in browser cache.
* templates: force OS selection in Boot OS form1.1.3-24Alejandro Sirgo Rica2024-07-091-1/+1
| | | | | | Prevent backtrace when not OS is selected before the form submit. Add 'required' attribute to the <input> elements of each OS option in the Boot OS form.
* views: fix user scope filteringAlejandro Sirgo Rica2024-07-091-1/+2
| | | | | | | Create a copy of the array with scope references before the iteration and modification of the scopes dictionary. Prevent skipping values after deleting an element during the scope iteration.
* views: skip cache space checks if already contains the imageAlejandro Sirgo Rica2024-07-091-10/+23
| | | | | | | Skip checks of image_fits_in_cache() if the image data contains not 'size' or 'checksum' information. Skip checks for the clients with the image already in cache.
* ogcp: select images of selected partition in image/updateAlejandro Sirgo Rica2024-07-092-7/+52
| | | | | | | | | | | Select the image field value containing the restored image of the partition selected by the user. Create a dictionary where the key is the value= of the partition field and the value is the id of the image restored in the partition. Add each dictionary entry only only if the corresponding image exists in the repository. Pass the dictionary to the HTML template and convert it to JS.
* ogcp: show an indicator in each sidebar branch with live childrenAlejandro Sirgo Rica2024-07-094-6/+32
| | | | | | | | | | | | | | Add visual indicator to the disclosure widget when its branch has any clients in live mode. Ease the search of systems in ogLive in need of being booted or turned off. Add id= to the HTML component containing the disclosure widget. Set the id to the value scope_type-scope_name for type='server' and scope_type-scope_id for the rest. Add the CSS class 'live-report' to the HTML components with live children. Assign the class field in the js function updateScopes.
* ogcp: fix client pill status reportAlejandro Sirgo Rica2024-07-092-2/+2
| | | | | | | | | | | Prevent cases where the client pills would stay locked reporting a specific system. Remove pill-* classes instead of text-* classes in function updatePillStatus(). This fixes out-of-sync state representation between sidebar and main section.
* views: add auxiliar function is_valid_ip()Alejandro Sirgo Rica2024-07-091-9/+10
| | | | | Move ip validation logic to a separate function to make the code more expressive and reusable.
* ogcp: make client name field mandatory in client formAlejandro Sirgo Rica2024-07-092-1/+8
| | | | | | Add InputRequired validator to the name field of the ClientDetailsForm. Validate name value in the POST function.
* ogcp: use csv as new format for import clientsAlejandro Sirgo Rica2024-07-092-25/+48
| | | | | | | | | | | Replace dhcpd format with the simpler csv format to configure the list of clients to import in /action/clients/import. Replace regex parsing with a simpler manual parsing. Improve error report. Example configuration: client_name1,94:c6:91:a6:25:1a,10.141.10.100 client_name2,94:c6:91:a6:25:1b,10.141.10.101
* views: check invalid values in prettify_mac()Alejandro Sirgo Rica2024-07-041-3/+7
| | | | Return without modification if the MAC is not valid.
* views: validate MAC address after POSTAlejandro Sirgo Rica2024-07-031-2/+21
| | | | | | Check if the provided MAC address is valid in every form where the use has to provide one. Show an error message when the format is incorrect.
* views: show MAC as lowercase with colon separatorsAlejandro Sirgo Rica2024-07-031-4/+7
| | | | | | | Define a function to format the MAC string for every view in the web. Example of formatted MAC address: aa:bb:cc:dd:ee:aa Show MAC address in client pills in that same format.
* views: normalize every MAC address during POST processingAlejandro Sirgo Rica2024-07-031-3/+6
| | | | | | | | | | Use aabbccddeeaa as MAC format in every payload. List of accepted MAC formats: aabbccddeeaa aa:bb:cc:dd:ee:aa aa-bb-cc-dd-ee-aa aa.bb.cc.dd.ee.aa
* templates: fix commands button layoutAlejandro Sirgo Rica2024-07-031-4/+5
| | | | | Fix <div> structure to enable proper flow layout when the web size changes and the command buttons need to reposition.
* templates: preserve formatting in script outputAlejandro Sirgo Rica2024-07-011-1/+1
| | | | | Use <pre> instead of <samp> to display command output, as <pre> preserves the new lines and the format of its inner text.
* views: remove debug messages with payload infoAlejandro Sirgo Rica2024-07-011-2/+2
| | | | Remove print statements in views.py to reduce logging noise.
* ogcp: set default SameSite attribute in session cookie1.1.3-23Alejandro Sirgo Rica2024-06-281-0/+4
| | | | | | | | | | | | | | | | | Set the SameSite attribute to 'Lax' if not defined. The SameSite attribute is a cross-site tracking prevention measure and defines when cookies are sent within the HTTP headers and the cases when they are not sent. The 'Lax' configuration has the following features: - Cookies are sent with same domain requests. - Cookies are sent when the user navigates to your site by clicking a link or submitting a form from another site. - Not sent with requests made from other sites such as embeded content. Prevent warning from browsers such as Firefox from complaining about undefined SameSite value.