MARX#68924 Resource voorzieningen bij opdrachten meer alfanumeriek/los savepoint

svn path=/Website/trunk/; revision=54493
This commit is contained in:
Jos Groot Lipman
2022-01-12 15:32:46 +00:00
parent 642e527254
commit fb3437ff0e
6 changed files with 101 additions and 4 deletions

View File

@@ -86,6 +86,19 @@ PAGE_START();
// 2. De inzetbaarheid
page = "prs_inzetbaar_list.asp?embedded=1&prs_key=" + prs_key;
IFRAMER("prsinzetframe", page, { refreshOnClose: true, icon: "fa-list", title: L("lcl_prs_inzetbaar_title") } );
// Is dit deel al reserveerbaar?
var sql = "SELECT res_deel_key"
+ " FROM res_deel"
+ " WHERE res_deel_verwijder IS NULL"
+ " AND res_prs_perslid_key = " + prs_key;
var oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
page = "prs_res_list.asp?mode=list&scope=fo&equipment=" + oRs("res_deel_key").Value;
IFRAMER("prsresframe", page, { refreshOnClose: true, icon: "fa-list", title: L("lcl_reservation_title") } );
}
oRs.Close();
}
var authparamsINSFOF = user.checkAutorisation("WEB_INSFOF", true);

54
APPL/PRS/prs_res_list.asp Normal file
View File

@@ -0,0 +1,54 @@
<%@language = "javascript" %>
<% /*
$Revision$
$Id$
File: prs_res_list.asp
Description: Toont de reserveringen bij een persoon resource
Parameters: equipment (res_deel_key)
Context: Vanuit prs_contactpersoon.asp als die een res-resource is
Note: Strikt genomen werkt dit bestand net zo goed voor
willekeurige res_deel, niet eens alleen voor personen-resources
*/ %>
<!-- #include file="../scf/scaffolding.inc" -->
<!-- #include file="../res/res.inc " -->
<!-- #include file="../api2/model_reservationequipment.inc " -->
<%
var res_deel_key = getQParamInt("equipment");
var res_model = model_reservationequipment;
delete res_model["REST_POST"]; // die gaan we zelf doen
delete res_model["REST_DELETE"]; // te tricky?
settings.overrule_setting("facilitiesfuture_res", 9999); // toon er veel meer
function fnrowData(oRs)
{
var data = { rsv_ruimte_key: oRs.Fields("reservation").Value.id };
return JSON.stringify(data);
}
var rsv_params = {
"list": {
"requires": {
"js": ["./prs_res_list.js"]
},
"columns": [
"id",
"reservation",
"from",
"to"
],
"fnRowData": fnrowData,
"default_action": "open_reservation",
"buttons": [{ icon: "fa-plus", title: L("lcl_add"), action: "add_reservation(" + res_deel_key + ")" }]
}
};
scaffolding(res_model, rsv_params);
ASPPAGE_END();
%>

23
APPL/PRS/prs_res_list.js Normal file
View File

@@ -0,0 +1,23 @@
/*
$Revision$
$Id$
File: prs_res_list.js
Description: Toont de reserveringen bij een persoon resource
Context: Hoort bij prs_res_list.asp
Note: TODO: Toevoegen reserveringen nog even hardcoded met mld_opdr_key=1
*/
function add_reservation(res_deel_key)
{
var url = "appl/res/res_reservering.asp?restype=CV&mld_opdr_key=1&urole=fo&res_deel_key=" + res_deel_key; //activiteit_key=11&
FcltMgr.openDetail(url, "");
}
function open_reservation(row)
{
var resData = JSON.parse(row.getAttribute("ROWDATA"));
var url = "appl/res/res_reservering.asp?urole=fo&rsv_ruimte_key=" + resData.rsv_ruimte_key;
FcltMgr.openDetail(url);
}

View File

@@ -206,6 +206,7 @@ FCLTHeader.Requires({ plugins: ["jQuery", "kenmerk"] });
activiteit_key : activiteit_key,
srtactiviteit_key : srtactiviteit_key,
alg_ruimte_key : getQParamInt("alg_ruimte_key", S("res_default_alg_ruimte_key")),
mld_opdr_key : getQParamInt("mld_opdr_key", -1),
ruimte_opstel_key : -1,
rsv_ruimte_noshow : null,
rsv_ruimte_bezoekers: getQParamArray("bez_naam", [], true).length||null, // leeg! laten ipv "0", en QParam niet splitsen op komma (zie ook bez_show_bezoekers.asp)
@@ -239,6 +240,9 @@ FCLTHeader.Requires({ plugins: ["jQuery", "kenmerk"] });
res_ruimte_extern : false
};
if (rrr.mld_opdr_key > 0)
restype = 'O';
if (res_ruimte_key > 0) // locatiekey opzoeken.
{
// Checken of ik de res_ruimte_key wel mag eigenlijk
@@ -1554,6 +1558,7 @@ FCLTHeader.Requires({ plugins: ["jQuery", "kenmerk"] });
<% }
else if (restype == "O")
{
%><input type="hidden" name="mld_opdr_key" id="mld_opdr_key" value="<%=rrr.mld_opdr_key%>"><%
var params = { infoPointer: { Url: "appl/mld/mld_opdr.asp?urole=fo&opdr_key=" + rrr.mld_opdr_key,
Title: rrr.mld_opdr_id
},
@@ -1747,7 +1752,8 @@ FCLTHeader.Requires({ plugins: ["jQuery", "kenmerk"] });
moreinfo: urole!='fe',
autlevel: authparams.PRSwritelevel,
readonly: urole!='fo' || ordernr_reado || rrr.res_ruimte_extern,
required: true
required: true,
trclass: rrr.mld_opdr_key > 0?"hidden":""
});
//======= FIELD 'Gastheer/host' =======
@@ -1760,7 +1766,7 @@ FCLTHeader.Requires({ plugins: ["jQuery", "kenmerk"] });
moreinfo: urole!='fe',
readonly: authparams.PRSwritelevel==9 || ordernr_reado || rrr.res_ruimte_extern,
required: true,
trclass: (S("res_allow_for_others")?"":"hidden")
trclass: (S("res_allow_for_others")&&!(rrr.mld_opdr_key > 0)?"":"hidden")
});
//======= FIELD 'Kostenplaats' =======

View File

@@ -518,6 +518,7 @@ if (isNew) // Nieuw, dan moeten we ook nog een res_reservering record aanmaken
[ { dbs: "res_status_fo_key", typ: "key", val: status_fo }]);
}
fields.push({ dbs: "mld_opdr_key", typ: "key", frm: "mld_opdr_key" });
fields = fields.concat(
[ { dbs: "res_rsv_ruimte_key", typ: "key", seq: "res_s_res_rsv_ruimte_key" },
{ dbs: "res_reservering_key", typ: "key", val: reservering_key },

View File

@@ -52,7 +52,7 @@ if (verynew)
// alg_ruimte_key, handig bij bezorgen
// flex_defaults pacta, bijv: bsn=12345678&plaats=Enschede&postcode=1234AB
transitParam += buildTransitParam(["res_deel_key", "res_artikel_key", "res_ruimte_key", "disc_key", "host_key", "activiteit_key",
"res_van", "res_tot", "ab_mode", "alg_ruimte_key",
"res_van", "res_tot", "ab_mode", "alg_ruimte_key","mld_opdr_key",
"flex_defaults", "rsv_copy_key","rsv_is_serie","pool","timefrom",
"bez_omschr", // vanuit Outlook
"bez_naam", "bez_bedrijf"]); // alleen eerste naam/bedrijf
@@ -734,7 +734,7 @@ if (options.length > 1) {
+ " AND ins_discipline_verwijder IS NULL"
+ (restype == "R"
? " AND ins_discipline_min_level = 3" // 1; Reserveerbaar object; 2; Verbruiksartikel; 3; Ruimte
: " AND ins_discipline_min_level IN (1,2,5)") // 1; Reserveerbaar object; 2; Verbruiksartikel; 3; Ruimte
: " AND ins_discipline_min_level IN (1,2,4,5)") // 4 = persoonresource
+ " )"
+ (getQParamInt("activiteit_key", -1) > -1
? " AND a.res_activiteit_key = " + getQParamInt("activiteit_key", -1)