summaryrefslogtreecommitdiffstats
path: root/ogcp/views.py
Commit message (Collapse)AuthorAgeFilesLines
* views: show human readable boot modesAlejandro Sirgo Rica2024-06-071-2/+12
| | | | | | | Add better visualization to the boot modes shown in /action/mode. Use a dictinary to implement hardcoded human readble strings of the form choices. A better method will be implemented in the future.
* views: fix invalid url redirection in client/server addAlejandro Sirgo Rica2024-06-071-2/+2
| | | | | Remove 2 instances of redirect(url_for('servers')), this path does not exist anymore and causes the web to show a backtrace.
* views: validate ip in client creation and updateAlejandro Sirgo Rica2024-06-051-0/+14
| | | | | Check the provided IP is valid before trying to send the payload to the server.
* views: enable mac update in /action/client/updateAlejandro Sirgo Rica2024-06-051-1/+0
| | | | Allow MAC address modification in the client update form.
* views: Prevent zero or negative size partitionsAlejandro Sirgo Rica2024-06-051-0/+4
| | | | | | | | Defining a partition size <1 causes the partition to show with a different configuration to the one configured in the form. Any <1 size partition shows as Linux, Empty and the size field without value. Validate the form so we refuse any partition with size <1.
* forms: ensure ip and mac are not empty in client add formAlejandro Sirgo Rica2024-06-031-0/+5
| | | | | | Use the WTForms validator InputRequired to check the field and disable the submit button if either the IP or MAC fields have no contents.
* views: prevent backtrace when no server is availableAlejandro Sirgo Rica2024-05-301-0/+1
| | | | | | | Define the timestamp in the codepath executed when no server is found active. Prevent the web to show a backtrace because the timestamp variable is used but not defined as it is only created when a server is found.
* ogcp: add cache management pageAlejandro Sirgo Rica2024-05-301-1/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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, }
* views: check if EFI filesystem is FAT32 in partition formAlejandro Sirgo Rica2024-05-161-0/+4
| | | | | Add validation for partition and format form to ensure the EFI partition has a FAT32 filesystem assigned.
* make the boot OS form work over multiple clientsAlejandro Sirgo Rica2024-05-161-13/+47
| | | | | | | | | 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.
* views: add EFI partition type to MBR partition schemeOpenGnSys Support Team2024-05-141-0/+1
| | | | Add 0xef (239) entry to display this accordingly
* views: check if repository is selected in repo/ pagesAlejandro Sirgo Rica2024-05-131-0/+12
| | | | | | Add checks and error report about non selected repository. Non having a repository selected caused a traceback to be shown in the web.
* remove Format field from partition setup formAlejandro Sirgo Rica2024-05-131-2/+2
| | | | | | | 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.
* views: ensure only one cache partition is definedAlejandro Sirgo Rica2024-05-131-3/+7
| | | | | Add validation for the case where the user defines more than one CACHE partition in the Partition and Format form.
* Make partition id non editable in partition formAlejandro Sirgo Rica2024-05-121-7/+7
| | | | | | | 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.
* views: check target partition size in image restoreAlejandro Sirgo Rica2024-05-091-4/+12
| | | | | Compare image data size with the size of the target partition and show an error if the size is not enough for the operation.
* views: prevent image restore on invalid partition typesAlejandro Sirgo Rica2024-05-091-2/+9
| | | | | | | Add partition type info to the form data. Check if the user is trying to restore on an invalid partition type and report an error if that's the case. The invalid types are 'EMPTY', 'LINUX-SWAP', 'CACHE', 'EFI' and 'WIN-RECOV'.
* views: report error when spaces are found in image nameAlejandro Sirgo Rica2024-05-091-1/+6
| | | | | | Validate imagen names in POST /action/image/create. Remove spaces at the begining and end of the image name, then report error if the image name still contains space characters.
* views: use PART_TYPE_CODES, not PART_CODES1.1.3-18OpenGnSys Support Team2024-02-211-1/+1
|
* views: unmatched ] in use getter to access PART_TYPE_CODES and FS_CODES1.1.3-17OpenGnSys Support Team2024-02-211-2/+2
|
* views: use getter to access PART_TYPE_CODES and FS_CODES1.1.3-16OpenGnSys Support Team2024-02-211-8/+8
| | | | otherwise KeyError is raised on access to undefine value in the dictionary.
* views: call POST /refresh from get_client_setup()OpenGnSys Support Team2024-02-191-1/+9
| | | | | | | | | | | Refresh the disk layout before any command that displays it, no need to manually call command -> refresh. this cannot be skipped, POST /setup is an asynchronous invocation in ogserver is asynchronous, POST /refresh provides the existing disk layout, otherwise it shows the existing layout in the database which is not complete. this is also good in case someone manipulates the disk from the command line.
* views: add update centerJavier Hernandez2024-02-091-0/+46
| | | | add view to update center data such as its name or comment.
* views: Add update roomJavier Hernandez2024-02-091-0/+44
| | | | Add view to modify room information such as name, gateway and netmask
* views: Add edit-folder1.1.3-15Javier Hernandez2024-02-051-0/+36
| | | | Add view to modify folder information such as name
* views: provide a hint in list images that one or more can be selectOpenGnSys Support Team2024-02-051-1/+1
| | | | Provide an indication that one or more images can be selected.
* views: preselect pxe boot mode in add clientJavier Hernandez2024-02-051-2/+4
| | | | | | | | 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.
* improve delete confirmationJavier Hernandez2024-02-051-17/+9
| | | | | | | | 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 show only selected imagesJavier Hernandez2024-02-021-12/+21
| | | | | | | | | | | 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
* views: Fix client-info form not fully read-only1.1.3-14Javier Hernandez2024-02-011-22/+2
| | | | | fix some fields (boot-mode and oglive) in client-info form that, despite being flagged as read-only, allowed the user to change values.
* improve delete confirmation pageJavier Hernandez2024-02-011-8/+35
| | | | | | | | | | 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 actionJavier Hernandez2024-01-301-0/+25
| | | | | Add list images action that shows a list of all the images in each server and their properties
* views: Preselect most used ogliveJavier Hernandez2024-01-291-3/+33
| | | | | | | | 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.
* dashboard: Show all servers, online or offlineJavier Hernandez2024-01-291-11/+29
| | | | | | | Show in dashboard the list of all servers, regardless if they are online or offline. If they are offline, uptime appears as 'offline' Modify dashboard template to make it work with offline servers
* views: remove one level of indentation in action_image_restoreOpenGnSys Support Team2024-01-251-19/+18
| | | | | r.status_code == requests.codes.ok is redundant, already checked for error, remove this check and save one level of indentation.
* views: consolidate server error reportingOpenGnSys Support Team2024-01-251-71/+110
| | | | use ogserver_down() and ogserver_error()
* views: Check HTTP GET response from ogserver (part 2)Javier Hernandez2024-01-251-21/+165
| | | | | | | | | Check that connection to ogserver works and GET response is ok. Otherwise, show error message to the user and redirect. If there is an error while talking to server, a serverError or a serverErrorCode is raised so that it is possible to differentiate from different errors and give an appropiate error to the user
* views: Check HTTP GET response from ogserverJavier Hernandez2024-01-241-0/+90
| | | | | Check that GET response is ok. Otherwise, show error message to the user and redirect
* translations: update translationsJavier Hernandez2024-01-241-8/+8
| | | | | | Update Spanish and Catalan translations And use _ in folder support
* views: do not use '_' variable, it causes conflict with babel gettext()Javier Hernandez2024-01-241-5/+5
| | | | | Do not use the '_' variable, this causes a conflict with babel gettext() alias '_' that results in a traceback.
* views: Add client's name in action/setup/selectJavier Hernandez2024-01-221-1/+11
| | | | | Show client's name (next to client's ip) in selectable in action/setup/select form.
* views: Fix traceback due to missing translationJavier Hernandez2024-01-221-2/+2
| | | | | | | 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.
* views: Display error if partitions are not availableJavier Hernandez2024-01-221-1/+1
| | | | | Display an error if the user tries to partition and format a client that has no partition info available
* views: Display error if software inventory are not availableJavier Hernandez2024-01-221-0/+4
| | | | | Display an error if the user tries to view software inventory but it is yet not available
* views: Fix wrong room in client detailsJavier Hernandez2024-01-221-1/+2
| | | | Fix incorrect room showing in client-details command.
* views: Add checking that no folder is selected1.1.3-13Javier Hernandez2024-01-191-0/+3
| | | | | 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
* views: Fix unable to aquire server from ipsJavier Hernandez2024-01-191-1/+1
| | | | | | | | | 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.
* views: preselect most used bootmode1.1.3-12Javier Hernandez2024-01-181-1/+5
| | | | | In "set boot-mode" preselect bootmode that is most used by the clients selected.
* views: fix client update form crashingJavier Hernandez2024-01-181-0/+6
| | | | | | Fix client update view crashing due to missing images variable. Check if GET /images fails.
* views: add an action to view repo details1.1.3-11Javier Hernandez2024-01-161-0/+26
| | | | | Add an action to allow the user to view details (name and ip) of a particular repo.