UWVA#52663: Uitgeleende pas kan niet worden bewerkt.

svn path=/Website/branches/v2017.3/; revision=37416
This commit is contained in:
Maykel Geerdink
2018-03-20 10:27:28 +00:00
parent 9fdf5c062f
commit ebf8ec4624
3 changed files with 65 additions and 29 deletions

View File

@@ -500,7 +500,9 @@ var ins_deel_aantal = 1;
<body id="editbody">
<%
var buttons = [];
if (urole == "bo")
// In de frontoffice (uitgeleende objecten) mode kunnen alleen de flexkenmerken aangepast worden.
// Zijn er wel uitleen kenmerken anders hoeft de wijzig knop niet getoond te worden.
if (urole == "bo" || (urole == "fo" && uitleen_flex_present))
buttons.push( {title: L("lcl_submit"), action:"checkInput()", icon: "opslaan.png" })
buttons.push( {title: L("lcl_cancel"), action:"ins_cancel()", icon: "undo.png" } );
@@ -585,7 +587,7 @@ var ins_deel_aantal = 1;
if (status)
{
f.next.value = isNext ? '1' : '0';
if (f.next) f.next.value = isNext ? '1' : '0'; // Is alleen bij de "bo" aanwezig.
f.submit();
return true;
}
@@ -706,15 +708,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)
readonly: !this_ins.canChangeAlg || !(autonum & 2) || urole == "fo"
});
if (S("ins_explode_objects") == 0)
RWFIELDTR("count", "fldshort", L("lcl_amount") + (srtdeel_eenheid ? "&nbsp;(" + srtdeel_eenheid+")" : ""), ins_deel_aantal, {datatype: "float", readonly: !this_ins.canChangeAlg, required: true});
RWFIELDTR("count", "fldshort", L("lcl_amount") + (srtdeel_eenheid ? "&nbsp;(" + srtdeel_eenheid+")" : ""), ins_deel_aantal, {datatype: "float", readonly: !this_ins.canChangeAlg || urole == "fo", required: true});
else if(ins_key < 0 || isNext > 0 )
{
RWFIELDTR("count", "fldshort", L("lcl_count"), 1, {datatype: "number", readonly: !this_ins.canChangeAlg});
RWFIELDTR("count", "fldshort", L("lcl_count"), 1, {datatype: "number", readonly: !this_ins.canChangeAlg || urole == "fo"});
}
RWFIELDTR("opmerk", "fld", L("lcl_ins_opmerking"), opmerk, {maxlength: 320, 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"}); %>
</table>
</td>
<td align="center">
@@ -886,22 +888,25 @@ var ins_deel_aantal = 1;
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 && 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 (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 (urole != "fo" || uitleen_flex_present) // FO ziet ze alleen als er uitleen flex zijn?
{

View File

@@ -142,14 +142,21 @@ if (obj_key > 0)
var oldtxt = ins.getBindingItemString(insUpd.oldjsvals["ins_alg_ruimte_type"], insUpd.oldjsvals["ins_alg_ruimte_key"], parent_key); // parent_key kan niet gewijzigd worden.
if (oldtxt != newtxt)
insUpd.trackarray.push(L("lcl_owner_info") + ": " + buildTrackText("varchar", oldtxt, newtxt, { nodiff: true }));
}
if (!warning)
{
// Kenmerken updaten.
flextrackarray = ins.updateKenmerkdeel(obj_key);
}
if (!warning)
{
// Kenmerken updaten.
flextrackarray = ins.updateKenmerkdeel(obj_key);
}
var update_string = L("lcl_ins_is_insupd") + "\n" + insUpd.trackarray.concat(flextrackarray).join("\n")
var updatetrackarray = [];
if (insUpd && insUpd.trackarray)
updatetrackarray = insUpd.trackarray;
if (updatetrackarray.length || flextrackarray.length)
{
var update_string = L("lcl_ins_is_insupd") + "\n" + updatetrackarray.concat(flextrackarray).join("\n")
shared.trackaction("INSUPD", obj_key, update_string);
}
}

View File

@@ -286,8 +286,32 @@ oRs.Close();
this_ins.verbruiksmeter = oRs("meetwaarde").Value == 1;
}
sql = "SELECT k.ins_kenmerk_key"
+ " FROM ins_srtkenmerk t"
+ ", ins_kenmerk k"
+ ", ins_srtdeel s"
+ ", ins_srtgroep g"
+ " WHERE s.ins_srtdeel_key = " + srtdeel_key
+ " 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"
+ (urole == "fo"?" AND k.ins_kenmerk_volgnummer > 900" : "");
oRs = Oracle.Execute(sql);
var uitleen_flex_present = false;
if (!oRs.eof) uitleen_flex_present = true;
var buttons = [ ];
if (this_ins.canChange || this_ins.canChangeOwn)
// In de frontoffice (uitgeleende objecten) mode kunnen alleen de flexkenmerken aangepast worden.
// Zijn er wel uitleen kenmerken anders hoeft de wijzig knop niet getoond te worden.
if ((this_ins.canChange || this_ins.canChangeOwn) && (urole == "bo" || (urole == "fo" && uitleen_flex_present)))
buttons.push({title: L("lcl_change"), action: "ins_change()", icon: "wijzigen.png" });
if (canMelding)