mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
Prüfungsprotokoll Freigabe: passed data to controller in better way (password and freigegeben bool in a separate object)
This commit is contained in:
@@ -115,9 +115,11 @@ class Pruefungsprotokoll extends Auth_Controller
|
||||
public function saveProtokoll()
|
||||
{
|
||||
$abschlusspruefung_id = $this->input->post('abschlusspruefung_id');
|
||||
$data = $this->input->post('protocoldata');
|
||||
$freigebendata = $this->input->post('freigebendata');
|
||||
$protocoldata = $this->input->post('protocoldata');
|
||||
|
||||
if (isset($abschlusspruefung_id) && is_numeric($abschlusspruefung_id) && isset($data))
|
||||
if (isset($abschlusspruefung_id) && is_numeric($abschlusspruefung_id)
|
||||
&& isset($freigebendata['freigeben']) && isset($protocoldata))
|
||||
{
|
||||
// check permission
|
||||
$berechtigt = $this->_getAbschlusspruefungBerechtigt($abschlusspruefung_id);
|
||||
@@ -125,15 +127,14 @@ class Pruefungsprotokoll extends Auth_Controller
|
||||
$this->outputJsonError(getError($berechtigt));
|
||||
else
|
||||
{
|
||||
$freigabe = isset($data['freigabedatum']) && $data['freigabedatum'];
|
||||
$freigabe = $freigebendata['freigeben'] === 'true';
|
||||
|
||||
if ($freigabe)
|
||||
{
|
||||
// Verify password
|
||||
$password = $data['password'];
|
||||
unset($data['password']);
|
||||
if (!isEmptyString($password))
|
||||
if (isset($freigebendata['password']) && !isEmptyString($freigebendata['password']))
|
||||
{
|
||||
$password = $freigebendata['password'];
|
||||
$result = $this->authlib->checkUserAuthByUsernamePassword($this->_uid, $password);
|
||||
if (isError($result))
|
||||
{
|
||||
@@ -146,7 +147,8 @@ class Pruefungsprotokoll extends Auth_Controller
|
||||
}
|
||||
}
|
||||
|
||||
$data = $this->_prepareAbschlusspruefungDataForSave($data);
|
||||
$data = $this->_prepareAbschlusspruefungDataForSave($protocoldata, $freigabe);
|
||||
|
||||
$result = $this->AbschlusspruefungModel->update($abschlusspruefung_id, $data);
|
||||
|
||||
if (hasData($result))
|
||||
@@ -213,7 +215,7 @@ class Pruefungsprotokoll extends Auth_Controller
|
||||
* @param $data
|
||||
* @return array
|
||||
*/
|
||||
private function _prepareAbschlusspruefungDataForSave($data)
|
||||
private function _prepareAbschlusspruefungDataForSave($data, $freigabe)
|
||||
{
|
||||
$nullfields = array('uhrzeit', 'endezeit', 'abschlussbeurteilung_kurzbz', 'protokoll');
|
||||
foreach ($data as $idx => $item)
|
||||
@@ -222,7 +224,7 @@ class Pruefungsprotokoll extends Auth_Controller
|
||||
$data[$idx] = null;
|
||||
}
|
||||
|
||||
if (isset($data['freigabedatum']) && $data['freigabedatum'])
|
||||
if ($freigabe === true)
|
||||
$data['freigabedatum'] = date('Y-m-d');
|
||||
|
||||
return $data;
|
||||
|
||||
@@ -10,6 +10,12 @@ $("document").ready(function() {
|
||||
|
||||
$("#saveProtocolBtn, #freigebenProtocolBtn").click(
|
||||
function() {
|
||||
|
||||
var freigebendata = {
|
||||
freigeben: false,
|
||||
password: null
|
||||
}
|
||||
|
||||
var data = {
|
||||
abschlussbeurteilung_kurzbz: $("#abschlussbeurteilung_kurzbz").val(),
|
||||
protokoll: $("#protokoll").val(),
|
||||
@@ -19,11 +25,11 @@ $("document").ready(function() {
|
||||
|
||||
if ($(this).prop("id") === 'freigebenProtocolBtn')
|
||||
{
|
||||
data.freigabedatum = true;
|
||||
data.password = $("#password").val();
|
||||
freigebendata.freigeben = true;
|
||||
freigebendata.password = $("#password").val();
|
||||
}
|
||||
|
||||
var checkFields = Pruefungsprotokoll.checkFields(data, $("#verfCheck").prop('checked'));
|
||||
var checkFields = Pruefungsprotokoll.checkFields(data, freigebendata, $("#verfCheck").prop('checked'));
|
||||
$("#protocolform td").removeClass('has-error');
|
||||
if (checkFields.length > 0)
|
||||
{
|
||||
@@ -44,7 +50,7 @@ $("document").ready(function() {
|
||||
return;
|
||||
}
|
||||
|
||||
Pruefungsprotokoll.saveProtokoll($("#abschlusspruefung_id").val(),data);
|
||||
Pruefungsprotokoll.saveProtokoll($("#abschlusspruefung_id").val(), freigebendata, data);
|
||||
}
|
||||
)
|
||||
|
||||
@@ -79,11 +85,11 @@ var Pruefungsprotokoll = {
|
||||
$("#verfNotice").html(FHC_PhrasesLib.t("abschlusspruefung", "verfNotice"));
|
||||
}
|
||||
},
|
||||
checkFields: function(data, verfChecked)
|
||||
checkFields: function(data, freigebendata, verfChecked)
|
||||
{
|
||||
var errors = [];
|
||||
|
||||
if (data.abschlussbeurteilung_kurzbz == "" && data.freigabedatum === true && verfChecked)
|
||||
if (data.abschlussbeurteilung_kurzbz == "" && freigebendata.freigeben === true && verfChecked)
|
||||
errors.push({"abschlussbeurteilung_kurzbz": FHC_PhrasesLib.t("abschlusspruefung", "abschlussbeurteilungLeer")});
|
||||
|
||||
var zeitregex = /^[0-2][0-9]:[0-5][0-9]$/;
|
||||
@@ -111,12 +117,13 @@ var Pruefungsprotokoll = {
|
||||
},
|
||||
// ajax calls
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
saveProtokoll: function(abschlusspruefung_id, data)
|
||||
saveProtokoll: function(abschlusspruefung_id, freigeben, data)
|
||||
{
|
||||
FHC_AjaxClient.ajaxCallPost(
|
||||
CALLED_PATH + '/saveProtokoll',
|
||||
{
|
||||
abschlusspruefung_id: abschlusspruefung_id,
|
||||
freigebendata: freigeben,
|
||||
protocoldata: data
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user