Skip to content

Commit ee888fa

Browse files
committed
Fix permissions in CreateIssue.tsx
1 parent fd719e9 commit ee888fa

1 file changed

Lines changed: 18 additions & 2 deletions

File tree

client/src/components/CreateIssue.tsx

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {Badge} from './ui/badge';
1010
import {DatePicker} from './ui/date-picker';
1111
import {useDialog} from '../contexts/DialogContext';
1212
import {useAuth} from '../contexts/AuthContext';
13-
import {projectsApi} from '../services/api';
13+
import {projectsApi, authApi} from '../services/api';
1414
import type {Project, CreatePostData, User as UserType, Post} from '../types';
1515

1616
interface CreateIssueProps {
@@ -40,8 +40,9 @@ export const CreateIssue = ({projects, selectedProject, parentIssue, onSubmit, o
4040
const [isSubmitting, setIsSubmitting] = useState(false);
4141
const [isDragOver, setIsDragOver] = useState(false);
4242
const [projectMembers, setProjectMembers] = useState<UserType[]>([]);
43+
const [userProjectMemberships, setUserProjectMemberships] = useState<number[]>([]);
4344

44-
const canEditManagerFields = user?.is_admin || false;
45+
const canEditManagerFields = user?.is_admin || (projectId && userProjectMemberships.includes(parseInt(projectId)));
4546

4647
useEffect(() => {
4748
if (parentIssue) {
@@ -57,6 +58,21 @@ export const CreateIssue = ({projects, selectedProject, parentIssue, onSubmit, o
5758
}
5859
}, [projectId]);
5960

61+
useEffect(() => {
62+
const loadUserProjectMemberships = async () => {
63+
if (user && !user.is_admin) {
64+
try {
65+
const result = await authApi.getUserProjectMemberships();
66+
setUserProjectMemberships(result.projectIds);
67+
} catch (error) {
68+
console.error('Failed to load user project memberships:', error);
69+
}
70+
}
71+
};
72+
73+
loadUserProjectMemberships();
74+
}, [user]);
75+
6076
const loadProjectMembers = async () => {
6177
try {
6278
const members = await projectsApi.getMembers(parseInt(projectId));

0 commit comments

Comments
 (0)