sankalp
39f92f06dd
chore: update dependencies in pyproject.toml and docker-entrypoint.sh
2026-07-12 02:29:39 +05:45
sankalp
1e3a1b23e5
feat(src): add db_index to Role.name, SiteBranding.is_active, and ProjectNote.created_at
...
Add db_index to these fields to speed up common filter and ordering queries.
2026-06-30 10:42:45 +05:45
sankalp
554686af41
feat(src/dashboard): optimize ORM query and dependency listings
...
Add select_related optimizations and sync dependency versions across pyproject.toml and requirements.txt
2026-06-30 10:42:28 +05:45
sankalp
72f0474f45
feat(src/tickets): add database indexes for performance
...
Improve query speed on Ticket, TicketComment, and TicketPriority by indexing fields used in frequent filters and ordering.
2026-06-30 10:42:10 +05:45
sankalp
fb0aab3da9
feat(src/projects): add indexes on Project.name and Project.created_at
...
Add database indexes for name and created_at fields to speed up filtering and ordering queries.
2026-06-30 10:41:51 +05:45
sankalp
8925c2e02d
feat(src/notifications): add select_related to Ticket queries and index on PushSubscription.user
...
Improve query performance and lookup speed.
2026-06-30 10:41:34 +05:45
sankalp
3b0625a823
feat(templates): add logout link URL, hide in HTMX responses
2026-06-30 10:35:57 +05:45
sankalp
6781a11874
feat(src/tickets): bump version and add dependencies
...
Include new third‑party packages for upcoming features.
2026-06-30 10:35:40 +05:45
sankalp
4b2fa52060
refactor(src/notifications): batch‑fetch reminder logs to avoid per‑user DB queries
...
Reduce DB round‑trips when checking already‑sent deadline reminders, improving performance and simplifying query logic.
2026-06-30 10:35:21 +05:45
sankalp
3e9c06f722
perf(src/dashboard/page_views): add select_related('project') to Ticket queries
2026-06-30 10:35:04 +05:45
sankalp
3ef50ada37
refactor(src/dashboard/board_views): improve ticket creation with atomic transaction and streamlined notification handling
...
Use transaction.atomic for safety and simplify notification creation while preserving existing functionality
2026-06-30 10:34:46 +05:45
sankalp
b970470237
feat(src): implement Web Push notifications infrastructure including VAPID key management, subscription endpoints, and push notification dispatch
...
Added context processor, management command, and supporting models/views to enable Web Push notifications and VAPID key generation.
2026-06-30 10:23:14 +05:45
sankalp
f5ec721cb2
feat(config): add VAPID settings for Web Push
...
Configure VAPID keys and claims to securely enable web push notifications.
2026-06-30 10:22:56 +05:45
sankalp
3ed5083551
feat(templates/components): add push notification handling to service worker
...
Add support for receiving push notifications, parsing JSON payload, displaying notifications with title, body, icon, badge and handling click actions to focus or open the associated URL, improving user experience with timely interactive alerts
2026-06-30 10:22:39 +05:45
sankalp
22826fe78b
feat(templates): add push notification prompt UI and JS logic
...
Enable real-time user notifications to improve engagement and ensure timely updates.
2026-06-30 10:22:21 +05:45
sankalp
612a3dd151
feat(push): add browser push notifications via Web Push API
...
Enable user opt‑in for real‑time ticket updates without third‑party services.
2026-06-30 10:22:04 +05:45
sankalp
ee5338e71c
style(src/dashboard/page_views): reformat render calls
...
Make render invocations consistently formatted across files
2026-06-29 08:05:10 +05:45
sankalp
4f9be30a2a
refactor(templates): reorganize template hierarchy and update includes
...
reorganize templates into pages/ and modals/ directories for better structure
update includes to reference new paths, maintaining functionality
2026-06-29 08:01:22 +05:45
sankalp
354b8b2cf8
refactor(src/dashboard): restructure template paths under pages/
...
Group related templates into subfolders to improve maintainability
2026-06-29 08:01:01 +05:45
sankalp
9da2e2ee03
feat(templates/users): reorganize user templates into pages subdirectory
...
Refactor template layout to group related pages, improving project structure and clarity.
2026-06-29 08:00:44 +05:45
sankalp
e1f1d4a4fc
feat(templates/tickets): rename pages and add create ticket modal
...
Refactor page templates into pages/ and introduce a create modal for ticket creation
2026-06-29 08:00:27 +05:45
sankalp
1a228cbd70
refactor(settings): reorganize UI template hierarchy
...
Move ui.html into pages subdirectory to improve organization and align with future UI components.
2026-06-29 08:00:10 +05:45
sankalp
25554feac5
feat(page_views): add automation rule management UI
...
Add support for creating, toggling and deleting automation rules to streamline workflow and reduce manual effort
2026-06-29 07:50:27 +05:45
sankalp
2f1df8ab03
feat(templates/projects): add automation UI and modal for board automation rules
...
Enable management of automation rules with UI buttons, modal, and status condition handling
2026-06-29 07:50:09 +05:45
sankalp
84cb41790c
feat(src/tickets): assign request user as ticket updater
...
Ensure audit trail of status changes by recording requesting user.
2026-06-29 07:49:51 +05:45
sankalp
a6e482691c
feat(automation): add automation rule handling for ticket status changes
...
Prevents brute‑force attacks by enabling server‑side automation on ticket status changes.
2026-06-29 07:49:34 +05:45
sankalp
5e77c3be61
feat(config): add automation rule routes
...
Add URL routes for board automation actions to enable rule management via API.
2026-06-29 07:49:16 +05:45
sankalp
4d78b7b31b
feat(root): improve role‑based permissions and user management documentation
...
Clarify dynamic custom role CRUD and system roles (superadmin, manager) with per‑project, per‑status move permissions
2026-06-29 07:24:12 +05:45
sankalp
d30cfd61c3
fix(src/tickets): wrap move ticket view in atomic transaction with select_for_update
...
Ensures data integrity and prevents race conditions when moving tickets.
2026-06-29 07:20:47 +05:45
sankalp
0497b7e68d
refactor(src/projects): cache role names in role_display_name
...
Prevent repeated DB hits by caching Role objects and names.
2026-06-29 07:20:29 +05:45
sankalp
9070bf3015
feat(src/dashboard/views): annotate ticket metrics
...
Introduce aggregated ticket counts to eliminate redundant queries and boost performance.
2026-06-29 07:20:11 +05:45
sankalp
e3551a822c
refactor(src/dashboard): enhance DB query efficiency and pagination stability
...
Prevent N+1 queries, streamline aggregation, and fix role deletion count
2026-06-29 07:19:53 +05:45
sankalp
1bdb254e94
feat(src/dashboard/board_views): add atomic transaction and select_for_update to move_ticket view
...
Ensure consistent status updates and prevent race conditions when moving tickets
2026-06-29 07:19:35 +05:45
sankalp
7431c8f050
refactor(templates): use role_display_name and improve role/admin clarity
...
Clarify role display names, refine admin role labeling, and update confirmation messages for better UX.
2026-06-29 06:57:52 +05:45
sankalp
80c05d8fc7
refactor(src): replace role CharField with Role FK and centralize role management
...
Centralize role definitions to support dynamic roles and enforce role existence at DB level
2026-06-29 06:57:35 +05:45
sankalp
574d93ece5
feat(roles): introduce Role CRUD and replace hardcoded role strings with model
...
Centralize role management and switch to is_admin for admin checks.
2026-06-29 06:57:17 +05:45
sankalp
b7d43b57f4
feat(templates/users): adopt role objects for branding and selection
...
Replace role name comparisons with slug checks and display role.name to support dynamic role definitions.
2026-06-29 06:56:55 +05:45
sankalp
128866bda2
feat(config): add roles CRUD dashboard URL patterns
...
Add dashboard URL patterns for role management to prepare for upcoming admin role CRUD UI.
2026-06-29 06:56:36 +05:45
sankalp
4c1ebbf357
feat(templates/projects/partials): replace hard-coded status completion check with configurable allowed_move_to_status_ids
...
Prevents brute-force attacks by only allowing moves to statuses explicitly permitted.
2026-06-28 19:35:54 +05:45
sankalp
ce0c1349ca
feat(templates/projects): add permissions modal and restricted mode logic
...
Implement permission configuration UI and enforce restricted movement rules
2026-06-28 19:35:30 +05:45
sankalp
7600b7b773
fix(src/tickets): adjust permission check for moving tickets to use user_can_move_to_status
...
Clarify error message and strengthen security validation
2026-06-28 19:35:03 +05:45
sankalp
eef68868d1
feat(src/dashboard/page_views): add board permissions management UI
...
Introduce views for creating, editing and deleting board role permissions and expose permission data in the project detail context.
2026-06-28 19:34:38 +05:45
sankalp
a6bdf22912
feat(src/dashboard/board_views): add admin role check and permission handling
...
Replace hard-coded admin checks with granular permission checks using BoardRolePermission
Expose allowed move status IDs to front‑end and unify permission logic across views
2026-06-28 19:34:15 +05:45
sankalp
5d6b3a6220
feat(src/projects): add authorized move-to-status logic and permission model
...
Allow fine‑grained control over which statuses a role can move tickets to and store permissions centrally.
2026-06-28 19:32:14 +05:45
sankalp
fbb1ee7c95
feat(config): add board permissions and delete permission endpoints
...
Expose permission management views under project-specific URL paths, requiring authentication
2026-06-28 19:31:49 +05:45
sankalp
6a343efc0a
refactor(src): replace hardcoded role checks with is_admin attribute
...
Simplify permission logic by using the unified `is_admin` flag instead of duplicated role list checks.
2026-06-28 19:16:54 +05:45
sankalp
5db8cfc63e
feat(templates/users): default new user role to backend_developer
...
Switch default role from 'member' to 'backend_developer' in forms, list, and modals, ensuring consistency across templates. Also update role label rendering to use get_role_display fallback.
2026-06-28 19:16:22 +05:45
sankalp
9cd3026785
feat(templates/tickets): replace role checks with is_admin for admin UI
...
Replaces `role != 'member'` checks with `is_admin` to correctly target admin users and simplify conditional rendering.
2026-06-28 19:16:02 +05:45
sankalp
457fc76f9d
feat(templates/projects): add manage statuses button and restricted mode UI
...
Provides admin UI to manage statuses and prevents moving tickets to completed statuses
2026-06-28 19:15:35 +05:45
sankalp
04a7965a2a
fix(src/tickets): prevent moving tickets to completed status without admin rights
...
Non-admin users cannot move tickets to completed statuses to avoid accidental closure.
2026-06-28 19:15:10 +05:45