Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,67 +1,30 @@
package uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.states

import uk.gov.communities.prsdb.webapp.journeys.JourneyState
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.HasAnyGovBodyMembersStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.LeadTrusteeDobStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.LeadTrusteeEmailStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.LeadTrusteeNameStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.LeadTrusteePhoneStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgAddressStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgCharityNumberEnglandAndWalesStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgCharityNumberNorthernIrelandStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgCharityNumberScotlandStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgCharityRegisteredWithStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgCompanyNumberStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgEmailStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgGovBodyDetailsStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgGovBodyMemberDobStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgGovBodyMemberListStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgGovBodyMemberNameStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgGovBodyMustProvideInfoStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgGovBodyWhoToProvideStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgIsRegisteredCharityStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgIsRegisteredCompanyStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgMainContactStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgNameStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgPhoneNumberStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgTypeStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.RemoveGovBodyMemberStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.SaveGovBodyMemberStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.SetStateForGovBodyMemberEditStep
import uk.gov.communities.prsdb.webapp.journeys.shared.tasks.AddressTask
import uk.gov.communities.prsdb.webapp.models.dataModels.GoverningBodyMemberDataModel
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.UpdateDetailsTodoStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.tasks.LeadTrusteeTask
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.tasks.OrgCharityTask
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.tasks.OrgCompaniesHouseTask
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.tasks.OrgGovBodyTask

interface LandlordRegistrationOrgLandlordState : JourneyState {
val orgNameStep: OrgNameStep
val orgAddressStep: OrgAddressStep
val orgEmailStep: OrgEmailStep
val orgPhoneNumberStep: OrgPhoneNumberStep
val orgTypeStep: OrgTypeStep
val orgIsRegisteredCompanyStep: OrgIsRegisteredCompanyStep
val orgCompanyNumberStep: OrgCompanyNumberStep
val orgIsRegisteredCharityStep: OrgIsRegisteredCharityStep
val orgCharityRegisteredWithStep: OrgCharityRegisteredWithStep
val orgCharityNumberEnglandAndWalesStep: OrgCharityNumberEnglandAndWalesStep
val orgCharityNumberNorthernIrelandStep: OrgCharityNumberNorthernIrelandStep
val orgCharityNumberScotlandStep: OrgCharityNumberScotlandStep
val leadTrusteeNameStep: LeadTrusteeNameStep
val leadTrusteeEmailStep: LeadTrusteeEmailStep
val leadTrusteePhoneStep: LeadTrusteePhoneStep
val leadTrusteeDobStep: LeadTrusteeDobStep
val trusteeAddressTask: AddressTask
val companiesHouseTask: OrgCompaniesHouseTask
val orgGovBodyTask: OrgGovBodyTask
val charityTask: OrgCharityTask
val leadTrusteeTask: LeadTrusteeTask
val orgMainContactStep: OrgMainContactStep
val orgGovBodyDetailsStep: OrgGovBodyDetailsStep
val orgGovBodyMustProvideInfoStep: OrgGovBodyMustProvideInfoStep
val orgGovBodyWhoToProvideStep: OrgGovBodyWhoToProvideStep
val orgGovBodyMemberNameStep: OrgGovBodyMemberNameStep
val orgGovBodyMemberDobStep: OrgGovBodyMemberDobStep
val govBodyMemberAddressTask: AddressTask
val orgGovBodyMemberListStep: OrgGovBodyMemberListStep
val hasAnyGovBodyMembersStep: HasAnyGovBodyMembersStep
val saveGovBodyMemberStep: SaveGovBodyMemberStep
val setStateForGovBodyMemberEditStep: SetStateForGovBodyMemberEditStep
val removeGovBodyMemberStep: RemoveGovBodyMemberStep
var governingBodyMembersMap: Map<Int, GoverningBodyMemberDataModel>?
var nextGoverningBodyMemberId: Int?
var editingGovBodyMemberId: Int?

// TODO PDJB-1237 PDJB-1238: remove this placeholder once the org type and companies house update journeys exist.
val updateDetailsTodoStep: UpdateDetailsTodoStep
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
package uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.states

import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.EmailStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.IndividualLandlordRegistrationCyaStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.LandlordRegistrationCyaStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.LandlordTypeStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgLandlordRegistrationCyaStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.PhoneNumberStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.PrivacyNoticeStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.tasks.IdentityTask
Expand All @@ -22,6 +21,5 @@ interface LandlordRegistrationState :
val privacyNoticeStep: PrivacyNoticeStep
val identityTask: IdentityTask
override val finishCyaStep: FinishCyaJourneyStep
override val cyaStep: IndividualLandlordRegistrationCyaStep
val orgCyaStep: OrgLandlordRegistrationCyaStep
override val cyaStep: LandlordRegistrationCyaStep
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.states

import uk.gov.communities.prsdb.webapp.journeys.JourneyState
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.LeadTrusteeDobStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.LeadTrusteeEmailStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.LeadTrusteeNameStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.LeadTrusteePhoneStep
import uk.gov.communities.prsdb.webapp.journeys.shared.tasks.AddressTask

interface LeadTrusteeState : JourneyState {
val leadTrusteeNameStep: LeadTrusteeNameStep
val leadTrusteeDobStep: LeadTrusteeDobStep
val leadTrusteeEmailStep: LeadTrusteeEmailStep
val leadTrusteePhoneStep: LeadTrusteePhoneStep
val trusteeAddressTask: AddressTask
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.states

import uk.gov.communities.prsdb.webapp.journeys.JourneyState
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgCharityNumberEnglandAndWalesStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgCharityNumberNorthernIrelandStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgCharityNumberScotlandStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgCharityRegisteredWithStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgIsRegisteredCharityStep

interface OrgCharityState : JourneyState {
val orgIsRegisteredCharityStep: OrgIsRegisteredCharityStep
val orgCharityRegisteredWithStep: OrgCharityRegisteredWithStep
val orgCharityNumberEnglandAndWalesStep: OrgCharityNumberEnglandAndWalesStep
val orgCharityNumberNorthernIrelandStep: OrgCharityNumberNorthernIrelandStep
val orgCharityNumberScotlandStep: OrgCharityNumberScotlandStep
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.states

import uk.gov.communities.prsdb.webapp.journeys.JourneyState
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgCompanyNumberStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgIsRegisteredCompanyStep

interface OrgCompaniesHouseState : JourneyState {
val orgIsRegisteredCompanyStep: OrgIsRegisteredCompanyStep
val orgCompanyNumberStep: OrgCompanyNumberStep
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.states

import uk.gov.communities.prsdb.webapp.journeys.JourneyState
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.HasAnyGovBodyMembersStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgGovBodyDetailsStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgGovBodyMemberDobStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgGovBodyMemberListStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgGovBodyMemberNameStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgGovBodyMustProvideInfoStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.OrgGovBodyWhoToProvideStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.RemoveGovBodyMemberStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.SaveGovBodyMemberStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig.SetStateForGovBodyMemberEditStep
import uk.gov.communities.prsdb.webapp.journeys.shared.tasks.AddressTask
import uk.gov.communities.prsdb.webapp.models.dataModels.GoverningBodyMemberDataModel

interface OrgGovBodyState : JourneyState {
val orgGovBodyDetailsStep: OrgGovBodyDetailsStep
val orgGovBodyMustProvideInfoStep: OrgGovBodyMustProvideInfoStep
val orgGovBodyWhoToProvideStep: OrgGovBodyWhoToProvideStep
val orgGovBodyMemberNameStep: OrgGovBodyMemberNameStep
val orgGovBodyMemberDobStep: OrgGovBodyMemberDobStep
val govBodyMemberAddressTask: AddressTask
val orgGovBodyMemberListStep: OrgGovBodyMemberListStep
val hasAnyGovBodyMembersStep: HasAnyGovBodyMembersStep
val saveGovBodyMemberStep: SaveGovBodyMemberStep
val setStateForGovBodyMemberEditStep: SetStateForGovBodyMemberEditStep
val removeGovBodyMemberStep: RemoveGovBodyMemberStep
var governingBodyMembersMap: Map<Int, GoverningBodyMemberDataModel>?
var nextGoverningBodyMemberId: Int?
var editingGovBodyMemberId: Int?
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,16 @@ package uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.stepConfig
import uk.gov.communities.prsdb.webapp.annotations.webAnnotations.JourneyFrameworkComponent
import uk.gov.communities.prsdb.webapp.journeys.AbstractInternalStepConfig
import uk.gov.communities.prsdb.webapp.journeys.JourneyStep
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.states.LandlordRegistrationOrgLandlordState
import uk.gov.communities.prsdb.webapp.journeys.landlordRegistration.states.OrgGovBodyState
import uk.gov.communities.prsdb.webapp.journeys.shared.AnyMembers

@JourneyFrameworkComponent
class HasAnyGovBodyMembersStepConfig : AbstractInternalStepConfig<AnyMembers, LandlordRegistrationOrgLandlordState>() {
override fun mode(state: LandlordRegistrationOrgLandlordState) =
class HasAnyGovBodyMembersStepConfig : AbstractInternalStepConfig<AnyMembers, OrgGovBodyState>() {
override fun mode(state: OrgGovBodyState) =
if (state.governingBodyMembersMap.isNullOrEmpty()) AnyMembers.NO_MEMBERS else AnyMembers.SOME_MEMBERS
}

@JourneyFrameworkComponent
final class HasAnyGovBodyMembersStep(
stepConfig: HasAnyGovBodyMembersStepConfig,
) : JourneyStep.InternalStep<AnyMembers, LandlordRegistrationOrgLandlordState>(stepConfig)
) : JourneyStep.InternalStep<AnyMembers, OrgGovBodyState>(stepConfig)
Loading
Loading