Commit Graph

532 Commits (76fe1b775a2fdad4ee7b8d04f2a71778f693d8e4)
 

Author SHA1 Message Date
Javier Hernandez 4060b64612 views: Fix traceback due to missing translation
Fix crash when adding a folder if no room or center is selected
because no translation is available.

plan is to update translations in a follow up patch.
2024-01-22 19:41:42 +01:00
Javier Hernandez 3b319a17a8 views: Display error if partitions are not available
Display an error if the user tries to partition and format a client that
has no partition info available
2024-01-22 11:15:04 +01:00
Javier Hernandez 42f8ea9e40 views: Display error if software inventory are not available
Display an error if the user tries to view software inventory but it is
yet not available
2024-01-22 11:15:00 +01:00
Javier Hernandez 8cd2f75d51 views: Fix wrong room in client details
Fix incorrect room showing in client-details command.
2024-01-22 11:09:37 +01:00
Javier Hernandez 7645020595 views: Add checking that no folder is selected
Check that, when adding a new folder there is no other folders checked.
It is only allowed to add folders to either centers or rooms
2024-01-19 13:34:24 +01:00
Javier Hernandez 3844a3a48a templates: Add versioning to avoid browser caching ogcp.js errors
Add version parameter to ogcp.js url. This is so that, if ogcp.js is
modified, the browser is able to see that that file has been changed and
that it has to load the new version instead of acquiring it from cache.

We have experienced stranged errors, related to browsers caching old
javascript files, leading to python flask backend backtraces
2024-01-19 13:19:24 +01:00
Javier Hernandez 1847206ba1 views: Fix unable to aquire server from ips
Fix get_server_from_clients() not working when selecting empty computer
folders in sidebar.

Previously, parse_elements was wrongly parsing folders. That produced a
erronous list of ips and when fed to get_server_from_clients() it would
fail.
2024-01-19 12:58:17 +01:00
Javier Hernandez 3685308ec9 templates: stilistic change in mode template
Remove warning header and show selected clients above boot-mode tables
2024-01-19 11:05:05 +01:00
Javier Hernandez b6b16f895e views: preselect most used bootmode
In "set boot-mode" preselect bootmode that is most used by the clients
selected.
2024-01-18 17:04:59 +01:00
Javier Hernandez cfd98c664b templates: fix wrong navigation details
Fix wrong navigation details in template select_client.
2024-01-18 10:27:09 +01:00
Javier Hernandez 4acb37d8c5 views: fix client update form crashing
Fix client update view crashing due to missing images variable.

Check if GET /images fails.
2024-01-18 10:26:28 +01:00
Javier Hernandez 02b6059c70 views: add an action to view repo details
Add an action to allow the user to view details (name and ip) of a
particular repo.
2024-01-16 13:25:42 +01:00
Javier Hernandez bf90e91e24 views: Fix bug in images view
Fix unusable image view when an image has a repo associated that no longer
exists. Display image under "unknown" if there is no repo for it.
2024-01-15 11:10:37 +01:00
Javier Hernandez 19e0517511 views: Fix table showing client's partitions
Display partition table in Scopes -> Client Update, this is meaningful context
information
2024-01-15 10:23:21 +01:00
Javier Hernandez 409dbe3f5c views: set boot field to readonly
In edit client form, set boot field to read-only

Boot mode can be updated from Commands -> Set boot mode, it is more flexible to
do it from there, because you can select several clients and set the boot mode
at once.
2024-01-15 10:23:09 +01:00
Javier Hernandez d075cdd003 forms: Remove netiface from client's form
Remove netiface selectable in clientsDetails form.

eth{0,1,2} is misleading, it does not represent the real device in the client.

And users we know always boot from the first device.

Hide this feature until there is a better design for this.
2024-01-15 10:23:05 +01:00
Javier Hernandez 04fe9e8367 views: Make session form easier to understand
Show a more detailed description of each choice

Display an error and redirect the user if an empty list of os's was
received. Post does not work with an empty list
2024-01-12 14:27:22 +01:00
Javier Hernandez 088316e006 views: Make client details form read only
In client details command, show read-only form
2024-01-12 12:18:00 +01:00
Javier Hernandez c20061db56 views: Show error when not able to retrieve oglive list
Show the user an error if ogServer responds with an error when
retrieving oglive list
2024-01-12 11:59:53 +01:00
Javier Hernandez b542031193 views: add room to folder
Support adding a room to a folder
2024-01-11 13:36:23 +01:00
Javier Hernandez cba7a0c1c6 views: Add computers to folder
Add support for adding computers to a folder.

It uses a js script that when selecting a folder in the html form, it
will also select the parent of the folder. For instance, if the user
were to select a folder that is contained inside a room, the room would
also get selected. This allows the view to know which parent contains
the folder.
2024-01-11 13:36:19 +01:00
Javier Hernandez 2509cacc00 views: Add delete folder
Add functionality to allow the user to delete a folder.

Show a confirmation page to the user listing the content of the folder
that is about to delete
2024-01-10 11:31:15 +01:00
Javier Hernandez 695fcfe625 src: Add support for adding folders
Add support to create a folder able to contain multiple computers.

Add support for adding a folder able to contain rooms
2024-01-10 11:31:08 +01:00
Javier Hernandez 58b5b2eca0 views: Warn user when no logs available
Warn user if trying to access the logs of a client that don't yet exist.
This is prefered to showing the backtrace to the user.
2024-01-10 11:26:59 +01:00
Javier Hernandez 58852f68aa views: Check for empty list of boot modes
In set boot mode, show an error if server replies with an empty list of
boot modes
2024-01-08 10:28:11 +01:00
Javier Hernandez f538364d94 views: Make set boot-mode more robust
Check that server replies with error code and display an error if it
does.
2024-01-04 13:13:51 +01:00
Javier Hernandez b4856c9b27 templates: Make stilistic changes in dashboard
- Remove a table with redundant info; it was displaying server's stats,
  which was already in another table
- Add last update info at the top of the page
- Make page more robust by checking if ogLive images are available.

Before this patch, page shows a traceback if the ogLive list are not available.
2024-01-03 11:39:02 +01:00
Javier Hernandez 1497e500cb Warn if clients have different boot modes
Show user, when attempting to change the bootmode of more than one
client with different boot modes, a warning and a table with said
bootmodes.
2023-12-22 12:21:26 +01:00
Javier Hernandez 01977dcd66 views: Sort scopes tree alphanumerically
Sort tree that contain the scope information (centers, rooms, clients)
so that they appear in sidebar in alphanumerical order.
2023-12-22 11:19:21 +01:00
Javier Hernandez 3587806937 views: Allow to change boot mode in edit client
Allow user to change boot mode when editing a client.

First item selected is the client's current boot mode. This is so that
if the user edits the client's data, but doesnt touch bootmode, it stays
the same.
2023-12-21 17:00:14 +01:00
Javier Hernandez 555460f982 Remove id from client's bubbles
Remove id from client's bubbles in the following commands: Power
(Poweroff, Poweron, Reboot); Setup (Set boot mode, Set ogLive); Client
(Start session)

To make the string replacement, a custom jinja filter has been created
2023-12-21 12:22:44 +01:00
Javier Hernandez 52c5555f65 templates: rename 'create' button to 'submit'
In client_details template, rename 'create' button to 'submit'.

This template is used by both client-add and client-edit commands; it
would not make sense to have a 'Create' button in client-edit.
2023-12-21 11:54:01 +01:00
Javier Hernandez a5a5ef362b views: Limit update image to images available in assigned repository
Allow to update only images that are in the repo the client is assigned
to; if an image is inside a different repo, it will not appear in the
'Image' selector
2023-12-20 11:10:07 +01:00
Javier Hernandez 906c3070ed views: Fix bug in client detail with non existing images
Fix client detail form failing in some cases. It would fail if the user
wanted to view the details of a client, that had a partition using an
image that is no longer in the list of all images stored by the servers.
This could happen if the image was deleted, but the client still was using
the image in one of its partitions
2023-12-19 13:22:01 +01:00
OpenGnSys Support Team 3c7e3e1e3b views: use new POST image/update to update image
use new POST image/update when updating an image.
2023-12-19 12:50:25 +01:00
Javier Hernandez 739053fc20 Allow show assigned repo in image/create
Allow only the creation of images in the repository that is currently
assigned to the selected client.

This operation is still not handled in ogserver and oglive, it needs
more work behind the scenes: it needs an update in the templates and
it also needs the new ogLive builder so ogClient has control on the
samba mount.
2023-12-19 10:42:28 +01:00
Javier Hernandez 67cca9872a templates: Show username in top navbar
Show the username of the user currently logged-in in the top navbar.
2023-12-18 13:49:05 +01:00
Javier Hernandez 869f15ecf0 Limit restore image to images of assigned repo
Allow to restore only to images that are in the repo the client
is assigned to.
2023-12-15 13:02:54 +01:00
Javier Hernandez 6cb7be03fd Add scope-management for non-admin users
Add scope-management menu with limited commands for non-admin users;
commands allowed are add/edit/edit/delete/import client(s)
2023-12-15 12:06:27 +01:00
Javier Hernandez a9d367e795 views: Preselect client's associated repo
Make the create-image menu preselect the repo of the selected client
2023-12-15 11:44:38 +01:00
Javier Hernandez 24aab951a8 Group images by repos
Make the sidebar from the images menu display the list of repos grouped
by repos
2023-12-14 12:35:01 +01:00
Javier Hernandez aa6061dad7 Limit allowed scopes to only centers
Modify the add/edit users menu to make the 'allowed
scopes' field only display centers
2023-12-13 13:28:02 +01:00
Javier Hernandez 131404dfd7 ogcp.js: Remove id part from client bubbles
Bubbles depicting clients were previously displaying in the format
<client_name>_<client_id>. This commit changes that to only display the
name
2023-12-13 13:25:29 +01:00
Javier Hernandez 609ff0e19e views: add select repo in import clients
Add, in import clients menu, a selector to select the repo to be
associated with the clients about to import

modify OG_CLIENT_DEFAULT_BOOT variable to be 'oglive'; 'pxe' is not a
valid boot mode, and ogserver would return an error
2023-12-13 11:39:08 +01:00
Javier Hernandez 069733b00e base: Increase column size for sidebar
Make the sidebar wider to improve readability of its content
2023-12-12 14:32:47 +01:00
Javier Hernandez 0f5ba31c09 views: Add 'description' field to image details
Add a 'description' field to the image-details form.
2023-12-12 11:42:43 +01:00
Javier Hernandez 84bcdb3cae Change Image-details' 'Datasize' unit to MiB
Change the Image details form to display the 'Datasize' field of the
image in MiB instead of GiB
2023-12-12 11:00:19 +01:00
Javier Hernandez c66871f3ce Fix bug at create and update image
Fix a bug that made the create and update images actions unusable.

The data sent to post was incomplete; partition's 'code' data was missing.
2023-12-12 11:00:17 +01:00
Javier Hernandez c1548fd219 views: Check form contain a cache partition
Make the partition and format form fail if the user has not added a
cache partition.

A cache partition is required to make the restoration of images work
2023-12-11 13:34:25 +01:00
Javier Hernandez cc5c0105db ogcp.js: Fix bug when adding a new partition
Fix a bug that made the 'add a new partition' button unusable if all
partitions (rows) were deleted.

The reason for this bug was that the AddPartition() function would add a
new partition by cloning an already present html row element. This would
fail if no more rows were present in the table.

The solution implemented checks, previous to delete a partition, if it
is the last partition. If it is, then, instead of removing the whole
row, it just empties it.

Html button element needs to contain 'type="button"' attribute for this to
work. Otherwise, default action for the button is submit and it would
redirect after clicking.
2023-12-11 11:43:42 +01:00