1
0
mirror of https://github.com/wulkanowy/wulkanowy.git synced 2025-02-07 17:04:37 +01:00

Change default symbol for standard register variant (#2421)

This commit is contained in:
Mikołaj Pich 2024-02-09 16:35:18 +01:00 committed by GitHub
parent 3f199cb610
commit 8183d7d5a0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
12 changed files with 19 additions and 19 deletions

View File

@ -195,7 +195,7 @@ ext {
} }
dependencies { dependencies {
implementation 'io.github.wulkanowy:sdk:2.3.7' implementation 'io.github.wulkanowy:sdk:2.3.8-SNAPSHOT'
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4' coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4'

View File

@ -7,5 +7,6 @@ data class LoginData(
val password: String, val password: String,
val baseUrl: String, val baseUrl: String,
val domainSuffix: String, val domainSuffix: String,
val symbol: String?, val defaultSymbol: String,
val userEnteredSymbol: String? = null,
) : Serializable ) : Serializable

View File

@ -155,7 +155,7 @@ class LoginAdvancedPresenter @Inject constructor(
password = view?.formPassValue.orEmpty().trim(), password = view?.formPassValue.orEmpty().trim(),
baseUrl = view?.formHostValue.orEmpty().trim(), baseUrl = view?.formHostValue.orEmpty().trim(),
domainSuffix = view?.formDomainSuffix.orEmpty().trim(), domainSuffix = view?.formDomainSuffix.orEmpty().trim(),
symbol = view?.formSymbolValue.orEmpty().trim().getNormalizedSymbol(), defaultSymbol = view?.formSymbolValue.orEmpty().trim().getNormalizedSymbol(),
) )
when (it.data.symbols.size) { when (it.data.symbols.size) {
0 -> view?.navigateToSymbol(loginData) 0 -> view?.navigateToSymbol(loginData)

View File

@ -148,7 +148,7 @@ class LoginFormPresenter @Inject constructor(
password = password, password = password,
baseUrl = host, baseUrl = host,
domainSuffix = domainSuffix, domainSuffix = domainSuffix,
symbol = symbol defaultSymbol = symbol
) )
} }
@ -167,7 +167,7 @@ class LoginFormPresenter @Inject constructor(
password = loginData.password, password = loginData.password,
scrapperBaseUrl = loginData.baseUrl, scrapperBaseUrl = loginData.baseUrl,
domainSuffix = loginData.domainSuffix, domainSuffix = loginData.domainSuffix,
symbol = loginData.symbol.orEmpty(), symbol = loginData.defaultSymbol,
) )
} }
.logResourceStatus("login") .logResourceStatus("login")

View File

@ -60,7 +60,7 @@ class LoginRecoverPresenter @Inject constructor(
resourceFlow { resourceFlow {
recoverRepository.getReCaptchaSiteKey( recoverRepository.getReCaptchaSiteKey(
host, host,
symbol.ifBlank { "Default" }) symbol.ifBlank { "default" })
}.onEach { }.onEach {
when (it) { when (it) {
is Resource.Loading -> view?.run { is Resource.Loading -> view?.run {
@ -103,7 +103,7 @@ class LoginRecoverPresenter @Inject constructor(
fun onReCaptchaVerified(reCaptchaResponse: String) { fun onReCaptchaVerified(reCaptchaResponse: String) {
val username = view?.recoverNameValue.orEmpty() val username = view?.recoverNameValue.orEmpty()
val host = view?.recoverHostValue.orEmpty() val host = view?.recoverHostValue.orEmpty()
val symbol = view?.formHostSymbol.ifNullOrBlank { "Default" } val symbol = view?.formHostSymbol.ifNullOrBlank { "default" }
resourceFlow { resourceFlow {
recoverRepository.sendRecoverRequest( recoverRepository.sendRecoverRequest(

View File

@ -10,13 +10,11 @@ import io.github.wulkanowy.data.pojos.RegisterUser
import io.github.wulkanowy.data.repositories.PreferencesRepository import io.github.wulkanowy.data.repositories.PreferencesRepository
import io.github.wulkanowy.databinding.FragmentLoginStudentSelectBinding import io.github.wulkanowy.databinding.FragmentLoginStudentSelectBinding
import io.github.wulkanowy.ui.base.BaseFragment import io.github.wulkanowy.ui.base.BaseFragment
import io.github.wulkanowy.ui.modules.auth.AuthDialog
import io.github.wulkanowy.ui.modules.login.LoginActivity import io.github.wulkanowy.ui.modules.login.LoginActivity
import io.github.wulkanowy.ui.modules.login.LoginData import io.github.wulkanowy.ui.modules.login.LoginData
import io.github.wulkanowy.ui.modules.login.support.LoginSupportDialog import io.github.wulkanowy.ui.modules.login.support.LoginSupportDialog
import io.github.wulkanowy.ui.modules.login.support.LoginSupportInfo import io.github.wulkanowy.ui.modules.login.support.LoginSupportInfo
import io.github.wulkanowy.utils.AppInfo import io.github.wulkanowy.utils.AppInfo
import io.github.wulkanowy.utils.openEmailClient
import io.github.wulkanowy.utils.openInternetBrowser import io.github.wulkanowy.utils.openInternetBrowser
import io.github.wulkanowy.utils.serializable import io.github.wulkanowy.utils.serializable
import javax.inject.Inject import javax.inject.Inject

View File

@ -111,8 +111,8 @@ class LoginStudentSelectPresenter @Inject constructor(
val notEmptySymbols = registerUser.symbols.filter { it.schools.isNotEmpty() } val notEmptySymbols = registerUser.symbols.filter { it.schools.isNotEmpty() }
val emptySymbols = registerUser.symbols.filter { it.schools.isEmpty() } val emptySymbols = registerUser.symbols.filter { it.schools.isEmpty() }
if (emptySymbols.isNotEmpty() && notEmptySymbols.isNotEmpty() && emptySymbols.any { it.symbol == loginData.symbol }) { if (emptySymbols.isNotEmpty() && notEmptySymbols.isNotEmpty() && emptySymbols.any { it.symbol == loginData.userEnteredSymbol }) {
add(createEmptySymbolItem(emptySymbols.first { it.symbol == loginData.symbol })) add(createEmptySymbolItem(emptySymbols.first { it.symbol == loginData.userEnteredSymbol }))
} }
addAll(createNotEmptySymbolItems(notEmptySymbols, students)) addAll(createNotEmptySymbolItems(notEmptySymbols, students))
@ -317,7 +317,7 @@ class LoginStudentSelectPresenter @Inject constructor(
loginData = loginData, loginData = loginData,
registerUser = registerUser, registerUser = registerUser,
lastErrorMessage = lastError?.message, lastErrorMessage = lastError?.message,
enteredSymbol = loginData.symbol, enteredSymbol = loginData.userEnteredSymbol,
) )
) )
} }

View File

@ -105,7 +105,7 @@ class LoginSupportDialog : BaseDialogFragment<DialogLoginSupportBinding>() {
"${appInfo.systemManufacturer} ${appInfo.systemModel}", "${appInfo.systemManufacturer} ${appInfo.systemModel}",
appInfo.systemVersion.toString(), appInfo.systemVersion.toString(),
"${appInfo.versionName}-${appInfo.buildFlavor}", "${appInfo.versionName}-${appInfo.buildFlavor}",
supportInfo.loginData.baseUrl + "/" + supportInfo.loginData.symbol, supportInfo.loginData.let { "${it.baseUrl}/${it.defaultSymbol}/${it.userEnteredSymbol}" },
preferencesRepository.installationId, preferencesRepository.installationId,
getLastErrorFromStudentSelectScreen(), getLastErrorFromStudentSelectScreen(),
dialogLoginSupportSchoolInput.text.takeIf { !it.isNullOrBlank() } dialogLoginSupportSchoolInput.text.takeIf { !it.isNullOrBlank() }

View File

@ -60,7 +60,7 @@ class LoginSymbolPresenter @Inject constructor(
} }
loginData = loginData.copy( loginData = loginData.copy(
symbol = view?.symbolValue?.getNormalizedSymbol(), userEnteredSymbol = view?.symbolValue?.getNormalizedSymbol(),
) )
resourceFlow { resourceFlow {
studentRepository.getUserSubjectsFromScrapper( studentRepository.getUserSubjectsFromScrapper(
@ -68,7 +68,7 @@ class LoginSymbolPresenter @Inject constructor(
password = loginData.password, password = loginData.password,
scrapperBaseUrl = loginData.baseUrl, scrapperBaseUrl = loginData.baseUrl,
domainSuffix = loginData.domainSuffix, domainSuffix = loginData.domainSuffix,
symbol = loginData.symbol.orEmpty(), symbol = loginData.userEnteredSymbol.orEmpty(),
) )
}.onEach { user -> }.onEach { user ->
registerUser = user.dataOrNull registerUser = user.dataOrNull
@ -93,7 +93,7 @@ class LoginSymbolPresenter @Inject constructor(
else -> { else -> {
val enteredSymbolDetails = user.data.symbols val enteredSymbolDetails = user.data.symbols
.firstOrNull() .firstOrNull()
?.takeIf { it.symbol == loginData.symbol } ?.takeIf { it.symbol == loginData.userEnteredSymbol }
if (enteredSymbolDetails?.error is InvalidSymbolException) { if (enteredSymbolDetails?.error is InvalidSymbolException) {
view?.run { view?.run {

View File

@ -47,7 +47,7 @@
<item>https://wulkanowy.net.pl/?email</item> <item>https://wulkanowy.net.pl/?email</item>
</string-array> </string-array>
<string-array name="hosts_symbols"> <string-array name="hosts_symbols">
<item>Default</item> <item>warszawa</item>
<item>opole</item> <item>opole</item>
<item>gdansk</item> <item>gdansk</item>
<item>lublin</item> <item>lublin</item>
@ -66,7 +66,7 @@
<item>gminaulanmajorat</item> <item>gminaulanmajorat</item>
<item>gminaozorkow</item> <item>gminaozorkow</item>
<item>gminalopiennikgorny</item> <item>gminalopiennikgorny</item>
<item>Default</item> <item>warszawa</item>
<item>powiatwulkanowy</item> <item>powiatwulkanowy</item>
</string-array> </string-array>
</resources> </resources>

View File

@ -42,6 +42,7 @@ fun getSemesterPojo(diaryId: Int, semesterId: Int, start: LocalDate, end: LocalD
diaryName = "$semesterId", diaryName = "$semesterId",
schoolYear = 1970, schoolYear = 1970,
classId = 0, classId = 0,
className = "Ti",
semesterNumber = semesterName, semesterNumber = semesterName,
unitId = 1, unitId = 1,
start = start, start = start,

View File

@ -58,7 +58,7 @@ class LoginStudentSelectPresenterTest {
login = "", login = "",
password = "", password = "",
baseUrl = "", baseUrl = "",
symbol = null, defaultSymbol = "warszawa",
domainSuffix = "", domainSuffix = "",
) )