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
Commit 648a1a315e1d35f67c5301833bddd3753cc51793 changes do not work well
with large scopes trees. It takes several minutes to check a scope.
Improve javascript code to speed up scope selection.
From MDN:
Technically, the value for an id attribute may contain any character,
except whitespace characters. However, to avoid inadvertent errors, only
ASCII letters, digits, '_', and '-' should be used and the value for an
id attribute should start with a letter.
https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id
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.
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 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.
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.
This commit adapt how "get_scopes()" accesses the name of the ogServer
because commit eae64dd changes how "multi_request()" returns it.
Fixes: eae64dd ("Initial support of ogServer requests routing")
This commit adds a helper function ("get_server_from_clients()") to get
the adequate ogServer according to the targeted clients.
It also makes "Client details" command use this function.
'multi_request()' function make requests to ogServers defined in the
configuration and aggregates it responses.
This commit also makes 'get_scopes()' use it.
Update the configuration file format to support several ogServers and
retrieve scopes from those ogServers.
The old config file format is still supported.
On image creation use the id to identify repositories instead of the IP.
ogServer related commit:
* 52a38d3 ("#915 Use the repository id on image creation")
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")