diff --git a/.envs/.local/.django b/.envs/.local/.django index 007f9f7f1..dd617ff70 100755 --- a/.envs/.local/.django +++ b/.envs/.local/.django @@ -32,3 +32,6 @@ USE_OPENSEARCH_LOGGING=no # OPENSEARCH_LOGGING_HOSTS=http://opensearch:9200 # OPENSEARCH_LOGGING_ENVIRONMENT=dev # OPENSEARCH_LOGGING_LEVEL=INFO + +# Link para o site antigo (old.scielo.org) no cabeçalho +SCIELO_OLD_URL_ENABLED=False diff --git a/config/settings/base.py b/config/settings/base.py index ff76189b5..e81ab9332 100644 --- a/config/settings/base.py +++ b/config/settings/base.py @@ -727,6 +727,9 @@ # LINK TO OLD SCIELO +# Habilita/desabilita a exibição do link para o site antigo no cabeçalho +SCIELO_OLD_URL_ENABLED = env.bool("SCIELO_OLD_URL_ENABLED", default=False) +# Deve começar com http:// ou https://; o texto do link é a URL sem o protocolo SCIELO_OLD_URL = env.str("SCIELO_OLD_URL", default="http://old.scielo.org/") # Score mínimo (percentual_score) para considerar um candidato de PidProviderXML como aprovado diff --git a/core/home/models.py b/core/home/models.py index cce3f8053..09c707800 100755 --- a/core/home/models.py +++ b/core/home/models.py @@ -1,3 +1,5 @@ +from urllib.parse import urlparse + from django.conf import settings from django.db import models from django.db.models import Prefetch, Q @@ -74,10 +76,29 @@ def default_journal_filter(search_term, starts_with_letter, active_or_discontinu def _default_context(context): context["social_networks"] = get_social_networks("scl") - context["old_scielo_url"] = settings.SCIELO_OLD_URL + context["old_scielo_link"] = get_old_scielo_link() context["page_about"] = get_page_about() +def get_old_scielo_link(): + """ + Retorna o link para o site antigo como {"url": ..., "label": ...}, + ou None se o link estiver desabilitado (SCIELO_OLD_URL_ENABLED=False). + SCIELO_OLD_URL deve começar com http:// ou https://; caso contrário, + usa o valor padrão. O label é a URL sem o protocolo. + """ + if not getattr(settings, "SCIELO_OLD_URL_ENABLED", True): + return None + + default_url = "http://old.scielo.org/" + url = (getattr(settings, "SCIELO_OLD_URL", None) or "").strip() + if urlparse(url).scheme not in ("http", "https"): + url = default_url + + label = url.split("://", 1)[1].rstrip("/") + return {"url": url, "label": label} + + def get_page_about(): try: locale = _get_current_locale() diff --git a/core/templates/home/scieloorg/header.html b/core/templates/home/scieloorg/header.html index 40b09a12a..dd4da5da7 100644 --- a/core/templates/home/scieloorg/header.html +++ b/core/templates/home/scieloorg/header.html @@ -6,13 +6,15 @@
+ {% if old_scielo_link %} + {% endif %}