Skip to content

Conversation

@31Husain31
Copy link

Description
Parent Migration (PR 1 of 3): First PR in the 3-part inbox migration. Migrates the units/index parent state from AngularJS to Angular by adapting the existing UnitRootState. This parent provides unit and unitRole data to all child states (tasks, edit, students, etc.) while maintaining compatibility with existing AngularJS children.

What Changed:

  • Renamed state from 'unit-root-state' to 'units/index'
  • Changed URL from /units2/:unitId to /units/:unitId
  • Split data resolvers: unit$ and unitRole$ for cleaner separation
  • Added loading state UI matching old template behavior
  • Updated to use default ui-view instead of named unitView
  • Removed old AngularJS files (index.coffee, index.tpl.html)

Part of: T3 2025 - Investigate partial migration for tasks/inbox
Related PRs: PR 2/3 (units/tasks) and PR 3/3 (inbox) to follow
Migration Plan: INBOX_FULL_MIGRATION_PLAN.md

Type of change

  • Refactor (non-breaking change which improves code structure)

How Has This Been Tested?
Manual testing required for:

  • Unit loading at /units/:unitId route
  • Permission checks for different roles (Tutor, Convenor, Admin, Auditor)
  • Admin/Auditor special access logic
  • Loading state display
  • Child state compatibility (units/tasks, units/edit, etc.)
  • Redirect behavior on invalid unit or no access

Testing Checklist:

[ ] Tested in latest Chrome
[ ] Tested in latest Safari
[ ] Tested in latest Firefox

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code in hard-to-understand areas (code is straightforward refactor)
[ ] I have made corresponding changes to the documentation (none required for internal refactor)
[x] My changes generate no new warnings
[x] I have requested a review from my team

Replace AngularJS units/index with Angular implementation by adapting
UnitRootState. This provides unit and unitRole data to child states
while maintaining compatibility with existing AngularJS children.

Changes:
- Rename unit-root-state to units/index
- Update URL from /units2/:unitId to /units/:unitId
- Split unit and unitRole into separate resolvers
- Add loading state to template
- Use default ui-view instead of named unitView
- Remove old AngularJS files (index.coffee, index.tpl.html)
- Update module dependencies in states.coffee
- Fix TaskViewerState parent reference

Part of inbox migration (PR 1 of 3)
Remove import reference to build/src/app/units/states/index/index.js
which no longer exists after migration to Angular. This was causing
the dev server to fail during build.
@31Husain31
Copy link
Author

My colleague reviewed and pointed out an issue.

this has been fixed! I removed the stale import from doubtfire-angularjs.module.ts (line 83).

The import was referencing build/src/app/units/states/index/index.js which no longer exists after the migration. The dev server should now start correctly.

Thanks for catching this! Ready for review ^^

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.

1 participant