views: check if repository is selected in repo/ pages

Add checks and error report about non selected repository.
Non having a repository selected caused a traceback to be shown
in the web.
master
Alejandro Sirgo Rica 2024-05-13 10:45:19 +02:00
parent 1ca3a97da7
commit 7cb006d552
1 changed files with 12 additions and 0 deletions

View File

@ -2271,6 +2271,10 @@ def action_repo_update():
return redirect(url_for('manage_repos'))
repo_id = repos.pop()
server_ip_port = params.get('repos-server')
if not server_ip_port:
flash(_('Please, select a server'), category='error')
return redirect(url_for('manage_repos'))
server = get_server_from_ip_port(server_ip_port)
try:
repository = get_repository(int(repo_id), server)
@ -2315,6 +2319,10 @@ def action_repo_delete():
return redirect(url_for('manage_repos'))
repo_id = int(repo_id)
server_ip_port = params.get('repos-server')
if not server_ip_port:
flash(_('Please, select a server'), category='error')
return redirect(url_for('manage_repos'))
server = get_server_from_ip_port(server_ip_port)
try:
repository = get_repository(repo_id, server)
@ -2347,6 +2355,10 @@ def action_repo_info():
return redirect(url_for('manage_repos'))
repo_id = int(repo_id)
server_ip_port = params.get('repos-server')
if not server_ip_port:
flash(_('Please, select a server'), category='error')
return redirect(url_for('manage_repos'))
server = get_server_from_ip_port(server_ip_port)
try:
repository = get_repository(repo_id, server)