| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Don't access client.speed if the field is not present.
|
|
|
|
| |
Use "Restore image" instead of "Restore Image" for consistency.
|
|
|
|
| |
Add view to request the download of images into the client's cache.
|
|
|
|
| |
Allow the deletion of multiple images in image/delete.
|
|
|
|
|
| |
Add Helvetica fonts to the fonts used to render the disclosure
widget in the sidebar.
|
|
|
|
|
| |
Enable center checkboxes and implement selection of clients from
multiple rooms in the same center.
|
|
|
|
|
|
| |
Add view to show the connected clients with access to the client
details of each one. The view is accessible through the main
dashboard.
|
|
|
|
| |
Add link to image count in dashboard to open images view.
|
|
|
|
|
| |
Make the form template update automatically after form definition
modifications. Use a loop to render the for fields.
|
|
|
|
|
| |
Improve html structure inside client pills so the values can be
obtained with jquery by matching the name field of the div.
|
|
|
|
|
| |
Add a red inner pill to the link speed value when the speed is
lower than 1Gb/s.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Prevent inconsistent visuals in different browser configurations.
Make the disclosure widget always look the same.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Use the same visualization as the other parts of the web in the
table that groups clients by ogLive.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Remove <table> with partition information in client details form
when the selected client has no partition configuration.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Ease detection of potential problems with images in cache.
Show checksum under each image in the form.
|
|
|
|
| |
Increase CSS version to update CSS file in browser cache.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Fix <div> structure to enable proper flow layout when the web
size changes and the command buttons need to reposition.
|
|
|
|
|
| |
Use <pre> instead of <samp> to display command output, as <pre>
preserves the new lines and the format of its inner text.
|
|
|
|
| |
Show client IPs inside div components with a custom "card" styling.
|
|
|
|
|
| |
Update the header in the BootOS view to better fit the purpose
of the operation.
|
|
|
|
|
| |
Add vertical padding to the div holding the report of no selected
client with cached images.
|
|
|
|
|
| |
Use a plain line break instead of a horizontal rule to split the
server information.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
The template conditional must show the table when form.images has
more than zero elements.
|
|
|
|
|
| |
Use Bootstrap list-group class and adjust content alignment with
a flex container.
|
|
|
|
| |
Add class="mx-5" to allign the form with the header of the page.
|
|
|
|
| |
Make headings take less space and have a dashed line under them.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Rename Client/Edit client menu in scopes management view to keep
the same naming pattern as the other menu elements.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Use a better name for the form action used to boot an operating
system in the clients.
|
|
|
|
|
| |
Move "Client details" to the last option of the "Client" dropdown
in the Commands page.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Remove the Servers button from the main navbar but keep the
multiserver related code.
|
|
|
|
|
| |
Add a left padding to show the disclosure widget associated to
a server item. Prevent the positioning of out of screen components.
|
|
|
|
|
| |
Add the class "collapsed" to the html elements defined as
not shown in the local storage for the images list sidebar.
|
|
|
|
|
|
| |
Add a readonly view for the room data.
Mark all the form fields as readonly and set the hidden attribute
to the submit field.
|