aboutsummaryrefslogtreecommitdiff
path: root/src/hydrilla/proxy/web_ui
diff options
context:
space:
mode:
authorWojtek Kosior <koszko@koszko.org>2022-08-29 17:05:00 +0200
committerWojtek Kosior <koszko@koszko.org>2022-09-28 12:54:54 +0200
commit2363ab8054ab5d8e7981242dc311a394e8d5ff57 (patch)
treed02a2fca005a241f42331d8bb08aeb0933c898a7 /src/hydrilla/proxy/web_ui
parent7fc6312d6df526b8eb49288aecf88d04668e7c45 (diff)
downloadhaketilo-hydrilla-2363ab8054ab5d8e7981242dc311a394e8d5ff57.tar.gz
haketilo-hydrilla-2363ab8054ab5d8e7981242dc311a394e8d5ff57.zip
[proxy] refactor we UI library and package pages templates to avoid code repetition
Diffstat (limited to 'src/hydrilla/proxy/web_ui')
-rw-r--r--src/hydrilla/proxy/web_ui/items.py16
-rw-r--r--src/hydrilla/proxy/web_ui/root.py4
-rw-r--r--src/hydrilla/proxy/web_ui/templates/items/item_view.html.jinja63
-rw-r--r--src/hydrilla/proxy/web_ui/templates/items/item_view.html.jinja.license (renamed from src/hydrilla/proxy/web_ui/templates/libraries/index.html.jinja.license)0
-rw-r--r--src/hydrilla/proxy/web_ui/templates/items/item_viewversion.html.jinja (renamed from src/hydrilla/proxy/web_ui/templates/libraries/show_single_version.html.jinja)59
-rw-r--r--src/hydrilla/proxy/web_ui/templates/items/item_viewversion.html.jinja.license (renamed from src/hydrilla/proxy/web_ui/templates/libraries/show_single.html.jinja.license)0
-rw-r--r--src/hydrilla/proxy/web_ui/templates/items/libraries.html.jinja (renamed from src/hydrilla/proxy/web_ui/templates/libraries/index.html.jinja)0
-rw-r--r--src/hydrilla/proxy/web_ui/templates/items/libraries.html.jinja.license (renamed from src/hydrilla/proxy/web_ui/templates/libraries/show_single_version.html.jinja.license)0
-rw-r--r--src/hydrilla/proxy/web_ui/templates/items/library_view.html.jinja34
-rw-r--r--src/hydrilla/proxy/web_ui/templates/items/library_view.html.jinja.license (renamed from src/hydrilla/proxy/web_ui/templates/packages/index.html.jinja.license)0
-rw-r--r--src/hydrilla/proxy/web_ui/templates/items/library_viewversion.html.jinja40
-rw-r--r--src/hydrilla/proxy/web_ui/templates/items/library_viewversion.html.jinja.license (renamed from src/hydrilla/proxy/web_ui/templates/packages/load_from_disk.html.jinja.license)0
-rw-r--r--src/hydrilla/proxy/web_ui/templates/items/load_from_disk.html.jinja (renamed from src/hydrilla/proxy/web_ui/templates/packages/load_from_disk.html.jinja)14
-rw-r--r--src/hydrilla/proxy/web_ui/templates/items/load_from_disk.html.jinja.license (renamed from src/hydrilla/proxy/web_ui/templates/packages/show_single.html.jinja.license)0
-rw-r--r--src/hydrilla/proxy/web_ui/templates/items/package_view.html.jinja34
-rw-r--r--src/hydrilla/proxy/web_ui/templates/items/package_view.html.jinja.license (renamed from src/hydrilla/proxy/web_ui/templates/packages/show_single_version.html.jinja.license)0
-rw-r--r--src/hydrilla/proxy/web_ui/templates/items/package_viewversion.html.jinja40
-rw-r--r--src/hydrilla/proxy/web_ui/templates/items/package_viewversion.html.jinja.license7
-rw-r--r--src/hydrilla/proxy/web_ui/templates/items/packages.html.jinja (renamed from src/hydrilla/proxy/web_ui/templates/packages/index.html.jinja)8
-rw-r--r--src/hydrilla/proxy/web_ui/templates/items/packages.html.jinja.license7
-rw-r--r--src/hydrilla/proxy/web_ui/templates/libraries/show_single.html.jinja76
-rw-r--r--src/hydrilla/proxy/web_ui/templates/packages/show_single.html.jinja71
-rw-r--r--src/hydrilla/proxy/web_ui/templates/packages/show_single_version.html.jinja94
23 files changed, 270 insertions, 297 deletions
diff --git a/src/hydrilla/proxy/web_ui/items.py b/src/hydrilla/proxy/web_ui/items.py
index 03f2f2d..c0e0e0d 100644
--- a/src/hydrilla/proxy/web_ui/items.py
+++ b/src/hydrilla/proxy/web_ui/items.py
@@ -54,14 +54,14 @@ class InvalidUploadedMalcontent(HaketiloException):
bp = flask.Blueprint('items', __package__)
-@bp.route('/packages/load_from_disk', methods=['GET'])
+@bp.route('/load_from_disk', methods=['GET'])
def load_from_disk() -> werkzeug.Response:
- html = flask.render_template('packages/load_from_disk.html.jinja')
+ html = flask.render_template('items/load_from_disk.html.jinja')
return flask.make_response(html, 200)
-@bp.route('/packages/load_from_disk', methods=['POST'])
+@bp.route('/load_from_disk', methods=['POST'])
def load_from_disk_post() -> werkzeug.Response:
- zip_file_storage = flask.request.files.get('packages_zipfile')
+ zip_file_storage = flask.request.files.get('items_zipfile')
if zip_file_storage is None:
return load_from_disk()
@@ -98,7 +98,7 @@ def packages() -> werkzeug.Response:
store = _app.get_haketilo_state().mapping_store()
html = flask.render_template(
- 'packages/index.html.jinja',
+ 'items/packages.html.jinja',
display_infos = store.get_display_infos()
)
return flask.make_response(html, 200)
@@ -108,7 +108,7 @@ def libraries() -> werkzeug.Response:
store = _app.get_haketilo_state().resource_store()
html = flask.render_template(
- 'libraries/index.html.jinja',
+ 'items/libraries.html.jinja',
display_infos = store.get_display_infos()
)
return flask.make_response(html, 200)
@@ -154,7 +154,7 @@ def show_item(item_id: str, item_type: item_infos.ItemType) \
)
html = flask.render_template(
- f'{item_type.alt_name_plural}/show_single.html.jinja',
+ f'items/{item_type.alt_name}_view.html.jinja',
display_info = display_info,
version_display_infos = version_display_infos
)
@@ -207,7 +207,7 @@ def show_item_version(
assert this_info is not None
html = flask.render_template(
- f'{item_type.alt_name_plural}/show_single_version.html.jinja',
+ f'items/{item_type.alt_name}_viewversion.html.jinja',
display_info = this_info,
version_display_infos = other_infos,
**errors
diff --git a/src/hydrilla/proxy/web_ui/root.py b/src/hydrilla/proxy/web_ui/root.py
index ab4e09b..b199506 100644
--- a/src/hydrilla/proxy/web_ui/root.py
+++ b/src/hydrilla/proxy/web_ui/root.py
@@ -41,7 +41,7 @@ import flask
import werkzeug
from ...translations import translation as make_translation
-from ... import versions
+from ... import item_infos
from .. import state as st
from .. import http_messages
from . import repos
@@ -82,11 +82,11 @@ class WebUIAppImpl(_app.WebUIApp):
]
}
- self.jinja_env.globals['versions'] = versions
self.jinja_env.globals['get_current_endpoint'] = get_current_endpoint
self.jinja_env.globals['EnabledStatus'] = st.EnabledStatus
self.jinja_env.globals['InstalledStatus'] = st.InstalledStatus
self.jinja_env.globals['ActiveStatus'] = st.ActiveStatus
+ self.jinja_env.globals['ItemType'] = item_infos.ItemType
self.before_request(authenticate_by_referrer)
diff --git a/src/hydrilla/proxy/web_ui/templates/items/item_view.html.jinja b/src/hydrilla/proxy/web_ui/templates/items/item_view.html.jinja
new file mode 100644
index 0000000..b0f59ae
--- /dev/null
+++ b/src/hydrilla/proxy/web_ui/templates/items/item_view.html.jinja
@@ -0,0 +1,63 @@
+{#
+Proxy web UI item view page template.
+
+This file is part of Hydrilla&Haketilo.
+
+Copyright (C) 2022 Wojtek Kosior
+
+Dual licensed under
+* GNU General Public License v3.0 or later and
+* Creative Commons Attribution Share Alike 4.0 International.
+
+You can choose to use either of these licenses or both.
+
+
+I, Wojtek Kosior, thereby promise not to sue for violation of this
+file's licenses. Although I request that you do not make use this code
+in a proprietary work, I am not going to enforce this in court.
+#}
+{% extends "base.html.jinja" %}
+{% block style %}
+ {{ super() }}
+
+ {% include 'include/item_list_style.css.jinja' %}
+{% endblock %}
+{% block main %}
+ {% block main_info %}
+ <h3>{% block heading required %}{% endblock %}</h3>
+ {% endblock %}
+ {% if version_display_infos|length > 0 %}
+ <h4>
+ {% block version_list_heading required %}
+ {% endblock %}
+ </h4>
+ <ul id="item_list">
+ {% for info in version_display_infos %}
+ {% set entry_classes = [] %}
+ {% if info.is_local %}
+ {% do entry_classes.append('version-entry-local') %}
+ {% endif %}
+ {% if info.is_orphan %}
+ {% do entry_classes.append('version-entry-orphan') %}
+ {% endif %}
+ <li class="{{ entry_classes|join(' ') }}">
+ {%
+ set href = url_for(
+ '.show_{}_version'.format(info.type.alt_name),
+ item_version_id = info.ref.id
+ )
+ %}
+ <a href="{{ href }}">
+ <div>
+ {{ info.info.version_string }}
+ {% if not info.is_local %}
+ @
+ {{ info.info.repo }}
+ {% endif %}
+ </div>
+ </a>
+ </li>
+ {% endfor %}
+ </ul>
+ {% endif %}{# version_display_infos|length > 0 #}
+{% endblock main %}
diff --git a/src/hydrilla/proxy/web_ui/templates/libraries/index.html.jinja.license b/src/hydrilla/proxy/web_ui/templates/items/item_view.html.jinja.license
index bb2e0af..bb2e0af 100644
--- a/src/hydrilla/proxy/web_ui/templates/libraries/index.html.jinja.license
+++ b/src/hydrilla/proxy/web_ui/templates/items/item_view.html.jinja.license
diff --git a/src/hydrilla/proxy/web_ui/templates/libraries/show_single_version.html.jinja b/src/hydrilla/proxy/web_ui/templates/items/item_viewversion.html.jinja
index 448a9bc..9c81bec 100644
--- a/src/hydrilla/proxy/web_ui/templates/libraries/show_single_version.html.jinja
+++ b/src/hydrilla/proxy/web_ui/templates/items/item_viewversion.html.jinja
@@ -1,5 +1,5 @@
{#
-Proxy web UI library version show page.
+Proxy web UI item version view page template.
This file is part of Hydrilla&Haketilo.
@@ -16,38 +16,31 @@ I, Wojtek Kosior, thereby promise not to sue for violation of this
file's licenses. Although I request that you do not make use this code
in a proprietary work, I am not going to enforce this in court.
#}
-{% extends "libraries/show_single.html.jinja" %}
-{% block title %} {{ _('web_ui.libraries.single_version.title') }} {% endblock %}
+{% extends "items/item_view.html.jinja" %}
{% block main_info %}
{% if file_installation_error is defined %}
- <aside class="error-note">
- {{ _('web_ui.err.file_installation_error') }}
- </aside>
+ <aside class="error-note">
+ {{ _('web_ui.err.file_installation_error') }}
+ </aside>
{% endif %}
{% if uninstall_disallowed is defined %}
- <aside class="error-note">
- {{ _('web_ui.err.uninstall_disallowed') }}
- </aside>
+ <aside class="error-note">
+ {{ _('web_ui.err.uninstall_disallowed') }}
+ </aside>
{% endif %}
{% if repo_communication_error is defined %}
- <aside class="error-note">
- {{ _('web_ui.err.repo_communication_error') }}
- </aside>
+ <aside class="error-note">
+ {{ _('web_ui.err.repo_communication_error') }}
+ </aside>
{% endif %}
- <h3>
- {{
- _('web_ui.libraries.single_version.heading.name_{}')
- .format(display_info.info.long_name)
- }}
- </h3>
- <div class="library-identifier">
+
+ {{ super() }}
+
+ <div class="item-identifier">
{{ display_info.info.versioned_identifier }}
</div>
- TODO: add more info...
{% if display_info.installed == InstalledStatus.INSTALLED %}
- <div>
- {{ _('web_ui.libraries.single_version.library_is_installed') }}
- </div>
+ <div>{% block item_is_installed_msg %}{% endblock %}</div>
{%
if uninstall_disallowed is not defined and
display_info.active != ActiveStatus.REQUIRED
@@ -55,40 +48,34 @@ in a proprietary work, I am not going to enforce this in court.
<form method="POST">
<input name="action" value="uninstall_item_version" type="hidden">
<button class="green-button">
- {{ _('web_ui.libraries.single_version.uninstall_button') }}
+ {{ _('web_ui.items.single_version.uninstall_button') }}
</button>
</form>
{% endif %}
{% elif display_info.installed == InstalledStatus.NOT_INSTALLED %}
- <div>
- {{ _('web_ui.libraries.single_version.library_is_not_installed') }}
- </div>
+ <div>{% block item_is_not_installed_msg %}{% endblock %}</div>
<form method="POST">
<input name="action" value="install_item_version" type="hidden">
<button class="green-button">
- {{ _('web_ui.libraries.single_version.install_button') }}
+ {{ _('web_ui.items.single_version.install_button') }}
</button>
</form>
{% else %}
- <div>
- {{ _('web_ui.libraries.single_version.library_install_failed') }}
- </div>
+ <div>{% block item_install_failed_msg %}{% endblock %}</div>
<div>
<form method="POST" class="inline-form">
<input name="action" value="install_item_version" type="hidden">
<button class="green-button">
- {{ _('web_ui.libraries.single_version.retry_install_button') }}
+ {{ _('web_ui.items.single_version.retry_install_button') }}
</button>
</form>
<form method="POST" class="inline-form">
<input name="action" value="uninstall_item_version" type="hidden">
<button class="green-button">
- {{ _('web_ui.libraries.single_version.leave_uninstalled_button') }}
+ {{ _('web_ui.items.single_version.leave_uninstalled_button') }}
</button>
</form>
</div>
{% endif %}
+ TODO: add more info...
{% endblock main_info %}
-{% block version_list_heading %}
- {{ _('web_ui.libraries.single_version.version_list_heading') }}
-{% endblock %}
diff --git a/src/hydrilla/proxy/web_ui/templates/libraries/show_single.html.jinja.license b/src/hydrilla/proxy/web_ui/templates/items/item_viewversion.html.jinja.license
index bb2e0af..bb2e0af 100644
--- a/src/hydrilla/proxy/web_ui/templates/libraries/show_single.html.jinja.license
+++ b/src/hydrilla/proxy/web_ui/templates/items/item_viewversion.html.jinja.license
diff --git a/src/hydrilla/proxy/web_ui/templates/libraries/index.html.jinja b/src/hydrilla/proxy/web_ui/templates/items/libraries.html.jinja
index 5cdda04..5cdda04 100644
--- a/src/hydrilla/proxy/web_ui/templates/libraries/index.html.jinja
+++ b/src/hydrilla/proxy/web_ui/templates/items/libraries.html.jinja
diff --git a/src/hydrilla/proxy/web_ui/templates/libraries/show_single_version.html.jinja.license b/src/hydrilla/proxy/web_ui/templates/items/libraries.html.jinja.license
index bb2e0af..bb2e0af 100644
--- a/src/hydrilla/proxy/web_ui/templates/libraries/show_single_version.html.jinja.license
+++ b/src/hydrilla/proxy/web_ui/templates/items/libraries.html.jinja.license
diff --git a/src/hydrilla/proxy/web_ui/templates/items/library_view.html.jinja b/src/hydrilla/proxy/web_ui/templates/items/library_view.html.jinja
new file mode 100644
index 0000000..7cde665
--- /dev/null
+++ b/src/hydrilla/proxy/web_ui/templates/items/library_view.html.jinja
@@ -0,0 +1,34 @@
+{#
+Proxy web UI library view page.
+
+This file is part of Hydrilla&Haketilo.
+
+Copyright (C) 2022 Wojtek Kosior
+
+Dual licensed under
+* GNU General Public License v3.0 or later and
+* Creative Commons Attribution Share Alike 4.0 International.
+
+You can choose to use either of these licenses or both.
+
+
+I, Wojtek Kosior, thereby promise not to sue for violation of this
+file's licenses. Although I request that you do not make use this code
+in a proprietary work, I am not going to enforce this in court.
+#}
+{% extends "items/item_view.html.jinja" %}
+{% block title %} {{ _('web_ui.items.single.library.title') }} {% endblock %}
+{% block heading %}
+ {{
+ _('web_ui.items.single.library.heading.name_{}')
+ .format(display_info.identifier)
+ }}
+{% endblock %}
+{% block main_info %}
+ {{ super() }}
+
+ TODO: add more info...
+{% endblock %}
+{% block version_list_heading %}
+ {{ _('web_ui.items.single.library.version_list_heading') }}
+{% endblock %}
diff --git a/src/hydrilla/proxy/web_ui/templates/packages/index.html.jinja.license b/src/hydrilla/proxy/web_ui/templates/items/library_view.html.jinja.license
index bb2e0af..bb2e0af 100644
--- a/src/hydrilla/proxy/web_ui/templates/packages/index.html.jinja.license
+++ b/src/hydrilla/proxy/web_ui/templates/items/library_view.html.jinja.license
diff --git a/src/hydrilla/proxy/web_ui/templates/items/library_viewversion.html.jinja b/src/hydrilla/proxy/web_ui/templates/items/library_viewversion.html.jinja
new file mode 100644
index 0000000..7299fcb
--- /dev/null
+++ b/src/hydrilla/proxy/web_ui/templates/items/library_viewversion.html.jinja
@@ -0,0 +1,40 @@
+{#
+Proxy web UI library version view page.
+
+This file is part of Hydrilla&Haketilo.
+
+Copyright (C) 2022 Wojtek Kosior
+
+Dual licensed under
+* GNU General Public License v3.0 or later and
+* Creative Commons Attribution Share Alike 4.0 International.
+
+You can choose to use either of these licenses or both.
+
+
+I, Wojtek Kosior, thereby promise not to sue for violation of this
+file's licenses. Although I request that you do not make use this code
+in a proprietary work, I am not going to enforce this in court.
+#}
+{% extends "items/item_viewversion.html.jinja" %}
+{% block title %}
+ {{ _('web_ui.items.single_version.library.title') }}
+{% endblock %}
+{% block heading %}
+ {{
+ _('web_ui.items.single_version.library.heading.name_{}')
+ .format(display_info.info.long_name)
+ }}
+{% endblock %}
+{% block item_is_installed_msg %}
+{{ _('web_ui.items.single_version.library.is_installed') }}
+{% endblock %}
+{% block item_is_not_nstalled_msg %}
+ {{ _('web_ui.items.single_version.library.is_not_installed') }}
+{% endblock %}
+{% block item_install_failed_msg %}
+ {{ _('web_ui.items.single_version.library.install_failed') }}
+{% endblock %}
+{% block version_list_heading %}
+ {{ _('web_ui.items.single_version.library.version_list_heading') }}
+{% endblock %}
diff --git a/src/hydrilla/proxy/web_ui/templates/packages/load_from_disk.html.jinja.license b/src/hydrilla/proxy/web_ui/templates/items/library_viewversion.html.jinja.license
index bb2e0af..bb2e0af 100644
--- a/src/hydrilla/proxy/web_ui/templates/packages/load_from_disk.html.jinja.license
+++ b/src/hydrilla/proxy/web_ui/templates/items/library_viewversion.html.jinja.license
diff --git a/src/hydrilla/proxy/web_ui/templates/packages/load_from_disk.html.jinja b/src/hydrilla/proxy/web_ui/templates/items/load_from_disk.html.jinja
index a1b191e..9ad190f 100644
--- a/src/hydrilla/proxy/web_ui/templates/packages/load_from_disk.html.jinja
+++ b/src/hydrilla/proxy/web_ui/templates/items/load_from_disk.html.jinja
@@ -1,5 +1,5 @@
{#
-Proxy web UI package loading page.
+Proxy web UI item loading page.
This file is part of Hydrilla&Haketilo.
@@ -17,7 +17,7 @@ file's licenses. Although I request that you do not make use this code
in a proprietary work, I am not going to enforce this in court.
#}
{% extends "base.html.jinja" %}
-{% block title %} {{ _('web_ui.packages.load_from_disk.title') }} {% endblock %}
+{% block title %} {{ _('web_ui.load_from_disk.title') }} {% endblock %}
{% block style %}
{{ super() }}
@@ -27,20 +27,20 @@ in a proprietary work, I am not going to enforce this in court.
}
{% endblock %}
{% block main %}
- <h3>{{ _('web_ui.packages.load_from_disk.heading') }}</h3>
+ <h3>{{ _('web_ui.load_from_disk.heading') }}</h3>
<form method="POST" enctype="multipart/form-data">
<div>
- <input id="packages_zipfile" name="packages_zipfile" type="file"
+ <input id="items_zipfile" name="items_zipfile" type="file"
accept=".zip,application/zip" required="">
</div>
<div>
- <label class="green-button" for="packages_zipfile">
- {{ _('web_ui.packages.load_from_disk.choose_zipfile_button') }}
+ <label class="green-button" for="items_zipfile">
+ {{ _('web_ui.load_from_disk.choose_zipfile_button') }}
</label>
</div>
<div>
<button class="green-button">
- {{ _('web_ui.packages.load_from_disk.install_button') }}
+ {{ _('web_ui.load_from_disk.install_button') }}
</button>
</div>
</form>
diff --git a/src/hydrilla/proxy/web_ui/templates/packages/show_single.html.jinja.license b/src/hydrilla/proxy/web_ui/templates/items/load_from_disk.html.jinja.license
index bb2e0af..bb2e0af 100644
--- a/src/hydrilla/proxy/web_ui/templates/packages/show_single.html.jinja.license
+++ b/src/hydrilla/proxy/web_ui/templates/items/load_from_disk.html.jinja.license
diff --git a/src/hydrilla/proxy/web_ui/templates/items/package_view.html.jinja b/src/hydrilla/proxy/web_ui/templates/items/package_view.html.jinja
new file mode 100644
index 0000000..f83eb0c
--- /dev/null
+++ b/src/hydrilla/proxy/web_ui/templates/items/package_view.html.jinja
@@ -0,0 +1,34 @@
+{#
+Proxy web UI package view page.
+
+This file is part of Hydrilla&Haketilo.
+
+Copyright (C) 2022 Wojtek Kosior
+
+Dual licensed under
+* GNU General Public License v3.0 or later and
+* Creative Commons Attribution Share Alike 4.0 International.
+
+You can choose to use either of these licenses or both.
+
+
+I, Wojtek Kosior, thereby promise not to sue for violation of this
+file's licenses. Although I request that you do not make use this code
+in a proprietary work, I am not going to enforce this in court.
+#}
+{% extends "items/item_view.html.jinja" %}
+{% block title %} {{ _('web_ui.items.single.package.title') }} {% endblock %}
+{% block heading %}
+ {{
+ _('web_ui.items.single.package.heading.name_{}')
+ .format(display_info.identifier)
+ }}
+{% endblock %}
+{% block main_info %}
+ {{ super() }}
+
+ TODO: add more info...
+{% endblock %}
+{% block version_list_heading %}
+ {{ _('web_ui.items.single.package.version_list_heading') }}
+{% endblock %}
diff --git a/src/hydrilla/proxy/web_ui/templates/packages/show_single_version.html.jinja.license b/src/hydrilla/proxy/web_ui/templates/items/package_view.html.jinja.license
index bb2e0af..bb2e0af 100644
--- a/src/hydrilla/proxy/web_ui/templates/packages/show_single_version.html.jinja.license
+++ b/src/hydrilla/proxy/web_ui/templates/items/package_view.html.jinja.license
diff --git a/src/hydrilla/proxy/web_ui/templates/items/package_viewversion.html.jinja b/src/hydrilla/proxy/web_ui/templates/items/package_viewversion.html.jinja
new file mode 100644
index 0000000..9009c9c
--- /dev/null
+++ b/src/hydrilla/proxy/web_ui/templates/items/package_viewversion.html.jinja
@@ -0,0 +1,40 @@
+{#
+Proxy web UI package version view page.
+
+This file is part of Hydrilla&Haketilo.
+
+Copyright (C) 2022 Wojtek Kosior
+
+Dual licensed under
+* GNU General Public License v3.0 or later and
+* Creative Commons Attribution Share Alike 4.0 International.
+
+You can choose to use either of these licenses or both.
+
+
+I, Wojtek Kosior, thereby promise not to sue for violation of this
+file's licenses. Although I request that you do not make use this code
+in a proprietary work, I am not going to enforce this in court.
+#}
+{% extends "items/item_viewversion.html.jinja" %}
+{% block title %}
+ {{ _('web_ui.items.single_version.package.title') }}
+{% endblock %}
+{% block heading %}
+ {{
+ _('web_ui.items.single_version.package.heading.name_{}')
+ .format(display_info.info.long_name)
+ }}
+{% endblock %}
+{% block item_is_installed_msg %}
+{{ _('web_ui.items.single_version.package.is_installed') }}
+{% endblock %}
+{% block item_is_not_nstalled_msg %}
+ {{ _('web_ui.items.single_version.package.is_not_installed') }}
+{% endblock %}
+{% block item_install_failed_msg %}
+ {{ _('web_ui.items.single_version.package.install_failed') }}
+{% endblock %}
+{% block version_list_heading %}
+ {{ _('web_ui.items.single_version.package.version_list_heading') }}
+{% endblock %}
diff --git a/src/hydrilla/proxy/web_ui/templates/items/package_viewversion.html.jinja.license b/src/hydrilla/proxy/web_ui/templates/items/package_viewversion.html.jinja.license
new file mode 100644
index 0000000..bb2e0af
--- /dev/null
+++ b/src/hydrilla/proxy/web_ui/templates/items/package_viewversion.html.jinja.license
@@ -0,0 +1,7 @@
+Spdx-License-Identifier: GPL-3.0-or-later OR CC-BY-SA-4.0
+
+Copyright (C) 2022 Wojtek Kosior
+
+I, Wojtek Kosior, thereby promise not to sue for violation of this
+file's licenses. Although I request that you do not make use this code
+in a proprietary work, I am not going to enforce this in court.
diff --git a/src/hydrilla/proxy/web_ui/templates/packages/index.html.jinja b/src/hydrilla/proxy/web_ui/templates/items/packages.html.jinja
index e2aad5d..09b20f0 100644
--- a/src/hydrilla/proxy/web_ui/templates/packages/index.html.jinja
+++ b/src/hydrilla/proxy/web_ui/templates/items/packages.html.jinja
@@ -42,9 +42,11 @@ in a proprietary work, I am not going to enforce this in court.
if info.active_version is not none and
info.active_version.active == ActiveStatus.REQUIRED
%}
- {% set ver = info.active_version.info.version %}
- {% set ver_str = versions.version_string(ver) %}
- {% set ver_desc = ver_str + '@' + info.active_version.info.repo %}
+ {% set ver_desc = info.active_version.info.version_string %}
+ {% if not info.active_version.is_local %}
+ {% set repo_name = info.active_version.info.repo %}
+ {% set ver_desc = ver_desc + ' @ ' + repo_name %}
+ {% endif %}
<div class="small-print">
{{ _('web_ui.packages.enabled_version_{}').format(ver_desc) }}
</div>
diff --git a/src/hydrilla/proxy/web_ui/templates/items/packages.html.jinja.license b/src/hydrilla/proxy/web_ui/templates/items/packages.html.jinja.license
new file mode 100644
index 0000000..bb2e0af
--- /dev/null
+++ b/src/hydrilla/proxy/web_ui/templates/items/packages.html.jinja.license
@@ -0,0 +1,7 @@
+Spdx-License-Identifier: GPL-3.0-or-later OR CC-BY-SA-4.0
+
+Copyright (C) 2022 Wojtek Kosior
+
+I, Wojtek Kosior, thereby promise not to sue for violation of this
+file's licenses. Although I request that you do not make use this code
+in a proprietary work, I am not going to enforce this in court.
diff --git a/src/hydrilla/proxy/web_ui/templates/libraries/show_single.html.jinja b/src/hydrilla/proxy/web_ui/templates/libraries/show_single.html.jinja
deleted file mode 100644
index 8ee96ba..0000000
--- a/src/hydrilla/proxy/web_ui/templates/libraries/show_single.html.jinja
+++ /dev/null
@@ -1,76 +0,0 @@
-{#
-Proxy web UI library show page.
-
-This file is part of Hydrilla&Haketilo.
-
-Copyright (C) 2022 Wojtek Kosior
-
-Dual licensed under
-* GNU General Public License v3.0 or later and
-* Creative Commons Attribution Share Alike 4.0 International.
-
-You can choose to use either of these licenses or both.
-
-
-I, Wojtek Kosior, thereby promise not to sue for violation of this
-file's licenses. Although I request that you do not make use this code
-in a proprietary work, I am not going to enforce this in court.
-#}
-{% extends "base.html.jinja" %}
-{% block title %} {{ _('web_ui.libraries.single.title') }} {% endblock %}
-{% block style %}
- {{ super() }}
-
- {% include 'include/item_list_style.css.jinja' %}
-{% endblock %}
-{% block main %}
- {% block main_info %}
- <h3>
- {{
- _('web_ui.libraries.single.heading.name_{}')
- .format(display_info.identifier)
- }}
- </h3>
- TODO: add more info...
- {% endblock %}
- <h4>
- {% if version_display_infos|length > 0 %}
- {% block version_list_heading %}
- {{ _('web_ui.libraries.single.version_list_heading') }}
- {% endblock %}
- {% endif %}
- </h4>
- <ul id="item_list">
- {% for info in version_display_infos %}
- {% set entry_classes = [] %}
- {% if info.is_local %}
- {% do entry_classes.append('version-entry-local') %}
- {% endif %}
- {% if info.is_orphan %}
- {% do entry_classes.append('version-entry-orphan') %}
- {% endif %}
- <li class="{{ entry_classes|join(' ') }}">
- {%
- set href = url_for(
- '.show_library_version',
- item_version_id = info.ref.id
- )
- %}
- <a href="{{ href }}">
- <div>
- {{
- versions.version_string(
- info.info.version,
- rev = info.info.revision
- )
- }}
- {% if not info.is_local %}
- @
- {{ info.info.repo }}
- {% endif %}
- </div>
- </a>
- </li>
- {% endfor %}
- </ul>
-{% endblock %}
diff --git a/src/hydrilla/proxy/web_ui/templates/packages/show_single.html.jinja b/src/hydrilla/proxy/web_ui/templates/packages/show_single.html.jinja
deleted file mode 100644
index 24d9a58..0000000
--- a/src/hydrilla/proxy/web_ui/templates/packages/show_single.html.jinja
+++ /dev/null
@@ -1,71 +0,0 @@
-{#
-Proxy web UI package show page.
-
-This file is part of Hydrilla&Haketilo.
-
-Copyright (C) 2022 Wojtek Kosior
-
-Dual licensed under
-* GNU General Public License v3.0 or later and
-* Creative Commons Attribution Share Alike 4.0 International.
-
-You can choose to use either of these licenses or both.
-
-
-I, Wojtek Kosior, thereby promise not to sue for violation of this
-file's licenses. Although I request that you do not make use this code
-in a proprietary work, I am not going to enforce this in court.
-#}
-{% extends "base.html.jinja" %}
-{% block title %} {{ _('web_ui.packages.single.title') }} {% endblock %}
-{% block style %}
- {{ super() }}
-
- {% include 'include/item_list_style.css.jinja' %}
-{% endblock %}
-{% block main %}
- {% block main_info %}
- <h3>
- {{
- _('web_ui.packages.single.heading.name_{}')
- .format(display_info.identifier)
- }}
- </h3>
- TODO: add more info...
- {% endblock %}
- <h4>
- {% if version_display_infos|length > 0 %}
- {% block version_list_heading %}
- {{ _('web_ui.packages.single.version_list_heading') }}
- {% endblock %}
- {% endif %}
- </h4>
- <ul id="item_list">
- {% for info in version_display_infos %}
- {% set entry_classes = [] %}
- {% if info.is_local %}
- {% do entry_classes.append('version-entry-local') %}
- {% endif %}
- {% if info.is_orphan %}
- {% do entry_classes.append('version-entry-orphan') %}
- {% endif %}
- <li class="{{ entry_classes|join(' ') }}">
- {%
- set href = url_for(
- '.show_package_version',
- item_version_id = info.ref.id
- )
- %}
- <a href="{{ href }}">
- <div>
- {{ versions.version_string(info.info.version) }}
- {% if not info.is_local %}
- @
- {{ info.info.repo }}
- {% endif %}
- </div>
- </a>
- </li>
- {% endfor %}
- </ul>
-{% endblock %}
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
deleted file mode 100644
index 12e5416..0000000
--- a/src/hydrilla/proxy/web_ui/templates/packages/show_single_version.html.jinja
+++ /dev/null
@@ -1,94 +0,0 @@
-{#
-Proxy web UI package version show page.
-
-This file is part of Hydrilla&Haketilo.
-
-Copyright (C) 2022 Wojtek Kosior
-
-Dual licensed under
-* GNU General Public License v3.0 or later and
-* Creative Commons Attribution Share Alike 4.0 International.
-
-You can choose to use either of these licenses or both.
-
-
-I, Wojtek Kosior, thereby promise not to sue for violation of this
-file's licenses. Although I request that you do not make use this code
-in a proprietary work, I am not going to enforce this in court.
-#}
-{% extends "packages/show_single.html.jinja" %}
-{% block title %} {{ _('web_ui.packages.single_version.title') }} {% endblock %}
-{% block main_info %}
- {% if file_installation_error is defined %}
- <aside class="error-note">
- {{ _('web_ui.err.file_installation_error') }}
- </aside>
- {% endif %}
- {% if uninstall_disallowed is defined %}
- <aside class="error-note">
- {{ _('web_ui.err.uninstall_disallowed') }}
- </aside>
- {% endif %}
- {% if repo_communication_error is defined %}
- <aside class="error-note">
- {{ _('web_ui.err.repo_communication_error') }}
- </aside>
- {% endif %}
- <h3>
- {{
- _('web_ui.packages.single_version.heading.name_{}')
- .format(display_info.info.long_name)
- }}
- </h3>
- <div class="package-identifier">
- {{ display_info.info.versioned_identifier }}
- </div>
- TODO: add more info...
- {% if display_info.installed == InstalledStatus.INSTALLED %}
- <div>
- {{ _('web_ui.packages.single_version.package_is_installed') }}
- </div>
- {%
- if uninstall_disallowed is not defined and
- display_info.active != ActiveStatus.REQUIRED
- %}
- <form method="POST">
- <input name="action" value="uninstall_item_version" type="hidden">
- <button class="green-button">
- {{ _('web_ui.packages.single_version.uninstall_button') }}
- </button>
- </form>
- {% endif %}
- {% elif display_info.installed == InstalledStatus.NOT_INSTALLED %}
- <div>
- {{ _('web_ui.packages.single_version.package_is_not_installed') }}
- </div>
- <form method="POST">
- <input name="action" value="install_item_version" type="hidden">
- <button class="green-button">
- {{ _('web_ui.packages.single_version.install_button') }}
- </button>
- </form>
- {% else %}
- <div>
- {{ _('web_ui.packages.single_version.package_install_failed') }}
- </div>
- <div>
- <form method="POST" class="inline-form">
- <input name="action" value="install_item_version" type="hidden">
- <button class="green-button">
- {{ _('web_ui.packages.single_version.retry_install_button') }}
- </button>
- </form>
- <form method="POST" class="inline-form">
- <input name="action" value="uninstall_item_version" type="hidden">
- <button class="green-button">
- {{ _('web_ui.packages.single_version.leave_uninstalled_button') }}
- </button>
- </form>
- </div>
- {% endif %}
-{% endblock main_info %}
-{% block version_list_heading %}
- {{ _('web_ui.packages.single_version.version_list_heading') }}
-{% endblock %}