diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/Errors.kt b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/Errors.kt
index 4941ade6..7ca226d3 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/Errors.kt
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/Errors.kt
@@ -51,6 +51,7 @@ const val ERROR_REQUEST_FAILURE_SSL_ERROR = 63
const val ERROR_RESPONSE_EMPTY = 100
const val ERROR_LOGIN_DATA_MISSING = 101
const val ERROR_PROFILE_MISSING = 105
+const val ERROR_PROFILE_ARCHIVED = 106
const val ERROR_INVALID_LOGIN_MODE = 110
const val ERROR_LOGIN_METHOD_NOT_SATISFIED = 111
const val ERROR_NOT_IMPLEMENTED = 112
diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/EdziennikTask.kt b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/EdziennikTask.kt
index a485f582..319479cb 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/EdziennikTask.kt
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/EdziennikTask.kt
@@ -16,6 +16,7 @@ import pl.szczodrzynski.edziennik.data.api.edziennik.template.Template
import pl.szczodrzynski.edziennik.data.api.edziennik.vulcan.Vulcan
import pl.szczodrzynski.edziennik.data.api.interfaces.EdziennikCallback
import pl.szczodrzynski.edziennik.data.api.interfaces.EdziennikInterface
+import pl.szczodrzynski.edziennik.data.api.models.ApiError
import pl.szczodrzynski.edziennik.data.api.task.IApiTask
import pl.szczodrzynski.edziennik.data.db.entity.LoginStore
import pl.szczodrzynski.edziennik.data.db.entity.Message
@@ -62,6 +63,10 @@ open class EdziennikTask(override val profileId: Int, val request: Any) : IApiTa
private var edziennikInterface: EdziennikInterface? = null
internal fun run(app: App, taskCallback: EdziennikCallback) {
+ if (profile?.archived == true) {
+ taskCallback.onError(ApiError(TAG, ERROR_PROFILE_ARCHIVED))
+ return
+ }
edziennikInterface = when (loginStore.type) {
LOGIN_TYPE_LIBRUS -> Librus(app, profile, loginStore, taskCallback)
LOGIN_TYPE_MOBIDZIENNIK -> Mobidziennik(app, profile, loginStore, taskCallback)
diff --git a/app/src/main/res/values/errors.xml b/app/src/main/res/values/errors.xml
index a804223f..7aeabb87 100644
--- a/app/src/main/res/values/errors.xml
+++ b/app/src/main/res/values/errors.xml
@@ -25,6 +25,7 @@
ERROR_LOGIN_DATA_MISSING
ERROR_LOGIN_DATA_INVALID
ERROR_PROFILE_MISSING
+ ERROR_PROFILE_ARCHIVED
ERROR_INVALID_LOGIN_MODE
ERROR_LOGIN_METHOD_NOT_SATISFIED
ERROR_NOT_IMPLEMENTED
@@ -190,6 +191,7 @@
Dane logowania niekompletne
Nieprawidłowe dane logowania
Profil nie został ustawiony
+ Profil jest archiwalny - synchronizacja profilu z poprzedniego roku szkolnego nie jest możliwa
Nieprawidłowy sposób logowania
Nie można wywołać metody logowania
Nie zaimplementowano
@@ -283,26 +285,26 @@
Vulcan: błąd żądania, zgłoś błąd
Vulcan: inny błąd, wyślij zgłoszenie
- ERROR_LOGIN_IDZIENNIK_WEB_INVALID_LOGIN
- ERROR_LOGIN_IDZIENNIK_WEB_INVALID_SCHOOL_NAME
- ERROR_LOGIN_IDZIENNIK_WEB_PASSWORD_CHANGE_NEEDED
- ERROR_LOGIN_IDZIENNIK_WEB_MAINTENANCE
- ERROR_LOGIN_IDZIENNIK_WEB_SERVER_ERROR
- ERROR_LOGIN_IDZIENNIK_WEB_OTHER
- ERROR_LOGIN_IDZIENNIK_WEB_API_NO_ACCESS
- ERROR_LOGIN_IDZIENNIK_WEB_NO_SESSION
- ERROR_LOGIN_IDZIENNIK_WEB_NO_AUTH
- ERROR_LOGIN_IDZIENNIK_WEB_NO_BEARER
- ERROR_IDZIENNIK_WEB_ACCESS_DENIED
- ERROR_IDZIENNIK_WEB_OTHER
- ERROR_IDZIENNIK_WEB_MAINTENANCE
- ERROR_IDZIENNIK_WEB_SERVER_ERROR
- ERROR_IDZIENNIK_WEB_PASSWORD_CHANGE_NEEDED
- ERROR_LOGIN_IDZIENNIK_FIRST_NO_SCHOOL_YEAR
- ERROR_IDZIENNIK_WEB_REQUEST_NO_DATA
- ERROR_IDZIENNIK_API_ACCESS_DENIED
- ERROR_IDZIENNIK_API_OTHER
- ERROR_IDZIENNIK_API_NO_REGISTER
+ Nieprawidłowe dane logowania
+ Nieprawidłowa nazwa szkoły
+ iDziennik: wymagana zmiana hasła. Zaloguj się na stronie iDziennika, by dokonać zmiany hasła.
+ Chwilowa przerwa techniczna iDziennika, lub inny problem z serwerem
+ Chwilowa przerwa techniczna iDziennika, lub inny problem z serwerem (serwer zwrócił błąd)
+ iDziennik: inny błąd logowania
+ iDziennik: brak dostępu do API
+ iDziennik: nie znaleziono sesji
+ iDziennik: nie znaleziono tokenu autoryzacji
+ iDziennik: nie znaleziono tokenu API
+ iDziennik: brak dostępu. Zaloguj się ponownie.
+ iDziennik: inny błąd synchronizacji
+ Chwilowa przerwa techniczna iDziennika, lub inny problem z serwerem
+ Chwilowa przerwa techniczna iDziennika, lub inny problem z serwerem (serwer zwrócił błąd)
+ iDziennik: wymagana zmiana hasła. Zaloguj się na stronie iDziennika, by dokonać zmiany hasła.
+ iDziennik: nie znaleziono numeru roku szkolnego. Uczeń może nie być aktywny w aktualnym roku szkolnym.
+ iDziennik: serwer nie zwrócił żadnych danych
+ Brak dostępu do API iDziennika
+ Inny błąd API iDziennika
+ iDziennik: nie znaleziono ID dziennika. Zgłoś błąd programiście.
Twoje konto nie ma uprawnień do wysyłania wiadomości (bądź wystąpił inny błąd serwera iDziennika)
Błędny email lub hasło
@@ -314,7 +316,7 @@
ERROR_TEMPLATE_WEB_OTHER
- EXCEPTION_API_TASK
+ Błąd synchronizacji. Upewnij się, że masz połączenie z internetem, a następnie zgłoś błąd.
EXCEPTION_LOGIN_LIBRUS_API_TOKEN
EXCEPTION_LOGIN_LIBRUS_PORTAL_TOKEN
EXCEPTION_LIBRUS_PORTAL_SYNERGIA_TOKEN