Skip to content

[CON-60]: Add Syllabus Section Definition Data Model and Filament UI - #173

Merged
rebecca-canyon merged 3 commits into
mainfrom
con-60
Oct 19, 2026
Merged

rebecca-canyon merged 3 commits into
mainfrom
con-60

Conversation

@danharrin

Copy link
Copy Markdown
Contributor

Ticket(s) or GitHub Issue

Technical Description

"Unarchive" is a feature required by this ticket, so this PR adds the unarchive action / bulk action, fixes the implementation of both archiving and unarchiving to be consistent with each other, consistently documented, and consistently tested.

Also fixes a couple of minor things in the agent skill files.

Any deployment steps required?

No

Are any Feature Flags and/or Data Migrations that can eventually be removed Added?

No


Before contributing and submitting this PR, make sure you have Read, agree, and are compliant with the contributing guidelines.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔵 Needs a closer look

Shared authorization and persistence changes need human confirmation with integration checks that were not verified here.

No open issues 🎉

What changed in this PR

Adds shared unarchive support needed by CON-60, aligning archive/unarchive behavior in the common package.

Changes:

  • Adds single-record and bulk unarchive actions with shared authorization resolution.
  • Limits unarchive persistence to archive and timestamp fields.
  • Expands regression coverage, workbench examples, and developer guidance.
File Description
workbench/​app/​Policies/​ArticlePolicy.php Supports record-specific archive denials in tests.
workbench/​app/​Models/​Article.php Keeps memoized usage checks clean.
workbench/​app/​Filament/​Resources/​Tasks/​TaskResource.php Adds unsupported-model unarchive fixture.
workbench/​app/​Filament/​Resources/​Projects/​Pages/​ViewProject.php Adds unarchive header action.
workbench/​app/​Filament/​Resources/​Projects/​Pages/​EditProject.php Adds unarchive header action.
workbench/​app/​Filament/​Resources/​Images/​ImageResource.php Adds bulk unarchive fixture.
workbench/​app/​Filament/​Resources/​Articles/​Pages/​EditArticle.php Adds unarchive header action.
workbench/​app/​Filament/​Resources/​Articles/​ArticleResource.php Configures bulk unarchive test scenarios.
tests/​Models/​Concerns/​CanBeArchivedTest.php Covers timestamps and isolated persistence.
tests/​Filament/​Actions/​UnarchiveBulkActionTest.php Tests bulk processing, failures, and authorization.
tests/​Filament/​Actions/​UnarchiveActionTest.php Tests single-record unarchiving and authorization.
tests/​Filament/​Actions/​ArchiveBulkActionTest.php Reorganizes bulk archive coverage.
tests/​Filament/​Actions/​ArchiveActionTest.php Reorganizes single-record archive coverage.
src/​Models/​Scopes/​ArchivingScope.php Removes redundant scope removal.
src/​Models/​Concerns/​CanBeArchived.php Aligns unarchive writes with archive behavior.
src/​Filament/​Actions/​UnarchiveBulkAction.php Implements bulk unarchiving and reporting.
src/​Filament/​Actions/​UnarchiveAction.php Implements single-record unarchiving.
src/​Filament/​Actions/​Concerns/​ResolvesArchiveAbility.php Centralizes archive permission fallback.
src/​Filament/​Actions/​ArchiveBulkAction.php Uses shared authorization resolution.
src/​Filament/​Actions/​ArchiveAction.php Uses shared authorization resolution.
.ai/​skills/​laravel-best-practices/​SKILL.md Clarifies validation and indexing guidance.
.ai/​skills/​laravel-best-practices/​rules/​migrations.md Corrects validation and foreign-key indexing examples.
.ai/​skills/​archiving-records/​SKILL.md Documents unarchiving, authorization, and persistence.

Review effort: Balanced

@danharrin
danharrin marked this pull request as ready for review October 19, 2026 10:05
@danharrin
danharrin requested a review from a team as a code owner October 19, 2026 10:05
# Conflicts:
#	tests/Filament/Actions/ArchiveActionTest.php
#	tests/Filament/Actions/ArchiveBulkActionTest.php
#	tests/Models/Concerns/CanBeArchivedTest.php
@rebecca-canyon
rebecca-canyon merged commit 47c7899 into main Oct 19, 2026
8 checks passed
@rebecca-canyon
rebecca-canyon deleted the con-60 branch October 19, 2026 16:55
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.

3 participants