{% extends 'panel/base.html' %} {% comment %}Wgrywanie paczki trwa dluzej niz zadanie i idzie osobnym procesem, wiec zakladka sama siega po nowy stan. Odswiezanie znacznikiem `meta`, a nie skryptem: strona panelu ma dzialac takze przy zablokowanym JavaScripcie, a tu chodzi tylko o podgladanie postepu.{% endcomment %} {% block meta %}{{ block.super }}{% if wgrywanie_trwa %}{% endif %}{% endblock %} {% block panel_title %}Aktualizacja serwisu{% endblock %} {% block heading %}Aktualizacja serwisu{% endblock %} {% block subheading %}

Wersja serwisu i sprawdzanie nowych wydań.

{% endblock %} {% block actions %}
{% csrf_token %}
{% endblock %} {% block content %}

Stan serwisu

Wersja zainstalowana

{{ config.current_version }}

Numer bierze się z plików serwisu - po wgraniu paczki zmienia się sam.

Najnowsza wersja

{{ config.latest_version|default:"-" }}

{% if config.latest_version and config.last_error %}

Numer sprzed ostatniego udanego sprawdzenia - dzisiejsze się nie powiodło, więc może być starszy niż to, co naprawdę wydano.

{% endif %}
{% if config.last_error %}

Sprawdzanie aktualizacji nie działa: {{ config.last_error }}

Powtórz sprawdzanie przyciskiem „Sprawdź aktualizacje” u góry - chwilowy brak połączenia mija sam. Gdy błąd zostaje, zgłoś go dostawcy CMS-a razem z treścią powyżej: adres serwera aktualizacji stoi w bazie serwisu i z panelu się go nie zmienia.

{% endif %} {% if brak_tabel or brak_kolumn %}

Baza nie ma schematu, którego oczekuje ten kod.

Pliki nowego wydania są na miejscu, ale migracje nie zostały puszczone. {% if brak_kolumn %}Brakuje kolumn: {{ brak_kolumn|join:", " }}.{% endif %} {% if brak_tabel %}Brakuje tabel: {{ brak_tabel|join:", " }}.{% endif %} Część stron odpowiada błędem, dopóki to trwa.

Uruchom na serwerze, w katalogu serwisu:

manage.py napraw_schemat

Polecenie dokłada brakujące kolumny wprost z modeli i przepina drzewo migracji. Przed zmianą robi kopię bazy, a przy --na-probe tylko wypisuje, co by zrobiło. Samo manage.py migrate tego już nie naprawi.

{% endif %} {% if config.update_available %}

Dostępna jest nowa wersja {{ config.latest_version }}.

{% if config.latest_notes %}

{{ config.latest_notes }}

{% endif %} {% if wgrywanie_trwa %}

Trwa wgrywanie wydania {{ config.install_version }} - postęp w dzienniku niżej, zakładka odświeża się sama.

{% elif czeka_na_restart %}

Pliki wydania {{ config.install_version }} są już na miejscu - serwis czeka na przeładowanie. Odśwież tę stronę za minutę. Gdy numer wersji wyżej się nie zmieni, zrestartuj aplikację w panelu hostingu albo dotknij pliku tmp/restart.txt w katalogu serwisu.

{% elif config.latest_url and mozna_wgrywac %}
{% csrf_token %}

Panel pobierze paczkę, sprawdzi ją, podmieni pliki serwisu, uruchomi migracje i poprosi serwer o przeładowanie. Przed migracjami robi kopię bazy, a gdy któryś krok się nie uda, przywraca pliki i bazę sprzed aktualizacji. Twoje treści, media i plik .env zostają nietknięte.

{% elif config.latest_url %}

Serwis nie ma prawa zapisu do własnych plików, więc z panelu paczki nie wgra. Nadaj kontu, na którym chodzi serwis, prawo zapisu do katalogu serwisu - albo pobierz pakiet, zrób kopię zapasową, podmień pliki i uruchom manage.py migrate.

{% endif %}
{% elif config.latest_version and not config.last_error %}
Serwis jest aktualny.
{% else %}
Serwis nie był jeszcze sprawdzany. Kliknij „Sprawdź aktualizacje” u góry - serwer wydań jest już ustawiony.
{% endif %} {% if config.install_state %}

Wgrywanie wydania {{ config.install_version }}

{{ config.get_install_state_display }} {% if config.install_started_at %} · od {{ config.install_started_at|date:"d.m.Y H:i" }}{% endif %} {% if config.install_finished_at %} · do {{ config.install_finished_at|date:"H:i" }}{% endif %}

{% if wgrywanie_utknelo %}

Wgrywanie nie skończyło się od ponad 30 minut - proces został pewnie przerwany (np. restartem serwera). Sprawdź ostatnie wiersze dziennika i kliknij „Wgraj aktualizację” jeszcze raz.

{% elif config.install_state == 'blad' %}

Wgrywanie przerwał błąd - przyczyna stoi w dzienniku niżej. Usuń ją i wgraj aktualizację jeszcze raz; gdy nie wiesz jak, przekaż dziennik dostawcy CMS-a.

{% endif %} {% if config.install_log %}
{{ config.install_log }}
{% endif %}
{% endif %}
Kanał
{{ config.get_channel_display }}
Ostatnie sprawdzenie
{{ config.last_checked_at|date:"d.m.Y H:i"|default:"nigdy" }}

Ustawienia aktualizacji

{% csrf_token %} {% include 'panel/partials/form.html' %}
{% include "panel/partials/dirty-note.html" %}

Przycisk „Sprawdź aktualizacje” u góry pyta o kanał już zapisany. Po zmianie kanału użyj „Zapisz i sprawdź”.

{% endblock %}