167 lines
5.5 KiB
JavaScript
167 lines
5.5 KiB
JavaScript
/*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: res_list.js
|
|
Remark: Functies voor res-lijsten
|
|
Parameters:
|
|
Context:
|
|
*/
|
|
|
|
// Resultaat: URL om de data op te halen
|
|
function inlineVoorzieningUrl(row)
|
|
{
|
|
//var rsv_ruimte_key = row.getAttribute("ROWKEY");
|
|
var resData = eval("(" + row.getAttribute("ROWDATA") + ")");
|
|
if (resData)
|
|
{
|
|
var resRsvRuimteKey = resData.resRsvRuimteKey;
|
|
|
|
return "objects_list_tiny.asp?rsv_ruimte_key=" + resRsvRuimteKey
|
|
+ "&urole=" + urole
|
|
+ "&closed=" + res_closed;
|
|
}
|
|
}
|
|
|
|
function resEdit(row)
|
|
{
|
|
$(row).addClass('dirty');
|
|
//var rsv_ruimte_key = row.getAttribute("ROWKEY");
|
|
var resData = eval("(" + row.getAttribute("ROWDATA") + ")");
|
|
if (resData)
|
|
{
|
|
var resRsvRuimteKey = resData.resRsvRuimteKey;
|
|
var url = "appl/res/res_reservering.asp?urole=" + urole + "&rsv_ruimte_key=" + resRsvRuimteKey;
|
|
FcltMgr.openDetail(url, { reuse: true });
|
|
}
|
|
}
|
|
|
|
// BO/MI functions
|
|
// zie ook objects_list_tiny.asp
|
|
function resClose(rowArray)
|
|
{
|
|
var rsv_ruimte_key;
|
|
var resData;
|
|
|
|
var resFuture = false;
|
|
var resKeyString = getKeyString(rowArray);
|
|
var resPartkeyArray = [];
|
|
var resPartTypeArray = [];
|
|
for (var i = 0; i < rowArray.length; i++)
|
|
{
|
|
resData = eval('(' + rowArray[i].getAttribute("ROWDATA") + ')');
|
|
if (resData)
|
|
{
|
|
resFuture = resFuture || (resData.resFuture == 1);
|
|
resPartkeyArray.push(resData.resPartkey); // rsv_ruimte_key, rsv_deel_key of rsv_artikel_key
|
|
resPartTypeArray.push(resData.resPartType); // reserveringstype ('C', 'V', 'R')
|
|
}
|
|
}
|
|
// multi
|
|
if (resFuture && rowArray.length > 1)
|
|
{
|
|
window.FcltMgr.alert(L("lcl_res_all_future"));
|
|
return;
|
|
}
|
|
|
|
FcltMgr.confirm(L("lcl_res_future_res"), { autoconfirm: !resFuture }, function() {
|
|
// Afmelden kan beginnen
|
|
var data = {
|
|
partres_key: (groupres ? resKeyString : resPartkeyArray.join(",")),
|
|
part_type: resPartTypeArray.join(","),
|
|
group: groupres
|
|
};
|
|
protectRequest.dataToken(data);
|
|
$.post("res_close.asp",
|
|
data,
|
|
FcltCallbackAndThen(function() { // Reservering is nu afgemeld. Geef afvinkbox weer aan het eind van de regel
|
|
resKeyArray = resKeyString.split(",");
|
|
for (var i = 0; i < resKeyArray.length; i++) {
|
|
$("#afm" + resKeyArray[i]).html('<img src="../Pictures/res_ok.gif" alt="' + todayString + ' - ' + user_naam + '">');
|
|
}
|
|
}),
|
|
"json");
|
|
});
|
|
}
|
|
|
|
function resNoShow(row)
|
|
{
|
|
function resNoShowCallback(json, modalParams)
|
|
{
|
|
$(row).addClass('dirty');
|
|
}
|
|
|
|
var resData = eval("(" + row.getAttribute("ROWDATA") + ")");
|
|
if (resData)
|
|
{
|
|
var resKey = resData.resKey;
|
|
var resVolgnr = resData.resVolgnr;
|
|
var resRsvRuimteKey = resData.resRsvRuimteKey;
|
|
|
|
url = "../res/res_noshow.asp?urole=" + urole + "&rsv_ruimte_key=" + resRsvRuimteKey;
|
|
FcltMgr.openModalDetail(url, L("lcl_res_reservation") + " " + resKey + "/" + resVolgnr, {callback: resNoShowCallback});
|
|
}
|
|
}
|
|
|
|
function reloadList()
|
|
{
|
|
// liefst doe ik FcltMgr.reload maar dit is een POST form. Dat komt niet over.
|
|
parent.document.forms.u2.submit();
|
|
}
|
|
|
|
function insCheckIn(row)
|
|
{
|
|
var rsv_deel_key = row.getAttribute("ROWKEY");
|
|
var resData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
|
FcltMgr.openModalDetail("../ins/ins_deel_free.asp?rsv_deel_key="+resData.res_rsv_deel_key,
|
|
L("lcl_ins_insinn"), {callback: reloadList});
|
|
}
|
|
|
|
function insCheckOut(row)
|
|
{
|
|
var rsv_deel_key = row.getAttribute("ROWKEY");
|
|
var resData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
|
FcltMgr.openModalDetail("../ins/ins_deel_free.asp?rsv_deel_key="+resData.res_rsv_deel_key,
|
|
L("lcl_ins_lend_out"), {callback: reloadList});
|
|
}
|
|
|
|
// Uitleen flexkenmerken bewerken.
|
|
function insAdapt(row)
|
|
{
|
|
var rsv_deel_key = row.getAttribute("ROWKEY");
|
|
var resData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
|
FcltMgr.openModalDetail("../ins/ins_deel_free.asp?adapt=1&rsv_deel_key="+resData.res_rsv_deel_key,
|
|
L("lcl_ins_adapt"), {callback: reloadList});
|
|
}
|
|
|
|
function toggleFlag(evt, resRsvRuimteKey)
|
|
{
|
|
FcltMgr.stopPropagation(evt);
|
|
|
|
var flagkey = $('#resflagimg' + resRsvRuimteKey).attr('flagkey');
|
|
var data = { rsv_ruimte_key: resRsvRuimteKey,
|
|
flagkey: flagkey
|
|
};
|
|
protectRequest.dataToken(data);
|
|
$.post("../res/res_flag.asp"
|
|
, data
|
|
, FcltCallbackAndThen(setFlag)
|
|
, "json"
|
|
);
|
|
}
|
|
|
|
function setFlag(data)
|
|
{ // Zet de flag en het volgnummer van de flag.
|
|
var rsv_ruimte_key = data.rsv_ruimte_key;
|
|
var flagkey = data.newflag;
|
|
var flagimg = 'fa fa-circle resflag'+flagkey;;
|
|
|
|
// Alle gekleurde balletjes met dezelfde id. Met $(#id) pak je alleen het eerste bolletje. Alle voorzieningen (en ruimte) pakken.
|
|
$("i[id^='resflagimg" + rsv_ruimte_key + "']").attr('flagkey', flagkey);
|
|
$("i[id^='resflagimg" + rsv_ruimte_key + "']").attr('class', flagimg);
|
|
$("i[id^='resflagimg" + rsv_ruimte_key + "']").parent().attr('title', L("lcl_res_flag" + flagkey));
|
|
$("i[id^='resflagimg" + rsv_ruimte_key + "']").next().text(flagkey || 999); // Hidden span voor sorteren
|
|
$('#restable th').removeClass('sorttable_sorted sorttable_sorted_reverse'); // sortable cache't namelijk
|
|
}
|
|
|