Files
Facilitor/APPL/RES/res_list.js
Ruud Lipper b9f717701c FSN#40667 Uitlenen via afhandelen reservering opent nog onterecht een modal
svn path=/Website/branches/v2017.1/; revision=34010
2017-05-26 13:48:04 +00:00

178 lines
5.8 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 resMultiDelete(rowArray)
{
var res_key_arr = getKeyString(rowArray);
var subject = L("lcl_delete");
var url = "res_delete.asp?urole=" + urole + "&rsv_ruimte_key=" + res_key_arr;
FcltMgr.openModalDetail(url, subject, {callback: function() { return reloadList(); } });
}
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('<i class="fa fa-check-square-o fa-lg"></i>');
}
}),
"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)
{
$(row).addClass('dirty');
var rsv_deel_key = row.getAttribute("ROWKEY");
var resData = eval('(' + row.getAttribute("ROWDATA") + ')');
FcltMgr.openDetail("appl/ins/ins_deel_free.asp?rsv_deel_key="+resData.res_rsv_deel_key,
L("lcl_ins_insinn"));
}
function insCheckOut(row)
{
$(row).addClass('dirty');
var rsv_deel_key = row.getAttribute("ROWKEY");
var resData = eval('(' + row.getAttribute("ROWDATA") + ')');
FcltMgr.openDetail("appl/ins/ins_deel_free.asp?rsv_deel_key="+resData.res_rsv_deel_key,
L("lcl_ins_lend_out"));
}
// Uitleen flexkenmerken bewerken.
function insAdapt(row)
{
$(row).addClass('dirty');
var rsv_deel_key = row.getAttribute("ROWKEY");
var resData = eval('(' + row.getAttribute("ROWDATA") + ')');
FcltMgr.openDetail("appl/ins/ins_deel_free.asp?adapt=1&rsv_deel_key="+resData.res_rsv_deel_key,
L("lcl_ins_adapt"));
}
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
}