Skip to content

feat(procest): Start Case dashboard widget#106

Merged
rubenvdlinde merged 4 commits intodevelopmentfrom
feature/105/start-case-widget
Mar 24, 2026
Merged

feat(procest): Start Case dashboard widget#106
rubenvdlinde merged 4 commits intodevelopmentfrom
feature/105/start-case-widget

Conversation

@rubenvdlinde
Copy link
Contributor

Summary

  • Adds a Start Case Nextcloud Dashboard widget that shows available case types as quick-start cards
  • Users can create a new case directly from the Nextcloud dashboard or MyDash without navigating into Procest
  • Inline case creation: select case type, optionally add a title, and the widget creates the case and navigates to it

OpenSpec Change

Files

File Action
lib/Dashboard/StartCaseWidget.php New — IWidget implementation
src/views/widgets/StartCaseWidget.vue New — Vue component with case type cards
src/startCaseWidget.js New — Webpack entry point
lib/AppInfo/Application.php Modified — widget registration
webpack.config.js Modified — new entry

Quality Checks

Check Status
PHP syntax Pass
i18n (nl/en) All strings wrapped
NL Design CSS var() only
Pattern match Matches CasesOverviewWidget

Test plan

  • Add widget to Nextcloud Dashboard — verify it appears with case type cards
  • Click a case type — verify case is created and user navigates to detail page
  • Test with no case types configured — verify empty state message
  • Test Dutch and English locales

Closes #105

Generated with Claude Code

Spec, design, and task definitions for the Start Case dashboard widget.
New widget lets users create cases directly from the Nextcloud dashboard
by clicking on available case types. Includes PHP widget class, Vue
component with loading/empty states, and webpack entry point.
@github-actions
Copy link
Contributor

Quality Report

Repository ConductionNL/procest
Commit bc1cb86
Branch 106/merge
Event pull_request
Generated 2026-03-24 07:08 UTC
Workflow Run https://github.com/ConductionNL/procest/actions/runs/23477400916

Summary

Group Result
PHP Quality FAIL
Vue Quality FAIL
Security FAIL
License FAIL
PHPUnit SKIP
Newman SKIP
Playwright SKIP

PHP Quality

Tool Result
lint PASS
phpcs FAIL
phpmd PASS
psalm PASS
phpstan PASS
phpmetrics PASS

Vue Quality

Tool Result
eslint FAIL
stylelint FAIL

Security

Ecosystem Result
composer PASS
npm FAIL

License Compliance

Ecosystem Result
composer PASS
npm FAIL

composer dependencies (100 total)

Metric Count
Approved (allowlist) 100
Approved (override) 0
Denied 0

PHPUnit Tests

PHPUnit tests were not enabled for this run.

Integration Tests (Newman)

Newman integration tests were not enabled for this run.

E2E Tests (Playwright)

Playwright E2E tests were not enabled for this run.


Generated automatically by the Quality workflow.

Download the full PDF report from the workflow artifacts.

@github-actions
Copy link
Contributor

Quality Report

Repository ConductionNL/procest
Commit 0f79129
Branch 106/merge
Event pull_request
Generated 2026-03-24 10:11 UTC
Workflow Run https://github.com/ConductionNL/procest/actions/runs/23484046855

Summary

Group Result
PHP Quality FAIL
Vue Quality FAIL
Security FAIL
License FAIL
PHPUnit SKIP
Newman SKIP
Playwright SKIP

PHP Quality

Tool Result
lint PASS
phpcs FAIL
phpmd PASS
psalm PASS
phpstan PASS
phpmetrics PASS

Vue Quality

Tool Result
eslint FAIL
stylelint FAIL

Security

Ecosystem Result
composer PASS
npm FAIL

License Compliance

Ecosystem Result
composer PASS
npm FAIL

composer dependencies (100 total)

Metric Count
Approved (allowlist) 100
Approved (override) 0
Denied 0

PHPUnit Tests

PHPUnit tests were not enabled for this run.

Integration Tests (Newman)

Newman integration tests were not enabled for this run.

E2E Tests (Playwright)

Playwright E2E tests were not enabled for this run.


Generated automatically by the Quality workflow.

Download the full PDF report from the workflow artifacts.

@rubenvdlinde rubenvdlinde merged commit 413155e into development Mar 24, 2026
28 of 39 checks passed
@rubenvdlinde rubenvdlinde deleted the feature/105/start-case-widget branch March 24, 2026 10:59
@rubenvdlinde
Copy link
Contributor Author

Browser Verification

Tested in Nextcloud dashboard (localhost:8080) with Playwright.

Widget Registration

  • Widget appears in "Edit widgets" dialog as "Start case"
  • Successfully enabled via checkbox

Start Case Widget

  • Empty state: Shows "No case types configured - Configure case types in Procest admin settings" with icon (correct behavior when no case types are seeded)
  • Console errors: Expected fetch error for caseType collection (no case types configured)

Verified

  • Widget loads without JS errors
  • Empty state message is clear and actionable
  • Widget renders in correct position on dashboard grid
  • i18n strings loaded correctly

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