environment: show legacy urls (#63621)

This commit is contained in:
Emmanuel Cazenave 2022-04-19 18:22:35 +02:00
parent a6e871d60c
commit ad06b828b1
3 changed files with 41 additions and 2 deletions

View File

@ -60,6 +60,20 @@
<a rel="popup" class="button" href="{% url 'new-variable-service' service=service.Extra.service_id slug=service.slug %}">{% trans 'Add new variable' %}</a>
</div>
</form>
{% if service.legacy_urls %}
<h4>
{% blocktrans count counter=service.legacy_urls|length %}
Legacy URL
{% plural%}
Legacy URLS
{% endblocktrans %}
</h4>
<ul>
{% for legacy_url in service.legacy_urls %}
<li>{{ legacy_url.base_url }} {% if legacy_url.datetime %}({% trans 'until' %} {{ legacy_url.datetime }}){% endif %}</li>
{% endfor %}
</ul>
{% endif%}
</div>
{% endfor %}

View File

@ -14,6 +14,7 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
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

View File

@ -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)