Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions packages/backend/src/test/paper.service.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ describe('createPaperData', () => {
answer: 'TestAnswer',
question: 'TestQuestion',
hint: 'TestHint',
comments: [],
},
],
feedbackTrainee: [],
Expand Down
59 changes: 58 additions & 1 deletion packages/frontend/src/graphql/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -1314,7 +1314,7 @@ export type OnboardingPageDataQuery = { __typename?: 'Query', currentUser?: { __
export type FeedbackDiscussionPageDataQueryVariables = Exact<{ [key: string]: never; }>;


export type FeedbackDiscussionPageDataQuery = { __typename?: 'Query', currentUser?: { __typename?: 'Admin', id: string, firstName: string, lastName: string } | { __typename?: 'Mentor', id: string, firstName: string, lastName: string, papers?: Array<{ __typename?: 'Paper', id: string, traineeId: string, trainerId: string, client: string, mentorId: string, periodStart?: string | undefined, periodEnd?: string | undefined, schoolPeriodStart?: string | undefined, schoolPeriodEnd?: string | undefined, subject: string, status: PaperStatus, briefing: Array<{ __typename?: 'PaperFormData', id: string, questionId: string, question: string, answer?: string | undefined, hint?: string | undefined, comments: Array<{ __typename?: 'PaperComment', text: string, lastName: string, firstName: string, userId: string, published: boolean }> }>, feedbackTrainee: Array<{ __typename?: 'PaperFormData', id: string, questionId: string, question: string, answer?: string | undefined, hint?: string | undefined, comments: Array<{ __typename?: 'PaperComment', text: string, userId: string, lastName: string, firstName: string, published: boolean }> }>, feedbackMentor: Array<{ __typename?: 'PaperFormData', id: string, questionId: string, question: string, answer?: string | undefined, hint?: string | undefined, comments: Array<{ __typename?: 'PaperComment', text: string, userId: string, lastName: string, firstName: string, published: boolean }> }> } | undefined> | undefined } | { __typename?: 'Trainee', id: string, firstName: string, lastName: string, papers?: Array<{ __typename?: 'Paper', id: string, traineeId: string, trainerId: string, client: string, mentorId: string, periodStart?: string | undefined, periodEnd?: string | undefined, schoolPeriodStart?: string | undefined, schoolPeriodEnd?: string | undefined, subject: string, status: PaperStatus, briefing: Array<{ __typename?: 'PaperFormData', id: string, questionId: string, question: string, answer?: string | undefined, hint?: string | undefined, comments: Array<{ __typename?: 'PaperComment', text: string, userId: string, lastName: string, firstName: string, published: boolean }> }>, feedbackTrainee: Array<{ __typename?: 'PaperFormData', id: string, questionId: string, question: string, answer?: string | undefined, hint?: string | undefined, comments: Array<{ __typename?: 'PaperComment', text: string, userId: string, lastName: string, firstName: string, published: boolean }> }>, feedbackMentor: Array<{ __typename?: 'PaperFormData', id: string, questionId: string, question: string, answer?: string | undefined, hint?: string | undefined, comments: Array<{ __typename?: 'PaperComment', text: string, userId: string, lastName: string, firstName: string, published: boolean }> }> } | undefined> | undefined } | { __typename?: 'Trainer', id: string, firstName: string, lastName: string } | undefined };
export type FeedbackDiscussionPageDataQuery = { __typename?: 'Query', currentUser?: { __typename?: 'Admin', id: string, firstName: string, lastName: string } | { __typename?: 'Mentor', id: string, firstName: string, lastName: string, papers?: Array<{ __typename?: 'Paper', id: string, traineeId: string, trainerId: string, client: string, mentorId: string, periodStart?: string | undefined, periodEnd?: string | undefined, schoolPeriodStart?: string | undefined, schoolPeriodEnd?: string | undefined, subject: string, status: PaperStatus, briefing: Array<{ __typename?: 'PaperFormData', id: string, questionId: string, question: string, answer?: string | undefined, hint?: string | undefined, comments: Array<{ __typename?: 'PaperComment', text: string, lastName: string, firstName: string, userId: string, published: boolean }> }>, feedbackTrainee: Array<{ __typename?: 'PaperFormData', id: string, questionId: string, question: string, answer?: string | undefined, hint?: string | undefined, comments: Array<{ __typename?: 'PaperComment', text: string, userId: string, lastName: string, firstName: string, published: boolean }> }>, feedbackMentor: Array<{ __typename?: 'PaperFormData', id: string, questionId: string, question: string, answer?: string | undefined, hint?: string | undefined, comments: Array<{ __typename?: 'PaperComment', text: string, userId: string, lastName: string, firstName: string, published: boolean }> }> } | undefined> | undefined } | { __typename?: 'Trainee', id: string, firstName: string, lastName: string, papers?: Array<{ __typename?: 'Paper', id: string, traineeId: string, trainerId: string, client: string, mentorId: string, periodStart?: string | undefined, periodEnd?: string | undefined, schoolPeriodStart?: string | undefined, schoolPeriodEnd?: string | undefined, subject: string, status: PaperStatus, briefing: Array<{ __typename?: 'PaperFormData', id: string, questionId: string, question: string, answer?: string | undefined, hint?: string | undefined, comments: Array<{ __typename?: 'PaperComment', text: string, userId: string, lastName: string, firstName: string, published: boolean }> }>, feedbackTrainee: Array<{ __typename?: 'PaperFormData', id: string, questionId: string, question: string, answer?: string | undefined, hint?: string | undefined, comments: Array<{ __typename?: 'PaperComment', text: string, userId: string, lastName: string, firstName: string, published: boolean }> }>, feedbackMentor: Array<{ __typename?: 'PaperFormData', id: string, questionId: string, question: string, answer?: string | undefined, hint?: string | undefined, comments: Array<{ __typename?: 'PaperComment', text: string, userId: string, lastName: string, firstName: string, published: boolean }> }> } | undefined> | undefined } | { __typename?: 'Trainer', id: string, firstName: string, lastName: string, papers?: Array<{ __typename?: 'Paper', id: string, traineeId: string, trainerId: string, client: string, mentorId: string, periodStart?: string | undefined, periodEnd?: string | undefined, schoolPeriodStart?: string | undefined, schoolPeriodEnd?: string | undefined, subject: string, status: PaperStatus, briefing: Array<{ __typename?: 'PaperFormData', id: string, questionId: string, question: string, answer?: string | undefined, hint?: string | undefined, comments: Array<{ __typename?: 'PaperComment', text: string, userId: string, lastName: string, firstName: string, published: boolean }> }>, feedbackTrainee: Array<{ __typename?: 'PaperFormData', id: string, questionId: string, question: string, answer?: string | undefined, hint?: string | undefined, comments: Array<{ __typename?: 'PaperComment', text: string, userId: string, lastName: string, firstName: string, published: boolean }> }>, feedbackMentor: Array<{ __typename?: 'PaperFormData', id: string, questionId: string, question: string, answer?: string | undefined, hint?: string | undefined, comments: Array<{ __typename?: 'PaperComment', text: string, userId: string, lastName: string, firstName: string, published: boolean }> }> } | undefined> | undefined } | undefined };

export type PrintDataQueryVariables = Exact<{
ids: Array<Scalars['ID']['input']> | Scalars['ID']['input'];
Expand Down Expand Up @@ -3086,6 +3086,63 @@ export const FeedbackDiscussionPageDataDocument = gql`
}
}
}
... on Trainer {
papers {
id
traineeId
trainerId
client
mentorId
periodStart
periodEnd
schoolPeriodStart
schoolPeriodEnd
subject
status
briefing {
id
questionId
question
answer
hint
comments {
text
userId
lastName
firstName
published
}
}
feedbackTrainee {
id
questionId
question
answer
hint
comments {
text
userId
lastName
firstName
published
}
}
feedbackMentor {
id
questionId
question
answer
hint
comments {
text
userId
lastName
firstName
published
}
}
}
}
}
}
`;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,5 +117,62 @@ query FeedbackDiscussionPageData {
}
}
}
... on Trainer {
papers {
id
traineeId
trainerId
client
mentorId
periodStart
periodEnd
schoolPeriodStart
schoolPeriodEnd
subject
status
briefing {
id
questionId
question
answer
hint
comments {
text
userId
lastName
firstName
published
}
}
feedbackTrainee {
id
questionId
question
answer
hint
comments {
text
userId
lastName
firstName
published
}
}
feedbackMentor {
id
questionId
question
answer
hint
comments {
text
userId
lastName
firstName
published
}
}
}
}
}
}
1 change: 1 addition & 0 deletions packages/frontend/src/locales/de.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ const germanTranslation: Translation = {
save: 'Speichern',
edit: 'Bearbeiten',
done: 'Fertig',
comment: 'Kommentiere',
markDelete: 'für Löschung markieren',
unmarkDelete: 'Löschmarkierung aufheben',
deleteAt: 'Löschen nach',
Expand Down
1 change: 1 addition & 0 deletions packages/frontend/src/locales/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ const englishTranslation: Translation = {
cancel: 'Cancel',
edit: 'edit',
done: 'done',
comment: 'Comment',
markDelete: 'mark for deletion',
unmarkDelete: 'remove deletion mark',
deleteAt: 'delete at',
Expand Down
1 change: 1 addition & 0 deletions packages/frontend/src/locales/translation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ export default interface Translation {
cancel: string
edit: string
done: string
comment: string
markDelete: string
unmarkDelete: string
deleteAt: string
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,9 @@ export const PaperFeedbackDiscussionPage: React.FC = () => {
const data = useFeedbackDiscussionPageDataQuery()

const currentUser =
data.data?.currentUser?.__typename === 'Mentor' || data.data?.currentUser?.__typename === 'Trainee'
data.data?.currentUser?.__typename === 'Mentor' ||
data.data?.currentUser?.__typename === 'Trainee' ||
data.data?.currentUser?.__typename === 'Trainer'
? data.data.currentUser
: undefined

Expand All @@ -82,10 +84,6 @@ export const PaperFeedbackDiscussionPage: React.FC = () => {

const [updatePaper] = useUpdatePaperMutation()

console.log('current user: ', currentUser)
console.log('paper: ', paper)
console.log('papers: ', papers)

if (!paper || !currentUser) {
return (
<Template type="Main">
Expand Down
14 changes: 12 additions & 2 deletions packages/frontend/src/pages/trainer-paper-page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,10 @@ export const TrainerPaperPage: React.FC = () => {
navigate('/paper/briefing/' + paperId)
}

const navigateToPaperDiscussionPage = (paperId: string) => {
navigate('/paper/feedback/discussion/' + paperId)
}

return (
<Template type="Main">
{loading && <Loader />}
Expand Down Expand Up @@ -149,7 +153,7 @@ export const TrainerPaperPage: React.FC = () => {
</Box>
<Box width={3 / 5}>
<Flex flexDirection={'row'} alignItems={'center'}>
{paper?.status === PaperStatus.TraineeDone ? (
{[PaperStatus.MentorDone].includes(paper?.status) ? (
<StyledIcon name={'CheckMark'} size="24px" color={'successGreen'} />
) : (
<StyledIcon name={'X'} size="24px" color={'errorRed'} />
Expand Down Expand Up @@ -184,12 +188,18 @@ export const TrainerPaperPage: React.FC = () => {
<Spacer y="xl">
<ProgressBar progress={mapStatusToProgess(paper.status)} color={'primaryDefault'} />
</Spacer>
{[PaperStatus.NotStarted, PaperStatus.InProgress].includes(paper?.status) && (
{[PaperStatus.NotStarted].includes(paper?.status) ? (
<Flex justifyContent={'flex-end'}>
<PrimaryButton onClick={() => navigateToEditPaperPage(paper.id)}>
{(paper?.feedbackTrainee?.length ?? 0) > 0 ? strings.edit : strings.start}
</PrimaryButton>
</Flex>
) : (
<Flex justifyContent={'flex-end'}>
<PrimaryButton onClick={() => navigateToPaperDiscussionPage(paper.id)}>
{strings.comment}
</PrimaryButton>
</Flex>
)}
<Modal show={showDeletePaperModal} customClose handleClose={() => toggleDeletePaperModal(undefined)}>
<Flex flexDirection={'row'} alignItems={'center'}>
Expand Down
1 change: 1 addition & 0 deletions packages/frontend/src/routes.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@ const AppRoutes: React.FunctionComponent<RoutesProps> = ({ currentUser }) => {
<Route path="/paper" element={<TrainerPaperPage />} />
<Route path="/paper/createBriefing" element={<PaperCreateBriefingPage />} />
<Route path="/paper/briefing/:paperId" element={<PaperBriefingPage />} />
<Route path="/paper/feedback/discussion/:paperId" element={<PaperFeedbackDiscussionPage />} />
</>
)}
</>
Expand Down