summaryrefslogtreecommitdiffstats
path: root/ogcp/views.py
Commit message (Collapse)AuthorAgeFilesLines
* Add ogServer parameter to imagesFormJavier Sánchez Parra2022-09-271-3/+5
| | | | | | | | | | When users select an image, its ogServer is sent too. Then, the back-end (flask) processes the form to obtain this ogServer and send it the pertinent requests. It also makes "Image details" view use this new parameter, and adds javascript code to ensure that users can only work with several images at the same time if they belong to the same ogServer.
* Adapt images tree to work with several ogServersJavier Sánchez Parra2022-09-271-7/+6
| | | | | | Images view fetch images from all ogServers configured and show them in the left tree as a nested list. ogServers are represented as the parents of their images.
* Adapt Delete center to work with several ogServersJavier Sánchez Parra2022-09-271-2/+5
| | | | | This commit makes Delete center view to use ogServer field from scopesForm to send the command to the correct ogServer.
* Delete center using the scopes treeJavier Sánchez Parra2022-09-271-2/+9
| | | | | With this commit users can select a center from the scopes tree, and then delete it.
* Adapt Add center to work with several ogServersJavier Sánchez Parra2022-09-271-1/+5
| | | | | | This commit adds a new select input with all available ogServers to "Add center" view. The ogCP creates the center in the ogServer selected by the user.
* Adapt Delete room to work with several ogServersJavier Sánchez Parra2022-09-271-2/+5
| | | | | This commit makes Delete room view to use ogServer field from scopesForm to send the command to the correct ogServer.
* Delete room using the scopes treeJavier Sánchez Parra2022-09-271-3/+9
| | | | | With this commit users can select a room from the scopes tree, and then delete it.
* Adapt Add room to work with several ogServersJavier Sánchez Parra2022-09-271-2/+5
| | | | | This commit makes Add room view to use ogServer field from scopesForm to send the command to the correct ogServer.
* Add a room to a center using the scopes treeJavier Sánchez Parra2022-09-271-3/+11
| | | | | With this commit users can select a center from the scopes tree, and then add a room to that center.
* Adapt Import Clients to work with several ogServersJavier Sánchez Parra2022-09-271-2/+5
| | | | | This commit makes Import Clients view to use ogServer field from scopesForm to send the command to the correct ogServer.
* Import clients to a room using the scopes treeJavier Sánchez Parra2022-09-271-3/+11
| | | | | With this commit users can select a room from the scopes tree, and then import clients to that room.
* Fix selection of scopes with empty IPs listJavier Sánchez Parra2022-09-271-1/+2
| | | | | This commit prevents ogcp from always mark as selected/checked scopes that have an empty IP list.
* Add current ogServer to scopesFormJavier Sánchez Parra2022-09-271-4/+20
| | | | | | | | | With this commit when users select a scope, the ogServer to which it belongs is also sent. Then when processing the form we obtain this ogServer and we can send it the pertinent requests. This commit also makes action "Add client" to use the ogServer sent in the form.
* Add a client to a room using the scopes treeJavier Sánchez Parra2022-09-271-2/+10
| | | | | With this commit users can select a room from the scopes tree, and then add a client to that room.
* Adapt commands to work with several ogServersJavier Sánchez Parra2022-09-271-38/+59
| | | | | This commit makes commands views to use "get_server_from_clients()" function to send the command to the correct ogServer.
* Fix ogServer names on the scopes treeJavier Sánchez Parra2022-09-271-1/+1
| | | | | | | This commit adapt how "get_scopes()" accesses the name of the ogServer because commit eae64dd changes how "multi_request()" returns it. Fixes: eae64dd ("Initial support of ogServer requests routing")
* Initial support of ogServer requests "routing"Javier Sánchez Parra2022-09-271-7/+26
| | | | | | | This commit adds a helper function ("get_server_from_clients()") to get the adequate ogServer according to the targeted clients. It also makes "Client details" command use this function.
* Add status of all clients to the scopes treeJavier Sánchez Parra2022-09-271-2/+1
| | | | Fetch clients status using 'get_clients()'.
* Fetch clients from all ogServers in the dashboardJavier Sánchez Parra2022-09-271-2/+10
| | | | With this commit, ogcp fetch all clients lists an join them.
* Add helper function to send requests to all ogServersJavier Sánchez Parra2022-09-271-4/+24
| | | | | | | 'multi_request()' function make requests to ogServers defined in the configuration and aggregates it responses. This commit also makes 'get_scopes()' use it.
* Retreive scopes from several ogServersJavier Sánchez Parra2022-09-271-8/+15
| | | | | | | Update the configuration file format to support several ogServers and retrieve scopes from those ogServers. The old config file format is still supported.
* Add "Delete Repository"Javier Sánchez Parra2022-07-041-1/+34
| | | | | In "Repositories" view, users select a repository from the list on the left and press "Delete repository".
* Create "Add Repository" form and viewJavier Sánchez Parra2022-07-041-1/+30
| | | | Creates "Add repository" form with the required inputs: name and IP.
* Add Repositories sectionJavier Sánchez Parra2022-07-041-0/+8
| | | | | In Repositories section/view, users can manage task related to repositories. For example: list, add, delete and edit them.
* Use repository id on image creationJavier Sánchez Parra2022-06-301-2/+2
| | | | | | | On image creation use the id to identify repositories instead of the IP. ogServer related commit: * 52a38d3 ("#915 Use the repository id on image creation")
* 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.