Add missing info to student selection email reports (#2096)

This commit is contained in:
Mikołaj Pich 2023-01-05 22:47:53 +01:00 committed by GitHub
parent 377e0c3a0d
commit 5161fdd543
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 6 deletions

View File

@ -186,7 +186,7 @@ ext {
}
dependencies {
implementation "io.github.wulkanowy:sdk:1.9.0"
implementation "io.github.wulkanowy:sdk:1.9.1-SNAPSHOT"
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.8'

View File

@ -280,11 +280,24 @@ class LoginStudentSelectPresenter @Inject constructor(
private fun onEmailClick() {
view?.openEmail(lastError?.message.ifNullOrBlank {
registerUser.symbols.flatMap { symbol ->
symbol.schools.map { it.error?.message } + symbol.error?.message
}.filterNotNull().distinct().joinToString("; ") {
it.take(46) + "..."
}.ifEmpty { "blank" }
loginData.baseUrl + "/" + loginData.symbol + "\n" + registerUser.symbols.filterNot {
it.error is AccountPermissionException && it.symbol != loginData.symbol
}.joinToString(";\n") { symbol ->
buildString {
append(" -")
append(symbol.symbol)
append("(${symbol.error?.message?.let { it.take(46) + "..." } ?: symbol.schools.size})")
if (symbol.schools.isNotEmpty()) {
append(": ")
}
append(symbol.schools.joinToString(", ") { unit ->
buildString {
append(unit.schoolShortName)
append("(${unit.error?.message?.let { it.take(46) + "..." } ?: unit.students.size})")
}
})
}
}
})
}