Commit Graph

8 Commits

Author SHA1 Message Date
797c8c7135 feat(03-04): integrate admin UI enhancements into plugin
Add admin UI class to main plugin bootstrap and initialize hooks in admin context only:
- Require class-admin-ui.php in main plugin file
- Initialize Admin_UI::setup_hooks() only when is_admin() is true
- Performance optimization: admin hooks don't load on frontend

Admin moderation interface now provides efficient job listing with custom columns and status filters.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-14 19:48:55 +09:00
943544e72b feat(03-03): integrate notifications into plugin initialization
- Added require statement for class-notifications.php in main plugin file
- Initialized notification hooks via init action in main class
- Pattern consistent with existing class initializations (Access_Control, Dashboard, etc.)
- Notifications will trigger on transition_post_status after WordPress fully loads

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-14 19:44:34 +09:00
4706f72ba4 feat(02-04): implement WP-Admin redirect for providers
- Create DDHH_JM_Access_Control class with redirect logic
- Redirect providers from WP-Admin to dashboard page
- Preserve access to profile.php for password/email changes
- Preserve access to admin-ajax.php for AJAX requests
- Integrate access control hooks in main plugin class

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-14 19:26:28 +09:00
1c6598d8c2 docs(02-01): complete provider registration form plan
Phase 2 Plan 1 execution summary:
- Created Formidable registration form with 5 German-labeled fields
- Implemented auto-login and ddhh_provider role assignment
- Email uniqueness and password validation enforced
- Organization name stored as user meta
- All tasks completed successfully with 2 commits

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-14 19:20:59 +09:00
6e281b2e5a feat(02-01): integrate Formidable class with plugin
- Added class-formidable.php to autoload in main plugin file
- Hooked setup_registration_hooks() to init action
- Added missing class-roles.php and class-acf-fields.php to autoload
- Ensures Formidable integration runs after Formidable Forms loads

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-14 19:19:13 +09:00
c8fdf39f37 feat(01-03): register ACF field group for job_offer metadata
- Add DDHH_JM_ACF_Fields class with register_fields() method
- Field group 'Job Details' for post_type job_offer
- 6 fields: job_location (text, required), job_type (select, required),
  job_deadline (date_picker), job_contact_email (email, required),
  job_logo (image), job_deactivation_reason (textarea, conditional)
- German labels: Standort, Art, Bewerbungsfrist, Kontakt-E-Mail, Logo
- Logo returns ID for media library integration
- Deactivation reason field shows only when status != publish
- Hooked to 'acf/init' action
2026-01-14 19:01:25 +09:00
7722848ef9 chore(01-02): add prerequisite plugin structure
- Create main singleton class
- Create activator with version checks
- Create deactivator with rewrite flush
- Update main file to include core classes

This is a blocking fix (Rule 3) - Plan 01-01 was not completed but
these files are required for Plan 01-02 to execute.
2026-01-14 18:56:38 +09:00
2471c7f7e8 feat(01-01): create main plugin class with activation/deactivation
- Add main singleton class DDHH_JM_Job_Manager
- Implement activation handler with WP/PHP version checks
- Implement deactivation handler with rewrite flush
- Use transient-based rewrite flush to avoid multiple flushes
- Add comprehensive security checks and documentation

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-14 18:56:02 +09:00