summaryrefslogtreecommitdiffstats
path: root/ogcp
Commit message (Collapse)AuthorAgeFilesLines
* views: Show error when not able to retrieve oglive listJavier Hernandez2024-01-121-0/+4
| | | | | Show the user an error if ogServer responds with an error when retrieving oglive list
* views: add room to folderJavier Hernandez2024-01-112-2/+10
| | | | Support adding a room to a folder
* views: Add computers to folderJavier Hernandez2024-01-114-8/+25
| | | | | | | | | | 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.
* views: Add delete folderJavier Hernandez2024-01-105-0/+87
| | | | | | | 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
* src: Add support for adding foldersJavier Hernandez2024-01-104-1/+77
| | | | | | Add support to create a folder able to contain multiple computers. Add support for adding a folder able to contain rooms
* views: Warn user when no logs availableJavier Hernandez2024-01-101-0/+3
| | | | | 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.
* views: Check for empty list of boot modesJavier Hernandez2024-01-081-0/+4
| | | | | In set boot mode, show an error if server replies with an empty list of boot modes
* views: Make set boot-mode more robustJavier Hernandez2024-01-041-0/+4
| | | | | Check that server replies with error code and display an error if it does.
* templates: Make stilistic changes in dashboardJavier Hernandez2024-01-032-51/+17
| | | | | | | | | - 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.
* Warn if clients have different boot modesJavier Hernandez2023-12-222-1/+41
| | | | | | 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.
* views: Sort scopes tree alphanumericallyJavier Hernandez2023-12-221-0/+13
| | | | | Sort tree that contain the scope information (centers, rooms, clients) so that they appear in sidebar in alphanumerical order.
* views: Allow to change boot mode in edit clientJavier Hernandez2023-12-211-2/+9
| | | | | | | | 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.
* Remove id from client's bubblesJavier Hernandez2023-12-213-1/+9
| | | | | | | | 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
* templates: rename 'create' button to 'submit'Javier Hernandez2023-12-213-5/+5
| | | | | | | 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.
* views: Limit update image to images available in assigned repositoryJavier Hernandez2023-12-201-2/+8
| | | | | | 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
* views: Fix bug in client detail with non existing imagesv1.1.3-10Javier Hernandez2023-12-191-2/+5
| | | | | | | | 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
* views: use new POST image/update to update imageOpenGnSys Support Team2023-12-191-1/+1
| | | | use new POST image/update when updating an image.
* Allow show assigned repo in image/createJavier Hernandez2023-12-191-3/+1
| | | | | | | | | | 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.
* templates: Show username in top navbarv1.1.3-9Javier Hernandez2023-12-181-0/+5
| | | | Show the username of the user currently logged-in in the top navbar.
* Limit restore image to images of assigned repoJavier Hernandez2023-12-151-4/+35
| | | | | Allow to restore only to images that are in the repo the client is assigned to.
* Add scope-management for non-admin usersJavier Hernandez2023-12-152-1/+5
| | | | | Add scope-management menu with limited commands for non-admin users; commands allowed are add/edit/edit/delete/import client(s)
* views: Preselect client's associated repoJavier Hernandez2023-12-151-1/+6
| | | | Make the create-image menu preselect the repo of the selected client
* Group images by reposJavier Hernandez2023-12-143-13/+66
| | | | | Make the sidebar from the images menu display the list of repos grouped by repos
* Limit allowed scopes to only centersJavier Hernandez2023-12-131-2/+11
| | | | | Modify the add/edit users menu to make the 'allowed scopes' field only display centers
* ogcp.js: Remove id part from client bubblesJavier Hernandez2023-12-131-1/+2
| | | | | | Bubbles depicting clients were previously displaying in the format <client_name>_<client_id>. This commit changes that to only display the name
* views: add select repo in import clientsJavier Hernandez2023-12-132-0/+4
| | | | | | | | 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
* base: Increase column size for sidebarv1.1.3-8Javier Hernandez2023-12-121-1/+1
| | | | Make the sidebar wider to improve readability of its content
* views: Add 'description' field to image detailsJavier Hernandez2023-12-122-0/+2
| | | | Add a 'description' field to the image-details form.
* Change Image-details' 'Datasize' unit to MiBJavier Hernandez2023-12-122-2/+2
| | | | | Change the Image details form to display the 'Datasize' field of the image in MiB instead of GiB
* Fix bug at create and update imageJavier Hernandez2023-12-121-2/+2
| | | | | | 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.
* views: Check form contain a cache partitionJavier Hernandez2023-12-111-0/+8
| | | | | | | 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
* ogcp.js: Fix bug when adding a new partitionJavier Hernandez2023-12-112-8/+16
| | | | | | | | | | | | | | | | | 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.
* templates: add missing delete/update repository templatesv1.1.3-7OpenGnSys Support Team2023-12-112-0/+34
| | | | | | | Add missing templates. Fixes: 15dd4c2a8f69 ('views: add action to update repo') Fixes: 152337b6bdb8 ('views: add action to delete repo')
* views: change repo add view to follow conventionv1.1.3-6Javier Hernandez2023-12-053-33/+30
| | | | | | | | | combine repo_add_get and repo_add_post into one, action_repo_add. This is to follow convention across all the views and to clarify that it is an action. rename repos_details template to repos_add. Now it is clear the purpose of each action template; there is one for each: add, delete and update
* views: add action to update repoJavier Hernandez2023-12-052-0/+39
| | | | | allow the user to update a repo by selecting one and pressing the update button.
* views: add action to delete repoJavier Hernandez2023-12-055-9/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | allow the user to delete a repo by selecting one and pressing the delete button. Previous to deletion, show the user a confirmation page (a form) with the details of the repo to delete the confirmation form is constructed with the fields of Repoform. RepoForm is also used in template used to create a repo. To make both templates work with RepoForm, RepoForm's field 'create' has been renamed to 'submit' ogcp.js: add a function to make that, when the user selects a repository, the server in which it is contained is automatically checked. We need it checked so that action_repo_delete can know the server to which it has to send the delete request. Use data-server in repos_details.html to make this work Validate, in action_delete_repo, that user has only selected one repo to delete. In order to do that, action_delete_repo view needs to be able to get a list of all selected repos. This is only possible if <input> elements that are associated with repos info contain a different name attribute per repo. In this case, template repos.html has been modified to use name={repo name}-{repo_id}. After this, parse_elements() will work and parse a set containing all selected repos. modify html input associated to repos server in order to follow same convention as in other templates. For example, images uses image-server; scopes, scope-server.
* cfg: add template fileOpenGnSys Support Team2023-12-041-0/+20
| | | | this template configuration file is used by the installer.
* init: missing import loggingOpenGnSys Support Team2023-12-041-0/+1
| | | | | | | | Otherwise: NameError: name 'logging' is not defined is reported.
* src: add menu to manage reposJavier Hernandez2023-12-016-1/+145
| | | | | | | | | | | | | | | | | | | | | | | The menu includes a list of the repos of each server. The user can select a server or a repo to make changes. As of now, the only action possible is to add a repo to selected server. The work contained in this commit can be structured in: 1. Add the repos menu: - Add a 'repos' button in the menus bar (base.html). - Add repos.html template to create the management repos menu. - In ogcp.js, add function to store in browser's local storage which elements of the sidebar are uncollapsed. This saves the sidebar state after a page refresh. - Add manage_repos() in views.py 2. Allow to add a repo: - Add template with form to add a repo (repos_details.html) - Create RepoForm(FlaskForm) in action_forms.py - Add repo_add_get() and repo_add_post() in views.py
* init: filter out GET /scopes/status requestsOpenGnSys Support Team2023-12-011-0/+6
| | | | | | | | | ogcp.js calls this endpoint very often, which send a request to the ogserver through the REST API. This call is needed because javascript code cannot directly talk to the ogserver since it does not know what the API_KEY is. Add a filter to skip log GET /scopes/status requests. Thanks to DaniGM for helping with this.
* views: set computer netmask to 0v1.1.3-5OpenGnSys Support Team2023-11-301-2/+1
| | | | This is never used by ogserver, instead the room netmask is always used.
* views: Add placeholder for mac fieldJavier Hernandez2023-11-301-0/+2
| | | | | | | | Add a placeholder that shows the user an example of what a valid mac address looks like. By now, mac needs to be specified as AABBCCDDEEFF without : for historical reasons.
* views: fix client detailsJavier Hernandez2023-11-291-3/+3
| | | | | | | - netmask is no accesible anymore, remove it. - The form made reference to fields that do not exist anymore: netmask and netdriver (removed in a previous commit) - make the repository field show the repo that is in use
* views: fix repository list in update clientJavier Hernandez2023-11-291-3/+4
| | | | | | | | Make the repository list's first element be the current repo in use. This is needed because, otherwise, an update could inadvertently change the repo. Remove a print statement that is no longer needed
* views: populate repositories in client formJavier Hernandez2023-11-292-2/+7
| | | | | Make, in add and edit clients forms, the field repository show the list with the actual repositories, not a harcoded value.
* image: rename and remove fieldsv1.1.3-4Javier Hernandez2023-11-272-6/+4
| | | | | | - remove field image 'id' - change size to display MiB instead of GiB - replace 'Modified' with 'Last update'
* templates: translate shutdown state keysJavier Hernandez2023-11-271-1/+1
| | | | Change key element 'Apagado' to its English form 'Shutdown'
* views: Make 'partition' field use same formatJavier Hernandez2023-11-271-35/+24
| | | | | | | Make forms containing a 'Partition' field use all the same format (ie. <Disk id> | <Partition id> | <Partion type> <Partition format>") Signed-off-by: OpenGnSys Support Team <soporte-og@soleta.eu>
* client: Remove 'netmask' in formJavier Hernandez2023-11-272-4/+2
| | | | | Remove unnecessary field 'netmask' from forms used to create and update clients. Netmask is configured in rooms instead.
* views: allow to edit a clientJavier Hernandez2023-11-242-0/+66
| | | | | | | | | | | Add a form to allow the user to update a client. ip field is in read only mode because this is the primary key to identify a client in db. Fields corresponding to boot mode (ie. oglivedir and boot) are also in read only for now; ogServer has to fix set boot mode functionality before it can be added here.