Compare commits

..

No commits in common. "7feb17a9e8e1e9a9ad73bbff48d5a3ae4807a1bb" and "b92b1688741fd1bf372a21f16a9879882dfdd441" have entirely different histories.

2 changed files with 578 additions and 662 deletions

View File

@ -1,508 +1,443 @@
% !TEX root = ../Main.tex % !TEX root = ../Main.tex
% Input Validation: Summe
\newcommand{\validateCurrency}{\detokenize{
var amount = String(event.value ?? "0").replaceAll(".", "").replaceAll(",", ".");
if (amount && (isNaN(amount) || parseFloat(amount) < 0)) {
app.alert("Ungueltiger Betrag: " + event.value + ". Bitte geben Sie eine gueltige Zahl ein.");
event.rc = false;
} else {
event.value = parseFloat(amount).toLocaleString("de-DE", { minimumFractionDigits: 2, maximumFractionDigits: 2 });
}
}}
\begin{Form}[action=http://localhost:5000/,method=post] \begin{Form}[action=http://localhost:5000/,method=post]
\paPage{QSM Allgemeiner Teil}{ \paPage{QSM Allgemeiner Teil}{
% Abschnitt 1: Antragsteller : entweder Institution oder Person % Abschnitt 1: Antragsteller : entweder Institution oder Person
% -> aktiviert/deaktiviert zugehörige Felder (über radio buttons) mit JavaScript % -> aktiviert/deaktiviert zugehörige Felder (über radio buttons) mit JavaScript
\FormSection{Antragsteller}{% \FormSection{Antragsteller}{%
% Radio buttons : horizontal oben % Radio buttons : horizontal oben
\begin{tabular}{@{}p{0.3\textwidth}p{0.35\textwidth}p{0.35\textwidth}@{}} \begin{tabular}{@{}p{0.3\textwidth}p{0.35\textwidth}p{0.35\textwidth}@{}}
\textbf{Art des Antragstellers} & \raisebox{-1pt}{\ChoiceMenu[ \textbf{Art des Antragstellers} & \raisebox{-1pt}{\ChoiceMenu[
radio, radio,
name=pa-applicant-type, name=pa-applicant-type,
width=1em, width=1em,
height=1em, height=1em,
radiosymbol=\ding{108} radiosymbol=\ding{108}
]{}{=person}} Person & \raisebox{-1pt}{\ChoiceMenu[ ]{}{=person}} Person & \raisebox{-1pt}{\ChoiceMenu[
radio, radio,
name=pa-applicant-type, name=pa-applicant-type,
width=1em, width=1em,
height=1em, height=1em,
radiosymbol=\ding{108} radiosymbol=\ding{108}
]{}{=institution}} Institution ]{}{=institution}} Institution
\end{tabular}\vspace{-1em} \end{tabular}\vspace{-1em}
} }
\FormSection{Institution (sofern vorhanden)}{% \FormSection{Institution (sofern vorhanden)}{%
% Radio buttons : horizontal oben % Radio buttons : horizontal oben
\begin{tabular}{@{}p{0.3\textwidth}p{0.35\textwidth}p{0.35\textwidth}@{}} \begin{tabular}{@{}p{0.3\textwidth}p{0.35\textwidth}p{0.35\textwidth}@{}}
\textbf{Art der Institution} & \multicolumn{2}{p{0.73\textwidth}}{ \textbf{Art der Institution} & \multicolumn{2}{p{0.73\textwidth}}{
\CustomChoiceMenuDefault{pa-institution-type}{}{width=\linewidth,default=-,value=-}{-,Fachschaft=stud-fs,STUPA-Referat=stud-rf,Studentische Hochschulgruppe=stud-hg,Fakultät=faculty,Hochschuleinrichtung=hs-institution} \CustomChoiceMenuDefault{pa-institution-type}{}{width=\linewidth,default=-,value=-}{-,Fachschaft=stud-fs,STUPA-Referat=stud-rf,Studentische Hochschulgruppe=stud-hg,Fakultät=faculty,Hochschuleinrichtung=hs-institution}
} \\ } \\
\textbf{Name der Institution} & \multicolumn{2}{p{0.73\textwidth}}{ \textbf{Name der Institution} & \multicolumn{2}{p{0.73\textwidth}}{
\CustomTextFieldDefault{pa-institution}{}{Institution}{width=\linewidth} \CustomTextFieldDefault{pa-institution}{}{Institution}{width=\linewidth}
} \\ } \\
\end{tabular} \end{tabular}
} }
% Abschnitt 2: Ansprechperson
\FormSection{Ansprechperson}{%
\begin{tabular}{@{}p{0.3\textwidth}p{0.35\textwidth}p{0.35\textwidth}@{}}
\textbf{Vorname, Name} & \CustomTextFieldDefault{pa-first-name}{}{Vorname}{width=\linewidth} & \CustomTextFieldDefault{pa-last-name}{}{Nachname}{width=\linewidth} \\
\textbf{Fakultät} & \multicolumn{2}{p{0.73\textwidth}}{
\CustomChoiceMenuDefault{pa-course}{}{width=\linewidth,default=-}{-,INF,ESB,LS,TEC,TEX,NXT}
} \\
\textbf{Rolle} & \multicolumn{2}{p{0.73\textwidth}}{
\CustomChoiceMenuDefault{pa-role}{}{width=\linewidth,default=-}{-,Student,Professor,Mitarbeiter,ASTA,Referatsleitung,Fachschaftsvorstand}
} \\
\textbf{E-Mail-Adresse} & \multicolumn{2}{p{0.73\textwidth}}{
\CustomTextFieldDefault{pa-email}{}{E-Mail-Addresse}{width=\linewidth}
} \\
\end{tabular}
}
% Abschnitt 3: Allgmeine Informationen zum Projekt
\FormSection{Allgemeine Informationen zum Projekt}{%
\begin{tabular}{@{}p{0.3\textwidth}p{0.35\textwidth}p{0.35\textwidth}@{}}
\textbf{Projektname} & \multicolumn{2}{p{0.73\textwidth}}{
\CustomTextFieldDefault{pa-project-name}{}{Projektname}{width=\linewidth}
} \\
% Sofern zutreffend: Bekannte Anzahl der Teilnehmer
\multicolumn{2}{p{0.667\textwidth}}{\hspace{-6pt}\textbf{Anzahl der stud. Teilnehmer (sofern bekannt)}} & {
\CustomTextFieldDefault{pa-participants}{}{Anzahl der Teilnehmer}{width=\linewidth}
} \\
\textbf{Teilnehmende Fakultäten} & \multicolumn{2}{p{0.73\textwidth}}{
%\CustomChoiceMenuDefault{pa-participing-faculties}{}{width=\linewidth,default=-}{-,Hochschulöffentlich=ALL,INF,ESB,LS,TEC,TEX,NXT}
\raisebox{-1pt}{\CheckBox[
radio,
name=pa-participating-faculties-inf,
width=1em,
height=1em
]{}} INF\quad
\raisebox{-1pt}{\CheckBox[
radio,
name=pa-participating-faculties-esb,
width=1em,
height=1em
]{}} ESB\quad
\raisebox{-1pt}{\CheckBox[
radio,
name=pa-participating-faculties-ls,
width=1em,
height=1em
]{}} LS\quad
\raisebox{-1pt}{\CheckBox[
radio,
name=pa-participating-faculties-tec,
width=1em,
height=1em
]{}} TEC\quad
\raisebox{-1pt}{\CheckBox[
radio,
name=pa-participating-faculties-tex,
width=1em,
height=1em
]{}} TEX\quad
\raisebox{-1pt}{\CheckBox[
radio,
name=pa-participating-faculties-nxt,
width=1em,
height=1em
]{}} NXT\quad
\raisebox{-1pt}{\CheckBox[
radio,
name=pa-participating-faculties-open,
width=1em,
height=1em
]{}} Öffentlich
} \\
\end{tabular}
% Validate: E-Mail-Adresse \begin{tabular}{@{}p{0.3\textwidth}p{0.35\textwidth}p{0.35\textwidth}@{}}
\newcommand{\validateEmail}{\detokenize{ \textbf{Antragssumme (insg.)} & & \hspace{\fill} \CustomTextFieldDefault{pa-requested-amount-euro}{}{Antragssumme (\euro)}{width=6em,align=2,default=0.00}~\euro \\
var email = event.value; \textbf{Projektzeitraum (von, bis)} & & \hspace{\fill} \CustomTextFieldDefault{pa-start-date}{}{von}{width=0.4\linewidth,default=MM-JJJJ,align=1} \CustomTextFieldDefault{pa-end-date}{}{bis}{width=0.4\linewidth,default=MM-JJJJ,align=1}{\BeginAccSupp{ActualText=}\color{white}~\euro\EndAccSupp{}} \\
if (email && !/^[a-zA-Z0-9._\%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/.test(email)) { /*$*/ \end{tabular}
app.alert("Ungueltige E-Mail-Adresse: " + email + ". Bitte geben Sie eine gueltige E-Mail-Adresse ein."); }
event.rc = false;
}
}}
% Abschnitt 2: Ansprechperson \FormSection{Art der Maßnahme}{
\FormSection{Ansprechperson}{% \vspace{0.5em}
\begin{tabular}{@{}p{0.3\textwidth}p{0.35\textwidth}p{0.35\textwidth}@{}} \begin{minipage}{1.05\textwidth}
\textbf{Vorname, Name} & \CustomTextFieldDefault{pa-first-name}{}{Vorname}{width=\linewidth} & \CustomTextFieldDefault{pa-last-name}{}{Nachname}{width=\linewidth} \\ \setstretch{1.0}\color{black}\dinfont\small
\textbf{Fakultät} & \multicolumn{2}{p{0.73\textwidth}}{ Sofern die Maßnahme eine bekannte Art der Finanzierung nach VWV darstellt, kann diese zur besseren Einordnung angegeben werden.
\CustomChoiceMenuDefault{pa-course}{}{width=\linewidth,default=-}{-,INF,ESB,LS,TEC,TEX,NXT} \vspace{1em}
} \\ \end{minipage}
\textbf{Rolle} & \multicolumn{2}{p{0.73\textwidth}}{
\CustomChoiceMenuDefault{pa-role}{}{width=\linewidth,default=-}{-,Student,Professor,Mitarbeiter,ASTA,Referatsleitung,Fachschaftsvorstand}
} \\
\textbf{E-Mail-Adresse} & \multicolumn{2}{p{0.73\textwidth}}{
\CustomTextFieldDefault{pa-email}{}{E-Mail-Addresse}{width=\linewidth,validate=\validateEmail}
} \\
\end{tabular}
}
% Abschnitt 3: Allgmeine Informationen zum Projekt % Drop-down menu
\FormSection{Allgemeine Informationen zum Projekt}{% \CustomChoiceMenuDefault{pa-qsm-financing}{}{width=1.05\textwidth,default=-}{
% Validate: Teilnehmerzahl >= 0 und integer {Finanzierung zusätzlicher Lehr- und Seminarangebote=vwv-3-2-1-1},
\newcommand{\validateParticipants}{\detokenize{ {Fachspezifische Studienprojekte=vwv-3-2-1-2},
if (isNaN(event.value) || parseInt(event.value) != parseFloat(event.value) || parseInt(event.value) < 0) { {Hochschuldidaktische Fort- und Weiterbildungsmaßnahmen=vwv-3-2-1-3},
app.alert("Ungueltige Teilnehmerzahl: " + event.value + ". Bitte geben Sie eine positive ganze Zahl ein."); {Verbesserung/Ausbau von Serviceeinrichtungen sowie Infrastruktur=vwv-3-2-2-1},
event.rc = false; {Lehr- und Lernmaterialien=vwv-3-2-2-2},
} {Durchführung von Exkursionen=vwv-3-2-2-3},
}} {Finanzierung von infrastrukturellen Begleit- und Anpassungsmaßnahmen=vwv-3-2-2-4},
{Verbesserung der Beratungsangebote für Studierende=vwv-3-2-3-1},
{Studium Generale und fachübergreifende Lehrangebote=vwv-3-2-3-2},
{Sonstige Maßnahmen im Interesse der Studierendenschaft=vwv-3-2-3-3}
}\vspace{-1em}
}
\begin{tabular}{@{}p{0.3\textwidth}p{0.35\textwidth}p{0.35\textwidth}@{}} % \Submit{Absenden}
\textbf{Projektname} & \multicolumn{2}{p{0.73\textwidth}}{ }
\CustomTextFieldDefault{pa-project-name}{}{Projektname}{width=\linewidth}
} \\
% Sofern zutreffend: Bekannte Anzahl der Teilnehmer
\multicolumn{2}{p{0.667\textwidth}}{\hspace{-6pt}\textbf{Anzahl der stud. Teilnehmer (sofern bekannt)}} & {
\CustomTextFieldDefault{pa-participants}{}{Anzahl der Teilnehmer}{width=\linewidth,align=2,default=0,validate=\validateParticipants}
} \\
\textbf{Teilnehmende Fakultäten} & \multicolumn{2}{p{0.73\textwidth}}{
%\CustomChoiceMenuDefault{pa-participing-faculties}{}{width=\linewidth,default=-}{-,Hochschulöffentlich=ALL,INF,ESB,LS,TEC,TEX,NXT}
\raisebox{-1pt}{\CheckBox[
radio,
name=pa-participating-faculties-inf,
width=1em,
height=1em
]{}} INF\quad
\raisebox{-1pt}{\CheckBox[
radio,
name=pa-participating-faculties-esb,
width=1em,
height=1em
]{}} ESB\quad
\raisebox{-1pt}{\CheckBox[
radio,
name=pa-participating-faculties-ls,
width=1em,
height=1em
]{}} LS\quad
\raisebox{-1pt}{\CheckBox[
radio,
name=pa-participating-faculties-tec,
width=1em,
height=1em
]{}} TEC\quad
\raisebox{-1pt}{\CheckBox[
radio,
name=pa-participating-faculties-tex,
width=1em,
height=1em
]{}} TEX\quad
\raisebox{-1pt}{\CheckBox[
radio,
name=pa-participating-faculties-nxt,
width=1em,
height=1em
]{}} NXT\quad
\raisebox{-1pt}{\CheckBox[
radio,
name=pa-participating-faculties-open,
width=1em,
height=1em
]{}} Öffentlich
} \\
\end{tabular}
% Input Validation: Date \paPage{QSM Projektbeschreibung}{
\newcommand{\validateStartDate}{\detokenize{ \FormSection{Projektbeschreibung}{%
if (event.value != "JJJJ-MM") { \vspace{0.5em}
var date = new Date(event.value); \begin{minipage}{1.05\textwidth}
if (date == "Invalid Date") { \setstretch{1.0}\color{black}\dinfont\small
app.alert("Ungueltiges Datum: " + event.value + ". Bitte geben Sie ein gueltiges Datum im Format JJJJ-MM ein."); Bitte beschreiben Sie hier das Projekt, die Ziele und die geplanten Maßnahmen.
event.rc = false; \vspace{1em}
} else { \end{minipage}
event.value = date.toISOString().slice(0, 7);
}
if (this.getField("pa-end-date").value != "JJJJ-MM") {
var endDate = new Date(this.getField("pa-end-date").value);
if (date >= endDate) {
app.alert("Das Startdatum muss vor dem Enddatum liegen.");
event.rc = false;
}
}
}
}}
% Input Validation: End Date % Textfeld für die Projektbeschreibung
\newcommand{\validateEndDate}{\detokenize{ \TextField[
if (event.value != "JJJJ-MM") { name=pa-project-description,
var date = new Date(event.value); multiline,
if (date == "Invalid Date") { width=1.055\textwidth,
app.alert("Ungueltiges Datum: " + event.value + ". Bitte geben Sie ein gueltiges Datum im Format JJJJ-MM ein."); height=26\baselineskip,
event.rc = false; bordercolor=black,
} else { backgroundcolor=white,
event.value = date.toISOString().slice(0, 7); charsize=12pt,
} align=0,
if (this.getField("pa-start-date").value != "JJJJ-MM") { readonly=\isReadOnlyVariant
var startDate = new Date(this.getField("pa-start-date").value); ]{}\vspace{-1.5em}
if (startDate >= date) { }
app.alert("Das Enddatum muss nach dem Startdatum liegen."); }
event.rc = false;
}
}
}
}}
\begin{tabular}{@{}p{0.3\textwidth}p{0.35\textwidth}p{0.35\textwidth}@{}} % Seite für Kostenaufstellung
\textbf{Antragssumme (insg.)} & & \hspace{\fill} \CustomTextFieldDefault{pa-requested-amount-euro-sum}{}{Antragssumme (\euro)}{width=6em,align=2,default={0,00},validate=\validateCurrency}~\euro \\ \iffalse
\textbf{Projektzeitraum (von, bis)} & & \hspace{\fill} \CustomTextFieldDefault{pa-start-date}{}{von}{width=0.4\linewidth,default=JJJJ-MM,align=1,validate=\validateStartDate} \CustomTextFieldDefault{pa-end-date}{}{bis}{width=0.4\linewidth,default=JJJJ-MM,align=1,validate=\validateEndDate}{\BeginAccSupp{ActualText=}\color{white}~\euro\EndAccSupp{}} \\ Tabelle mit:
\end{tabular} - Index (hardcoded)
} - Bezeichnung
- Kosten (Euro)
\FormSection{Art der Maßnahme}{ Hinweis, dass pro Position ein Beiblatt Vergleichsangebote eingereicht werden muss.
\vspace{0.5em} \fi
\begin{minipage}{1.05\textwidth} \paPage{QSM Kostenaufstellung}{
\setstretch{1.0}\color{black}\dinfont\small \FormSection{Kostenaufstellung}{%
Sofern die Maßnahme eine bekannte Art der Finanzierung nach VWV darstellt, kann diese zur besseren Einordnung angegeben werden. \vspace{0.5em}
\vspace{1em} \begin{minipage}{1.05\textwidth}
\end{minipage} \setstretch{1.0}\color{black}\dinfont\small
Bitte tragen Sie hier die Kosten für das Projekt ein.
Pro Position muss ein Beiblatt Vergleichsangebote eingereicht werden.
\vspace{1em}
\end{minipage}
% Drop-down menu % JS-Code to update cell on blur of any number field
\CustomChoiceMenuDefault{pa-qsm-financing}{}{width=1.05\textwidth,default=-}{ \newcommand{\updateField}{\detokenize{
{Finanzierung zusätzlicher Lehr- und Seminarangebote=vwv-3-2-1-1}, var total = 0;
{Fachspezifische Studienprojekte=vwv-3-2-1-2}, for (var i = 1; i <= 24; i++) {
{Hochschuldidaktische Fort- und Weiterbildungsmaßnahmen=vwv-3-2-1-3}, var amountField = this.getField("pa-cost-" + i + "-amount-euro");
{Verbesserung/Ausbau von Serviceeinrichtungen sowie Infrastruktur=vwv-3-2-2-1}, if (amountField) {
{Lehr- und Lernmaterialien=vwv-3-2-2-2}, var value = parseFloat(amountField.value) || 0;
{Durchführung von Exkursionen=vwv-3-2-2-3}, total += value;
{Finanzierung von infrastrukturellen Begleit- und Anpassungsmaßnahmen=vwv-3-2-2-4}, }
{Verbesserung der Beratungsangebote für Studierende=vwv-3-2-3-1}, }
{Studium Generale und fachübergreifende Lehrangebote=vwv-3-2-3-2}, this.getField("pa-requested-amount-euro").value = total.toFixed(2);
{Sonstige Maßnahmen im Interesse der Studierendenschaft=vwv-3-2-3-3} }}
}\vspace{-1em}
}
% \Submit{Absenden} \newcommand{\validateField}{\detokenize{
} % Validate that the field is a float; Gets `event` and `app` as arguments
if (event.value && (isNaN(event.value.replace(",", ".")) || parseFloat(event.value) < 0)) {
app.alert("Ungueltiger Betrag: " + event.value + ". Bitte geben Sie eine gueltige Zahl ein.");
event.rc = false;
} else {
\updateField
}
}}
\paPage{QSM Projektbeschreibung}{ % Tabelle für die Kostenaufstellung
\FormSection{Projektbeschreibung}{% \begin{tabular}{@{}p{0.02\textwidth}p{0.82\textwidth}p{0.16\textwidth}@{}}
\vspace{0.5em} % Index
\begin{minipage}{1.05\textwidth} \textbf{\#} & \multicolumn{1}{c}{\textbf{Bezeichnung}} & \multicolumn{1}{c}{\textbf{Kosten (\euro)}} \\
\setstretch{1.0}\color{black}\dinfont\small % Insg. 24 Positionen
Bitte beschreiben Sie hier das Projekt, die Ziele und die geplanten Maßnahmen. 1 & \CustomTextFieldDefault{pa-cost-1-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-1-amount-euro}{}{Kosten}{width=6em,align=2,default=0.00,onchange=\updateField,onblur=\updateField,validate=\validateField} \\
\vspace{1em} 2 & \CustomTextFieldDefault{pa-cost-2-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-2-amount-euro}{}{Kosten}{width=6em,align=2,default=0.00,onchange=\updateField,onblur=\updateField} \\
\end{minipage} 3 & \CustomTextFieldDefault{pa-cost-3-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-3-amount-euro}{}{Kosten}{width=6em,align=2,default=0.00,onchange=\updateField,onblur=\updateField} \\
4 & \CustomTextFieldDefault{pa-cost-4-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-4-amount-euro}{}{Kosten}{width=6em,align=2,default=0.00,onchange=\updateField,onblur=\updateField} \\
5 & \CustomTextFieldDefault{pa-cost-5-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-5-amount-euro}{}{Kosten}{width=6em,align=2,default=0.00,onchange=\updateField,onblur=\updateField} \\
6 & \CustomTextFieldDefault{pa-cost-6-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-6-amount-euro}{}{Kosten}{width=6em,align=2,default=0.00,onchange=\updateField,onblur=\updateField} \\
7 & \CustomTextFieldDefault{pa-cost-7-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-7-amount-euro}{}{Kosten}{width=6em,align=2,default=0.00,onchange=\updateField,onblur=\updateField} \\
8 & \CustomTextFieldDefault{pa-cost-8-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-8-amount-euro}{}{Kosten}{width=6em,align=2,default=0.00,onchange=\updateField,onblur=\updateField} \\
9 & \CustomTextFieldDefault{pa-cost-9-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-9-amount-euro}{}{Kosten}{width=6em,align=2,default=0.00,onchange=\updateField,onblur=\updateField} \\
10 & \CustomTextFieldDefault{pa-cost-10-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-10-amount-euro}{}{Kosten}{width=6em,align=2,default=0.00,onchange=\updateField,onblur=\updateField} \\
11 & \CustomTextFieldDefault{pa-cost-11-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-11-amount-euro}{}{Kosten}{width=6em,align=2,default=0.00,onchange=\updateField,onblur=\updateField} \\
12 & \CustomTextFieldDefault{pa-cost-12-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-12-amount-euro}{}{Kosten}{width=6em,align=2,default=0.00,onchange=\updateField,onblur=\updateField} \\
13 & \CustomTextFieldDefault{pa-cost-13-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-13-amount-euro}{}{Kosten}{width=6em,align=2,default=0.00,onchange=\updateField,onblur=\updateField} \\
14 & \CustomTextFieldDefault{pa-cost-14-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-14-amount-euro}{}{Kosten}{width=6em,align=2,default=0.00,onchange=\updateField,onblur=\updateField} \\
15 & \CustomTextFieldDefault{pa-cost-15-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-15-amount-euro}{}{Kosten}{width=6em,align=2,default=0.00,onchange=\updateField,onblur=\updateField} \\
16 & \CustomTextFieldDefault{pa-cost-16-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-16-amount-euro}{}{Kosten}{width=6em,align=2,default=0.00,onchange=\updateField,onblur=\updateField} \\
17 & \CustomTextFieldDefault{pa-cost-17-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-17-amount-euro}{}{Kosten}{width=6em,align=2,default=0.00,onchange=\updateField,onblur=\updateField} \\
18 & \CustomTextFieldDefault{pa-cost-18-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-18-amount-euro}{}{Kosten}{width=6em,align=2,default=0.00,onchange=\updateField,onblur=\updateField} \\
19 & \CustomTextFieldDefault{pa-cost-19-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-19-amount-euro}{}{Kosten}{width=6em,align=2,default=0.00,onchange=\updateField,onblur=\updateField} \\
20 & \CustomTextFieldDefault{pa-cost-20-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-20-amount-euro}{}{Kosten}{width=6em,align=2,default=0.00,onchange=\updateField,onblur=\updateField} \\
21 & \CustomTextFieldDefault{pa-cost-21-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-21-amount-euro}{}{Kosten}{width=6em,align=2,default=0.00,onchange=\updateField,onblur=\updateField} \\
22 & \CustomTextFieldDefault{pa-cost-22-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-22-amount-euro}{}{Kosten}{width=6em,align=2,default=0.00,onchange=\updateField,onblur=\updateField} \\
23 & \CustomTextFieldDefault{pa-cost-23-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-23-amount-euro}{}{Kosten}{width=6em,align=2,default=0.00,onchange=\updateField,onblur=\updateField} \\
24 & \CustomTextFieldDefault{pa-cost-24-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-24-amount-euro}{}{Kosten}{width=6em,align=2,default=0.00,onchange=\updateField,onblur=\updateField} \\
\textbf{$\Sigma$} & & \CustomTextFieldDefault{pa-requested-amount-euro}{}{Summe}{width=6em,align=2,default=0.00} \\
\end{tabular}
}
}
\paPage{QSM Checklisten}{
\FormSection{Checkliste: QS-Mittel}{
\vspace{0.5em}
\begin{minipage}{1.05\textwidth}
\setstretch{1.0}\color{black}\dinfont
Durch QS-Mittel finanzierte Projekte müssen der \href{https://www.landesrecht-bw.de/bsbw/document/VVBW-VVBW000034426}{Verwaltungsvorschrift des Landes} über die Verwendung selbiger entsprechen.
Dieses Beiblatt dient der Sicherstellung, dass die Anforderungen erfüllt werden.
\vspace{1em}
\end{minipage}
% Textfeld für die Projektbeschreibung %% Tabelle; Checkboxen auf rechter Seite, Text links
\TextField[ \begin{tabular}{@{}p{\textwidth}p{0.05\textwidth}@{}}
name=pa-project-description, % Der Antrag beinhaltet keine zeitlich unbefristeten Stellenfinanzierungen
multiline, \textbf{Die Maßnahme beinhaltet keine zeitlich unbefristeten Stellenfinanzierungen} & \raisebox{-1pt}{\CheckBox[
width=1.055\textwidth, name=pa-qsm-stellenfinanzierungen,
height=26\baselineskip, width=1em,
bordercolor=black, height=1em
backgroundcolor=white, ]{}} \\
charsize=12pt, % Die Maßnahme kommt den Studierenden zugute (vgl. VWV)
align=0, \textbf{Die Maßnahme kommt den Studierenden zugute (vgl. VWV)} & \raisebox{-1pt}{\CheckBox[
readonly=\isReadOnlyVariant name=pa-qsm-studierende,
]{}\vspace{-1.5em} width=1em,
} height=1em
} ]{}} \\
% Es findet keine individuelle Förderung von Studierenden statt
\textbf{Es findet keine individuelle Förderung von Studierenden statt} & \raisebox{-1pt}{\CheckBox[
name=pa-qsm-individuell,
width=1em,
height=1em
]{}} \\
\end{tabular}
}
% Seite für Kostenaufstellung \FormSection{Checkliste: Exkursionen}{
\iffalse %% Tabelle; Checkboxen auf rechter Seite, Text links
Tabelle mit: \begin{tabular}{@{}p{\textwidth}p{0.05\textwidth}@{}}
- Index (hardcoded) % Der Antrag beinhaltet keine zeitlich unbefristeten Stellenfinanzierungen
- Bezeichnung \textbf{Die Exkursion wurde von der Fakultät genehmigt} & \raisebox{-1pt}{\CheckBox[
- Kosten (Euro) name=pa-qsm-exkursion-genehmigt,
width=1em,
height=1em
]{}} \\
% Die Maßnahme kommt den Studierenden zugute (vgl. VWV)
\textbf{Die Exkursion wird maßgeblich von der Fakultät bezuschusst} & \raisebox{-1pt}{\CheckBox[
name=pa-qsm-exkursion-bezuschusst,
width=1em,
height=1em
]{}}
\end{tabular}
}
Hinweis, dass pro Position ein Beiblatt Vergleichsangebote eingereicht werden muss. % Bekannte Arten der Finanzierung nach VWV; Sofern die Maßnahme eine bekannte Art der Finanzierung nach VWV darstellt, kann diese zur besseren Einordnung angegeben werden.
\fi % Diese sind:
\paPage{QSM Kostenaufstellung}{ % (Stufe 1)
\FormSection{Kostenaufstellung}{% % - Finanzierung zusätzlicher, auch fachübergreifender Lehr- und Seminarangebote
\vspace{0.5em} % - Fachspezifische Studienprojekte
\begin{minipage}{1.05\textwidth} % - Hochschuldidaktische Fort- und Weiterbildungsmaßnahmen
\setstretch{1.0}\color{black}\dinfont\small % (Stufe 2)
Hier bitte alle Kosten im Rahmen des Projektes eintragen. Pro Position ist ein Beiblatt "Vergleichsangebote" anzuhängen. % - Verbesserung sowie Ausbau der Angebote von Serviceeinrichtungen der Hochschule sowie der lehr- und lernbezogenen Infrastruktur
\vspace{1em} % - Lehr- und Lernmaterialien
\end{minipage} % - Durchführung von Exkursionen im Pflicht- und Wahlpflichtbereich sowie Exkursionen zur Vertiefung des Lehrinhalts
% - Finanzierung von infrastrukturellen Begleit- und Anpassungsmaßnahmen
% (Stufe 3)
% - Verbesserung der Beratungsangebote für Studierende
% - Studium Generale, fachübergreifende Lehrangebote
% - Sonstige Maßnahmen, die mittelbar der Verbesserung der Qualität von Studium und Lehre dienen und die Vielfalt der Studierendenschaft und Studienangebote widerspiegeln, hochschulübergreifende Projekte
%
% Falls keine zutrifft, muss eine Begründung, warum die Maßnahme trotzdem förderungswürdig ist, angegeben werden.
\FormSection{Checkliste: Anhänge}{
\vspace{0.5em}
\begin{minipage}{1.05\textwidth}
\setstretch{1.0}\color{black}\dinfont
Hier bitte alle mit dem Dokument eingereichten Dokumente ankreuzen:
\vspace{1em}
\end{minipage}
% JS-Code to update cell on blur of any number field \begin{tabular}{@{}p{\textwidth}p{0.05\textwidth}@{}}
\newcommand{\updateSum}{\detokenize{ \textbf{Beiblatt Vergleichsangebote} & \raisebox{-1pt}{\CheckBox[
var total = 0; name=pa-anh-vergleichsangebote,
for (var i = 1; i <= 24; i++) { width=1em,
var amountField = this.getField("pa-cost-" + i + "-amount-euro"); height=1em
if (amountField) { ]{}} \\
var amount = String(amountField.value ?? "0").replaceAll(".", "").replaceAll(",", "."); Jeweils ein Formular pro Position siehe Kostenaufstellung & \\
var value = parseFloat(amount) || 0; \textbf{Genehmigter Exkursionsantrag der Fakultät} & \raisebox{-1pt}{\CheckBox[
total += value; name=pa-anh-fakultaet,
amountField.value = value.toLocaleString("de-DE", { minimumFractionDigits: 2, maximumFractionDigits: 2 }); width=1em,
} height=1em
} ]{}} \\
this.getField("pa-requested-amount-euro-sum").value = total.toLocaleString("de-DE", { minimumFractionDigits: 2, maximumFractionDigits: 2 }); Nur bei Exkursionen kann je nach Fakultät unterschiedlich sein &
}} \end{tabular}
}
\newcommand{\validateAndUpdateSum}{ % \Submit{Absenden}
\validateCurrency }
\updateSum
}
% Tabelle für die Kostenaufstellung \paPage{Vergleichsangebote}{
\begin{tabular}{@{}p{0.02\textwidth}p{0.82\textwidth}p{0.16\textwidth}@{}} % Auswahl der Position in der Kostenaufstellung, für die Vergleichsangebote eingereicht werden; Bezeichnung des benötigten Angebots
% Index \vspace{-2em}
\textbf{\#} & \multicolumn{1}{c}{\textbf{Bezeichnung}} & \multicolumn{1}{c}{\textbf{Kosten (\euro)}} \\ \FormSection{}{%
% Insg. 24 Positionen % Nebeneinander: Links Position, rechts Bezeichnung; Tabellenzelle; Ohne Überschrift; Ohne Bezeichner (Inhalt des Drop-downs enthält "Position #")
1 & \CustomTextFieldDefault{pa-cost-1-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-1-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\ \begin{tabular}{@{}p{0.1\textwidth}p{0.92\textwidth}@{}}
2 & \CustomTextFieldDefault{pa-cost-2-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-2-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\ \textbf{Position} & \textbf{Bezeichnung} \\
3 & \CustomTextFieldDefault{pa-cost-3-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-3-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\ \CustomChoiceMenuDefault{pa-offer-position}{}{width=\linewidth,default=-}{
4 & \CustomTextFieldDefault{pa-cost-4-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-4-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\ -=-,
5 & \CustomTextFieldDefault{pa-cost-5-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-5-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\ Pos. 1=1,
6 & \CustomTextFieldDefault{pa-cost-6-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-6-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\ Pos. 2=2,
7 & \CustomTextFieldDefault{pa-cost-7-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-7-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\ Pos. 3=3,
8 & \CustomTextFieldDefault{pa-cost-8-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-8-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\ Pos. 4=4,
9 & \CustomTextFieldDefault{pa-cost-9-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-9-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\ Pos. 5=5,
10 & \CustomTextFieldDefault{pa-cost-10-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-10-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\ Pos. 6=6,
11 & \CustomTextFieldDefault{pa-cost-11-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-11-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\ Pos. 7=7,
12 & \CustomTextFieldDefault{pa-cost-12-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-12-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\ Pos. 8=8,
13 & \CustomTextFieldDefault{pa-cost-13-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-13-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\ Pos. 9=9,
14 & \CustomTextFieldDefault{pa-cost-14-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-14-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\ Pos. 10=10,
15 & \CustomTextFieldDefault{pa-cost-15-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-15-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\ Pos. 11=11,
16 & \CustomTextFieldDefault{pa-cost-16-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-16-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\ Pos. 12=12,
17 & \CustomTextFieldDefault{pa-cost-17-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-17-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\ Pos. 13=13,
18 & \CustomTextFieldDefault{pa-cost-18-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-18-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\ Pos. 14=14,
19 & \CustomTextFieldDefault{pa-cost-19-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-19-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\ Pos. 15=15,
20 & \CustomTextFieldDefault{pa-cost-20-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-20-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\ Pos. 16=16,
21 & \CustomTextFieldDefault{pa-cost-21-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-21-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\ Pos. 17=17,
22 & \CustomTextFieldDefault{pa-cost-22-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-22-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\ Pos. 18=18,
23 & \CustomTextFieldDefault{pa-cost-23-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-23-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\ Pos. 19=19,
24 & \CustomTextFieldDefault{pa-cost-24-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-24-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\ Pos. 20=20,
\textbf{$\Sigma$} & & \CustomTextFieldDefault{pa-requested-amount-euro-sum}{}{Summe}{width=6em,align=2,default={0,00},validate=\validateCurrency} \\ Pos. 21=21,
\end{tabular} Pos. 22=22,
} Pos. 23=23,
} Pos. 24=24
} & \CustomTextFieldDefault{pa-offer-name}{}{Bezeichnung}{width=\linewidth} \\
\end{tabular}
}
\paPage{QSM Checklisten}{ \FormSection{Angebot 1 (bevorzugt)}{%
\FormSection{Checkliste: QS-Mittel}{ \begin{tabular}{@{}p{0.3\textwidth}p{0.35\textwidth}p{0.35\textwidth}@{}}
\vspace{0.5em} \textbf{Bezeichnung} & \multicolumn{2}{p{0.73\textwidth}}{
\begin{minipage}{1.05\textwidth} \CustomTextFieldDefault{pa-offer-1-provider}{}{Anbieter}{width=\linewidth}
\setstretch{1.0}\color{black}\dinfont } \\
Durch QS-Mittel finanzierte Projekte müssen der \href{https://www.landesrecht-bw.de/bsbw/document/VVBW-VVBW000034426}{Verwaltungsvorschrift des Landes} über die Verwendung selbiger entsprechen. \textbf{Angebotssumme} & & \hspace{\fill} \CustomTextFieldDefault{pa-offer-1-amount-euro}{}{Angebotssumme (\euro)}{width=6em,align=2,default=0.00}~\euro \\
Dieses Beiblatt dient der Sicherstellung, dass die Anforderungen erfüllt werden. \end{tabular}
\vspace{1em} \vspace{0.5em}\\
\end{minipage} \textbf{Kommentar / Begründung:}\vspace{0.5em}\\
\TextField[
name=pa-offer-1-comment,
multiline,
width=1.055\textwidth,
height=3\baselineskip,
bordercolor=black,
backgroundcolor=white,
charsize=12pt,
align=0,
readonly=\isReadOnlyVariant
]{}\vspace{-1.5em}
}
%% Tabelle; Checkboxen auf rechter Seite, Text links \FormSection{Angebot 2}{%
\begin{tabular}{@{}p{\textwidth}p{0.05\textwidth}@{}} \begin{tabular}{@{}p{0.3\textwidth}p{0.35\textwidth}p{0.35\textwidth}@{}}
% Der Antrag beinhaltet keine zeitlich unbefristeten Stellenfinanzierungen \textbf{Bezeichnung} & \multicolumn{2}{p{0.73\textwidth}}{
\textbf{Die Maßnahme beinhaltet keine zeitlich unbefristeten Stellenfinanzierungen} & \raisebox{-1pt}{\CheckBox[ \CustomTextFieldDefault{pa-offer-2-provider}{}{Anbieter}{width=\linewidth}
name=pa-qsm-stellenfinanzierungen, } \\
width=1em, \textbf{Angebotssumme} & & \hspace{\fill} \CustomTextFieldDefault{pa-offer-2-amount-euro}{}{Angebotssumme (\euro)}{width=6em,align=2,default=0.00}~\euro \\
height=1em \end{tabular}
]{}} \\ \vspace{0.5em}\\
% Die Maßnahme kommt den Studierenden zugute (vgl. VWV) \textbf{Kommentar:}\vspace{0.5em}\\
\textbf{Die Maßnahme kommt den Studierenden zugute (vgl. VWV)} & \raisebox{-1pt}{\CheckBox[ \TextField[
name=pa-qsm-studierende, name=pa-offer-2-comment,
width=1em, multiline,
height=1em width=1.055\textwidth,
]{}} \\ height=2\baselineskip,
% Es findet keine individuelle Förderung von Studierenden statt bordercolor=black,
\textbf{Es findet keine individuelle Förderung von Studierenden statt} & \raisebox{-1pt}{\CheckBox[ backgroundcolor=white,
name=pa-qsm-individuell, charsize=12pt,
width=1em, align=0,
height=1em readonly=\isReadOnlyVariant
]{}} \\ ]{}\vspace{-1.5em}
\end{tabular} }
}
\FormSection{Checkliste: Exkursionen}{ \FormSection{Angebot 3}{%
%% Tabelle; Checkboxen auf rechter Seite, Text links \begin{tabular}{@{}p{0.3\textwidth}p{0.35\textwidth}p{0.35\textwidth}@{}}
\begin{tabular}{@{}p{\textwidth}p{0.05\textwidth}@{}} \textbf{Bezeichnung} & \multicolumn{2}{p{0.73\textwidth}}{
% Der Antrag beinhaltet keine zeitlich unbefristeten Stellenfinanzierungen \CustomTextFieldDefault{pa-offer-3-provider}{}{Anbieter}{width=\linewidth}
\textbf{Die Exkursion wurde von der Fakultät genehmigt} & \raisebox{-1pt}{\CheckBox[ } \\
name=pa-qsm-exkursion-genehmigt, \textbf{Angebotssumme} & & \hspace{\fill} \CustomTextFieldDefault{pa-offer-3-amount-euro}{}{Angebotssumme (\euro)}{width=6em,align=2,default=0.00}~\euro \\
width=1em, \end{tabular}
height=1em \vspace{0.5em}\\
]{}} \\ \textbf{Kommentar:}\vspace{0.5em}\\
% Die Maßnahme kommt den Studierenden zugute (vgl. VWV) \TextField[
\textbf{Die Exkursion wird maßgeblich von der Fakultät bezuschusst} & \raisebox{-1pt}{\CheckBox[ name=pa-offer-3-comment,
name=pa-qsm-exkursion-bezuschusst, multiline,
width=1em, width=1.055\textwidth,
height=1em height=2\baselineskip,
]{}} bordercolor=black,
\end{tabular} backgroundcolor=white,
} charsize=12pt,
align=0,
% Bekannte Arten der Finanzierung nach VWV; Sofern die Maßnahme eine bekannte Art der Finanzierung nach VWV darstellt, kann diese zur besseren Einordnung angegeben werden. readonly=\isReadOnlyVariant
% Diese sind: ]{}\vspace{-1.5em}
% (Stufe 1) }
% - Finanzierung zusätzlicher, auch fachübergreifender Lehr- und Seminarangebote }
% - Fachspezifische Studienprojekte \end{Form}
% - Hochschuldidaktische Fort- und Weiterbildungsmaßnahmen
% (Stufe 2)
% - Verbesserung sowie Ausbau der Angebote von Serviceeinrichtungen der Hochschule sowie der lehr- und lernbezogenen Infrastruktur
% - Lehr- und Lernmaterialien
% - Durchführung von Exkursionen im Pflicht- und Wahlpflichtbereich sowie Exkursionen zur Vertiefung des Lehrinhalts
% - Finanzierung von infrastrukturellen Begleit- und Anpassungsmaßnahmen
% (Stufe 3)
% - Verbesserung der Beratungsangebote für Studierende
% - Studium Generale, fachübergreifende Lehrangebote
% - Sonstige Maßnahmen, die mittelbar der Verbesserung der Qualität von Studium und Lehre dienen und die Vielfalt der Studierendenschaft und Studienangebote widerspiegeln, hochschulübergreifende Projekte
%
% Falls keine zutrifft, muss eine Begründung, warum die Maßnahme trotzdem förderungswürdig ist, angegeben werden.
\FormSection{Checkliste: Anhänge}{
\vspace{0.5em}
\begin{minipage}{1.05\textwidth}
\setstretch{1.0}\color{black}\dinfont
Hier bitte alle mit dem Dokument eingereichten Dokumente ankreuzen:
\vspace{1em}
\end{minipage}
\begin{tabular}{@{}p{\textwidth}p{0.05\textwidth}@{}}
\textbf{Beiblatt Vergleichsangebote} & \raisebox{-1pt}{\CheckBox[
name=pa-anh-vergleichsangebote,
width=1em,
height=1em
]{}} \\
Jeweils ein Formular pro Position siehe Kostenaufstellung & \\
\textbf{Genehmigter Exkursionsantrag der Fakultät} & \raisebox{-1pt}{\CheckBox[
name=pa-anh-fakultaet,
width=1em,
height=1em
]{}} \\
Nur bei Exkursionen kann je nach Fakultät unterschiedlich sein &
\end{tabular}
}
% \Submit{Absenden}
}
\paPage{Vergleichsangebote}{
% Auswahl der Position in der Kostenaufstellung, für die Vergleichsangebote eingereicht werden; Bezeichnung des benötigten Angebots
\vspace{-2em}
\FormSection{}{%
% Nebeneinander: Links Position, rechts Bezeichnung; Tabellenzelle; Ohne Überschrift; Ohne Bezeichner (Inhalt des Drop-downs enthält "Position #")
\begin{tabular}{@{}p{0.1\textwidth}p{0.92\textwidth}@{}}
\textbf{Position} & \textbf{Bezeichnung} \\
\CustomChoiceMenuDefault{pa-offer-position}{}{width=\linewidth,default=-}{
-=-,
Pos. 1=1,
Pos. 2=2,
Pos. 3=3,
Pos. 4=4,
Pos. 5=5,
Pos. 6=6,
Pos. 7=7,
Pos. 8=8,
Pos. 9=9,
Pos. 10=10,
Pos. 11=11,
Pos. 12=12,
Pos. 13=13,
Pos. 14=14,
Pos. 15=15,
Pos. 16=16,
Pos. 17=17,
Pos. 18=18,
Pos. 19=19,
Pos. 20=20,
Pos. 21=21,
Pos. 22=22,
Pos. 23=23,
Pos. 24=24
} & \CustomTextFieldDefault{pa-offer-name}{}{Bezeichnung}{width=\linewidth} \\
\end{tabular}
}
\FormSection{Angebot 1 (bevorzugt)}{%
\begin{tabular}{@{}p{0.3\textwidth}p{0.35\textwidth}p{0.35\textwidth}@{}}
\textbf{Bezeichnung} & \multicolumn{2}{p{0.73\textwidth}}{
\CustomTextFieldDefault{pa-offer-1-provider}{}{Anbieter}{width=\linewidth}
} \\
\textbf{Angebotssumme} & & \hspace{\fill} \CustomTextFieldDefault{pa-offer-1-amount-euro}{}{Angebotssumme (\euro)}{width=6em,align=2,default={0,00},validate=\validateCurrency}~\euro \\
\end{tabular}
\vspace{0.5em}\\
\textbf{Kommentar / Begründung:}\vspace{0.5em}\\
\TextField[
name=pa-offer-1-comment,
multiline,
width=1.055\textwidth,
height=3\baselineskip,
bordercolor=black,
backgroundcolor=white,
charsize=12pt,
align=0,
readonly=\isReadOnlyVariant
]{}\vspace{-1.5em}
}
\FormSection{Angebot 2}{%
\begin{tabular}{@{}p{0.3\textwidth}p{0.35\textwidth}p{0.35\textwidth}@{}}
\textbf{Bezeichnung} & \multicolumn{2}{p{0.73\textwidth}}{
\CustomTextFieldDefault{pa-offer-2-provider}{}{Anbieter}{width=\linewidth}
} \\
\textbf{Angebotssumme} & & \hspace{\fill} \CustomTextFieldDefault{pa-offer-2-amount-euro}{}{Angebotssumme (\euro)}{width=6em,align=2,default={0,00},validate=\validateCurrency}~\euro \\
\end{tabular}
\vspace{0.5em}\\
\textbf{Kommentar:}\vspace{0.5em}\\
\TextField[
name=pa-offer-2-comment,
multiline,
width=1.055\textwidth,
height=2\baselineskip,
bordercolor=black,
backgroundcolor=white,
charsize=12pt,
align=0,
readonly=\isReadOnlyVariant
]{}\vspace{-1.5em}
}
\FormSection{Angebot 3}{%
\begin{tabular}{@{}p{0.3\textwidth}p{0.35\textwidth}p{0.35\textwidth}@{}}
\textbf{Bezeichnung} & \multicolumn{2}{p{0.73\textwidth}}{
\CustomTextFieldDefault{pa-offer-3-provider}{}{Anbieter}{width=\linewidth}
} \\
\textbf{Angebotssumme} & & \hspace{\fill} \CustomTextFieldDefault{pa-offer-3-amount-euro}{}{Angebotssumme (\euro)}{width=6em,align=2,default={0,00},validate=\validateCurrency}~\euro \\
\end{tabular}
\vspace{0.5em}\\
\textbf{Kommentar:}\vspace{0.5em}\\
\TextField[
name=pa-offer-3-comment,
multiline,
width=1.055\textwidth,
height=2\baselineskip,
bordercolor=black,
backgroundcolor=white,
charsize=12pt,
align=0,
readonly=\isReadOnlyVariant
]{}\vspace{-1.5em}
}
}
\end{Form}

View File

@ -5,198 +5,179 @@
\newcommand{\isReadOnlyVariant}{false} \newcommand{\isReadOnlyVariant}{false}
\DeclareRobustCommand{\CustomTextField}[7]{\raisebox{#3}[#4][#5]{\TextField[ \DeclareRobustCommand{\CustomTextField}[7]{\raisebox{#3}[#4][#5]{\TextField[
print, print,
name=#1, name=#1,
width=1.7cm, width=1.7cm,
color=black, color=black,
backgroundcolor=white, backgroundcolor=white,
bordercolor=white, bordercolor=white,
value=#2, value=#2,
align=1, align=1,
readonly=\isReadOnlyVariant, format = { var f = this.getField('pa-id');
% On Hover show the altname as Tooltip (#6) f.textFont = 'NotoSans-Regular';
altname={#6}, },
onmouseover={if (event.target.display == display.hidden) event.target.display = display.visible;}, readonly=\isReadOnlyVariant,
#7 % On Hover show the altname as Tooltip (#6)
]{}}} altname={#6},
onmouseover={if (event.target.display == display.hidden) event.target.display = display.visible;},
#7
]{}}}
\DeclareRobustCommand{\CustomChoiceMenu}[7]{\raisebox{#3}[#4][#5]{\ChoiceMenu[ \DeclareRobustCommand{\CustomChoiceMenu}[7]{\raisebox{#3}[#4][#5]{\ChoiceMenu[
name=#1, name=#1,
color=black, color=black,
backgroundcolor=white, backgroundcolor=white,
value=#2, value=#2,
align=1, align=1,
combo, combo,
print, print,
readonly=\isReadOnlyVariant, readonly=\isReadOnlyVariant,
#6 #6
]{}{#7}}} ]{}{#7}}}
\DeclareRobustCommand{\CustomTextFieldThuge}[4]{\CustomTextField{#1}{#2}{-5pt}{0pt}{0pt}{#3}{ \DeclareRobustCommand{\CustomTextFieldThuge}[4]{\CustomTextField{#1}{#2}{-5pt}{0pt}{0pt}{#3}{
charsize=16pt, charsize=16pt,
height=1em, height=1em,
width=3.6cm, width=3.6cm,
backgroundcolor=black!5!white, readonly=true,
borderwidth=2pt, bordercolor=black,
color=black, backgroundcolor=black!5!white,
#4 borderwidth=2pt,
}} color=black,
#4
}}
\DeclareRobustCommand{\CustomTextFieldDefault}[4]{\CustomTextField{#1}{#2}{-4pt}{2pt}{2pt}{#3}{ \DeclareRobustCommand{\CustomTextFieldDefault}[4]{\CustomTextField{#1}{#2}{-4pt}{2pt}{2pt}{#3}{
charsize=12pt, charsize=12pt,
height=1.4em, height=1.4em,
width=5cm, width=5cm,
bordercolor=black, bordercolor=gray,
align=0, align=0,
#4 #4
}} }}
\DeclareRobustCommand{\CustomChoiceMenuDefault}[4]{\CustomChoiceMenu{#1}{#2}{-4pt}{2pt}{2pt}{ \DeclareRobustCommand{\CustomChoiceMenuDefault}[4]{\CustomChoiceMenu{#1}{#2}{-4pt}{2pt}{2pt}{
charsize=12pt, charsize=12pt,
height=1.4em, height=1.4em,
width=5cm, width=5cm,
bordercolor=black, bordercolor=black,
align=0, align=0,
#3 #3
}{#4}} }{#4}}
% Command für einen Abschnitt graue Box rund um den Abschnitt; Abschnittsname in der oberen linken Ecke % Command für einen Abschnitt graue Box rund um den Abschnitt; Abschnittsname in der oberen linken Ecke
% #1: Abschnittsname % #1: Abschnittsname
% #2: Abschnittsinhalt % #2: Abschnittsinhalt
\DeclareRobustCommand{\FormSection}[2]{ \DeclareRobustCommand{\FormSection}[2]{
\color{black} \color{black}
{\hspace{-1em}\small\textbf{#1}}\vspace{0.2em} {\hspace{-1em}\small\textbf{#1}}\vspace{0.2em}
% Create Box using mdframed % Create Box using mdframed
\begin{mdframed}[ \begin{mdframed}[
backgroundcolor=white, backgroundcolor=white,
hidealllines=true, hidealllines=true,
skipabove=0, skipabove=0,
skipbelow=0.7\baselineskip, skipbelow=0.7\baselineskip,
splitbottomskip=2pt, splitbottomskip=2pt,
splittopskip=4pt, splittopskip=4pt,
roundcorner=0pt, roundcorner=0pt,
topline=true, topline=true,
bottomline=true, bottomline=true,
leftline=true, leftline=true,
rightline=true, rightline=true,
linecolor=black linecolor=black
] ]
\begin{minipage}[t]{0.95\textwidth} \begin{minipage}[t]{0.95\textwidth}
\color{black}#2 \color{black}#2
\end{minipage} \end{minipage}
\end{mdframed} \end{mdframed}
} }
\newcommand{\paPage}[2]{ \newcommand{\paPage}[2]{
\newpage \newpage
\setlength{\imageHeight}{2cm*\real{\mainLogoScale}*\real{\logosScale}} \setlength{\imageHeight}{2cm*\real{\mainLogoScale}*\real{\logosScale}}
\begin{tikzpicture}[overlay, remember picture] \begin{tikzpicture}[overlay, remember picture]
\node[anchor=north west, inner sep=0pt, xshift=0.85cm, yshift=-1.5cm, opacity=0] (logo0) at (current page.north west) { \node[anchor=north west, inner sep=0pt, xshift=0.85cm, yshift=-1.5cm, opacity=0] (logo0) at (current page.north west) {
\includegraphics[height=\imageHeight]{\imagesPath/DUMMY_FOOT.png} \includegraphics[height=\imageHeight]{\imagesPath/DUMMY_FOOT.png}
}; };
\foreach \i in {1,...,\value{logoCounter}} { \foreach \i in {1,...,\value{logoCounter}} {
% Calculate name for i-1 % Calculate name for i-1
\pgfmathtruncatemacro{\prev}{\i-1} \pgfmathtruncatemacro{\prev}{\i-1}
\node[anchor=west, inner sep=0pt, xshift=-0.1cm, opacity=0.3] (logo\i) at (logo\prev.east) { \node[anchor=west, inner sep=0pt, xshift=-0.1cm, opacity=0.3] (logo\i) at (logo\prev.east) {
\makeatletter \makeatletter
\testarray{LogosScales}(\i) \testarray{LogosScales}(\i)
\setlength{\imageHeight}{1.5cm*\real{\temp@macro}*\real{\logosScale}} \setlength{\imageHeight}{1.5cm*\real{\temp@macro}*\real{\logosScale}}
\testarray{LogosExtensions}(\i) \testarray{LogosExtensions}(\i)
\let\extension\temp@macro \let\extension\temp@macro
\testarray{LogosOpacities}(\i) \testarray{LogosOpacities}(\i)
\let\opacity\temp@macro \let\opacity\temp@macro
\testarray{LogosPaths}(\i) \testarray{LogosPaths}(\i)
\ifthenelse{\equal{\extension}{svg}}{ \ifthenelse{\equal{\extension}{svg}}{
\begin{tikzpicture} \begin{tikzpicture}
\node[opacity=\opacity] { \node[opacity=\opacity] {
\includesvg[height=\imageHeight]{\classPath/Assets/Images/\temp@macro.\extension} \includesvg[height=\imageHeight]{\classPath/Assets/Images/\temp@macro.\extension}
}; };
\end{tikzpicture} \end{tikzpicture}
}{ }{
\begin{tikzpicture} \begin{tikzpicture}
\node[opacity=\opacity] { \node[opacity=\opacity] {
\includegraphics[height=\imageHeight]{\classPath/Assets/Images/\temp@macro.\extension} \includegraphics[height=\imageHeight]{\classPath/Assets/Images/\temp@macro.\extension}
}; };
\end{tikzpicture} \end{tikzpicture}
} }
\makeatother \makeatother
}; };
} }
% Address of the Student Parliament on the right: % Address of the Student Parliament on the right:
% Verfasste Studierendenschaft ▪ Hochschule Reutlingen ▪ Alteburgstraße 150 ▪ 72762 Reutlingen stupa.reutlingen.university ▪ T. +49 (0)7121 271-1099 ▪ asta@reutlingen-university.de % Verfasste Studierendenschaft ▪ Hochschule Reutlingen ▪ Alteburgstraße 150 ▪ 72762 Reutlingen stupa.reutlingen.university ▪ T. +49 (0)7121 271-1099 ▪ asta@reutlingen-university.de
\node[anchor=north east, inner sep=0pt, xshift=-0.85cm, yshift=-2cm, opacity=0.7] (logo\the\numexpr\value{logoCounter}+1) at (current page.north east) { \node[anchor=north east, inner sep=0pt, xshift=-0.85cm, yshift=-2cm, opacity=0.7] (logo\the\numexpr\value{logoCounter}+1) at (current page.north east) {
\hspace*{\fill}\begin{minipage}{0.3\textwidth} \hspace*{\fill}\begin{minipage}{0.3\textwidth}
\color{black} \color{black}
\blenderfont \blenderfont
\footnotesize \footnotesize
\textbf{Verfasste Studierendenschaft} \\ \textbf{Verfasste Studierendenschaft} \\
\setstretch{1.0} \setstretch{1.0}
Hochschule Reutlingen \\ Hochschule Reutlingen \\
Alteburgstraße 150 \\ Alteburgstraße 150 \\
72762 Reutlingen \\ 72762 Reutlingen \\
\href{https://stupa.reutlingen.university}{stupa.reutlingen.university} \\ \href{https://stupa.reutlingen.university}{stupa.reutlingen.university} \\
T. \href{tel:+4971212711099}{+49 (0)7121 271-1099} \\ T. \href{tel:+4971212711099}{+49 (0)7121 271-1099} \\
\href{mailto:asta@reutlingen-university.de}{asta@reutlingen-university.de} \href{mailto:asta@reutlingen-university.de}{asta@reutlingen-university.de}
\end{minipage} \end{minipage}
}; };
% %
\node[anchor=north east, inner sep=0pt, xshift=-2cm, yshift=-5.5cm, opacity=0.3] (logo\the\numexpr\value{logoCounter}+1) at (current page.north east) { \node[anchor=north east, inner sep=0pt, xshift=-2cm, yshift=-5.5cm, opacity=0.3] (logo\the\numexpr\value{logoCounter}+1) at (current page.north east) {
\huge \huge
\iffalse \iffalse
\CustomTextFieldThuge{pa-id}{}{Jahr/Antragsnummer}{width=3.8cm} \CustomTextFieldThuge{pa-id}{}{Jahr/Antragsnummer}{width=3.8cm}
\CustomTextFieldThuge{pa-key}{}{}{ \CustomTextFieldThuge{pa-key}{}{}{
name=pa-key, name=pa-key,
width=0.1pt, width=0.1pt,
readonly=true, readonly=true,
bordercolor=white, bordercolor=white,
backgroundcolor=white, backgroundcolor=white,
maxlen=16 maxlen=16
} }
\fi \fi
}; };
\end{tikzpicture}
\node[anchor=north, inner sep=0pt, xshift=0cm, yshift=-0.5cm, opacity=0.3] (logo\the\numexpr\value{logoCounter}+2) at (current page.north) { \vskip 5em
\ifnum1=\value{page}
\CustomTextFieldThuge{warning-not-supported}{}{}{ % title
default={Warning: JavaScript is not supported! Please a supported Editor (e.g. Chrome, Firefox, Safari, Edge)}, \begin{flushleft}
width=21cm, {
height=0.75cm, \noindent
borderwidth=0pt, \color{black}\textbf{
backgroundcolor=yellow, \blenderfont\huge\hspace*{-2.5pt}Projektantrag: #1
readonly, }\\\vspace*{-0.5em}
align=1, {
charsize=12pt, \blenderfont Antrag auf finanzielle Förderung durch das STUPA
color=red, }\\
format={\detokenize{ }
console.println(this); \color{black}
var f = this.getField('warning-not-supported'); \vspace{-.8em}
f.fillColor = ['T']; \rule{\textwidth}{0.5mm}
f.textColor = ['T']; \end{flushleft}
f.disabled = true;
f.display = display.hidden;
}}
}
\fi
};
\end{tikzpicture}
\vskip 5em #2
}
% title
\begin{flushleft}
{
\noindent
\color{black}\textbf{
\blenderfont\huge\hspace*{-2.5pt}Projektantrag: #1
}\\\vspace*{-0.5em}
{
\blenderfont Antrag auf finanzielle Förderung durch das STUPA
}\\
}
\color{black}
\vspace{-.8em}
\rule{\textwidth}{0.5mm}
\end{flushleft}
#2
}