Validierung Modal askAusbildungssemester

This commit is contained in:
ma0068
2024-11-22 10:51:47 +01:00
parent f2b5c12e6d
commit 9c503ae66f
3 changed files with 75 additions and 12 deletions
@@ -355,6 +355,7 @@ export default{
:show-toolbar-student="showToolbarStudent"
:show-toolbar-interessent="showToolbarInteressent"
:prestudent-ids="prestudentIds"
:max-sem="maxSem"
@reload-table="reload"
>
</status-dropdown>
@@ -369,6 +370,7 @@ export default{
:show-toolbar-student="showToolbarStudent"
:show-toolbar-interessent="showToolbarInteressent"
:prestudent-ids="prestudentIds"
:max-sem="maxSem"
@reload-table="reload"
>
</status-dropdown>
@@ -30,6 +30,10 @@ export default {
type: Array,
required: true,
default: () => []
},
maxSem: {
type: Number,
required: true
}
},
data() {
@@ -201,17 +205,35 @@ export default {
},
promtAusbildungssemester(status, statusgrund_id) {
const count = this.prestudentIds.length;
return BsPrompt
.popup(this.$p.t(
'lehre',
count > 1 ? 'modal_askAusbildungssemPlural' : 'modal_askAusbildungssem',
{ count, status }
))
.then(ausbildungssemester => ({
status_kurzbz: status,
ausbildungssemester,
statusgrund_id
}));
const askForSemester = () => {
return BsPrompt
.popup(this.$p.t(
'lehre',
count > 1 ? 'modal_askAusbildungssemPlural' : 'modal_askAusbildungssem',
{ count, status }
))
.then(input => {
const ausbildungssemester = parseInt(input, 10);
//check if valid number
if ((!/^\d+$/.test(input) || ausbildungssemester < 0)) {
this.$fhcAlert.alertError(this.$p.t('ui', 'error_noInteger'));
return askForSemester();
}
if (ausbildungssemester > this.maxSem) {
this.$fhcAlert.alertError(this.$p.t('ui', 'error_maxSem'));
return askForSemester();
}
return {
status_kurzbz: status,
ausbildungssemester,
statusgrund_id
};
});
};
return askForSemester();
},
changeStatus(data) {
Promise
+40 -1
View File
@@ -30907,7 +30907,46 @@ array(
)
)
),
array(
'app' => 'core',
'category' => 'ui',
'phrase' => 'error_noInteger',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Nur Eingabe von ganzen Zahlen erlaubt',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Error: Only input of whole numbers allowed',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'ui',
'phrase' => 'error_maxSem',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Ausbildungssemester nicht zulässig: größer als Höchstsemester',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Error: Semester not allowed: higher than max Semester',
'description' => '',
'insertvon' => 'system'
)
)
),
);