Skip to content

Commit 2da7011

Browse files
feat : Collection sheet migrated to cmp (#2396)
1 parent 019969a commit 2da7011

File tree

37 files changed

+1283
-1917
lines changed

37 files changed

+1283
-1917
lines changed

cmp-navigation/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ kotlin {
3636
implementation(projects.feature.center)
3737
implementation(projects.feature.checkerInboxTask)
3838
// implementation(projects.feature.client)
39-
// implementation(projects.feature.collectionSheet)
39+
implementation(projects.feature.collectionSheet)
4040
// implementation(projects.feature.dataTable)
4141
// implementation(projects.feature.document)
4242
// implementation(projects.feature.groups)

cmp-navigation/src/commonMain/kotlin/cmp/navigation/di/KoinModules.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import com.mifos.feature.activate.di.ActivateModule
1919
import com.mifos.feature.auth.di.AuthModule
2020
import com.mifos.feature.center.di.CenterModule
2121
import com.mifos.feature.checker.inbox.task.di.CheckerInboxTaskModule
22+
import com.mifos.feature.individualCollectionSheet.di.CollectionSheetModule
2223
import com.mifos.feature.note.di.NoteModule
2324
import com.mifos.feature.pathTracking.di.PathTrackingModule
2425
import com.mifos.feature.search.di.SearchModule
@@ -58,7 +59,7 @@ object KoinModules {
5859
CenterModule,
5960
CheckerInboxTaskModule,
6061
// ClientModule,
61-
// CollectionSheetModule,
62+
CollectionSheetModule,
6263
// DataTableModule,
6364
// DocumentModule,
6465
// GroupsModule,

cmp-navigation/src/commonMain/kotlin/cmp/navigation/navigation/FeatureNavHost.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import com.mifos.feature.activate.navigation.activateScreen
1919
import com.mifos.feature.activate.navigation.navigateToActivateScreen
2020
import com.mifos.feature.center.navigation.centerNavGraph
2121
import com.mifos.feature.checker.inbox.task.navigation.checkerInboxTaskNavGraph
22+
import com.mifos.feature.individualCollectionSheet.navigation.individualCollectionSheetNavGraph
2223
import com.mifos.feature.note.navigation.noteNavGraph
2324
import com.mifos.feature.pathTracking.navigation.pathTrackingNavGraph
2425
import com.mifos.feature.search.navigation.searchNavGraph
@@ -73,6 +74,10 @@ internal fun FeatureNavHost(
7374
changePasscode = {},
7475
languageChanged = {},
7576
)
77+
individualCollectionSheetNavGraph(
78+
navController = appState.navController,
79+
onBackPressed = appState.navController::popBackStack,
80+
)
7681

7782
pathTrackingNavGraph(appState.navController)
7883
}

core/common/src/commonMain/kotlin/com/mifos/core/common/utils/Constants.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,4 +227,5 @@ object Constants {
227227
const val DATA_TABLE_NAV_DATA = "data_table_nav_data"
228228
const val DATA_TABLE_DATA_NAV_DATA = "data_table_data_nav_data"
229229
const val DATA_TABLE_LIST_NAV_DATA = "data_table_list_nav_data"
230+
const val PAYMENT_DETAILS_ARGS = "paymentDetailsArgs"
230231
}

core/database/src/commonMain/kotlin/com/mifos/room/entities/collectionsheet/IndividualCollectionSheet.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import kotlinx.serialization.Serializable
2121
@Parcelize
2222
@Serializable
2323
data class IndividualCollectionSheet(
24-
var dueDate: IntArray? = null,
24+
var dueDate: String? = null,
2525

2626
var clients: ArrayList<ClientCollectionSheet>? = null,
2727

core/domain/src/commonMain/kotlin/com/mifos/core/domain/useCases/UsernameValidationUseCase.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class UsernameValidationUseCase {
2727
success = false,
2828
getString(Res.string.core_domain_enter_credentials),
2929
)
30-
} else if (username.length < 5) {
30+
} else if (username.length < 4) {
3131
return ValidationResult(
3232
success = false,
3333
getString(Res.string.core_domain_error_username_length),

core/model/src/commonMain/kotlin/com/mifos/core/model/objects/collectionsheets/LoanCollectionSheet.kt

Lines changed: 13 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -10,76 +10,22 @@
1010
package com.mifos.core.model.objects.collectionsheets
1111

1212
import com.mifos.core.model.objects.template.loan.Currency
13-
import com.mifos.core.model.utils.Parcel
1413
import com.mifos.core.model.utils.Parcelable
1514
import com.mifos.core.model.utils.Parcelize
1615
import kotlinx.serialization.Serializable
1716

18-
/**
19-
* Created by Tarun on 06-07-2017.
20-
*/
21-
// TODO migrate to kmp model,
2217
@Parcelize
2318
@Serializable
24-
class LoanCollectionSheet() : Parcelable {
25-
var accountId: String? = null
26-
var accountStatusId: Int = 0
27-
var currency: Currency? = null
28-
var interestDue: Double? = null
29-
var interestPaid: Double? = null
30-
var loanId: Int = 0
31-
var principalDue: Double? = null
32-
var productId: Double? = null
33-
var totalDue: Double = 0.0
34-
var chargesDue: Double = 0.0
35-
var productShortName: String? = null
36-
37-
constructor(parcel: Parcel) : this() {
38-
accountId = parcel.readString()
39-
accountStatusId = parcel.readInt()
40-
// todo resolve this
41-
// currency = parcel.readParcelable(Currency::class.java.classLoader)
42-
interestDue = parcel.readDouble()
43-
interestPaid = parcel.readDouble()
44-
loanId = parcel.readInt()
45-
principalDue = parcel.readDouble()
46-
productId = parcel.readDouble()
47-
totalDue = parcel.readDouble()
48-
chargesDue = parcel.readDouble()
49-
productShortName = parcel.readString()
50-
}
51-
52-
// override fun describeContents(): Int {
53-
// return 0
54-
// }
55-
56-
// override fun writeToParcel(dest: com.mifos.core.model.utils.Parcel, flags: Int) {
57-
// dest.writeString(accountId)
58-
// dest.writeInt(accountStatusId)
59-
// dest.writeParcelable(currency, flags)
60-
// dest.writeDouble(interestDue)
61-
// dest.writeDouble(interestPaid)
62-
// dest.writeInt(loanId)
63-
// dest.writeDouble(principalDue)
64-
// dest.writeDouble(productId)
65-
// dest.writeDouble(totalDue)
66-
// dest.writeDouble(chargesDue)
67-
// dest.writeString(productShortName)
68-
// }
69-
70-
override fun toString(): String {
71-
return "LoanCollectionSheet(accountId=$accountId, accountStatusId=$accountStatusId, currency=$currency, " +
72-
"interestDue=$interestDue, interestPaid=$interestPaid, loanId=$loanId, principalDue=$principalDue, " +
73-
"productId=$productId, totalDue=$totalDue, chargesDue=$chargesDue, productShortName=$productShortName)"
74-
}
75-
76-
// companion object CREATOR : com.mifos.core.model.utils.Parcelable.Creator<LoanCollectionSheet> {
77-
// override fun createFromParcel(parcel: com.mifos.core.model.utils.Parcel): LoanCollectionSheet {
78-
// return LoanCollectionSheet(parcel)
79-
// }
80-
//
81-
// override fun newArray(size: Int): Array<LoanCollectionSheet?> {
82-
// return arrayOfNulls(size)
83-
// }
84-
// }
85-
}
19+
data class LoanCollectionSheet(
20+
val accountId: String? = null,
21+
val accountStatusId: Int = 0,
22+
val currency: Currency? = null,
23+
val interestDue: Double? = null,
24+
val interestPaid: Double? = null,
25+
val loanId: Int = 0,
26+
val principalDue: Double? = null,
27+
val productId: Double? = null,
28+
val totalDue: Double = 0.0,
29+
val chargesDue: Double = 0.0,
30+
val productShortName: String? = null,
31+
) : Parcelable

core/network/src/commonMain/kotlin/com/mifos/core/network/di/NetworkModule.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import kotlinx.coroutines.launch
2929
import org.koin.dsl.module
3030

3131
val NetworkModule = module {
32-
3332
single<HttpClient>(KtorClient) {
3433
val preferencesRepository = get<UserPreferencesRepository>()
3534

core/network/src/commonMain/kotlin/com/mifos/core/network/model/RequestCollectionSheetPayload.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,15 @@
99
*/
1010
package com.mifos.core.network.model
1111

12+
import kotlinx.serialization.Serializable
13+
1214
/**
1315
* Created by Tarun on 06-07-2017.
1416
*/
17+
@Serializable
1518
data class RequestCollectionSheetPayload(
16-
var dateFormat: String = "dd MMMM yyyy",
17-
var locale: String = "en",
19+
var dateFormat: String? = null,
20+
var locale: String? = null,
1821
var officeId: Int? = null,
1922
var staffId: Int? = null,
2023
var transactionDate: String = "",

feature/collectionSheet/build.gradle.kts

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,28 @@
88
* See https://github.com/openMF/android-client/blob/master/LICENSE.md
99
*/
1010
plugins {
11-
alias(libs.plugins.mifos.android.feature)
12-
alias(libs.plugins.mifos.android.library.compose)
13-
alias(libs.plugins.mifos.android.library.jacoco)
11+
alias(libs.plugins.mifos.cmp.feature)
12+
alias(libs.plugins.kotlin.parcelize)
13+
alias(libs.plugins.kotlin.serialization)
1414
}
1515

1616
android {
1717
namespace = "com.mifos.feature.collection_sheet"
1818
}
1919

20-
dependencies {
20+
kotlin {
21+
sourceSets{
22+
commonMain.dependencies {
23+
implementation(compose.material3)
24+
implementation(compose.components.resources)
25+
implementation(compose.ui)
26+
implementation(projects.core.domain)
27+
implementation(libs.kotlinx.serialization.json)
2128

22-
implementation(projects.core.domain)
29+
implementation(libs.coil.core)
30+
implementation(libs.coil.kt)
31+
implementation(libs.coil.kt.compose)
2332

24-
implementation(libs.coil.kt2)
25-
implementation(libs.coil.kt2.compose)
26-
27-
//DBFlow dependencies
28-
testImplementation(libs.hilt.android.testing)
29-
30-
implementation(libs.kotlinx.serialization.json)
33+
}
34+
}
3135
}

feature/collectionSheet/src/androidTest/java/com/mifos/feature/individual/ExampleInstrumentedTest.kt

Lines changed: 0 additions & 31 deletions
This file was deleted.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ package com.mifos.feature.individualCollectionSheet.di
1111

1212
import com.mifos.feature.individualCollectionSheet.generateCollectionSheet.GenerateCollectionSheetViewModel
1313
import com.mifos.feature.individualCollectionSheet.individualCollectionSheetDetails.IndividualCollectionSheetDetailsViewModel
14-
import com.mifos.feature.individualCollectionSheet.newIndividualCollectionSheet.ui.NewIndividualCollectionSheetViewModel
14+
import com.mifos.feature.individualCollectionSheet.newIndividualCollectionSheet.NewIndividualCollectionSheetViewModel
1515
import com.mifos.feature.individualCollectionSheet.paymentDetails.PaymentDetailsViewModel
16-
import com.mifos.feature.individualCollectionSheet.savedIndividualCollectionSheet.ui.SavedIndividualCollectionSheetViewModel
16+
import com.mifos.feature.individualCollectionSheet.savedIndividualCollectionSheet.SavedIndividualCollectionSheetViewModel
1717
import org.koin.core.module.dsl.viewModelOf
1818
import org.koin.dsl.module
1919

0 commit comments

Comments
 (0)