Files
smoothschedule/frontend/playwright-report/data/26a8490232a31d7ac35c48d597d4cf1e7b398d00.md
poduck 3fef0d5749 feat: Add comprehensive plugin documentation and advanced template system
Added complete plugin documentation with visual mockups and expanded template
variable system with CONTEXT, DATE helpers, and default values.

Backend Changes:
- Extended template_parser.py to support all new template types
- Added PROMPT with default values: {{PROMPT:var|desc|default}}
- Added CONTEXT variables: {{CONTEXT:business_name}}, {{CONTEXT:owner_email}}
- Added DATE helpers: {{DATE:today}}, {{DATE:+7d}}, {{DATE:monday}}
- Implemented date expression evaluation for relative dates
- Updated compile_template to handle all template types
- Added context parameter for business data auto-fill

Frontend Changes:
- Created comprehensive HelpPluginDocs.tsx with Stripe-style API docs
- Added visual mockup of plugin configuration form
- Documented all template types with examples and benefits
- Added Command Reference section with allowed/blocked Python commands
- Documented all HTTP methods (GET, POST, PUT, PATCH, DELETE)
- Added URL whitelisting requirements and approval process
- Created Platform Staff management page with edit modal
- Added can_approve_plugins and can_whitelist_urls permissions

Platform Staff Features:
- List all platform_manager and platform_support users
- Edit user details with role-based permissions
- Superusers can edit anyone
- Platform managers can only edit platform_support users
- Permission cascade: users can only grant permissions they have
- Real-time updates via React Query cache invalidation

Documentation Highlights:
- 4 template types: PROMPT, CONTEXT, DATE, and automatic validation
- Visual form mockup showing exactly what users see
- All allowed control flow (if/elif/else, for, while, try/except, etc.)
- All allowed built-in functions (len, range, min, max, etc.)
- All blocked operations (import, exec, eval, class/function defs)
- Complete HTTP API reference with examples
- URL whitelisting process: contact pluginaccess@smoothschedule.com

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 20:54:07 -05:00

3.2 KiB

Page snapshot

- generic [ref=e3]:
  - generic [ref=e7]:
    - generic [ref=e9]:
      - img [ref=e10]
      - generic [ref=e16]: Smooth Schedule
    - generic [ref=e17]:
      - heading "Orchestrate your business with precision." [level=1] [ref=e18]
      - paragraph [ref=e19]: The all-in-one scheduling platform for businesses of all sizes. Manage resources, staff, and bookings effortlessly.
    - generic [ref=e24]: © 2025 Smooth Schedule Inc.
  - generic [ref=e26]:
    - generic [ref=e27]:
      - heading "Welcome back" [level=2] [ref=e28]
      - paragraph [ref=e29]: Please enter your details to sign in.
    - generic [ref=e30]:
      - generic [ref=e31]:
        - generic [ref=e32]:
          - generic [ref=e33]: Username
          - generic [ref=e34]:
            - generic:
              - img
            - textbox "Username" [active] [ref=e35]:
              - /placeholder: Enter your username
              - text: superuser
        - generic [ref=e36]:
          - generic [ref=e37]: Password
          - generic [ref=e38]:
            - generic:
              - img
            - textbox "Password" [ref=e39]:
              - /placeholder: ••••••••
      - button "Sign in" [ref=e40]:
        - generic [ref=e41]:
          - text: Sign in
          - img [ref=e42]
    - generic [ref=e50]: Or continue with
    - button "🇺🇸 English" [ref=e53]:
      - img [ref=e54]
      - generic [ref=e58]: 🇺🇸
      - generic [ref=e59]: English
      - img [ref=e60]
    - generic [ref=e62]:
      - heading "🔓 Quick Login (Dev Only)" [level=3] [ref=e64]:
        - generic [ref=e65]: 🔓
        - generic [ref=e66]: Quick Login (Dev Only)
      - generic [ref=e67]:
        - button "Platform Superuser SUPERUSER" [ref=e68]:
          - generic [ref=e69]:
            - generic [ref=e70]: Platform Superuser
            - generic [ref=e71]: SUPERUSER
        - button "Platform Manager PLATFORM_MANAGER" [ref=e72]:
          - generic [ref=e73]:
            - generic [ref=e74]: Platform Manager
            - generic [ref=e75]: PLATFORM_MANAGER
        - button "Platform Sales PLATFORM_SALES" [ref=e76]:
          - generic [ref=e77]:
            - generic [ref=e78]: Platform Sales
            - generic [ref=e79]: PLATFORM_SALES
        - button "Platform Support PLATFORM_SUPPORT" [ref=e80]:
          - generic [ref=e81]:
            - generic [ref=e82]: Platform Support
            - generic [ref=e83]: PLATFORM_SUPPORT
        - button "Business Owner TENANT_OWNER" [ref=e84]:
          - generic [ref=e85]:
            - generic [ref=e86]: Business Owner
            - generic [ref=e87]: TENANT_OWNER
        - button "Business Manager TENANT_MANAGER" [ref=e88]:
          - generic [ref=e89]:
            - generic [ref=e90]: Business Manager
            - generic [ref=e91]: TENANT_MANAGER
        - button "Staff Member TENANT_STAFF" [ref=e92]:
          - generic [ref=e93]:
            - generic [ref=e94]: Staff Member
            - generic [ref=e95]: TENANT_STAFF
        - button "Customer CUSTOMER" [ref=e96]:
          - generic [ref=e97]:
            - generic [ref=e98]: Customer
            - generic [ref=e99]: CUSTOMER
      - generic [ref=e100]:
        - text: "Password for all:"
        - code [ref=e101]: test123