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 b0e79707..37e63142 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 @@ -164,6 +164,7 @@ const val ERROR_IDZIENNIK_WEB_REQUEST_NO_DATA = 441 const val ERROR_IDZIENNIK_API_ACCESS_DENIED = 450 const val ERROR_IDZIENNIK_API_OTHER = 451 const val ERROR_IDZIENNIK_API_NO_REGISTER = 452 +const val ERROR_IDZIENNIK_WEB_RECIPIENT_LIST_NO_PERMISSION = 453 const val ERROR_LOGIN_EDUDZIENNIK_WEB_INVALID_LOGIN = 501 const val ERROR_LOGIN_EDUDZIENNIK_WEB_OTHER = 510 diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/idziennik/data/IdziennikWeb.kt b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/idziennik/data/IdziennikWeb.kt index b454a2ff..fbf068db 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/idziennik/data/IdziennikWeb.kt +++ b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/idziennik/data/IdziennikWeb.kt @@ -41,6 +41,13 @@ open class IdziennikWeb(open val data: DataIdziennik) { return } + if (response?.code() == HTTP_INTERNAL_ERROR && endpoint == IDZIENNIK_WEB_GET_RECIPIENT_LIST) { + data.error(ApiError(tag, ERROR_IDZIENNIK_WEB_RECIPIENT_LIST_NO_PERMISSION) + .withResponse(response) + .withApiResponse(json)) + return + } + when { response?.code() == HTTP_UNAUTHORIZED -> ERROR_IDZIENNIK_WEB_ACCESS_DENIED response?.code() == HTTP_INTERNAL_ERROR -> ERROR_IDZIENNIK_WEB_SERVER_ERROR diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/error/ErrorSnackbar.kt b/app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/error/ErrorSnackbar.kt index f4696ac9..a0488509 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/error/ErrorSnackbar.kt +++ b/app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/error/ErrorSnackbar.kt @@ -4,6 +4,7 @@ package pl.szczodrzynski.edziennik.ui.modules.error +import android.graphics.Color import android.view.View import android.widget.Toast import androidx.appcompat.app.AppCompatActivity @@ -40,7 +41,7 @@ class ErrorSnackbar(val activity: AppCompatActivity) : CoroutineScope { if (errors.isNotEmpty()) { val message = errors.map { listOf( - it.getStringReason(activity).asBoldSpannable(), + it.getStringReason(activity).asBoldSpannable().asColoredSpannable(Color.BLACK), if (App.devMode) it.throwable?.stackTraceString ?: it.throwable?.localizedMessage else diff --git a/app/src/main/res/values/errors.xml b/app/src/main/res/values/errors.xml index 1943fce8..a804223f 100644 --- a/app/src/main/res/values/errors.xml +++ b/app/src/main/res/values/errors.xml @@ -138,6 +138,7 @@ ERROR_IDZIENNIK_API_ACCESS_DENIED ERROR_IDZIENNIK_API_OTHER ERROR_IDZIENNIK_API_NO_REGISTER + ERROR_IDZIENNIK_WEB_RECIPIENT_LIST_NO_PERMISSION ERROR_LOGIN_EDUDZIENNIK_WEB_INVALID_LOGIN ERROR_LOGIN_EDUDZIENNIK_WEB_OTHER @@ -254,33 +255,33 @@ Librus API: przerwa techniczna Librus Portal: przerwa techniczna - ERROR_LOGIN_MOBIDZIENNIK_WEB_INVALID_LOGIN - ERROR_LOGIN_MOBIDZIENNIK_WEB_OLD_PASSWORD - ERROR_LOGIN_MOBIDZIENNIK_WEB_INVALID_DEVICE - ERROR_LOGIN_MOBIDZIENNIK_WEB_ARCHIVED - ERROR_LOGIN_MOBIDZIENNIK_WEB_MAINTENANCE - ERROR_LOGIN_MOBIDZIENNIK_WEB_INVALID_ADDRESS - ERROR_LOGIN_MOBIDZIENNIK_WEB_OTHER - ERROR_MOBIDZIENNIK_WEB_ACCESS_DENIED - ERROR_MOBIDZIENNIK_WEB_NO_SESSION_KEY - ERROR_MOBIDZIENNIK_WEB_NO_SESSION_VALUE - ERROR_MOBIDZIENNIK_WEB_NO_SERVER_ID - ERROR_MOBIDZIENNIK_WEB_INVALID_RESPONSE - ERROR_LOGIN_MOBIDZIENNIK_WEB_NO_SESSION_ID + Nieprawidłowy login lub hasło + Podano stare hasło + Nieprawidłowe urządzenie - zgłoś błąd programiście + Dziennik jest archiwalny - logowanie nie jest możliwe + Chwilowa przerwa techniczna MobiDziennika, lub inny problem z serwerem + Nieprawidłowy adres szkoły + Nieznany błąd logowania do MobiDziennika + MobiDziennik: brak dostępu + MobiDziennik: brak klucza sesji + MobiDziennik: brak wartości sesji + MobiDziennik: brak identyfikatora serwera + MobiDziennik: błąd odpowiedzi serwera + Brak identyfikatora sesji przy logowaniu - ERROR_LOGIN_VULCAN_INVALID_SYMBOL - ERROR_LOGIN_VULCAN_INVALID_TOKEN - ERROR_LOGIN_VULCAN_INVALID_PIN - ERROR_LOGIN_VULCAN_INVALID_PIN_0_REMAINING - ERROR_LOGIN_VULCAN_INVALID_PIN_1_REMAINING - ERROR_LOGIN_VULCAN_INVALID_PIN_2_REMAINING - ERROR_LOGIN_VULCAN_EXPIRED_TOKEN - ERROR_LOGIN_VULCAN_OTHER - ERROR_LOGIN_VULCAN_ONLY_KINDERGARTEN - ERROR_LOGIN_VULCAN_NO_PUPILS - ERROR_VULCAN_API_MAINTENANCE - ERROR_VULCAN_API_BAD_REQUEST - ERROR_VULCAN_API_OTHER + Nieprawidłowy symbol + Nieprawidłowy token + Nieprawidłowy PIN + Nieprawidłowy PIN: pozostało 0 prób + Nieprawidłowy PIN: pozostała 1 próba + Nieprawidłowy PIN: pozostały 2 próby + Token wygasły, wygeneruj ponownie + Inny błąd logowania do Vulcana + Dziennik przedszkolny - logowanie niemożliwe + Brak uczniów przypisanych do konta, bądź ukończyli oni już szkołę + Vulcan: przerwa techniczna + 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 @@ -302,6 +303,7 @@ ERROR_IDZIENNIK_API_ACCESS_DENIED ERROR_IDZIENNIK_API_OTHER ERROR_IDZIENNIK_API_NO_REGISTER + 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 Inny błąd logowania