| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
Change key element 'Apagado' to its English form 'Shutdown'
|
|
|
|
|
|
|
|
|
|
|
| |
Add a form to allow the user to update a client.
ip field is in read only mode because this is the primary key to
identify a client in db.
Fields corresponding to boot mode (ie. oglivedir and boot) are also in
read only for now; ogServer has to fix set boot mode functionality
before it can be added here.
|
| |
|
|
|
|
| |
All views from Commands section have this two attributes.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Scopes tree shows clients booted in Linux and Windows with ogClient
installed. It also shows if the user logs in.
|
|
|
|
| |
Otherwise, retrieving do not work on clients inside folders.
|
|
|
|
| |
Users can collapse images list by clicking on the server.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
In Servers section/view, users can add or delete ogServers from ogCP
configuration file.
Replaces Repositories views and recycle some of its code.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
With this commit users can select a center from the scopes tree, and then
add a room to that center.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
With this commit users can select a room from the scopes tree, and then
add a client to that room.
|
|
|
|
|
| |
In "Repositories" view, users select a repository from the list on the
left and press "Delete repository".
|
|
|
|
| |
Creates "Add repository" form with the required inputs: name and IP.
|
|
|
|
|
| |
In Repositories section/view, users can manage task related to
repositories. For example: list, add, delete and edit them.
|
|
|
|
|
|
|
|
|
|
|
| |
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")
|
|
|
|
|
| |
Add an explanatory list of the colors used to represent the different
client states.
|
|
|
|
|
| |
Creates "Delete user" form. The user to be deleted is selected from the
sidebar in Users section.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Creates "Add user" form with the following inputs: username, password,
password confirmation, role (administrator or regular), allowed scopes.
|
|
|
|
|
| |
In Users section/view, administrator accounts can manage all task
related to users. For example: add, delete and edit users.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Otherwise, wtforms use "submit" as id of the <input> tag, shadowing
javascript function ".submit()".
|
|
|
|
|
|
|
|
|
|
|
| |
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; }
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Each checkbox may have child checkboxes. If all those children are
checked, it be checked. If none are checked, it is unchecked. If some of
them are checked, then it’s in an indeterminate state (in this case
symbolically meaning “partially” checked).
|
|
|
|
|
|
|
|
|
|
|
| |
Old id format example: id_1-1_2-4_3-2
New id format example: scope-1-4-2
It represents the node and its ancestors' position with respect to
theirs siblings. The rightmost value is the current node position.
Commit f70d90ba32a6 introduces the old format.
|