diff --git a/hobo/environment/templates/environment/home.html b/hobo/environment/templates/environment/home.html
index e14e699..a92bd4c 100644
--- a/hobo/environment/templates/environment/home.html
+++ b/hobo/environment/templates/environment/home.html
@@ -60,6 +60,20 @@
{% trans 'Add new variable' %}
+ {% if service.legacy_urls %}
+
+ {% blocktrans count counter=service.legacy_urls|length %}
+ Legacy URL
+ {% plural%}
+ Legacy URLS
+ {% endblocktrans %}
+
+
+ {% for legacy_url in service.legacy_urls %}
+ - {{ legacy_url.base_url }} {% if legacy_url.datetime %}({% trans 'until' %} {{ legacy_url.datetime }}){% endif %}
+ {% endfor %}
+
+ {% endif%}
{% endfor %}
diff --git a/hobo/environment/views.py b/hobo/environment/views.py
index 3217dca..78be0bc 100644
--- a/hobo/environment/views.py
+++ b/hobo/environment/views.py
@@ -14,6 +14,7 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
+import datetime
import json
import string
@@ -44,7 +45,16 @@ class HomeView(TemplateView):
def get_context_data(self, **kwargs):
context = super(HomeView, self).get_context_data(**kwargs)
context['available_services'] = [AvailableService(x) for x in AVAILABLE_SERVICES if x.is_enabled()]
- context['installed_services'] = [x for x in utils.get_installed_services() if not x.secondary]
+ installed_services = [x for x in utils.get_installed_services() if not x.secondary]
+ for service in installed_services:
+ for legacy_url in service.legacy_urls:
+ try:
+ legacy_url['datetime'] = datetime.datetime.strptime(
+ legacy_url['timestamp'], '%Y-%m-%d %H:%M:%S'
+ )
+ except ValueError:
+ pass
+ context['installed_services'] = installed_services
return context
diff --git a/tests/test_environment.py b/tests/test_environment.py
index cdbda58..b2d7aee 100644
--- a/tests/test_environment.py
+++ b/tests/test_environment.py
@@ -158,7 +158,7 @@ def test_service_creation_url_validation(app, admin_user, monkeypatch):
def test_home_view(app, admin_user):
app = login(app)
- Combo.objects.create(
+ combo = Combo.objects.create(
base_url='https://combo.agglo.love', template_name='...portal-user...', slug='portal'
)
response = app.get('/sites').follow()
@@ -168,6 +168,21 @@ def test_home_view(app, admin_user):
assert str(service._meta.verbose_name) in response.text
assert response.html.find('span', {'class': 'slug'}).a.text == 'https://combo.agglo.love/'
+ # add legacy urls
+ combo.change_base_url('https://combo1.agglo.love')
+ combo.save()
+ response = app.get('/sites').follow()
+ assert response.html.find('span', {'class': 'slug'}).a.text == 'https://combo1.agglo.love/'
+ h4 = response.html.find_all('h4')[-1]
+ assert h4.text.strip() == 'Legacy URL'
+
+ combo.change_base_url('https://combo2.agglo.love')
+ combo.save()
+ response = app.get('/sites').follow()
+ assert response.html.find('span', {'class': 'slug'}).a.text == 'https://combo2.agglo.love/'
+ h4 = response.html.find_all('h4')[-1]
+ assert h4.text.strip() == 'Legacy URLS'
+
def test_variables_view(app, admin_user):
app = login(app)