Phase 02: Provider Registration & Auth - 4 plans created - 8 total tasks defined - Ready for execution Plans: - 02-01: Formidable registration form with auto-login - 02-02: Combined login/registration page - 02-03: Provider dashboard template - 02-04: Access control and redirects
4.8 KiB
phase, plan, type, depends_on, files_modified
| phase | plan | type | depends_on | files_modified | ||
|---|---|---|---|---|---|---|
| 02-provider-registration-auth | 03 | execute |
|
Purpose: Give providers a central view of their published job listings. Output: Dashboard page accessible at /anbieter-dashboard/ showing provider's jobs with edit/view links.
<execution_context> ~/.claude/get-shit-done/workflows/execute-plan.md ./summary.md </execution_context>
@.planning/PROJECT.md @.planning/ROADMAP.md @.planning/phases/01-foundation-setup/01-02-SUMMARY.md @.planning/phases/01-foundation-setup/01-03-SUMMARY.mdFrom Phase 1:
- Custom post type
job_offerexists with custom capabilities - Providers have edit_job_offers capability (own posts only)
- ACF fields available: job_location, job_type, job_deadline, job_contact_email, job_logo
Requirements:
- German UI
- List only current user's job_offer posts
- Show edit and view links
- Simple table layout
Create includes/class-dashboard.php with static method get_template():
- Returns path to templates/provider-dashboard.php
- Handles template loading with load_template()
DO NOT use wp-admin edit links - providers should not access WP-Admin. Use frontend edit approach or direct edit_post_link() which WordPress handles based on capabilities. Template file exists, displays current user's jobs in table format, German labels present Dashboard template created, queries user's posts correctly, displays in table with German labels
Task 2: Create dashboard page and shortcode includes/class-dashboard.php, includes/class-pages.php In class-pages.php create_provider_pages(), add second page creation: - post_title: 'Anbieter Dashboard' - post_name: 'anbieter-dashboard' - post_content: [ddhh_provider_dashboard] shortcode - Store page ID in option 'ddhh_jm_dashboard_page_id'In class-dashboard.php, register shortcode 'ddhh_provider_dashboard':
- Shortcode handler loads templates/provider-dashboard.php
- Returns output buffered content
Check page doesn't already exist before creating.
Hook shortcode registration to 'init' action in main class. Dashboard page exists at /anbieter-dashboard/, shortcode renders template, table displays user's jobs Dashboard page created, shortcode functional, displays job list for logged-in provider
Before declaring plan complete: - [ ] Dashboard template queries only current user's job_offer posts - [ ] Table displays with German column headings - [ ] Edit and View links present for each job - [ ] Status displayed in German (Veröffentlicht/Ausstehend/Entwurf) - [ ] Empty state message shows when no jobs exist - [ ] Page accessible at /anbieter-dashboard/<success_criteria>
- All tasks completed
- Dashboard functional for providers
- Queries scoped to current user
- German UI throughout
- Ready for 02-04 (access control) </success_criteria>
Phase 2 Plan 3: Provider Dashboard Summary
Dashboard template displaying provider's own job listings
Accomplishments
- Dashboard template with WP_Query for current user's jobs
- Table layout with German column headings
- Status display (Veröffentlicht/Ausstehend/Entwurf)
- Edit and View links for each job
- Shortcode integration
- Dashboard page created at /anbieter-dashboard/
Files Created/Modified
templates/provider-dashboard.php- Dashboard templateincludes/class-dashboard.php- Shortcode and template loaderincludes/class-pages.php- Added dashboard page creation
Decisions Made
[Document query approach, template structure]
Issues Encountered
[Problems and resolutions, or "None"]
Next Step
Ready for 02-04-PLAN.md