| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Set the same width to all pills.
|
| |
|
|
|
|
| |
When loading any scopes view, its nav button becomes active.
|
|
|
|
|
|
| |
Group related actions in the "scopes" section inside a dropdown button.
Declutters the panel in which the buttons are displayed.
|
| |
|
|
|
|
| |
When loading any command view, its nav button becomes active.
|
|
|
|
| |
Otherwise, "image details" page lose the images tree and buttons.
|
|
|
|
|
| |
Otherwise, this actions pages lose the scopes tree and the scopes
buttons.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Draw selected clients from confirmation pages like selected clients from
scopes and commands pages.
|
|
|
|
| |
Show the number of clients and their IPs.
|
|
|
|
|
| |
Otherwise, this actions pages lose the scopes tree and the commands
buttons.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
---
|
|
|
|
|
| |
Print large number of clients (hundreds) does not make sense, it is
unreadable.
|
|
|
|
| |
Otherwise, the list overflows the screen when users select many clients.
|
|
|
|
| |
Refactor duplicated code as a jinja macro.
|
|
|
|
|
| |
Remove code to draw selected clients. Image creation template do not use
it because only operates one client.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 them until we add their functionality.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 %}" ...
|
|
|
|
| |
When loading the setup view, it's nav button becomes active.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
{% 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
|
|
|
|
|
|
| |
Otherwise, nested scopes are not checked and mislead users.
When a scope is checked, we search all its children and check them too.
|
|
|
|
|
| |
Compacts Commands view with a single "Logs" dropdown button. Dropdown
shows current log commands.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
scopes_tree_collapse() replaces this dead code.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Otherwise, "Partition Table" is ambiguous.
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
This commit adds an extra view to ensure users do not clients
accidentally.
It also includes Spanish translation of the new strings.
|
|
|
|
| |
Otherwise, this texts could not be translated.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Future patches will deprecate this log functionality in favour of more
robust solutions.
|
|
|
|
|
| |
For large scopes, unfolding by default slows page loading. It also
takes lots of vertical space and the scroll bar gets smaller.
|
|
|
|
| |
Show a table with client's disks and partitions information.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This action is used to visualize the specific details of an image, as
its ID, name, size, etc.
|
|
|
|
|
|
|
| |
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.
|