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