Verified Commit a1216810 authored by Sandro Lutz's avatar Sandro Lutz
Browse files

Add dialog for oral exam protocol information

parent b63d1745
import React, { useState } from 'react'
import PropTypes from 'prop-types'
import { FormattedMessage } from 'gatsby-plugin-intl'
import {
Dialog,
DialogTitle,
DialogContent,
DialogActions,
Button,
} from '@material-ui/core'
import { makeStyles } from '@material-ui/styles'
import Alert from '@material-ui/lab/Alert'
import oral_info_en from '../../content/studydocuments-oral-exams.en.md'
import oral_info_de from '../../content/studydocuments-oral-exams.de.md'
import TranslatedContent from '../general/translatedContent'
const useStyles = makeStyles(
{
root: {
margin: '2em 0',
},
link: {
cursor: 'pointer',
},
dialogContent: {
padding: '0 24px 16px 24px',
},
},
{ name: 'studydocumentsOralExamsDialog' }
)
const StudydocumentsOralExamsDialog = ({ className, ...props }) => {
const [open, setOpen] = useState(false)
const classes = useStyles()
const handleOpen = () => {
setOpen(true)
}
const handleClose = () => {
setOpen(false)
}
return (
<React.Fragment>
<Alert
className={[classes.root, className].join(' ')}
severity="info"
{...props}
>
<div>
<b>
<FormattedMessage id="studydocuments.oralExamsCatchphrase" />
</b>
&nbsp;
<a className={classes.link} onClick={handleOpen}>
<FormattedMessage id="studydocuments.oralExamsLink" />
</a>
</div>
</Alert>
<Dialog
onClose={handleClose}
aria-labelledby="oral-dialog-title"
open={open}
>
<DialogTitle id="oral-dialog-title">
<FormattedMessage id="studydocuments.oralExamProtocols" />
</DialogTitle>
<DialogContent>
<TranslatedContent
content={{ en: oral_info_en, de: oral_info_de }}
noEscape
/>
</DialogContent>
<DialogActions>
<Button onClick={handleClose} color="primary" autoFocus>
<FormattedMessage id="close" />
</Button>
</DialogActions>
</Dialog>
</React.Fragment>
)
}
StudydocumentsOralExamsDialog.propTypes = {
/** @ignore */
className: PropTypes.string,
}
export default StudydocumentsOralExamsDialog
Die Prüfungsprotokolle sind hier bestellbar und können gegen ein Depot von 20.- im amiv Büro im CAB E37 abgeholt werden. Das Depot erhält man jeweils zurück, wenn man selbst ein Protokoll abgibt. Dies soll gewährleisten, dass es stets aktuelle mündliche Prüfungen im System hat.
Wenn du ein Prüfungsprotokoll brauchst oder abgeben willst, schicke eine Mail an pruefungen@amiv.ethz.ch. Ein Prüfungsprotokoll beinhaltet mindestens folgende Infos: Fach, Prof./Prüfer, Stichworte, Was wurde gefragt etc.
You can order your exam protocols here and get them for a deposit of CHF 20.- at the amiv Office in CAB E37. You will get your deposit back for providing a protocol yourself. This shall make sure that our system is always up to date.
If you need or want to provide an exam protocol, please send an e-mail to pruefungen@amiv.ethz.ch. A protocol includes at least the following content: course, professor/examinator, key words, what was asked and so on…
......@@ -213,9 +213,9 @@
"studydocuments.accessDenied": "Studienunterlagen sind nur für ETH Studenten verfügbar.",
"studydocuments.selectTextHelp": "Kreuze «erstellen» an, um einen neuen Eintrag zu erstellen.",
"studydocuments.legacyText": "Du hast das gesuchte Dokument nicht gefunden? Schau auf der <a href=\"https://legacy.amiv.ethz.ch/studium/unterlagen\" target=\"_blank\">alten Webseite</a>.",
"studydocuments.oralExams": "Mündliche Prüfungen",
"studydocs.oralExamsExplanation": "Die Prüfungsprotokolle sind hier bestellbar und können gegen ein Depot von 20.- im AMIV Büro im CAB E37 abgeholt werden. Das Depot erhält man jeweils zurück, wenn man selbst ein Protokoll abgibt. Dies soll gewährleisten, dass es stets aktuelle mündliche Prüfungen im System hat. Wenn du ein Prüfungsprotokoll brauchst oder abgeben willst, schicke eine Mail an pruefungen@amiv.ethz.ch. Ein Prüfungsprotokoll beinhaltet mindestens folgende Infos: Fach, Prof./Prüfer, Stichworte, Was wurde gefragt etc.",
"studydocs.oralExamDatesIntro": "Für die Sommersession 2018 können Protokolle (nach erfolgter Anmeldung) zu den folgenden Zeitpunkten abgeholt werden:",
"studydocuments.oralExamProtocols": "Mündliche Prüfungsprotokolle",
"studydocuments.oralExamsCatchphrase": "Hast du mündliche Prüfungen?",
"studydocuments.oralExamsLink": "Hier gibt's weitere Informationen",
"jobs.title": "Jobs",
"jobs.search": "Jobangebote durchsuchen...",
"jobs.downloadAsPdf": "PDF herunterladen",
......
......@@ -212,9 +212,9 @@
"studydocuments.selectTextHelp": "Tick «create» to create a new entry.",
"studydocuments.legacyText": "You didn't find the document you were looking for? Take a look at the <a href=\"https://legacy.amiv.ethz.ch/studium/unterlagen\" target=\"_blank\">old website</a>.",
"studydocuments.legactLink": "Try your luck",
"studydocuments.oralExams": "Oral Exams",
"studydocuments.oralExamsExplanation": "You can order your exam protocols here and get them for a deposit of CHF 20.- at the AMIV Office in CAB E37. You will get your deposit back for providing a protocol yourself. This shall make sure that our system is always up to date. If you need or want to provide an exam protocol, please send an e-mail to pruefungen@amiv.ethz.ch. A protocol includes at least the following content: course, professor/examinator, key words, what was asked and so on…",
"studydocuments.oralExamDatesIntro": "Protocols for the summer session 2018 can be picked up (upon request) on the following dates:",
"studydocuments.oralExamProtocol": "Oral Exams Protocols",
"studydocuments.oralExamsCatchphrase": "Do you have oral exams?",
"studydocuments.oralExamsLink": "more information",
"jobs.title": "Jobs",
"jobs.search": "Search job offers...",
"jobs.downloadAsPdf": "Download PDF",
......
......@@ -16,6 +16,7 @@ import FilteredListItem from '../../components/filteredListPage/listItem'
import StudydocumentSummary from '../../components/studydocuments/summary'
import StudydocumentDetails from '../../components/studydocuments/details'
import StudydocumentsQuickFilter from '../../components/studydocuments/quickFilter'
import StudydocumentsOralExamsDialog from '../../components/studydocuments/oralExamsDialog'
const useStyles = makeStyles(
{
......@@ -123,7 +124,10 @@ const StudydocumentsPage = ({ studydocumentId }) => {
{/* QuickFilter(tm) */}
<StudydocumentsQuickFilter />
{/* Pinned joboffer */}
{/* Hint for oral exam protocols */}
<StudydocumentsOralExamsDialog />
{/* Pinned studydocument */}
{pinnedId && (
<FilteredList>
<FilteredListItem
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment