UWVA#22765: SLE: Verfijning sleutelbeheer.
svn path=/Website/trunk/; revision=11500
This commit is contained in:
@@ -688,7 +688,7 @@ if (obj_key > 0)
|
||||
<td> <%
|
||||
generateFlexKenmerkCode({ urole: urole,
|
||||
ins_key: copy? ins_copy_key : obj_key,
|
||||
srtdeel_arr: [sort_key],
|
||||
srtdeel_arr: sort_key > 0? [sort_key] : [],
|
||||
reado: false
|
||||
});
|
||||
%> </td>
|
||||
|
||||
@@ -210,7 +210,7 @@ else
|
||||
generateFlexKenmerkCode({ urole: urole,
|
||||
srtgroep_key: srtdeel.srtgroep_key,
|
||||
bewerkniveau: "S",
|
||||
srtdeel_arr: [srtdeel_key],
|
||||
srtdeel_arr: srtdeel_key > 0? [srtdeel_key] : [],
|
||||
reado: false
|
||||
});
|
||||
|
||||
|
||||
@@ -43,9 +43,14 @@ function generateFlexKenmerkCode(params)
|
||||
var lendout = params.lendout; // Uitlenen van object. Alleen kenmerken met volgnummer 900 of hoger tonen.
|
||||
var reqId = params.reqId; // Perslid key (!search && multiMode)
|
||||
var nodefaults = params.nodefaults; // Niet de default waarden invullen voor flexkenmerk maar leeg laten
|
||||
var srtgroep_key = params.srtgroep_key || -1; // Soort groep key
|
||||
var nameprefix = params.nameprefix? params.nameprefix : null;
|
||||
var extraserie = params.extraserie? params.extraserie : null;
|
||||
|
||||
var autfunction = "";
|
||||
if ((ins_key > 0 && ins.isSleCil(ins_key)) || ins.isSleCil(srtdeel_arr[0], "S"))
|
||||
if ((srtgroep_key > 0 && (srtgroep_key == S("cil_ins_srt_groep_key") || srtgroep_key == S("sle_ins_srt_groep_key"))) ||
|
||||
(ins_key > 0 && ins.isSleCil(ins_key)) ||
|
||||
(srtdeel_arr.length > 0 && ins.isSleCil(srtdeel_arr[0], "S")))
|
||||
{
|
||||
if (urole == "fo")
|
||||
autfunction = "WEB_SLEFOF";
|
||||
@@ -156,18 +161,28 @@ function generateFlexKenmerkCode(params)
|
||||
+ ", ins_kenmerk k"
|
||||
+ ", ins_srtdeel s"
|
||||
+ ", ins_srtgroep g"
|
||||
+ " WHERE s.ins_srtdeel_key IN (" + (srtdeel_arr.length == 0? "-1" : srtdeel_arr.join(",")) + ")"
|
||||
+ (bewerkniveau=='S'? " AND ins_kenmerk_bewerkniveau = 'S'":"")
|
||||
+ " AND ((k.ins_srtinstallatie_key = s.ins_srtdeel_key"
|
||||
+ " AND k.ins_kenmerk_niveau='S')"
|
||||
+ " OR (k.ins_srtinstallatie_key = s.ins_srtgroep_key"
|
||||
+ " AND k.ins_kenmerk_niveau='G')"
|
||||
+ " OR(k.ins_srtinstallatie_key = g.ins_discipline_key"
|
||||
+ " AND k.ins_kenmerk_niveau = 'D'))"
|
||||
+ " AND k.ins_srtkenmerk_key = t.ins_srtkenmerk_key"
|
||||
+ " WHERE k.ins_srtkenmerk_key = t.ins_srtkenmerk_key"
|
||||
+ " AND g.ins_srtgroep_key = s.ins_srtgroep_key"
|
||||
+ " AND k.ins_kenmerk_verwijder IS NULL"
|
||||
+ " AND t.ins_srtkenmerk_verwijder IS NULL"
|
||||
+ (srtgroep_key == -1 || srtdeel_arr.length > 0
|
||||
? " AND s.ins_srtdeel_key IN (" + (srtdeel_arr.length == 0? "-1" : srtdeel_arr.join(",")) + ")"
|
||||
: "")
|
||||
+ (bewerkniveau == 'S'
|
||||
? " AND ins_kenmerk_bewerkniveau = 'S'"
|
||||
: "")
|
||||
+ (srtgroep_key > 0
|
||||
? " AND s.ins_srtgroep_key = " + srtgroep_key
|
||||
: "")
|
||||
+ " AND ("
|
||||
+ (srtdeel_arr.length > 0
|
||||
? "(k.ins_srtinstallatie_key = s.ins_srtdeel_key"
|
||||
+ " AND k.ins_kenmerk_niveau = 'S') OR"
|
||||
: "")
|
||||
+ " (k.ins_srtinstallatie_key = s.ins_srtgroep_key"
|
||||
+ " AND k.ins_kenmerk_niveau = 'G')"
|
||||
+ " OR(k.ins_srtinstallatie_key = g.ins_discipline_key"
|
||||
+ " AND k.ins_kenmerk_niveau = 'D'))"
|
||||
+ (lendout // Bij uitlenen alleen kenmerken met volgnummer 900 en hoger.
|
||||
? " AND k.ins_kenmerk_volgnummer >= 900"
|
||||
: "")
|
||||
@@ -184,7 +199,9 @@ function generateFlexKenmerkCode(params)
|
||||
kenmerk_colspan: false,
|
||||
fnIsReadonly: isReadonly,
|
||||
hideVervallen: ins_key < 0,
|
||||
parentKey: ins_key }
|
||||
parentKey: ins_key,
|
||||
nameprefix: nameprefix,
|
||||
extraserie: extraserie }
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
@@ -31,6 +31,7 @@ var DOCTYPE_Disable = true;
|
||||
generateFlexKenmerkCode ({ urole: getQParamSafe("urole"),
|
||||
ins_key: getQParamInt("ins_key", -1), // Deel key
|
||||
srtdeel_arr: getQParamIntArray("srtdeel_str", []), // Objectsoort string
|
||||
srtgroep_key: getQParamInt("srtgroep_key", -1), // Soort groep key
|
||||
reado: getQParamInt("reado", 0) == 1, // Readonly
|
||||
advanced: getQParamInt("advanced", 0) == 1, // Geavanceerd
|
||||
lendout: getQParamInt("lendout", 0) == 1, // Uitlenen van object. Alleen kenmerken met volgnummer 900 of hoger tonen.
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
|
||||
|
||||
*/ %>
|
||||
<!--#include file="../Shared/common.inc"-->
|
||||
<!--#include file="../Shared/iface.inc"-->
|
||||
<!--#include file="../Shared/selector.inc" -->
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../Shared/selector.inc" -->
|
||||
<!-- #include file="../Shared/plaatsselector.inc" -->
|
||||
<!-- #include file="../ins/ins_flexkenmerk.inc" -->
|
||||
|
||||
@@ -35,8 +35,6 @@ var couple = getQParamInt("couple", 0) == 1;
|
||||
if (couple)
|
||||
sletype = "S";
|
||||
|
||||
|
||||
|
||||
var srtcode = "";
|
||||
var srtomschr = "";
|
||||
if (ins_srtdeel_key > 0) // bestaande sleutel/cilinder
|
||||
@@ -54,9 +52,37 @@ if (ins_srtdeel_key > 0) // bestaande sleutel/cilinder
|
||||
oRs = Oracle.Execute(sql);
|
||||
srtcode = oRs("ins_srtdeel_code").value;
|
||||
srtomschr = oRs("ins_srtdeel_omschrijving").value;
|
||||
srtgroep_key = oRs("ins_srtgroep_key").value;
|
||||
sletype = (srtgroep_key == S("sle_ins_srt_groep_key")?"S":"C");
|
||||
var srtgroep_key = oRs("ins_srtgroep_key").value;
|
||||
sletype = (srtgroep_key == S("sle_ins_srt_groep_key")? "S" : "C");
|
||||
}
|
||||
|
||||
// Bepaal of er kenmerken zijn
|
||||
if (couple)
|
||||
var srtgroep = S("sle_ins_srt_groep_key") + ", " + S("cil_ins_srt_groep_key");
|
||||
else
|
||||
var srtgroep = (sletype == "S"? S("sle_ins_srt_groep_key") : S("cil_ins_srt_groep_key"));
|
||||
|
||||
var sql = "SELECT k.ins_kenmerk_key"
|
||||
+ " FROM ins_srtkenmerk t"
|
||||
+ ", ins_kenmerk k"
|
||||
+ ", ins_srtdeel s"
|
||||
+ ", ins_srtgroep g"
|
||||
+ " WHERE s.ins_srtgroep_key IN (" + srtgroep + ")"
|
||||
+ " AND ins_kenmerk_bewerkniveau = 'S'"
|
||||
+ " AND ( ( k.ins_srtinstallatie_key = s.ins_srtdeel_key"
|
||||
+ " AND k.ins_kenmerk_niveau = 'S')"
|
||||
+ " OR ( k.ins_srtinstallatie_key = s.ins_srtgroep_key"
|
||||
+ " AND k.ins_kenmerk_niveau = 'G')"
|
||||
+ " OR ( k.ins_srtinstallatie_key = g.ins_discipline_key"
|
||||
+ " AND k.ins_kenmerk_niveau = 'D')"
|
||||
+ " )"
|
||||
+ " AND k.ins_srtkenmerk_key = t.ins_srtkenmerk_key"
|
||||
+ " AND g.ins_srtgroep_key = s.ins_srtgroep_key"
|
||||
+ " AND k.ins_kenmerk_verwijder IS NULL"
|
||||
+ " AND t.ins_srtkenmerk_verwijder IS NULL";
|
||||
oRs = Oracle.Execute(sql);
|
||||
var uitleen_flex_present = false;
|
||||
if (!oRs.eof) uitleen_flex_present = true;
|
||||
%>
|
||||
|
||||
<html>
|
||||
@@ -95,7 +121,7 @@ if (ins_srtdeel_key > 0) // bestaande sleutel/cilinder
|
||||
<input type="hidden" name="sletype" id="sletype" value="<%=sletype%>"
|
||||
<% BLOCK_START("sleInfo", L("lcl_sle_general_info"));
|
||||
|
||||
RWFIELDTR("srtcode", "fldnum", L(sletype=="S"?"lcl_sle_code":"lcl_cil_cilinder_code"), srtcode,
|
||||
RWFIELDTR("srtcode", "fldnum", L(sletype == "S"? "lcl_sle_code" : "lcl_cil_cilinder_code"), srtcode,
|
||||
{ required: true,
|
||||
maxlength: 10
|
||||
});
|
||||
@@ -150,17 +176,34 @@ if (ins_srtdeel_key > 0) // bestaande sleutel/cilinder
|
||||
<%
|
||||
BLOCK_END();
|
||||
}
|
||||
if (urole != "fo" || uitleen_flex_present) // FO ziet ze alleen als er uitleen flex zijn?
|
||||
if (uitleen_flex_present) // Je ziet alleen flexkenmerken als ze er zijn
|
||||
{
|
||||
BLOCK_START("insFlex", L("lcl_flexible_properties"));
|
||||
BLOCK_START("insFlex", L("lcl_flexible_properties") + " " + (sletype == "S"? L("lcl_sle_sleutel_set").toLowerCase() : L("lcl_cil_cilinder_set").toLowerCase()));
|
||||
%> <tr>
|
||||
<td> <%
|
||||
generateFlexKenmerkCode({ urole: urole,
|
||||
bewerkniveau: "S",
|
||||
srtgroep_key: (sletype == "S"? S("cil_ins_srt_groep_key") : S("sle_ins_srt_groep_key")),
|
||||
srtdeel_arr: [ins_srtdeel_key],
|
||||
srtgroep_key: (sletype == "S"? S("sle_ins_srt_groep_key") : S("cil_ins_srt_groep_key")),
|
||||
srtdeel_arr: ins_srtdeel_key > 0? [ins_srtdeel_key] : [],
|
||||
reado: false
|
||||
});
|
||||
%> </td>
|
||||
</tr> <%
|
||||
BLOCK_END();
|
||||
}
|
||||
if (uitleen_flex_present && couple) // Bij aanmaken sleutel/cilinder sets ook de cilinder flexkenmerken tonen.
|
||||
{
|
||||
BLOCK_START("insFlex", L("lcl_flexible_properties") + " " + L("lcl_cil_cilinder_set").toLowerCase());
|
||||
%> <tr>
|
||||
<td> <%
|
||||
generateFlexKenmerkCode({ urole: urole,
|
||||
bewerkniveau: "S",
|
||||
srtgroep_key: S("cil_ins_srt_groep_key"),
|
||||
srtdeel_arr: [],
|
||||
reado: false,
|
||||
nameprefix: "kk",
|
||||
extraserie: true
|
||||
});
|
||||
%> </td>
|
||||
</tr> <%
|
||||
BLOCK_END();
|
||||
|
||||
@@ -29,7 +29,7 @@ function AddItem()
|
||||
var room_key = $("#ruimtekey").val();
|
||||
if (room_key <= 0)
|
||||
{
|
||||
alert(L("lcl_shared_choose_item_first"));
|
||||
alert(L("lcl_sle_no_ruimte"));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ var binding = 0;
|
||||
var sleutel_binding = srtdeel_binding & (BIND_RUIMTE + BIND_TERREI);
|
||||
var cilinder_binding = srtdeel_binding & (BIND_RUIMTE + BIND_TERREI);
|
||||
|
||||
function updateSrtKenmerkdeel(srtdeel_key, params)
|
||||
function saveSrtKenmerkdeel(srtdeel_key, params)
|
||||
{
|
||||
params = params || [];
|
||||
var currentKenmerkenSQL = "SELECT v.ins_kenmerk_key, v.ins_kenmerkdeel_waarde"
|
||||
@@ -61,13 +61,13 @@ function updateSrtKenmerkdeel(srtdeel_key, params)
|
||||
currentKenmerkenSQL: currentKenmerkenSQL,
|
||||
allKenmerkenSQL: allKenmerkenSQL,
|
||||
requestQF: Request.Form,
|
||||
isNew: params.isnew,
|
||||
flexPath: "INS/S",
|
||||
//multiMode: params.multimode,
|
||||
tracking: true,
|
||||
module: "INS"
|
||||
module: "INS",
|
||||
nameprefix: params.couple? "kk" : null,
|
||||
extraserie: params.couple? true : null
|
||||
});
|
||||
return flextrack;
|
||||
return flextrack;
|
||||
}
|
||||
function doUpdateSrtDeel(ins_srtdeel_key, fields)
|
||||
{
|
||||
@@ -79,7 +79,7 @@ function doUpdateSrtDeel(ins_srtdeel_key, fields)
|
||||
error = err.friendlyMsg;
|
||||
else // de flex
|
||||
{
|
||||
updateSrtKenmerkdeel(ins_srtdeel_key);
|
||||
saveSrtKenmerkdeel(ins_srtdeel_key);
|
||||
}
|
||||
|
||||
return error;
|
||||
@@ -100,7 +100,7 @@ function doInsertDeel(fields)
|
||||
return {ins_deel_key: ins_deel_key, warning: error};
|
||||
}
|
||||
|
||||
function doInsertSrtDeel(fields)
|
||||
function doInsertSrtDeel(fields, params)
|
||||
{
|
||||
fields.push({ dbs: "ins_srtdeel_key", typ: "key", seq: "ins_s_ins_srtinst_keys" });
|
||||
var regIns = buildInsert("ins_srtdeel", fields);
|
||||
@@ -111,6 +111,10 @@ function doInsertSrtDeel(fields)
|
||||
var error = "";
|
||||
if (err.friendlyMsg)
|
||||
error = err.friendlyMsg;
|
||||
else // de flex
|
||||
{
|
||||
saveSrtKenmerkdeel(ins_srtdeel_key, params);
|
||||
}
|
||||
|
||||
return {ins_srtdeel_key: ins_srtdeel_key, warning: error};
|
||||
}
|
||||
@@ -185,7 +189,7 @@ else
|
||||
{ dbs: "ins_srtdeel_binding", typ: "key", val: cilinder_binding },
|
||||
{ dbs: "ins_srtdeel_uitleenbaar", typ: "key", val: 1 },
|
||||
{ dbs: "ins_srtdeel_module", typ: "varchar", val: "INS" }];
|
||||
insertInfo = doInsertSrtDeel(fields);
|
||||
insertInfo = doInsertSrtDeel(fields, {couple: true});
|
||||
|
||||
if (insertInfo.warning)
|
||||
abort_with_warning(insertInfo.warning);
|
||||
|
||||
@@ -185,6 +185,7 @@ function listKenmerk(sql, module, key, props)
|
||||
var prs_key = props.prs_key || props.reqId; // Oude obsolete reqId nog even ondersteunen
|
||||
var cont_key = props.cont_key;
|
||||
var nameprefix = props.nameprefix || "k";
|
||||
var extraserie = props.extraserie || false;
|
||||
var niveau = props.niveau || "";
|
||||
var requiredbyfield = props.requiredbyfield;
|
||||
var serie = props.serie || 0;
|
||||
@@ -1151,7 +1152,8 @@ if (anyDate && !kenmerk_search)
|
||||
|
||||
}
|
||||
|
||||
kenmerk_write('<tr><td><input type="hidden" id="k_all" name="k_all" value="' + (idCounter - 1) + '"></td></tr>');
|
||||
var counterName = (extraserie? nameprefix + "_all" : "k_all");
|
||||
kenmerk_write('<tr><td><input type="hidden" id="' + counterName + '" name="' + counterName + '" value="' + (idCounter - 1) + '"></td></tr>');
|
||||
kenmerk_write('<tr><td><input type="hidden" id="k_flexsql" name="k_flexsql" value="' + (prssql? 1 : 0) + '"></td></tr>');
|
||||
}
|
||||
|
||||
@@ -1361,8 +1363,9 @@ function _saveFlexKenmerken(parentKey, params) // TODO: support multiMode!
|
||||
}
|
||||
|
||||
var trackarray = []; // eventuele tracking
|
||||
if (params.requestQF("k_all").count > 0)
|
||||
var kall = params.requestQF("k_all")(1); // bij bezoekers komt k_all meerdere keren voor maar wel altijd identiek
|
||||
var counterName = (params.extraserie? nameprefix + "_all" : "k_all");
|
||||
if (params.requestQF(counterName).count > 0)
|
||||
var kall = params.requestQF(counterName)(1); // bij bezoekers komt counterName (k_all) meerdere keren voor maar wel altijd identiek
|
||||
else
|
||||
{ // JGL: komt normaal nooit voor, alleen als edit-scherm flexkenmerken niet goed heeft kunnen laden, bijv. AKZA#21569
|
||||
// Normaal laten we zoiets gewoon gebeuren maar
|
||||
|
||||
Reference in New Issue
Block a user