summaryrefslogtreecommitdiffstats
path: root/ogcp/templates
Commit message (Collapse)AuthorAgeFilesLines
* 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-092-0/+29
| | | | Add view to request the download of images into the client's cache.
* views: enable multi-image deletionAlejandro Sirgo Rica2024-08-061-1/+2
| | | | Allow the deletion of multiple images in image/delete.
* css: add iOS fonts to disclosure widgetAlejandro Sirgo Rica2024-08-051-1/+1
| | | | | Add Helvetica fonts to the fonts used to render the disclosure widget in the sidebar.
* js: enable center selection in CommandsAlejandro Sirgo Rica2024-08-051-1/+1
| | | | | Enable center checkboxes and implement selection of clients from multiple rooms in the same center.
* ogcp: add connected clients list viewAlejandro Sirgo Rica2024-08-052-1/+56
| | | | | | 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.
* 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-251-1/+1
| | | | | 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-251-1/+1
| | | | | Add a red inner pill to the link speed value when the speed is lower than 1Gb/s.
* ogcp: add image restrict functionalityAlejandro Sirgo Rica2024-07-255-16/+63
| | | | | | | | | | | 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-251-1/+1
| | | | | Prevent inconsistent visuals in different browser configurations. Make the disclosure widget always look the same.
* ogcp: improve sidebar logic in CommandsAlejandro Sirgo Rica2024-07-222-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* css: use min-width instad of wifth for client pillsAlejandro Sirgo Rica2024-07-171-1/+1
| | | | | | 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-171-2/+2
| | | | | Use the same visualization as the other parts of the web in the table that groups clients by ogLive.
* ogcp: show cache contents in client detailsAlejandro Sirgo Rica2024-07-163-145/+158
| | | | | | 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.
* 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: add checksum to images in Manage cacheAlejandro Sirgo Rica2024-07-121-0/+1
| | | | | 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.
* ogcp: select images of selected partition in image/updateAlejandro Sirgo Rica2024-07-091-5/+38
| | | | | | | | | | | 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-092-4/+7
| | | | | | | | | | | | | | 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-091-1/+1
| | | | | | | | | | | 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.
* 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.
* templates: improve client list in cache and boot os viewsAlejandro Sirgo Rica2024-06-282-2/+10
| | | | Show client IPs inside div components with a custom "card" styling.
* templates: replace start session with boot OSAlejandro Sirgo Rica2024-06-281-1/+1
| | | | | Update the header in the BootOS view to better fit the purpose of the operation.
* templates: add vertical padding to the no cache messageAlejandro Sirgo Rica2024-06-281-1/+1
| | | | | Add vertical padding to the div holding the report of no selected client with cached images.
* templates: improve spacing in main dashboardAlejandro Sirgo Rica2024-06-281-1/+1
| | | | | Use a plain line break instead of a horizontal rule to split the server information.
* templates: hide detailed cache view with zero imagesAlejandro Sirgo Rica2024-06-281-5/+6
| | | | | | Hide the cache inspector when no cache elements are found in neither of the selected clients. Fix js exception caused by an array access in an empty image list.
* templates: fix no image message in manage cache viewAlejandro Sirgo Rica2024-06-281-1/+1
| | | | | The template conditional must show the table when form.images has more than zero elements.
* templates: improve user sidebar styleAlejandro Sirgo Rica2024-06-281-3/+4
| | | | | Use Bootstrap list-group class and adjust content alignment with a flex container.
* templates: fix user form alignmentAlejandro Sirgo Rica2024-06-272-2/+3
| | | | Add class="mx-5" to allign the form with the header of the page.
* ogcp: improve page heading styleAlejandro Sirgo Rica2024-06-2747-62/+62
| | | | Make headings take less space and have a dashed line under them.
* ogcp: add user permission mechanismAlejandro Sirgo Rica2024-06-2710-131/+214
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a new user permission system to control the allowed operations accessible from each account. Add a permission matrix editable through the user/add and user/edit views. The permission matrix has client, center, room, folder, image and repository as permission targets and add, update and delete as permission types. Restrict each view based on the user permissions, hide all actions from not autheticated users. permissions defined in the class UserForm. Serialize each user permissions into ogcp.json as: { ... "USERS" [ { "USER": "admin" ... "PERMISSIONS": { "CLIENT": { "ADD": true, "UPDATE": true, "DELETE": true, }, ... <- same structure for "CENTER", "ROOM", "FOLDER", "IMAGE" and "REPOSITORY" } }, ... ], ... } Grant all the permissions to old user configuration to not disrupt their workflow. The administrator will need to assign the permissions for each user. Ignore scope and permission restrictions for admin users. Save permissions and scopes even if the user is admin to account for the case of a temporal admin promotion without losing the previous configuration. Use template inheritance for add_user.html and edit_user.html to prevent big code duplication with the new HTML code to render the permission matrix. Make user administration an admin only feature. Define methods get_permission and target_is_disabled to improve readability in template conditionals that disable features based on user permissions.
* templates: rename Edit client to Update clientAlejandro Sirgo Rica2024-06-251-1/+1
| | | | | Rename Client/Edit client menu in scopes management view to keep the same naming pattern as the other menu elements.
* ogcp: add support to view script outputAlejandro Sirgo Rica2024-06-252-0/+76
| | | | | | | | | | Add view at /action/script/output to visualize the result of /shell/run for multiple clients. Use shell/output to request the execution data of the selected clients. Each client element has execution timestamip (UTC), client ip, cmd, return code and stdout of the executed command.
* ogcp: add support to run scripts in clientsAlejandro Sirgo Rica2024-06-252-0/+34
| | | | | | | | Add view at /action/script/run to visualize the available scripts and run a single script file in the selected clients. Use shell/list to request the script list and shell/run API call to request the execution.
* templates: make opengnsys buttom redirect to dashboardAlejandro Sirgo Rica2024-06-251-1/+1
| | | | | | Add functionality to the "Opengnsys" text in the top navbar. Comform to the general design priciple of executing a redirecting after clicking the main logo.
* templates: rename Start session to Boot OSAlejandro Sirgo Rica2024-06-201-1/+1
| | | | | Use a better name for the form action used to boot an operating system in the clients.
* templates: show client details at the end of the client optionsAlejandro Sirgo Rica2024-06-201-2/+2
| | | | | Move "Client details" to the last option of the "Client" dropdown in the Commands page.
* views: make password optional in user/editAlejandro Sirgo Rica2024-06-191-2/+2
| | | | | | | | | Add the option to leave the password fields empty in the form. When the passwords are not set the user keeps the old password configuration. Define a EditUserForm based on UserForm in forms/auth.py to remove the InputRequired validator in the password fields. Update the html template to make the password fields optional.
* templates: remove servers view in main navbarAlejandro Sirgo Rica2024-06-181-3/+0
| | | | | Remove the Servers button from the main navbar but keep the multiserver related code.
* css: offset the sidebar to acommodate all disclosure widgetsAlejandro Sirgo Rica2024-06-181-1/+1
| | | | | Add a left padding to show the disclosure widget associated to a server item. Prevent the positioning of out of screen components.
* js: show correct initial disclosure widget stateAlejandro Sirgo Rica2024-06-171-1/+1
| | | | | Add the class "collapsed" to the html elements defined as not shown in the local storage for the images list sidebar.
* ogcp: add room details view to scopes managementAlejandro Sirgo Rica2024-06-172-0/+20
| | | | | | Add a readonly view for the room data. Mark all the form fields as readonly and set the hidden attribute to the submit field.
* ogcp: add center details view to scopes managementAlejandro Sirgo Rica2024-06-172-0/+20
| | | | | | Add a readonly view for the center data. Mark all the form fields as readonly and set the hidden attribute to the submit field.
* ogcp: add move client to scopes managementAlejandro Sirgo Rica2024-06-172-0/+27
| | | | | | | | | | Add front end for the client/move REST API. Enable the move of multiple clients selected from the sidebar of Scopes Management. Show the target of the move operation as a list of paths in a dropdown widget in the form. Each path will be structured as: Server/Center/Room The path will also contain folders if they are present.