| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
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 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
|
|
|
|
| |
All views from Commands section have this two attributes.
|
|
|
|
|
|
|
| |
In Servers section/view, users can add or delete ogServers from ogCP
configuration file.
Replaces Repositories views and recycle some of its code.
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Also remove send button as it not necessary anymore.
|
|
|
|
|
|
|
|
|
|
| |
Disk selection uses "scopesForm" to submit the change, but setup/show
view receives new parameters not provided by this form.
Commit 17757baa4727 adds those parameters.
This commit gives disk selection its own form with all the required
parameters.
|
|
|
|
|
| |
Move disk selector from the bottom of the page to the first table,
nearby "Partition Table Type" and "Total Disk Size".
|
|
|
|
|
| |
Allow the user to choose a computer as reference to display the
partition scheme form.
|
|
|
|
| |
Otherwise, this strings are not translatable.
|
|
|
|
| |
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.
|
|
|
|
| |
When loading any command view, its nav button becomes active.
|
|
|
|
| |
Otherwise, "image details" page lose the images tree and buttons.
|
|
|
|
|
| |
Otherwise, this actions pages lose the scopes tree and the scopes
buttons.
|
|
|
|
|
|
| |
Both "Add client" and "Client details" views use client_details.html
template. With this commit, "Add client" extends scopes.html and "Client
details" extend commands.hmlt.
|
|
|
|
|
| |
Draw selected clients from confirmation pages like selected clients from
scopes and commands pages.
|
|
|
|
| |
Show the number of clients and their IPs.
|
|
|
|
|
| |
Otherwise, this actions pages lose the scopes tree and the commands
buttons.
|
|
|
|
| |
Refactor duplicated code as a jinja macro.
|
|
|
|
|
| |
Remove code to draw selected clients. Image creation template do not use
it because only operates one client.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Extend commands.html template to keep scope tree, and action buttons
state.
When in the software inventory view, there exists two options: 'update'
or 'view'. Do not print raw json response from ogserver about the software
inventory/profile.
When vieweing the software list, print a html table using the new
template: software_list.html.
Do not print blank pages with plain text html error codes when something
goes wrong. Instead, print an error message after redirecting to the
commands view.
|
| |
|
|
|
|
|
|
|
|
| |
Extending from command.html is required for action views to mantain
the scope context on the left side column.
Enables setting dropdown button and action button as active when loading
the hardware inventory view.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Group related actions in the "commands" section inside a
dropdown button.
Declutters the panel in which the buttons are displayed.
Dropdown button jinja block name is used as prefix for the block names
of inside buttons. For example, for the image dropwdown button:
<button class="...{% block nav_image %}{% endblock %}...">
{{ _('Image') }}
</button>
Actions such as restore and create will show a jinja block inside class
attr like:
<input class="... dropdown-item{% block nav_image_restore %}{% endblock %}" ...
<input class="... dropdown-item{% block nav_image_create %}{% endblock %}" ...
|
|
|
|
| |
When loading the setup view, it's nav button becomes active.
|
|
|
|
|
|
|
|
| |
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 adds an extra view to ensure users do not reboot clients
accidentally.
ogcp GET /reboot returns the confirmation page and POST /reboot
builds and sends the request to ogServer.
It also includes Spanish translation of the new strings.
|
|
|
|
|
|
|
|
|
|
| |
This commit adds an extra view to ensure users do not power off clients
accidentally.
ogcp GET /poweroff returns the confirmation page and POST /poweroff
builds and sends the request to ogServer.
It also includes Spanish translation of the new strings.
|
|
|
|
| |
Otherwise, "Partition Table" is ambiguous.
|
|
|
|
|
|
|
|
|
| |
This commit converts disk and partition size from kibibytes to mebibytes
to improve usability. Disk and partition size are used in "Client
details" and "Partition & format" forms.
It also returns size to kibibytes when creating /setup API
payload as required by ogServer.
|
|
|
|
|
|
|
| |
This commit adds an extra view to ensure users do not clients
accidentally.
It also includes Spanish translation of the new strings.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
Add a new select input and button to choose which disk you want to
partition.
TODO: Current argument parsing function returns a list with all the
arguments, except csrf_token. Future patches should add granular parsing
of different types of arguments.
|
|
|
|
|
| |
Future patches will deprecate this log functionality in favour of more
robust solutions.
|
|
|
|
| |
Show a table with client's disks and partitions information.
|
|
|
|
|
| |
This action is used to visualize the specific details of an image, as
its ID, name, size, etc.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|