Commit Graph

19 Commits

Author SHA1 Message Date
2c79500286 chore: Stop tracking Auto Claude state files 2026-01-10 11:18:16 +01:00
77abe883f3 auto-claude: subtask-1-3 - Extract technology stack from requirements.txt and CLAUDE.md
Created comprehensive technology-stack-inventory.md documenting:
- 13 Python dependencies from requirements.txt
- Backend: Flask 3.0, SQLAlchemy 2.0, PostgreSQL
- Security: Flask-Login, Flask-WTF, Flask-Limiter
- AI: Google Gemini 2.5 (4 models)
- External APIs: 6 integrations (Google PageSpeed, Maps, Graph, KRS, Brave)
- Frontend: Jinja2, CSS3, Vanilla JS
- Infrastructure: Gunicorn, NPM, Let's Encrypt, Docker
- Environment configuration requirements

All acceptance criteria met.
2026-01-10 09:15:43 +01:00
10ae221c26 auto-claude: subtask-6-2 - Add /it-audit/form GET route for displaying the form
Add Flask route for IT audit form display:
- GET /it-audit/form with optional company_id query parameter
- Access control: admin can access any company, users only their own
- Defaults to current user's company if no company_id provided
- Pre-fills form with existing audit data if available
- Renders it_audit_form.html template

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 09:09:00 +01:00
aab2b298a7 auto-claude: subtask-5-3 - Add collaboration matrix section showing company p
Added collaboration matrix section to IT audit dashboard with:
- CSS styles for match type cards following combo-grid pattern
- Six match type categories: M365 licensing, backup replication,
  Teams federation, shared monitoring, collective purchasing,
  and knowledge sharing
- Company pairs display with status badges (suggested, contacted,
  active, declined)
- Empty state with friendly message when no matches exist
- Responsive grid layout matching social_media.html patterns

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 09:04:58 +01:00
b9ba00fae9 auto-claude: subtask-5-2 - Add company table with columns: name, overall score, security score, collaboration score, maturity level, tech icons, actions 2026-01-09 09:02:50 +01:00
e57af8bd78 auto-claude: subtask-5-1 - Create admin/it_audit_dashboard.html with stats gr
Create IT Audit admin dashboard template with:
- Header with title, description, and action buttons
- Stats grid showing: total audits, avg overall score, avg security
  score, avg collaboration score, companies without audit
- Maturity level distribution (basic, developing, established, advanced)
- Technology stats grid (Azure AD, M365, Proxmox PBS, Zabbix, EDR, DR Plan)
- Collaboration flags section (6 cooperation types)
- Empty states for all sections when no data
- Responsive design following patterns from admin_seo_dashboard.html

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 08:59:58 +01:00
f9a8bcf405 auto-claude: subtask-4-4 - Add progress bar JavaScript for form completion tracking
- Enhanced updateProgress() function to track section-by-section completion
- Added calculateSectionCompletion() helper for per-section field analysis
- Added updateSectionProgress() for section-level progress indicators
- Implemented real-time progress tracking with input event listeners
- Added debounced input handlers for text/email/textarea fields
- Added keyboard navigation support for progress dots (accessibility)
- Progress bar color changes based on completion percentage:
  - Primary (blue) for <50%
  - Warning (yellow) for 50-79%
  - Success (green) for >=80%
- Section dots and numbers turn green when section is 70%+ complete
- Properly handles conditional fields visibility in completion calculation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 08:56:14 +01:00
f87a3700c5 auto-claude: subtask-4-3 - Add form sections 7-9
Added form sections:
- Section 7 (Monitoring): monitoring solution dropdown, Zabbix/PBS toggles,
  monitoring targets chip-select, alerting methods chip-select, log retention
- Section 8 (Business Apps): ERP, CRM, ticket system, document system dropdowns,
  other business apps and integration methods chip-selects
- Section 9 (Collaboration): 6 collaboration flags checkboxes with descriptions:
  - open_to_shared_licensing (M365 CSP)
  - open_to_backup_replication (Proxmox PBS)
  - open_to_teams_federation (Azure AD)
  - open_to_shared_monitoring (Zabbix)
  - open_to_collective_purchasing
  - open_to_knowledge_sharing

Updated JavaScript:
- Added new chip selections to chipSelections object
- Added conditional field mappings for new toggles
- Added initialization code for all new fields

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 08:53:59 +01:00
7231428fa7 auto-claude: subtask-4-2 - Add form sections 4-6 (Endpoints, Security, Backup & DR)
Added three new form sections to IT audit form:
- Section 4: Endpoints (Workstations) - device types, OS, MDM, encryption
- Section 5: Security - antivirus/EDR, VPN, MFA, password policy, training
- Section 6: Backup & DR - backup solutions, targets, frequency, retention, DR plan

Features:
- Dropdowns for single-select options (MDM solution, VPN, antivirus, etc.)
- Chip-select for multi-select options (endpoint types, OS, MFA methods, etc.)
- Toggle switches for yes/no questions with conditional fields
- Full JavaScript support for new chip selections and conditional mappings
- Initialization support for editing existing audits
2026-01-09 08:49:48 +01:00
b9a7f4640c auto-claude: subtask-4-1 - Create it_audit_form.html template with base structure
- Created IT audit form template with 9 sections (1-3 fully implemented)
- Section 1: IT Contact (IT manager, outsourcing, provider, contact info)
- Section 2: Cloud & Identity (Azure AD, M365, Google Workspace, local AD)
- Section 3: Server Infrastructure (server count, types, virtualization, OS)
- Sections 4-9: Placeholder structure ready for implementation
- Added progress bar with section navigation dots
- Implemented toggle switches, chip selects for multi-value fields
- Added conditional field visibility logic
- Included loading overlay and info modal patterns
- Responsive design following existing audit templates (gbp_audit.html, seo_audit.html)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 08:46:23 +01:00
9fd6f994a0 chore: Remove Auto0Claude status and old config files
Removed:
- .auto-claude-status (Auto0Claude artifact)
- debug-headers.conf (old nginx config)
- nginx-custom-maintenance.conf (old nginx config)
- advanced-config-update.sql (one-time SQL)
- SQLite backup files (not tracked by git)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 06:43:34 +01:00
603c95c608 auto-claude: subtask-7-1 - Production verification for GBP audit
- Verified production health endpoint is running
- Confirmed code implementation is correct:
  - gbp_audit_service.py uses google_opening_hours for hours field
  - gbp_audit_service.py uses google_photos_count for photos field
  - gbp_audit_service.py uses google_rating/google_reviews_count for reviews
- Manual browser verification required (page requires authentication)
- Instructions documented in build-progress.txt

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 23:25:41 +01:00
de4cf264fa auto-claude: subtask-6-1 - Mark database migration ready for user action
Migration code complete:
- database/migrations/add_gbp_hours_photos_columns.sql
- run_migration.py helper script

SSH access to production (10.22.68.249) is blocked from sandbox.
User must run the documented command to complete migration.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 23:23:19 +01:00
d84588c46b auto-claude: subtask-3-1 - Update _check_hours() method to read from google_opening_hours
Changed _check_hours() in GBP Audit Service to read opening hours from
google_opening_hours field instead of google_business_status. The method
now properly returns the actual hours value when available.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 23:01:28 +01:00
5f2cfa06fd auto-claude: subtask-2-2 - Update get_place_details() to return photos count
- Add google_photos_count to result dictionary initialization
- Extract photos count from API response using len(place['photos'])
- Update logging to include photos count in output

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 22:59:04 +01:00
5fa80f9efa auto-claude: subtask-2-1 - Add 'photos' to fields list in GooglePlacesSearcher
Added 'photos' field to the fields list in get_place_details() method
to enable fetching business photos from Google Places API.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 22:58:04 +01:00
115c1c1193 auto-claude: subtask-4-3 - Verify database has Google data for INPI company
BLOCKED: Cannot verify - dependencies not met:
- Local SQLite database empty (no tables initialized)
- Google Places API not enabled for current API key
- Previous subtask (4-2) was blocked, no audit ran

Documented blockers and options to unblock in build-progress.txt.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 20:52:14 +01:00
9cd5066afe auto-claude: subtask-3-3 - Add test_search_google_reviews_error for API error
Added test for search_google_reviews method to handle API errors gracefully.
The test mocks GooglePlacesSearcher to simulate a RequestException during
get_place_details and verifies that the method returns None values instead
of crashing.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 20:39:11 +01:00
ee6bc656ef auto-claude: subtask-3-2 - Add test_search_google_reviews for successful API response
Added test_search_google_reviews test in TestBraveSearcherGoogleReviews class
that verifies successful Google reviews retrieval via Google Places API:
- Mocks complete place lookup with realistic place_id
- Mocks full place details response including rating, reviews count,
  opening hours, and business status
- Verifies all expected fields are correctly returned
- Validates correct API calls are made with expected parameters

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 20:37:27 +01:00