parent
de39686d89
commit
6c12737ad9
@ -84,7 +84,7 @@ CsvColumnAllocationUserMatriculation: Matrikelnummer des/der Bewerbers/Bewerberi
|
||||
CsvColumnAllocationUserStudyFeatures: Studiendaten
|
||||
CsvColumnAllocationUserRequested: Maximale Anzahl von Plätzen, die der Bewerber bereit ist, zu akzeptieren
|
||||
CsvColumnAllocationUserApplied: Anzahl von Bewerbungen, die der/die Bewerber/Bewerberin eingereicht hat
|
||||
CsvColumnAllocationUserVetos: Anzahl von Bewerbungen, die von Kursverwaltern ein Veto oder eine Note erhalten haben, die äquivalent ist zu "Nicht Bestanden" (5.0)
|
||||
CsvColumnAllocationUserVetos: Anzahl von Bewerbungen, die von Kursverwalter:innen ein Veto oder eine Note erhalten haben, die äquivalent ist zu "Nicht Bestanden" (5.0)
|
||||
CsvColumnAllocationUserAssigned: Anzahl von Plätzen, die der/die Bewerber/Bewerberin durch diese Zentralanmeldung bereits erhalten hat
|
||||
CsvColumnAllocationUserNewAssigned: Anzahl von Plätzen, die der/die Bewerber/Bewerberin, nach Akzeptieren der berechneten Verteilung, zusätzlich erhalten würde
|
||||
CsvColumnAllocationUserPriority: Zentrale Dringlichkeit des/der Bewerbers/Bewerberin; entweder einzelne Zahl für Sortierungsbasierte Dringlichkeiten (höhere Dringlichkeit entspricht größerer Zahl) oder Komma-separierte Liste von numerischen Dringlichkeiten in eckigen Klammern (z.B. [1, 2, 3])
|
||||
@ -127,11 +127,12 @@ AllocationRegisterFrom: Bewerbung ab
|
||||
AllocationRegister: Bewerbung
|
||||
AllocationRegisterClosed: Die Zentralanmeldung ist aktuell geschlossen.
|
||||
AllocationRegisterOpensIn difftime@Text: Die Zentralanmeldung öffnet voraussichtlich in #{difftime}
|
||||
AllocationRegisterByStaff: An- und Abmeldung durch Kursverwalter:in
|
||||
AllocationRegisterByStaffFrom: An- und Abmeldung durch Kursverwalter:in ab
|
||||
AllocationRegisterByStaffTo: An- und Abmeldung durch Kursverwalter:in bis
|
||||
AllocationRegisterByStaff: An- und Abmeldung durch Kursverwalter:innen
|
||||
AllocationRegisterByStaffFrom: An- und Abmeldung durch Kursverwalter:innen ab
|
||||
AllocationRegisterByStaffTo: An- und Abmeldung durch Kursverwalter:innen bis
|
||||
AllocationRegisterByStaffTip: In diesem Zeitraum können Kursverwalter:innen Teilnehmer:innen zu und von ihren Kursen an- und abmelden.
|
||||
AllocationRegisterByStaffFromTip: Ab diesem Zeitpunkt können Kursverwalter:innen Teilnehmer:innen zu und von ihren Kursen an- und abmelden.
|
||||
AllocationRegisterByCourse: Direkte An- und Abmeldung
|
||||
AllocationRegisterByCourseFrom: Direkte An- und Abmeldung ab
|
||||
AllocationRegisterByCourseFromTip: Frühestens ab diesem Zeitpunkt ist die eigentständige An- und Abmeldung zu und von den Kursen, die an der Zentralanmeldung teilnehmen, möglich. Kontrolle über die genauen Fristen haben die Kursverwalter:innen.
|
||||
AllocationRegisterTo: Anmeldungen bis
|
||||
@ -175,6 +176,7 @@ AllocationPrioritiesOrdinal: Dringlichkeiten durch Sortierung
|
||||
AllocationUsersCsvSheetName tid@TermId ssh@SchoolId ash@AllocationShorthand: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase ash} Bewerber
|
||||
AllocationApplication: Bewerbung
|
||||
AllocationProcess: Platzvergabe
|
||||
AllocationSubstitutesProcess: Platzvergabe an Nachrücker:innen
|
||||
|
||||
AllocationFormTerm: Semester
|
||||
AllocationFormSchool: Institut
|
||||
@ -189,7 +191,7 @@ AllocationFormStaffDescription: Beschreibung für Dozierende
|
||||
AllocationFormStaffDescriptionTip: Wird nur (potentiellen) Dozierenden angezeigt; sowohl beim Anlegen eines Kurses, wie auch auf der Seite der Zentralanmeldung
|
||||
AllocationFormDeadlines: Fristen
|
||||
AllocationFormStaffRegisterFrom: Eintragung der Kurse ab
|
||||
AllocationFormStaffRegisterFromTip: Ab diesem Zeitpunkt können Kursverwalter ihre Kurse selbstständig zur Zentralanmeldung eintragen. Falls kein Zeitpunkt angegeben wird, ist dies nie gestattet.
|
||||
AllocationFormStaffRegisterFromTip: Ab diesem Zeitpunkt können Kursverwalter:innen ihre Kurse selbstständig zur Zentralanmeldung eintragen. Falls kein Zeitpunkt angegeben wird, ist dies nie gestattet.
|
||||
AllocationFormStaffRegisterTo: Eintragung der Kurse bis
|
||||
AllocationFormStaffRegisterToTip: Falls kein Zeitpunkt angegeben wird, ist die Eintragung zunächst für immer möglich.
|
||||
AllocationFormStaffAllocationFrom: Bewertung der Bewerbungen ab
|
||||
|
||||
@ -132,6 +132,7 @@ AllocationRegisterByStaffFrom: Enrollment by course administrators starts
|
||||
AllocationRegisterByStaffTo: Enrollment by course administrators ends
|
||||
AllocationRegisterByStaffTip: In this periods course administrators may enroll participants in their courses.
|
||||
AllocationRegisterByStaffFromTip: Starting at this time course administrators may enroll participants in their courses.
|
||||
AllocationRegisterByCourse: Direct enrollment
|
||||
AllocationRegisterByCourseFrom: Direct enrollment starts
|
||||
AllocationRegisterByCourseFromTip: Starting at this time course administrators participating in this central allocation may open their courses for participants to manage their participation themselves.
|
||||
AllocationRegisterTo: Registration until
|
||||
@ -174,6 +175,7 @@ AllocationPrioritiesOrdinal: Priorities based on sorted list
|
||||
AllocationUsersCsvSheetName tid ssh ash: #{foldCase (termToText (unTermKey tid))}-#{foldedCase (unSchoolKey ssh)}-#{foldedCase ash} Applicants
|
||||
AllocationApplication: Application
|
||||
AllocationProcess: Allocation process
|
||||
AllocationSubstitutesProcess: Allocation of substitutes
|
||||
|
||||
AllocationFormTerm: Term
|
||||
AllocationFormSchool: Department
|
||||
|
||||
@ -21,7 +21,6 @@ LecturerType: Rolle
|
||||
CourseLecturerRightsIdentical: Alle Sorten von Kursverwalter:innen haben identische Rechte.
|
||||
CourseAllocationOption term@Text name@Text !ident-ok: #{name} (#{term})
|
||||
CourseAllocationParticipate: Teilnahme an Zentralanmeldung
|
||||
CourseAllocationParticipateTip: Wird an einer Zentralanmeldung teilgenommen, kann es sein, dass Sie bestimmte Rechte, die Sie normalerweise bzgl. Ihres Kurses hätten, nicht ausüben können (z.B. Studierende direkt zum Kurs anmelden, Studierende abmelden, ...).
|
||||
CourseNoAllocationsAvailable: Es sind aktuell keine Zentralanmeldungen verfügbar
|
||||
CourseAllocation: Zentralanmeldung
|
||||
CourseAllocationMinCapacity: Minimale Teilnehmeranzahl
|
||||
|
||||
@ -21,7 +21,6 @@ LecturerType: Role
|
||||
CourseLecturerRightsIdentical: All sorts of course administrators have the same permissions.
|
||||
CourseAllocationOption term name: #{name} (#{term})
|
||||
CourseAllocationParticipate: Participate in central allocation
|
||||
CourseAllocationParticipateTip: If a course participates in a central allocation, you might lose some permissions that you would normally have (e.g. registering students for the course directly, deregistering students, ...)
|
||||
CourseNoAllocationsAvailable: There are no ongoing central allocations
|
||||
CourseAllocation: Central allocation
|
||||
CourseAllocationMinCapacity: Minimum number of participants
|
||||
|
||||
@ -5,9 +5,12 @@ module Handler.Allocation.Info
|
||||
import Import
|
||||
import Handler.Utils
|
||||
|
||||
import Handler.Info (FAQItem(..))
|
||||
|
||||
|
||||
getInfoAllocationR :: Handler Html
|
||||
getInfoAllocationR =
|
||||
siteLayoutMsg MsgHeadingAllocationInfo $ do
|
||||
setTitleI MsgHeadingAllocationInfo
|
||||
faqItemUrlAllocationNoPlaces <- toTextUrl $ FaqR :#: FAQAllocationNoPlaces
|
||||
$(i18nWidgetFile "allocation-info")
|
||||
|
||||
@ -274,7 +274,12 @@ makeCourseForm miButtonAction template = identifyForm FIDcourse . validateFormDB
|
||||
<*> aopt utcTimeField (fslI MsgCourseAcceptSubstitutesUntil & setTooltip MsgCourseAcceptSubstitutesUntilTip) (fmap acfAcceptSubstitutes $ template >>= cfAllocation)
|
||||
<*> apopt checkBoxField (fslI MsgCourseDeregisterNoShow & setTooltip MsgCourseDeregisterNoShowTip) ((<|> Just True) . fmap acfDeregisterNoShow $ template >>= cfAllocation)
|
||||
|
||||
optionalActionW' (bool mforcedJust mpopt mayChange) allocationForm' (fslI MsgCourseAllocationParticipate & setTooltip MsgCourseAllocationParticipateTip) (is _Just . cfAllocation <$> template)
|
||||
let
|
||||
addTip :: (MonadHandler m, HandlerSite m ~ UniWorX)
|
||||
=> FieldView UniWorX -> m (FieldView UniWorX)
|
||||
addTip = addFieldViewTooltipWidget $(i18nWidgetFile "allocation-participate-tip")
|
||||
|
||||
hoist (censorM $ traverseOf _head addTip) $ optionalActionW' (bool mforcedJust mpopt mayChange) allocationForm' (fslI MsgCourseAllocationParticipate) (is _Just . cfAllocation <$> template)
|
||||
|
||||
-- let autoUnzipInfo = [|Entpackt hochgeladene Zip-Dateien (*.zip) automatisch und fügt den Inhalt dem Stamm-Verzeichnis der Abgabe hinzu. TODO|]
|
||||
|
||||
|
||||
@ -62,34 +62,6 @@ getInfoR = do
|
||||
changelogItems = $(i18nWidgetFiles "changelog")
|
||||
|
||||
|
||||
getInfoLecturerR :: Handler Html
|
||||
getInfoLecturerR =
|
||||
siteLayoutMsg MsgInfoLecturerTitle $ do
|
||||
setTitleI MsgInfoLecturerTitle
|
||||
$(i18nWidgetFile "info-lecturer")
|
||||
where
|
||||
allocationInfo = $(i18nWidgetFile "allocation-info")
|
||||
|
||||
tooltipNew, tooltipProblem, tooltipPlanned, tooltipNewU2W :: WidgetFor UniWorX ()
|
||||
tooltipNew = [whamlet| _{MsgLecturerInfoTooltipNew} |]
|
||||
tooltipProblem = [whamlet| _{MsgLecturerInfoTooltipProblem} |]
|
||||
tooltipPlanned = [whamlet| _{MsgLecturerInfoTooltipPlanned} |]
|
||||
tooltipNewU2W = [whamlet| _{MsgLecturerInfoTooltipNewU2W} |]
|
||||
newU2WFeat, probFeatInline, plannedFeat, plannedFeatInline :: WidgetFor UniWorX ()
|
||||
newU2WFeat = [whamlet| ^{iconTooltip tooltipNewU2W (Just IconAnnounce) True} |] -- to be used inside text blocks
|
||||
probFeatInline = [whamlet| ^{iconTooltip tooltipProblem (Just IconProblem) True} |] -- to be used inside text blocks
|
||||
plannedFeat = [whamlet| ^{iconTooltip tooltipPlanned (Just IconPlanned) False} |]
|
||||
plannedFeatInline = [whamlet| ^{iconTooltip tooltipPlanned (Just IconPlanned) True} |] -- to be used inside text blocks
|
||||
|
||||
-- new feature with given introduction date
|
||||
newFeat :: Integer -> Int -> Int -> WidgetFor UniWorX ()
|
||||
newFeat y m d = do
|
||||
currentTime <- liftIO getCurrentTime
|
||||
let expiryTime = UTCTime (addGregorianMonthsRollOver 1 $ fromGregorian y m d) 0
|
||||
if currentTime > expiryTime
|
||||
then mempty
|
||||
else toWidget [whamlet| ^{iconTooltip tooltipNew (Just IconNew) False} |]
|
||||
|
||||
getGlossaryR :: Handler Html
|
||||
getGlossaryR =
|
||||
siteLayoutMsg MsgGlossaryTitle $ do
|
||||
@ -218,3 +190,34 @@ prioFAQ _ FAQCourseCorrectorsTutors = return 1
|
||||
prioFAQ _ FAQExamPoints = return 2
|
||||
prioFAQ _ FAQAllocationNoPlaces = return 2
|
||||
prioFAQ _ FAQInvalidCredentialsAdAccountDisabled = return 3
|
||||
|
||||
|
||||
getInfoLecturerR :: Handler Html
|
||||
getInfoLecturerR =
|
||||
siteLayoutMsg MsgInfoLecturerTitle $ do
|
||||
setTitleI MsgInfoLecturerTitle
|
||||
$(i18nWidgetFile "info-lecturer")
|
||||
where
|
||||
allocationInfo = do
|
||||
faqItemUrlAllocationNoPlaces <- toTextUrl $ FaqR :#: FAQAllocationNoPlaces
|
||||
$(i18nWidgetFile "allocation-info")
|
||||
|
||||
tooltipNew, tooltipProblem, tooltipPlanned, tooltipNewU2W :: WidgetFor UniWorX ()
|
||||
tooltipNew = [whamlet| _{MsgLecturerInfoTooltipNew} |]
|
||||
tooltipProblem = [whamlet| _{MsgLecturerInfoTooltipProblem} |]
|
||||
tooltipPlanned = [whamlet| _{MsgLecturerInfoTooltipPlanned} |]
|
||||
tooltipNewU2W = [whamlet| _{MsgLecturerInfoTooltipNewU2W} |]
|
||||
newU2WFeat, probFeatInline, plannedFeat, plannedFeatInline :: WidgetFor UniWorX ()
|
||||
newU2WFeat = [whamlet| ^{iconTooltip tooltipNewU2W (Just IconAnnounce) True} |] -- to be used inside text blocks
|
||||
probFeatInline = [whamlet| ^{iconTooltip tooltipProblem (Just IconProblem) True} |] -- to be used inside text blocks
|
||||
plannedFeat = [whamlet| ^{iconTooltip tooltipPlanned (Just IconPlanned) False} |]
|
||||
plannedFeatInline = [whamlet| ^{iconTooltip tooltipPlanned (Just IconPlanned) True} |] -- to be used inside text blocks
|
||||
|
||||
-- new feature with given introduction date
|
||||
newFeat :: Integer -> Int -> Int -> WidgetFor UniWorX ()
|
||||
newFeat y m d = do
|
||||
currentTime <- liftIO getCurrentTime
|
||||
let expiryTime = UTCTime (addGregorianMonthsRollOver 1 $ fromGregorian y m d) 0
|
||||
if currentTime > expiryTime
|
||||
then mempty
|
||||
else toWidget [whamlet| ^{iconTooltip tooltipNew (Just IconNew) False} |]
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
module Handler.Utils.I18n
|
||||
( i18nWidgetFile
|
||||
( i18nWidgetFile, i18nHamletFile
|
||||
, i18nWidgetFiles
|
||||
, i18nMessage
|
||||
, authorizedI18n, authenticationRequiredI18n, unauthorizedI18n
|
||||
@ -22,8 +22,25 @@ import qualified Data.List.NonEmpty as NonEmpty
|
||||
import qualified Data.Map as Map
|
||||
|
||||
import System.Directory (listDirectory)
|
||||
import Text.Hamlet (hamletFile)
|
||||
|
||||
|
||||
i18nFile :: (FilePath -> Q Exp) -> FilePath -> Q Exp
|
||||
i18nFile includeFile basename = do
|
||||
-- Construct list of available translations (@de@, @en@, ...) at compile time
|
||||
let i18nDirectory = "templates" </> "i18n" </> basename
|
||||
availableFiles <- qRunIO $ listDirectory i18nDirectory
|
||||
let availableTranslations = sortWith (NTop . flip List.elemIndex (NonEmpty.toList appLanguages)) . List.nub $ pack . takeBaseName <$> availableFiles
|
||||
availableTranslations' <- maybe (fail $ "‘" <> i18nDirectory <> "’ is empty") return $ NonEmpty.nonEmpty availableTranslations
|
||||
|
||||
-- Dispatch to correct language (depending on user settings via `selectLanguage`) at run time
|
||||
ws <- newName "ws" -- Name for dispatch function
|
||||
letE
|
||||
[ funD ws $ [ clause [litP $ stringL l] (normalB . includeFile $ "i18n" </> basename </> l) []
|
||||
| l <- unpack <$> NonEmpty.toList availableTranslations' -- One function definition for every available language
|
||||
] ++ [ clause [wildP] (normalB [e| error "selectLanguage returned an invalid translation" |]) [] ] -- Fallback mostly there so compiler does not complain about non-exhaustive pattern match
|
||||
] [e|selectLanguage availableTranslations' >>= $(varE ws)|]
|
||||
|
||||
-- | Add language dependent template files
|
||||
--
|
||||
-- For large files which are translated as a whole.
|
||||
@ -38,20 +55,10 @@ import System.Directory (listDirectory)
|
||||
-- for directories)
|
||||
-- @$ stack clean@ is required so new translations show up
|
||||
i18nWidgetFile :: FilePath -> Q Exp
|
||||
i18nWidgetFile basename = do
|
||||
-- Construct list of available translations (@de@, @en@, ...) at compile time
|
||||
let i18nDirectory = "templates" </> "i18n" </> basename
|
||||
availableFiles <- qRunIO $ listDirectory i18nDirectory
|
||||
let availableTranslations = sortWith (NTop . flip List.elemIndex (NonEmpty.toList appLanguages)) . List.nub $ pack . takeBaseName <$> availableFiles
|
||||
availableTranslations' <- maybe (fail $ "‘" <> i18nDirectory <> "’ is empty") return $ NonEmpty.nonEmpty availableTranslations
|
||||
i18nWidgetFile = i18nFile widgetFile
|
||||
|
||||
-- Dispatch to correct language (depending on user settings via `selectLanguage`) at run time
|
||||
ws <- newName "ws" -- Name for dispatch function
|
||||
letE
|
||||
[ funD ws $ [ clause [litP $ stringL l] (normalB . widgetFile $ "i18n" </> basename </> l) []
|
||||
| l <- unpack <$> NonEmpty.toList availableTranslations' -- One function definition for every available language
|
||||
] ++ [ clause [wildP] (normalB [e| error "selectLanguage returned an invalid translation" |]) [] ] -- Fallback mostly there so compiler does not complain about non-exhaustive pattern match
|
||||
] [e|selectLanguage availableTranslations' >>= $(varE ws)|]
|
||||
i18nHamletFile :: FilePath -> Q Exp
|
||||
i18nHamletFile basename = [e|$(i18nFile (hamletFile . (<.> "hamlet")) basename) <$> getUrlRenderParams|]
|
||||
|
||||
i18nWidgetFiles :: FilePath -> Q Exp
|
||||
i18nWidgetFiles basename = do
|
||||
|
||||
@ -1011,14 +1011,22 @@ tellMPoint = tellM . fmap opoint
|
||||
|
||||
class IsWriterT t where
|
||||
runWriterT' :: (Monad m, Monoid w) => t w m a -> m (a, w)
|
||||
mapWriterT' :: (m (a, w) -> n (b, w')) -> t w m a -> t w' n b
|
||||
instance IsWriterT Strict.WriterT where
|
||||
runWriterT' = Strict.runWriterT
|
||||
mapWriterT' = Strict.mapWriterT
|
||||
instance IsWriterT Lazy.WriterT where
|
||||
runWriterT' = Lazy.runWriterT
|
||||
mapWriterT' = Lazy.mapWriterT
|
||||
|
||||
evalWriterT :: (IsWriterT t, Monoid w, Monad m) => t w m a -> m a
|
||||
evalWriterT = fmap fst . runWriterT'
|
||||
|
||||
censorM :: (IsWriterT t, Monad m)
|
||||
=> (w -> m w)
|
||||
-> t w m a -> t w m a
|
||||
censorM f = mapWriterT' (>>= \(x, w) -> (x, ) <$> f w)
|
||||
|
||||
-------------
|
||||
-- Conduit --
|
||||
-------------
|
||||
|
||||
@ -188,6 +188,23 @@ addAutosubmit = addAttr "uw-auto-submit-input" ""
|
||||
asyncSubmitAttr :: (Text,Text)
|
||||
asyncSubmitAttr = ("uw-async-form", "")
|
||||
|
||||
---------------
|
||||
-- FieldView --
|
||||
---------------
|
||||
|
||||
addFieldViewTooltipWidget :: (MonadHandler m, Yesod (HandlerSite m))
|
||||
=> WidgetFor (HandlerSite m) ()
|
||||
-> FieldView (HandlerSite m) -> m (FieldView (HandlerSite m))
|
||||
addFieldViewTooltipWidget wgt fv = do
|
||||
renderUrl <- getUrlRenderParams
|
||||
PageContent{..} <- liftHandler $ widgetToPageContent wgt
|
||||
let addPC = do
|
||||
when (pageTitle /= mempty) $
|
||||
setTitle pageTitle
|
||||
toWidgetHead $ pageHead renderUrl
|
||||
return $ fv
|
||||
& _fvTooltip ?~ pageBody renderUrl
|
||||
& _fvInput <>~ addPC
|
||||
|
||||
------------------------------------------------
|
||||
-- Unique Form Identifiers to avoid accidents --
|
||||
|
||||
@ -1,84 +1,150 @@
|
||||
$newline text
|
||||
<p>
|
||||
Jede Zentralanmeldung durchläuft
|
||||
der Reihe nach folgende Phasen:
|
||||
Jede Zentralanmeldung durchläuft die folgenden Phasen, idR. auch in
|
||||
dieser Reihenfolge:
|
||||
<dl .deflist>
|
||||
<dt .deflist__dt>
|
||||
_{MsgAllocationStaffRegister}
|
||||
<dd .deflist__dd>
|
||||
<p>
|
||||
Veranstalter:innen können nur in diesem Zeitraum ihre Veranstaltungen
|
||||
zur Zentralanmeldung hinzufügen oder entfernen.
|
||||
Veranstalter:innen können nur in diesem Zeitraum ihre
|
||||
Veranstaltungen zur Zentralanmeldung hinzufügen oder entfernen.
|
||||
<p>
|
||||
Pro Veranstaltung wird einzeln festgelegt,
|
||||
ob Studierende einen Bewerbungstext und/oder Bewerbungsdateien
|
||||
einreichen sollen.
|
||||
Pro Veranstaltung wird einzeln festgelegt, ob Studierende einen
|
||||
Bewerbungstext und/oder Bewerbungsdateien einreichen sollen.
|
||||
Veranstalter:innen stellen auch Anweisungen zur Bewerbung ein,
|
||||
z.B. welchen Inhalt abzugebende Bewerbungsdateien enthalten sollen.
|
||||
z.B. welchen Inhalt abzugebende Bewerbungsdateien enthalten
|
||||
sollen.
|
||||
<p>
|
||||
Zur Zentralanmeldung eingetragene Kurse
|
||||
erlauben während dem gesamten Ablauf
|
||||
der Zentralanmeldung keine anderweitigen Kursanmeldung mehr,
|
||||
auch nicht durch den Veranstalter selbst.
|
||||
Zur Zentralanmeldung eingetragene Kurse erlauben während dem
|
||||
gesamten Ablauf der Zentralanmeldung keine anderweitige
|
||||
Kursanmeldung mehr, auch nicht durch den Veranstalter selbst.
|
||||
|
||||
<dt .deflist__dt>
|
||||
_{MsgAllocationRegister}
|
||||
<dd .deflist__dd>
|
||||
<p>
|
||||
Studierende können sich nur in diesem Zeitraum
|
||||
auf Plätze in Kursen einer Zentralanmeldung bewerben.
|
||||
Studierende können sich nur in diesem Zeitraum auf Plätze in
|
||||
Kursen einer Zentralanmeldung bewerben.
|
||||
<p>
|
||||
Bewerber:innen können jedem Kurs der Zentralanmeldung eine Priorität zuweisen,
|
||||
zwischen "dieser Kurs wäre meine erste Wahl" und "diesen Kurs besuche
|
||||
ich nur, wenn ich keinen anderen Platz kriege".
|
||||
Bewerber:innen können jedem Kurs der Zentralanmeldung eine
|
||||
Priorität zuweisen, zwischen „dieser Kurs wäre meine erste Wahl“
|
||||
und “diesen Kurs besuche ich nur, wenn ich keinen anderen Platz
|
||||
kriege“.
|
||||
Es kann auch mehreren Kursen die gleiche Priorität eingeräumt werden.
|
||||
<p>
|
||||
Bewerbungen für und Prioritisierung der Kurse können innerhalb des
|
||||
Bewerbungszeitraums beliebig angepasst und zurückgezogen werden.
|
||||
Bewerbungen für und Prioritisierung der Kurse können innerhalb
|
||||
des Bewerbungszeitraums beliebig angepasst und zurückgezogen
|
||||
werden.
|
||||
<p>
|
||||
Studierende können auch mehr als einen Platz
|
||||
in verschiedenen Kursen einer Zentralanmeldung anfordern,
|
||||
falls die Kurskapazitäten und/oder Dringlichkeit ausreichend sind.
|
||||
Studierende können auch mehr als einen Platz in verschiedenen
|
||||
Kursen einer Zentralanmeldung anfordern, falls die
|
||||
Kurskapazitäten und/oder Dringlichkeit ausreichend sind.
|
||||
<p>
|
||||
Bewerbungstexte und/oder Bewerbungsdateien
|
||||
sind pro Kurs anzugeben, falls vom Veranstalter gefordert.
|
||||
Bewerbungstexte und/oder Bewerbungsdateien sind pro Kurs
|
||||
anzugeben, falls vom Veranstalter gefordert.
|
||||
<p>
|
||||
Während der Bewerbungsphase wird die Sichtbarkeit aller
|
||||
teilnehmenden Kurse forciert.
|
||||
„_{MsgCourseVisibleFrom}“ und „_{MsgCourseVisibleTo}“ werden
|
||||
dementsprechend während dieser Phase ignoriert.
|
||||
|
||||
<dt .deflist__dt>
|
||||
_{MsgAllocationStaffAllocation}
|
||||
<dd .deflist__dd>
|
||||
<p>
|
||||
Veranstalter:innen können nur in diesem Zeitraum die
|
||||
Bewerbungen einsehen und bewerten.
|
||||
Veranstalter:innen können nur in diesem Zeitraum die Bewerbungen
|
||||
einsehen und (optional) bewerten.
|
||||
$# <p>
|
||||
$# Nur in manchen Zentralanmeldungen dürfen Veranstalter:innen
|
||||
$# Bewerber:innen jetzt direkt ablehnen und/oder übernehmen.
|
||||
$# <p>
|
||||
$# Veranstalter:innen haben noch eine letzte Möglichkeit,
|
||||
$# die Kurskapazität anzupassen.
|
||||
<p>
|
||||
Veranstalter:innen haben noch eine letzte Möglichkeit,
|
||||
die Kurskapazität anzupassen.
|
||||
|
||||
<dt .deflist__dt>
|
||||
_{MsgAllocationProcess}
|
||||
<dd .deflist__dd>
|
||||
<p>
|
||||
Die Plätze werden gemäß Studienfortschritt, Dringlichkeit
|
||||
und der Bewertung durch den Veranstalter/die Veranstalterin auf die Bewerber:innen verteilt.
|
||||
Die Plätze werden gemäß Studienfortschritt, Dringlichkeit und
|
||||
der Bewertung durch die Veranstalter:innen auf die
|
||||
Bewerber:innen verteilt.
|
||||
Näheres zum Vergabeverfahren finden Sie auch #
|
||||
<a href=#{faqItemUrlAllocationNoPlaces}>
|
||||
im FAQ
|
||||
.
|
||||
<p>
|
||||
Die Bewerber:innen werden diekt in den jeweiligen Kursen angemeldet.
|
||||
Übernommene Bewerber:innen, welche einen zugeteilten Platz
|
||||
ohne Angabe eines triftigen Grundes nicht antreten,
|
||||
werden in zukünftigen Zentralanmeldungen
|
||||
unter Umständen benachteiligt.
|
||||
Die Bewerber:innen werden diekt zu den jeweiligen Kursen
|
||||
angemeldet.
|
||||
Übernommene Bewerber:innen, welche einen zugeteilten Platz ohne
|
||||
Angabe eines triftigen Grundes nicht antreten, werden in
|
||||
zukünftigen Zentralanmeldungen unter Umständen benachteiligt.
|
||||
$# <p>
|
||||
$# Veranstalter:innen können frühestens nach der erfolgten
|
||||
$# Zuteilung Teilnehmer:innen selbst an-/abmelden und
|
||||
$# ggf. Nachrücker für freigewordene Plätze anfordern.
|
||||
|
||||
<dt .deflist__dt>
|
||||
_{MsgAllocationSubstitutesProcess}
|
||||
<dd .deflist__dd>
|
||||
<p>
|
||||
Veranstalter:innen können frühestens nach der erfolgten Zuteilung
|
||||
Teilnehmer:innen selbst an-/abmelden
|
||||
und ggf. Nachrücker für freigewordene Plätze anfordern.
|
||||
Systemadministratoren lösen nach der Platzvergabe gelegentlich
|
||||
manuell das Verteilen von Nachrücker:innen aus.
|
||||
<p>
|
||||
Veranstalter:innen haben hierfür die Möglichkeit eine Frist zu
|
||||
hinterlegen bis zu der sie bereit sind Nachrücker:innen in ihren
|
||||
Kursen zu akzeptieren.
|
||||
<p>
|
||||
<em>
|
||||
Achtung: #
|
||||
Hinterlegen die Veranstalter:innen eines Kurses keine
|
||||
Nachrückerfrist, so werden #
|
||||
<em>
|
||||
i.A. ohne weitere Nachfrage #
|
||||
diesem Kurs keine Nachrücker:innen zugeteilt.
|
||||
|
||||
<dt .deflist__dt>
|
||||
_{MsgAllocationRegisterByStaff}
|
||||
<dd .deflist__dd>
|
||||
<p>
|
||||
Die direkte Anmeldung zu Kursen, die an der Zentralanmeldung
|
||||
teilnehmen, wird ab Eintragung des jeweiligen Kurses zunächst
|
||||
unterbunden.
|
||||
<p>
|
||||
Ab einem für die Zentralanmeldung eingestellten Zeitpunkt
|
||||
(„_{MsgAllocationRegisterByStaffFrom}“) ist es Kursverwaltenden
|
||||
wieder möglich Teilnehmer direkt zu ihren Kursen anzumelden
|
||||
bzw. von ihren Kursen abzumelden.
|
||||
|
||||
<dt .deflist__dt>
|
||||
_{MsgAllocationRegisterByCourse}
|
||||
<dd .deflist__dd>
|
||||
<p>
|
||||
Studierende können sich ab dem Zeitpunkt
|
||||
„_{MsgAllocationRegisterByCourseFrom}“ direkt zu den Kursen
|
||||
anmelden.
|
||||
Hierbei finden natürlich die von den Kursverwaltenden
|
||||
eingestellten Regeln Anwendung.
|
||||
<p>
|
||||
Insbesondere sollten Veranstalter:innen daher darauf achten,
|
||||
dass für ihre Kurse, trotz Teilnahme an einer Zentralanmeldung,
|
||||
sinnvolle Anmeldungsfristen eingestellt sind.
|
||||
<p>
|
||||
In aller Regel werden alle zur Verfügung stehenden Plätze
|
||||
bereits durch die zentrale Platzvergabe gefüllt.
|
||||
Es ist also für Studierende nicht ratsam sich darauf zu
|
||||
verlassen sich direkt anmelden zu können und daher nicht an der
|
||||
Zentralvergabe teilzunehmen.
|
||||
|
||||
<p>
|
||||
Der Ablauf einer Zentralanmeldung kann unter Umständen noch variieren.
|
||||
Der Ablauf einer Zentralanmeldung kann unter Umständen noch
|
||||
variieren.
|
||||
<br>
|
||||
<em>
|
||||
Insbesondere: #
|
||||
Fehlt in der Übersichtsseite einer Zentralanmeldung die Angabe einer dieser
|
||||
Phasen, dann wurden die entsprechenden Zeiten noch nicht festgelegt!
|
||||
Fehlt in der Übersichtsseite einer Zentralanmeldung die Angabe einer
|
||||
dieser Phasen, dann wurden die entsprechenden Zeiten noch nicht
|
||||
festgelegt!
|
||||
<p>
|
||||
Mehrere Zentralanmeldungen werden völlig unabhängig voneinander
|
||||
abgewickelt.
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
$newline text
|
||||
<p>
|
||||
Every central allocations progresses through the following stages in order:
|
||||
Every central allocations progresses through the following stages
|
||||
(usually in order):
|
||||
<dl .deflist>
|
||||
<dt .deflist__dt>
|
||||
_{MsgAllocationStaffRegister}
|
||||
@ -15,7 +16,7 @@ $newline text
|
||||
content the application files should have.
|
||||
<p>
|
||||
Courses registered for participation in the central allocation can not
|
||||
gain participants through the entire course of the allocation.
|
||||
gain participants throughout the entire course of the allocation.
|
||||
Not even through manual enrollment by course administrators.
|
||||
|
||||
<dt .deflist__dt>
|
||||
@ -25,21 +26,25 @@ $newline text
|
||||
Only during this phase may students apply to the various courses which
|
||||
participate in the central allocation.
|
||||
<p>
|
||||
Applicants may assign priorities ("this course would be my first choice"
|
||||
down to "I will only participate in this course if nothing else is
|
||||
available to me") to courses they apply to.
|
||||
Applicants may assign priorities (“this course would be my first choice”
|
||||
down to “I will only participate in this course if nothing else is
|
||||
available to me”) to courses they apply to.
|
||||
Multiple courses may have the same priority.
|
||||
<p>
|
||||
Applications and priorities may be freely edited and retracted during
|
||||
the application period.
|
||||
<p>
|
||||
Students may request more than one placement from a central allocation.
|
||||
|
||||
Additional placements are made if sufficient capacity is available
|
||||
and/or placements are sufficiently urgent.
|
||||
<p>
|
||||
Application texts and/or files need to be specified for each course
|
||||
individually, as requested by the course administrators.
|
||||
<p>
|
||||
During the application phase courses that participate in the
|
||||
central allocation are forced to be visible.
|
||||
“_{MsgCourseVisibleFrom}” and “_{MsgCourseVisibleTo}” are thus
|
||||
ignored during this phase.
|
||||
|
||||
<dt .deflist__dt>
|
||||
_{MsgAllocationStaffAllocation}
|
||||
@ -53,6 +58,9 @@ $newline text
|
||||
$# <p>
|
||||
$# Veranstalter haben noch eine letzte Möglichkeit,
|
||||
$# die Kurskapazität anzupassen.
|
||||
<p>
|
||||
Course administrators have one last chance to edit their courses'
|
||||
capacities.
|
||||
|
||||
<dt .deflist__dt>
|
||||
_{MsgAllocationProcess}
|
||||
@ -61,24 +69,73 @@ $newline text
|
||||
Placements in courses are made with regard to the current study
|
||||
progress, urgency, and the grading of the application as determined by a
|
||||
course administrator.
|
||||
Further details wrt. to the allocation process can be found #
|
||||
<a href=#{faqItemUrlAllocationNoPlaces}>
|
||||
in the FAQ
|
||||
.
|
||||
<p>
|
||||
Applicants are directly enrolled in the selected courses.
|
||||
|
||||
Applicants which leave courses they were assigned in the course of a
|
||||
central allocation may be affected negatively by this in future central
|
||||
allocations.
|
||||
$# <p>
|
||||
$# Only after placements have been made, may course administrators enroll
|
||||
$# and deregister participants of their courses.
|
||||
$# Course administrators can request to be assigned successors to fill
|
||||
$# their courses' remaining capacity.
|
||||
|
||||
<dt .deflist__dt>
|
||||
_{MsgAllocationSubstitutesProcess}
|
||||
<dd .deflist__dd>
|
||||
<p>
|
||||
Only after placements have been made, may course administrators enroll
|
||||
and deregister participants of their courses.
|
||||
Course administrators can request to be assigned successors to fill
|
||||
their courses' remaining capacity.
|
||||
System administrators occasionally trigger the distribution of
|
||||
allocation places to substitute participants.
|
||||
<p>
|
||||
Course administrators may specify a deadline until which they
|
||||
are prepared to accept substitutes for their courses.
|
||||
<p>
|
||||
<em>
|
||||
Caution: #
|
||||
If the administrators for a certain course do not specify a
|
||||
deadline no substitutes will ever be assigned to that course. #
|
||||
<em>
|
||||
In general without consulting the course adminstrators.
|
||||
|
||||
<dt .deflist__dt>
|
||||
_{MsgAllocationRegisterByStaff}
|
||||
<dd .deflist__dd>
|
||||
<p>
|
||||
Direct registration to courses is prevented from the time at
|
||||
which they are registered to a central allocation.
|
||||
<p>
|
||||
Starting with “_{MsgAllocationRegisterByStaffFrom}” course
|
||||
administrators are once again permitted to add/remove
|
||||
participants to and from their courses.
|
||||
|
||||
<dt .deflist__dt>
|
||||
_{MsgAllocationRegisterByCourse}
|
||||
<dd .deflist__dd>
|
||||
<p>
|
||||
Students can, starting with
|
||||
“_{MsgAllocationRegisterByCourseFrom}”, once again register
|
||||
themselves for the courses directly.
|
||||
The rules specified by course administrators for direct
|
||||
registration to their courses apply.
|
||||
<p>
|
||||
It is therefore advised that course administrators take care to
|
||||
define sensible deadlines for direct registration to their
|
||||
courses, even if they participate in a central allocation.
|
||||
<p>
|
||||
The central allocation usually fills all available places.
|
||||
It is therefore not recommended that students do not participate
|
||||
in the central allocation in hopes of being able to register
|
||||
themselves afterwards.
|
||||
|
||||
<p>
|
||||
Central allocation procedure may vary.
|
||||
|
||||
<br>
|
||||
<em>
|
||||
In particular: #
|
||||
|
||||
If, on the central allocation's page, no times are specified for one of the
|
||||
phases mentioned above, the time in question has not been determined yet!
|
||||
<p>
|
||||
|
||||
@ -0,0 +1,11 @@
|
||||
$newline never
|
||||
|
||||
Wird an einer Zentralanmeldung teilgenommen, können Sie für gewöhnlich #
|
||||
bestimmte Rechte, die Sie normalerweise bzgl. Ihres Kurses hätten, #
|
||||
nicht ausüben.
|
||||
|
||||
<br>
|
||||
|
||||
Details finden Sie unter: #
|
||||
|
||||
^{modal (toWidget (mr MsgMenuAllocationInfo)) (Left (SomeRoute InfoAllocationR))}
|
||||
10
templates/i18n/allocation-participate-tip/en-eu.hamlet
Normal file
10
templates/i18n/allocation-participate-tip/en-eu.hamlet
Normal file
@ -0,0 +1,10 @@
|
||||
$newline never
|
||||
|
||||
If a course participates in a central allocation, you will usually #
|
||||
lose some permissions that you would normally have.
|
||||
|
||||
<br>
|
||||
|
||||
For details see: #
|
||||
|
||||
^{modal (toWidget (mr MsgMenuAllocationInfo)) (Left (SomeRoute InfoAllocationR))}
|
||||
Loading…
Reference in New Issue
Block a user