feat(auth): dev login offers only the two business roles (procurement/project manager)

This commit is contained in:
ali_mohaghegh
2026-08-27 15:04:24 +03:30
parent f30c98adc0
commit 034c05c713
+6 -7
View File
@@ -18,7 +18,7 @@ export function LoginPage() {
// ورود آزمایشی: پروژه‌ها از بک‌اند خوانده می‌شوند // ورود آزمایشی: پروژه‌ها از بک‌اند خوانده می‌شوند
const [projects, setProjects] = useState<Project[]>([]); const [projects, setProjects] = useState<Project[]>([]);
const [devRole, setDevRole] = useState<"pm" | "admin" | "procurement_manager">("pm"); const [devRole, setDevRole] = useState<"pm" | "procurement_manager">("pm");
const [devProjectId, setDevProjectId] = useState(""); const [devProjectId, setDevProjectId] = useState("");
useEffect(() => { useEffect(() => {
@@ -55,8 +55,8 @@ export function LoginPage() {
const devLogin = () => { const devLogin = () => {
setDevUser(devRole, devRole === "pm" ? devProjectId || null : null, devProject?.name || null); setDevUser(devRole, devRole === "pm" ? devProjectId || null : null, devProject?.name || null);
toast.success("ورود آزمایشی انجام شد — نقش: " + (devRole === "pm" ? "مدیر پروژه" : devRole === "procurement_manager" ? "مدیر تدارکات" : "ادمین")); toast.success("ورود آزمایشی انجام شد — نقش: " + (devRole === "pm" ? "مدیر پروژه" : "مدیر تدارکات"));
// مدیر پروژه → پنل انبار؛ مدیر تدارکات/ادمین → دفتر پیشنهادهای خرید // مدیر پروژه → پنل انبار؛ مدیر تدارکات → دفتر پیشنهادهای خرید
navigate(devRole === "pm" ? "/inventory" : "/"); navigate(devRole === "pm" ? "/inventory" : "/");
}; };
@@ -68,7 +68,7 @@ export function LoginPage() {
<h3 className="mb-1 text-[14px] font-bold">ورود با حساب سازمانی</h3> <h3 className="mb-1 text-[14px] font-bold">ورود با حساب سازمانی</h3>
<p className="mb-3 text-[12.5px] leading-6 text-muted"> <p className="mb-3 text-[12.5px] leading-6 text-muted">
برای ورود به سامانه تدارکات و انبار، با حساب سازمانی خود وارد شوید. پس از ورود، نقش شما برای ورود به سامانه تدارکات و انبار، با حساب سازمانی خود وارد شوید. پس از ورود، نقش شما
(مدیر پروژه / مدیر تدارکات / ادمین) مشخص و دسترسی‌ها بر اساس آن فعال می‌شود. (مدیر پروژه / مدیر تدارکات) مشخص و دسترسی‌ها بر اساس آن فعال می‌شود.
</p> </p>
<Button onClick={() => void startCasdoorLogin()}>ورود با Casdoor</Button> <Button onClick={() => void startCasdoorLogin()}>ورود با Casdoor</Button>
</div> </div>
@@ -85,11 +85,10 @@ export function LoginPage() {
<select <select
className="h-9 w-full rounded-lg border border-line bg-panel px-3 text-sm shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/40" className="h-9 w-full rounded-lg border border-line bg-panel px-3 text-sm shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/40"
value={devRole} value={devRole}
onChange={(e) => setDevRole(e.target.value as "pm" | "admin")} onChange={(e) => setDevRole(e.target.value as "pm" | "procurement_manager")}
> >
<option value="pm">مدیر پروژه (PM)</option> <option value="pm">مدیر پروژه</option>
<option value="procurement_manager">مدیر تدارکات</option> <option value="procurement_manager">مدیر تدارکات</option>
<option value="admin">ادمین (فقط‌خواندنی)</option>
</select> </select>
</div> </div>
{devRole === "pm" && ( {devRole === "pm" && (