| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Add a readonly view for the center data.
Mark all the form fields as readonly and set the hidden attribute
to the submit field.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Remove print statement generating noise in the browser logs
|
|
|
|
|
|
| |
Add oglive to each client pill in action/oglive using js.
This makes easier to have a global perspective of the client's
configuration.
|
|
|
|
|
|
|
| |
Enable selection of multiple scopes in user/add and user/edit
for restricted users.
Replace quick form creation with an inline form definition in
add_user.html and edit_user.html
|
|
|
|
|
| |
Remove the <script> block as the function digestUserFormPassword no
longer exists.
|
|
|
|
|
|
|
|
|
|
|
| |
Allow the selection of multiple client checkboxes if they belong
to the same room.
Each checkbox input in the DOM has a "data-parent-room" attribute
whose value is the value of the "name" attribute of its parent
room scope component.
To check if a checkbox is a client and a sibling of the one being
checked we check if "data-parent-room" is available for both nodes
and if they have the same value.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add cache buster to soleta.css in base.html to have control over
cache expirity.
Bump soleta.css version to ensure browser does not used older (cached)
version.
Add CSS rules to show a disclosure widget in the sidebar.
Show center checkboxes as disabled in the commands view sidebar
for visual consistency.
Add class "collapsed" to the proper HTML components to keep a
proper state on page reload.
|
|
|
|
|
|
|
|
|
|
|
| |
Maintain selections made in scope sidebar after clicking an action
(ie. client add, room delete, etc.)
Use ids instead of names as the name html property is the same for
every room and center.
Call keepSelectedClients() in macros.html for both Scope Management
and Commands instead of only in Commands.
Add a "context" value to the checkbox id to separate scope and
commands values in local storage.
|
|
|
|
|
| |
Add html template for the route /action/center/update.
Finish the work started in commit 6ec26d16.
|
|
|
|
|
|
|
|
|
| |
Fix the definition of javascript code to generate a correct
message window for multiple error messages.
The error is cause by a redefinition of 'let bgclass' in multiple
lines when the html template receives multiple error messages.
Each iteration to generate the code for the error messages tries
to redefine the variable bgclass and it causes the js to fail.
|
|
|
|
|
|
| |
Add boot mode to each client pill in action/mode using js.
This makes easier to have a global perspective of the client's
configuration.
|
|
|
|
|
| |
Hide form table when the client's cache is empty and inform the
user about the selected clients not having images in cache.
|
|
|
|
|
| |
Hide the Delete Image in user mode using template conditionals.
A non admin account should not have access to image deletion.
|
|
|
|
|
|
|
| |
Use base 2 storage units in html templates as that's the correct
representation for the values shown in the web.
Remove units such as "Gbytes" and "MB" for their binary byte unit
counterparts.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement cache management through cache/list and cache/delete
API REST methods.
The view corresponds to the URL action/cache and contains three
main parts:
- Free cache available in the client's bubbles.
- Image selection form to request the deletion and view the
client with that image in cache.
- Cache details per client to see total, used and available cache.
The main usecase for the view is the removal of cache to make room
for new images in clients with slow connections. Checking clients
where available cache space is not enough to hold the new image and
then requesting removal of specific images.
The html template receives the following structures from the view:
storage_data[ip] = {'used': 223452345,
'total': 2345234523452}
client_images[ip] = [f'{image_name}.{image_checksum}', ...]
image_data[f'{image_name}.{image_checksum}'] = {
clients: ['192.168.0.1', ...],
size: 34534530850,
name: image_name,
}
|
|
|
|
|
|
|
|
|
| |
Enable working over multiple clients even if their OS configuration
is different to greatly improve the user's workflow.
Group clients with the same configuration under the same checkbox
in the form.
Report clients excluded from the boot instruction due to not
matching OS configuration.
|
|
|
|
|
|
| |
Ignore any room, center or folder as they don't have a MAC address.
Trying to get the MAC of an scope element without one leads to a
JS exception.
|
|
|
|
| |
Remove print statement generating noise in the browser logs.
|
|
|
|
|
|
|
| |
Remove the 'Format' field from the Partition and Format form as
the default value will always be to format the partitions.
This will lead to less portantial codepaths to maintain and
support and less manual clicks in the web form.
|
|
|
|
|
| |
Add check to test if a pill control has been found and don't try
to add mac data to non existent client pill controls.
|
|
|
|
|
|
|
| |
Show the partition id as a non editable label in each partition
of the Partition and Format form.
Assign sequential partition id from top to down and recalculate
every partition id when a partition is removed.
|
|
|
|
|
|
|
| |
Update all the name and id fields of the elements in the partition
form after a delete operation.
Inconsistent ids make form.validate() to always return False, this
causes all the form validation code to be skipped.
|
|
|
|
| |
add view to update center data such as its name or comment.
|
|
|
|
| |
Add view to modify room information such as name, gateway and netmask
|
|
|
|
| |
Add view to modify folder information such as name
|
|
|
|
|
|
|
| |
Although ogcp support for multiple server, the plan is to only support for one
server in this version.
Remove Server: context information and Repo: in list images
|
|
|
|
|
|
|
|
| |
preselect 'pxe' (if available) at adding a new client.
use a dedicated template for adding a client and remove irrelevant
partition table; client has yet to set its partition, so everytime, the
table would load empty.
|
|
|
|
|
|
|
|
| |
Make delete confirmations show information in a manner that is easier to
read. This includes delete confirmations for centers, room and folder.
Messages are now more clear. Also, content table shows the type of the
items (folder, room, etc.)
|
|
|
|
|
|
|
|
|
|
|
| |
Make list images command show only information of the images the user
has selected in the sidebar.
Improve readability of the information.
Show size and data size attributes rounded
Warn the user if no images have been selected in sidebar
|
|
|
|
|
|
|
|
|
|
| |
In delete-center, delete-room and delete-folder confirmation pages, show
the ancestors of the items about to delete. Likewise, show the items it
contains.
For example, if user is about to delete a room, confirmation page will
display in which center it is contained and the clients and folder it
has inside
|
|
|
|
|
| |
Add list images action that shows a list of all the images in each
server and their properties
|
|
|
|
|
|
| |
Add icons to differentiate folders.
Use 📁 which represents folder using emojis.
|
|
|
|
|
|
|
|
| |
When setting up oglive, preselect oglive that is most used by selected
clients. If only one client is selected, preselect that of the client.
In the unusual scenario where a client is set with an oglive that is not
in the ogserver's list of available oglives, preselect default.
|