summaryrefslogtreecommitdiffstats
path: root/ogcp/views.py
Commit message (Collapse)AuthorAgeFilesLines
* Add 'Edit user' to Users sectionJavier Sánchez Parra2022-04-271-0/+60
| | | | | | Creates "Edit user" form with the following inputs: password, password confirmation, role (administrator or regular), allowed scopes. It does no allow to change/edit the username.
* Add 'Add user' to Users sectionJavier Sánchez Parra2022-04-271-1/+70
| | | | | Creates "Add user" form with the following inputs: username, password, password confirmation, role (administrator or regular), allowed scopes.
* Add Users sectionJavier Sánchez Parra2022-04-271-0/+8
| | | | | In Users section/view, administrator accounts can manage all task related to users. For example: add, delete and edit users.
* Add user role administratorJavier Sánchez Parra2022-04-271-2/+2
| | | | | | | ogCP now have to types of users, regular and administrator users. ogCP configuration file defines users roles with the boolean field "ADMIN".
* Add password hashingJavier Sánchez Parra2022-04-221-1/+1
| | | | | | | | | | | The front-end now hashes passwords before sending them to the back-end. It uses SHA-512. This commit adds a hidden input which sends the password hash to not interfere with browsers' save password functionality. Also change passwords of the template configuration file for their hashed/digested versions.
* Add import clients actionJavier Sánchez Parra2022-04-191-1/+62
| | | | | | | | | | | Add import clients form with required inputs: room and dhcpd.conf. This permits users to rapidly add large amounts of clients to a room using dhcpd.conf's syntax. Users can copy full dhcpd.conf files to the text area and the parser only matches lines with the following format as clients: host dummy {hardware ethernet 12:34:56:78:90:ab; fixed-address 192.168.1.55; }
* Handle ogServer connection error on loginJavier Sánchez Parra2022-04-111-1/+7
| | | | | On connection error show a (toast) message warning the user. Otherwise, users see Werkzeug debug page.
* Add Update image to commandsJavier Sánchez Parra2022-04-081-1/+68
| | | | | | | | Allows updating the image file for an existing image. This action is related to /image/create in ogServer API. If ogServer receives an POST /image/create without the parameter "description", it does not create a new image and only updates.
* Move search_image() outside action_image_restore()Javier Sánchez Parra2022-04-081-6/+6
|
* Add form for disk selectionJavier Sánchez Parra2022-04-041-0/+2
| | | | | | | | | | Disk selection uses "scopesForm" to submit the change, but setup/show view receives new parameters not provided by this form. Commit 17757baa4727 adds those parameters. This commit gives disk selection its own form with all the required parameters.
* Ask for reference when partitioning several clientsJavier Sánchez Parra2022-04-011-7/+36
| | | | | Allow the user to choose a computer as reference to display the partition scheme form.
* Change get_client_setup to receive a stringJavier Sánchez Parra2022-03-311-3/+5
| | | | | | get_client_setup() takes an IP address that identify the client, instead of passing an iterator with one single IP address, pass directly such IP address.
* Remove unused variable db_partitionsJavier Sánchez Parra2022-03-291-1/+0
|
* Add ogServer uptime to the dashboardJavier Sánchez Parra2022-03-281-1/+2
| | | | | | | ogServer GET /stats returns ogServer uptime in seconds. Transform seconds to days, hours and minutes and print them in the dashboard.
* Use lazy translation on intervals' stringsJavier Sánchez Parra2022-03-221-3/+4
| | | | | Constant strings outside of a request must use lazy strings. See flask-babel documentation for more information.
* Add /stats data to the dashboardJavier Sánchez Parra2022-03-161-1/+26
| | | | Add certain statistics on memory and swap usage, as well as the uptime.
* Extend images html in "image details" templateJavier Sánchez Parra2022-03-031-1/+4
| | | | Otherwise, "image details" page lose the images tree and buttons.
* Extend scopes htmlJavier Sánchez Parra2022-03-031-4/+12
| | | | | Otherwise, this actions pages lose the scopes tree and the scopes buttons.
* Extend scopes or commands in client detailsJavier Sánchez Parra2022-03-031-2/+4
| | | | | | Both "Add client" and "Client details" views use client_details.html template. With this commit, "Add client" extends scopes.html and "Client details" extend commands.hmlt.
* Use pill style in confirmation pagesJavier Sánchez Parra2022-03-031-2/+33
| | | | | Draw selected clients from confirmation pages like selected clients from scopes and commands pages.
* Extend commands htmlJavier Sánchez Parra2022-03-021-6/+19
| | | | | Otherwise, this actions pages lose the scopes tree and the commands buttons.
* Improve software inventory commandJose M. Guisado2022-02-231-6/+11
| | | | | | | | | | | | | | | | Extend commands.html template to keep scope tree, and action buttons state. When in the software inventory view, there exists two options: 'update' or 'view'. Do not print raw json response from ogserver about the software inventory/profile. When vieweing the software list, print a html table using the new template: software_list.html. Do not print blank pages with plain text html error codes when something goes wrong. Instead, print an error message after redirecting to the commands view.
* Show error messages in action_image_restoreJose M. Guisado2022-02-231-3/+6
| | | | | | | If something goes wrong, the application shows an error message after redirecting to the commands view. Do not show blank pages with plain text error codes.
* Show error message for invalid setup formJose M. Guisado2022-02-231-1/+2
| | | | | Do not show plain text '400 Bad Request'. Instead, show error message and return to commands view.
* Redirect to commands view after hardware POSTJose M. Guisado2022-02-231-2/+4
|
* Hardware inventory template extends from command.htmlJose M. Guisado2022-02-221-1/+2
| | | | | | | | Extending from command.html is required for action views to mantain the scope context on the left side column. Enables setting dropdown button and action button as active when loading the hardware inventory view.
* Add confirmation page when deleting imageJose M. Guisado2022-01-271-11/+25
| | | | | | | | User can confirm when deleting an image by double checking the information displayed on this page. Adds a new optional field in GenericForm: 'ids'. Used when dealing with ids instead of ips.
* Adds confirmation page to reboot clientsJavier Sánchez Parra2022-01-201-10/+24
| | | | | | | | | | This commit adds an extra view to ensure users do not reboot clients accidentally. ogcp GET /reboot returns the confirmation page and POST /reboot builds and sends the request to ogServer. It also includes Spanish translation of the new strings.
* Adds confirmation page to power off clientsJavier Sánchez Parra2022-01-201-6/+25
| | | | | | | | | | This commit adds an extra view to ensure users do not power off clients accidentally. ogcp GET /poweroff returns the confirmation page and POST /poweroff builds and sends the request to ogServer. It also includes Spanish translation of the new strings.
* Rename MSDOS to MBRJavier Sánchez Parra2022-01-201-0/+2
| | | | | | | This commit rename partition table type MSDOS to MBR in the front-end. At the back-end ogCP still uses MSDOS string because ogClient scripts (aka cloning engine) expects it.
* Show disk and partition size in mebibytesJavier Sánchez Parra2022-01-191-4/+4
| | | | | | | | | This commit converts disk and partition size from kibibytes to mebibytes to improve usability. Disk and partition size are used in "Client details" and "Partition & format" forms. It also returns size to kibibytes when creating /setup API payload as required by ogServer.
* Ask twice to delete clientsJavier Sánchez Parra2022-01-191-11/+25
| | | | | | | This commit adds an extra view to ensure users do not clients accidentally. It also includes Spanish translation of the new strings.
* Fix "Add client" form redirectionv0.9Javier Sánchez Parra2022-01-141-3/+6
| | | | Otherwise, ogcp redirects to a blank page instead of the scopes view.
* Change some f-strings to format()Javier Sánchez Parra2022-01-131-5/+5
| | | | | | python-babel is not compatible with f-strings. See also: https://github.com/python-babel/babel/issues/594
* Check images list content in client details viewJavier Sánchez Parra2021-12-201-1/+1
| | | | Otherwise, client image assignation fails if "images" variable is empty.
* Add available ogLives to client detailsJavier Sánchez Parra2021-12-171-0/+6
| | | | Otherwise, ogLive field always shows the default value.
* Add set ogLive to commandsJavier Sánchez Parra2021-12-161-1/+38
| | | | | | This action is related to /oglive in ogServer's API. Allows changing the ogLive for a set of given clients, previously selected in the /commands view.
* Add scope permission supportJavier Sánchez Parra2021-12-101-3/+15
| | | | | | | ogCP limits which scopes can use each user. Configuration file stores allowed scopes by their names. Leave scope list empty to give a user permissions on all scopes.
* Add multi user supportJavier Sánchez Parra2021-12-081-10/+26
| | | | | It is inspired by the following example: https://github.com/maxcountryman/flask-login/blob/c760c0ef7ccc95d49b4693200245a4f2b148d41b/README.md#usage
* Add legacy real-time logJavier Sánchez Parra2021-11-081-0/+12
| | | | | | | | Clients in ogLive offer a web page with lighttpd that shows a real-time log. This commit links this log in ogcp. Future patches will deprecate this log functionality in favour of more robust solutions.
* Set default value on partition data parsingJavier Sánchez Parra2021-11-021-3/+3
| | | | | Otherwise, ogcp breaks when receiving an unknown disk table type, partition type or file system.
* Support partition of computers with several disksJavier Sánchez Parra2021-11-021-10/+22
| | | | | | | | | Add a new select input and button to choose which disk you want to partition. TODO: Current argument parsing function returns a list with all the arguments, except csrf_token. Future patches should add granular parsing of different types of arguments.
* Add legacy logJavier Sánchez Parra2021-10-281-0/+16
| | | | | Future patches will deprecate this log functionality in favour of more robust solutions.
* Add partitions info to client detailsJavier Sánchez Parra2021-10-131-1/+15
| | | | Show a table with client's disks and partitions information.
* Add "Delete image" actionJavier Sánchez Parra2021-09-291-0/+17
| | | | | | | Adds a new button in the images view. This action handles image deletion, one at a time for security. Users must select an image using the images tree.
* Fix cache partition creationJavier Sánchez Parra2021-09-161-0/+3
| | | | | | | Partition & Format JSON cache fields always have the default values (no cache) although users order to create a cache partition. Set JSON cache fields with the values filled by the user.
* Add image details actionJavier Sánchez Parra2021-09-031-1/+25
| | | | | This action is used to visualize the specific details of an image, as its ID, name, size, etc.
* Rename validate and parse IPs functionsJavier Sánchez Parra2021-09-031-36/+36
| | | | | | | | | | | These functions can work with any kind of strings and not only with IPs. This is required by the "image details form" that a follow up patch implements. "Image details form" validates and parses IDs instead of IPs with these functions. Rename validate and parse IPs functions to a generic name, so it makes sense to use them with any kind of string.
* Add images viewJavier Sánchez Parra2021-09-031-0/+7
| | | | | | | Images view manages all the images stored in the server. Follow up patches adds actions to get and edit image details, and to delete them.
* Add most common partition codes and filesystemsJavier Sánchez Parra2021-08-241-2/+18
| | | | To increase the compatibility of "Partition & format" (aka setup).