1717package controllers .manage
1818
1919import controllers .actions .*
20+ import controllers .manage .routes .*
21+ import controllers .routes .JourneyRecoveryController
22+ import models .SdltReturnTypes .{IN_PROGRESS_RETURNS_DUE_FOR_DELETION , SUBMITTED_RETURNS_DUE_FOR_DELETION }
23+ import navigation .Navigator
24+ import play .api .Logging
2025import play .api .i18n .I18nSupport
2126import play .api .mvc .{Action , AnyContent , MessagesControllerComponents }
27+ import services .StampDutyLandTaxService
2228import uk .gov .hmrc .play .bootstrap .frontend .controller .FrontendBaseController
23- import controllers .routes .JourneyRecoveryController
24- import play .api .{Logger , Logging }
25- import uk .gov .hmrc .govukfrontend .views .viewmodels .pagination .Pagination
26-
27- import javax .inject .{Inject , Singleton }
28- import navigation .Navigator
2929import utils .PaginationHelper
30- import services .StampDutyLandTaxService
31- import viewmodels .manage .deletedReturns .SdltDeletedSubmittedReturnsViewModel ._
32- import viewmodels .manage .deletedReturns .SdltDeletedInProgressReturnViewRow ._
33- import viewmodels .manage .deletedReturns .PaginatedDeletedSubmittedReturnsViewModel
34- import viewmodels .manage .deletedReturns .PaginatedDeletedInProgressReturnsViewModel
3530import views .html .manage .DueForDeletionReturnsView
36- import controllers .manage .routes ._
3731
32+ import javax .inject .{Inject , Singleton }
3833import scala .concurrent .ExecutionContext
3934
4035@ Singleton
4136class DueForDeletionReturnsController @ Inject ()(
42- val controllerComponents : MessagesControllerComponents ,
43- stampDutyLandTaxService : StampDutyLandTaxService ,
44- identify : IdentifierAction ,
45- getData : DataRetrievalAction ,
46- requireData : DataRequiredAction ,
47- stornRequiredAction : StornRequiredAction ,
48- navigator : Navigator ,
49- view : DueForDeletionReturnsView
50- )(implicit executionContext : ExecutionContext ) extends FrontendBaseController with I18nSupport with Logging with PaginationHelper {
37+ val controllerComponents : MessagesControllerComponents ,
38+ stampDutyLandTaxService : StampDutyLandTaxService ,
39+ identify : IdentifierAction ,
40+ getData : DataRetrievalAction ,
41+ requireData : DataRequiredAction ,
42+ stornRequiredAction : StornRequiredAction ,
43+ navigator : Navigator ,
44+ view : DueForDeletionReturnsView
45+ )(implicit executionContext : ExecutionContext ) extends FrontendBaseController with I18nSupport with Logging with PaginationHelper {
5146
5247 def onPageLoad (inProgressIndex : Option [Int ], submittedIndex : Option [Int ]): Action [AnyContent ] =
5348 (identify andThen getData andThen requireData andThen stornRequiredAction).async { implicit request =>
49+ logger.info(s " [DueForDeletionReturnsController][onPageLoad] :: ${inProgressIndex} - ${submittedIndex}" )
5450
5551 val outOfScopeUrlSelector : String = DueForDeletionReturnsController .onPageLoad(Some (1 ), Some (1 )).url
5652
5753 lazy val inProgressUrlSelector : Int => String =
58- (inProgressIndex : Int ) =>
59- s " ${DueForDeletionReturnsController .onPageLoad(Some (inProgressIndex ), submittedIndex).url}#in-progress "
54+ (index : Int ) =>
55+ s " ${DueForDeletionReturnsController .onPageLoad(Some (index ), submittedIndex).url}#in-progress "
6056
6157 lazy val submittedUrlSelector : Int => String =
62- (submittedIndex : Int ) =>
63- s " ${DueForDeletionReturnsController .onPageLoad(inProgressIndex, Some (submittedIndex )).url}#submitted "
58+ (index : Int ) =>
59+ s " ${DueForDeletionReturnsController .onPageLoad(inProgressIndex, Some (index )).url}#submitted "
6460
6561 (for {
66- submitted <- stampDutyLandTaxService.getSubmittedReturnsDueForDeletion
67- submittedReturnsRows = convertResponseToSubmittedView(submitted)
68- submittedPaginatedView = paginateIfValidPageIndex( Some (submittedReturnsRows), submittedIndex, submittedUrlSelector)
69- paginatedSubmittedReturns = submittedPaginatedView.collectFirst { case Right ((rows, paginator, paginationText)) => PaginatedDeletedSubmittedReturnsViewModel (rows, paginator, paginationText) }
70- inProgress <- stampDutyLandTaxService.getInProgressReturnsDueForDeletion
71- inProgressReturnsRows = convertResponseToViewRows(inProgress)
72- inProgressPaginatedView = paginateIfValidPageIndex( Some (inProgressReturnsRows), inProgressIndex, inProgressUrlSelector)
73- paginatedInProgressReturns = inProgressPaginatedView.collectFirst { case Right ((rows, paginator, paginationText)) => PaginatedDeletedInProgressReturnsViewModel (rows, paginator, paginationText) }
62+ inProgressDurForDeletion <- stampDutyLandTaxService.getReturnsByTypeViewModel(
63+ storn = request.storn,
64+ IN_PROGRESS_RETURNS_DUE_FOR_DELETION ,
65+ inProgressIndex)
66+ submittedDueDorDeletionViewModel <- stampDutyLandTaxService.getReturnsByTypeViewModel(
67+ storn = request.storn,
68+ SUBMITTED_RETURNS_DUE_FOR_DELETION ,
69+ submittedIndex)
7470 } yield {
75- (paginatedInProgressReturns, paginatedSubmittedReturns) match {
76- case (Some (inProgressViewModel), Some (submittedViewModel)) =>
77- Ok (view(inProgressViewModel, submittedViewModel))
78- case _ =>
79- logger.warn(s " [DueForDeletionReturnsController][onPageLoad] - Pagination Index Error " )
80- Redirect (outOfScopeUrlSelector)
81- }
71+ Ok (
72+ view(
73+ inProgressDurForDeletion,
74+ submittedDueDorDeletionViewModel,
75+ inProgressIndex.getOrElse(1 ),
76+ submittedIndex.getOrElse(1 ),
77+ inProgressUrlSelector,
78+ submittedUrlSelector))
8279 }) recover {
8380 case ex =>
8481 logger.error(" [DueForDeletionReturnsController][onPageLoad] Unexpected failure" , ex)
8582 Redirect (JourneyRecoveryController .onPageLoad())
8683 }
8784 }
88- }
85+
86+ }
0 commit comments