HCAS#36946: Afgeronde taak nog kunnen aanpassen/verwijderen.

svn path=/Website/trunk/; revision=30037
This commit is contained in:
Maykel Geerdink
2016-07-13 12:43:08 +00:00
parent 0dae6eb497
commit 2d0c0befcf
3 changed files with 15 additions and 4 deletions

View File

@@ -630,8 +630,9 @@ ins = {checkAutLevel:
// Als de inspectie vervallen is moet je alleen nog de lopende inspecties (ingepland of later) kunnen gereedmelden en/of afronden,
// zodat deze inspectie afgerond kan worden. Nieuwe inspectie kunnen nooit meer beginnen.
// Eerste inspectie of verwerkte inspectie kan niet gewijzigd worden.
iresult.canMsuEdit = iresult.writemsu && ins_deelsrtcontrole_status == 6;
iresult.canInspEdit = ((iresult.canInspect && ins_deelsrtcontrole_status != -1 && ins_deelsrtcontrole_status != 6) ||
(iresult.canChangeAfg && ins_deelsrtcontrole_status == 6)) &&
iresult.canMsuEdit) &&
!vervallen && actief;
iresult.canInspShow = iresult.readuse && !vervallen && (ins_deelsrtcontrole_status >= 0);
// Bij eerste inspectie of verwerkte inspectie kan er gepland worden.
@@ -743,7 +744,7 @@ ins = {checkAutLevel:
iresult.canInspect = iresult.canWrite("WEB_INSUSE"); // Kopi<70>ren.
// Let op: WEB_INSMSU is niet discipline gebonden en zit dus niet in iresult
var autparamsINSMSU = user.checkAutorisation("WEB_INSMSU", true);
iresult.canChangeAfg = autparamsINSMSU && autparamsINSMSU.PRSwritelevel < 9 && autparamsINSMSU.ALGwritelevel < 9; // Wijzigen Afgeronde gegevens.
iresult.writemsu = autparamsINSMSU && autparamsINSMSU.PRSwritelevel < 9 && autparamsINSMSU.ALGwritelevel < 9; // Wijzigen Afgeronde gegevens.
iresult.readuse = iresult.canRead("WEB_INSUSE"); // Inzien.
iresult.canChangeXcp = iresult.canWrite("WEB_INSMAN"); // Interval kenmerken/parameters wijzigen (waarden in ins_srtcontroledl_xcp tabel).
return iresult;

View File

@@ -44,6 +44,7 @@ var tobehandled = 0;
var ingesloten = [];
var ingeslotensc = [];
var ingeslotendsc = [];
var canMsuEdit = false; // Alleen voor het wijzigen van inspectie (insEdit). Er geldt dan altijd !multi.
// Bepaal de objecten/delen in de selectie die
// ook echt ingepland kunnen of mogen worden.
for (var i = 0; i < ins_key_arr.length; i++)
@@ -52,6 +53,7 @@ for (var i = 0; i < ins_key_arr.length; i++)
{srtcont_key: srtcont_key_arr[i],
deelsrtcont_key: (deelsrtcont_arr[i] > 0? deelsrtcont_arr[i] : -1)
});
canMsuEdit = insEdit && this_ins.canMsuEdit;
var sql = "SELECT idsc.ins_deelsrtcontrole_key"
+ " , idsc.ins_deelsrtcontrole_status"
@@ -636,7 +638,9 @@ user.anything_todo_or_abort(tobehandled > 0); // We klagen niet over enkele wel
onChangeDate: "onChangeDeelsrtcdatum('D')",
onChangeTime: "onChangeDeelsrtcdatum('T')",
// Als de inspectie vervallen is moet je alleen nog de lopende inspecties kunnen gereed melden en afronden. De datum moet je dan ook nog kunnen invullen.
readonly: ((vervallen && !(vervallen && (ins_deelsrtcontrole_status == 0 || ins_deelsrtcontrole_status == 2))) || insEdit || (dsc_is_afgemeld && (hours > 0 || minutes > 0)? true : false))
readonly: ((vervallen && !(vervallen && (ins_deelsrtcontrole_status == 0 || ins_deelsrtcontrole_status == 2))) ||
insEdit ||
(dsc_is_afgemeld && (hours > 0 || minutes > 0)? true : false))
});
sql = "SELECT ins_controlemode_key"
@@ -653,7 +657,8 @@ user.anything_todo_or_abort(tobehandled > 0); // We klagen niet over enkele wel
emptyOption: L("lcl_select_controlemode"),
required: true,
// Als de inspectie vervallen is moet je alleen nog de lopende inspecties kunnen gereed melden en afronden. De controlemode (methode) moet je dan ook nog kunnen invullen.
readonly: (vervallen && !(vervallen && (ins_deelsrtcontrole_status == 0 || ins_deelsrtcontrole_status == 2))) || insEdit
readonly: (vervallen && !(vervallen && (ins_deelsrtcontrole_status == 0 || ins_deelsrtcontrole_status == 2))) ||
(insEdit && !canMsuEdit) // Er geldt al (insEdit && insstatus >= 5). In status 6 met INSMSU rechten mag ik de methode aanpassen (canMsuEdit).
});
}

View File

@@ -62,6 +62,7 @@ var warning = "";
var result = {};
var tobehandled = 0;
var ingesloten = [];
var canMsuEdit = false; // Alleen voor het wijzigen van inspectie (insEdit). Er geldt dan altijd !multi.
// Bepaal de objecten in de selectie die ook echt geinspecteerd kunnen of mogen worden.
for (var i = 0; i < ins_key_arr.length; i++)
{
@@ -101,6 +102,7 @@ for (var i = 0; i < ins_key_arr.length; i++)
{srtcont_key: srtcont_key_arr[i],
deelsrtcont_key: (ins_deelsrtcontrole_key != null? ins_deelsrtcontrole_key : -1)
});
canMsuEdit = savemode == "E" && this_ins.canMsuEdit;
oRs.Close();
// Inplannen (dlsrtcont_key = -1).
@@ -523,6 +525,9 @@ else if (savemode == "E")
{ dbs: "ins_deelsrtcontrole_opmerking", typ: "varchar", frm: "opmerk", track: L("lcl_remark"), len: 2000 }
];
if (canMsuEdit)
fields.push({ dbs: "ins_controlemode_key", typ: "key", frm: "sel_controlemode", track: L("lcl_ins_controle_mode"), foreign: "ins_controlemode" });
var insUpd = buildTrackingUpdate("ins_deelsrtcontrole", " ins_deelsrtcontrole_key = " + ingesloten[0].dlsrtcont_key, fields);
var err = Oracle.Execute(insUpd.sql, true);