| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a new user permission system to control the allowed operations
accessible from each account.
Add a permission matrix editable through the user/add and user/edit
views. The permission matrix has client, center, room, folder, image
and repository as permission targets and add, update and delete as
permission types.
Restrict each view based on the user permissions, hide all actions
from not autheticated users.
permissions defined in the class UserForm.
Serialize each user permissions into ogcp.json as:
{
...
"USERS" [
{
"USER": "admin"
...
"PERMISSIONS": {
"CLIENT": {
"ADD": true,
"UPDATE": true,
"DELETE": true,
},
... <- same structure for "CENTER", "ROOM", "FOLDER", "IMAGE"
and "REPOSITORY"
}
},
...
],
...
}
Grant all the permissions to old user configuration to not disrupt their
workflow. The administrator will need to assign the permissions for each
user.
Ignore scope and permission restrictions for admin users.
Save permissions and scopes even if the user is admin to account for the
case of a temporal admin promotion without losing the previous
configuration.
Use template inheritance for add_user.html and edit_user.html to prevent
big code duplication with the new HTML code to render the permission
matrix.
Make user administration an admin only feature.
Define methods get_permission and target_is_disabled to improve readability
in template conditionals that disable features based on user permissions.
|
|
|
|
|
| |
Rename Client/Edit client menu in scopes management view to keep
the same naming pattern as the other menu elements.
|
|
|
|
|
|
| |
Add a readonly view for the room data.
Mark all the form fields as readonly and set the hidden attribute
to the submit field.
|
|
|
|
|
|
| |
Add a readonly view for the center data.
Mark all the form fields as readonly and set the hidden attribute
to the submit field.
|
|
|
|
|
|
|
|
|
|
| |
Add front end for the client/move REST API.
Enable the move of multiple clients selected from the sidebar of
Scopes Management.
Show the target of the move operation as a list of paths in a
dropdown widget in the form. Each path will be structured as:
Server/Center/Room
The path will also contain folders if they are present.
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Add scope-management menu with limited commands for non-admin users;
commands allowed are add/edit/edit/delete/import client(s)
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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; }
|
|
|
|
|
|
| |
Otherwise, scopes' actions do not set the scopes tree read only.
Commit feed135554543 introduces this typo.
|
|
|
|
| |
Add a back button to facilitate users to return to the previous page.
|
|
|
|
|
| |
Now users can select clients only in scopes and command views, in any
other view we set the scopes tree read only.
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
This commit adds an extra view to ensure users do not clients
accidentally.
It also includes Spanish translation of the new strings.
|
|
|
|
|
|
|
|
| |
Creates "delete center" form with a select to choose a center to delete.
Adds a new button in the scopes view. Because scopes checkboxes values
maps to ips the only way to specify the center to delete is in the delete
center form itself, using a select input.
|
|
|
|
|
|
|
| |
Adds a new button in the scopes view.
This action handles clients deletion on one or multiple scopes. Users
must select clients using the scopes tree.
|
|
|
|
|
|
|
|
| |
Creates "add center" form with "name" as required input and "comment" as
optional input.
In the future, the CenterForm can be used to display center information
once such functionality lands in the ogserver.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Being able to collapse the scopes tree allows to fit a bigger scopes
tree.
A new macro is introduced to generate the HTML code for the scope tree
in such a way that each non-leaf level (center, room) are collapsible.
macros.scopes_tree_collapse(scopes)
As of now, the state of the scope tree is not saved when changing nav
sections.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commands view has a scope sidebar with the content block filled with
command buttons (poweroff, wol, etc.)
This commit leaves scope create/delete/update buttons in the /scopes
view, which serves that purpose.
To avoid duplicating scope tree creation macro, an external macros.html
is created, this template can be imported. Future macros needed can be
written in there.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Modify the base template to add the sidebar and command bar, implemented
just in the scopes view.
This patch also modifies the "actions/mode.html" template to be shown in
the scopes page. Any other action that should be inside the scopes
should do the same, add the scopes and clients to the template context
and use the "scopes.html" as base in those actions.
The notification has been also changed to use a toast notification
instead of the usual alert to avoid changing the layout on error.
|
|
|
|
|
|
|
|
| |
Creates "delete room" form with a select to choose a room to delete.
Adds a new button inside the button group in the scopes view. Because
scopes checkboxes values maps to ips the only way to specify the room to
delete is in the delete room form itself, using a select input.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Creates "add room" form with required inputs only: center, name and
netmask.
Adds a new button inside the button group in the scopes view. Because
scopes checkboxes values maps to ips the only way to specify the center
in which to add the room is in the add room form itself, using a select
input.
In the future, the RoomForm can be used to display room information once
such functionality lands in the ogserver.
|
|
|
|
|
|
|
|
| |
* Adds label for each action page.
* Adds a colored state for opengnsys connected clients
* Fix nav active item
* Rename some actions
* Adds DISK to partition and format form
|
|
|
|
|
|
| |
This action is related to /mode in ogServer API. Allows changing
the netboot template for a set of given clients, previously selected
in the /scopes view.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit may serve for future reference as to how some cosmetic
changes have been applied to the web.
Primarily using bootstrap classes in order to adjust margin or padding,
there are mechanisms that allow modifying the class of an
underlying html element in WTForms. Bootstrap classes are written
directly in html templates for Flask.
Also add a Soleta branded footer.
|
|
|
|
|
|
|
|
| |
This action lists every piece of software installed in an OS from a
client.
This action can handle listing the software from the DB as well as
updating that DB with the latest client information.
|
|
|
|
|
| |
This action handles the creation of the image in the DB as well as the
'.img' file.
|
|
|
|
|
| |
This action provides the image restoring functionality on a specific
client.
|
|
|
|
|
| |
This action provides the functionality to run one of the installed OSs
in a client.
|
|
|
|
| |
This action lists all the hardware items in a client.
|
|
|
|
|
| |
This action provides the functionality to add a new client to an
ogServer.
|
|
|
|
|
| |
This action is used to visualize the specific details of a client, such
as its IP, Name, MAC, etc.
|
|
|
|
|
| |
This provides a menu to setup the internal partitions setup of each
machine. Delete partitions is still just a placeholder.
|
|
|
|
| |
This action can be applied on single or multiple scopes.
|
|
|
|
|
|
| |
This action can be applied on one or multiple scopes. This
implementation use Flask-WTF as a way to build and valdiate forms. As a
side effect, this adds CSRF protection to all forms.
|
|
|
|
| |
This action handles reboot on one or multiple scopes.
|
|
This template shows information about scopes and its states as well as a
tool to apply actions on them. Style improvements are still necessary.
|