After successful login, the app tried to redirect to admin.dashboard
or dashboard.list routes that don't exist yet (Phase 5 & 6).
Changes:
- Login now redirects to index page for all users
- Logout redirects to index page instead of submission.form
- Base template navigation shows "Coming in Phase X" messages
instead of broken links to unimplemented routes
- Added TODO comments for future dashboard implementation
This allows login/logout to work properly in MVP (Phase 3) while
dashboard features are pending implementation.
Bug: werkzeug.routing.exceptions.BuildError: Could not build url
for endpoint 'admin.dashboard'
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Flask-Login's UserMixin provides is_active as a read-only property.
Attempting to set it as an instance attribute caused a conflict.
Solution:
- Store active status in private attribute _is_active
- Override is_active property to return custom value
- Update to_dict() to use _is_active
This allows proper Flask-Login integration while maintaining
custom active status tracking.
Bug found during login testing: AttributeError when calling
User.get_by_username() which triggered from_dict() → __init__().
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Add CSRF token hidden input fields to:
- Submission form (submission/form.html)
- Login form (auth/login.html)
Also fix broken link in login page that referenced submission.form
without required product_slug parameter. Changed to link to index page.
Bug found during manual testing when submitting feedback resulted in
"Bad Request - The CSRF token is missing" error.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>