mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-11 09:09:28 +00:00
Added password validation to accept Lehraufträge in view & controller
. added password input field in view . added password check in controller . adapted ajax data object and logic to handle password check
This commit is contained in:
@@ -36,6 +36,7 @@ class LehrauftragAkzeptieren extends Auth_Controller
|
||||
// Load libraries
|
||||
$this->load->library('WidgetLib');
|
||||
$this->load->library('PermissionLib');
|
||||
$this->load->library('AuthLib');
|
||||
|
||||
// Load helpers
|
||||
$this->load->helper('array');
|
||||
@@ -110,17 +111,33 @@ class LehrauftragAkzeptieren extends Auth_Controller
|
||||
*/
|
||||
public function acceptLehrauftrag()
|
||||
{
|
||||
$lehrauftrag_arr = $this->input->post();
|
||||
|
||||
foreach($lehrauftrag_arr as $lehrauftrag)
|
||||
// Verify password
|
||||
$password = $this->input->post('password');
|
||||
if (!isEmptyString($password))
|
||||
{
|
||||
if (!isEmptyArray($lehrauftrag))
|
||||
$result = $this->authlib->checkUserAuthByUsernamePassword($this->_uid, $password);
|
||||
if (isError($result))
|
||||
{
|
||||
return $this->outputJsonError('Passwort ist inkorrekt'); // exit if password is incorrect
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
show_error('Password is missing');
|
||||
}
|
||||
|
||||
// Loop through lehraufträge
|
||||
$lehrauftrag_arr = $this->input->post('selected_data');
|
||||
if(is_array($lehrauftrag_arr))
|
||||
{
|
||||
foreach($lehrauftrag_arr as $lehrauftrag)
|
||||
{
|
||||
$mitarbeiter_uid = (!is_null($lehrauftrag['mitarbeiter_uid'])) ? $lehrauftrag['mitarbeiter_uid'] : null;
|
||||
$vertrag_id = (!is_null($lehrauftrag['vertrag_id'])) ? intval($lehrauftrag['vertrag_id']) : null;
|
||||
|
||||
// Set status to accepted
|
||||
$result = $this->VertragModel->setStatus($vertrag_id, $mitarbeiter_uid, 'akzeptiert');
|
||||
|
||||
|
||||
if ($result->retval)
|
||||
{
|
||||
$json []= array(
|
||||
@@ -129,11 +146,12 @@ class LehrauftragAkzeptieren extends Auth_Controller
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
// output json to ajax
|
||||
if (isset($json) && !isEmptyArray($json))
|
||||
{
|
||||
$this->outputJsonSuccess($json);
|
||||
|
||||
// Output json to ajax
|
||||
if (isset($json) && !isEmptyArray($json))
|
||||
{
|
||||
$this->outputJsonSuccess($json);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -65,14 +65,22 @@ $this->load->view(
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<button id="accept-lehrauftraege" class="btn btn-primary pull-right">Lehrauftrag akzeptieren</button>
|
||||
<div class="col-xs-6">
|
||||
<button id="select-all" class="btn btn-default">Alle auswählen</button>
|
||||
<button id="deselect-all" class="btn btn-default">Alle abwählen</button>
|
||||
<button id="show-all" class="btn btn-default">Alle anzeigen</button>
|
||||
<button id="show-accepted" class="btn btn-default">Nur akzeptierte anzeigen</button>
|
||||
</div>
|
||||
</div><!-- end col -->
|
||||
<div class="col-md-offset-2 col-xs-offset-1 col-md-4 col-xs-5">
|
||||
<div class="input-group">
|
||||
<input id="password" type="password" class="form-control" placeholder="Login-Passwort">
|
||||
<span class="input-group-btn">
|
||||
<button id="accept-lehrauftraege" class="btn btn-primary pull-right">Lehrauftrag akzeptieren</button>
|
||||
</span>
|
||||
</div>
|
||||
</div><!-- end col -->
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
@@ -152,27 +160,46 @@ $(function() {
|
||||
// Approve Lehrauftraege
|
||||
$("#accept-lehrauftraege").click(function(){
|
||||
|
||||
selected_data = $('#filterTabulator').tabulator('getSelectedData');
|
||||
|
||||
// Get selected rows data
|
||||
var selected_data = $('#filterTabulator').tabulator('getSelectedData');
|
||||
if (selected_data.length == 0)
|
||||
{
|
||||
FHC_DialogLib.alertInfo('Bitte wählen Sie erst zumindest einen Lehrauftrag');
|
||||
return;
|
||||
}
|
||||
|
||||
// Get password for verification
|
||||
var password = $("#password").val();
|
||||
if (password == '')
|
||||
{
|
||||
FHC_DialogLib.alertInfo('Bitte verifizieren Sie sich mit Ihrem Login Passwort.');
|
||||
$("#password").focus();
|
||||
return;
|
||||
}
|
||||
|
||||
// Prepare data object for ajax call
|
||||
var data = {
|
||||
'password': password,
|
||||
'selected_data': selected_data
|
||||
};
|
||||
|
||||
FHC_AjaxClient.ajaxCallPost(
|
||||
FHC_JS_DATA_STORAGE_OBJECT.called_path + "/acceptLehrauftrag",
|
||||
selected_data,
|
||||
data,
|
||||
{
|
||||
successCallback: function (data, textStatus, jqXHR)
|
||||
{
|
||||
if (data.retval != null)
|
||||
if (data.error)
|
||||
{
|
||||
// Password not verified
|
||||
FHC_DialogLib.alertWarning(data.retval);
|
||||
}
|
||||
if (!data.error && data.retval != null)
|
||||
{
|
||||
// Update status 'Erteilt'
|
||||
$('#filterTabulator').tabulator('updateData', data.retval);
|
||||
FHC_DialogLib.alertSuccess(data.retval.length + " Lehraufträge wurden akzeptiert.");
|
||||
}
|
||||
|
||||
FHC_DialogLib.alertSuccess(data.retval.length + " Lehraufträge wurden akzeptiert.");
|
||||
},
|
||||
errorCallback: function (jqXHR, textStatus, errorThrown)
|
||||
{
|
||||
@@ -180,7 +207,6 @@ $(function() {
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user