summaryrefslogtreecommitdiffstats
path: root/ogcp/views.py
Commit message (Collapse)AuthorAgeFilesLines
* Move password hashing to the backendJavier Sánchez Parra2022-06-301-4/+15
| | | | | | | | | | | This patch moves login password hashing from the frontend/javascript to the backend/flask. This patch moves password hashing of login and user management forms. Related commits: * c7b0024 ("Add password hashing") * 661254b ("Add 'Add user' to Users section")
* Use assigned repository on images transfersJavier Sánchez Parra2022-05-241-2/+11
| | | | | Otherwise, update/restore fails on images not saved in the same machine which runs ogServer.
* Add repository field to "Create image" formJavier Sánchez Parra2022-05-241-1/+13
| | | | Let users choose which repository want to use to save the image.
* Improve MAC formattingJavier Sánchez Parra2022-05-181-1/+2
| | | | | Add ":" separator between each byte in hexadecimal and transform chars to uppercase.
* Show last command result for clients in ogLiveJavier Sánchez Parra2022-05-131-0/+2
| | | | | If the last command sent to a client/s finishes with errors, their icons in the scopes tree change to a yellow circle with an times sign inside.
* Add link speed to pillsJavier Sánchez Parra2022-05-111-0/+1
| | | | | If the clients API response include link speed information, show it in clients' pills.
* Add MAC to pillsJavier Sánchez Parra2022-05-061-0/+12
| | | | Retrieve and cache MACs one by one as users select clients.
* Add 'Delete user' to Users sectionv0.9.2Javier Sánchez Parra2022-04-271-1/+39
| | | | | Creates "Delete user" form. The user to be deleted is selected from the sidebar in Users section.
* 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.