| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Allow the selection of multiple client checkboxes if they belong
to the same room.
Each checkbox input in the DOM has a "data-parent-room" attribute
whose value is the value of the "name" attribute of its parent
room scope component.
To check if a checkbox is a client and a sibling of the one being
checked we check if "data-parent-room" is available for both nodes
and if they have the same value.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add cache buster to soleta.css in base.html to have control over
cache expirity.
Bump soleta.css version to ensure browser does not used older (cached)
version.
Add CSS rules to show a disclosure widget in the sidebar.
Show center checkboxes as disabled in the commands view sidebar
for visual consistency.
Add class "collapsed" to the proper HTML components to keep a
proper state on page reload.
|
|
|
|
|
|
|
|
|
|
|
| |
Maintain selections made in scope sidebar after clicking an action
(ie. client add, room delete, etc.)
Use ids instead of names as the name html property is the same for
every room and center.
Call keepSelectedClients() in macros.html for both Scope Management
and Commands instead of only in Commands.
Add a "context" value to the checkbox id to separate scope and
commands values in local storage.
|
|
|
|
|
| |
Add html template for the route /action/center/update.
Finish the work started in commit 6ec26d16.
|
|
|
|
|
|
|
|
|
| |
Fix the definition of javascript code to generate a correct
message window for multiple error messages.
The error is cause by a redefinition of 'let bgclass' in multiple
lines when the html template receives multiple error messages.
Each iteration to generate the code for the error messages tries
to redefine the variable bgclass and it causes the js to fail.
|
|
|
|
|
|
| |
Add boot mode to each client pill in action/mode using js.
This makes easier to have a global perspective of the client's
configuration.
|
|
|
|
|
| |
Hide form table when the client's cache is empty and inform the
user about the selected clients not having images in cache.
|
|
|
|
|
| |
Hide the Delete Image in user mode using template conditionals.
A non admin account should not have access to image deletion.
|
|
|
|
|
|
|
| |
Use base 2 storage units in html templates as that's the correct
representation for the values shown in the web.
Remove units such as "Gbytes" and "MB" for their binary byte unit
counterparts.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement cache management through cache/list and cache/delete
API REST methods.
The view corresponds to the URL action/cache and contains three
main parts:
- Free cache available in the client's bubbles.
- Image selection form to request the deletion and view the
client with that image in cache.
- Cache details per client to see total, used and available cache.
The main usecase for the view is the removal of cache to make room
for new images in clients with slow connections. Checking clients
where available cache space is not enough to hold the new image and
then requesting removal of specific images.
The html template receives the following structures from the view:
storage_data[ip] = {'used': 223452345,
'total': 2345234523452}
client_images[ip] = [f'{image_name}.{image_checksum}', ...]
image_data[f'{image_name}.{image_checksum}'] = {
clients: ['192.168.0.1', ...],
size: 34534530850,
name: image_name,
}
|
|
|
|
|
|
|
|
|
| |
Enable working over multiple clients even if their OS configuration
is different to greatly improve the user's workflow.
Group clients with the same configuration under the same checkbox
in the form.
Report clients excluded from the boot instruction due to not
matching OS configuration.
|
|
|
|
|
|
| |
Ignore any room, center or folder as they don't have a MAC address.
Trying to get the MAC of an scope element without one leads to a
JS exception.
|
|
|
|
| |
Remove print statement generating noise in the browser logs.
|
|
|
|
|
|
|
| |
Remove the 'Format' field from the Partition and Format form as
the default value will always be to format the partitions.
This will lead to less portantial codepaths to maintain and
support and less manual clicks in the web form.
|
|
|
|
|
| |
Add check to test if a pill control has been found and don't try
to add mac data to non existent client pill controls.
|
|
|
|
|
|
|
| |
Show the partition id as a non editable label in each partition
of the Partition and Format form.
Assign sequential partition id from top to down and recalculate
every partition id when a partition is removed.
|
|
|
|
|
|
|
| |
Update all the name and id fields of the elements in the partition
form after a delete operation.
Inconsistent ids make form.validate() to always return False, this
causes all the form validation code to be skipped.
|
|
|
|
| |
add view to update center data such as its name or comment.
|
|
|
|
| |
Add view to modify room information such as name, gateway and netmask
|
|
|
|
| |
Add view to modify folder information such as name
|
|
|
|
|
|
|
| |
Although ogcp support for multiple server, the plan is to only support for one
server in this version.
Remove Server: context information and Repo: in list images
|
|
|
|
|
|
|
|
| |
preselect 'pxe' (if available) at adding a new client.
use a dedicated template for adding a client and remove irrelevant
partition table; client has yet to set its partition, so everytime, the
table would load empty.
|
|
|
|
|
|
|
|
| |
Make delete confirmations show information in a manner that is easier to
read. This includes delete confirmations for centers, room and folder.
Messages are now more clear. Also, content table shows the type of the
items (folder, room, etc.)
|
|
|
|
|
|
|
|
|
|
|
| |
Make list images command show only information of the images the user
has selected in the sidebar.
Improve readability of the information.
Show size and data size attributes rounded
Warn the user if no images have been selected in sidebar
|
|
|
|
|
|
|
|
|
|
| |
In delete-center, delete-room and delete-folder confirmation pages, show
the ancestors of the items about to delete. Likewise, show the items it
contains.
For example, if user is about to delete a room, confirmation page will
display in which center it is contained and the clients and folder it
has inside
|
|
|
|
|
| |
Add list images action that shows a list of all the images in each
server and their properties
|
|
|
|
|
|
| |
Add icons to differentiate folders.
Use 📁 which represents folder using emojis.
|
|
|
|
|
|
|
|
| |
When setting up oglive, preselect oglive that is most used by selected
clients. If only one client is selected, preselect that of the client.
In the unusual scenario where a client is set with an oglive that is not
in the ogserver's list of available oglives, preselect default.
|
|
|
|
|
|
|
| |
Show in dashboard the list of all servers, regardless if they are online
or offline. If they are offline, uptime appears as 'offline'
Modify dashboard template to make it work with offline servers
|
|
|
|
|
|
|
|
|
| |
Add version parameter to ogcp.js url. This is so that, if ogcp.js is
modified, the browser is able to see that that file has been changed and
that it has to load the new version instead of acquiring it from cache.
We have experienced stranged errors, related to browsers caching old
javascript files, leading to python flask backend backtraces
|
|
|
|
| |
Remove warning header and show selected clients above boot-mode tables
|
|
|
|
| |
Fix wrong navigation details in template select_client.
|
|
|
|
|
| |
Add an action to allow the user to view details (name and ip) of a
particular repo.
|
|
|
|
|
|
|
|
|
|
| |
Add support for adding computers to a folder.
It uses a js script that when selecting a folder in the html form, it
will also select the parent of the folder. For instance, if the user
were to select a folder that is contained inside a room, the room would
also get selected. This allows the view to know which parent contains
the folder.
|
|
|
|
|
|
|
| |
Add functionality to allow the user to delete a folder.
Show a confirmation page to the user listing the content of the folder
that is about to delete
|
|
|
|
|
|
| |
Add support to create a folder able to contain multiple computers.
Add support for adding a folder able to contain rooms
|
|
|
|
|
|
|
|
|
| |
- Remove a table with redundant info; it was displaying server's stats,
which was already in another table
- Add last update info at the top of the page
- Make page more robust by checking if ogLive images are available.
Before this patch, page shows a traceback if the ogLive list are not available.
|
|
|
|
|
|
| |
Show user, when attempting to change the bootmode of more than one
client with different boot modes, a warning and a table with said
bootmodes.
|
|
|
|
|
|
|
|
| |
Remove id from client's bubbles in the following commands: Power
(Poweroff, Poweron, Reboot); Setup (Set boot mode, Set ogLive); Client
(Start session)
To make the string replacement, a custom jinja filter has been created
|
|
|
|
|
|
|
| |
In client_details template, rename 'create' button to 'submit'.
This template is used by both client-add and client-edit commands; it
would not make sense to have a 'Create' button in client-edit.
|
|
|
|
| |
Show the username of the user currently logged-in in the top navbar.
|
|
|
|
|
| |
Add scope-management menu with limited commands for non-admin users;
commands allowed are add/edit/edit/delete/import client(s)
|
|
|
|
|
| |
Make the sidebar from the images menu display the list of repos grouped
by repos
|
|
|
|
| |
Make the sidebar wider to improve readability of its content
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix a bug that made the 'add a new partition' button unusable if all
partitions (rows) were deleted.
The reason for this bug was that the AddPartition() function would add a
new partition by cloning an already present html row element. This would
fail if no more rows were present in the table.
The solution implemented checks, previous to delete a partition, if it
is the last partition. If it is, then, instead of removing the whole
row, it just empties it.
Html button element needs to contain 'type="button"' attribute for this to
work. Otherwise, default action for the button is submit and it would
redirect after clicking.
|
|
|
|
|
|
|
| |
Add missing templates.
Fixes: 15dd4c2a8f69 ('views: add action to update repo')
Fixes: 152337b6bdb8 ('views: add action to delete repo')
|
|
|
|
|
|
|
|
|
| |
combine repo_add_get and repo_add_post into one, action_repo_add. This
is to follow convention across all the views and to clarify that it is
an action.
rename repos_details template to repos_add. Now it is clear the purpose
of each action template; there is one for each: add, delete and update
|
|
|
|
|
| |
allow the user to update a repo by selecting one and pressing the update
button.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
allow the user to delete a repo by selecting one and pressing the delete
button. Previous to deletion, show the user a confirmation page (a form)
with the details of the repo to delete
the confirmation form is constructed with the fields of Repoform.
RepoForm is also used in template used to create a repo. To make both
templates work with RepoForm, RepoForm's field 'create' has been renamed to
'submit'
ogcp.js: add a function to make that, when the user selects a
repository, the server in which it is contained is automatically
checked. We need it checked so that action_repo_delete can know the
server to which it has to send the delete request. Use data-server in
repos_details.html to make this work
Validate, in action_delete_repo, that user has only selected one repo to
delete. In order to do that, action_delete_repo view needs to be able to
get a list of all selected repos. This is only possible if <input>
elements that are associated with repos info contain a different name
attribute per repo. In this case, template repos.html has been modified
to use name={repo name}-{repo_id}. After this, parse_elements() will
work and parse a set containing all selected repos.
modify html input associated to repos server in order to follow same
convention as in other templates. For example, images uses image-server;
scopes, scope-server.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The menu includes a list of the repos of each server. The user can
select a server or a repo to make changes.
As of now, the only action possible is to add a repo to selected
server.
The work contained in this commit can be structured in:
1. Add the repos menu:
- Add a 'repos' button in the menus bar (base.html).
- Add repos.html template to create the management repos menu.
- In ogcp.js, add function to store in browser's local storage which
elements of the sidebar are uncollapsed. This saves the sidebar state
after a page refresh.
- Add manage_repos() in views.py
2. Allow to add a repo:
- Add template with form to add a repo (repos_details.html)
- Create RepoForm(FlaskForm) in action_forms.py
- Add repo_add_get() and repo_add_post() in views.py
|