UWVA#52663: Uitgeleende pas kan niet worden bewerkt.
svn path=/Website/branches/v2017.3/; revision=37434
This commit is contained in:
@@ -530,6 +530,7 @@ ins = {checkAutLevel:
|
||||
var beheerder_key = ioRs("prs_perslid_key_beh").value;
|
||||
var objectbeheerder = S("ins_can_edit_own_objects") && (beheerder_key == user_key);
|
||||
|
||||
var fronto = params && params.urole? params.urole == "fo" : false;
|
||||
var isSleCil = (srtgroep_key == S("sle_ins_srt_groep_key") || srtgroep_key == S("cil_ins_srt_groep_key"));
|
||||
if (isSleCil)
|
||||
{
|
||||
@@ -552,7 +553,7 @@ ins = {checkAutLevel:
|
||||
iresult.canDelete = writeslebof; // Verwijderen
|
||||
iresult.canChange = writeslebof; // Wijzigen
|
||||
iresult.canChangeOwn = objectbeheerder;
|
||||
iresult.canChangeAlg = iresult.canChange; // Wijzigen algemene gegevens
|
||||
iresult.canChangeAlg = iresult.canChange && !fronto; // Wijzigen algemene gegevens
|
||||
iresult.canCopy = writeslebof; // Kopi<70>ren
|
||||
iresult.isSleCil = true;
|
||||
}
|
||||
@@ -560,7 +561,8 @@ ins = {checkAutLevel:
|
||||
{
|
||||
var iresult = ins.func_enabled_scope(ioRs("ins_discipline_key").Value,
|
||||
ioRs("ins_alg_ruimte_type").Value,
|
||||
ioRs("ins_alg_ruimte_key").Value);
|
||||
ioRs("ins_alg_ruimte_key").Value,
|
||||
params);
|
||||
if (!iresult)
|
||||
return { canReadAny: false }; // Aanroeper moet hier (of andere canFunctie) op controleren
|
||||
// Vanuit PDA wordt dan eventueel met melding (of reservering) op dit object
|
||||
@@ -892,9 +894,10 @@ ins = {checkAutLevel:
|
||||
|
||||
func_enabled_scope: // Wat mag ik zoal op deze specifieke scope?
|
||||
// levert null als zelfs nog geen leesrechten
|
||||
function (ins_discipline_key, ins_alg_ruimte_type, ins_alg_ruimte_key)
|
||||
function (ins_discipline_key, ins_alg_ruimte_type, ins_alg_ruimte_key, params)
|
||||
{
|
||||
var iresult = {canDelete: false, canChange: false}; // Verwijderen en Wijzigen
|
||||
var fronto = params && params.urole? params.urole == "fo" : false;
|
||||
if (ins_alg_ruimte_type == "A")
|
||||
{
|
||||
var afd_key = ins_alg_ruimte_key;
|
||||
@@ -915,7 +918,7 @@ ins = {checkAutLevel:
|
||||
iresult.writefof = canWriteINSFOF;
|
||||
iresult.canDelete = canWriteINSMAN; // Verwijderen
|
||||
iresult.canChange = canWriteINSMAN || canWriteINSUSE; // Wijzigen
|
||||
iresult.canChangeAlg = canWriteINSMAN; // Wijzigen algemene gegevens
|
||||
iresult.canChangeAlg = canWriteINSMAN && !fronto; // Wijzigen algemene gegevens
|
||||
iresult.canCopy = canWriteINSMAN; // Kopi<70>ren
|
||||
}
|
||||
else if (ins_alg_ruimte_type == "P" || ins_alg_ruimte_type == "C")
|
||||
@@ -933,7 +936,7 @@ ins = {checkAutLevel:
|
||||
iresult.writefof = iresult.canWrite("WEB_INSFOF");
|
||||
iresult.canDelete = iresult.canWrite("WEB_INSMAN"); // Verwijderen
|
||||
iresult.canChange = iresult.canWrite("WEB_INSMAN") || iresult.canWrite("WEB_INSUSE"); // Wijzigen
|
||||
iresult.canChangeAlg = iresult.canWrite("WEB_INSMAN"); // Wijzigen algemene gegevens
|
||||
iresult.canChangeAlg = iresult.canWrite("WEB_INSMAN") && !fronto; // Wijzigen algemene gegevens
|
||||
iresult.canCopy = iresult.canWrite("WEB_INSMAN"); // Kopi<70>ren
|
||||
}
|
||||
else
|
||||
@@ -976,7 +979,7 @@ ins = {checkAutLevel:
|
||||
iresult.writefof = iresult.canWrite("WEB_INSFOF");
|
||||
iresult.canDelete = iresult.canWrite("WEB_INSMAN"); // Verwijderen.
|
||||
iresult.canChange = iresult.canWrite("WEB_INSMAN") || iresult.canWrite("WEB_INSUSE"); // Wijzigen.
|
||||
iresult.canChangeAlg = iresult.canWrite("WEB_INSMAN"); // Wijzigen algemene gegevens.
|
||||
iresult.canChangeAlg = iresult.canWrite("WEB_INSMAN") && !fronto; // Wijzigen algemene gegevens.
|
||||
iresult.canCopy = iresult.canWrite("WEB_INSMAN"); // Kopi<70>ren.
|
||||
}
|
||||
// Let op: WEB_INSMSU is niet discipline gebonden en zit dus niet in iresult
|
||||
|
||||
@@ -26,7 +26,7 @@ var copy = (getQParamInt("ins_copy", 0) == 1);
|
||||
var disc = getQParamInt("disc", -1);
|
||||
|
||||
// OVERIGE PARAMETERS
|
||||
var transitParam = buildTransitParam(["parent_key", "disc", "Group", "sort", "dept", "prs_key", "ins_copy",
|
||||
var transitParam = buildTransitParam(["parent_key", "disc", "Group", "sort", "dept", "prs_key", "cntprs_key", "ins_copy",
|
||||
"locatiekey", "gebouwkey", "verdiepingkey", "ruimtekey", "werkplekkey"]);
|
||||
|
||||
var ins_name = "";
|
||||
@@ -177,17 +177,17 @@ if (ins_key > 0)
|
||||
var authparamsMLDBOF = user.checkAutorisation("WEB_MLDBOF", true);
|
||||
var authparamsMLDFOF = user.checkAutorisation("WEB_MLDFOF", true);
|
||||
var authparamsMLDBAC = user.checkAutorisation("WEB_MLDBAC", true);
|
||||
|
||||
|
||||
if (!ins_deleted && ins_key > 0 && gevuldLogboek && !copy && (authparamsMLDBOF ||authparamsMLDFOF || authparamsMLDBAC))
|
||||
{
|
||||
var murole = "bo";
|
||||
if (authparamsMLDBOF)
|
||||
murole = "bo";
|
||||
else if (authparamsMLDFOF)
|
||||
murole = "fo";
|
||||
murole = "fo";
|
||||
else if (authparamsMLDBAC)
|
||||
murole = "mi";
|
||||
|
||||
murole = "mi";
|
||||
|
||||
page = "../mld/mld_search_list.asp?ins_key=" + ins_key + "&tiny=1&urole=" + murole;
|
||||
IFRAMER("insMldframe", page, { initHide: true } );
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
<!-- #include file="../Shared/afdelingselector.inc" -->
|
||||
<!-- #include file="../Shared/plaatsselector.inc" -->
|
||||
<!-- #include file="../Shared/persoonselector.inc" -->
|
||||
<!-- #include file="../Shared/contactpersoonselector.inc" -->
|
||||
<!-- #include file="../Shared/disciplineselector.inc" -->
|
||||
<!-- #include file="../Shared/srtgroepselector.inc" -->
|
||||
<!-- #include file="../Shared/srtdeelselector.inc" -->
|
||||
@@ -58,7 +59,7 @@ if (copy)
|
||||
|
||||
if (ins_key > 0)
|
||||
{
|
||||
var this_ins = ins.func_enabled_deel(ins_key);
|
||||
var this_ins = ins.func_enabled_deel(ins_key, {urole: urole});
|
||||
user.auth_required_or_abort(this_ins.canChange || this_ins.canChangeOwn); // dat is toch wel het minste
|
||||
|
||||
authparams = this_ins.authparams(autfunction);
|
||||
@@ -77,6 +78,7 @@ else // nieuw object
|
||||
var o_workpl_key = getQParamInt("werkplekkey", -1);
|
||||
var o_dep_key = getQParamInt("dept", -1);
|
||||
var o_perslid_key = getQParamInt("prs_key", -1);
|
||||
var o_cntpers_key = getQParamInt("cntprs_key", -1);
|
||||
var actief = true;
|
||||
|
||||
if ((srtdeel_key > 0 && ins.isSleCil(srtdeel_key, "S")) ||
|
||||
@@ -137,6 +139,12 @@ var ins_deel_aantal = 1;
|
||||
bind = "P";
|
||||
}
|
||||
|
||||
if (o_cntpers_key > 0)
|
||||
{
|
||||
bind_key = o_cntpers_key;
|
||||
bind = "C";
|
||||
}
|
||||
|
||||
if (o_workpl_key > 0)
|
||||
{
|
||||
bind_key = o_workpl_key;
|
||||
@@ -403,13 +411,14 @@ var ins_deel_aantal = 1;
|
||||
oRs = Oracle.Execute(sql);
|
||||
if (!oRs.eof)
|
||||
{
|
||||
o_loc_key = oRs("alg_locatie_key").Value;
|
||||
o_bld_key = oRs("alg_gebouw_key").Value;
|
||||
o_floor_key = oRs("alg_verdieping_key").Value;
|
||||
o_room_key = oRs("alg_ruimte_key").Value;
|
||||
o_workpl_key = oRs("prs_werkplek_key").Value;
|
||||
o_dep_key = -1;
|
||||
o_perslid_key= -1;
|
||||
o_loc_key = oRs("alg_locatie_key").Value;
|
||||
o_bld_key = oRs("alg_gebouw_key").Value;
|
||||
o_floor_key = oRs("alg_verdieping_key").Value;
|
||||
o_room_key = oRs("alg_ruimte_key").Value;
|
||||
o_workpl_key = oRs("prs_werkplek_key").Value;
|
||||
o_dep_key = -1;
|
||||
o_perslid_key = -1;
|
||||
o_cntpers_key = -1;
|
||||
|
||||
// gracefull terugvallen nav. DHLN#18851
|
||||
// In theorie kan dit ook een probleem zijn voor andere bindings
|
||||
@@ -426,7 +435,7 @@ var ins_deel_aantal = 1;
|
||||
if (bind == 'A')
|
||||
{
|
||||
o_perslid_key = -1;
|
||||
o_dep_key = bind_key;
|
||||
o_dep_key = bind_key;
|
||||
}
|
||||
if (bind == 'P')
|
||||
{
|
||||
@@ -439,6 +448,12 @@ var ins_deel_aantal = 1;
|
||||
oRs = Oracle.Execute(sql);
|
||||
o_dep_key = oRs("prs_afdeling_key").Value;
|
||||
}
|
||||
if (bind == 'C')
|
||||
{
|
||||
o_cntpers_key = bind_key;
|
||||
o_perslid_key = -1;
|
||||
o_dep_key = -1;
|
||||
}
|
||||
o_loc_key = o_bld_key = o_floor_key = o_room_key = o_workpl_key = -1;
|
||||
}
|
||||
}
|
||||
@@ -519,11 +534,16 @@ var ins_deel_aantal = 1;
|
||||
|
||||
// Als o_perslid_key een waarde heeft dan krijgt o_dep_key ook een waarde. De afdeling van een persoon wordt altijd erbij gezocht.
|
||||
// Daarom alleen invalid binding via o_dep_key als o_perslid_key geen waarde heeft.
|
||||
var invalid_binding = ((!(srtdeel_binding & (BIND_AFDELI)) && o_dep_key > 0 && o_perslid_key < 0) ||
|
||||
(!(srtdeel_binding & (BIND_PERSOO)) && o_perslid_key > 0) ||
|
||||
(!(srtdeel_binding & (BIND_TERREI)) && o_bld_key > 0 && !(srtdeel_binding & (BIND_RUIMTE)) && !(srtdeel_binding & (BIND_WERKPL))) ||
|
||||
(!(srtdeel_binding & (BIND_RUIMTE)) && o_room_key > 0 && !(srtdeel_binding & (BIND_WERKPL))) ||
|
||||
(!(srtdeel_binding & (BIND_WERKPL)) && o_workpl_key > 0))
|
||||
var invalid_binding = (((!(srtdeel_binding & (BIND_AFDELI)) && o_dep_key > 0 && o_perslid_key < 0) ||
|
||||
(!(srtdeel_binding & (BIND_PERSOO)) && o_perslid_key > 0) ||
|
||||
(!(srtdeel_binding & (BIND_TERREI)) && o_bld_key > 0 && !(srtdeel_binding & (BIND_RUIMTE)) && !(srtdeel_binding & (BIND_WERKPL))) ||
|
||||
(!(srtdeel_binding & (BIND_RUIMTE)) && o_room_key > 0 && !(srtdeel_binding & (BIND_WERKPL))) ||
|
||||
(!(srtdeel_binding & (BIND_WERKPL)) && o_workpl_key > 0)) && !isLendOut) ||
|
||||
(((!(srtdeel_binding & (BIND_AFDELI)) && org_bind_key > 0 && org_bind == "A") ||
|
||||
(!(srtdeel_binding & (BIND_PERSOO)) && org_bind_key > 0 && org_bind == "P") ||
|
||||
(!(srtdeel_binding & (BIND_TERREI)) && org_bind_key > 0 && org_bind == "T" > 0 && !(srtdeel_binding & (BIND_RUIMTE)) && !(srtdeel_binding & (BIND_WERKPL))) ||
|
||||
(!(srtdeel_binding & (BIND_RUIMTE)) && org_bind_key > 0 && org_bind == "R" && !(srtdeel_binding & (BIND_WERKPL))) ||
|
||||
(!(srtdeel_binding & (BIND_WERKPL)) && org_bind_key > 0 && org_bind == "W")) && isLendOut);
|
||||
|
||||
IFRAMER_HEADER(headertitle, buttons);
|
||||
%>
|
||||
@@ -708,15 +728,15 @@ var ins_deel_aantal = 1;
|
||||
(ins_key > 0 || copy) && isNext < 0? desc : new_desc,
|
||||
{ maxlength: 60,
|
||||
required: true,
|
||||
readonly: !this_ins.canChangeAlg || !(autonum & 2) || urole == "fo"
|
||||
readonly: !this_ins.canChangeAlg || !(autonum & 2)
|
||||
});
|
||||
if (S("ins_explode_objects") == 0)
|
||||
RWFIELDTR("count", "fldshort", L("lcl_amount") + (srtdeel_eenheid ? " (" + srtdeel_eenheid+")" : ""), ins_deel_aantal, {datatype: "float", readonly: !this_ins.canChangeAlg || urole == "fo", required: true});
|
||||
RWFIELDTR("count", "fldshort", L("lcl_amount") + (srtdeel_eenheid ? " (" + srtdeel_eenheid+")" : ""), ins_deel_aantal, {datatype: "float", readonly: !this_ins.canChangeAlg, required: true});
|
||||
else if(ins_key < 0 || isNext > 0 )
|
||||
{
|
||||
RWFIELDTR("count", "fldshort", L("lcl_count"), 1, {datatype: "number", readonly: !this_ins.canChangeAlg || urole == "fo"});
|
||||
RWFIELDTR("count", "fldshort", L("lcl_count"), 1, {datatype: "number", readonly: !this_ins.canChangeAlg});
|
||||
}
|
||||
RWFIELDTR("opmerk", "fld", L("lcl_ins_opmerking"), opmerk, {maxlength: 320, readonly: !this_ins.canChangeAlg || urole == "fo", suppressEmpty: !this_ins.canChangeAlg || urole == "fo"}); %>
|
||||
RWFIELDTR("opmerk", "fld", L("lcl_ins_opmerking"), opmerk, {maxlength: 320, readonly: !this_ins.canChangeAlg, suppressEmpty: !this_ins.canChangeAlg}); %>
|
||||
</table>
|
||||
</td>
|
||||
<td align="center">
|
||||
@@ -749,7 +769,7 @@ var ins_deel_aantal = 1;
|
||||
</tr>
|
||||
<% BLOCK_END();
|
||||
|
||||
if (urole != "fo" && parent_key < 0)
|
||||
if (parent_key < 0)
|
||||
{
|
||||
BLOCK_START("insGeo", L("lcl_ins_meta_data"));
|
||||
FCLTcalendar("aanmaakdatum",
|
||||
@@ -757,6 +777,7 @@ var ins_deel_aantal = 1;
|
||||
label: L("lcl_last_action"),
|
||||
required: true,
|
||||
readonly: !this_ins.canChangeAlg,
|
||||
suppressEmpty: true,
|
||||
volgnr: 1
|
||||
});
|
||||
FCLTcalendar("vervaldatum",
|
||||
@@ -764,149 +785,172 @@ var ins_deel_aantal = 1;
|
||||
initEmpty: vervaldatum==null,
|
||||
label: L("lcl_ins_vervaldatum"),
|
||||
readonly: !this_ins.canChangeAlg,
|
||||
suppressEmpty: true,
|
||||
volgnr: 2
|
||||
});
|
||||
RWCHECKBOXTR("ins_actief", "fldcheck", L("lcl_ins_active"), actief, {readonly: !this_ins.canChangeAlg});
|
||||
FCLTpersoonselector("ins_manager", // beheerder
|
||||
"sgins_manager",
|
||||
{ perslidKey: perslid_key_beh,
|
||||
autlevel: authparams && authparams.PRSwritelevel,
|
||||
label: L("lcl_ins_manager"),
|
||||
filtercode: "INSB", // TODO: een filter toevoegen?
|
||||
required: false,
|
||||
readonly: !this_ins.writeman,
|
||||
moreinfo: false /* PF: omdat de showmode die heeft, en het label erg lang is*/
|
||||
});
|
||||
RWCHECKBOXTR("ins_actief", "fldcheck", L("lcl_ins_active"), actief, {readonly: !this_ins.canChangeAlg});
|
||||
FCLTpersoonselector("ins_manager", // beheerder
|
||||
"sgins_manager",
|
||||
{ perslidKey: perslid_key_beh,
|
||||
autlevel: authparams && authparams.PRSwritelevel,
|
||||
label: L("lcl_ins_manager"),
|
||||
filtercode: "INSB", // TODO: een filter toevoegen?
|
||||
required: false,
|
||||
readonly: !this_ins.writeman || urole == "fo",
|
||||
suppressEmpty: true,
|
||||
moreinfo: false /* PF: omdat de showmode die heeft, en het label erg lang is*/
|
||||
});
|
||||
|
||||
if (S("mjb_enabled") == 1) {
|
||||
RWFIELDTR("deel_mjb_score1", "fldshort", L("lcl_ins_deel_mjb_score1"), mjb_score1, {datatype: "float"});
|
||||
RWFIELDTR("deel_mjb_score2", "fldshort", L("lcl_ins_deel_mjb_score2"), mjb_score2, {datatype: "float"});
|
||||
}
|
||||
if (isLendOut)
|
||||
ROFIELDTR("fld", "", L("lcl_obj_is_lent_out"));
|
||||
|
||||
if (S("mjb_enabled") == 1) {
|
||||
RWFIELDTR("deel_mjb_score1", "fldshort", L("lcl_ins_deel_mjb_score1"), mjb_score1, {datatype: "float", suppressEmpty: true, readonly: !this_ins.canChangeAlg});
|
||||
RWFIELDTR("deel_mjb_score2", "fldshort", L("lcl_ins_deel_mjb_score2"), mjb_score2, {datatype: "float", suppressEmpty: true, readonly: !this_ins.canChangeAlg});
|
||||
}
|
||||
|
||||
|
||||
if (!(bind == 'A' || bind == 'P'))
|
||||
{
|
||||
RWFIELDTR("xcoord", "fldshort", L("lcl_obj_geoxcoord"), xcoord, {maxlength: 12, datatype: "float"});
|
||||
RWFIELDTR("ycoord", "fldshort", L("lcl_obj_geoycoord"), ycoord, {maxlength: 12, datatype: "float"});
|
||||
RWFIELDTR("xcoord", "fldshort", L("lcl_obj_geoxcoord"), xcoord, {maxlength: 12, datatype: "float", suppressEmpty: true, readonly: !this_ins.canChangeAlg});
|
||||
RWFIELDTR("ycoord", "fldshort", L("lcl_obj_geoycoord"), ycoord, {maxlength: 12, datatype: "float", suppressEmpty: true, readonly: !this_ins.canChangeAlg});
|
||||
}
|
||||
|
||||
if (tekenbaar)
|
||||
{
|
||||
// als het object technisch getekend zou kunnen zijn, geven we hier de status aan.
|
||||
// Een vriendelijke optie zou zijn om in geval van niet-geplaatst-zijn hier de optie toe te voegen
|
||||
// omdat direct alsnog te doen; wellicht zelfs ook voor VERplaatsen.
|
||||
%> <tr><td></td><td><%=getekend?L("lcl_obj_isgetekend"):L("lcl_obj_nietgetekend")%></td></tr>
|
||||
<% }
|
||||
BLOCK_END();
|
||||
<% }
|
||||
BLOCK_END();
|
||||
}
|
||||
|
||||
if (urole != "fo")
|
||||
BLOCK_START("insIns", L("lcl_owner_info"));
|
||||
// Voor onderdelen ook het hoofdobject weergeven
|
||||
ROFIELDTR("fldd", L("lcl_ins_parentobject"), parentdesc, {suppressEmpty: true});
|
||||
if ((srtdeel_binding & (BIND_AFDELI)) && (!isLendOut || (isLendOut && o_dep_key > 0)) && !invalid_binding)
|
||||
{
|
||||
BLOCK_START("insIns", L("lcl_owner_info"));
|
||||
// Voor onderdelen ook het hoofdobject weergeven
|
||||
ROFIELDTR("fldd", L("lcl_ins_parentobject"), parentdesc, {suppressEmpty: true});
|
||||
if ((srtdeel_binding & (BIND_AFDELI)) && (!isLendOut || (isLendOut && o_dep_key > 0)) && !invalid_binding)
|
||||
{
|
||||
FCLTafdelingselector("sDept",
|
||||
"sDept",
|
||||
{ departmentKey: o_dep_key,
|
||||
label: L("lcl_prs_organisatie"),
|
||||
autlevel: authparams.PRSwritelevel,
|
||||
onChange: "onChangeDept",
|
||||
readonly: (parent_key > 0 || isLendOut) || !this_ins.canChangeAlg
|
||||
});
|
||||
}
|
||||
FCLTafdelingselector("sDept",
|
||||
"sDept",
|
||||
{ departmentKey: o_dep_key,
|
||||
label: L("lcl_prs_organisatie"),
|
||||
autlevel: authparams.PRSwritelevel,
|
||||
onChange: "onChangeDept",
|
||||
readonly: (parent_key > 0 || isLendOut) || !this_ins.canChangeAlg
|
||||
});
|
||||
}
|
||||
|
||||
if ((srtdeel_binding & (BIND_PERSOO)) && (!isLendOut || (isLendOut && o_perslid_key > 0)) && !invalid_binding)
|
||||
{
|
||||
FCLTpersoonselector("sPerson", // requestor
|
||||
"sgPerson",
|
||||
{ perslidKey: o_perslid_key,
|
||||
label: L("lcl_name"),
|
||||
autlevel: authparams.PRSwritelevel,
|
||||
onChange: "onChangePerson",
|
||||
readonly: (parent_key > 0 || isLendOut) || !this_ins.canChangeAlg
|
||||
});
|
||||
}
|
||||
if (((srtdeel_binding & (BIND_PERSOO)) && !isLendOut) ||
|
||||
((((srtdeel_binding & (BIND_PERSOO)) && (org_bind == "R")) ||
|
||||
((srtdeel_binding & (BIND_AFDELI)) && (org_bind == "A")) ||
|
||||
((srtdeel_binding & (BIND_TERREI)) && (org_bind == "T")) ||
|
||||
((srtdeel_binding & (BIND_RUIMTE)) && (org_bind == "R")) ||
|
||||
((srtdeel_binding & (BIND_WERKPL)) && (org_bind == "W"))) && (isLendOut && o_perslid_key > 0)) &&
|
||||
!invalid_binding)
|
||||
{
|
||||
FCLTpersoonselector("sPerson", // requestor
|
||||
"sgPerson",
|
||||
{ perslidKey: o_perslid_key,
|
||||
label: L("lcl_name"),
|
||||
autlevel: authparams.PRSwritelevel,
|
||||
onChange: "onChangePerson",
|
||||
readonly: (parent_key > 0 || isLendOut) || !this_ins.canChangeAlg
|
||||
});
|
||||
}
|
||||
|
||||
if ((!isLendOut || (isLendOut && (bind == "R" || bind == "T"))) && !invalid_binding)
|
||||
{
|
||||
var maxlevel = -1;
|
||||
var change = "";
|
||||
// Object is uitgeleend aan een contactpersoon. Voor het uitlenen behoorde het object tot een persoon, afdeling of plek.
|
||||
if ((((srtdeel_binding & (BIND_PERSOO)) && (org_bind == "R")) ||
|
||||
((srtdeel_binding & (BIND_AFDELI)) && (org_bind == "A")) ||
|
||||
((srtdeel_binding & (BIND_TERREI)) && (org_bind == "T")) ||
|
||||
((srtdeel_binding & (BIND_RUIMTE)) && (org_bind == "R")) ||
|
||||
((srtdeel_binding & (BIND_WERKPL)) && (org_bind == "W"))) &&
|
||||
(isLendOut && o_cntpers_key > 0) &&
|
||||
!invalid_binding)
|
||||
{
|
||||
FCLTcontactpersoonselector("sCntPers",
|
||||
"sgCntPers",
|
||||
{ contactpersoonKey: o_cntpers_key,
|
||||
label: L("lcl_contact_pers"),
|
||||
readonly: true
|
||||
});
|
||||
}
|
||||
|
||||
if ((!isLendOut || (isLendOut && (bind == "R" || bind == "T"))) && !invalid_binding)
|
||||
{
|
||||
var maxlevel = -1;
|
||||
var change = "";
|
||||
%>
|
||||
<script>
|
||||
function change1()
|
||||
{
|
||||
setBind('T');
|
||||
}
|
||||
<script>
|
||||
function change1()
|
||||
{
|
||||
setBind('T');
|
||||
}
|
||||
|
||||
function change2(p_key)
|
||||
{
|
||||
setBind('R');
|
||||
}
|
||||
function change2(p_key)
|
||||
{
|
||||
setBind('R');
|
||||
}
|
||||
|
||||
function change3(p_key)
|
||||
{
|
||||
setBind('W');
|
||||
}
|
||||
</script>
|
||||
function change3(p_key)
|
||||
{
|
||||
setBind('W');
|
||||
}
|
||||
</script>
|
||||
<%
|
||||
if (srtdeel_binding & (BIND_TERREI | BIND_RUIMTE | BIND_WERKPL))
|
||||
{
|
||||
change = "change1()";
|
||||
maxlevel = 3;
|
||||
}
|
||||
|
||||
if (srtdeel_binding & (BIND_RUIMTE | BIND_WERKPL))
|
||||
{
|
||||
change = "change2()";
|
||||
maxlevel = 5;
|
||||
}
|
||||
|
||||
if (srtdeel_binding & (BIND_WERKPL))
|
||||
{
|
||||
change = "change3()";
|
||||
maxlevel = 6;
|
||||
}
|
||||
|
||||
if (maxlevel >= 2)
|
||||
FCLTplaatsselector(authparams.ALGwritelevel, { locatiekey: o_loc_key,
|
||||
verdiepingkey: o_floor_key,
|
||||
gebouwkey: o_bld_key,
|
||||
ruimtekey: o_room_key,
|
||||
werkplekkey: o_workpl_key,
|
||||
startlevel: 2, // locatie
|
||||
eindlevel: maxlevel,
|
||||
terrein: true,
|
||||
filtercode: "INCVR",
|
||||
onLocChange: change,
|
||||
cadSelect: true,
|
||||
cadShowdiscfn: "cadShowdiscfn",
|
||||
escalateOnChUp: true, // ook onLocChange als je gebouw wijzigt
|
||||
readonly: (parent_key > 0 || isLendOut) || !this_ins.canChangeAlg
|
||||
});
|
||||
if (srtdeel_binding & (BIND_TERREI | BIND_RUIMTE | BIND_WERKPL))
|
||||
{
|
||||
change = "change1()";
|
||||
maxlevel = 3;
|
||||
}
|
||||
BLOCK_END();
|
||||
}
|
||||
|
||||
if (urole != "fo")
|
||||
{
|
||||
BLOCK_START("insRunTime", L("lcl_ins_additional_details"));
|
||||
sql = "SELECT 'U', " + safe.quoted_sql(L("lcl_mld_hours")) + " FROM DUAL"
|
||||
+ " UNION SELECT 'D', " + safe.quoted_sql(L("lcl_mld_days")) + " FROM DUAL"
|
||||
+ " ORDER BY 2";
|
||||
var selectparams = { fieldName: "dayshours",
|
||||
sql: sql,
|
||||
params: { id: "dayshours",
|
||||
initKey: uitvoertijd_eenheid,
|
||||
readonly: !this_ins.canChangeAlg && uitvoertijd < 0,
|
||||
disable: !uitvoertijd
|
||||
}
|
||||
}
|
||||
RWFIELDTR("uitvoertijd", "fldins_uitvtijd", L("lcl_ins_uitvoertijd"), uitvoertijd? Math.round(uitvoertijd * 100000) / 100000 : ""
|
||||
, {maxlength: 8, datatype: "float", html: "onChange='onChangeUitvoertijd();'", selector: selectparams
|
||||
, readonly: !this_ins.canChangeAlg});
|
||||
BLOCK_END();
|
||||
if (srtdeel_binding & (BIND_RUIMTE | BIND_WERKPL))
|
||||
{
|
||||
change = "change2()";
|
||||
maxlevel = 5;
|
||||
}
|
||||
|
||||
if (srtdeel_binding & (BIND_WERKPL))
|
||||
{
|
||||
change = "change3()";
|
||||
maxlevel = 6;
|
||||
}
|
||||
|
||||
if (maxlevel >= 2)
|
||||
FCLTplaatsselector(authparams.ALGwritelevel, { locatiekey: o_loc_key,
|
||||
verdiepingkey: o_floor_key,
|
||||
gebouwkey: o_bld_key,
|
||||
ruimtekey: o_room_key,
|
||||
werkplekkey: o_workpl_key,
|
||||
startlevel: 2, // locatie
|
||||
eindlevel: maxlevel,
|
||||
terrein: true,
|
||||
filtercode: "INCVR",
|
||||
onLocChange: change,
|
||||
cadSelect: true,
|
||||
cadShowdiscfn: "cadShowdiscfn",
|
||||
escalateOnChUp: true, // ook onLocChange als je gebouw wijzigt
|
||||
readonly: (parent_key > 0 || isLendOut) || !this_ins.canChangeAlg
|
||||
});
|
||||
}
|
||||
BLOCK_END();
|
||||
|
||||
BLOCK_START("insRunTime", L("lcl_ins_additional_details"));
|
||||
sql = "SELECT 'U', " + safe.quoted_sql(L("lcl_mld_hours")) + " FROM DUAL"
|
||||
+ " UNION SELECT 'D', " + safe.quoted_sql(L("lcl_mld_days")) + " FROM DUAL"
|
||||
+ " ORDER BY 2";
|
||||
var selectparams = { fieldName: "dayshours",
|
||||
sql: sql,
|
||||
params: { id: "dayshours",
|
||||
initKey: uitvoertijd_eenheid,
|
||||
readonly: (!this_ins.canChangeAlg),
|
||||
disable: !uitvoertijd
|
||||
}
|
||||
}
|
||||
RWFIELDTR("uitvoertijd", "fldins_uitvtijd", L("lcl_ins_uitvoertijd"), uitvoertijd? Math.round(uitvoertijd * 100000) / 100000 : ""
|
||||
, {maxlength: 8, datatype: "float", html: "onChange='onChangeUitvoertijd();'", selector: selectparams
|
||||
, readonly: !this_ins.canChangeAlg, suppressEmpty: true});
|
||||
BLOCK_END();
|
||||
|
||||
if (urole != "fo" || uitleen_flex_present) // FO ziet ze alleen als er uitleen flex zijn?
|
||||
{
|
||||
|
||||
@@ -35,7 +35,7 @@ var ingesloten = [];
|
||||
// ook echt geinspecteerd kunnen of mogen worden.
|
||||
for (var i = 0; i < ins_key_arr.length; i++)
|
||||
{
|
||||
var this_ins = ins.func_enabled_deel(ins_key_arr[i]);
|
||||
var this_ins = ins.func_enabled_deel(ins_key_arr[i], {urole: urole});
|
||||
if (this_ins.canChange)
|
||||
{
|
||||
ingesloten.push(ins_key_arr[i]);
|
||||
|
||||
@@ -30,6 +30,7 @@ var free = getFParamInt("free", 0);
|
||||
var loc = getFParamInt("locatiekey", -1);
|
||||
var dept_key = getFParamInt ("sDept", -1 );
|
||||
var prs_key = getFParamInt ("sPerson", -1 );
|
||||
var cntprs_key = getFParamInt ("sCntPers", -1 );
|
||||
var bld_key = getFParamInt ("gebouwkey", -1 );
|
||||
var floor_key = getFParamInt ("verdiepingkey", -1);
|
||||
var room_key = getFParamInt ("ruimtekey", -1 );
|
||||
@@ -58,6 +59,12 @@ if(prs_key > 0)
|
||||
bind = "P";
|
||||
}
|
||||
|
||||
if(cntprs_key > 0)
|
||||
{
|
||||
bind_key = cntprs_key;
|
||||
bind = "C";
|
||||
}
|
||||
|
||||
if(bld_key > 0)
|
||||
{
|
||||
bind_key = bld_key;
|
||||
|
||||
@@ -50,6 +50,7 @@ sql = "SELECT d.ins_deel_omschrijving" // identificatie
|
||||
+ " , d.ins_srtdeel_key"
|
||||
+ " , g.ins_srtgroep_key"
|
||||
+ " , dis.ins_discipline_key"
|
||||
+ " , s.ins_srtdeel_acadsymbol"
|
||||
+ " , d.ins_deel_x"
|
||||
+ " , ins_deel_y"
|
||||
+ " , ins_deel_dwgx" // future: +", ins_deel_z"
|
||||
@@ -95,6 +96,7 @@ var actief = oRs('ins_deel_actief').Value == 1;
|
||||
var srtdeel_key = oRs("ins_srtdeel_key").Value;
|
||||
var srtgroep_key = oRs("ins_srtgroep_key").Value;
|
||||
var disc_key = oRs("ins_discipline_key").Value;
|
||||
var tekenbaar = oRs("ins_srtdeel_acadsymbol").Value != null;
|
||||
var getekend = oRs('ins_deel_dwgx').Value != null;
|
||||
var xcoord = oRs('ins_deel_x').Value;
|
||||
var ycoord = oRs('ins_deel_y').Value;
|
||||
@@ -421,17 +423,19 @@ oRs.Close();
|
||||
ROFIELDTR("fld", L("lcl_ins_deel_mjb_score2"), ins_deel_mjb_score2, {suppressEmpty: true});
|
||||
//}
|
||||
|
||||
if (getekend)
|
||||
{
|
||||
var params = { infoPointer: { Url: "../cad/showroom.asp?rKey=" + bind_key + "&ins_key=" + ins_key,
|
||||
Title: L("lcl_fg_gotofgheader") + " " + desc,
|
||||
Modal: true
|
||||
}
|
||||
}
|
||||
ROFIELDTR("fld", "", L("lcl_obj_isgetekend"), params);
|
||||
}
|
||||
else
|
||||
ROFIELDTR("fld", "", L("lcl_obj_nietgetekend"));
|
||||
if (tekenbaar)
|
||||
if (getekend)
|
||||
{
|
||||
var params = { infoPointer: { Url: "../cad/showroom.asp?rKey=" + bind_key + "&ins_key=" + ins_key,
|
||||
Title: L("lcl_fg_gotofgheader") + " " + desc,
|
||||
Modal: true
|
||||
}
|
||||
}
|
||||
ROFIELDTR("fld", "", L("lcl_obj_isgetekend"), params);
|
||||
}
|
||||
else
|
||||
ROFIELDTR("fld", "", L("lcl_obj_nietgetekend"));
|
||||
|
||||
if (!(bind == 'A'||bind == 'P') && xcoord && ycoord)
|
||||
{
|
||||
// alleen plaatsgebonden objecten met ingevulde x/y krijgen een geo-blokje
|
||||
|
||||
Reference in New Issue
Block a user