Add rate plan calendar screen
This commit is contained in:
@@ -31,6 +31,7 @@ import com.android.trisolarispms.ui.roomtype.AddRoomTypeScreen
|
||||
import com.android.trisolarispms.ui.roomtype.AmenitiesScreen
|
||||
import com.android.trisolarispms.ui.roomtype.EditAmenityScreen
|
||||
import com.android.trisolarispms.ui.roomtype.EditRoomTypeScreen
|
||||
import com.android.trisolarispms.ui.roomtype.RatePlanCalendarScreen
|
||||
import com.android.trisolarispms.ui.roomtype.RoomTypesScreen
|
||||
import com.android.trisolarispms.ui.theme.TrisolarisPMSTheme
|
||||
|
||||
@@ -65,6 +66,11 @@ class MainActivity : ComponentActivity() {
|
||||
val canManageProperty: (String) -> Boolean = { propertyId ->
|
||||
state.isSuperAdmin || (state.propertyRoles[propertyId]?.contains("ADMIN") == true)
|
||||
}
|
||||
val canViewCardInfo: (String) -> Boolean = { propertyId ->
|
||||
state.isSuperAdmin || state.propertyRoles[propertyId]?.any {
|
||||
it == "ADMIN" || it == "MANAGER" || it == "STAFF"
|
||||
} == true
|
||||
}
|
||||
|
||||
BackHandler(enabled = currentRoute != AppRoute.Home) {
|
||||
when (currentRoute) {
|
||||
@@ -92,6 +98,10 @@ class MainActivity : ComponentActivity() {
|
||||
)
|
||||
is AppRoute.IssueTemporaryCard -> route.value = AppRoute.Rooms(currentRoute.propertyId)
|
||||
is AppRoute.CardInfo -> route.value = AppRoute.Rooms(currentRoute.propertyId)
|
||||
is AppRoute.RatePlanCalendar -> route.value = AppRoute.EditRoomType(
|
||||
currentRoute.propertyId,
|
||||
currentRoute.roomTypeId
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -143,6 +153,7 @@ class MainActivity : ComponentActivity() {
|
||||
onViewRoomTypes = { route.value = AppRoute.RoomTypes(currentRoute.propertyId) },
|
||||
onViewCardInfo = { route.value = AppRoute.CardInfo(currentRoute.propertyId) },
|
||||
canManageRooms = canManageProperty(currentRoute.propertyId),
|
||||
canViewCardInfo = canViewCardInfo(currentRoute.propertyId),
|
||||
onEditRoom = {
|
||||
selectedRoom.value = it
|
||||
roomFormKey.value++
|
||||
@@ -175,7 +186,15 @@ class MainActivity : ComponentActivity() {
|
||||
roomType = selectedRoomType.value
|
||||
?: com.android.trisolarispms.data.api.model.RoomTypeDto(id = currentRoute.roomTypeId, code = "", name = ""),
|
||||
onBack = { route.value = AppRoute.RoomTypes(currentRoute.propertyId) },
|
||||
onSave = { route.value = AppRoute.RoomTypes(currentRoute.propertyId) }
|
||||
onSave = { route.value = AppRoute.RoomTypes(currentRoute.propertyId) },
|
||||
onOpenRatePlanCalendar = { ratePlanId, ratePlanCode ->
|
||||
route.value = AppRoute.RatePlanCalendar(
|
||||
currentRoute.propertyId,
|
||||
currentRoute.roomTypeId,
|
||||
ratePlanId,
|
||||
ratePlanCode
|
||||
)
|
||||
}
|
||||
)
|
||||
AppRoute.Amenities -> AmenitiesScreen(
|
||||
onBack = { route.value = amenitiesReturnRoute.value },
|
||||
@@ -246,6 +265,12 @@ class MainActivity : ComponentActivity() {
|
||||
propertyId = currentRoute.propertyId,
|
||||
onBack = { route.value = AppRoute.Rooms(currentRoute.propertyId) }
|
||||
)
|
||||
is AppRoute.RatePlanCalendar -> RatePlanCalendarScreen(
|
||||
propertyId = currentRoute.propertyId,
|
||||
ratePlanId = currentRoute.ratePlanId,
|
||||
ratePlanCode = currentRoute.ratePlanCode,
|
||||
onBack = { route.value = AppRoute.EditRoomType(currentRoute.propertyId, currentRoute.roomTypeId) }
|
||||
)
|
||||
is AppRoute.RoomImages -> RoomImagesScreen(
|
||||
propertyId = currentRoute.propertyId,
|
||||
roomId = currentRoute.roomId,
|
||||
|
||||
Reference in New Issue
Block a user