Files
Facilitor/APPL/BEZ/bez_list.js
Erik Groener f9d48a0ff1 KFSG#44689 Graag knop voor SMS versturen
svn path=/Website/trunk/; revision=36675
2018-01-23 10:16:50 +00:00

265 lines
9.0 KiB
JavaScript

/*
$Revision$
$Id$
File: bez_list.js
*/
function bezDelete(rowArray, isMulti)
{
var bez_key_arr = getKeyString(rowArray).split(",");
var data = { bez_key: bez_key_arr
, urole: urole
, level: "B"
};
protectRequest.dataToken(data);
var tableID = $(rowArray).closest('table').attr('id');
FcltMgr.confirm(L("lcl_bez_confirm_delete_bezoeker"), { autoconfirm: isMulti }, function() {
$.post("bez_delete.asp",
data,
FcltCallbackAndThen(function() {
$.each(rowArray, function() { $(this).remove() });
toggleFooter(tableID);
}),
"json");
});
}
function bezEdit(row)
{
var bezData = eval('(' + row.getAttribute("ROWDATA") + ')');
if (bezData)
{
$(row).addClass('dirty');
var url = "appl/bez/bez_afspraak.asp?afspr_key=" + bezData.afspr_key + "&urole=" + urole;
if (contactonly)
url += "&contactonly=1"
FcltMgr.openDetail(url, { reuse: true });
}
}
function bezSendSms(row)
{
var bez_key = row.getAttribute("ROWKEY");
var bezData = eval('(' + row.getAttribute("ROWDATA") + ')');
if (bezData)
{
var v_url = "../bez/bez_smshost.asp?afspr_key=" + bezData.afspr_key + "&bez_key=" + bez_key;
FcltMgr.openModalDetail(v_url, L("lcl_bez_send_sms"), {callback: FcltCallback});
}
}
function bezProgressProp(row)
{
var bezData = eval('(' + row.getAttribute("ROWDATA") + ')');
if (bezData)
{
$(row).addClass('dirty');
var url = "../bez/bez_edit_check_in.asp?urole=" + urole + "&bez_key=" + bezData.bez_key;
FcltMgr.openModalDetail(url,
L("lcl_bez_reg_progress_prop"),
{ callback: function(data)
{
$("#badgenr" + bezData.bez_key).val(data.bezBadgeArr[0]);
}
});
}
}
function CheckInCallback(json, textStatus)
{
for (i = 0 ; i < json.bez_key_arr.length; i++)
{
if (json.checkInDone[i]) // Checkin is uitgevoerd
{
if (json.undo_check_in == 0) // bezoeker is nu ingechecked/aangemeld. Geef juiste afvinkbox weer aan het eind van de regel
{
if (json.badges[i])
{
var badgefield = $("#checkin" + json.bez_key_arr[i]).closest("tr").find("input.fldbadge");
badgefield.val(json.badges[i]).attr("disabled", "1");
}
if (json.autoprint[i])
printBadge(json.bez_key_arr[i]);
content = '<span id="CHDin' + json.bez_key_arr[i] + '"'
+ ' class="fa fa-check-square-o fa-lg ilbutton"'
+ ' OnClick="doCheckIn(event, ' + json.bez_key_arr[i] + ', 1);"' // bezoeker not out
+ ' style="cursor:pointer"'
+ ' title="' + L("lcl_vis_done") + ' (' + todayString + ')"' // Net (vandaag) ingechecked
+ '></span>';
$("#checkin" + json.bez_key_arr[i]).html(content);
}
else // bezoeker is niet meer aangemeld. Geef juiste afvinkbox weer aan het eind van de regel
{
content = '<span id="CHDin' + json.bez_key_arr[i] +'"'
+ ' class="fa fa-square-o fa-lg ilbutton"'
+ ' OnClick="doCheckIn(event, ' + json.bez_key_arr[i] + ', 0);"'
+ ' style="cursor:pointer"'
+ ' title="' + L("lcl_vis_register") + '"'
+ '></span>';
$("#checkin" + json.bez_key_arr[i]).html(content);
}
}
}
// Is er nog een message die weergegeven moet worden?
if (json.message) FcltMgr.alert(json.message);
}
function doCheckIn(evt, bezKeyString, undo_check_in)
{
FcltMgr.stopPropagation(evt);
var bez_key_arr = bezKeyString.toString().split(","); // Bulkactie geeft het als een string door, klikken op het aanmeldvakje als een integer.
if (bez_key_arr.length == 1 && (hasKenmerk || s_vis_remark==2) && !undo_check_in && s_bez_show_progress_prop == 1)
{ // Niet voor bulkacties
// alleen voor bo (al geregeld door de aanroeper)
// en alleen als er kenmerken > 900 zijn.
// PF: en alleen bij inchecken, niet bij undo-inchecken
var url = "../bez/bez_edit_check_in.asp?urole="+urole+"&bez_key="+bez_key_arr[0];
FcltMgr.openModalDetail(url,
L("lcl_vis_checkin_title"),
{ callback: function(data)
{
$("#badgenr"+bez_key_arr[0]).val(data.bezBadgeArr[0]);
setCheckIn(bezKeyString, undo_check_in);
}
});
}
else
{
setCheckIn(bezKeyString, undo_check_in);
}
}
function setCheckIn(bezKeyString, undo_check_in)
{
var data = { bez_key: bezKeyString
, undo_check_in: undo_check_in
};
protectRequest.dataToken(data);
$.post("bez_check_in.asp",
data,
CheckInCallback,
"json");
}
function bezCheckIn(rowArray, isMulti)
{
// bulk actie
var bezKeyString = getKeyString(rowArray);
doCheckIn(null, bezKeyString, 0);
}
function CheckOutCallback(json, textStatus)
{
if (textStatus == "success")
{
for (i = 0 ; i < json.bez_key_arr.length; i++)
{
if (json.checkOutDone[i]) // Checkout is uitgevoerd
{
if (json.undo_check_out == 0) // bezoeker is nu uitgechecked. Geef juiste afvinkbox weer aan het eind van de regel
{
content = '<span id="CHOut' + json.bez_key_arr[i] + '"'
+ ' class="fa fa-check-square-o fa-lg ilbutton"'
+ ' OnClick="doCheckOut(event, ' + json.bez_key_arr[i] + ', 1);"'
+ ' style="cursor:pointer"'
+ ' title="' + L("lcl_vis_checkout") + ' (' + todayString + ')"' // Net (vandaag) uitgechecked
+ '></span>';
$("#checkout" + json.bez_key_arr[i]).html(content);
if (json.aantal_ojb > 0)
{
url = "../INS/ins_list.asp?urole=fo&embedded=1&inacObjIncl=1&checkout=1";
if (json.prs_key > 0)
url += "&prs_key=" + json.prs_key;
else if (json.cps_key > 0)
url += "&cps_key=" + json.cps_key;
FcltMgr.openModalDetail(url, L("lcl_bez_insinn_objects"), {width: 800});
}
}
else // bezoeker is niet meer uitgechecked (wel ingechecked). Geef juiste afvinkbox weer aan het eind van de regel
{
content = '<span id="CHOut' + json.bez_key_arr[i] + '"'
+ ' class="fa fa-square-o fa-lg ilbutton"'
+ ' OnClick="doCheckOut(event, ' + json.bez_key_arr[i] + ', \'\');"'
+ ' style="cursor:pointer"'
+ ' title="' + L("lcl_vis_todo") + '"'
+ '></span>';
$("#checkout" + json.bez_key_arr[i]).html(content);
}
}
}
// Is er nog een message die weergegeven moet worden?
if (json.message) FcltMgr.alert(json.message);
}
else
FcltMgr.alert("CheckOutCallback: " + textStatus);
}
function doCheckOut(evt, bezKeyString, undo_check_out)
{
FcltMgr.stopPropagation(evt);
var data = { bez_key: bezKeyString
, undo_check_out: undo_check_out
};
protectRequest.dataToken(data);
$.post("bez_check_out.asp",
data,
CheckOutCallback,
"json");
}
function bezCheckOut(rowArray, isMulti)
{
// bulk actie
var bezKeyString = getKeyString(rowArray);
doCheckOut(null, bezKeyString, 0);
}
// Op de OnChange van inputveld wordt een pasnummer direct opgeslagen
function SaveBadge(bez_key, badgenr)
{
var data = { bez_key: bez_key
, badgenr: badgenr
};
protectRequest.dataToken(data);
$.post("bez_badgenr_save.asp",
data,
FcltCallback,
"json");
}
function toggleBezFlag(evt, afspr_key, bez_key)
{
FcltMgr.stopPropagation(evt);
var flagkey = $('#bezflagimg'+bez_key).attr('flagkey');
var data = { afspr_key: afspr_key
, bez_key : bez_key
, flagkey : flagkey
};
protectRequest.dataToken(data);
$.post("../bez/bez_flag.asp"
, data
, FcltCallbackAndThen(setBezFlag)
, "json"
);
}
function setBezFlag(data)
{ // Zet de flag en het volgnummer van de flag.
var bez_key = data.bez_key;
var flagkey = data.newflag;
var flagimg = (flagkey == 0 ? 'fa fa-circle-o bezflag'+flagkey : 'fa fa-circle bezflag'+flagkey);
$('#bezflagimg'+bez_key).attr('flagkey', flagkey);
$('#bezflagimg'+bez_key).attr('class', flagimg);
$('#bezflagimg'+bez_key).parent().attr('title', L("lcl_bez_flag" + flagkey));
$('#bezflagimg'+bez_key).next().text(flagkey||999); // Hidden span voor sorteren
$('#beztable th').removeClass('sorttable_sorted sorttable_sorted_reverse'); // sortable cache't namelijk
}