Merge 2021.1 Gold E patches
svn path=/Website/trunk/; revision=53324
This commit is contained in:
@@ -61,7 +61,7 @@ else
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<%
|
||||
<%
|
||||
PAGE_START();
|
||||
if (dis_key == -1)
|
||||
var page="alg_edit_district.asp"; // Maak een nieuw
|
||||
@@ -75,14 +75,16 @@ else
|
||||
if (dis_key > -1)
|
||||
{
|
||||
// tracking naar subframe :-)
|
||||
if (true) // iedereen die dit mag zien, mag ook de mutaties zien
|
||||
{
|
||||
var autfunction = ["WEB_ALGUSE", "WEB_ALGMAN"];
|
||||
var authparams = user.checkAutorisation(autfunction, true);
|
||||
if (authparams && authparams.ALGreadlevel <= 1 && authparams.PRSreadlevel < 9)
|
||||
{
|
||||
page = protectQS.create("../shared/status_info.asp?dis_key=" + dis_key);
|
||||
IFRAMER("alghistoryframe", page, { icon: "fa-list", title: L("lcl_tracking")} );
|
||||
}
|
||||
}
|
||||
|
||||
PAGE_END();
|
||||
PAGE_END();
|
||||
%>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -252,7 +252,7 @@ user.auth_required_or_abort(ingesloten.length); // We klagen niet over enkele we
|
||||
$(function()
|
||||
{ // Een vinkboxje voor de invoer velden toevoegen.
|
||||
// Niet een vinkboxje toevoegen voor de flexkenmerken. Dat doet generateFlexKenmerkBlock.listKenmerk wel.
|
||||
$("input[type=text],input[type=checkbox],input[type=number],input:not([type]),select, textarea").not(".fldtime").not("[class^='fldflex']").not("[class^='fldSflex']").not("[name^='check_']").each(
|
||||
$(":input:not([type=hidden])").not("td.flexvalue :input, td.multi_cb :input").each(
|
||||
function() {
|
||||
if ($(this).hasClass("flddate"))
|
||||
var cb_name = "check_" + $(this).attr("id").substr("show_".length);
|
||||
|
||||
@@ -199,6 +199,28 @@ oRs.Close();
|
||||
multi: true
|
||||
});
|
||||
|
||||
%>
|
||||
<script>
|
||||
function putCheckmarkSuggest(prs_key, prs_txt, obj)
|
||||
{
|
||||
thisobj = $("#"+obj.suggestid);
|
||||
if (thisobj.is(":checkbox"))
|
||||
var isgevuld = thisobj.is(":checked")
|
||||
else
|
||||
var isgevuld = thisobj.val();
|
||||
|
||||
if (thisobj.hasClass("flddate"))
|
||||
var cb_name = "check_" + thisobj.attr("id").substr("show_".length);
|
||||
else if (thisobj.hasClass("suggest"))
|
||||
var cb_name = "check_" + thisobj.attr("id").substr(0, thisobj.attr("id").length-5);
|
||||
else
|
||||
var cb_name = "check_" + thisobj.attr("name");
|
||||
$("input[type=checkbox][name=" + cb_name + "]").prop("checked", isgevuld);
|
||||
// Eventuele andere onChange acties van een selecter hieronder toevoegen.
|
||||
};
|
||||
</script>
|
||||
<%
|
||||
|
||||
var buttons = [];
|
||||
buttons.push({title: L("lcl_submit"), action: "alg_submit()", singlepress: true, id: "btn_alg_submit", importance: 1, icon: "fa-fclt-save"});
|
||||
buttons.push({title: L("lcl_cancel"), action: "alg_cancel()", importance: 3, icon: "fa-fclt-cancel"});
|
||||
|
||||
@@ -100,8 +100,10 @@ else
|
||||
IFRAMER("mapsframe", page2, { title: L("lcl_maps"), icon: "fa-map-marker-alt" } );
|
||||
}
|
||||
// tracking naar subframe :-)
|
||||
if (true) // iedereen die dit mag zien, mag ook de mutaties zien
|
||||
{
|
||||
var autfunction = ["WEB_ALGUSE", "WEB_ALGMAN"];
|
||||
var authparams = user.checkAutorisation(autfunction, true);
|
||||
if (authparams && authparams.ALGreadlevel <= 3 && authparams.PRSreadlevel < 9)
|
||||
{
|
||||
page = protectQS.create("../shared/status_info.asp?bld_key=" + bld_key);
|
||||
IFRAMER("alghistoryframe", page, { icon: "fa-list", title: L("lcl_tracking")} );
|
||||
}
|
||||
@@ -111,4 +113,4 @@ else
|
||||
<% PAGE_END(); %>
|
||||
</body>
|
||||
</html>
|
||||
<% ASPPAGE_END(); %>
|
||||
<% ASPPAGE_END(); %>
|
||||
|
||||
@@ -108,8 +108,10 @@ else
|
||||
IFRAMER("mapsframe", page3, { title: L("lcl_maps"), icon: "fa-map-marker-alt" } );
|
||||
}
|
||||
// tracking naar subframe :-)
|
||||
if (true) // iedereen die dit mag zien, mag ook de mutaties zien
|
||||
{
|
||||
var autfunction = ["WEB_ALGUSE", "WEB_ALGMAN"];
|
||||
var authparams = user.checkAutorisation(autfunction, true);
|
||||
if (authparams && authparams.ALGreadlevel <= 2 && authparams.PRSreadlevel < 9)
|
||||
{
|
||||
page = protectQS.create("../shared/status_info.asp?loc_key=" + loc_key);
|
||||
IFRAMER("alghistoryframe", page, { icon: "fa-list", title: L("lcl_tracking")} );
|
||||
}
|
||||
@@ -118,4 +120,4 @@ else
|
||||
<% PAGE_END(); %>
|
||||
</body>
|
||||
</html>
|
||||
<% ASPPAGE_END(); %>
|
||||
<% ASPPAGE_END(); %>
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<!--#include file="../Shared/common.inc" -->
|
||||
<!--#include file="../Shared/iface.inc" -->
|
||||
<%
|
||||
FCLTHeader.Requires({plugins:["jQuery"],
|
||||
FCLTHeader.Requires({plugins:["jQuery"],
|
||||
js: ["jquery-ui.js"]
|
||||
})
|
||||
|
||||
@@ -43,8 +43,8 @@ var reg_key = getQParamInt("key", -1);
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<%
|
||||
PAGE_START();
|
||||
<%
|
||||
PAGE_START();
|
||||
if (reg_key == -1)
|
||||
var page="alg_edit_regio.asp"; // Maak een nieuw
|
||||
else
|
||||
@@ -53,19 +53,21 @@ var reg_key = getQParamInt("key", -1);
|
||||
|
||||
IFRAMER("algframe", page, { title: L("lcl_alg_regio_frame"),
|
||||
FcltClose: "algClose" } );
|
||||
|
||||
|
||||
if (reg_key > -1)
|
||||
{
|
||||
// tracking naar subframe :-)
|
||||
if (true) // iedereen die dit mag zien, mag ook de mutaties zien
|
||||
{
|
||||
// tracking naar subframe :-)
|
||||
var autfunction = ["WEB_ALGUSE", "WEB_ALGMAN"];
|
||||
var authparams = user.checkAutorisation(autfunction, true);
|
||||
if (authparams && authparams.ALGreadlevel <= 0 && authparams.PRSreadlevel < 9)
|
||||
{
|
||||
page = protectQS.create("../shared/status_info.asp?reg_key=" + reg_key);
|
||||
IFRAMER("alghistoryframe", page, { icon: "fa-list", title: L("lcl_tracking")} );
|
||||
}
|
||||
}
|
||||
|
||||
PAGE_END();
|
||||
PAGE_END();
|
||||
%>
|
||||
</body>
|
||||
</html>
|
||||
<% ASPPAGE_END(); %>
|
||||
<% ASPPAGE_END(); %>
|
||||
|
||||
@@ -128,8 +128,10 @@ else
|
||||
IFRAMER("cntlistframe", page5, { icon: "fa-list" } );
|
||||
}
|
||||
// tracking naar subframe :-)
|
||||
if (true) // iedereen die dit mag zien, mag ook de mutaties zien
|
||||
{
|
||||
var autfunction = ["WEB_ALGUSE", "WEB_ALGMAN"];
|
||||
var authparams = user.checkAutorisation(autfunction, true);
|
||||
if (authparams && authparams.ALGreadlevel <= 5 && authparams.PRSreadlevel < 9)
|
||||
{
|
||||
page = protectQS.create("../shared/status_info.asp?room_key=" + room_key);
|
||||
IFRAMER("alghistoryframe", page, { icon: "fa-list", title: L("lcl_tracking")} );
|
||||
}
|
||||
@@ -138,4 +140,4 @@ else
|
||||
<% PAGE_END(); %>
|
||||
</body>
|
||||
</html>
|
||||
<% ASPPAGE_END(); %>
|
||||
<% ASPPAGE_END(); %>
|
||||
|
||||
@@ -69,8 +69,8 @@ else
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<%
|
||||
PAGE_START();
|
||||
<%
|
||||
PAGE_START();
|
||||
if (ter_key == -1)
|
||||
var page = "alg_edit_terreinsector.asp"; // Maak een nieuw
|
||||
else
|
||||
@@ -82,15 +82,17 @@ else
|
||||
if (ter_key > -1)
|
||||
{
|
||||
// tracking naar subframe :-)
|
||||
if (true) // iedereen die dit mag zien, mag ook de mutaties zien
|
||||
{
|
||||
var autfunction = ["WEB_ALGUSE", "WEB_ALGMAN"];
|
||||
var authparams = user.checkAutorisation(autfunction, true);
|
||||
if (authparams && authparams.ALGreadlevel <= 3 && authparams.PRSreadlevel < 9)
|
||||
{
|
||||
page = protectQS.create("../shared/status_info.asp?ter_key=" + ter_key);
|
||||
IFRAMER("alghistoryframe", page, { icon: "fa-list", title: L("lcl_tracking")} );
|
||||
}
|
||||
}
|
||||
|
||||
PAGE_END();
|
||||
PAGE_END();
|
||||
%>
|
||||
</body>
|
||||
</html>
|
||||
<% ASPPAGE_END(); %>
|
||||
<% ASPPAGE_END(); %>
|
||||
@@ -76,7 +76,7 @@ else
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<%
|
||||
<%
|
||||
PAGE_START();
|
||||
if (flr_key == -1)
|
||||
var page="alg_edit_verdieping.asp"; // Maak een nieuw
|
||||
@@ -99,15 +99,17 @@ else
|
||||
IFRAMER("cntlistframe", page2, { icon: "fa-list" } );
|
||||
}
|
||||
// tracking naar subframe :-)
|
||||
if (true) // iedereen die dit mag zien, mag ook de mutaties zien
|
||||
{
|
||||
var autfunction = ["WEB_ALGUSE", "WEB_ALGMAN"];
|
||||
var authparams = user.checkAutorisation(autfunction, true);
|
||||
if (authparams && authparams.ALGreadlevel <= 4 && authparams.PRSreadlevel < 9)
|
||||
{
|
||||
page = protectQS.create("../shared/status_info.asp?flr_key=" + flr_key);
|
||||
IFRAMER("alghistoryframe", page, { icon: "fa-list", title: L("lcl_tracking")} );
|
||||
}
|
||||
}
|
||||
|
||||
PAGE_END();
|
||||
PAGE_END();
|
||||
%>
|
||||
</body>
|
||||
</html>
|
||||
<% ASPPAGE_END(); %>
|
||||
<% ASPPAGE_END(); %>
|
||||
|
||||
@@ -82,15 +82,17 @@ if (wp_key > 0)
|
||||
var page3 ="../ins/ins_search_list.asp?urole=bo&tiny=1&werkplekkey=" + wp_key;
|
||||
IFRAMER("deellistframe", page3, { icon: "fa-list" } );
|
||||
|
||||
// tracking naar subframe :-)
|
||||
if (true) // iedereen die dit mag zien, mag ook de mutaties zien
|
||||
{
|
||||
page = protectQS.create("../shared/status_info.asp?wp_key=" + wp_key);
|
||||
IFRAMER("alghistoryframe", page, { icon: "fa-list", title: L("lcl_tracking")} );
|
||||
}
|
||||
// tracking naar subframe :-)
|
||||
var autfunction = ["WEB_ALGUSE", "WEB_ALGMAN"];
|
||||
var authparams = user.checkAutorisation(autfunction, true);
|
||||
if (authparams && authparams.ALGreadlevel <= 6 && authparams.PRSreadlevel < 9)
|
||||
{
|
||||
page = protectQS.create("../shared/status_info.asp?wp_key=" + wp_key);
|
||||
IFRAMER("alghistoryframe", page, { icon: "fa-list", title: L("lcl_tracking")} );
|
||||
}
|
||||
}
|
||||
%>
|
||||
<% PAGE_END(); %>
|
||||
</body>
|
||||
</html>
|
||||
<% ASPPAGE_END(); %>
|
||||
<% ASPPAGE_END(); %>
|
||||
|
||||
@@ -164,6 +164,8 @@ api2 = {
|
||||
|
||||
if ("filter" in field)
|
||||
var filter = field.filter
|
||||
else if ("LOV" in field)
|
||||
var filter = "exact"
|
||||
else // default filtertypes
|
||||
{
|
||||
switch (field.typ)
|
||||
|
||||
@@ -30,7 +30,6 @@ function model_ins_srtcontrole()
|
||||
"dbs": "ins_srtcontrole_key",
|
||||
"label": L("lcl_key"),
|
||||
"typ": "key",
|
||||
"infoPointer": { Url: "appl/shared/status_info.asp?urole=bo&inssc_key=", Title: L("lcl_key") + " " },
|
||||
"required": true,
|
||||
"seq": "ins_s_ins_srtcontrole_key",
|
||||
"track": true
|
||||
|
||||
@@ -365,14 +365,14 @@ function model_prs_perslid(params)
|
||||
Oracle.Execute(sql);
|
||||
shared.trackaction("PRSLOG", the_key, "User was deleted on {0}, now reanimated.".format(toDateTimeString(verwijder, true)));
|
||||
|
||||
var put_result = generic_REST_PUT(this)(params, jsondata, the_key); // bijwerken
|
||||
var post_result = generic_REST_PUT(this)(params, jsondata, the_key); // bijwerken
|
||||
// Klantspecifieke check functie (hookfunction) voor de invoer
|
||||
var pResult = new HookResult();
|
||||
if (!custfunc.prs_postsave(the_key, pResult))
|
||||
{
|
||||
abort_with_warning(pResult.errmsg);
|
||||
}
|
||||
return put_result;
|
||||
return post_result;
|
||||
}
|
||||
oRs.Close();
|
||||
// doorvallen naar gewone POST
|
||||
@@ -381,7 +381,7 @@ function model_prs_perslid(params)
|
||||
var post_result = generic_REST_POST(this)(params, jsondata, parent_key);
|
||||
// Klantspecifieke check functie (hookfunction) voor de invoer
|
||||
var pResult = new HookResult();
|
||||
if (!custfunc.prs_postsave(the_key, pResult))
|
||||
if (!custfunc.prs_postsave(post_result.key, pResult))
|
||||
{
|
||||
abort_with_warning(pResult.errmsg);
|
||||
}
|
||||
@@ -389,7 +389,17 @@ function model_prs_perslid(params)
|
||||
}
|
||||
if (params.internal || user.has("WEB_PRSMAN"))
|
||||
{
|
||||
this.REST_PUT = generic_REST_PUT(this);
|
||||
this.REST_PUT = function (params, jsondata, the_key)
|
||||
{
|
||||
var put_result = generic_REST_PUT(this)(params, jsondata, the_key);
|
||||
|
||||
var pResult = new HookResult();
|
||||
if (!custfunc.prs_postsave(the_key, pResult))
|
||||
{
|
||||
abort_with_warning(pResult.errmsg);
|
||||
}
|
||||
return put_result;
|
||||
}
|
||||
this.REST_DELETE = generic_REST_DELETE(this);
|
||||
}
|
||||
else
|
||||
@@ -398,11 +408,18 @@ function model_prs_perslid(params)
|
||||
if (autparams.PRSwritelevel < 9 && autparams.ALGwritelevel < 9)
|
||||
{
|
||||
this.REST_PUT = function (params, jsondata, the_key)
|
||||
{
|
||||
if (params.filter.id != user_key || params.filter.mode != "attachment") // Bijlagen *bij jezelf* mag je uploaden
|
||||
abort_with_warning(L("lcl_no_auth"), 403);
|
||||
var put_result = generic_REST_PUT(this)(params, jsondata, the_key);
|
||||
|
||||
var pResult = new HookResult();
|
||||
if (!custfunc.prs_postsave(the_key, pResult))
|
||||
{
|
||||
if (params.filter.id != user_key || params.filter.mode != "attachment") // Bijlagen *bij jezelf* mag je uploaden
|
||||
abort_with_warning(L("lcl_no_auth"), 403);
|
||||
return generic_REST_PUT(this)(params, jsondata, the_key);
|
||||
abort_with_warning(pResult.errmsg);
|
||||
}
|
||||
return put_result;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,13 +70,13 @@ function model_res_deel(ins_min_level_arr, insMultiReserve)
|
||||
"filter": "like"
|
||||
},
|
||||
"ruimtekey": {
|
||||
"dbs": "res_v_ins_deelgegevens.alg_onroerendgoed_keys",
|
||||
"dbs": "res_v_ins_deelgegevens.tbl_res_deel_key",
|
||||
"label": L("lcl_location"),
|
||||
"typ": "key",
|
||||
"hidden_fld": true,
|
||||
"foreign": {
|
||||
"tbl": get_tbl(),
|
||||
"key": "res_deel_key",
|
||||
"key": "tbl_res_deel_key",
|
||||
"desc": "alg_plaatsaanduiding",
|
||||
"selectorforeign": "ALG_RUIMTE",
|
||||
"selectorparams": {"startlevel": 2, "eindlevel": 5, "readonlylevel": 1}
|
||||
@@ -206,7 +206,7 @@ function model_res_deel(ins_min_level_arr, insMultiReserve)
|
||||
+ " , a.alg_verdieping_key"
|
||||
+ " , a.alg_ruimte_key"
|
||||
+ " , d.ins_deel_key"
|
||||
+ " , r.res_deel_key"
|
||||
+ " , r.res_deel_key tbl_res_deel_key"
|
||||
+ " FROM res_deel r"
|
||||
+ " , ins_deel d"
|
||||
+ " , ins_v_alg_overzicht a"
|
||||
@@ -222,7 +222,7 @@ function model_res_deel(ins_min_level_arr, insMultiReserve)
|
||||
if (inArray(1, this.ins_min_level_arr) || inArray(5, this.ins_min_level_arr)) // gekoppeld aan ins_deel
|
||||
{
|
||||
var gparams = { GET: { tables: [get_tbl("res_v_ins_deelgegevens")]
|
||||
, wheres: ["res_deel.res_deel_key = res_v_ins_deelgegevens.res_deel_key(+)"]
|
||||
, wheres: ["res_deel.res_deel_key = res_v_ins_deelgegevens.tbl_res_deel_key(+)"]
|
||||
}
|
||||
};
|
||||
delete this.fields.res_prs_perslid_key;
|
||||
|
||||
@@ -131,6 +131,8 @@ function model_reservations(rsv_key, params)
|
||||
if (params.filter.id > 0)
|
||||
{
|
||||
var this_res = res.func_enabled(params.filter.id);
|
||||
if (!this_res)
|
||||
return [];
|
||||
user.auth_required_or_abort(this_res.canReadAny);
|
||||
}
|
||||
else if (params.filter.order > 0)
|
||||
|
||||
@@ -236,8 +236,10 @@ transitParam = buildTransitParam(["punch", "voorraad", "mld_key", "artikel_key",
|
||||
if (bes_key > -1)
|
||||
{
|
||||
// tracking naar subframe :-)
|
||||
if (true) // iedereen die dit mag zien, mag ook de mutaties zien
|
||||
{
|
||||
var autfunction = {fo: 'WEB_BESFOF', bo: 'WEB_BESBOF', mi: 'WEB_BESBAC'}[urole] || 'WEB_BESUSE';
|
||||
var authparams = user.checkAutorisation(autfunction, true);
|
||||
if (authparams && authparams.ALGreadlevel < 9 && authparams.PRSreadlevel < 9)
|
||||
{
|
||||
page = protectQS.create("../shared/status_info.asp?bes_key=" + bes_key + "&urole=" + urole);
|
||||
IFRAMER("alghistoryframe", page, { icon: "fa-list", title: L("lcl_tracking")} );
|
||||
}
|
||||
@@ -248,4 +250,4 @@ transitParam = buildTransitParam(["punch", "voorraad", "mld_key", "artikel_key",
|
||||
<% PAGE_END(); %>
|
||||
</body>
|
||||
</html>
|
||||
<% ASPPAGE_END(); %>
|
||||
<% ASPPAGE_END(); %>
|
||||
|
||||
@@ -432,6 +432,17 @@ else // nieuwe bestelling. Defaults bepalen
|
||||
$("#besFlex").toggle($("#k_all").val()>0); // verbergen als leeg
|
||||
$('textarea').resize(function() { FcltMgr.resized(window) });
|
||||
$('textarea').autogrow();
|
||||
// show spinner when xhr calls are running
|
||||
$(document).ajaxStart(function()
|
||||
{
|
||||
iface.button.disable("btn_bes_submit");
|
||||
$("li[id=btn_bes_submit]").attr("disabled","disabled");
|
||||
});
|
||||
$(document).ajaxStop(function()
|
||||
{
|
||||
$("li[id=btn_bes_submit]").attr("disabled","");
|
||||
iface.button.enable("btn_bes_submit");
|
||||
});
|
||||
});
|
||||
|
||||
function bes_cancel()
|
||||
|
||||
@@ -89,12 +89,14 @@ oRs.Close();
|
||||
page="../fin/fin_list.asp?embedded=1&bes_key=" + opdr_key;
|
||||
IFRAMER("finfactuur", page, { refreshOnClose: true, title: L("lcl_fin_invoices_frame")} );
|
||||
}
|
||||
|
||||
|
||||
verkoopfactuur_IFRAMER('bestelopdr', opdr_key);
|
||||
|
||||
// tracking naar subframe :-)
|
||||
if (true) // iedereen die dit mag zien, mag ook de mutaties zien
|
||||
{
|
||||
var autfunction = {fo: 'WEB_BESFOF', bo: ['WEB_BESBOR', 'WEB_BESBOF'], mi: 'WEB_BESBAC'}[urole] || 'WEB_BESUSE';
|
||||
var authparams = user.checkAutorisation(autfunction, true);
|
||||
if (authparams && authparams.ALGreadlevel < 9 && authparams.PRSreadlevel < 9)
|
||||
{
|
||||
page = protectQS.create("../shared/status_info.asp?ord_key=" + opdr_key + "&urole=" + urole);
|
||||
IFRAMER("alghistoryframe", page, { icon: "fa-list", title: L("lcl_tracking")} );
|
||||
}
|
||||
@@ -104,4 +106,4 @@ oRs.Close();
|
||||
<% PAGE_END(); %>
|
||||
</body>
|
||||
</html>
|
||||
<% ASPPAGE_END(); %>
|
||||
<% ASPPAGE_END(); %>
|
||||
|
||||
@@ -36,37 +36,50 @@ switch (req_info)
|
||||
break;
|
||||
}
|
||||
case "voorraad_artikel":
|
||||
{
|
||||
var urole = getQParam("urole");
|
||||
switch(urole)
|
||||
{
|
||||
case "fe": autfunction = "WEB_BESUSE"; break;
|
||||
case "fo": autfunction = "WEB_BESFOF"; break;
|
||||
case "bo": autfunction = "WEB_BESBOF"; break;
|
||||
case "mi": autfunction = "WEB_BESBAC"; break;
|
||||
}
|
||||
params = { catalogus_key: null
|
||||
, besgroep_key: null
|
||||
, item_key: getQParamInt("srtdeel_key")
|
||||
, searchtekst: null
|
||||
, tebestellen: null
|
||||
};
|
||||
var sql = bes.voorraad_srtdeel(autfunction, params);
|
||||
{ // check whether stock control is enabled
|
||||
var sql = "SELECT bes_ins_discipline_key_inkoop"
|
||||
+ " FROM bes_srtgroep bsg,"
|
||||
+ " bes_srtdeel bsd,"
|
||||
+ " bes_disc_params dp"
|
||||
+ " WHERE bsg.bes_srtgroep_key = bsd.bes_srtgroep_key"
|
||||
+ " AND bsd.bes_srtdeel_key = " + getQParamInt("srtdeel_key")
|
||||
+ " AND bsg.ins_discipline_key = dp.bes_ins_discipline_key";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.eof)
|
||||
{
|
||||
result = { srtdeel_key: oRs("bes_srtdeel_key").Value
|
||||
, voorraadmin: oRs("voorraadmin").Value
|
||||
, voorraadmax: oRs("voorraadmax").Value
|
||||
, maxbestel: oRs("maxbestel").Value
|
||||
, bestelmin: oRs("bestelmin").Value
|
||||
, bestelmax: oRs("bestelmax").Value
|
||||
, bestelveelvoud: oRs("bestelveelvoud").Value
|
||||
, voorraad: oRs("voorraad").Value
|
||||
, voorraad_intern: oRs("voorraad_intern").Value
|
||||
};
|
||||
}
|
||||
var bes_disc_key = (oRs.eof ? oRs("bes_ins_discipline_key_inkoop").Value : null);
|
||||
oRs.Close();
|
||||
if (bes_disc_key)
|
||||
{
|
||||
var urole = getQParam("urole");
|
||||
switch(urole)
|
||||
{
|
||||
case "fe": autfunction = "WEB_BESUSE"; break;
|
||||
case "fo": autfunction = "WEB_BESFOF"; break;
|
||||
case "bo": autfunction = "WEB_BESBOF"; break;
|
||||
case "mi": autfunction = "WEB_BESBAC"; break;
|
||||
}
|
||||
params = { catalogus_key: null
|
||||
, besgroep_key: null
|
||||
, item_key: getQParamInt("srtdeel_key")
|
||||
, searchtekst: null
|
||||
, tebestellen: null
|
||||
};
|
||||
var sql = bes.voorraad_srtdeel(autfunction, params);
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.eof)
|
||||
{
|
||||
result = { srtdeel_key: oRs("bes_srtdeel_key").Value
|
||||
, voorraadmin: oRs("voorraadmin").Value
|
||||
, voorraadmax: oRs("voorraadmax").Value
|
||||
, maxbestel: oRs("maxbestel").Value
|
||||
, bestelmin: oRs("bestelmin").Value
|
||||
, bestelmax: oRs("bestelmax").Value
|
||||
, bestelveelvoud: oRs("bestelveelvoud").Value
|
||||
, voorraad: oRs("voorraad").Value
|
||||
, voorraad_intern: oRs("voorraad_intern").Value
|
||||
};
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,6 +60,8 @@ function load_item_info(srtdeel_key, urole, aantal, bes_key)
|
||||
{
|
||||
// NB: bes_key bestaat niet voor een nieuwe bestelling!
|
||||
bes_key = (bes_key ? bes_key : -1);
|
||||
checkXhrObj[bes_key] = (checkXhrObj[bes_key] ? checkXhrObj[bes_key] : {});
|
||||
checkXhrObj[bes_key][srtdeel_key] = true;
|
||||
$.getJSON("get_item_info_ajax.asp?srtdeel_key=" + srtdeel_key + "&bes_key=" + bes_key,
|
||||
function(data)
|
||||
{
|
||||
@@ -73,6 +75,7 @@ function load_item_info(srtdeel_key, urole, aantal, bes_key)
|
||||
}
|
||||
if (aantal && aantal > 0)
|
||||
AddSuggestItem(data, aantal, urole);
|
||||
checkXhrObj[bes_key][srtdeel_key] = false;
|
||||
}
|
||||
)
|
||||
}
|
||||
@@ -285,6 +288,11 @@ function fetchArtikelInfo(cell, srtdeel_key, id_key)
|
||||
);
|
||||
}
|
||||
|
||||
var checkXhrObj = {};
|
||||
function checkXhr(srtdeel_key, bes_key)
|
||||
{
|
||||
return !!(checkXhrObj[bes_key] && checkXhrObj[bes_key][srtdeel_key]);
|
||||
}
|
||||
var new_item_key = 0;
|
||||
// editable: ik mag nog regels toevoegen en verwijderen, verhogen en verlagen
|
||||
// levert een verwijzing naar de aantal_cell op.
|
||||
@@ -331,8 +339,13 @@ function CreateRow(bes_item_info, aantal, received, editable, objFlex, urole)
|
||||
tr.bes_item_info = bes_item_info;
|
||||
if (editable)
|
||||
{ // Als er op de regel geklikt wordt en als er text wordt geselecteerd (is niet hetzelfde) dan in beide gevallen de gegevens van het artikel ophalen en tonen.
|
||||
tr.onclick = function () { if (!maxArtikelReached()) load_item_info(this.bes_item_info.srtdeel_key, urole, 0, this.bes_item_info.bestelling_key )};
|
||||
tr.onselect = function () { if (!maxArtikelReached()) load_item_info(this.bes_item_info.srtdeel_key, urole, 0, this.bes_item_info.bestelling_key )};
|
||||
$(tr).on("click select", function ()
|
||||
{
|
||||
if (!checkXhr(this.bes_item_info.srtdeel_key, this.bes_item_info.bestelling_key) && !maxArtikelReached())
|
||||
{
|
||||
load_item_info(this.bes_item_info.srtdeel_key, urole, 0, this.bes_item_info.bestelling_key );
|
||||
}
|
||||
});
|
||||
}
|
||||
tr.orgAmount = tr.amount = aantal;
|
||||
tr.flexvals = [];
|
||||
|
||||
@@ -210,7 +210,9 @@ else
|
||||
if (afspr_key > -1)
|
||||
{
|
||||
// tracking naar subframe :-)
|
||||
if (true) // staat niet tussen de notities
|
||||
var autfunction = {fo: 'WEB_BEZFOF', bo: 'WEB_BEZBOF'}[urole] || 'WEB_BEZUSE';
|
||||
var authparams = user.checkAutorisation(autfunction, true);
|
||||
if (authparams && authparams.ALGreadlevel < 9 && authparams.PRSreadlevel < 9)
|
||||
{
|
||||
page = protectQS.create("../shared/status_info.asp?afspr_key=" + afspr_key + "&urole=" + urole);
|
||||
IFRAMER("opdrhistoryframe", page, { icon: "fa-list", title: L("lcl_tracking")} );
|
||||
|
||||
@@ -174,13 +174,14 @@ function createAfspraak(rsv_ruimte_key)
|
||||
var loc = oRs("alg_locatie_key").value;
|
||||
var alg_ruimte_key = oRs("alg_ruimte_key").value;
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
// S("res_copy_to_bez") (bitwise): 1=remark | 2=flex | 3=remark and flex | &4=at all changes
|
||||
var remark = [];
|
||||
if (S("res_copy_to_bez")&1 && oRs("res_rsv_ruimte_opmerking").value)
|
||||
remark.push(L("lcl_remark") + ": " + oRs("res_rsv_ruimte_opmerking").value);
|
||||
|
||||
oRs.Close();
|
||||
|
||||
oRs = Oracle.Execute("SELECT bez_s_bez_afspraak_key.nextval FROM DUAL");
|
||||
afspraak_key = oRs(0).value;
|
||||
oRs.close();
|
||||
|
||||
@@ -82,6 +82,7 @@ if (thema_key == -1) thema_key=12; // alsnog, de code is nog niet bestand tegen
|
||||
var themai_key = getQParamInt("themai", -1);
|
||||
var label_key = getQParamInt("label_key", 12);// In de core is een default labelthema met key 12 gedefinieerd (cad_v_label_bezetbareruimtes)
|
||||
var bordlabel_key = getQParamInt("bordlabel_key", -1);//
|
||||
var contmode = getQParamInt("contmode", 0); //
|
||||
|
||||
var floor_rap = getQParamInt("floor_rap", 0);
|
||||
var datumfilter = getQParamDate("datumfilter", null);
|
||||
@@ -248,6 +249,7 @@ if (fac_usrrap_key > -1)
|
||||
"&labelI=<%=getQParamInt("labelI", -1)%>" +
|
||||
"&labelW=<%=getQParamInt("labelW", -1)%>" +
|
||||
"&antialias=<%=antialias%>" +
|
||||
"&contmode=<%=contmode%>" +
|
||||
"&highlight=" + window.alg_ruimte_key +
|
||||
"&ins_key=" + window.ins_key // zojuist gereserveerd
|
||||
+"&deel2res=" + <%=deel2res?deel2res:0%>
|
||||
|
||||
@@ -332,9 +332,11 @@ if (cnt_key > 0)
|
||||
page = protectQS.create("../cnt/cnt_search_list.asp?versions_of_cnt_key=" + cnt_key + "&urole=" + urole);
|
||||
IFRAMER("cntversionframe", page, { icon: "fa-list"} );
|
||||
}
|
||||
if (true) // iedereen die het contract mag zien, mag ook de mutaties zien
|
||||
var autfunction = ["WEB_CNTUSE", "WEB_CNTMAN"];
|
||||
var authparams = user.checkAutorisation(autfunction, true);
|
||||
if (authparams && authparams.ALGreadlevel < 9 && authparams.PRSreadlevel < 9)
|
||||
{
|
||||
page = protectQS.create("../shared/status_info.asp?cnt_key=" + cnt_key + "&urole=bo");
|
||||
page = protectQS.create("../shared/status_info.asp?cnt_key=" + cnt_key + "&urole=" + urole);
|
||||
IFRAMER("cnthistoryframe", page, { icon: "fa-list", title: L("lcl_tracking")} );
|
||||
}
|
||||
|
||||
|
||||
@@ -356,8 +356,6 @@ function generatePortalmenu(koppen, asWidget)
|
||||
+ " OR (COALESCE (mi.fac_menuitems_rw, 'R') = 'W' AND m.fac_functie_key IN (" + lmywritefacfunctiekeys + "))" /* niet-explodeerbare opties met write-autorisatie */
|
||||
+ " )"
|
||||
|
||||
if (!mobileOnly && !appOnly)
|
||||
{
|
||||
lsql +=" AND COALESCE (mi.fac_menuitems_disc, 0) = 0"
|
||||
+ " AND COALESCE (mi.fac_menuitems_srtdisc, 0) = 0"
|
||||
+ portalOnlySql
|
||||
@@ -386,7 +384,9 @@ function generatePortalmenu(koppen, asWidget)
|
||||
+ "))"
|
||||
+ ")"
|
||||
|
||||
+ " UNION ALL" // BES artikelcatalogi zonder een afzonderlijke vermelding
|
||||
if (!mobileOnly && !appOnly)
|
||||
{
|
||||
lsql +=" UNION ALL" // BES artikelcatalogi zonder een afzonderlijke vermelding
|
||||
+ " SELECT fac_menu_key"
|
||||
+ " , " + lcl.xsql2('COALESCE (fac_menu_altlabel, fac_menuitems_label)', 'FAC_MENU_ALTLABEL', 'fac_menu_key') + " label"
|
||||
+ " , CASE WHEN sd.ins_srtdiscipline_omschrijving IS NULL " // geen lcl.xsql; veronderstelt: geen basistaal, dan ook geen vertaling
|
||||
|
||||
@@ -268,15 +268,15 @@ if (i1 < 0)
|
||||
// Ready state 4 means the request is done
|
||||
if (xhr5.readyState === 4)
|
||||
{
|
||||
if (xhr5.status == 404) // It should not be found when .NET not
|
||||
if (xhr5.status == 404 || xhr5.status == 400) // It should not be found when .NET not installed or 'Bad request'
|
||||
{
|
||||
txt = "Calling an aspx fails (404). Good!";
|
||||
txt = "Calling an aspx fails (http status " + xhr5.status + "). Good!";
|
||||
document.getElementById('resultASPX').innerHTML = 'Ok';
|
||||
document.getElementById('resultASPX').style.color = 'green';
|
||||
}
|
||||
else
|
||||
{
|
||||
txt = "Calling an aspx succeeds. Not Good!";
|
||||
txt = "Calling an aspx succeeds (http status " + xhr5.status + "). Not Good!";
|
||||
txt += "<br>Facilitor does not need managed code.";
|
||||
txt += "<br>Best disable it in the IIS application pool.";
|
||||
document.getElementById('resultASPX').innerHTML = 'Error';
|
||||
@@ -304,15 +304,15 @@ if (i1 < 0)
|
||||
// Ready state 4 means the request is done
|
||||
if (xhr6.readyState === 4)
|
||||
{
|
||||
if (xhr6.status == 404) // It should not be found
|
||||
if (xhr6.status == 404 || xhr6.status == 400) // It should not be found or 'Bad Request'
|
||||
{
|
||||
txt = "<br>Getting " + logurl + " file fails (404). Good!";
|
||||
txt = "<br>Getting " + logurl + " file fails (http status " + xhr6.status + "). Good!";
|
||||
document.getElementById('resultTEMP').innerHTML = 'Ok';
|
||||
document.getElementById('resultTEMP').style.color = 'green';
|
||||
}
|
||||
else
|
||||
{
|
||||
txt = "<br>Getting " + logurl + " file succeeds (" + xhr6.status + "). Not good!";
|
||||
txt = "<br>Getting " + logurl + " file succeeds (http status " + xhr6.status + "). Not good!";
|
||||
txt += "<br><%=safe.jsstring(Server.MapPath("../TEMP/"))%>\\web.config not working properly?"
|
||||
+ "<br>Is RequestFiltering installed in IIS?";
|
||||
document.getElementById('resultTEMP').innerHTML = 'Error';
|
||||
@@ -1396,7 +1396,7 @@ checker("Database context <strong>" + Server.HTMLEncode(server) + "</strong>",
|
||||
'NETWORK_PROTOCOL',
|
||||
'BG_JOB_ID',
|
||||
'FG_JOB_ID',
|
||||
'AUTHENTICATION_TYPE', // < Oracle 19
|
||||
// 'AUTHENTICATION_TYPE', // < Oracle 19
|
||||
'AUTHENTICATION_METHOD', // >= Oracle 11
|
||||
'AUTHENTICATION_DATA',
|
||||
'CURRENT_SQL',
|
||||
|
||||
@@ -1242,7 +1242,7 @@ ins = {checkAutLevel:
|
||||
// levert null als zelfs nog geen leesrechten
|
||||
function (ins_discipline_key, ins_alg_ruimte_type, ins_alg_ruimte_key, params)
|
||||
{
|
||||
var iresult = {canDelete: false, canChange: false}; // Verwijderen en Wijzigen
|
||||
var iresult = {canAdd: false, canDelete: false, canChange: false}; // Verwijderen en Wijzigen
|
||||
var fronto = params && params.urole? params.urole == "fo" : false;
|
||||
if (ins_alg_ruimte_type == "A")
|
||||
{
|
||||
@@ -1262,6 +1262,7 @@ ins = {checkAutLevel:
|
||||
iresult.writeman = canWriteINSMAN;
|
||||
iresult.writeuse = canWriteINSUSE;
|
||||
iresult.writefof = canWriteINSFOF;
|
||||
iresult.canAdd = canWriteINSMAN; // Toevoegen.
|
||||
iresult.canDelete = canWriteINSMAN; // Verwijderen
|
||||
iresult.canChange = canWriteINSMAN || canWriteINSUSE; // Wijzigen
|
||||
iresult.canChangeAlg = canWriteINSMAN && !fronto; // Wijzigen algemene gegevens
|
||||
@@ -1281,6 +1282,7 @@ ins = {checkAutLevel:
|
||||
iresult.writeman = iresult.canWrite("WEB_INSMAN");
|
||||
iresult.writeuse = iresult.canWrite("WEB_INSUSE");
|
||||
iresult.writefof = iresult.canWrite("WEB_INSFOF");
|
||||
iresult.canAdd = iresult.canWrite("WEB_INSMAN"); // Toevoegen.
|
||||
iresult.canDelete = iresult.canWrite("WEB_INSMAN"); // Verwijderen
|
||||
iresult.canChange = iresult.canWrite("WEB_INSMAN") || iresult.canWrite("WEB_INSUSE"); // Wijzigen
|
||||
iresult.canChangeAlg = iresult.canWrite("WEB_INSMAN") && !fronto; // Wijzigen algemene gegevens
|
||||
@@ -1324,6 +1326,7 @@ ins = {checkAutLevel:
|
||||
iresult.writeman = iresult.canWrite("WEB_INSMAN");
|
||||
iresult.writeuse = iresult.canWrite("WEB_INSUSE");
|
||||
iresult.writefof = iresult.canWrite("WEB_INSFOF");
|
||||
iresult.canAdd = iresult.canWrite("WEB_INSMAN"); // Toevoegen.
|
||||
iresult.canDelete = iresult.canWrite("WEB_INSMAN"); // Verwijderen.
|
||||
iresult.canChange = iresult.canWrite("WEB_INSMAN") || iresult.canWrite("WEB_INSUSE"); // Wijzigen.
|
||||
iresult.canChangeAlg = iresult.canWrite("WEB_INSMAN") && !fronto; // Wijzigen algemene gegevens.
|
||||
|
||||
@@ -19,7 +19,7 @@ FCLTHeader.Requires({ plugins:["suggest", "jQuery"],
|
||||
})
|
||||
|
||||
var urole = getQParamSafe("urole");
|
||||
// Het maakt ons hier nog niet uit of wel in SLE zitten
|
||||
// Het maakt ons hier nog niet uit of we in SLE zitten
|
||||
|
||||
var ins_key = getQParamInt("ins_key", -1);
|
||||
var copy = (getQParamInt("ins_copy", 0) == 1);
|
||||
@@ -250,8 +250,13 @@ if (ins_key > 0)
|
||||
page = "ins_show_note2.asp?ins_key=" + ins_key;
|
||||
IFRAMER("noteframe", page, { refreshOnClose: true, sidebar: true } );
|
||||
|
||||
page = protectQS.create("../shared/status_info.asp?ins_key=" + ins_key + "&urole=" + urole);
|
||||
IFRAMER("inshistoryframe", page, { icon: "fa-list", title: L("lcl_tracking")} );
|
||||
var autfunction = (isSLE ? "WEB_SLEBOF" : (urole == "fo" ? "WEB_INSFOF" : "WEB_INSMAN"));
|
||||
var authparams = user.checkAutorisation(autfunction, true);
|
||||
if (authparams && authparams.ALGreadlevel < 9 && authparams.PRSreadlevel < 9)
|
||||
{
|
||||
page = protectQS.create("../shared/status_info.asp?ins_key=" + ins_key + "&urole=" + urole);
|
||||
IFRAMER("inshistoryframe", page, { icon: "fa-list", title: L("lcl_tracking")} );
|
||||
}
|
||||
}
|
||||
|
||||
%>
|
||||
|
||||
@@ -618,10 +618,9 @@ else
|
||||
<script>
|
||||
$(function()
|
||||
{
|
||||
console.log("EINDE");
|
||||
// Een vinkboxje voor de invoer velden toevoegen.
|
||||
// Niet een vinkboxje toevoegen voor de flexkenmerken. Dat doet generateFlexKenmerkBlock.listKenmerk wel.
|
||||
$("input[type=text],input[type=checkbox],input[type=number],input:not([type]),select, textarea").not(".fldtime").not("[class^='fldflex']").not("[class^='fldSflex']").each(
|
||||
$(":input:not([type=hidden])").not("td.flexvalue :input, td.multi_cb :input").each(
|
||||
function()
|
||||
{
|
||||
if ($(this).hasClass("flddate"))
|
||||
|
||||
@@ -4,9 +4,7 @@
|
||||
$Id$
|
||||
|
||||
File: INS/ins_edit_deel.asp
|
||||
Description: Main interface to add/edit objects
|
||||
|
||||
Parameters: ins_key: bewerken bestaand object, we 'weten' al heel veel
|
||||
Description: Main interface to add/edit objects Parameters: ins_key: bewerken bestaand object, we 'weten' al heel veel
|
||||
parent_key: we hebben een parent, we tonen deels info van de parent
|
||||
urole:
|
||||
|
||||
|
||||
@@ -207,9 +207,7 @@ authparams = last_this_ins.authparams(autfunction);
|
||||
else
|
||||
var isgevuld = thisobj.val();
|
||||
|
||||
if (thisobj.hasClass("flddate"))
|
||||
var cb_name = "check_" + thisobj.attr("id").substr("show_".length);
|
||||
else if (thisobj.hasClass("suggest"))
|
||||
if (thisobj.hasClass("suggest"))
|
||||
var cb_name = "check_" + thisobj.attr("id").substr(0, thisobj.attr("id").length-5);
|
||||
else
|
||||
var cb_name = "check_" + thisobj.attr("name");
|
||||
@@ -220,7 +218,7 @@ authparams = last_this_ins.authparams(autfunction);
|
||||
$(function()
|
||||
{ // Een vinkboxje voor de invoer velden toevoegen.
|
||||
// Niet een vinkboxje toevoegen voor de flexkenmerken. Dat doet generateFlexKenmerkBlock.listKenmerk wel.
|
||||
$("input[type=text],input[type=checkbox],input[type=number],input:not([type]),select, textarea").not(".fldtime").not("[class^='fldflex']").not("[class^='fldSflex']").each(
|
||||
$(":input:not([type=hidden])").not("td.flexvalue :input, td.multi_cb :input").each(
|
||||
function() {
|
||||
if ($(this).hasClass("flddate"))
|
||||
var cb_name = "check_" + $(this).attr("id").substr("show_".length);
|
||||
|
||||
@@ -196,7 +196,7 @@ else
|
||||
|
||||
// De schrijfrechten controleren i.v.m. discipline en alg scope
|
||||
var iresult = ins.func_enabled_scope(disc_key, bind, bind_key);
|
||||
if (!iresult || !iresult.canChange)
|
||||
if (!iresult || !iresult.canAdd)
|
||||
abort_with_warning(L("lcl_obj_notallowed")); // combinatie niet toegestaan
|
||||
}
|
||||
|
||||
@@ -297,4 +297,4 @@ else
|
||||
<body>
|
||||
</body>
|
||||
</html>
|
||||
<% ASPPAGE_END(); %>
|
||||
<% ASPPAGE_END(); %>
|
||||
|
||||
@@ -31,7 +31,9 @@ if (deelsrtcont_key == -1)
|
||||
var insPlan = getQParamInt("plan", 0) == 1; // Inplannen inspectie.
|
||||
var insClose = getQParamInt("close", 0) == 1; // Afmelden of afronden inspectie.
|
||||
var insEdit = !insPlan && !insClose; // Wijzigen inspectie.
|
||||
var transitParam = buildTransitParam(["deelsrtcont_keys"]);
|
||||
var transitParam = buildTransitParam(["deelsrtcont_keys", "fromfinish", "finishmjob", "dist_key_arr", "loc_key_arr", "bld_key_arr",
|
||||
"disc_key", "srtgroep_key", "srtdeel_key", "groep", "categorie_key", "srtcontrole", "frequentie",
|
||||
"account", "incbtw", "groupby", "deel", "mjbMoved", "mjbFreezed", "mjbXcped"]);
|
||||
%>
|
||||
|
||||
<html>
|
||||
@@ -108,10 +110,15 @@ var transitParam = buildTransitParam(["deelsrtcont_keys"]);
|
||||
}
|
||||
oRs.Close();
|
||||
// tracking naar subframe :-)
|
||||
if (true) // iedereen die het object mag zien, mag ook de mutaties zien
|
||||
if (deelsrtcont_key > 0) // iedereen die het object mag zien, mag ook de mutaties zien
|
||||
{
|
||||
page = protectQS.create("../shared/status_info.asp?insc_key=" + deelsrtcont_key + "&urole=bo");
|
||||
IFRAMER("inschistoryframe", page, { icon: "fa-list", title: L("lcl_tracking")} );
|
||||
var autfunction = ["WEB_INSUSE", "WEB_INSMAN"];
|
||||
var authparams = user.checkAutorisation(autfunction, true);
|
||||
if (authparams && authparams.ALGreadlevel < 9 && authparams.PRSreadlevel < 9)
|
||||
{
|
||||
page = protectQS.create("../shared/status_info.asp?insc_key=" + deelsrtcont_key + "&urole=bo");
|
||||
IFRAMER("inschistoryframe", page, { icon: "fa-list", title: L("lcl_tracking")} );
|
||||
}
|
||||
}
|
||||
|
||||
%>
|
||||
|
||||
@@ -212,7 +212,7 @@ user.auth_required_or_abort(tobeedited > 0); // We klagen niet over enkele wel e
|
||||
$(document).ready(function()
|
||||
{ // Een vinkboxje voor de invoer velden toevoegen.
|
||||
// Niet een vinkboxje toevoegen voor de flexkenmerken. Dat doet generateFlexKenmerkBlock.listKenmerk wel.
|
||||
$("input[type=text],input[type=checkbox],input[type=number],input:not([type]),select, textarea").not(".fldtime").not("[class^='fldflex']").not("[class^='fldSflex']").each(
|
||||
$(":input:not([type=hidden])").not("td.flexvalue :input, td.multi_cb :input").each(
|
||||
function() {
|
||||
if ($(this).hasClass("flddate"))
|
||||
var cb_name = "check_" + $(this).attr("id").substr("show_".length);
|
||||
@@ -274,4 +274,4 @@ user.auth_required_or_abort(tobeedited > 0); // We klagen niet over enkele wel e
|
||||
<% MODAL_END(); %>
|
||||
</body>
|
||||
</html>
|
||||
<% ASPPAGE_END(); %>
|
||||
<% ASPPAGE_END(); %>
|
||||
|
||||
@@ -141,10 +141,10 @@ $(document).on("ajaxError", function(event, jqXHR, ajaxSettings, thrownError) {
|
||||
if (jqXHR.responseJSON && "error" in jqXHR.responseJSON)
|
||||
var errtxt = jqXHR.responseJSON.error.message; // een api2.error(400, "Tekst");
|
||||
else
|
||||
errtxt = "JQuery Ajax Error: " + ajaxSettings +
|
||||
errtxt = "JQuery Ajax Error: " +
|
||||
"\n" + jqXHR.status + ": " + jqXHR.statusText +
|
||||
(thrownError && thrownError != jqXHR.statusText ? "\n" + thrownError : "") +
|
||||
"\n\n" + this.type + " " + this.url;
|
||||
"\n\n" + ajaxSettings.type + " " + ajaxSettings.url;
|
||||
FcltMgr.alert(errtxt +
|
||||
"\n\n" + new Date().toLocaleString());
|
||||
}
|
||||
|
||||
@@ -172,7 +172,7 @@ function showInlineDetails(thisTD, strfnURL, position)
|
||||
newRow.insertCell(0);
|
||||
var theCell = newRow.insertCell(1);
|
||||
theCell.innerHTML = L("lcl_shared_loading");
|
||||
theCell.colSpan=5; // thisTR.children.length - 2;
|
||||
theCell.colSpan = thisTR.children.length - 2;
|
||||
if (position == null) position = 3;
|
||||
for (var i = 0; i < position - 2; i++)
|
||||
newRow.insertCell(1);
|
||||
|
||||
@@ -27,7 +27,7 @@ if (mode != "save")
|
||||
}
|
||||
}
|
||||
|
||||
scaffolding(this_model,
|
||||
var this_params =
|
||||
{
|
||||
"search": {
|
||||
"autosearch": true,
|
||||
@@ -136,7 +136,25 @@ scaffolding(this_model,
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"wrap": {
|
||||
"frames": []
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
var id = getQParamInt("id", -1);
|
||||
if (id > 0)
|
||||
{
|
||||
var urole = getQParamSafe("urole", "fe");
|
||||
var page = protectQS.create("../shared/status_info.asp?inssc_key=" + id + "&urole=" + urole);
|
||||
this_params.wrap.frames.push({
|
||||
"url": page,
|
||||
"icon": "fa-list",
|
||||
"title": L("lcl_tracking"),
|
||||
"autfunction": this_model.authfunction
|
||||
});
|
||||
}
|
||||
|
||||
scaffolding(this_model, this_params);
|
||||
|
||||
%><% ASPPAGE_END(); %>
|
||||
|
||||
@@ -106,7 +106,7 @@
|
||||
"prs_perslid_key_voor"]
|
||||
},
|
||||
"ins_deel": { "track": "#INSUPD",
|
||||
"fields": ["ins_srtdeel_key", "ins_alg_ruimte_key", "ins_alg_ruimte_type"]
|
||||
"fields": ["ins_srtdeel_key", "ins_alg_ruimte_key", "ins_alg_ruimte_type", "ins_alg_ruimte_type_org", "ins_alg_ruimte_key_org"]
|
||||
},
|
||||
"mld_melding_note": { "track": null,
|
||||
"fields": ["name", "mld_melding_note_flag"]
|
||||
|
||||
@@ -124,6 +124,8 @@ var aanvrager_key = getQParamInt("prs_key", -1);
|
||||
{
|
||||
var $label = $(this).find(".mld-iconlabel");
|
||||
var findStr = $label.text();
|
||||
var $hint = $(this).find(".mld-hint");
|
||||
var findStr2 = $hint.text();
|
||||
if (findStr.toLowerCase().indexOf(searchStr.toLowerCase()) !== -1)
|
||||
{
|
||||
// Highlight de zoekterm, encode (FcltJuery.js) de resulterende string en vervangt de html()
|
||||
@@ -137,6 +139,15 @@ var aanvrager_key = getQParamInt("prs_key", -1);
|
||||
|
||||
$(this).find("img:not([src])").attr("src", $(this).find("img").attr("thesrc")); // Set the <img> src
|
||||
$(this).show(); // Show me
|
||||
|
||||
var menuid = $(this).attr("data-menuid");
|
||||
$(".seperator[data-menuid="+menuid+"]").show(); // Show my header
|
||||
}
|
||||
if(findStr2.toLowerCase().indexOf(searchStr.toLowerCase()) !== -1)
|
||||
{
|
||||
$(this).find("img:not([src])").attr("src", $(this).find("img").attr("thesrc")); // Set the <img> src
|
||||
$(this).show(); // Show me
|
||||
|
||||
var menuid = $(this).attr("data-menuid");
|
||||
$(".seperator[data-menuid="+menuid+"]").show(); // Show my header
|
||||
}
|
||||
@@ -348,6 +359,9 @@ while (!oRs.Eof)
|
||||
+ ' <div class="mld-iconlabel" title="' + safe.htmlattr(oRs("mld_stdmelding_omschrijving").value) + '" style="' + (colors[2] ? 'background-color: ' + safe.html(colors[2]) + ';' : '') + ' ' + (colors[3] ? 'color: ' + safe.html(colors[3]) + ';' : '')+ '">'
|
||||
+ safe.html(oRs("mld_stdmelding_omschrijving").value)
|
||||
+ ' </div>'
|
||||
+ ' <div style="display: none;" class="mld-hint">'
|
||||
+ safe.html(oRs("mld_stdmelding_hint").value)
|
||||
+ ' </div>'
|
||||
+ ' </div>'
|
||||
+ '</div>';
|
||||
last_disc_key = (lvl==1 ? oRs("ins_discipline_key").Value : oRs("ins_srtdiscipline_key").Value);
|
||||
|
||||
@@ -448,7 +448,7 @@ if (mld_key == -1 || copy)
|
||||
// tracking naar subframe :-)
|
||||
if (hasFOBOread || (!hasFOBOread && hasFEread && !S("mld_hide_fe_tracking")))
|
||||
{
|
||||
page = protectQS.create("../shared/status_info.asp?mld_key=" + mld_key + "&urole=" + role);
|
||||
page = protectQS.create("../shared/status_info.asp?mld_key=" + mld_key + "&urole=" + (urole == "fe" && hasFOBOread ? "bo" : urole));
|
||||
IFRAMER("mldhistoryframe", page, { icon: "fa-list", title: L("lcl_tracking")} );
|
||||
}
|
||||
|
||||
|
||||
@@ -80,49 +80,59 @@ var JSON_Result = true;
|
||||
var result = [];
|
||||
if (behkey > -1 || disckey > -1) // Minimaal een van beiden moet gegeven zijn. Zo niet dan een leeg array als resultaat geven.
|
||||
{
|
||||
var sql = "SELECT COUNT(mld_stdmelding_key) aantal"
|
||||
+ " FROM mld_stdmelding s"
|
||||
+ " WHERE BITAND (s.mld_stdmelding_planbaar, 4) = 4";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var actiedatum_actief = oRs("aantal").Value > 0;
|
||||
oRs.Close();
|
||||
|
||||
// Raar maar waar: er blijkt behandelaar mogelijk buiten de autorisatie die je hebt
|
||||
// Ik vind Behandelaar zijn een prima autorisatie, het is gek als daar nog 3D overheen moet.
|
||||
var sql = "SELECT item||' '||detail oms" // de externe referentie (meldingnummer)
|
||||
+ " , item_key key" // de interne referentie (key)
|
||||
+ " , datum1 van" // de datum van de service (varieert)
|
||||
+ " , datum2 tot " // de datum van de service (varieert)
|
||||
+ " , 'default.asp?internal=1&u=melding&k='||item_key fclturl" // de url naar de details
|
||||
+ " , mld_melding_status " // te gebruiken voor styling
|
||||
+ " , mld_melding_behandelaar_key" // te gebruiken voor styling
|
||||
+ " FROM (SELECT mld_melding_key item_key"
|
||||
+ " , sd.ins_srtdiscipline_prefix||mld_melding_key item" // +prefix
|
||||
+ " , mld_melding_onderwerp detail"
|
||||
// Als de actiedatum is ingevuld, dan alleen een balk op de actiedatum en niet van begin- tot einddatum.
|
||||
// Zowel de begin- als de einddatum de waarde van de actiedatum geven als die is ingevuld.
|
||||
+ " , COALESCE(mld_melding_actiedatum, mld_melding_datum) datum1"
|
||||
+ " , COALESCE(mld_melding_actiedatum, mld_melding_einddatum) datum2"
|
||||
+ " , mld_melding_status"
|
||||
+ " , mld_melding_behandelaar_key"
|
||||
+ " FROM mld_melding m"
|
||||
+ " , mld_stdmelding s"
|
||||
+ " , ins_tab_discipline d"
|
||||
+ " , ins_srtdiscipline sd"
|
||||
+ " WHERE m.mld_stdmelding_key = s.mld_stdmelding_key"
|
||||
+ " AND s.mld_ins_discipline_key = d.ins_discipline_key"
|
||||
+ (disckey == -1
|
||||
? ""
|
||||
: " AND d.ins_discipline_key = " + disckey)
|
||||
+ (stdmkey == -1
|
||||
? ""
|
||||
: " AND s.mld_stdmelding_key = " + stdmkey)
|
||||
+ " AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key"
|
||||
+ " AND m.mld_melding_status IN (0,2,4,7)" // lopende
|
||||
+ " AND m.fac_activiteit_key IS NULL"
|
||||
+ (behkey == -1
|
||||
? ""
|
||||
: " AND m.mld_melding_behandelaar_key = " + behkey)
|
||||
+ " AND m.mld_melding_datum <= " + date_to.toSQL(true)
|
||||
+ " AND m.mld_melding_einddatum >= " + date_from.toSQL(true)
|
||||
+ " AND m.mld_melding_actiedatum IS NOT NULL" // Alleen meldingen met een actiedatum tonen in de kalender.
|
||||
+ ")"
|
||||
+ " ORDER BY mld_melding_behandelaar_key";
|
||||
sql = "SELECT item||' '||detail oms" // de externe referentie (meldingnummer)
|
||||
+ " , item_key key" // de interne referentie (key)
|
||||
+ " , datum1 van" // de datum van de service (varieert)
|
||||
+ " , datum2 tot " // de datum van de service (varieert)
|
||||
+ " , 'default.asp?internal=1&u=melding&k='||item_key fclturl" // de url naar de details
|
||||
+ " , mld_melding_status " // te gebruiken voor styling
|
||||
+ " , mld_melding_behandelaar_key" // te gebruiken voor styling
|
||||
+ " FROM (SELECT mld_melding_key item_key"
|
||||
+ " , sd.ins_srtdiscipline_prefix||mld_melding_key item" // +prefix
|
||||
+ " , mld_melding_onderwerp detail"
|
||||
// Als de actiedatum is ingevuld, dan alleen een balk op de actiedatum en niet van begin- tot einddatum.
|
||||
// Zowel de begin- als de einddatum de waarde van de actiedatum geven als die is ingevuld.
|
||||
+ " , COALESCE(mld_melding_actiedatum, mld_melding_datum) datum1"
|
||||
+ " , COALESCE(mld_melding_actiedatum, mld_melding_einddatum) datum2"
|
||||
+ " , mld_melding_status"
|
||||
+ " , mld_melding_behandelaar_key"
|
||||
+ " FROM mld_melding m"
|
||||
+ " , mld_stdmelding s"
|
||||
+ " , ins_tab_discipline d"
|
||||
+ " , ins_srtdiscipline sd"
|
||||
+ " WHERE m.mld_stdmelding_key = s.mld_stdmelding_key"
|
||||
+ " AND s.mld_ins_discipline_key = d.ins_discipline_key"
|
||||
+ (disckey == -1
|
||||
? ""
|
||||
: " AND d.ins_discipline_key = " + disckey)
|
||||
+ (stdmkey == -1
|
||||
? ""
|
||||
: " AND s.mld_stdmelding_key = " + stdmkey)
|
||||
+ " AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key"
|
||||
+ " AND m.mld_melding_status IN (0,2,4,7)" // lopende
|
||||
+ " AND m.fac_activiteit_key IS NULL"
|
||||
+ (behkey == -1
|
||||
? ""
|
||||
: " AND m.mld_melding_behandelaar_key = " + behkey)
|
||||
+ " AND m.mld_melding_datum <= " + date_to.toSQL(true)
|
||||
+ " AND m.mld_melding_einddatum >= " + date_from.toSQL(true)
|
||||
// Alleen meldingen met een actiedatum tonen in de kalender indien er stdmeldingen met een actiedatum actief zijn.
|
||||
+ (actiedatum_actief
|
||||
? " AND m.mld_melding_actiedatum IS NOT NULL" // Alleen meldingen met een actiedatum tonen in de kalender.
|
||||
: "")
|
||||
+ ")"
|
||||
+ " ORDER BY mld_melding_behandelaar_key";
|
||||
|
||||
var oRs = Oracle.Execute(sql);
|
||||
oRs = Oracle.Execute(sql);
|
||||
|
||||
while (!oRs.Eof)
|
||||
{
|
||||
|
||||
@@ -364,12 +364,12 @@ var subject = (isReservering
|
||||
}
|
||||
if (!validateForm("afspraak"))
|
||||
return false;
|
||||
|
||||
<%
|
||||
if (!isReservering)
|
||||
{
|
||||
%>
|
||||
if ($("#date_from").val() == $("#date_to").val())
|
||||
if ($("#date_from").val() == $("#date_to").val() &&
|
||||
$("#time_from_date_from").val() == $("#time_from_date_to").val())
|
||||
{
|
||||
FcltMgr.alert(L("lcl_vis_same_time"));
|
||||
return false;
|
||||
|
||||
@@ -168,7 +168,7 @@ else
|
||||
};
|
||||
function fncolDetail(oRs)
|
||||
{
|
||||
return safe.html(fronto ? oRs("soort").Value : oRs("ins_srtdeel_omschrijving").Value) + (oRs("hoeveelheid").Value != "1" ? " <span class='c1'>" + safe.html(oRs("hoeveelheid").Value) + "</span>" : "");
|
||||
return safe.html(fronto ? oRs("soort").Value : (oRs("ins_srtdeel_omschrijving").Value + (oRs("hoeveelheid").Value != "1" ? " <span class='c1'>" + safe.html(oRs("hoeveelheid").Value) + "</span>" : "")));
|
||||
};
|
||||
|
||||
function fncolsubHeader(oRs)
|
||||
|
||||
@@ -743,7 +743,7 @@ function recalcEinddatum(recalc_always)
|
||||
var startdate = new Date(parseInt($("#startdate").val(),10));
|
||||
var sysdate = new Date();
|
||||
|
||||
var startOfWorkDay = <%=S("fac_t_startofworkday")%>;
|
||||
var startOfWorkDay = <%=String(S("fac_t_startofworkday")).replace(",", ".")%>;
|
||||
var startwerkdag_uur = Math.floor(startOfWorkDay);
|
||||
var startwerkdag_min = (startOfWorkDay - Math.floor(startOfWorkDay)) * 60;
|
||||
var startdatebegin = new Date(startdate.getFullYear(), startdate.getMonth(), startdate.getDate(), startwerkdag_uur, startwerkdag_min);
|
||||
@@ -1543,6 +1543,8 @@ if (mld_key > -1)
|
||||
|
||||
var sql = "SELECT l.alg_locatie_adres"
|
||||
+ " , l.alg_locatie_plaats"
|
||||
+ " , l.alg_locatie_code"
|
||||
+ " , l.alg_locatie_omschrijving"
|
||||
+ " , o.alg_gebouw_naam"
|
||||
+ " , o.alg_verdieping_omschrijving"
|
||||
+ " , o.alg_ruimte_nr"
|
||||
@@ -1550,8 +1552,8 @@ if (mld_key > -1)
|
||||
+ " FROM alg_v_onroerendgoed_gegevens o"
|
||||
+ " , alg_locatie l"
|
||||
+ " , mld_melding m"
|
||||
+ " WHERE o.alg_locatie_key = l.alg_locatie_key"
|
||||
+ " AND o.alg_onroerendgoed_keys = m.mld_alg_onroerendgoed_keys"
|
||||
+ " WHERE m.mld_alg_locatie_key = l.alg_locatie_key"
|
||||
+ " AND o.alg_onroerendgoed_keys(+) = m.mld_alg_onroerendgoed_keys"
|
||||
+ " AND m.mld_melding_key = " + mld_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.eof)
|
||||
@@ -1559,6 +1561,8 @@ if (mld_key > -1)
|
||||
var info_params = { suppressEmpty: true };
|
||||
ROFIELD("fld", L("lcl_alg_loc_adres"), oRs("alg_locatie_adres").Value, info_params);
|
||||
ROFIELD("fld", L("lcl_alg_loc_plaats"), oRs("alg_locatie_plaats").Value, info_params);
|
||||
ROFIELD("fld", L("lcl_estate_locatie_man_code"), oRs("alg_locatie_code").Value, info_params);
|
||||
ROFIELD("fld", L("lcl_estate_locatie_title"), oRs("alg_locatie_omschrijving").Value, info_params);
|
||||
ROFIELD("fld", L("lcl_estate_gebouw_man_name"), oRs("alg_gebouw_naam").Value, info_params);
|
||||
ROFIELD("fld", L("lcl_estate_verdieping_man_descr"), oRs("alg_verdieping_omschrijving").Value, info_params);
|
||||
ROFIELD("fld", L("lcl_estate_ruimte_man_nr"), oRs("alg_ruimte_nr").Value, info_params);
|
||||
|
||||
@@ -37,6 +37,7 @@ var action = getQParam("action", "");
|
||||
var urole = getQParamSafe("urole", "");
|
||||
var stdmgroep_keys = getQParamIntArray("stdmgroepkey", []);
|
||||
var stdm_keys = getQParamIntArray("stdm_keys", []);
|
||||
var has_divider = getQParamInt("divider", 1) == 1;
|
||||
var objPlaats = {
|
||||
loc_key: -1,
|
||||
bld_key: -1,
|
||||
@@ -71,7 +72,7 @@ else
|
||||
|
||||
var authparams = user.checkAutorisation(autfunction, true);
|
||||
var autlevel = authparams.ALGwritelevel;
|
||||
var transitParam = buildTransitParam(["mld_key", "ruimte_key", "ins_key", "action", "disc", "srtdisc", "ins_key", "loc_key", "bld_key", "flr_key", "roo_key", "meldbronkey", "deelsrtcont_key"] );
|
||||
var transitParam = buildTransitParam(["mld_key", "ruimte_key", "ins_key", "action", "disc", "srtdisc", "stdmgroepkey", "ins_key", "loc_key", "bld_key", "flr_key", "roo_key", "meldbronkey", "deelsrtcont_key"] );
|
||||
|
||||
// Verplicht:
|
||||
var srtdisc_keys = getQParamIntArray("srtdisc", []);
|
||||
@@ -321,7 +322,7 @@ else
|
||||
oRs.Close();
|
||||
}
|
||||
|
||||
if (srtdisc_keys.length==0) // Dan <20>cht eerst srtdiscipline kiezen
|
||||
if (srtdisc_keys.length==0 && stdmgroep_keys.length == 0) // Dan <20>cht eerst srtdiscipline kiezen
|
||||
{
|
||||
var rst = new ResultsetTable({ sql: mySRTsql
|
||||
, keyColumn: "ins_srtdiscipline_key"
|
||||
@@ -413,6 +414,10 @@ else
|
||||
+ " WHERE sm.mld_ins_discipline_key = di.ins_discipline_key"
|
||||
+ " AND di.ins_srtdiscipline_key = sd.ins_srtdiscipline_key"
|
||||
+ " AND sm.mld_stdmelding_verwijder IS NULL"
|
||||
+ ( stdmgroep_keys.length
|
||||
? " AND sm.mld_stdmeldinggroep_key IN (" + stdmgroep_keys.join(",") + ")"
|
||||
: ""
|
||||
)
|
||||
+ filtClause.where
|
||||
+ check_notfrontend;
|
||||
// Selector mode vakgroep/melding voor de frontend. {0(=default)=vakgroep en melding (beide eerst te kiezen), 1=vakgroep readonly, 2=alleen melding}
|
||||
@@ -426,7 +431,7 @@ else
|
||||
, keyColumn: "mld_stdmelding_key"
|
||||
, linkColumn: fncolLink
|
||||
, singleLink: true
|
||||
, dividerColumn: S("mld_selector_mode")==0?"ins_discipline_omschrijving":null // groepeer op vakgroep
|
||||
, dividerColumn: S("mld_selector_mode")==0 && has_divider ?"ins_discipline_omschrijving":null // groepeer op vakgroep
|
||||
, headerColumn: "mld_stdmelding_omschrijving"
|
||||
, subheaderColumn: fncolDetail
|
||||
, detailColumn: fncolSubHeader
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
%><body><%
|
||||
|
||||
PAGE_START();
|
||||
HEADER ({title: L("lcl_flexplek"), back:!qrc, home:!qrc});
|
||||
HEADER ({title: L("lcl_flexplek") + " " + res_deel, back:!qrc, home:!qrc});
|
||||
CONTENT_START();
|
||||
%>
|
||||
<form id="claimwp" name="claimwp" action="res_claimwp.asp?submit=1&ins_deel_key=<%=ins_deel_key%>" method="post">
|
||||
@@ -113,7 +113,7 @@
|
||||
|
||||
if (claimed)
|
||||
{
|
||||
Response.write(L("lcl_flexplek")+" "+safe.html(alg_plaats)+" "+L("lcl_flexplekclaimed")+" "+user.naam() + " "+ L("lcl_flexplekclaimfooter"));
|
||||
Response.write(L("lcl_flexplek")+" "+safe.html(res_deel)+" "+L("lcl_flexplekclaimed")+" "+user.naam() + " "+ L("lcl_flexplekclaimfooter"));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -604,7 +604,7 @@ else
|
||||
oRsdi += 1;
|
||||
oRsd.moveNext();
|
||||
}
|
||||
oRsdi.Close();
|
||||
oRsd.Close();
|
||||
// - indien leesrechten? TODO
|
||||
sqla = "SELECT res_artikel_omschrijving, res_rsv_artikel_aantal"
|
||||
+ " FROM res_rsv_artikel rra, res_artikel ra"
|
||||
@@ -619,7 +619,7 @@ else
|
||||
oRsdi += 1;
|
||||
oRsa.moveNext();
|
||||
}
|
||||
oRsdi.Close();
|
||||
oRsa.Close();
|
||||
if (oRsdi > 0)
|
||||
BLOCK_END();
|
||||
// Bezoekers - indien leesrechten? TODO
|
||||
|
||||
@@ -93,6 +93,14 @@ if (rsv_ruimte_key == -1)
|
||||
oRs.Close();
|
||||
}
|
||||
|
||||
// Omzetten van restypes naar key: 1=Reserveerbaar object (V); 2=Verbruiksartikel (C); 3=Ruimte (R).
|
||||
// Default heeft restype_key_arr al [0] zodat bij geen of ongeldige restype niets geselecteerd wordt.
|
||||
var restype_key_arr =[0];
|
||||
for (var i=0; i<restype.length; i++)
|
||||
{
|
||||
if ("VRC".indexOf(restype.substr(i,1)) >= 0)
|
||||
restype_key_arr.push(i+1);
|
||||
}
|
||||
// Activiteiten
|
||||
var sql_a = "SELECT a.res_activiteit_key"
|
||||
+ " , " + "CASE WHEN sa.res_srtactiviteit_prefix IS NULL"
|
||||
@@ -122,7 +130,7 @@ if (rsv_ruimte_key == -1)
|
||||
+ " AND rad.res_discipline_key = disc.ins_discipline_key"
|
||||
+ " AND rad.res_activiteit_key = a.res_activiteit_key"
|
||||
+ " AND ins_discipline_verwijder IS NULL"
|
||||
+ " AND ins_discipline_min_level = " + (restype == "R" ? "3" : "1") // 1; Reserveerbaar object; 2; Verbruiksartikel; 3; Ruimte
|
||||
+ " AND ins_discipline_min_level IN (" + restype_key_arr.join(",") + ")"
|
||||
+ " )"
|
||||
+ " ORDER BY res_activiteit_volgnr"
|
||||
+ " , sa.res_srtactiviteit_prefix"
|
||||
|
||||
@@ -106,6 +106,37 @@ if (datelimit == -1)
|
||||
li.vrijweekend i.fa, li.vrijedag i.fa {
|
||||
color: #eee;
|
||||
}
|
||||
|
||||
li.beschikb0 {
|
||||
color: #FFF;
|
||||
background-color: #E50012;
|
||||
}
|
||||
li.beschikb10 {
|
||||
color: #FFF;
|
||||
background-color: #FF8504;
|
||||
}
|
||||
li.beschikb50 {
|
||||
color: #FFF;
|
||||
background-color: #A5D200;
|
||||
}
|
||||
li.beschikb100 {
|
||||
color : #FFF;
|
||||
background-color : #0AAA32;
|
||||
}
|
||||
li.vrijedag {
|
||||
color : #333;
|
||||
background-color : #eee;
|
||||
cursor: auto;
|
||||
}
|
||||
li.vrijweekend {
|
||||
color : #f33;
|
||||
background-color : #eee;
|
||||
cursor: auto;
|
||||
}
|
||||
li.werkweekend {
|
||||
color : #f33;
|
||||
background-color : inherit;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
// shows the floorplan
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
De PlanMode krijg je automatisch als je een res_van meegeeft, of als je planmode=1 meegeeft, dan is het vanaf nu
|
||||
Zo kun je de intervallen ook in bv een bookmark oproepen.
|
||||
|
||||
Met restrict2res_disc kun je een res_disciplinekey (typisch via de klik-url vanuit de tekening) meegeven,
|
||||
Met restrict2res_disc kun je een res_disciplinekey (typisch via de klik-url vanuit de tekening) meegeven,
|
||||
dan wordt het (ins_key) object gevalideerd tegen deze catalogus. Als dat niet matcht, kun je toch niet reserveren.
|
||||
Beetje suf wellicht, maar soms prettig.
|
||||
|
||||
@@ -171,11 +171,6 @@ FCLTHeader.Requires({ js: [rooturl+"/appl/pda/modernizr-3.3.0.custom.min.js"],
|
||||
var res_disc_key = oRs("res_discipline_key").value;
|
||||
oRs.Close();
|
||||
|
||||
if (PlanMode)
|
||||
{
|
||||
var bloktijden = res.getBloktijdenDisc(res_disc_key, res_van);
|
||||
}
|
||||
|
||||
sql = " SELECT MIN (ra.res_activiteit_key) res_activiteit_key "
|
||||
+ " FROM res_activiteitdiscipline ad, "
|
||||
+ " res_activiteit ra,"
|
||||
@@ -188,6 +183,12 @@ FCLTHeader.Requires({ js: [rooturl+"/appl/pda/modernizr-3.3.0.custom.min.js"],
|
||||
res_activiteit_key = oRs("res_activiteit_key").value;
|
||||
oRs.Close();
|
||||
|
||||
if (PlanMode)
|
||||
{
|
||||
var bloktijden = DeelMode ? res.getBloktijdenDisc(res_disc_key, res_van) // Deelmode
|
||||
: res.getBloktijdenAct(res_activiteit_key, res_van); // RuimteMode
|
||||
}
|
||||
|
||||
// Nu we de discipline hebben kunnen we ook wat autorisatiecontrole doen
|
||||
// Omdat PDA reserveren vaak ad-hoc is zijn we wat flexibeler over
|
||||
// alg_scope en dergelijke dan anders
|
||||
@@ -209,37 +210,39 @@ FCLTHeader.Requires({ js: [rooturl+"/appl/pda/modernizr-3.3.0.custom.min.js"],
|
||||
<% if (PlanMode) { %>
|
||||
function reserveer(van, tot)
|
||||
{
|
||||
var double_reservations = handle_double_reservations(van, tot);
|
||||
if (double_reservations.length > 0)
|
||||
{
|
||||
FcltMgr.confirm("<%=safe.jsstring(L('lcl_res_deel_replace'))%>",
|
||||
<% if (DeelMode && (!bloktijden.length || !("multiperday" in bloktijden[0]) || !bloktijden[0].multiperday)) { %>
|
||||
var double_reservations = handle_double_reservations(van, tot);
|
||||
if (double_reservations.length > 0)
|
||||
{
|
||||
fncancel: function () {
|
||||
return;
|
||||
}
|
||||
},
|
||||
function ()
|
||||
FcltMgr.confirm("<%=safe.jsstring(L('lcl_res_deel_replace'))%>",
|
||||
{
|
||||
var index;
|
||||
for (index = 0; index < double_reservations.length; index++)
|
||||
{
|
||||
var data = {};
|
||||
data["has_" + double_reservations[index].res_deel_key] = "";
|
||||
if (index == 0) {
|
||||
data["chk_<%=res_deel_key%>"] = "on";
|
||||
proceed_reserveer(van, tot, double_reservations[index].res_rsv_ruimte_key);
|
||||
}
|
||||
protectRequest.dataToken(data);
|
||||
$.post("<%=rooturl%>/appl/res/res_edit_objcat_save.asp?urole=fe&verynew=0&rsv_ruimte_key=" + double_reservations[index].res_rsv_ruimte_key,
|
||||
data,
|
||||
null,
|
||||
"json");
|
||||
fncancel: function () {
|
||||
return;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
);
|
||||
}
|
||||
else
|
||||
},
|
||||
function ()
|
||||
{
|
||||
var index;
|
||||
for (index = 0; index < double_reservations.length; index++)
|
||||
{
|
||||
var data = {};
|
||||
data["has_" + double_reservations[index].res_deel_key] = "";
|
||||
if (index == 0) {
|
||||
data["chk_<%=res_deel_key%>"] = "on";
|
||||
proceed_reserveer(van, tot, double_reservations[index].res_rsv_ruimte_key);
|
||||
}
|
||||
protectRequest.dataToken(data);
|
||||
$.post("<%=rooturl%>/appl/res/res_edit_objcat_save.asp?urole=fe&verynew=0&rsv_ruimte_key=" + double_reservations[index].res_rsv_ruimte_key,
|
||||
data,
|
||||
null,
|
||||
"json");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
);
|
||||
}
|
||||
else
|
||||
<% } /* !meerperdag */ %>
|
||||
{
|
||||
proceed_reserveer(van, tot);
|
||||
return true;
|
||||
@@ -774,17 +777,23 @@ FCLTHeader.Requires({ js: [rooturl+"/appl/pda/modernizr-3.3.0.custom.min.js"],
|
||||
|
||||
var authparams = user.checkAutorisation("WEB_RESUSE");
|
||||
var resparams = {
|
||||
res_van: new Date().setFloatHours(res_ruimte_data.begintijd, S("res_h")),
|
||||
res_tot: new Date().setFloatHours(res_ruimte_data.eindtijd, S("res_h")),
|
||||
res_van: new Date().setFloatHours(res_ruimte_data.begintijd),
|
||||
res_tot: new Date().setFloatHours(res_ruimte_data.eindtijd),
|
||||
res_ruimte_key: res_ruimte_key,
|
||||
ruimtecat: [],
|
||||
authparams: authparams,
|
||||
anonymous: true // minimale informatie
|
||||
};
|
||||
|
||||
if (PlanMode) // res_van != null
|
||||
{ // Planmode hoeft niet vandaag te zijn
|
||||
resparams.res_van = res_van.setFloatHours(res_ruimte_data.begintijd);
|
||||
resparams.res_tot = res_van.setFloatHours(res_ruimte_data.eindtijd);
|
||||
}
|
||||
|
||||
var plan_bezet_info = res.plan_bezet_info(resparams);
|
||||
html.push("<tr>");
|
||||
html.push(make_plan_regel(res_ruimte_data, plan_bezet_info[res_ruimte_key], resparams, nr_days, hour_px));
|
||||
html.push(make_plan_regel(res_ruimte_data, plan_bezet_info[res_ruimte_key], resparams, nr_days, hour_px));
|
||||
html.push("</tr></table></div>");
|
||||
|
||||
Response.Write(html.join("\n"));
|
||||
|
||||
@@ -167,8 +167,8 @@ user.auth_required_or_abort(ingesloten.length); // We klagen niet over enkele we
|
||||
readonly: !prsauthparams.writeman,
|
||||
required: false
|
||||
});
|
||||
|
||||
var sql = "SELECT 0, " + safe.quoted_sql(L("lcl_prs_perslid_visibility0")) + " FROM DUAL UNION ALL"
|
||||
|
||||
var sql = "SELECT 0, " + safe.quoted_sql(L("lcl_prs_perslid_visibility0")) + " FROM DUAL UNION ALL"
|
||||
+ " SELECT 1, " + safe.quoted_sql(L("lcl_prs_perslid_visibility1")) + " FROM DUAL";
|
||||
FCLTselector("prs_visibility", sql,
|
||||
{ label: L("lcl_prs_person_visibility"),
|
||||
@@ -201,7 +201,7 @@ user.auth_required_or_abort(ingesloten.length); // We klagen niet over enkele we
|
||||
$(function()
|
||||
{ // Een vinkboxje voor de invoer velden toevoegen.
|
||||
// Niet een vinkboxje toevoegen voor de flexkenmerken. Dat doet generateFlexKenmerkBlock.listKenmerk wel.
|
||||
$("input[type=text],input[type=checkbox],input[type=number],input:not([type]),select, textarea").not(".fldtime").not("[class^='fldflex']").not("[class^='fldSflex']").each(
|
||||
$(":input:not([type=hidden])").not("td.flexvalue :input, td.multi_cb :input").each(
|
||||
function() {
|
||||
if ($(this).hasClass("flddate"))
|
||||
var cb_name = "check_" + $(this).attr("id").substr("show_".length);
|
||||
@@ -263,4 +263,4 @@ user.auth_required_or_abort(ingesloten.length); // We klagen niet over enkele we
|
||||
<% MODAL_END(); %>
|
||||
</body>
|
||||
</html>
|
||||
<% ASPPAGE_END(); %>
|
||||
<% ASPPAGE_END(); %>
|
||||
|
||||
@@ -367,6 +367,20 @@ input[type=text].button.required.res_fatal
|
||||
|
||||
#timetip {position:absolute;border:1px solid #666;background-color:#fff;padding:2px;z-index:999;display:none;}
|
||||
|
||||
.res_optie_eigen { background-color: #F59D04; color: #fff; } /* Tangerine */
|
||||
.res_definitief_eigen { background-color: #CC5252; color: #fff; } /* Grapefruit */
|
||||
.res_optie { background-color: #0FD3BB; color: #333; } /* Ocean Green */
|
||||
.res_definitief { background-color: #007764; color: #fff; } /* Pine Green */
|
||||
.res_blok { background-color: rgba(255, 255, 255, 0.6); color: #333;} /* bijna als planbordgrid-achtergrond*/
|
||||
.res_lunchblok { background-color: #fffb;} /* bijna als planbordgrid-achtergrond */ /* hex-kleuren met 4 of 8 karakters worden niet in IE11 ondersteund (rgba() wel) */
|
||||
.res_vervallen { background-color: #73007E; color: #fff;} /* Berry */
|
||||
.res_nietvrij { background-color: #B1B3B4; color: #000; } /* Niet beschikbaar: oranje LICHTGROEN */
|
||||
.res_cleaning { border-left-style: solid;
|
||||
border-left-color: #808080;
|
||||
border-right-style: solid;
|
||||
border-right-color: #808080;
|
||||
}
|
||||
|
||||
@media print
|
||||
{ /* in print-mode doe we de kleuren als border. Daarmee geeft cleaning wel rare 'punten'. Het zij zo. */
|
||||
div.res_optie_eigen { height:0px!important; border-top:7px solid #E37B00; border-bottom:7px solid #E37B00; } /* Optie eigen reservering: lichtblauw */
|
||||
|
||||
@@ -782,6 +782,8 @@ res = {
|
||||
+ " WHERE res_rsv_ruimte_key = " + rsv_ruimte_key
|
||||
+ " AND r.res_activiteit_key = ra.res_activiteit_key";
|
||||
var roRs = Oracle.Execute(sql);
|
||||
if (roRs.EOF) // vanuit API2 niet bestaande id
|
||||
return null;
|
||||
|
||||
var rsv_ruimte_verwijder = roRs("res_rsv_ruimte_verwijder").Value;
|
||||
var res_reservering_key = roRs("res_reservering_key").Value;
|
||||
@@ -1271,12 +1273,30 @@ res = {
|
||||
// Tijdens het opslaan wordt gekeken of er catalogussen zijn met een totaal bestelbedrag die boven de drempelwaarde ligt.
|
||||
// Afhankelijk daarvan wordt de waarde res_rsv_ruimte_cat_appr op 0=Nee of 1=Ja gezet (Wel of niet fiatteren).
|
||||
// 4) Ben ik de budgethouder van de kostenplaats van de reservering?
|
||||
rresult.canFiatteren = !oRs.eof && // 1) Er zijn niet gefiatteerde artikelregels en 2) BO status is Nieuw(2).
|
||||
oRs("res_rsv_ruimte_cat_appr").Value == 1 && // 3) De artikelregels zijn nog niet gefiatteerd en er dient gefiatteerd te worden.
|
||||
(oRs("budgethouder").Value && oRs("budgethouder").Value == user_key); // 4) Er is een budgethouder voor de kostenplaats en dat ben ik.
|
||||
rresult.canFiatteren = !oRs.eof && // 1) Er zijn niet gefiatteerde artikelregels en 2) BO status is Nieuw(2).
|
||||
oRs("res_rsv_ruimte_cat_appr").Value == 1 && // 3) De artikelregels zijn nog niet gefiatteerd en er dient gefiatteerd te worden.
|
||||
(oRs("budgethouder").Value && user.isCollega(oRs("budgethouder").Value)); // 4) Er is een budgethouder voor de kostenplaats en dat ben ik of een collega/vervanger.
|
||||
rresult.canAfwijzen = rresult.canFiatteren;
|
||||
oRs.Close();
|
||||
|
||||
// Als een collega/vervanger of de user al gefiatteerd heeft mag hij/zij ook de reservering inzien.
|
||||
sql = "SELECT ra.res_rsv_ruimte_key"
|
||||
+ " FROM res_rsv_ruimte rr"
|
||||
+ " , res_rsv_artikel ra"
|
||||
+ " , prs_kostenplaats k"
|
||||
+ " WHERE rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key"
|
||||
+ " AND rr.prs_kostenplaats_key = k.prs_kostenplaats_key"
|
||||
+ " AND rr.res_rsv_ruimte_cat_appr = 1"
|
||||
+ " AND ra.res_rsv_artikel_approved = 1"
|
||||
+ " AND ra.res_rsv_ruimte_key = " + rsv_ruimte_key
|
||||
+ " AND k.prs_perslid_key IN (" + user.collegakeylist() + ")";
|
||||
oRs = Oracle.Execute(sql);
|
||||
hasFiat = !oRs.eof;
|
||||
oRs.Close();
|
||||
|
||||
rresult.canReadAnyBudget = rresult.canFiatteren || hasFiat;
|
||||
rresult.canReadAny |= rresult.canReadAnyBudget;
|
||||
|
||||
if (rresult.canDelete)
|
||||
{ // Hij mag geen onderdelen hebben met status 6 (verwerkt)
|
||||
if (rresult.max_bo && rresult.max_bo == 6)
|
||||
@@ -1888,6 +1908,7 @@ res = {
|
||||
+ " , -1 bez_bezoekers_key"
|
||||
+ " , rrd.res_status_bo_key"
|
||||
+ " , rd.res_ins_deel_key"
|
||||
+ " , rd.res_prs_perslid_key"
|
||||
+ " , rd.res_discipline_key"
|
||||
+ " , 1 type"
|
||||
+ " , rr.res_reservering_key"
|
||||
@@ -1918,6 +1939,7 @@ res = {
|
||||
+ " , -1 bez_bezoekers_key"
|
||||
+ " , rrd.res_status_bo_key"
|
||||
+ " , rd.res_ins_deel_key"
|
||||
+ " , rd.res_prs_perslid_key"
|
||||
+ " , rd.res_discipline_key"
|
||||
+ " , 2 type"
|
||||
+ " , rr.res_reservering_key"
|
||||
@@ -1954,6 +1976,7 @@ res = {
|
||||
+ " , rrd.bez_bezoekers_key"
|
||||
+ " , rrd.res_status_bo_key"
|
||||
+ " , rd.res_ins_deel_key"
|
||||
+ " , rd.res_prs_perslid_key"
|
||||
+ " , rd.res_discipline_key"
|
||||
+ " , 1 type"
|
||||
+ " , 0 res_reservering_key"
|
||||
@@ -1973,7 +1996,7 @@ res = {
|
||||
var oRs = Oracle.Execute(sql);
|
||||
while (!oRs.eof)
|
||||
{
|
||||
var ins_d_key = oRs("res_ins_deel_key").Value;
|
||||
var ins_d_key = params.personenmode?oRs("res_prs_perslid_key").Value:oRs("res_ins_deel_key").Value;
|
||||
|
||||
if (!existing_res[ins_d_key]) existing_res[ins_d_key] = new Array();
|
||||
|
||||
@@ -2320,7 +2343,7 @@ function get_res_deel_sql (params)
|
||||
}
|
||||
var ora_date2 = res_tot.endToSQL();
|
||||
|
||||
if (params.mld_opdr_key > 0) // opdrachtmode. Alleen persoon-res_deel die geen alg-scope hebben
|
||||
if (params.personenmode) // personenmode. Alleen persoon-res_deel die geen alg-scope hebben
|
||||
{
|
||||
var sql1 = "SELECT " + params.select_fields
|
||||
+ " FROM prs_perslid p"
|
||||
|
||||
@@ -450,7 +450,10 @@ function res_list (pautfunction, params)
|
||||
+ " WHERE rar2.res_ruimte_key = rr.res_ruimte_key)"
|
||||
+ " AND rm.res_rsv_ruimte_contact_key = pcontact.prs_perslid_key"
|
||||
+ " AND pHost.prs_perslid_key = rm.res_rsv_ruimte_host_key"
|
||||
+ " AND pcontact.prs_afdeling_key = boom.prs_afdeling_key";
|
||||
+ " AND pcontact.prs_afdeling_key = boom.prs_afdeling_key"
|
||||
+ (art_key_arr.length != 0
|
||||
? " AND 0 = 1"
|
||||
: "");
|
||||
|
||||
if (!res_key)
|
||||
{
|
||||
@@ -538,6 +541,9 @@ function res_list (pautfunction, params)
|
||||
: " FROM res_v_aanwezigrsv_deel rvard")
|
||||
+ ", res_deel resd"
|
||||
+ " WHERE rvard.res_deel_key = resd.res_deel_key"
|
||||
+ (art_key_arr.length != 0
|
||||
? " AND 0 = 1"
|
||||
: "")
|
||||
+ (S("vis_parking_key") != -1 ? " AND resd.res_discipline_key != " + S("vis_parking_key") : "")
|
||||
+ " GROUP BY rvard.res_rsv_ruimte_key"
|
||||
+ ", rvard.res_rsv_deel_van"
|
||||
@@ -644,7 +650,9 @@ function res_list (pautfunction, params)
|
||||
"boom.prs_afdeling_key",
|
||||
pautfunction,
|
||||
(!res_key && (roomcatalogue_key_arr.length != 0) ? roomcatalogue_key_arr.join(",") : ""),
|
||||
2,null,1);
|
||||
2,
|
||||
null,
|
||||
(params.resourcetypes && inArray(4, params.resourcetypes) ? 4 : 1));
|
||||
}
|
||||
else
|
||||
{ // FrontEnd is al gefilterd
|
||||
@@ -670,6 +678,9 @@ function res_list (pautfunction, params)
|
||||
: " FROM res_v_aanwezigrsv_artikel rvara")
|
||||
+ ", res_artikel resa"
|
||||
+ " WHERE rvara.res_artikel_key = resa.res_artikel_key"
|
||||
+ (art_key_arr.length != 0
|
||||
? " AND resa.res_discipline_key IN (" + art_key_arr.join(",") + ")"
|
||||
: "")
|
||||
+ " GROUP BY rvara.res_rsv_ruimte_key"
|
||||
+ ", resa.res_discipline_key";
|
||||
|
||||
|
||||
@@ -409,7 +409,8 @@ function make_plan_obj_v2(disc_key, res_van, res_tot, params)
|
||||
|
||||
var dparams = { res_van: res_van,
|
||||
res_tot: res_tot,
|
||||
disc_key: disc_key
|
||||
disc_key: disc_key,
|
||||
personenmode: params.personenmode
|
||||
}
|
||||
var existing_res = res.plan_deel_bezet_info(dparams);
|
||||
|
||||
@@ -451,18 +452,21 @@ function make_plan_obj_v2(disc_key, res_van, res_tot, params)
|
||||
+ ", r.res_deel_image"
|
||||
+ ", " + lcl.xsqla('r.res_deel_eenheid', 'r.res_deel_key')
|
||||
+ ", res_disc_params_preposttime";
|
||||
if (params.mld_opdr_key > 0)
|
||||
if (params.personenmode)
|
||||
select_fields += ", null ins_alg_ruimte_key_org"
|
||||
+ ", null ins_discipline_key"
|
||||
+ ", 0 ins_deel_state"
|
||||
+ ", null ins_deel_key";
|
||||
+ ", null ins_deel_key"
|
||||
+ ", res_prs_perslid_key prs_perslid_key";
|
||||
else
|
||||
select_fields += ", d.ins_alg_ruimte_key_org"
|
||||
+ ", d.ins_discipline_key"
|
||||
+ ", d.ins_deel_state"
|
||||
+ ", d.ins_deel_key";
|
||||
+ ", d.ins_deel_key"
|
||||
+ ", NULL prs_perslid_key";
|
||||
var group_by = " GROUP BY "
|
||||
+ " r.res_deel_key"
|
||||
+ ", res_prs_perslid_key"
|
||||
+ ", r.res_deel_opmerking"
|
||||
+ ", r.res_deel_omschrijving"
|
||||
+ ", r.res_deel_vervaldatum"
|
||||
@@ -471,7 +475,7 @@ function make_plan_obj_v2(disc_key, res_van, res_tot, params)
|
||||
+ ", r.res_deel_eenheid"
|
||||
+ ", res_disc_params_preposttime";
|
||||
|
||||
if (!(params.mld_opdr_key > 0))
|
||||
if (!params.personenmode)
|
||||
group_by += ", d.ins_alg_ruimte_key_org"
|
||||
+ ", d.ins_discipline_key"
|
||||
+ ", d.ins_deel_state"
|
||||
@@ -486,6 +490,7 @@ function make_plan_obj_v2(disc_key, res_van, res_tot, params)
|
||||
alg_ruimte_key: alg_ruimte_key,
|
||||
res_ruimte_key: res_ruimte_key,
|
||||
mld_opdr_key: params.mld_opdr_key,
|
||||
personenmode: params.personenmode,
|
||||
select_fields : select_fields,
|
||||
reg_key : params.reg_key,
|
||||
dist_key : params.dist_key,
|
||||
@@ -525,6 +530,7 @@ function make_plan_obj_v2(disc_key, res_van, res_tot, params)
|
||||
var res_deel_opm2 = oRs("res_deel_opmerking").value;
|
||||
var prepost_time = oRs("res_disc_params_preposttime").Value||0;
|
||||
var ins_deel_key = oRs("ins_deel_key").value;
|
||||
var prs_perslid_key = oRs("prs_perslid_key").value;
|
||||
Response.Write(empty_grid_line(row, { res_deel_key: res_deel_key, disc_key: disc_key }, nr_days));
|
||||
|
||||
var showLendOut = false;
|
||||
@@ -548,7 +554,7 @@ function make_plan_obj_v2(disc_key, res_van, res_tot, params)
|
||||
res_deel_prijs = 0.0;
|
||||
}
|
||||
|
||||
var ar = existing_res[ins_deel_key]; // Bestaande reserveringen op dit deel
|
||||
var ar = existing_res[params.personenmode?prs_perslid_key:ins_deel_key]; // Bestaande reserveringen op dit deel
|
||||
|
||||
var ro = " readonly ", st = false;
|
||||
|
||||
|
||||
@@ -930,9 +930,10 @@ __Log("start make_plan_room");
|
||||
imageClass = " rrphoto";
|
||||
}
|
||||
%>
|
||||
<label<%=((cad_button && !params.extern) ? " title='" + L("lcl_room_cad") + "' class='details' onclick='openFG(event, " + room.res_ruimte_key + ", \"" + safe.jsstring(room.res_ruimte_nr) + "\")'>" : ">")%>
|
||||
<label>
|
||||
<%=(room.catimage ? I(room.catimage + " fa-2x", { fastyle: "far" }) + " " : "")%><%=safe.html(room.res_ruimte_nr)%>
|
||||
</label>
|
||||
<i<%=((cad_button && !params.extern) ? " title='" + L("lcl_room_cad") + "' class='far fa-fw fa-map-marker' onclick='openFG(event, " + room.res_ruimte_key + ", \"" + safe.jsstring(room.res_ruimte_nr) + "\")'>" : ">")%></i>
|
||||
<%
|
||||
if (nr_days < S('res_plantable_condensed_from'))
|
||||
{
|
||||
|
||||
@@ -221,7 +221,7 @@ else // Bestaande reservering
|
||||
{
|
||||
if (urole == "xx") // In case you enter via search
|
||||
{
|
||||
var authparamsRESFOF = user.checkAutorisation("WEB_RESFOF");
|
||||
var authparamsRESFOF = user.checkAutorisation("WEB_RESFOF", true);
|
||||
if (authparamsRESFOF)
|
||||
urole = "fo";
|
||||
else
|
||||
@@ -994,7 +994,7 @@ if (options.length > 1) {
|
||||
|
||||
verkoopfactuur_IFRAMER('reservering', rsv_ruimte_key);
|
||||
// tracking naar subframe :-)
|
||||
if (true) // staat niet tussen de notities
|
||||
if (rsv_ruimte_key > 0) // staat niet tussen de notities
|
||||
{
|
||||
page = protectQS.create("../shared/status_info.asp?rsv_ruimte_key=" + rsv_ruimte_key + "&urole=" + urole);
|
||||
IFRAMER("opdrhistoryframe", page, { icon: "fa-list", title: L("lcl_tracking")} );
|
||||
|
||||
@@ -69,6 +69,7 @@ var selectmode = getQParamInt("selectmode", 0); // kiezen van het item
|
||||
var fotos = getQParamInt("fotos", 1); // for selectmode 1: show photo or not
|
||||
var floorselect = getQParamInt("floorselect", 1); // na gebouw ook de verdiepingen laten kiezen
|
||||
var sametab = getQParamInt("sametab", 1); // alles in 1 tab of tabs na elkaar?
|
||||
var contmode = getQParamInt("contmode", 0); // contouren aan 0 of uit -1
|
||||
|
||||
var resdate = getQParamDate("date", null); // de (in stap 2 gekozen) datum
|
||||
|
||||
@@ -134,8 +135,8 @@ var link2res = getQParamInt("link2res", 1);
|
||||
var deel2res = 1; // het is een reserveerbaar deel
|
||||
|
||||
// ik twijfel of geb_key en floor_key hier in moeten, voor de zekerheid nu ff 2 versies dan maar
|
||||
var transitParam1 = buildTransitParam(['daylimit', 'offset', 'limit', 'selectmode', 'res_disc', 'floorselect', 'date', 'link2res', 'dagcapaciteit', 'minbes', 'onlyfree', 'sametab', 'thema_key', 'label_key', 'bordlabel_key', 'themaI_key', 'fotos', 'zoomScale', 'zoomDWGX', 'zoomDWGY']);
|
||||
var transitParam2 = buildTransitParam(['daylimit', 'offset', 'limit', 'selectmode', 'res_disc', 'floorselect', 'date', 'link2res', 'geb_key', 'floor_key', 'dagcapaciteit', 'minbes', 'onlyfree', 'sametab', 'thema_key', 'label_key', 'bordlabel_key', 'themaI_key', 'fotos', 'zoomScale', 'zoomDWGX', 'zoomDWGY']);
|
||||
var transitParam1 = buildTransitParam(['daylimit', 'offset', 'limit', 'selectmode', 'res_disc', 'contmode', 'floorselect', 'date', 'link2res', 'dagcapaciteit', 'minbes', 'onlyfree', 'sametab', 'thema_key', 'label_key', 'bordlabel_key', 'themaI_key', 'fotos', 'zoomScale', 'zoomDWGX', 'zoomDWGY']);
|
||||
var transitParam2 = buildTransitParam(['daylimit', 'offset', 'limit', 'selectmode', 'res_disc', 'contmode', 'floorselect', 'date', 'link2res', 'geb_key', 'floor_key', 'dagcapaciteit', 'minbes', 'onlyfree', 'sametab', 'thema_key', 'label_key', 'bordlabel_key', 'themaI_key', 'fotos', 'zoomScale', 'zoomDWGX', 'zoomDWGY']);
|
||||
|
||||
if (datelimit == -1)
|
||||
{
|
||||
@@ -501,7 +502,7 @@ if (datelimit == -1)
|
||||
<script>
|
||||
window.location.href = "../cad/infobord.asp?discs=<%=ins_disc_key%>&geb_key=<%=geb_key%>&floor_key=<%=floor_key%>"
|
||||
+ "&bordlabel_key=<%=bordlabel_key%>&themaI=<%=themaI_key%>&thema_key=<%=thema_key%>&label_key=<%=label_key%>"
|
||||
+ "&datumfilter=<%=resdate.getTime()%>"
|
||||
+ "&datumfilter=<%=resdate.getTime()%>&contmode=<%=contmode%>"
|
||||
+ "&link2res=<%=link2res%>"
|
||||
+ "&deel2res=<%=deel2res%>"
|
||||
+ "&zoomScale=<%=zoomScale%>&zoomDWGX=<%=zoomDWGX%>&zoomDWGY=<%=zoomDWGY%>"
|
||||
|
||||
@@ -107,7 +107,7 @@ var sametab = getQParamInt("sametab", 1); // alles in 1 tab of t
|
||||
var resdate = getQParamDate("date", null); // de (in stap 2 gekozen) datum
|
||||
|
||||
var minimumbeschikbaarheid = getQParamFloat("minbes", 1); // minder dan zoveel uur beschikbaar beschouwen we onbeschikbaar
|
||||
var onlyfree = getQParamInt("onlyfree", 0); // moeten bezette werkplekken wel (0) of niet (1) (onklikbaar) getoond worden in de lijst
|
||||
var onlyfree = getQParamInt("onlyfree", 0); // moeten bezette ruimtes wel (0) of niet (1) (onklikbaar) getoond worden in de lijst
|
||||
|
||||
var thema_key = getQParamInt("thema_key", 12); // Voor ruimtekleuren (noot: niet zeker of die niet 13 als default moet zijn)
|
||||
// var themaI_key = getQParamInt("themai_key", 13); // Voor objectkleurenen ("installaties")
|
||||
@@ -132,8 +132,8 @@ var transitParam2 = buildTransitParam(['activiteit_key', 'daylimit', 'offset', '
|
||||
<head>
|
||||
<% FCLTHeader.Generate(); %>
|
||||
<style>
|
||||
div.iconmenuh { height: 500px;}
|
||||
</style>
|
||||
div.iconmenuh { height: 500px; }
|
||||
</style>
|
||||
<script>
|
||||
|
||||
function reserveerresruimte (row)
|
||||
@@ -256,7 +256,7 @@ var transitParam2 = buildTransitParam(['activiteit_key', 'daylimit', 'offset', '
|
||||
|
||||
// TODO YKPN/MVP mag versimpeld tot wel/niet per dag. Als we dat generiek willen moet dit simpeler en hoeven we de intervallen niet te weten
|
||||
var lsql = "SELECT datum, SUM (gevuld) gevuld, MAX (aantal) aantal, MAX (vrijedag) vrijedag, MAX (weekdag) weekdag "
|
||||
+ "FROM ("
|
||||
+ " FROM ("
|
||||
+ " SELECT "+ lcl.xsqla("rd.ins_discipline_omschrijving", "rd.ins_discipline_key")+","
|
||||
+ " TRUNC (rrr.res_rsv_ruimte_van) datum,"
|
||||
+ " SUM(DECODE( (rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van),0,0,1)) gevuld,"
|
||||
@@ -283,7 +283,7 @@ var transitParam2 = buildTransitParam(['activiteit_key', 'daylimit', 'offset', '
|
||||
+ (p_flr_key > -1 ? " AND plts.alg_verdieping_key = " + p_flr_key
|
||||
: (p_geb_key > -1 ? " AND plts.alg_gebouw_key = " + p_geb_key : "")
|
||||
)
|
||||
+ (p_disc_key > -1 ? " AND rr.res_discipline_key = " + p_disc_key
|
||||
+ (p_disc_key > -1 ? " AND rr.res_discipline_key = " + p_disc_key
|
||||
: " AND rr.res_discipline_key IN (SELECT res_discipline_key FROM res_activiteitdiscipline WHERE res_activiteit_key= " + p_act_key+") "
|
||||
)
|
||||
+ (p_resdate ? " AND TRUNC (rrr.res_rsv_ruimte_van) = " + p_resdate.toSQL()
|
||||
@@ -344,7 +344,7 @@ var transitParam2 = buildTransitParam(['activiteit_key', 'daylimit', 'offset', '
|
||||
+ (p_flr_key > -1 ? " AND plts.alg_verdieping_key = " + p_flr_key
|
||||
: (p_geb_key > -1 ? " AND plts.alg_gebouw_key = " + p_geb_key : "")
|
||||
)
|
||||
+ (p_disc_key > -1 ? " AND rr.res_discipline_key = " + p_disc_key
|
||||
+ (p_disc_key > -1 ? " AND rr.res_discipline_key = " + p_disc_key
|
||||
: " AND rr.res_discipline_key IN (SELECT res_discipline_key FROM res_activiteitdiscipline WHERE res_activiteit_key= " + p_act_key+") "
|
||||
)
|
||||
+ (p_resdate ? " AND TRUNC (rrr.res_rsv_ruimte_van) = " + p_resdate.toSQL()
|
||||
@@ -477,6 +477,73 @@ var transitParam2 = buildTransitParam(['activiteit_key', 'daylimit', 'offset', '
|
||||
return lsql;
|
||||
}
|
||||
|
||||
// sql = rrpt_res_ruimte_bezetting_op_dag_sql(res_disc_key, act_key, geb_key, floor_key, authparams.ALGwritelevel, resdate, onlyfree);
|
||||
function rrpt_res_ruimte_bezetting_op_dag_sql(p_disc_key, p_act_key, p_gebouw_key, p_floor_key, p_alglevel, p_resdate, onlyfree)
|
||||
{
|
||||
// Bloktijden van de activiteit
|
||||
var bloktijden = res.getBloktijdenAct(p_act_key, p_resdate);
|
||||
|
||||
var van = null;
|
||||
var tot = null;
|
||||
if (bloktijden.length == 1) // We doen hier nog geen intervallen, maar als er 1 interval bekend is, gebruiken we die tijden ipv de openingstijden van de res_ruimte
|
||||
{
|
||||
van = bloktijden[0].startdatum.getHours() + (bloktijden[0].startdatum.getMinutes() / 60);
|
||||
tot = bloktijden[0].einddatum.getHours() + (bloktijden[0].einddatum.getMinutes() / 60);
|
||||
}
|
||||
var safe_van = van === null || isNaN(parseFloat(van)) ? "NULL" : parseFloat(van);
|
||||
var safe_tot = tot === null || isNaN(parseFloat(tot)) ? "NULL" : parseFloat(tot);
|
||||
|
||||
var sql = " SELECT rr.res_ruimte_key "
|
||||
+ " , " + lcl.xsqla('rr.res_ruimte_nr', 'rr.res_ruimte_key')
|
||||
+ " , " + lcl.xsqla('rr.res_ruimte_omschrijving', 'rr.res_ruimte_key')
|
||||
+ " , rr.res_discipline_key"
|
||||
+ " , v.alg_verdieping_omschrijving"
|
||||
+ " , rr.res_ruimte_image"
|
||||
+ " , COUNT(rsv.res_ruimte_key) bezet"
|
||||
+ " FROM res_v_aanwezigalg_ruimte rar, "
|
||||
+ " alg_v_allonroerendgoed plts, "
|
||||
+ " alg_v_aanwezigverdieping v, "
|
||||
+ " res_v_aanwezigruimte rr, " // reserveerbare ruimten
|
||||
+ " res_discipline rd, "
|
||||
+ " (SELECT rro.res_ruimte_key"
|
||||
+ " , rrr.res_rsv_ruimte_van"
|
||||
+ " , rrr.res_rsv_ruimte_tot"
|
||||
+ " FROM res_v_aanwezigrsv_ruimte rrr,"
|
||||
+ " res_reservering r,"
|
||||
+ " res_ruimte_opstelling rro"
|
||||
+ " WHERE r.res_reservering_key = rrr.res_reservering_key"
|
||||
+ " AND rro.res_ruimte_opstel_key = rrr.res_ruimte_opstel_key"
|
||||
+ " AND rrr.res_rsv_ruimte_dirtlevel = 0"
|
||||
+ " AND TRUNC (rrr.res_rsv_ruimte_van) = TRUNC(" + p_resdate.toSQL() + ")" // Dezelfde dag
|
||||
+ " AND r.res_reservering_verwijder IS NULL) rsv"
|
||||
+ " WHERE rr.res_ruimte_key = rar.res_ruimte_key"
|
||||
+ " AND rr.res_ruimte_key = rsv.res_ruimte_key(+)"
|
||||
// Voor de >= staat voor de (tot/van) tijd van de bestaande reservering ('(+)' => if any), en na de >= staat voor de (van/tot) tijd van de te maken reservering
|
||||
+ " AND (rsv.res_rsv_ruimte_tot(+) - TRUNC(rsv.res_rsv_ruimte_tot(+))) * 24 >= COALESCE(" + safe_van + ", rr.res_ruimte_begintijd, " + S("res_t1") + ") " // Vergelijk fractionele uren
|
||||
+ " AND (rsv.res_rsv_ruimte_van(+) - TRUNC(rsv.res_rsv_ruimte_van(+))) * 24 <= COALESCE(" + safe_tot + ", rr.res_ruimte_eindtijd, " + S("res_t2") + ") " // Vergelijk fractionele uren
|
||||
+ " AND rar.alg_ruimte_key = plts.alg_ruimte_key"
|
||||
+ " AND plts.alg_gebouw_key = " + p_gebouw_key
|
||||
+ (p_floor_key > -1 ? " AND plts.alg_verdieping_key = " + p_floor_key : "")
|
||||
+ " AND plts.alg_type = 'R'"
|
||||
+ " AND plts.alg_verdieping_key = v.alg_verdieping_key"
|
||||
+ (p_alglevel > -1 ? " AND v.alg_verdieping_key IN (SELECT alg_verdieping_key FROM fac_v_my_floors "
|
||||
+ " WHERE prs_perslid_key = " + user_key
|
||||
+ " AND niveau = " + p_alglevel + ")"
|
||||
: "")
|
||||
+ " AND rd.ins_discipline_key = rr.res_discipline_key"
|
||||
+ (p_disc_key > -1 ? " AND rr.res_discipline_key = " + p_disc_key
|
||||
: " AND rr.res_discipline_key IN (SELECT res_discipline_key FROM res_activiteitdiscipline WHERE res_activiteit_key= " + p_act_key + ") "
|
||||
)
|
||||
+ " GROUP BY rr.res_ruimte_key"
|
||||
+ " , rr.res_ruimte_nr"
|
||||
+ " , rr.res_ruimte_omschrijving"
|
||||
+ " , rr.res_discipline_key"
|
||||
+ " , v.alg_verdieping_omschrijving"
|
||||
+ " , rr.res_ruimte_image"
|
||||
+ (onlyfree ? " HAVING COUNT (rsv.res_ruimte_key) = 0" : ""); // Alleen beschikbare ruimtes (met bezet = 0)
|
||||
return sql;
|
||||
}
|
||||
|
||||
|
||||
// 1. KIES GEBOUW INDIEN NOG NIET BEKEND
|
||||
// We willen daarbij een indicatie van de mogelijkheden, zijnde het aantal + soort ruimte die voor deze activiteit zijn
|
||||
@@ -622,7 +689,6 @@ var transitParam2 = buildTransitParam(['activiteit_key', 'daylimit', 'offset', '
|
||||
cpos =0;
|
||||
for (disc in gebdiscArr)
|
||||
{
|
||||
var gebouwcapaciteit = "??";
|
||||
%>
|
||||
<h3><a><%=L("lcl_beschikbaarheid_by_day").format(safe.html(gebouw_naam))+": "+gebdiscArr[cpos].naam%></a></h3>
|
||||
<div style='display:none;'>
|
||||
@@ -681,8 +747,6 @@ var transitParam2 = buildTransitParam(['activiteit_key', 'daylimit', 'offset', '
|
||||
} // resdate
|
||||
|
||||
|
||||
|
||||
|
||||
// 3. KIES VERDIEPING INDIEN GEWENST EN NOG NIET BEKEND
|
||||
if (resdate && floorselect == 1 && geb_key > -1 && floor_key == -1)
|
||||
{
|
||||
@@ -746,7 +810,7 @@ var transitParam2 = buildTransitParam(['activiteit_key', 'daylimit', 'offset', '
|
||||
|
||||
|
||||
// 4. ALS JE HIER BENT, WEET JE EEN GEBOUW, DESGEWENST ZELFS EEN VERDIEPING, EN EEN DATUM(B)
|
||||
// Dan willen we verder tot een res_deel_key en concrete van/tot-tijden
|
||||
// Dan willen we verder concrete van/tot-tijden
|
||||
if (resdate && geb_key > 0 && (floorselect == 0 || (floorselect == 1 && floor_key > -1)))
|
||||
{
|
||||
if (selectmode != 1)
|
||||
@@ -786,9 +850,9 @@ var transitParam2 = buildTransitParam(['activiteit_key', 'daylimit', 'offset', '
|
||||
</script>
|
||||
<%
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
// Er zijn geen tekeningen of er wordt naar een lijst geforceerd
|
||||
|
||||
sql = "SELECT alg_gebouw_naam"
|
||||
+ " FROM alg_v_aanweziggebouw"
|
||||
+ " WHERE alg_gebouw_key = " + geb_key;
|
||||
@@ -796,18 +860,14 @@ var transitParam2 = buildTransitParam(['activiteit_key', 'daylimit', 'offset', '
|
||||
var gebouw_naam = oRs("alg_gebouw_naam").Value;
|
||||
oRs.Close();
|
||||
|
||||
bloktijden = res.getBloktijdenDisc(res_disc_key, resdate);
|
||||
|
||||
function fnIntervallen(oRs)
|
||||
{
|
||||
var res = rdpt.getIntervalString(oRs("res_deel_key").value, resdate, bloktijden);
|
||||
if (res =="") res = L("lcl_res_intervalbezet");
|
||||
return res;
|
||||
return oRs("bezet").value == 0 ? L("lcl_mobile_res_ruimtevrij") : L("lcl_res_intervalbezet");
|
||||
}
|
||||
|
||||
function fnResRuimtePhoto(oRs)
|
||||
{
|
||||
var icon="";
|
||||
var icon = "fa-map-marker";
|
||||
if (oRs.Fields("res_ruimte_image").Value != null)
|
||||
{
|
||||
icon = oRs.Fields("res_ruimte_image").Value;
|
||||
@@ -828,23 +888,11 @@ var transitParam2 = buildTransitParam(['activiteit_key', 'daylimit', 'offset', '
|
||||
function fnResRuimteIcon(oRs)
|
||||
{
|
||||
// een gekleurde indicatie
|
||||
var lcls = rdpt.bezettings_class_ruimte(oRs("bezet").value, 99, minimumbeschikbaarheid);
|
||||
|
||||
var lcls = rdpt.bezettings_class_ruimte(oRs("bezet").value, 1, minimumbeschikbaarheid); // gewoon bezet of niet, dus capaciteit op 1 (er mag maar 1 reservering staan)
|
||||
return '<span class="rticon {0}">'.format(lcls) + I("fa-circle fa-2x", {fastyle: "fas"}) + '</span>';
|
||||
}
|
||||
|
||||
function fnrowClass(oRs)
|
||||
{
|
||||
// Ik wil een kleur naar gelang het aantal nog beschikbare intervallen. Dat bepalen we indirect in fnIntervallen()
|
||||
// dat is al per regel, en dat wil ik hier niet nogmaals doen. Vooralsnog een benadering obv tijd, wat wel
|
||||
// als voordeel heeft dat ook bezetting buiten de intervallen mee telt. Wat goed of fout kan zijn.
|
||||
// Gedachte is een globaal array te maken met voor elke plek het aantal intervallen, dat alleen wordt berekend
|
||||
// als dat nog niet eerder gebeurde.
|
||||
return rdpt.bezettings_class_ruimte(oRs("bezet").value, 99, minimumbeschikbaarheid);
|
||||
}
|
||||
|
||||
// TODO
|
||||
sql = rrpt_res_ruimte_bezetting_op_dag_sql(res_disc_key, geb_key, floor_key, resdate, (onlyfree ? 99 - minimumbeschikbaarheid : null));
|
||||
sql = rrpt_res_ruimte_bezetting_op_dag_sql(res_disc_key, act_key, geb_key, floor_key, authparams.ALGwritelevel, resdate, onlyfree);
|
||||
|
||||
var rst = new ResultsetTable({ keyColumn: "res_ruimte_key",
|
||||
ID: "resrmtable",
|
||||
@@ -855,12 +903,12 @@ var transitParam2 = buildTransitParam(['activiteit_key', 'daylimit', 'offset', '
|
||||
if (fotos)
|
||||
rst.addColumn(new Column({caption: "", content: fnResRuimtePhoto, colName: "fnResRuimtePhoto", classList: "placephoto"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_floor"), content: "alg_verdieping_omschrijving", nowrap: true}));
|
||||
rst.addColumn(new Column({caption: L("lcl_room"), content: "plaats", nowrap: true}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_ruimte_man_descr"), content: "alg_ruimte_omschrijving", nowrap: true}));
|
||||
rst.addColumn(new Column({caption: L("lcl_item"), content: "res_ruimte_omschrijving", nowrap: true}));
|
||||
rst.addColumn(new Column({caption: L("res_ruimte_nr"), content: "res_ruimte_nr", nowrap: true}));
|
||||
rst.addColumn(new Column({caption: L("res_ruimte_omschrijving"), content: "res_ruimte_omschrijving", nowrap: true}));
|
||||
|
||||
rst.addColumn(new Column({caption: "", content: fnResRuimteIcon, colName: "fnResRuimteIcon", classList: "placeicon", align: "center" }));
|
||||
rst.addColumn(new Column({caption: L("lcl_res_interval_opties"), content: fnIntervallen, nowrap: true}));
|
||||
// debug: rst.addColumn(new Column({caption: L("lcl_res_dagbezetting"), content: "bezet", datatype: "currency", total: true}));
|
||||
|
||||
rst.addAction({ action: "reserveerresruimte", caption: "", isDefault: true });
|
||||
var cnt = rst.processResultset();
|
||||
|
||||
|
||||
@@ -123,7 +123,7 @@ var artgroup = getQParamInt("artgroup", -1); // Artikelgroep
|
||||
var sortout = getQParamInt("sortout", -1); // Sortering
|
||||
var group = getQParamInt("groupby", -1); // Groepering
|
||||
var resstatus = getQParamInt("resstatus", -1); // fo_status
|
||||
var resourcetypes = getQParamIntArray("resourcetypes", [1, 2, 3, 4]);
|
||||
var resourcetypes = getQParamIntArray("resourcetypes", [1, 2, 3]);
|
||||
|
||||
var res_actual = getQParamInt("res_actual", 1) == 1; // Standaard aangevinkt indien niet meegegeven
|
||||
var res_deleted = getQParamInt("res_deleted", 0) == 1; // Standaard niet aangevinkt indien niet meegegeven
|
||||
|
||||
@@ -114,6 +114,8 @@ else
|
||||
// minimaal <20><>n categorie moet aangekruist zijn
|
||||
if (!roomcat && !objcat && !artcat)
|
||||
roomcat = true;
|
||||
|
||||
var resourcetypes = getFParamIntArray("resourcetypes", [1]); /* 4 = Personenresource is exclusief gemaakt met personenmode */
|
||||
// ** de velden van de form zijn nu allemaal bekend **
|
||||
|
||||
params.datefrom = datefrom;
|
||||
@@ -153,6 +155,7 @@ else
|
||||
params.res_notapproved = (backo || minfo || frontend? res_notapproved : null); // Wordt alleen gebruikt bij bo en mi
|
||||
params.res_tobeapproved= (frontend? res_tobeapproved : null); // Wordt alleen gebruikt bij frontend
|
||||
params.res_noshowonly = (getFParam("res_noshowonly", "") == "on"); // Wordt alleen gebruikt bij bo en mi
|
||||
params.resourcetypes = resourcetypes;
|
||||
|
||||
// Flags
|
||||
params.flags = [];
|
||||
|
||||
@@ -38,7 +38,8 @@ var dis_key = getQParamInt("dis_key", -1); // (Alleen) default openklappen
|
||||
var srtact = getFParamInt("srtact", -1);
|
||||
var mld_opdr_key = getFParamInt("mld_opdr_key", -1); // opdracht/resource mode
|
||||
|
||||
var resourcetypes = getFParamIntArray("resourcetypes", [1, 4]);
|
||||
var resourcetypes = getFParamIntArray("resourcetypes", [1]); /* 4 = Personenresource is exclusief gemaakt met personenmode */
|
||||
|
||||
var ins_disc_min_level_arr = [];
|
||||
if (inArray(1, resourcetypes)) /* 1 = Reserveerbaar object */
|
||||
ins_disc_min_level_arr.push(1);
|
||||
@@ -307,6 +308,7 @@ IFRAMER_HEADER(L("lcl_res_frame_voorziening"), buttons);
|
||||
act_key: getFParamInt("act", -1),
|
||||
objcat_keys: objcatmulti,
|
||||
mld_opdr_key : mld_opdr_key,
|
||||
personenmode: mld_opdr_key > 0 || inArray(4, resourcetypes),
|
||||
fnStep : fnStep,
|
||||
srtact : srtact,
|
||||
planbord: true,
|
||||
@@ -329,7 +331,7 @@ IFRAMER_HEADER(L("lcl_res_frame_voorziening"), buttons);
|
||||
geb_key_arr : params.geb_key_arr,
|
||||
ver_key : params.ver_key,
|
||||
ver_key_arr : params.ver_key_arr,
|
||||
mld_opdr_key : mld_opdr_key,
|
||||
personenmode : params.personenmode,
|
||||
act_key : params.act_key,
|
||||
sdisc : "dis.ins_discipline_key",
|
||||
autfunction : autfunction,
|
||||
@@ -351,7 +353,7 @@ IFRAMER_HEADER(L("lcl_res_frame_voorziening"), buttons);
|
||||
+ " AND g.prs_perslid_key ="+user_key
|
||||
+ " )"
|
||||
|
||||
if (mld_opdr_key > 0)
|
||||
if (inArray(4, resourcetypes)) // personen
|
||||
{
|
||||
sql +=" AND dis.ins_discipline_key IN"
|
||||
+ " (SELECT res_discipline_key" /* DISTINCT */
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../shared/iface.inc" -->
|
||||
<!-- #include file="../shared/save2db.inc" -->
|
||||
<!-- #include file="../mld/mld.inc" -->
|
||||
<!-- #include file="res.inc" -->
|
||||
<%
|
||||
FCLTHeader.Requires({plugins: ["jQuery"]});
|
||||
@@ -42,21 +43,24 @@ sql = "SELECT res_rsv_ruimte_key"
|
||||
+ " , bez_bezoekers_key"
|
||||
+ " , rrd.res_deel_key"
|
||||
+ " , "+ lcl.xsqla('rd.res_deel_omschrijving', 'rd.res_deel_key')
|
||||
+ " , prs_perslid_naam_friendly"
|
||||
+ " , res_rsv_deel_van"
|
||||
+ " , res_rsv_deel_tot"
|
||||
+ " FROM ins_deel d"
|
||||
+ " , prs_v_perslid_fullnames_all p"
|
||||
+ " , res_deel rd"
|
||||
+ " , res_rsv_deel rrd"
|
||||
+ " WHERE rrd.res_rsv_deel_key = " + rsv_deel_key
|
||||
+ " AND rrd.res_deel_key = rd.res_deel_key"
|
||||
+ " AND rd.res_ins_deel_key = d.ins_deel_key" ;
|
||||
+ " AND rd.res_ins_deel_key = d.ins_deel_key(+)"
|
||||
+ " AND rd.res_prs_perslid_key = p.prs_perslid_key(+)" ;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var rsv_ruimte_key = oRs("res_rsv_ruimte_key").value;
|
||||
var bezoekers_key = oRs("bez_bezoekers_key").value;
|
||||
var old_van = new Date(oRs("res_rsv_deel_van").value);
|
||||
var old_tot = new Date(oRs("res_rsv_deel_tot").value);
|
||||
var old_deel_key = oRs("res_deel_key").value;
|
||||
var old_deel_oms = oRs("res_deel_omschrijving").value;
|
||||
var old_deel_oms = oRs("res_deel_omschrijving").value || oRs("prs_perslid_naam_friendly").value;
|
||||
|
||||
if (rsv_ruimte_key) // Bij parkeerplaats is er geen res_rsv_ruimte_key.
|
||||
res.res_set_dialect(rsv_ruimte_key);
|
||||
@@ -176,6 +180,7 @@ if (old_deel_key != new_deel_key)
|
||||
+ ", rr.res_rsv_ruimte_volgnr"
|
||||
+ ", rr.res_ruimte_opstel_key"
|
||||
+ ", rr.alg_ruimte_key"
|
||||
+ ", rr.mld_opdr_key"
|
||||
+ " FROM res_rsv_ruimte rr,"
|
||||
+ " res_deel rd,"
|
||||
+ " res_rsv_deel rrd"
|
||||
@@ -207,7 +212,7 @@ if (old_deel_key != new_deel_key)
|
||||
ROFIELDTR("fldresroom", L("lcl_room"), oRs2("res_ruimte_nr").value);
|
||||
oRs2.Close();
|
||||
}
|
||||
else // Alg_ruimte_key zal gevuld zijn
|
||||
else if (oRs("alg_ruimte_key").value != null)
|
||||
{
|
||||
sql = "SELECT alg_ruimte_aanduiding"
|
||||
+ " FROM alg_v_ruimte_gegevens_all"
|
||||
@@ -216,6 +221,12 @@ if (old_deel_key != new_deel_key)
|
||||
ROFIELDTR("fldresroom", L("lcl_room"), oRs2("alg_ruimte_aanduiding").value);
|
||||
oRs2.Close();
|
||||
}
|
||||
else // mld_opdr_key zal gevuld zijn
|
||||
{
|
||||
var mld_opdr = mld.mld_opdr_info(oRs("mld_opdr_key").value);
|
||||
var opdr_id = (mld_opdr.srtdiscprefix||"") + mld_opdr.mld_key + "/" + mld_opdr.volgnr;
|
||||
ROFIELDTR("fldresroom", L("lcl_mld_opdr_number"), opdr_id);
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
var this_res = res.func_enabled(rsv_ruimte_key); // Wat heb ik zoal aan rechten op deze specifieke reservering
|
||||
@@ -286,4 +297,4 @@ IFACE.FORM_END();
|
||||
%>
|
||||
<% MODAL_END(); %>
|
||||
</body>
|
||||
</html><% ASPPAGE_END(); %>
|
||||
</html><% ASPPAGE_END(); %>
|
||||
|
||||
@@ -505,7 +505,7 @@ function scaffolding_edit(model, scf_params)
|
||||
|
||||
$(function()
|
||||
{
|
||||
$("input[type=text],input[type=checkbox],input[type=number],input:not([type]),select, textarea").not(".fldtime").not(".processingtime").not("[class^='fldflex']").not("[class^='fldSflex']").each(function() {
|
||||
$(":input:not([type=hidden])").not("td.flexvalue :input, td.multi_cb :input").each(function() {
|
||||
if ($(this).hasClass('flddate'))
|
||||
var fld_name = $(this).attr("id").substr("show_".length);
|
||||
else if ($(this).hasClass("suggest"))
|
||||
|
||||
@@ -859,7 +859,7 @@ function oneFileInfo(pFileData, pResult, pModule, pKey, pSubpath, pNiveau, param
|
||||
var oStream = Server.CreateObject("ADODB.Stream");
|
||||
oStream.Open;
|
||||
oStream.Type = 1; // adTypeBinary
|
||||
oStream.LoadFromFile(fAttachPath + fName);
|
||||
oStream.LoadFromFile(safe.UNC(fAttachPath + fName));
|
||||
|
||||
var oXML = new ActiveXObject("Msxml2.DOMDocument.6.0");
|
||||
var oNode = oXML.createElement("encodeddata");
|
||||
@@ -1493,7 +1493,7 @@ function StreamFile(filePath, filename, mime, pcontentdp)
|
||||
var oStream = Server.CreateObject("ADODB.Stream");
|
||||
oStream.Open;
|
||||
oStream.Type = 1; // adTypeBinary
|
||||
oStream.LoadFromFile(safefullpath);
|
||||
oStream.LoadFromFile(safe.UNC(safefullpath));
|
||||
while (!oStream.EOS && Response.IsClientConnected)
|
||||
{
|
||||
Response.BinaryWrite(oStream.read(CHUNKSIZE));
|
||||
@@ -1519,7 +1519,7 @@ function zipfile(fullpath, filename)
|
||||
iStream.CharSet = "utf-8";
|
||||
try
|
||||
{
|
||||
iStream.LoadFromFile(fullpath);
|
||||
iStream.LoadFromFile(safe.UNC(fullpath));
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
@@ -1533,7 +1533,7 @@ function zipfile(fullpath, filename)
|
||||
oStream.Open;
|
||||
oStream.Type = 1; // adTypeBinary
|
||||
|
||||
oStream.LoadFromFile(temp);
|
||||
oStream.LoadFromFile(safe.UNC(temp));
|
||||
oStream.Position = 0;
|
||||
fso.DeleteFile(temp);
|
||||
Response.clear;
|
||||
|
||||
@@ -44,8 +44,8 @@ var sql = "SELECT ins_srtcontrole_key"
|
||||
+ " , ctr_disc_params cdp"
|
||||
+ " , ctr_discipline cd"
|
||||
+ filtClause.from
|
||||
+ " WHERE (UPPER(" + lcl.xsql("ins_srtcontrole_omschrijving", "isc.ins_srtcontrole_omschrijving") + ") LIKE " + safe.quoted_sql_wild2(chars)
|
||||
+ " OR UPPER("+ lcl.xsql("ins_discipline_omschrijving", "d.ins_discipline_omschrijving") + ") LIKE " + safe.quoted_sql_wild2(chars) + ")"
|
||||
+ " WHERE (UPPER(" + lcl.xsql("ins_srtcontrole_omschrijving", "isc.ins_srtcontrole_key") + ") LIKE " + safe.quoted_sql_wild2(chars)
|
||||
+ " OR UPPER("+ lcl.xsql("ins_discipline_omschrijving", "cd.ins_discipline_key") + ") LIKE " + safe.quoted_sql_wild2(chars) + ")"
|
||||
+ " AND isc.ctr_discipline_key = cdp.ctr_ins_discipline_key"
|
||||
+ " AND cdp.ctr_ins_discipline_key = cd.ins_discipline_key"
|
||||
+ filtClause.where
|
||||
|
||||
@@ -20,7 +20,7 @@ function getFiltClauseSrtcontrole(pfiltcode, params, init)
|
||||
switch(pfiltcode)
|
||||
{
|
||||
case "MJOB": // MJOB: Alleen de MJOB taken mag je zien.
|
||||
lfiltClause.select += ", " + lcl.xsqla("ins_srtcontrole_omschrijving", "isc.ins_srtcontrole_omschrijving")
|
||||
lfiltClause.select += ", " + lcl.xsqla("ins_srtcontrole_omschrijving", "isc.ins_srtcontrole_key")
|
||||
lfiltClause.where += " AND cdp.ctr_disc_params_ismjob = 1"
|
||||
+ " AND (ins_srtcontrole_eind IS NULL OR ins_srtcontrole_eind > SYSDATE)";
|
||||
break;
|
||||
@@ -36,7 +36,7 @@ function getFiltClauseSrtcontrole(pfiltcode, params, init)
|
||||
+ " AND w.fac_gebruiker_prs_level_read < 9"
|
||||
+ " AND w.fac_gebruiker_alg_level_read < 9"
|
||||
+ " AND w.prs_perslid_key = " + user_key + ")";
|
||||
lfiltClause.select += ", " + lcl.xsql("ins_srtcontrole_omschrijving", "isc.ins_srtcontrole_omschrijving")
|
||||
lfiltClause.select += ", " + lcl.xsql("ins_srtcontrole_omschrijving", "isc.ins_srtcontrole_key")
|
||||
+ " || CASE"
|
||||
+ " WHEN ins_srtcontrole_niveau = 'S'"
|
||||
+ " THEN ' ' || asi.srtdeel_oms"
|
||||
|
||||
@@ -1900,12 +1900,19 @@ div.labelgrid label {
|
||||
text-overflow: ellipsis;
|
||||
font-size: 1.1em;
|
||||
padding-left: 6px;
|
||||
cursor: inherit;
|
||||
max-width: calc(100% - 24px);
|
||||
display: inline-block;
|
||||
}
|
||||
div.labelgrid label i {
|
||||
vertical-align: bottom;
|
||||
padding: 1px;
|
||||
color: ==tableheaderbackgroundcolor==;
|
||||
}
|
||||
div.labelgrid i {
|
||||
vertical-align: super;
|
||||
cursor: pointer;
|
||||
}
|
||||
#mod_res_selectroom .labelgrid:hover,
|
||||
#mod_res_selectroom .labelgrid:hover label i {
|
||||
color: ==menuitemhovercolor==;
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
Context: Vanuit ELK asp bestand
|
||||
*/
|
||||
|
||||
var FCLTVersion="2021.1d";
|
||||
var FCLTVersion="2021.1e";
|
||||
var FCLTMinDatabaseSchema="40"; // Alleen de cijfers
|
||||
|
||||
var custpath = rooturl + "/cust/" + customerId; // path to customer files
|
||||
|
||||
@@ -640,23 +640,19 @@ function ROFIELD(pclass, plabel, pvalue, params)
|
||||
|
||||
if (params.infoPointer)
|
||||
{
|
||||
if (params.infoPointer.Url.indexOf("status_info.asp") > 0)
|
||||
prot_url = protectQS.create(params.infoPointer.Url);
|
||||
else
|
||||
prot_url = params.infoPointer.Url;
|
||||
|
||||
var url = params.infoPointer.Url;
|
||||
if (params.infoPointer.NewWindow)
|
||||
{
|
||||
var fnclick = "FcltMgr.windowopen(\"" + safe.jsstring(prot_url) + "\")";
|
||||
var fnclick = "FcltMgr.windowopen(\"" + safe.jsstring(url) + "\")";
|
||||
}
|
||||
else if (params.infoPointer.Modal)
|
||||
{
|
||||
fnclick = "FcltMgr.openModalDetail(\"" + safe.jsstring(prot_url) + "\""
|
||||
fnclick = "FcltMgr.openModalDetail(\"" + safe.jsstring(url) + "\""
|
||||
+ ", { titel: \"" + safe.jsstring(params.infoPointer.Title||"") + "\" })";
|
||||
}
|
||||
else
|
||||
{
|
||||
fnclick = "FcltMgr.openDetail(\"" + safe.jsstring(prot_url) + "\""
|
||||
fnclick = "FcltMgr.openDetail(\"" + safe.jsstring(url) + "\""
|
||||
+ ", { reuse: true, titel: \"" + safe.jsstring(params.infoPointer.Title||"") + "\" })";
|
||||
}
|
||||
input += " onclick='" + safe.htmlattr(fnclick) + "'";
|
||||
|
||||
@@ -594,7 +594,8 @@ function kv2html(pfield, pparams)
|
||||
|
||||
// Bloktitel's en Nieuwe secties doen we niks meer aan, die zijn goed zoals ze zijn.
|
||||
if (pfield.kkenmerktype == "l" || pfield.kkenmerktype == "Q")
|
||||
return (pparams.kv);
|
||||
// hidden when ishidden
|
||||
return (pfield.ishidden ? '<div class="hidden"></div>' : pparams.kv);
|
||||
|
||||
if (pparams.kv != "")
|
||||
{
|
||||
@@ -2160,7 +2161,7 @@ function listKenmerk(sql, module, pkey, props)
|
||||
prssql = true;
|
||||
thisfield.kwaarde = thisfield.kwaarde.substr(thisfield.kwaarde.indexOf('##SQL##') + 7);
|
||||
var sql2 = thisfield.kwaarde.replace("##PRS_PERSLID_KEY##", props.prs_key).replace("##PRS_CONTACTPERSOON_KEY##", props.cont_key);
|
||||
oRsPerslid = Oracle.Execute(sql2);
|
||||
var oRsPerslid = Oracle.Execute(sql2);
|
||||
if (!oRsPerslid.eof)
|
||||
thisfield.kwaarde = String(oRsPerslid(0).Value);
|
||||
else
|
||||
@@ -2803,7 +2804,8 @@ function listKenmerk(sql, module, pkey, props)
|
||||
%><script type="text/javascript">
|
||||
$(function()
|
||||
{
|
||||
if (typeof Modernizr == "undefined" || !Modernizr.inputtypes.date)
|
||||
var touchdevice = (typeof window.orientation !== "undefined") || (typeof window.ontouchstart !== "undefined") || (navigator.userAgent.indexOf('IEMobile') !== -1);
|
||||
if (typeof Modernizr == "undefined" || !Modernizr.inputtypes.date || !touchdevice)
|
||||
{
|
||||
if ($.datepicker)
|
||||
{
|
||||
@@ -2814,7 +2816,6 @@ function listKenmerk(sql, module, pkey, props)
|
||||
dateFormat: 'dd-mm-yy', // zo verwacht de flex-code het.
|
||||
changeYear: true,
|
||||
changeMonth: true,
|
||||
duration: 'fast',
|
||||
beforeShow: function(input, inst) { setTimeout("FcltMgr.resized(window)", 100) },
|
||||
dayNames: calendar_names.days,
|
||||
dayNamesMin: calendar_names.daysMin,
|
||||
@@ -2861,7 +2862,8 @@ function listKenmerk(sql, module, pkey, props)
|
||||
var minMax = minMax || {};
|
||||
$(function()
|
||||
{
|
||||
if (typeof Modernizr == "undefined" || !Modernizr.inputtypes.time)
|
||||
var touchdevice = (typeof window.orientation !== "undefined") || (typeof window.ontouchstart !== "undefined") || (navigator.userAgent.indexOf('IEMobile') !== -1);
|
||||
if (typeof Modernizr == "undefined" || !Modernizr.inputtypes.time || !touchdevice)
|
||||
{
|
||||
<% for (i = 0; i < minMax.length; i++)
|
||||
{ %>
|
||||
@@ -2962,12 +2964,10 @@ function listKenmerk(sql, module, pkey, props)
|
||||
<script type="text/javascript">
|
||||
$(function()
|
||||
{ // Alleen een vinkboxje voor de flexkenmerken toevoegen.
|
||||
$("[class^='fldflex'], [class^='fldflexS']").not(".fldtime").each( // beetje misbruik van classes?
|
||||
$("td.flexvalue :input:not([type=hidden])").each( // beetje misbruik van classes?
|
||||
function()
|
||||
{
|
||||
if ($(this).hasClass('flddate'))
|
||||
var cb_name = "check_" + $(this).attr("id").substr("show_".length);
|
||||
else if ($(this).hasClass('suggest'))
|
||||
if ($(this).hasClass('suggest'))
|
||||
var cb_name = "check_" + $(this).attr("id").substr(0, $(this).attr("id").length-5);
|
||||
else
|
||||
var cb_name = "check_" + $(this).attr("name");
|
||||
|
||||
@@ -362,10 +362,14 @@ function callback_flex_expr_info(json)
|
||||
{
|
||||
for (var kenmerk=0; kenmerk < json.length; kenmerk++)
|
||||
{
|
||||
// save initial visibility state of field
|
||||
var initialVisible = $("#" + json[kenmerk].kfieldid + "val").is(":visible");
|
||||
// save default value in flex field
|
||||
if ($("#" + json[kenmerk].kfieldid + "val").attr("default") == undefined)
|
||||
{
|
||||
$("#" + json[kenmerk].kfieldid + "val").attr("default", json[kenmerk].waarde);
|
||||
$("#" + json[kenmerk].kfieldid + "val").attr("default", json[kenmerk].waarde);
|
||||
var $fld = $("#" + json[kenmerk].kfieldid + "val");
|
||||
if ($fld.length && $fld.attr("type") == "checkbox" && !$fld.prop("checked")) { $fld.prop("checked", $fld.attr("default") == "1"); }
|
||||
}
|
||||
|
||||
if ($("#" + json[kenmerk].kfieldid + "val").hasClass("flexshow") ||
|
||||
@@ -417,7 +421,7 @@ function callback_flex_expr_info(json)
|
||||
var $fld = $("#" + json[kenmerk].kfieldid + "val");
|
||||
var $fld_show = $("#Suggest" + json[kenmerk].kfieldid + "_show");
|
||||
|
||||
if ($fld.length && $fld.attr("type") == "checkbox") { $fld.attr("default", $fld.prop("checked") ? "1" : "0"); }
|
||||
if ($fld.length && $fld.attr("type") == "checkbox" && initialVisible) { $fld.attr("default", $fld.prop("checked") ? "1" : "0"); }
|
||||
|
||||
// erase the value when the field is hidden and the field has a value
|
||||
if (json[kenmerk].exprwaarde == 0 || json[kenmerk].exprwaarde == null) {
|
||||
|
||||
@@ -88,7 +88,8 @@ function SafeExec( sql, catchErrors ) {
|
||||
{
|
||||
_LastFacError.friendlyMsg = RegCode[2] || _LastFacError.faccode; // een ORA-20000 met ingebouwde tekst zoals ORA-20000: alg_m999 Ruimte kan nog niet verwijderd worden. Er zijn nog lopende meldingen
|
||||
var knownError = true;
|
||||
} else if (msg.match(/^ORA-20001/i))
|
||||
}
|
||||
else if (msg.match(/^ORA-20001/i)) // Alleen tekst: 'ORA-20001 Deze ruimte of voorziening is niet beschikbaar. Kies een andere ruimte of een ander tijdstip!'
|
||||
{
|
||||
var knownError = true;
|
||||
}
|
||||
@@ -103,7 +104,7 @@ function SafeExec( sql, catchErrors ) {
|
||||
var knownError = true;
|
||||
_LastFacError.friendlyMsg = oRs("FAC_MESSAGE_TEXT").Value + "\n(" + _LastFacError.faccode + ")";
|
||||
}
|
||||
else
|
||||
else if (!knownError)
|
||||
{
|
||||
__SafeDoLog("TODO: <em>{0}</em> opnemen in een XXX_INI.SRC (FCLT#51673)?".format(safe.html(_LastFacError.faccode)));
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
{
|
||||
try
|
||||
{
|
||||
oWhipFile = _openContourDWF(dwfFile, pContLayers, pLabelLayers, pMinMergeDistance)
|
||||
oWhipFile = _openContourDWF(dwfFile, pContLayers, pLabelLayers, pMinArea, pMinMergeDistance)
|
||||
}
|
||||
catch( ee )
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user