UHSTAT1 form: removed geburtsnation as it is saved in person table anyways, started to display existing uhstat data on form load

This commit is contained in:
KarpAlex
2023-07-27 17:13:31 +02:00
parent f5ace15f7b
commit 1e082ed225
4 changed files with 73 additions and 106 deletions
+52 -21
View File
@@ -8,6 +8,17 @@ class UHSTAT1 extends FHC_Controller
const LOWER_BOUNDARY_YEARS = 160;
const UPPER_BOUNDARY_YEARS = 20;
private $_uhstat1Fields = array(
'mutter_geburtsstaat' => array('name' => 'Geburtsstaat Mutter', 'rules' => array('required')),
'mutter_geburtsjahr' => array('name' => 'Geburtsjahr Mutter', 'rules' => array('required')),
'mutter_bildungsstaat' => array('name' => 'Bildungsstaat Mutter', 'rules' => array('required')),
'mutter_bildungmax' => array('name' => 'Geburtsjahr Mutter', 'rules' => array('required')),
'vater_geburtsstaat' => array('name' => 'Geburtsstaat Vater', 'rules' => array('required')),
'vater_geburtsjahr',
'vater_bildungsstaat',
'vater_bildungmax'
);
public function __construct()
{
parent::__construct(
@@ -40,13 +51,17 @@ class UHSTAT1 extends FHC_Controller
public function index()
{
$formData = $this->_getFormData();
$formMetaData = $this->_getFormMetaData();
if (isError($formData)) show_error(getError($formData));
if (isError($formMetaData)) show_error(getError($formMetaData));
if (!hasData($formData)) show_error("No form data could be loaded");
if (!hasData($formMetaData)) show_error("No form meta data could be loaded");
$this->load->view("codex/uhstat1.php", array('formData' => getData($formData)));
$uhstatData = $this->_getUHSTAT1Data();
if (isError($uhstatData)) show_error(getError($uhstatData));
$this->load->view("codex/uhstat1.php", array('formMetaData' => getData($formMetaData), 'uhstatData' => getData($uhstatData)));
}
/**
@@ -61,7 +76,6 @@ class UHSTAT1 extends FHC_Controller
$this->form_validation->set_error_delimiters('<span class="text-danger">', '</span>');
// check required fields
$this->form_validation->set_rules('geburtsstaat', 'Geburtsstaat', 'required', array('required' => $this->p->t('uhstat', 'angabeFehlt')));
$this->form_validation->set_rules(
'mutter_geburtsstaat',
'Geburtsstaat Mutter',
@@ -171,11 +185,11 @@ class UHSTAT1 extends FHC_Controller
}
}
$formData = $this->_getFormData();
$formMetaData = $this->_getFormMetaData();
if (isError($formData)) show_error(getError($formData));
if (isError($formMetaData)) show_error(getError($formMetaData));
if (!hasData($formData)) show_error("No form data could be loaded");
if (!hasData($formMetaData)) show_error("No form data could be loaded");
// pass success/error messages to view
$successMessage = isset($uhstat1datenRes) && isSuccess($uhstat1datenRes) ? $this->p->t('uhstat', 'erfolgreichGespeichert') : '';
@@ -183,7 +197,7 @@ class UHSTAT1 extends FHC_Controller
// load view with form data
$this->load->view("codex/uhstat1.php", array(
'formData' => getData($formData),
'formMetaData' => getData($formMetaData),
'successMessage' => $successMessage,
'errorMessage' => $errorMessage
));
@@ -227,22 +241,23 @@ class UHSTAT1 extends FHC_Controller
/**
* Gets initial data needed to display UHSTAT1 form.
*/
private function _getFormData()
private function _getFormMetaData()
{
$person_id = $this->input->get('person_id');
if (!isset($person_id) || !is_numeric($person_id)) return error("Person Id missing");
$formData = array(
$languageIdx = $this->_getLanguageIndex();
$formMetaData = array(
'nation' => array(),
'abschluss_oesterreich' => array(),
'abschluss_nicht_oesterreich' => array(),
'jahre' => array(),
'languageIdx' => $this->_getLanguageIndex(),
'person_id' => $person_id
);
$nationTextFieldName = $formData['languageIdx'] == 1 ? 'langtext' : 'engltext';
$nationTextFieldName = $languageIdx == 1 ? 'langtext' : 'engltext';
// get nation list
$this->load->model('codex/Nation_model', 'NationModel');
@@ -253,10 +268,10 @@ class UHSTAT1 extends FHC_Controller
if (isError($nationRes)) return $nationRes;
if (hasData($nationRes)) $formData['nation'] = getData($nationRes);
if (hasData($nationRes)) $formMetaData['nation'] = getData($nationRes);
// get abschluss list
$abschlussRes = $this->AbschlussModel->getActiveAbschluesse();
$abschlussRes = $this->AbschlussModel->getActiveAbschluesse($languageIdx);
if (isError($abschlussRes)) return $abschlussRes;
@@ -267,22 +282,38 @@ class UHSTAT1 extends FHC_Controller
foreach (getData($abschlussRes) as $abschluss)
{
if ($abschluss->in_oesterreich === true)
$formData['abschluss_oesterreich'][] = $abschluss;
$formMetaData['abschluss_oesterreich'][] = $abschluss;
elseif ($abschluss->in_oesterreich === false)
$formData['abschluss_nicht_oesterreich'][] = $abschluss;
$formMetaData['abschluss_nicht_oesterreich'][] = $abschluss;
else
{
$formData['abschluss_oesterreich'][] = $abschluss;
$formData['abschluss_nicht_oesterreich'][] = $abschluss;
$formMetaData['abschluss_oesterreich'][] = $abschluss;
$formMetaData['abschluss_nicht_oesterreich'][] = $abschluss;
}
}
}
// get realistic birth years, dated back from current year
$currYear = date("Y");
$formData['jahre'] = range($currYear - self::UPPER_BOUNDARY_YEARS, $currYear - self::LOWER_BOUNDARY_YEARS);
$formMetaData['jahre'] = range($currYear - self::UPPER_BOUNDARY_YEARS, $currYear - self::LOWER_BOUNDARY_YEARS);
return success($formData);
return success($formMetaData);
}
/**
* Gets initial data needed to display UHSTAT1 form.
*/
private function _getUHSTAT1Data()
{
$person_id = $this->input->get('person_id');
if (!isset($person_id) || !is_numeric($person_id)) return error("Person Id missing");
$this->Uhstat1datenModel->addSelect("
mutter_geburtsstaat, mutter_geburtsjahr, mutter_bildungsstaat, mutter_bildungmax,
vater_geburtsstaat, vater_geburtsjahr, vater_bildungsstaat, vater_bildungmax"
);
return $this->Uhstat1datenModel->loadWhere(array('person_id' => $person_id));
}
/**
+5 -3
View File
@@ -12,17 +12,19 @@ class Abschluss_model extends DB_Model
$this->pk = 'ausbildung_code';
}
public function getActiveAbschluesse()
public function getActiveAbschluesse($languageIndex)
{
return $this->execQuery(
'
SELECT
ausbildung_code, bezeichnung, in_oesterreich
ausbildung_code, bezeichnung[?], in_oesterreich
FROM
bis.tbl_abschluss
WHERE
aktiv
ORDER BY CASE WHEN in_oesterreich THEN 0 ELSE 1 END, ausbildung_code'
ORDER BY
CASE WHEN in_oesterreich THEN 0 ELSE 1 END, ausbildung_code',
array($languageIndex)
);
}
}
+16 -42
View File
@@ -23,34 +23,7 @@ $this->load->view(
<?php echo $this->p->t('uhstat', 'uhstat1AnmeldungEinleitungstext') ?>
</p>
<br>
<form class="form-horizontal" method="POST" action="<?php echo site_url('codex/UHSTAT1/saveUHSTAT1Data').'?person_id='.$formData['person_id'] ?>">
<fieldset>
<legend><?php echo $this->p->t('uhstat', 'persoenlicheAngaben') ?></legend>
<p>
<?php echo $this->p->t('uhstat', 'persoenlicheAngabenEinleitungstext') ?>
</p>
<div class="form-group">
<label for="geburtsstaat" class="col-sm-3 control-label">
<?php echo ucfirst($this->p->t('uhstat', 'geburtsstaat')) ?>
<br>
<?php echo '('.ucfirst($this->p->t('uhstat', 'inDenHeutigenGrenzen')).')' ?>
</label>
<div class="col-sm-9">
<select type="text" name="geburtsstaat" id="geburtsstaat" class="form-control">
<option disabled selected value=""><?php echo $this->p->t('uhstat', 'bitteAuswaehlen') ?></option>
<?php foreach ($formData['nation'] as $nation): ?>
<option
value="<?php echo $nation->nation_code ?>"
<?php echo set_value('geburtsstaat') == $nation->nation_code ? " selected" : "" ?>>
<?php echo $nation->nation_text ?>
</option>
<?php endforeach; ?>
</select>
<?php echo form_error('geburtsstaat'); ?>
</div>
</div>
</fieldset>
<br>
<form class="form-horizontal" method="POST" action="<?php echo site_url('codex/UHSTAT1/saveUHSTAT1Data').'?person_id='.$formMetaData['person_id'] ?>">
<fieldset>
<legend><?php echo $this->p->t('uhstat', 'angabenErziehungsberechtigte') ?></legend>
<p>
@@ -63,7 +36,7 @@ $this->load->view(
<div class="col-sm-9">
<select type="text" name="mutter_geburtsjahr" id="mutter_geburtsjahr" class="form-control">
<option disabled selected value=""><?php echo $this->p->t('uhstat', 'bitteAuswaehlen') ?></option>
<?php foreach ($formData['jahre'] as $jahr): ?>
<?php foreach ($formMetaData['jahre'] as $jahr): ?>
<option
value="<?php echo $jahr ?>"
<?php echo set_value('mutter_geburtsjahr') == $jahr ? " selected" : "" ?>>
@@ -83,7 +56,7 @@ $this->load->view(
<div class="col-sm-9">
<select type="text" name="mutter_geburtsstaat" id="mutter_geburtsstaat" class="form-control">
<option disabled selected value=""><?php echo $this->p->t('uhstat', 'bitteAuswaehlen') ?></option>
<?php foreach ($formData['nation'] as $nation): ?>
<?php foreach ($formMetaData['nation'] as $nation): ?>
<option
value="<?php echo $nation->nation_code ?>"
<?php echo set_value('mutter_geburtsstaat') == $nation->nation_code ? " selected" : "" ?>>
@@ -103,7 +76,7 @@ $this->load->view(
<div class="col-sm-9">
<select type="text" name="mutter_bildungsstaat" id="mutter_bildungsstaat" class="form-control">
<option disabled selected value=""><?php echo $this->p->t('uhstat', 'bitteAuswaehlen') ?></option>
<?php foreach ($formData['nation'] as $nation): ?>
<?php foreach ($formMetaData['nation'] as $nation): ?>
<option
value="<?php echo $nation->nation_code ?>"
<?php echo set_value('mutter_bildungsstaat') == $nation->nation_code ? " selected" : "" ?>>
@@ -122,21 +95,21 @@ $this->load->view(
<optgroup label="<?php echo $this->p->t('uhstat', 'wennAbschlussInOesterreich') ?>">
<?php echo $this->p->t('uhstat', 'bitteAuswaehlen') ?>
</optgroup>
<?php foreach ($formData['abschluss_oesterreich'] as $abschluss): ?>
<?php foreach ($formMetaData['abschluss_oesterreich'] as $abschluss): ?>
<option
value="<?php echo $abschluss->ausbildung_code ?>"
<?php echo set_value('mutter_bildungmax') == $abschluss->ausbildung_code ? " selected" : "" ?>>
<?php echo $abschluss->bezeichnung[$formData['languageIdx']] ?>
<?php echo $abschluss->bezeichnung ?>
</option>
<?php endforeach; ?>
<optgroup label="<?php echo $this->p->t('uhstat', 'wennAbschlussNichtInOesterreich') ?>">
<?php echo $this->p->t('uhstat', 'bitteAuswaehlen') ?>
</optgroup>
<?php foreach ($formData['abschluss_nicht_oesterreich'] as $abschluss): ?>
<?php foreach ($formMetaData['abschluss_nicht_oesterreich'] as $abschluss): ?>
<option
value="<?php echo $abschluss->ausbildung_code ?>"
<?php echo set_value('mutter_bildungmax') == $abschluss->ausbildung_code ? " selected" : "" ?>>
<?php echo $abschluss->bezeichnung[$formData['languageIdx']] ?>
<?php echo $abschluss->bezeichnung ?>
</option>
<?php endforeach; ?>
</select>
@@ -150,7 +123,7 @@ $this->load->view(
<div class="col-sm-9">
<select type="text" name="vater_geburtsjahr" id="vater_geburtsjahr" class="form-control">
<option disabled selected value=""><?php echo $this->p->t('uhstat', 'bitteAuswaehlen') ?></option>
<?php foreach ($formData['jahre'] as $jahr): ?>
<?php foreach ($formMetaData['jahre'] as $jahr): ?>
<option
value="<?php echo $jahr ?>"
<?php echo set_value('vater_geburtsjahr') == $jahr ? " selected" : "" ?>>
@@ -170,7 +143,7 @@ $this->load->view(
<div class="col-sm-9">
<select type="text" name="vater_geburtsstaat" id="vater_geburtsstaat" class="form-control">
<option disabled selected value=""><?php echo $this->p->t('uhstat', 'bitteAuswaehlen') ?></option>
<?php foreach ($formData['nation'] as $nation): ?>
<?php foreach ($formMetaData['nation'] as $nation): ?>
<option
value="<?php echo $nation->nation_code ?>"
<?php echo set_value('vater_geburtsstaat') == $nation->nation_code ? " selected" : "" ?>>
@@ -190,7 +163,7 @@ $this->load->view(
<div class="col-sm-9">
<select type="text" name="vater_bildungsstaat" id="vater_bildungsstaat" class="form-control">
<option disabled selected value=""><?php echo $this->p->t('uhstat', 'bitteAuswaehlen') ?></option>
<?php foreach ($formData['nation'] as $nation): ?>
<?php foreach ($formMetaData['nation'] as $nation): ?>
<option
value="<?php echo $nation->nation_code ?>"
<?php echo set_value('vater_bildungsstaat') == $nation->nation_code ? " selected" : "" ?>>
@@ -211,21 +184,21 @@ $this->load->view(
<optgroup label="<?php echo $this->p->t('uhstat', 'wennAbschlussInOesterreich') ?>">
<?php echo $this->p->t('uhstat', 'bitteAuswaehlen') ?>
</optgroup>
<?php foreach ($formData['abschluss_oesterreich'] as $abschluss): ?>
<?php foreach ($formMetaData['abschluss_oesterreich'] as $abschluss): ?>
<option
value="<?php echo $abschluss->ausbildung_code ?>"
<?php echo set_value('vater_bildungmax') == $abschluss->ausbildung_code ? " selected" : "" ?>>
<?php echo $abschluss->bezeichnung[$formData['languageIdx']] ?>
<?php echo $abschluss->bezeichnung ?>
</option>
<?php endforeach; ?>
<optgroup label="<?php echo $this->p->t('uhstat', 'wennAbschlussNichtInOesterreich') ?>">
<?php echo $this->p->t('uhstat', 'bitteAuswaehlen') ?>
</optgroup>
<?php foreach ($formData['abschluss_nicht_oesterreich'] as $abschluss): ?>
<?php foreach ($formMetaData['abschluss_nicht_oesterreich'] as $abschluss): ?>
<option
value="<?php echo $abschluss->ausbildung_code ?>"
<?php echo set_value('vater_bildungmax') == $abschluss->ausbildung_code ? " selected" : "" ?>>
<?php echo $abschluss->bezeichnung[$formData['languageIdx']] ?>
<?php echo $abschluss->bezeichnung ?>
</option>
<?php endforeach; ?>
</select>
@@ -243,6 +216,7 @@ $this->load->view(
<?php if (isset($errorMessage)): ?>
<span class='text-danger'><?php echo $errorMessage ?></span>
<?php endif; ?>
&nbsp;
<button class="btn btn-success btn-md" type="submit">
<?php echo $this->p->t('uhstat', 'pruefenUndSpeichern') ?>
</button>
-40
View File
@@ -18243,46 +18243,6 @@ array(
)
)
),
array(
'app' => 'core',
'category' => 'uhstat',
'phrase' => 'persoenlicheAngaben',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Persönliche Angaben',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Personal data',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'uhstat',
'phrase' => 'persoenlicheAngabenEinleitungstext',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Wenn Sie keine österreichische Sozialversicherungsnummer haben, dann fragen Sie bitte die Hochschule, an der Sie studieren möchten, nach Ihrem Ersatzkennzeichen.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'If you do not have an Austrian \'Sozialversicherungsnummer\' (social security number), please ask the university or university college at which you would like to study for your substitute code (\'Ersatzkennzeichen\').',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'uhstat',