Two refinements from live testing of the reminder feature:
- Due-time tasks scheduled "due now" and "overdue" at the exact same
moment. Task._due_and_overdue_moments() now delays "overdue" by an
hour so they don't arrive together. The overdue badge/styling
elsewhere is unaffected - only this notification's timing changes.
- Task.reschedule_reminders() only captures user.default_reminder_minutes
at the moment a task's own due_date/due_time is set, so changing the
profile setting didn't reach tasks whose due date was already set.
User.save() now detects a change to that setting and calls the new
User.reschedule_reminder_notifications(), which recomputes the
"before due" reminder on active due tasks that don't have their own
explicit reminder_at override.
8 new/updated tests cover the overdue delay and the retroactive
rescheduling (including that unrelated profile saves and tasks with an
explicit reminder_at are left untouched).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Implement comprehensive email verification and admin approval system for user registration. Users must verify their email before logging in, and admins must approve new users before they can access the system.
Major features:
- Email verification with UUID tokens (24hr expiry, one-time use)
- Admin approval workflow via Django admin interface
- Custom authentication backend enforcing verification and approval
- Password change functionality for authenticated users
- Enhanced profile page with proper styling and theme support
- Collect first name, last name, and timezone during registration
- Profile link added to header navigation
Email notifications:
- Verification email sent after registration
- Admin notification when users need approval
- Approval notification sent to users
Security features:
- Cryptographically secure UUID tokens
- Token expiration and one-time use enforcement
- Email enumeration protection
- Custom JWT token validation for API access
- Existing users auto-approved via data migration
Templates added:
- Email templates (verification, approval, admin notification)
- Web templates (password change, verification pages)
- Enhanced profile page with dark/light mode support
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Features:
- Django-based REST API with web interface
- Task management with tags, priorities, and due dates
- Time tracking with start/stop timers
- Subtasks support
- Task filtering (all, today, upcoming, overdue, completed)
- Tag-based organization with color coding
- Sorting by due date and priority
- Auto-assign tags when filtering
- Responsive 3-pane layout (sidebar, task list, detail panel)
- Task sharing between users
- Mobile-responsive design with dark mode support
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>