Loading
Loading
Bhagya Nagar, Ongole, Prakasam
Exact reason the button was hidden New properties are created with: status = draft There is no approval_status column. The application uses one lifecycle field: draft → pending_review → approved → published The Approve/Reject/Request Changes controls were rendered only when: p.status === "pending_review" Therefore, a newly created draft does not show approval actions until its owner clicks Submit for review. The admin property listing includes drafts; it filters to pending properties only when ?status=pending_review is supplied. Approval workflow correction The review page now: Explicitly checks properties.read. Explicitly checks properties.manage. Shows Approve, Reject, and Request Changes when status is pending_review and the administrator has management permission. Shows a clear explanation when the property remains a draft. Shows a permission warning for read-only administrators. The API already existed and was correct: Route: POST /api/admin/properties/[id]/status Requires authentication. Requires properties.manage. Calls protected review_property. Approval transitions pending_review → approved. Sets approved_at and approved_by. Reject and request-changes transitions are protected. Invalid transitions are rejected. super_admin receives every permission. property_manager receives both properties.read and properties.manage. Files changed [Admin property review page](/C:/Users/gauta/OneDrive/Documents/Ongole Property/app/admin/properties/[id]/page.tsx) [Approval workflow tests](/C:/Users/gauta/OneDrive/Documents/Ongole Property/tests/property-approval-workflow.test.ts) Migration required None. The existing schema and review_property RPC already model the intended workflow correctly. Do not add approval_status; that would create competing lifecycle states. Test results Lint: passed TypeScript: passed Tests: 46/46 passed Production build: passed git diff --check: passed Production approval endpoint: reachable Unauthenticated production request: correctly returned HTTP 401 End-to-end approval status Authenticated production approval was not executed because the connected production browser has no signed-in administrator session or target property ID. I am not claiming an end-to-end production pass. The production login page remains ready. After signing in: Confirm /api/auth/context includes super_admin or property_manager. Confirm it includes properties.manage. Submit the draft from the owner editor. Confirm its status becomes pending_review. Open its admin details page. Verify Approve, Reject, and Request Changes appear. Approve it and confirm status becomes approved.
The listed area is 2,352 Gadi.
Bhagya Nagar, Ongole, Prakasam, Andhra Pradesh
For privacy, free listings show locality and administrative area only; the exact map is not public.
Bhagyanagar, Ongole
