Commit Graph

6 Commits

Author SHA1 Message Date
WLTBAgent
78132b3fd7 Fix: Rename AdminController to PageController to match route
- Renamed AdminController to PageController
  - Route name is 'page#index' so controller must be 'PageController'
  - Fixes Could not resolve PageController error
- Updated routes.php to use PageController
- Updated info.xml navigation to point to PageController
- Removed old AdminController.php
- Improved HTML output with better styling and next steps

This was the root cause: Controller class name must match route name.
Route: page#index → Controller: PageController

App routing should now work correctly!
2026-02-13 20:25:52 +00:00
WLTBAgent
4b684d101a Fix: Change route from /admin to / to avoid Nextcloud conflicts
- Changed route URL from /admin to / (root path)
  - /admin was conflicting with Nextcloud built-in admin routes
  - Now uses apps/analyticshub/ instead
- Changed route name from admin#index to page#index
  - Follows Nextcloud naming conventions
- Updated info.xml navigation
  - Points to analyticshub.page.index
  - Removed <settings> section (can cause conflicts)
- Updated AdminController
  - Added request path to diagnostic output
  - Better styling for simple HTML page

The route was conflicting with Nextcloud's admin system.
New URL: https://teamworkapps.com/index.php/apps/analyticshub/
2026-02-13 20:21:40 +00:00
WLTBAgent
d4f96cc28b Fix: Use simple HTML output to test routing
- Changed AdminController to use simple echo/exit instead of TemplateResponse
  - Eliminates TemplateResponse complexity
  - Direct HTML output for debugging
- Simplified routes.php to single admin route
  - Removed test route (no longer needed)
  - Simple GET only route
- Simplified Application.php
  - Removed resource loading
  - Minimal bootstrap

If this shows 'Controller is working' page, routing is confirmed working.
If it still redirects to dashboard, it's a Nextcloud routing issue.

This is a minimal test version to confirm routing works before building full UI.
2026-02-13 20:13:46 +00:00
WLTBAgent
b4a11fcc33 Fix: Proper Controller extension and test route
- Fixed AdminController to extend OCP\AppFramework\Controller
  - Annotations (@NoAdminRequired, @NoCSRFRequired) now work
  - Proper parent::__construct() call
- Added test route /admin/test for debugging
  - Returns JSON to confirm controller works
  - Helps diagnose routing vs permission issues
- Simplified routes to essential ones only
  - admin#index and admin#test

This should resolve 'Access forbidden' for system admin users.
The key fix was extending the proper Controller base class.
2026-02-13 19:36:02 +00:00
WLTBAgent
ba50dc9218 Fix: Simplify admin controller and routes for 'Access forbidden' error
- Simplified AdminController to minimal version
  - Removed complex dependency injection
  - Added @NoAdminRequired and @NoCSRFRequired annotations
  - Minimal constructor with just appName
- Simplified routes.php
  - Removed requirements array
  - Clean route definitions
- Fixed admin template
  - Kept same UI but removed non-standard calls
  - Self-contained CSS and simple form
- This addresses 'Access forbidden' error when accessing admin page

The issue was likely caused by:
1. Missing annotations on admin controller
2. Complex DI not working properly
3. Route configuration issues

Simplified version should resolve access issues.
2026-02-13 19:31:49 +00:00
WLTBAgent
64bc88d6de Fix: Add routes and admin navigation
- Created appinfo/routes.php to register all routes
  - Admin routes: index, save, load, getStatus
  - API v1 routes: reports, getReport, generate, getStatus
  - Report routes: index, generate
- Added index() method to AdminController
  - Renders admin template via TemplateResponse
- Updated info.xml and appinfo/info.xml
  - Fixed navigation entry to point to route: analyticshub.admin.index
  - Added settings and navigation sections
- App now appears in Settings → Administration after enable/disable

Fixes issue where app didn't show up in Nextcloud toolbar after being enabled.
2026-02-13 18:28:34 +00:00