aboutsummaryrefslogtreecommitdiff
path: root/src/hydrilla/proxy/web_ui
diff options
context:
space:
mode:
authorWojtek Kosior <koszko@koszko.org>2022-08-25 16:37:53 +0200
committerWojtek Kosior <koszko@koszko.org>2022-09-28 12:54:54 +0200
commit367ea85057368047a50ae98a3510e0113eadd744 (patch)
tree5aecfd3a2e44377e9d331ca77346666ca193006c /src/hydrilla/proxy/web_ui
parentc1f6a379b3a85303f487e1b366e96d9db90cd4e3 (diff)
downloadhaketilo-hydrilla-367ea85057368047a50ae98a3510e0113eadd744.tar.gz
haketilo-hydrilla-367ea85057368047a50ae98a3510e0113eadd744.zip
[proxy] make it possible to uninstall a package
This commit also brings some more refactoring under state_impl/.
Diffstat (limited to 'src/hydrilla/proxy/web_ui')
-rw-r--r--src/hydrilla/proxy/web_ui/packages.py7
-rw-r--r--src/hydrilla/proxy/web_ui/templates/packages/show_single_version.html.jinja5
2 files changed, 9 insertions, 3 deletions
diff --git a/src/hydrilla/proxy/web_ui/packages.py b/src/hydrilla/proxy/web_ui/packages.py
index 1edddc0..31d3dbb 100644
--- a/src/hydrilla/proxy/web_ui/packages.py
+++ b/src/hydrilla/proxy/web_ui/packages.py
@@ -175,8 +175,11 @@ def alter_package_version(mapping_version_id: str) -> werkzeug.Response:
if action == 'install_package':
mapping_version_ref.install()
elif action == 'uninstall_package':
- mapping_version_ref.uninstall()
- return flask.redirect(flask.url_for('.packages'))
+ mapping_version_ref = mapping_version_ref.uninstall()
+ if mapping_version_ref is None:
+ return flask.redirect(flask.url_for('.packages'))
+ else:
+ return show_package_version(mapping_version_id)
else:
raise ValueError()
except st.FileInstallationError:
diff --git a/src/hydrilla/proxy/web_ui/templates/packages/show_single_version.html.jinja b/src/hydrilla/proxy/web_ui/templates/packages/show_single_version.html.jinja
index f3ed206..2c6863b 100644
--- a/src/hydrilla/proxy/web_ui/templates/packages/show_single_version.html.jinja
+++ b/src/hydrilla/proxy/web_ui/templates/packages/show_single_version.html.jinja
@@ -48,7 +48,10 @@ in a proprietary work, I am not going to enforce this in court.
<div>
{{ _('web_ui.packages.single_version.package_is_installed') }}
</div>
- {% if uninstall_disallowed is not defined %}
+ {%
+ if uninstall_disallowed is not defined and
+ display_info.active != ActiveStatus.REQUIRED
+ %}
<form method="POST">
<input name="action" value="uninstall_package" type="hidden">
<button class="green-button">