mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-25 16:44:28 +00:00
212 lines
6.1 KiB
JavaScript
212 lines
6.1 KiB
JavaScript
const CONTROLLER_RUECKSTELLUNG_URL = "system/infocenter/Rueckstellung";
|
|
|
|
var Rueckstellung = {
|
|
get: function(personid)
|
|
{
|
|
FHC_AjaxClient.ajaxCallGet(
|
|
CONTROLLER_RUECKSTELLUNG_URL + "/get/"+encodeURIComponent(personid),
|
|
null,
|
|
{
|
|
successCallback: function(data, textStatus, jqXHR) {
|
|
if (FHC_AjaxClient.hasData(data))
|
|
{
|
|
var rueckstellungobj = FHC_AjaxClient.getData(data);
|
|
Rueckstellung._refreshRueckstellung(rueckstellungobj);
|
|
}
|
|
else
|
|
{
|
|
Rueckstellung._addRueckstellungButtons();
|
|
}
|
|
|
|
},
|
|
errorCallback: function()
|
|
{
|
|
FHC_DialogLib.alertError("error when getting rueckstellung status");
|
|
},
|
|
veilTimeout: 0
|
|
}
|
|
);
|
|
},
|
|
getStatus: function()
|
|
{
|
|
FHC_AjaxClient.ajaxCallGet(
|
|
CONTROLLER_RUECKSTELLUNG_URL + "/getStatus",
|
|
null,
|
|
{
|
|
successCallback: function(data, textStatus, jqXHR) {
|
|
if (FHC_AjaxClient.hasData(data))
|
|
{
|
|
let status = FHC_AjaxClient.getData(data);
|
|
$.each(status, function(key, value)
|
|
{
|
|
$('#rueckstellungtype').append($("<option/>")
|
|
.val(value.status_kurzbz)
|
|
.text(value.bezeichnung_mehrsprachig[0])
|
|
)
|
|
});
|
|
}
|
|
},
|
|
errorCallback: function()
|
|
{
|
|
FHC_DialogLib.alertError("error when getting rueckstellung status");
|
|
},
|
|
veilTimeout: 0
|
|
}
|
|
);
|
|
},
|
|
set: function(personid, date, type)
|
|
{
|
|
if (type === null)
|
|
return false;
|
|
|
|
var onRueckstellungError = function(){
|
|
$("#rueckstellungmsg").text(" Fehler beim Setzen auf " + type + "!");
|
|
};
|
|
|
|
FHC_AjaxClient.ajaxCallPost(
|
|
CONTROLLER_RUECKSTELLUNG_URL + '/set',
|
|
{
|
|
"person_id": personid,
|
|
"datum_bis": date,
|
|
"status_kurzbz": type,
|
|
},
|
|
{
|
|
successCallback: function(data, textStatus, jqXHR) {
|
|
if (FHC_AjaxClient.hasData(data))
|
|
{
|
|
Rueckstellung.get(personid);
|
|
InfocenterDetails._refreshLog()
|
|
}
|
|
else
|
|
{
|
|
onRueckstellungError();
|
|
}
|
|
},
|
|
errorCallback: onRueckstellungError,
|
|
veilTimeout: 0
|
|
}
|
|
);
|
|
},
|
|
setForPersons: function(personen, type, date)
|
|
{
|
|
if (type === null)
|
|
return false;
|
|
|
|
FHC_AjaxClient.ajaxCallPost(
|
|
CONTROLLER_RUECKSTELLUNG_URL + '/setForPersonen',
|
|
{
|
|
"personen": personen,
|
|
"datum_bis": date,
|
|
"status_kurzbz": type,
|
|
},
|
|
{
|
|
successCallback: function(data, textStatus, jqXHR) {
|
|
if (FHC_AjaxClient.isError(data))
|
|
FHC_DialogLib.alertError(FHC_AjaxClient.getError(data));
|
|
|
|
if (FHC_AjaxClient.hasData(data))
|
|
FHC_DialogLib.alertSuccess("Erfolgreich gespeichert.")
|
|
},
|
|
errorCallback: function(jqXHR, textStatus, errorThrown) {
|
|
FHC_DialogLib.alertError(textStatus);
|
|
},
|
|
veilTimeout: 0
|
|
}
|
|
);
|
|
},
|
|
delete: function(personid, status = null)
|
|
{
|
|
FHC_AjaxClient.ajaxCallPost(
|
|
CONTROLLER_RUECKSTELLUNG_URL + '/delete',
|
|
{
|
|
"person_id": personid,
|
|
"status": status
|
|
},
|
|
{
|
|
successCallback: function(data, textStatus, jqXHR) {
|
|
if (FHC_AjaxClient.hasData(data))
|
|
{
|
|
Rueckstellung.get(personid);
|
|
}
|
|
else
|
|
$("#unrueckstellungmsg").removeClass().addClass("text-warning").text(FHC_PhrasesLib.t('infocenter', 'nichtsZumEntfernen'));
|
|
},
|
|
errorCallback: function(){
|
|
$("#unrueckstellungmsg").removeClass().addClass("text-danger").text(FHC_PhrasesLib.t('infocenter', 'fehlerBeimEntfernen'));
|
|
},
|
|
veilTimeout: 0
|
|
}
|
|
);
|
|
},
|
|
_refreshRueckstellung: function(rueckstellungobj)
|
|
{
|
|
var personid = $("#hiddenpersonid").val();
|
|
var rueckstellungdate = $.datepicker.parseDate("yy-mm-dd", rueckstellungobj.bis);
|
|
var gerrueckstellungdate = $.datepicker.formatDate("dd.mm.yy", rueckstellungdate);
|
|
|
|
var removetext = FHC_PhrasesLib.t('infocenter', 'statusZuruecksetzen');
|
|
var rueckstellungdtext = FHC_PhrasesLib.t('global', 'status') + ": '" + rueckstellungobj.bezeichnung + "' " + FHC_PhrasesLib.t('global', 'bis') + ": " + gerrueckstellungdate +
|
|
" " + FHC_PhrasesLib.t('ui', 'von') + ": " + rueckstellungobj.von;
|
|
var currdate = new Date();
|
|
|
|
|
|
if (currdate > rueckstellungdate)
|
|
rueckstellungdtext = "<span class='alert-danger' data-toggle='tooltip' title='"+FHC_PhrasesLib.t('infocenter', 'datumuberschritten')+"'>"+rueckstellungdtext+"</span>";
|
|
|
|
var callbackforundo = function ()
|
|
{
|
|
Rueckstellung.delete(personid, rueckstellungobj.status_kurzbz);
|
|
}
|
|
|
|
var rueckstellunghtml = rueckstellungdtext+' '+
|
|
'<button class="btn btn-default" id="unrueckstellunglink"><i class="fa fa-sign-out"></i> ' + removetext +'</button> '+
|
|
'<span id="unrueckstellungmsg"></span>';
|
|
|
|
$("#postponing").html(
|
|
rueckstellunghtml
|
|
);
|
|
|
|
$("#unrueckstellunglink").click(
|
|
callbackforundo
|
|
);
|
|
},
|
|
|
|
_addRueckstellungButtons: function()
|
|
{
|
|
var personid = $("#hiddenpersonid").val();
|
|
$("#postponing").html(
|
|
'<div class="form-group form-inline">'+
|
|
'<div class="form-group">' +
|
|
'<select id="rueckstellungtype" class="form-control">' +
|
|
'<option disabled selected>' + FHC_PhrasesLib.t('infocenter', 'statusAuswahl') + '</option>' +
|
|
'</select>' + ' ' +
|
|
'<button class="btn btn-default" id="addRueckstellung" type="button""><i class="fa fa-clock-o"></i> ' + FHC_PhrasesLib.t('infocenter', 'statusSetzen') + '</button> '+
|
|
'<label id="rueckstellungdatelabel">'+FHC_PhrasesLib.t('global', 'bis') + ' '+
|
|
'<input id="rueckstellungdate" type="text" class="form-control" placeholder="Parkdatum"> '+
|
|
'<i class="fa fa-info-circle" data-toggle="tooltip" title="'+FHC_PhrasesLib.t('infocenter', 'parkenZurueckstellenInfo')+'"></i></label>'+
|
|
'<span class="text-danger" id="rueckstellungmsg"></span>'+
|
|
'</div>' +
|
|
'</div>');
|
|
|
|
Rueckstellung.getStatus();
|
|
|
|
var rueckstelldate = new Date();
|
|
rueckstelldate.setDate(rueckstelldate.getDate() + 14);
|
|
$('#rueckstellungdate').attr("value", $.datepicker.formatDate("dd.mm.yy", rueckstelldate));
|
|
|
|
$("#rueckstellungdate").datepicker({
|
|
"dateFormat": "dd.mm.yy",
|
|
"minDate": 1
|
|
});
|
|
|
|
$("#addRueckstellung").click(
|
|
function ()
|
|
{
|
|
var date = $("#rueckstellungdate").val();
|
|
var type = $("#rueckstellungtype").val();
|
|
Rueckstellung.set(personid, date, type);
|
|
}
|
|
);
|
|
},
|
|
|
|
} |