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 93a7228f..0d1937c8 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 @@ -148,6 +148,7 @@ const val ERROR_LIBRUS_MESSAGES_NOT_FOUND = 186 const val ERROR_LOGIN_LIBRUS_API_INVALID_REQUEST = 187 const val ERROR_LIBRUS_MESSAGES_ATTACHMENT_NOT_FOUND = 188 const val ERROR_LOGIN_LIBRUS_MESSAGES_TIMEOUT = 189 +const val ERROR_LIBRUS_API_TEACHER_FREE_DAYS_NOT_PUBLIC = 190 const val ERROR_LOGIN_MOBIDZIENNIK_WEB_INVALID_LOGIN = 201 const val ERROR_LOGIN_MOBIDZIENNIK_WEB_OLD_PASSWORD = 202 diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/Librus.kt b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/Librus.kt index 5b29b9fe..a1dfbdde 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/Librus.kt +++ b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/Librus.kt @@ -29,6 +29,9 @@ import pl.szczodrzynski.edziennik.data.db.enums.LoginMethod import pl.szczodrzynski.edziennik.data.db.full.AnnouncementFull import pl.szczodrzynski.edziennik.data.db.full.EventFull import pl.szczodrzynski.edziennik.data.db.full.MessageFull +import pl.szczodrzynski.edziennik.ext.DAY +import pl.szczodrzynski.edziennik.ext.HOUR +import pl.szczodrzynski.edziennik.ext.WEEK import pl.szczodrzynski.edziennik.utils.Utils.d class Librus(val app: App, val profile: Profile?, val loginStore: LoginStore, val callback: EdziennikCallback) : EdziennikInterface { @@ -235,6 +238,11 @@ class Librus(val app: App, val profile: Profile?, val loginStore: LoginStore, va data.app.config.sync.tokenLibrusList + data.profileId data() } + ERROR_LIBRUS_API_TEACHER_FREE_DAYS_NOT_PUBLIC -> { + d(TAG, "Student not have access to Teacher Free Days resource") + data.setSyncNext(ENDPOINT_LIBRUS_API_TEACHER_FREE_DAYS, 1 * WEEK, FeatureType.AGENDA) + data() + } else -> callback.onError(apiError) } } diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/data/LibrusApi.kt b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/data/LibrusApi.kt index 2b736a0f..d831e5f6 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/data/LibrusApi.kt +++ b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/data/LibrusApi.kt @@ -69,6 +69,7 @@ open class LibrusApi(open val data: DataLibrus, open val lastSync: Long?) { "NoticeboardProblem" -> ERROR_LIBRUS_API_NOTICEBOARD_PROBLEM "DeviceRegistered" -> ERROR_LIBRUS_API_DEVICE_REGISTERED "Maintenance" -> ERROR_LIBRUS_API_MAINTENANCE + "TeacherFreeDaysIsNotActive" -> ERROR_LIBRUS_API_TEACHER_FREE_DAYS_NOT_PUBLIC else -> ERROR_LIBRUS_API_OTHER }.let { errorCode -> if (errorCode !in ignoreErrors) { diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/data/api/LibrusApiTeacherFreeDays.kt b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/data/api/LibrusApiTeacherFreeDays.kt index 68053aeb..236d8cd3 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/data/api/LibrusApiTeacherFreeDays.kt +++ b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/data/api/LibrusApiTeacherFreeDays.kt @@ -29,7 +29,7 @@ class LibrusApiTeacherFreeDays(override val data: DataLibrus, data.db.teacherAbsenceTypeDao().getAllNow(profileId).toSparseArray(data.teacherAbsenceTypes) { it.id } } - apiGet(TAG, "TeacherFreeDays") { json -> + apiGet(TAG, "Calendars/TeacherFreeDays") { json -> val teacherAbsences = json.getJsonArray("TeacherFreeDays")?.asJsonObjectList() teacherAbsences?.forEach { teacherAbsence -> diff --git a/app/src/main/res/values/errors.xml b/app/src/main/res/values/errors.xml index 557eaea8..03634d36 100644 --- a/app/src/main/res/values/errors.xml +++ b/app/src/main/res/values/errors.xml @@ -120,6 +120,7 @@ ERROR_LOGIN_LIBRUS_API_INVALID_REQUEST ERROR_LIBRUS_MESSAGES_ATTACHMENT_NOT_FOUND ERROR_LOGIN_LIBRUS_MESSAGES_TIMEOUT + ERROR_LIBRUS_API_TEACHER_FREE_DAYS_NOT_PUBLIC ERROR_LOGIN_MOBIDZIENNIK_WEB_INVALID_LOGIN ERROR_LOGIN_MOBIDZIENNIK_WEB_OLD_PASSWORD