Commit Graph

186 Commits (a077d55d3e7663dddf3a79a870f47faf431ce5fd)

Author SHA1 Message Date
ahmed.mujtaba ee2f0c8ef8 . 2026-08-19 18:46:24 +05:00
ahmed.mujtaba c106aad567 ui cahnges 2026-08-19 18:14:26 +05:00
ahmed.mujtaba 238cb38dc2 Permission and roles are completed 2026-08-18 15:20:30 +05:00
ahmed.mujtaba 04455c4a3b . 2026-08-18 14:48:05 +05:00
ahmed.mujtaba 27b5bc94c4 Merge branch 'Talha' of https://git.utopiadeals.com/utopia-ai/HR-ATS-Portal into Vibe-Coding 2026-08-18 12:47:25 +05:00
ahmed.mujtaba 64eae32259 . 2026-08-17 20:37:30 +05:00
Talha Ahmed dfb565cd63 fix ats issue 2026-08-17 19:40:24 +05:00
ahmed.mujtaba f7778538dd push the scoring connect 2026-08-17 14:31:30 +05:00
ahmed.mujtaba a1f0b4797a Merge branch 'RecruiterHub' of https://git.utopiadeals.com/utopia-ai/HR-ATS-Portal into RecruiterHub 2026-08-13 19:25:45 +05:00
ahmed.mujtaba 786c159ff6 candidatye page 2026-08-13 19:25:42 +05:00
ahmed.mujtaba 4297badb43 insiode data ai match wired 2026-08-13 18:51:07 +05:00
ahmed.mujtaba 4cb1961373 Merge branch 'main' into RecruiterHub 2026-08-13 13:37:27 +00:00
ahmed.mujtaba 664b33b94b /ppelline completde 2026-08-13 18:34:52 +05:00
ahmed.mujtaba c1e44356e9 . 2026-08-13 18:21:35 +05:00
Talha Ahmed 6eefaa2fad Tasks: recruiter-only assignees, role-gated creation, assignees API
- Assignees restricted to recruiter-role users (role id resolved from the
  roles table per request, not hardcoded); server 422s any other role on
  create and update
- New GET /tasks/assignees/fetch: active recruiter users for the picker,
  separate from /users/fetch so assigning never needs rbac_users.view
- Creation gated to system_administrator / hr_administrator / recruiter:
  allowed role ids searched from the DB and compared to the callers
  role_id, on top of the tasks.create permission tag
- manual/005_tasks_rbac_restrict.sql: permission DB follows suit -
  hiring_manager / department_head / ceo swap tasks_management for a
  view-only tasks_viewer bundle (idempotent, auto-applies at boot)
- UI: assignee dropdown lists recruiters from the new endpoint with
  required-field validation; recruiters get an assign-to-me default; the
  New Task button honours the creator roles

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-13 17:54:50 +05:00
ahmed.mujtaba 0899342c34 listy of pipeline done 2026-08-13 17:25:50 +05:00
Talha Ahmed b3483d9a6e Tasks domain: real backend + live screen with DB users/roles as assignees
- New backend/tasks/ package (offer/ house style): tasks table
  (title/status/priority/due_date/assignee_id -> users.id, optional
  inbox_id/job_post_id links, soft delete), routes /tasks/fetch|create|
  update|delete guarded by new tasks.* permission tags
- Assignees validated against users+roles: must exist, not deleted, not
  candidate-role; omitted assignee defaults to the caller; responses carry
  assignee_name/assignee_role from one batched join
- TASKS permission module (104 -> 112 tags); manual/004_tasks_rbac.sql
  seeds the tags + tasks_management bundle onto 6 staff roles (auto-applies
  at startup)
- Tasks.jsx cut over from seed to live: real create/complete/reopen with
  optimistic flip, two-click delete in the detail modal, assignee picker
  listing real users with roles; live sidebar badge (open-task total);
  route now requires tasks.view

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-13 16:27:19 +05:00
ahmed.mujtaba 3b7e83a4a7 pipline code done 2026-08-13 13:13:19 +05:00
ahmed.mujtaba 1491931d95 Merge branch 'Talha' of https://git.utopiadeals.com/utopia-ai/HR-ATS-Portal into RecruiterHub 2026-08-13 13:01:22 +05:00
Talha Ahmed 5c0eaef86d ATS scores land on inbox tables + ats_results history; manual SQL auto-applies on boot
- inbox_messages.ats_score/ats_band written on every completed inbox score;
  inbox.ats_id always points at the current ats_results row
- ats_results now holds the supersede-chained history for BOTH inbox and
  upload scores (new candidate_id link, inbox_id nullable for uploads)
- migrations/manual/*.sql apply automatically at startup, tracked once per
  database in manual_migrations - developers just pull and boot
- 002_backfill_inbox_ats.sql backfills pre-existing scores
- Add Candidate modal: Matching-style role picker above the CV dropzone,
  and the CV is scored via /candidate/score after creation

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-12 20:44:46 +05:00
ahmed.mujtaba 6463b7f377 add job create 2026-08-12 20:04:45 +05:00
ahmed.mujtaba 7ded865ceb /jobs page done 2026-08-12 19:47:03 +05:00
ahmed.mujtaba 63a8c59417 . 2026-08-12 18:52:40 +05:00
ahmed.mujtaba 84daea9efe /candidates completed with manual upload 2026-08-12 13:33:35 +05:00
ahmed.mujtaba 38249cc6f2 job_matching assignment by recruiter added 2026-08-11 19:01:24 +05:00
ahmed.mujtaba a81107cb96 frontend integrated 2026-08-11 18:19:30 +05:00
ahmed.mujtaba 54c39946d3 /talentpool integatrted 2026-08-11 13:43:21 +05:00
ahmed.mujtaba 36be406f92 WIRED WITH FRONTEND 2026-08-07 20:49:00 +05:00
ahmed.mujtaba 4bd02cefb0 email response handled 2026-08-07 20:16:54 +05:00
ahmed.mujtaba 40e40a3864 isRead working 2026-08-07 19:58:53 +05:00
ahmed.mujtaba 3ae716a8c4 frontend all aplications 2026-08-07 19:17:16 +05:00
ahmed.mujtaba 52b76bb1cf added all aplicants 2026-08-07 19:03:23 +05:00
ahmed.mujtaba 8b4ebb1bb8 Background saving terminated 2026-08-07 18:26:37 +05:00
ahmed.mujtaba 3991bd60a3 Candidate 2026-08-05 18:25:34 +05:00
ahmed.mujtaba cfaeb62466 REACTJS STACK WITH RBAC TESTED 2026-08-05 17:41:46 +05:00
ahmed.mujtaba 92c06d9335 login confirmation and forget password done 2026-08-04 20:40:42 +05:00