| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Make the sidebar from the images menu display the list of repos grouped
by repos
|
|
|
|
|
| |
Modify the add/edit users menu to make the 'allowed
scopes' field only display centers
|
|
|
|
|
|
|
|
| |
Add, in import clients menu, a selector to select the repo to be
associated with the clients about to import
modify OG_CLIENT_DEFAULT_BOOT variable to be 'oglive'; 'pxe' is not a
valid boot mode, and ogserver would return an error
|
|
|
|
| |
Add a 'description' field to the image-details form.
|
|
|
|
|
| |
Change the Image details form to display the 'Datasize' field of the
image in MiB instead of GiB
|
|
|
|
|
|
| |
Fix a bug that made the create and update images actions unusable.
The data sent to post was incomplete; partition's 'code' data was missing.
|
|
|
|
|
|
|
| |
Make the partition and format form fail if the user has not added a
cache partition.
A cache partition is required to make the restoration of images work
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
This is never used by ogserver, instead the room netmask is always used.
|
|
|
|
|
|
|
|
| |
Add a placeholder that shows the user an example of what a valid mac
address looks like.
By now, mac needs to be specified as AABBCCDDEEFF without : for historical
reasons.
|
|
|
|
|
|
|
| |
- netmask is no accesible anymore, remove it.
- The form made reference to fields that do not exist anymore:
netmask and netdriver (removed in a previous commit)
- make the repository field show the repo that is in use
|
|
|
|
|
|
|
|
| |
Make the repository list's first element be the current repo in use.
This is needed because, otherwise, an update could inadvertently
change the repo.
Remove a print statement that is no longer needed
|
|
|
|
|
| |
Make, in add and edit clients forms, the field repository show the list
with the actual repositories, not a harcoded value.
|
|
|
|
|
|
| |
- remove field image 'id'
- change size to display MiB instead of GiB
- replace 'Modified' with 'Last update'
|
|
|
|
|
|
|
| |
Make forms containing a 'Partition' field use all the same format (ie.
<Disk id> | <Partition id> | <Partion type> <Partition format>")
Signed-off-by: OpenGnSys Support Team <soporte-og@soleta.eu>
|
|
|
|
|
| |
Remove unnecessary field 'netmask' from forms used to create and update
clients. Netmask is configured in rooms instead.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
Remove netdriver field from forms used to add or update a client.
At the time of creating (or updating) a client, ogCP uses a hardcoded
value for this field of the payload.
This field is not used by oglive in any way, remove it.
|
|
|
|
| |
Add the possibility to configure a gateway in a room.
|
|
|
|
|
|
|
|
| |
User can use this boolean field to specify if an backup copy needs to be
created before updating an image.
This only applies when sending a request to a client (ogClient)
supporting this parameter.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some programs substitute regular space characters (\u0020) by en spaces
(\u2002) when displaying monospace text. Others replace it by
non-breaking spaces.
Using a character set such as [ \t\n] to match any possible "space
related" character. Use \s to match any kind of whitespace related
character in the regex.
Pasted from python's documentation:
\s
For Unicode (str) patterns:
Matches Unicode whitespace characters (which includes
[ \t\n\r\f\v], and also many other characters, for example the
non-breaking spaces mandated by typography rules in many languages). If
the ASCII flag is used, only [ \t\n\r\f\v] is matched.
[...]
Fixes: d9f8c9561823daf234e2348b5ea0db2e92d29216
('views: better dhcp conf parsing when importing clients')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This new regex allows parsing of:
- Irrelevant options that the user may paste from its config
file, eg. 'option host-name'.
- Allows linebreaks.
Hosts still require to have 'hardware ethernet' first, and then
'fixed-address'.
For example this regex admits dhcp host declarations such as
host pir36-22_78 {
hardware ethernet d8:5e:d3:25:28:9d;
fixed-address 10.1.36.78;
option host-name "pc_78";
}
Summary of the regex:
(?: *host *) # Match host keyword and spaces
([\w.-]*) # Match any word character (alphanum and underscore)
(?:[ \n\r]*{[ \n\r]*) # Match any space or newline, then match { and any following space or newline
(?:[ \t]*hardware *ethernet *) # Match any space or tab character followed by 'hardware ethernet'
((?:[0-9A-Fa-f]{2}[:-]){5}(?:[0-9A-Fa-f]{2})) # Match the mac address using ':' or '-' as separator
(?: *;) # Match any space character before a ';'
(?:[ \t\n\r]*fixed-address *) # Match any space, tab or newline followed by 'fixed address' and any following space
(\d+\.\d+\.\d+\.\d+) # Match an ip address (no validity check)
(?: *;)(?:[ \r\n]*[^}]*}) # Match any space followed by ';', then match any character except '}'
|
|
|
|
|
|
|
|
|
| |
Help user by hinting the current expected format via a placeholder in
the textarea box.
Current regex has its limitations when parsing dhcpd host declarations.
It does not support multi line host declarations or different options
outside "hardware ethernet ..." and "fixed-address ...".
|
|
|
|
|
|
| |
If an administrator selects a client without disks and goes to
"Partition & Format", ogCP redirects it again to "Commands" and shows a
floating message indicating that the client has no disks.
|
| |
|
|
|
|
|
| |
Instead of give permissions on all centers of a server selecting each one
of them, you can select the server that contains all this centers.
|
|
|
|
|
|
| |
Otherwise, ogCP crashes on image update.
Fixes: 8726ade ("Adapt commands to work with several ogServers")
|
|
|
|
|
|
| |
Since ogCP multi ogServer support, g.server is not used anymore. The
list of available servers is stored in the global variable "servers" at
og_server.py
|
|
|
|
|
| |
When creating o editing a user, you can select in which scopes from all
servers the user has permission.
|
|
|
|
|
| |
Otherwise, users can not remove from the web a server declared in the
deprecated way.
|
|
|
|
|
| |
Otherwise, if the configuration file do not have 'SERVERS' array, ogCP
crashes trying to append a new server.
|
|
|
|
|
| |
Otherwise, get_repositories() and get_repository() functions only get
the repositories of the first ogServer of the list.
|
|
|
|
|
|
|
| |
Commit X wrongly changed the URI to retrieve the repositories of an
ogServer.
Fixes: cf02e0c ("Add Servers section")
|
|
|
|
|
|
| |
Otherwise, ogCP crashes on image restore.
Fixes: 8726ade ("Adapt commands to work with several ogServers")
|
| |
|
|
|
|
|
| |
This commit makes Delete clients view to use "get_server_from_clients()"
function to send the deletion request to the correct ogServer.
|
|
|
|
| |
Otherwise, ogCP crashes trying to connect to unreachable ogServers.
|
|
|
|
|
|
|
| |
In Servers section/view, users can add or delete ogServers from ogCP
configuration file.
Replaces Repositories views and recycle some of its code.
|
|
|
|
|
| |
Otherwise, users may change the file path on one place of the code and
forget to change the other places.
|
|
|
|
|
|
| |
Clients pills show MACs regardless of the ogServer they belong to. Flask
GET /client/mac API uses "get_server_from_clients()" function to send
the command to the correct ogServer.
|
|
|
|
|
| |
This commit makes Delete image view to use ogServer field from
imagesForm to send the deletion request to the correct ogServer.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This commit makes Delete center view to use ogServer field from
scopesForm to send the command to the correct ogServer.
|
|
|
|
|
| |
With this commit users can select a center from the scopes tree, and
then delete it.
|
|
|
|
|
|
| |
This commit adds a new select input with all available ogServers to "Add
center" view. The ogCP creates the center in the ogServer selected by
the user.
|
|
|
|
|
| |
This commit makes Delete room view to use ogServer field from scopesForm
to send the command to the correct ogServer.
|