17981fdf82
test: harden champion/manager spec against post-login session timing
...
Build and Push Docker Image / build (push) Successful in 23s
ensureAuth() probes an auth-required endpoint after each login() and re-logs-in
if the session hasn't settled (occasionally needed under slowMo after rapid
role swaps). Also observes the HTTP status of every second-pass POST so any
auth bounce is visible. App logic unchanged (verified via the test client).
2026-06-14 15:37:54 +03:00
ef53f69833
test: champion/manager workflow E2E + fix investigation bugs
...
Build and Push Docker Image / build (push) Successful in 2m7s
Adds headed Playwright coverage for the full send-to-department lifecycle
(PX send -> champion investigates -> manager approves/rejects -> PX accepts ->
resolve), including the token investigation sub-flow and both reject loops.
Bugs fixed (found by the new test):
- champion_start_investigation: NameError - InvestigationAnswer not imported
(complaints/views.py) -> the "create questions" POST was 500ing
- champion_start_investigation: staff_member.phone_number -> Staff.phone
(would have AttributeError'd once the import was fixed)
Harness:
- create_e2e_isolated_env: bind dept-manager as department.manager + create
e2e-staff Staff profile in the champion's department
- seed_e2e_complaint, get_e2e_workflow_state CLI helpers for setup/assertions
- champion-manager-workflow.spec.ts (flows A/B/C1/C2)
Report: appended "Champion/Manager Workflow Audit" section.
2026-06-14 15:23:14 +03:00
7369d08012
feat: unified reference numbers + feedback modules QA audit
...
Build and Push Docker Image / build (push) Successful in 4m14s
Reference numbers (unified scheme PREFIX-YYYYMM-HOSP-NNNN, e.g. CMP-202606-HHN-0001):
- new ReferenceSequence model + generate_reference() helper (apps/core)
- Complaint/Inquiry/Observation/Appreciation/Suggestion emit unified refs via save()
- prefix-based auto-routing in public track API (CMP/INQ/OBS trackable; APR/SGT internal-only)
- removed legacy CMP-/INQ- generators in ui_views, integrations, px_sources
- migrations: core.0003_referencesequence, appreciation.0006, feedback.0008, observations.0012
- unit tests (format, sanitization, monthly reset, 40-thread concurrency)
QA audit:
- isolated E2E hospital sandbox mirroring HH-N + 10 role users (create_e2e_isolated_env)
- feedback-modules-audit.spec.ts + audit helper (headed, run-to-completion)
- reports/feedback-modules-qa-report.md
Also bundles accumulated in-progress work across complaints, observations,
organizations, templates, and other modules.
2026-06-14 14:29:23 +03:00
7dae32d206
fix: replace pytz with zoneinfo, fix predictive insights list/dict bug
Build and Push Docker Image / build (push) Successful in 2m15s
2026-05-12 01:32:41 +03:00
76b514d521
update on login page
Build and Push Docker Image / build (push) Successful in 2m6s
2026-05-12 00:51:14 +03:00
4a139a0fa3
update login page
Build and Push Docker Image / build (push) Successful in 2m1s
2026-05-12 00:40:09 +03:00
b5335bc9bc
fix: add Node.js CSS build step to Dockerfile, fix Caddyfile for local testing
Build and Push Docker Image / build (push) Successful in 2m11s
2026-05-12 00:27:35 +03:00
b2209ae458
update allowed hosts
Build and Push Docker Image / build (push) Successful in 1m12s
2026-05-12 00:05:53 +03:00
35c725d276
fix: add appuser home dir in Dockerfile, allow localhost in ALLOWED_HOSTS for healthcheck
2026-05-12 00:03:06 +03:00
fd19216b0d
track migrations in git, regenerate fresh initial migrations, add staging-test compose, fix .gitignore
Build and Push Docker Image / build (push) Successful in 1m5s
2026-05-11 23:34:39 +03:00
4c93105260
updates gitea build file
Build and Push Docker Image / build (push) Successful in 3m12s
2026-05-11 15:59:49 +03:00
6dd7d47ba2
updates gitea build file
Build and Push Docker Image / build (push) Failing after 2m42s
2026-05-11 15:50:21 +03:00
08f9c24d39
updates gitea build file
Build and Push Docker Image / build (push) Failing after 2m38s
2026-05-11 15:40:03 +03:00
ad90824f24
updates gitea build file
Build and Push Docker Image / build (push) Failing after 23s
2026-05-11 14:53:18 +03:00
54108e2bab
updates gitea build file
Build and Push Docker Image / build (push) Has been cancelled
2026-05-11 14:49:39 +03:00
c5f76b3855
updates
Build and Push Docker Image / build (push) Waiting to run
2026-05-11 14:45:30 +03:00
09933e1a69
update config
Build and Push Docker Image / build (push) Failing after 33s
2026-04-19 14:10:17 +03:00
571231b164
update secret
Build and Push Docker Image / build (push) Failing after 4m12s
2026-04-19 13:54:02 +03:00
43ef57f1b6
Merge pull request 'Add CI pipeline for Docker image builds' ( #5 ) from staging into main
...
Build and Push Docker Image / build (push) Failing after 20s
Reviewed-on: #5
2026-04-19 13:48:05 +03:00
946c31cf34
Add CI pipeline for Docker image builds
Build and Push Docker Image / build (push) Failing after 21s
2026-04-19 13:34:40 +03:00
f219effc33
Add CI pipeline for Docker image builds
Build and Push Docker Image / build (push) Failing after 5s
2026-04-19 11:36:40 +03:00
e119312a9c
clean up version
2026-04-19 10:53:12 +03:00
bcb9c86541
pre dep
2026-04-09 13:46:34 +03:00
177a7e0f5f
updates
2026-04-08 17:13:35 +03:00
23d439f5a5
fix: harden multi-tenant data isolation across 8 modules
...
Pre-production security fixes to prevent cross-hospital data leaks:
- Standards API: add get_queryset() filtering by department__hospital
- Reports service: add user param with hospital filtering to all querysets
- RCA views: replace is_superuser with tenant_hospital pattern, add access
checks to all 11 mutation views
- Notifications views: replace is_superuser patterns with _get_notification_hospital
helper across all 5 settings functions
- Appreciation API: add tenant_hospital fallback to AppreciationViewSet,
AppreciationStatsViewSet, and LeaderboardView
- AI Analytics: add tenant_hospital fallback in ExecutiveSummaryGenerator and
ActionRecommendationEngine
- SourceUserRestrictionMiddleware: remove None from ALLOWED_URL_NAMES
- Complaint export: fix nullable patient/due_at/description crashes in CSV
and Excel export, fix invalid get_category_display/get_source_display calls
E2E test updates:
- Update isolation gap tests to actively assert hospital filtering
- Fix CSV export test to use API context for download handling
- Switch clinical-staff tests to serial mode to prevent race conditions
2026-04-07 01:23:10 +03:00
6b51b0870d
More updates
2026-03-28 14:03:56 +03:00
Marwan Alwali
69c3fdbb95
images
2026-03-25 10:15:01 +03:00
Marwan Alwali
3c2593de78
Merge remote-tracking branch 'origin/main'
...
# Conflicts:
# data.json
2026-03-16 02:12:48 +03:00
0fc06151eb
data
2026-03-15 23:48:45 +03:00
Marwan Alwali
a63a25da92
update
2026-03-13 18:43:51 +03:00
1091dcdfde
Fix remaining syntax errors in physicians/ui_views.py - remove orphaned lines
2026-03-11 01:37:32 +03:00
ba63f8f1c6
Fix orphaned lines and undefined variables in physicians ui_views.py
2026-03-11 01:33:11 +03:00
3b9468748c
Fix syntax errors in forms.py files
2026-03-11 01:26:19 +03:00
da0ca4ee19
Fix hospital fields in forms - Add HospitalFieldMixin and update templates
...
PHASE 1: Add HospitalFieldMixin to forms without it
- apps/complaints/forms.py: SLAConfigForm, EscalationRuleForm
- apps/feedback/forms.py: FeedbackForm
- apps/rca/forms.py: RootCauseAnalysisForm
PHASE 2: Update templates to conditionally hide hospital field labels
- templates/complaints/complaint_form.html
- templates/complaints/inquiry_form.html
- templates/complaints/complaint_threshold_form.html
- templates/complaints/escalation_rule_form.html
- templates/feedback/feedback_form.html
PHASE 3: Remove redundant manual hospital filtering code
- Removed manual __init__ hospital logic from forms now using mixin
Behavior:
- PX Admin: Sees hospital dropdown (can select any hospital)
- Hospital Admin/Staff: Hospital field hidden, auto-set to their hospital
- Cleaner code: Mixin handles all role-based filtering automatically
2026-03-11 01:19:41 +03:00
b57ce661bb
Clean up redundant hospital filtering in views
...
Removed ~300 lines of redundant hospital filtering code from views.
Templates no longer use hospital dropdowns, so views don't need to:
- Query Hospital.objects.filter()
- Apply RBAC filtering to hospitals queryset
- Pass hospitals to context
The middleware (TenantMiddleware) already handles hospital filtering
via request.tenant_hospital for all users.
Files cleaned:
- apps/surveys/ui_views.py
- apps/callcenter/ui_views.py
- apps/complaints/ui_views.py
- apps/analytics/ui_views.py
- apps/physicians/ui_views.py
- apps/projects/ui_views.py
- apps/feedback/views.py
- apps/dashboard/views.py
- apps/journeys/ui_views.py
- apps/appreciation/ui_views.py
2026-03-11 00:49:42 +03:00
c16e410fdd
Remove hospital dropdowns from templates and fix JavaScript dependencies
2026-03-11 00:17:53 +03:00
Marwan Alwali
b383991053
Merge remote-tracking branch 'origin/main'
...
# Conflicts:
# apps/dashboard/views.py
# config/celery.py
2026-03-10 19:42:39 +03:00
01fa26c59a
updates
2026-03-09 16:10:24 +03:00
Marwan Alwali
bda6af64a5
update-language-button
2026-02-25 21:52:18 +03:00
Marwan Alwali
fa966a3574
Merge remote-tracking branch 'origin/main'
2026-02-25 21:20:10 +03:00
60839790e8
update
2026-02-25 08:27:21 +03:00
ceae6c5009
update
2026-02-25 08:24:43 +03:00
d787d41bc9
export
2026-02-25 08:15:25 +03:00
b3d9bd17cb
more changes
2026-02-25 04:47:05 +03:00
Marwan Alwali
cce11c0f62
Merge remote-tracking branch 'origin/main'
...
# Conflicts:
# PX360/settings.py
# config/settings/base.py
# templates/layouts/partials/sidebar.html
2026-02-22 10:14:03 +03:00
bdba45fa47
Upload files to "/"
2026-02-22 09:18:20 +03:00
d07cb052f3
update
2026-02-22 09:09:49 +03:00
39b1dcb8c0
lots of updates
2026-02-22 08:35:53 +03:00
Marwan Alwali
b23526b353
update-translation
2026-02-17 10:59:57 +03:00
Marwan Alwali
35c076a030
Merge remote-tracking branch 'origin/main'
2026-02-12 21:40:22 +03:00