diff --git a/ogcp/forms/action_forms.py b/ogcp/forms/action_forms.py index 0a9bd32..c15d254 100644 --- a/ogcp/forms/action_forms.py +++ b/ogcp/forms/action_forms.py @@ -100,9 +100,10 @@ class ImageRestoreForm(FlaskForm): class RepoForm(FlaskForm): server = HiddenField() + repo_id = HiddenField() name = StringField(label=_l('Name')) ip = StringField(label=_l('IP')) - create = SubmitField(label=_l('Create')) + submit = SubmitField(label=_l('Submit')) class ClientDetailsForm(FlaskForm): server = HiddenField() diff --git a/ogcp/static/js/ogcp.js b/ogcp/static/js/ogcp.js index 5028993..0ac67fe 100644 --- a/ogcp/static/js/ogcp.js +++ b/ogcp/static/js/ogcp.js @@ -329,6 +329,23 @@ function checkImageServer() { }); } +function checkRepoServer() { + const repos = $('input:checkbox[form|="reposForm"][name!="repos-server"]') + repos.on('change', function() { + const selectedServer = $('#' + $.escapeSelector(this.dataset.server)); + const serversSelector = 'input:checkbox[name|="repos-server"]'; + const nonSelectedServers = $(serversSelector).not(selectedServer); + + selectedServer.prop('checked', true); + + nonSelectedServers.each(function() { + $(this).prop('checked', false); + const checkboxes = $('input:checkbox[data-server|="' + this.id + '"]'); + checkboxes.prop('checked', false); + }); + }); +} + function limitCheckboxes() { const checkboxes = $('input:checkbox[form|="scopesForm"]'); diff --git a/ogcp/templates/actions/repos_details.html b/ogcp/templates/actions/repos_details.html index 32b96bf..2768492 100644 --- a/ogcp/templates/actions/repos_details.html +++ b/ogcp/templates/actions/repos_details.html @@ -10,7 +10,8 @@

{{_('Repo details')}}

{{ wtf.quick_form(form, + action=url_for('repo_add_post'), method='post', - button_map={'create': 'primary'}, + button_map={'submit': 'primary'}, extra_classes="mx-5") }} {% endblock %} diff --git a/ogcp/templates/repos.html b/ogcp/templates/repos.html index 881057b..8477d29 100644 --- a/ogcp/templates/repos.html +++ b/ogcp/templates/repos.html @@ -17,8 +17,8 @@ {% set server_ip_port = repos["server"].ip ~ ":" ~ repos["server"].port %} {% set repos_list = repos["json"]["repositories"] %} {% endfor %} @@ -42,6 +43,7 @@ document.addEventListener('readystatechange', () => { if (document.readyState === 'complete') { keepReposTreeState() + checkRepoServer() } }); @@ -50,6 +52,8 @@ {% block commands %} + {% if btn_back %}