| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Improve potential image troubleshooting within ogCP.
Add checksum to the image info view.
Show "Unknown" when no checksum is available.
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Move ip validation logic to a separate function to make the code
more expressive and reusable.
|
|
|
|
|
|
| |
Add InputRequired validator to the name field of the
ClientDetailsForm.
Validate name value in the POST function.
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Return without modification if the MAC is not valid.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
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.
|
|
|
|
| |
Remove print statements in views.py to reduce logging noise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Show client IPs inside div components with a custom "card" styling.
|
|
|
|
| |
Make the submit label more uniform across the forms.
|
|
|
|
|
| |
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.
|
|
|
|
| |
Check if the request response is null and report it to the user.
|
|
|
|
| |
Show a flash message when an user is created or edited successfully.
|
|
|
|
| |
Replace "do not exists" with "does not exist" in error messages.
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
Prevent unexpected behaviour in image operations caused by user
error.
Remove partitions of type 'EMPTY', 'LINUX-SWAP', 'CACHE' and 'EFI'
from the image/create, image/restore and image/update forms.
Remove check for the existence of these partitions in
action_image_restore as they are no longer available in the form.
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
If password and confirm password fields mismatch in user/edit,
then the user is deleted.
The deletion of the user happens before the password validation
and the new user configuration is only saved if the validation
passes.
Add code to properly handle the user deletion after the validation.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Improve the wording of the error message reporting the clients
without enough cache to hold the image to be restored.
|
|
|
|
|
|
|
|
|
| |
Check if the image to be restored fits in the client's cache to
provide a better feedback for a failed restore operation.
Report the needed free space in clients where it does not fit.
Only check if the reported image size is not 0, older images
may not define the "size" attribute.
Ignore the check if the restore type is UNICAST-DIRECT.
|
|
|
|
|
|
| |
Check the restored image fits in the target partition only if
the datasize value is not zero. Proceed with the check before
the image/restore request otherwise.
|
|
|
|
|
| |
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.
|