summaryrefslogtreecommitdiffstats
path: root/ogcp/templates
Commit message (Collapse)AuthorAgeFilesLines
* Add ogServer uptime to the dashboardJavier Sánchez Parra2022-03-281-0/+8
| | | | | | | ogServer GET /stats returns ogServer uptime in seconds. Transform seconds to days, hours and minutes and print them in the dashboard.
* Check swap size is not zeroJavier Sánchez Parra2022-03-251-0/+6
| | | | If the server do not have swap, show a warning.
* Replace " " with "_" in HTML scopes IDsJavier Sánchez Parra2022-03-251-2/+2
| | | | | | | | | | | | | | | | | | | Otherwise, scopes with whitespaces in their names breaks the javascript code. From https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id: --- Note: Technically, in HTML5, the value for an id attribute may contain any character, except whitespace characters. However, to avoid inadvertent errors, only ASCII letters, digits, '_', and '-' should be used and the value for an id attribute should start with a letter. For example, . has a special meaning in CSS (it acts as a class selector). Unless you are careful to escape it in the CSS, it won't be recognized as part of the value of an id attribute. It is easy to forget to do this, resulting in bugs in your code that could be hard to detect. ---
* Add missing gettext functionsJavier Sánchez Parra2022-03-227-17/+27
| | | | Otherwise, this strings are not translatable.
* Summarize dashboard informationJavier Sánchez Parra2022-03-171-52/+50
| | | | | | | | | | * Rename "ogLives" to "ogLive images". * Move "Number of images" table to take less space. * Show storage data as "Storage size | Used (%) | Available (%)". * Move "Latest images" an "ogLive images" to the bottom.
* Add /stats data to the dashboardJavier Sánchez Parra2022-03-161-7/+164
| | | | Add certain statistics on memory and swap usage, as well as the uptime.
* Add back button to all actionsJavier Sánchez Parra2022-03-1423-0/+37
| | | | Add a back button to facilitate users to return to the previous page.
* Disable scopes tree's checkboxes in action viewsJavier Sánchez Parra2022-03-1022-7/+45
| | | | | Now users can select clients only in scopes and command views, in any other view we set the scopes tree read only.
* Set pills widthJavier Sánchez Parra2022-03-091-1/+1
| | | | Set the same width to all pills.
* Remove "form" from scopes views' headingsJavier Sánchez Parra2022-03-094-4/+4
|
* Set scopes nav buttons as activeJavier Sánchez Parra2022-03-077-9/+20
| | | | When loading any scopes view, its nav button becomes active.
* Group scopes buttons into dropdownsJavier Sánchez Parra2022-03-071-12/+33
| | | | | | Group related actions in the "scopes" section inside a dropdown button. Declutters the panel in which the buttons are displayed.
* Add separator and heading to selected clientsJavier Sánchez Parra2022-03-071-0/+1
|
* Set commands nav buttons as activeJavier Sánchez Parra2022-03-0410-0/+20
| | | | When loading any command view, its nav button becomes active.
* Extend images html in "image details" templateJavier Sánchez Parra2022-03-031-1/+1
| | | | Otherwise, "image details" page lose the images tree and buttons.
* Extend scopes htmlJavier Sánchez Parra2022-03-034-4/+4
| | | | | Otherwise, this actions pages lose the scopes tree and the scopes buttons.
* Extend scopes or commands in client detailsJavier Sánchez Parra2022-03-031-1/+1
| | | | | | 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-039-16/+18
| | | | | Draw selected clients from confirmation pages like selected clients from scopes and commands pages.
* Add clients info to session's confirmation pageJavier Sánchez Parra2022-03-031-1/+7
| | | | Show the number of clients and their IPs.
* Extend commands htmlJavier Sánchez Parra2022-03-026-6/+6
| | | | | Otherwise, this actions pages lose the scopes tree and the commands buttons.
* Replace "." with "_" in HTML scopes IDsJavier Sánchez Parra2022-02-251-1/+1
| | | | | | | | | | | | | | | | | | Otherwise, scopes with dots in their names breaks the javascript code. From https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id: --- Note: Technically, in HTML5, the value for an id attribute may contain any character, except whitespace characters. However, to avoid inadvertent errors, only ASCII letters, digits, '_', and '-' should be used and the value for an id attribute should start with a letter. For example, . has a special meaning in CSS (it acts as a class selector). Unless you are careful to escape it in the CSS, it won't be recognized as part of the value of an id attribute. It is easy to forget to do this, resulting in bugs in your code that could be hard to detect. ---
* Limit max number of clients drawn in commandsJavier Sánchez Parra2022-02-241-1/+5
| | | | | Print large number of clients (hundreds) does not make sense, it is unreadable.
* Wrap selected clients listJavier Sánchez Parra2022-02-241-1/+1
| | | | Otherwise, the list overflows the screen when users select many clients.
* Refactor selected clients drawing in commandsJavier Sánchez Parra2022-02-248-35/+22
| | | | Refactor duplicated code as a jinja macro.
* Remove unused code in image creation templateJavier Sánchez Parra2022-02-241-6/+0
| | | | | Remove code to draw selected clients. Image creation template do not use it because only operates one client.
* Improve software inventory commandJose M. Guisado2022-02-232-1/+32
| | | | | | | | | | | | | | | | 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.
* Remove "Tasks" and "Schedule" from the navbarJavier Sánchez Parra2022-02-231-6/+0
| | | | Remove them until we add their functionality.
* Show selected clients in container blockJavier Sánchez Parra2022-02-233-0/+12
| | | | | | | | | | | | | | | | | | | On scopes and commands views, draw clients as users selects them in the scopes tree. Trigger client drawing on two events: 1."change" event, occurs when the user clicks a client checkbox. This event is standard [1]. 2. "show-client" event, fires when ogcp get selected clients from localStorage and when an user checks a parent checkbox. This event is custom. Dot characters (".") in clients names are replaced by underscore("_") when used as id to avoid errors. 1. https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event
* Move 'Update' button up in hardware viewJose M. Guisado2022-02-231-5/+7
|
* Hardware inventory template extends from command.htmlJose M. Guisado2022-02-221-1/+3
| | | | | | | | 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.
* Rename "Log" action to "System Log"Jose M. Guisado2022-02-221-1/+1
|
* Group command buttons into dropdownsJose M. Guisado2022-02-222-26/+68
| | | | | | | | | | | | | | | | | | | | Group related actions in the "commands" section inside a dropdown button. Declutters the panel in which the buttons are displayed. Dropdown button jinja block name is used as prefix for the block names of inside buttons. For example, for the image dropwdown button: <button class="...{% block nav_image %}{% endblock %}..."> {{ _('Image') }} </button> Actions such as restore and create will show a jinja block inside class attr like: <input class="... dropdown-item{% block nav_image_restore %}{% endblock %}" ... <input class="... dropdown-item{% block nav_image_create %}{% endblock %}" ...
* Setup view sets nav button as activeJose M. Guisado2022-02-221-0/+1
| | | | When loading the setup view, it's nav button becomes active.
* Add nav blocks to commands templateJose M. Guisado2022-02-221-16/+16
| | | | | | | | | | | | | Adds empty jinja blocks for the class attribute of all action buttons. Child templates from command (actions) can set their nav button as active overriding the corresponding {% block %}. Currently, not all action templates extends the commands.html template. This is not a problem, as the blocks are just empty. This is a preparation for changes on each action template to extend commands.html template.
* Merge nav into base templateJose M. Guisado2022-02-224-50/+50
| | | | | | | | | | | | | | | | | {% block %} defined in nav template cannot be overriden by child templates from base. This is a limitation in jinja. Merge nav into base template so jinja blocks so no {% include %} is used and these blocks can be overriden by child templates (commands, images, dashboard...) Avoid using request.endpoint to determine active nav item, decoupling endpoint names from navigation. Instead use child templates to override jinja blocks. [1] https://stackoverflow.com/q/40537752 https://stackoverflow.com/a/40562662 https://github.com/pallets/jinja/issues/243
* Check scopes checkboxes recursivelyJavier Sánchez Parra2022-01-311-0/+1
| | | | | | Otherwise, nested scopes are not checked and mislead users. When a scope is checked, we search all its children and check them too.
* Group log commands buttons into dropdownJose M. Guisado2022-01-311-4/+11
| | | | | Compacts Commands view with a single "Logs" dropdown button. Dropdown shows current log commands.
* Keep selected clients in the scopes treeJavier Sánchez Parra2022-01-281-0/+1
| | | | | | | | | | | | Otherwise, users have to click clients checkboxes every time they switch view. This commit adds one hook to capture when clients checkboxes changes. When they are checked, ogcp (front-end) stores them in browser's local storage. When they are unchecked, ogcp removes them from local storage. Every time users load a page with the scopes tree, ogcp checks local storage to restore selected clients.
* Keep scopes tree stateJavier Sánchez Parra2022-01-281-0/+1
| | | | | | | | | | | | | | | | | | | | Otherwise, users have to expand the scopes tree every time they switch view. This commit adds two hooks to capture when an element of the tree is shown or is hidden[1]. When they are shown, ogcp (front-end) stores them in browser's local storage[2]. When they are hidden, ogcp removes them from local storage. Every time users load a page with the scopes tree, ogcp checks local storage to restore the scopes tree state. Store and remove functions use stopPropagation() to prevent ancestors of clicked elements to also be stored or removed from local storage.[3] 1. https://getbootstrap.com/docs/4.1/components/collapse/#events 2. https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API 3. https://javascript.info/bubbling-and-capturing
* Remove dead code in macro.htmlJavier Sánchez Parra2022-01-281-20/+0
| | | | scopes_tree_collapse() replaces this dead code.
* Add confirmation page when deleting imageJose M. Guisado2022-01-272-1/+21
| | | | | | | | 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-202-1/+26
| | | | | | | | | | 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-202-1/+26
| | | | | | | | | | 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 to "Partition Table Type"Javier Sánchez Parra2022-01-201-1/+1
| | | | Otherwise, "Partition Table" is ambiguous.
* Show disk and partition size in mebibytesJavier Sánchez Parra2022-01-192-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.
* Fix typo in the dashboardJavier Sánchez Parra2022-01-191-1/+1
|
* Ask twice to delete clientsJavier Sánchez Parra2022-01-192-1/+26
| | | | | | | This commit adds an extra view to ensure users do not clients accidentally. It also includes Spanish translation of the new strings.
* Add gettext to dashboard stringsJavier Sánchez Parra2022-01-131-9/+9
| | | | Otherwise, this texts could not be translated.
* Add set ogLive to commandsJavier Sánchez Parra2021-12-162-0/+24
| | | | | | 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.
* Ensure unique HTML ids for scope elementsJavier Sánchez Parra2021-11-261-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise, undesired collapse/expand events may occur when users click an element of the scope. Old id format example: level3-2 New id format example: id_1-1_2-4_3-2 Explanation: * "id" -> Prefix needed because html ids must start with an alphabetic character. * "_" -> Separator. * "1-1" -> Values pair separated by "-". The first value is the level of the node. The second value is its position with respect to its siblings. This is always 1-1 because is the root node. * "_" -> Separator. * "2-4" -> Child node of the previous node. In this example, this node its in level 2 and has the fourth position. * "_" -> Separator. * "3-2" -> Child of node "2-4" in level 3 and in the second position. This is the final node in this example. In other cases ogcp may draws deeper nodes, so it creates longer ids. For example: id_1-1_2-1_3-2_4-1_5-1_6-1