Commit Graph

9 Commits

Author SHA1 Message Date
f5ca452a85 feat: add test email admin page and comprehensive form fill button
- New Umzugsliste_Test_Email class with test data generator covering all
  fields: addresses, 7 rooms with items, all additional work sections, sonstiges
- Admin page under Moving List > Test Email with inline preview iframe
  and Send Test Email button (manage_options capability)
- Replace Step 1 dev fill button with Fill All that populates every field
  across all 9 steps (furniture, additional work, sonstiges)
- Fix getFieldVal crash when select has no selection (selectedIndex=-1)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 00:40:08 +09:00
b9ae7d707d fix: step navigation back-click bug and add shortcode lang attribute
Track highestStep so navigating backward preserves completed dots and
allows clicking forward to any previously visited step. Add [umzugsliste
lang="de|en"] shortcode attribute that switches locale via
switch_to_locale() for per-page language control.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 22:54:55 +09:00
64caccc5c1 fix: resolve form submission issues and add CPT detail view
- Rename day/month/year form fields to umzug_day/umzug_month/umzug_year
  to avoid conflict with WordPress reserved public query variables that
  caused a 404 on form POST
- Move form handler instantiation to init_hooks() so handle_submission
  registers on the init action before it fires
- Add standalone template fallback: detect [umzugsliste] shortcode in
  page content when form_page_id option is not set
- Add submission details meta box to CPT entries showing addresses,
  furniture, additional work, and status
- Add German translations for all new admin meta box strings

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 13:03:31 +09:00
c0021befe2 feat: add standalone form page, close all audit gaps, pass v1.0 milestone
Add standalone form page template that bypasses the theme, with admin
setting and auto-creation on plugin activation. Fix reCAPTCHA v3 double
submission, remove jQuery dependency, extend localized JS strings, and
overhaul form CSS/JS. Update milestone audit to PASSED (9/9, 10/10, 5/5).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 12:09:11 +09:00
8751eacdf2 chore(09-01): add i18n infrastructure and fix text domain
- Update text domain from 'umzugsliste' to 'siegel-umzugsliste' in plugin header
- Add siegel_umzugsliste_load_textdomain() function hooked on init priority 1
- Add change_locale hook to reload text domain (workaround for WP core bug #39210)
- Text domain loading enables translation file support in languages/ directory
2026-02-06 23:39:15 +09:00
7967756a68 feat(07-01): load captcha class
- Add class-captcha.php to dependencies
- Load before form renderer for availability

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-16 12:30:53 +09:00
e87d974f71 feat(03-01): create settings class with WordPress Settings API
- Settings class with singleton pattern
- Registered 5 settings: receiver_email, captcha_provider, captcha_site_key, captcha_secret_key, thankyou_url
- Proper sanitization callbacks for each setting type
- Helper method get_option() for clean API access
- Integrated with admin menu structure
2026-01-16 11:45:16 +09:00
cd9b6a6891 fix(01-01): correct CPT registration hook timing
- CPT init hook was being added from within parent init hook
- Changed to call register_post_type() directly from main init
- Removed redundant hook from CPT constructor
- Fixes CPT not registering on plugin activation
2026-01-16 11:10:01 +09:00
bdf02a2740 feat(01-01): create main plugin file with bootstrap code
- WordPress plugin header with proper metadata
- Plugin version constants and paths
- Main Umzugsliste class with singleton pattern
- Activation/deactivation hooks with flush_rewrite_rules
- Autoloader for includes/ directory
- Init hook to initialize plugin components
2026-01-16 11:02:11 +09:00