Skip to content

Appropriate Body "Check Data" subordinate pages#2174

Open
craigmdavidson wants to merge 2 commits intomainfrom
appropriate-body-unclaimed-etc-detail-pages
Open

Appropriate Body "Check Data" subordinate pages#2174
craigmdavidson wants to merge 2 commits intomainfrom
appropriate-body-unclaimed-etc-detail-pages

Conversation

@craigmdavidson
Copy link
Contributor

@craigmdavidson craigmdavidson commented Feb 6, 2026

Context

As part of the "check-data" workflow, we need to provide detail pages for the unclaimed subgroups:

  • Claimable inductions
  • Unclaimable inductions due to missing QTS
  • Unclaimable inductions due to being claimed by another AppropriateBody

EPIC: https://github.com.mcas.ms/DFE-Digital/register-ects-project-board/issues/3190

Check and claim an ECT Induction
Github issue: https://github.com.mcas.ms/DFE-Digital/register-ects-project-board/issues/3166

image

Unclaimable inductions due to missing QTS
Github issue: https://github.com.mcas.ms/DFE-Digital/register-ects-project-board/issues/3183

image

Unclaimable inductions due to being claimed by another AppropriateBody
Github issue: https://github.com.mcas.ms/DFE-Digital/register-ects-project-board/issues/3182

image

Changes proposed in this pull request

As Built

Claimable
claimable

Unclaimable (missing QTS)
no-qts-status

Unclaimable (claimed by another Appropriate Body)
claimed-by-another-ab

Guidance to review

  • As with the parent, the key underlying entity is ECTAtSchoolPeriod rather than Teacher.
  • We needed to change the parent dashboard page ~ UnclaimedController from index to show to better the support subordinate pages.
  • Since the pages are so common we have a common
  • In the ViewComponents we use a strategy pattern to compose the TableSectionComponent with the appropriate TableRowComponent to get the table columns we want for each subordinate.
TableSectionComponentStrategy

@craigmdavidson craigmdavidson self-assigned this Feb 6, 2026
@craigmdavidson craigmdavidson marked this pull request as draft February 6, 2026 11:38
@craigmdavidson craigmdavidson changed the base branch from main to add-appropriate-body-unclaimed-ects-dashboard February 6, 2026 11:39
@github-actions
Copy link

github-actions bot commented Feb 6, 2026

Review app deployed to https://cpd-ec2-review-2174-web.test.teacherservices.cloud

@craigmdavidson craigmdavidson force-pushed the appropriate-body-unclaimed-etc-detail-pages branch from 884a95f to 03af14d Compare February 6, 2026 14:36
@craigmdavidson craigmdavidson force-pushed the appropriate-body-unclaimed-etc-detail-pages branch from 03af14d to abb8f62 Compare February 6, 2026 15:06
@sonarqubecloud
Copy link

sonarqubecloud bot commented Feb 9, 2026

@craigmdavidson craigmdavidson force-pushed the add-appropriate-body-unclaimed-ects-dashboard branch from df234b5 to 6d8c483 Compare February 10, 2026 09:58
Base automatically changed from add-appropriate-body-unclaimed-ects-dashboard to main February 10, 2026 10:30
@craigmdavidson craigmdavidson force-pushed the appropriate-body-unclaimed-etc-detail-pages branch from 71f49ab to 0d755b9 Compare February 10, 2026 10:42
Copy link
Contributor

@peterdavidhamilton peterdavidhamilton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we add trailing new lines to these files. They got missed off the last PR.

Teachers::Name.new(ect_at_school_period.teacher).full_name
end

def teacher_trn
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we switch to delegating here too, or is that too much?

Copy link
Contributor Author

@craigmdavidson craigmdavidson Feb 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know. We are modifying the names of things slightly, which we would lose with delegation.
Based on that I haven't delegated, but we could, if you think that would be clearer?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Up to you, we could accomplish it with a prefix; maybe if more delegated methods were needed.

delegate :trn, to: :ect_at_school_period, prefix: :teacher
delegate :school_name, to: :ect_at_school_period

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay. Let's do it! 😄

html = rendered.to_html
expect(html).to include("Postman Pat")
expect(html).to include("1234567")
expect(html).to include("Bob Builder")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👷🏼‍♂️


it "renders teacher names, TRNs, school name, and induction tutor email" do
html = rendered.to_html
expect(html).to include("Postman Pat")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🐈‍⬛

@craigmdavidson craigmdavidson force-pushed the appropriate-body-unclaimed-etc-detail-pages branch from df9395b to 39993cf Compare February 17, 2026 14:07
@craigmdavidson craigmdavidson force-pushed the appropriate-body-unclaimed-etc-detail-pages branch from 39993cf to dd4e024 Compare February 17, 2026 14:23
@craigmdavidson craigmdavidson force-pushed the appropriate-body-unclaimed-etc-detail-pages branch from dd4e024 to ed75657 Compare February 17, 2026 14:28
Fill in detail pages for unclaimed ECTs, Each page includes search by name or TRN and paginated tables with category-specific columns.
@craigmdavidson craigmdavidson force-pushed the appropriate-body-unclaimed-etc-detail-pages branch from ed75657 to d45687b Compare February 17, 2026 14:54
@sonarqubecloud
Copy link

@peterdavidhamilton
Copy link
Contributor

Can we add trailing new lines to these files. They got missed off the last PR.

Looks excellent and works as advertised. If we can follow the blank line convention I'll happily approve; don't want to hold you up.

@craigmdavidson
Copy link
Contributor Author

Can we add trailing new lines to these files. They got missed off the last PR.

Looks excellent and works as advertised. If we can follow the blank line convention I'll happily approve; don't want to hold you up.

Thanks @peterdavidhamilton I think I might I'm not fully understanding this?

in the repos .editorconfig the following is defined:

insert_final_newline = true
trim_trailing_whitespace = true

So this means we final character should be a oin
These files do have a trailing new line, i.e. the last character is '\n'...

when I hexdump the first new file in the PR:

tail -c 1 app/components/unclaimed_index/claimable/table_row_component.html.erb | xxd
returns 0a which is \n? The other files on main follow this pattern. What am I missing?

When that new line is missing GitHub it shows it as red.
I'm not sure what am I missing / misunderstanding?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants