| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
This commit makes Import Clients view to use ogServer field from
scopesForm to send the command to the correct ogServer.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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")
|
|
|
|
|
|
| |
Rename "OS" to "Partition" to improve clarity.
This field represent which partition is used to create the image.
|
|
|
|
| |
Let users choose which repository want to use to save the image.
|
|
|
|
|
| |
Creates "Delete user" form. The user to be deleted is selected from the
sidebar in Users section.
|
|
|
|
|
| |
Creates "Add user" form with the following inputs: username, password,
password confirmation, role (administrator or regular), allowed scopes.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Allow the user to choose a computer as reference to display the
partition scheme form.
|
|
|
|
|
|
|
|
| |
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 rename partition table type MSDOS to MBR in the front-end.
At the back-end ogCP still uses MSDOS string because ogClient scripts
(aka cloning engine) expects it.
|
|
|
|
|
|
|
| |
This commit adds an extra view to ensure users do not clients
accidentally.
It also includes Spanish translation of the new strings.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From flask babel documentation:
---
Additionally if you want to use constant strings somewhere in your
application and define them outside of a request, you can use a lazy
strings. Lazy strings will not be evaluated until they are actually
used. To use such a lazy string, use the lazy_gettext() function.
---
_() and _l() functions are aliases of gettext() and lazy_gettext()
respectively. Both functions belong to flask babel library.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Soleta Networks only offers support of tiptorrent for restore image
transferences.
|
|
|
|
|
| |
This action is used to visualize the specific details of an image, as
its ID, name, size, etc.
|
|
|
|
| |
To increase the compatibility of "Partition & format" (aka setup).
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
The initial "Partition & Format" (aka setup) form only allows to modify
one partition at a time. This commit updates it to allow to modify the
whole disk partition schema in one go, without pop-ups and transitions.
This is a remake of the previous form using FieldList de WTForms and
javascript to duplicate / remove FieldList adapted to the attributes
available in WTForms.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds a way to add a new partition to the setup.html template.
This button opens a modal dialog with a new form and calls a new
endpoint to create the new partition (this endpoint does nothing, it's
needed to be implemented in the future).
I've followed the initial design for this template, with one form per
each partition, so every button will call a function and reload the
page.
It's possible to do all actions at once, but that will require a rework
of this, to do that we can just define an unique form in the whole html,
remove all the "Modify" buttons and add just one "Apply" button at the
end. But maybe that option is a lot complex in the backend because will
require to validate all the changes at once.
This patch also improves the setup.html form without using
flask-bootstrap and rendering the form in the template directly with the
bootstrap4 classes.
|
|
|
|
| |
Update license header in files.
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ogcp requires a simple login page in order to avoid exposure of the
ogServer API to anyone trying to access the web page.
Because the main authorization mechanism in ogServer is the api token
the login implemented for the ogcp does not include registration process
but a single user and password specified in the ogcp.json.
"USER": "user",
"PASS": "pass"
Adds two new views: /login and /logout. They are used to login the user so
that the rest of views regarding ogServer functionality can be accessed
in a "login required" fashion. Index view (/) is an exception, it can be
accessed logged in or not so different data can be displayed.
Templates can now access a variable "current_user" to get information
about login status. This is a Flask-Login feature.
- Templates regarding login can be found in templates/auth/
- Login form is defined in forms/auth.py to separate it from
action_forms.py
- Adds Flask-Login module to requirements.txt
- Adds default user and pass in ogcp.json
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
Adds in a declarative way the validation of the image name form control
when creating a partition image.
This commit serves as an example of adding a predefined validator of the
WTForms module. Custom validator may be added by creating a given
function and appending it to the list of validators.
See https://wtforms.readthedocs.io/en/2.3.x/validators/#custom-validators
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously the only method (in the form select) was "UNICAST". This
patch enables specifying a correct parameter for the underlying script
to fetch the image to be restored.
UNICAST-DIRECT makes the administrator transfer the image through the
network. UNICAST-CACHE indicates the taget pc to search for the image in
its cache partition.
Also redirects to the /scopes when ogserver responds with 200 OK.
|
|
|
|
|
|
|
|
| |
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 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 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.
|