FSN#33999: Realisatie TMJ module voor TobiasAX obv Inspectiemodule.

svn path=/Website/trunk/; revision=30411
This commit is contained in:
Maykel Geerdink
2016-08-25 08:21:13 +00:00
parent 7cb073bd4f
commit c2fb8c6fc4
10 changed files with 229 additions and 85 deletions

View File

@@ -36,8 +36,16 @@ model_ctr_disc_params =
},
"inspection_type": {
"dbs": "ctr_disc_params_controle_type",
"label": buildSrtcontroletypeList(),
"typ": "check0"
"label": L("ctr_inspection_type"),
"typ": "key",
"LOV": buildSrtcontroletypeList(),
"required": true
},
"ismjob": {
"dbs": "ctr_disc_params_ismjob",
"label": L("ctr_ismjob"),
"typ": "check0",
"required": true
}
}
}

View File

@@ -68,7 +68,7 @@ function _model_ctr_discipline()
"required": true
}
};
/* Velden van RES_DISC_PARAMS komen er dynamisch bij */
/* Velden van CTR_DISC_PARAMS komen er dynamisch bij */
this.disc_params = {
model: model_ctr_disc_params,
joinfield: "ctr_ins_discipline_key"

View File

@@ -92,7 +92,8 @@ function model_ins_srtcontrole()
"dbs": "ctr_discipline_key",
"label": L("ctr_discipline"),
"typ": "key",
"foreign": "ctr_discipline"
"foreign": "ctr_discipline",
"required": true
},
"inspection_mode": {
"dbs": "ins_srtcontrole_mode",
@@ -133,21 +134,64 @@ function model_ins_srtcontrole()
"typ": "button",
"defaultvalue": L("lcl_select")
},
"costs": {
"dbs": "ins_srtcontrole_kosten",
"label": L("ins_srtcontrole_kosten"),
"typ": "float"
},
"costs2": {
"dbs": "ins_srtcontrole_kosten2",
"label": L("ins_srtcontrole_kosten2"),
"typ": "float"
},
"costs3": {
"dbs": "ins_srtcontrole_kosten3",
"label": L("ins_srtcontrole_kosten3"),
"typ": "float"
},
"material": {
"dbs": "ins_srtcontrole_materiaal",
"label": L("ins_srtcontrole_materiaal"),
"typ": "float"
},
"hours": {
"dbs": "ins_srtcontrole_uren",
"label": L("ins_srtcontrole_uren"),
"typ": "float"
},
"end_date": {
"dbs": "ins_srtcontrole_eind",
"label": L("ins_srtcontrole_eind"),
"typ": "date"
},
"afbouw_time": {
"dbs": "ins_srtcontrole_afbouwtijd",
"label": L("ins_srtcontrole_afbouwtijd"),
"typ": "number"
},
"inspection_group": {
"dbs": "ins_srtcontrole_groep",
"label": L("ins_srtcontrole_groep"),
"typ": "varchar"
},
"costs": {
"dbs": "ins_srtcontrole_kosten",
"label": L("ins_srtcontrole_kosten"),
"percentage": {
"dbs": "ins_srtcontrole_percentage",
"label": L("ins_srtcontrole_percentage"),
"typ": "float"
},
"btw": {
"dbs": "fin_btwtabelwaarde_key",
"label": L("ins_srtcontrole_btw"),
"typ": "key",
"foreign": { "tbl": "fin_btwtabelwaarde",
"key": "fin_btwtabelwaarde_key",
"desc": "fin_btwtabelwaarde_oms",
"where": "fin_btwtabel_key = (SELECT fin_btwtabel_key"
+ " FROM fin_btwtabelwaarde"
+ " WHERE fin_btwtabelwaarde_key = " + S("fin_btw_default")
+ ")"
}
},
"remark": {
"dbs": "ins_srtcontrole_opmerking",
"label": L("ins_srtcontrole_opmerking"),

View File

@@ -634,7 +634,7 @@ ins = {checkAutLevel:
iresult.invoerAfterNext = invoerAfterNext;
// Voor CTR alleen discipline autorisatie met 3D ja/nee autorisatie (fac_functie_min_level = 0)
// Voor CTR alleen discipline autorisatie met 3D ja/nee en read/write autorisatie (fac_functie_min_level = 3)
ctrresult = user.func_enabled("CTR",
ctr_discipline_key,
null, // alg_key is nvt
@@ -642,31 +642,84 @@ ins = {checkAutLevel:
false, // pessimist (checkOptimistic)
true); // nog even optional (isOptional)
var hasCTRRights = ctrresult.canWrite("WEB_CTRUSE"); // Heb ik rechten om periodieke taken uit te voeren (Ja/Nee autorisatie (canRead = canWrite))?
iresult.hasCTRRead = ctrresult.canRead("WEB_CTRUSE"); // Heb ik lees rechten om periodieke taken te zien?
iresult.hasCTRWrite = ctrresult.canWrite("WEB_CTRUSE"); // Heb ik schrijf rechten om periodieke taken uit te voeren?
iresult.canShowXcp = iresult.hasCTRRead && iresult.canRead("WEB_INSMAN"); // Exceptions (xcp) waarden inspecties/taken bekijken (waarden in ins_srtcontroledl_xcp tabel).
iresult.canChangeXcp = iresult.hasCTRWrite && iresult.canWrite("WEB_INSMAN"); // Exceptions (xcp) waarden inspecties/taken wijzigen (waarden in ins_srtcontroledl_xcp tabel).
// 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.canInspEdit = ((iresult.readuse && ins_deelsrtcontrole_status != -1 && ins_deelsrtcontrole_status != 6) ||
iresult.canMsuEdit) &&
!vervallen && actief && hasCTRRights;
iresult.canInspShow = iresult.readuse && !vervallen && (ins_deelsrtcontrole_status >= 0) && hasCTRRights;
!vervallen && actief && iresult.hasCTRWrite;
iresult.canInspShow = iresult.readuse && !vervallen && (ins_deelsrtcontrole_status >= 0) && iresult.hasCTRRead;
// Bij eerste inspectie of verwerkte inspectie kan er gepland worden.
iresult.canInspPlan = iresult.canInspect && !vervallen && (ins_deelsrtcontrole_status == -1 || ins_deelsrtcontrole_status == 6) && actief && hasCTRRights;
iresult.canInspPlan = iresult.readuse && !vervallen && (ins_deelsrtcontrole_status == -1 || ins_deelsrtcontrole_status == 6) && actief && iresult.hasCTRWrite;
// Bij eerste inspectie, geplande inspectie of verwerkte inspectie kan er gestart worden.
iresult.canInspStart = iresult.canInspect && invoerAfterNext && !vervallen &&
(ins_deelsrtcontrole_status <= 0 || ins_deelsrtcontrole_status == 6) && actief && hasCTRRights;
iresult.canInspStart = iresult.readuse && invoerAfterNext && !vervallen &&
(ins_deelsrtcontrole_status <= 0 || ins_deelsrtcontrole_status == 6) && actief && iresult.hasCTRWrite;
// Bij eerste inspectie, geplande inspectie, gestarte inspectie of verwerkte inspectie kan er gereedgemeld/afgerond worden.
iresult.canInspClose = iresult.canInspect && invoerAfterNext &&
iresult.canInspClose = iresult.readuse && invoerAfterNext &&
((!vervallen && (ins_deelsrtcontrole_status < 5 || ins_deelsrtcontrole_status == 6)) ||
(ins_deelsrtcontrole_status == 0 || ins_deelsrtcontrole_status == 2)) &&
actief && hasCTRRights;
actief && iresult.hasCTRWrite;
// Alleen als de inspectie gereedgemeld is kan afgerond worden.
iresult.canInspFinish = iresult.canInspect && invoerAfterNext && ins_deelsrtcontrole_status == 5 && actief && hasCTRRights;
iresult.canInspFinish = iresult.readuse && invoerAfterNext && ins_deelsrtcontrole_status == 5 && actief && iresult.hasCTRWrite;
}
else
{
iresult.invoerAfterNext = true;
// Zijn er soort controles waar de user lees of schrijf rechten op heeft?
// Eerst lezen.
var bsql = "SELECT COUNT(*) aantal"
+ " FROM (SELECT di.ins_srtcontrole_key"
+ " FROM ins_v_defined_inspect di"
+ " , ins_srtcontroledl_xcp xcp"
+ " WHERE di.ins_srtcontrole_key = xcp.ins_srtcontrole_key(+)"
+ " AND di.ins_deel_key = xcp.ins_deel_key(+)"
+ " AND di.ins_deel_key = " + pins_deel_key
+ " AND di.ctr_discipline_key IN (SELECT w.ins_discipline_key" // Alleen van de disciplines waar ik schrijf rechten op heb meetellen.
+ " FROM fac_v_webgebruiker w"
+ " , fac_functie f"
+ " WHERE w.fac_functie_key = f.fac_functie_key "
+ " AND f.fac_functie_code = 'WEB_CTRUSE'"
+ " AND w.fac_gebruiker_prs_level_read < 9"
+ " AND w.fac_gebruiker_alg_level_read < 9"
+ " AND w.prs_perslid_key = " + user_key + ")"
+ " GROUP BY di.ins_srtcontrole_key"
+ " , di.ins_deel_key)";
var boRs = Oracle.Execute(bsql);
var add = boRs("aantal").Value > 0;
iresult.hasAnyReadXcp = boRs("aantal").Value > 0 && iresult.canRead("WEB_INSMAN"); // Enige rechten om exceptions (xcp) waarden te lezen.
// Nu schrijven.
var bsql = "SELECT COUNT(*) aantal"
+ " FROM (SELECT di.ins_srtcontrole_key"
+ " FROM ins_v_defined_inspect di"
+ " , ins_srtcontroledl_xcp xcp"
+ " WHERE di.ins_srtcontrole_key = xcp.ins_srtcontrole_key(+)"
+ " AND di.ins_deel_key = xcp.ins_deel_key(+)"
+ " AND di.ins_deel_key = " + pins_deel_key
+ " AND di.ctr_discipline_key IN (SELECT w.ins_discipline_key" // Alleen van de disciplines waar ik schrijf rechten op heb meetellen.
+ " FROM fac_v_webgebruiker w"
+ " , fac_functie f"
+ " WHERE w.fac_functie_key = f.fac_functie_key "
+ " AND f.fac_functie_code = 'WEB_CTRUSE'"
+ " AND w.fac_gebruiker_prs_level_write < 9"
+ " AND w.fac_gebruiker_alg_level_write < 9"
+ " AND w.prs_perslid_key = " + user_key + ")"
+ " GROUP BY di.ins_srtcontrole_key"
+ " , di.ins_deel_key)";
var boRs = Oracle.Execute(bsql);
var add = boRs("aantal").Value > 0;
iresult.hasAnyWriteXcp = boRs("aantal").Value > 0 && iresult.canWrite("WEB_INSMAN"); // Enige rechten om exceptions (xcp) waarden te schrijven.
iresult.canDoAnyInspect = boRs("aantal").Value > 0 && iresult.canRead("WEB_INSMAN"); // Enige rechten om inspecties te doen.
boRs.close();
}
}
ioRs.Close();
@@ -758,12 +811,10 @@ ins = {checkAutLevel:
iresult.canChangeAlg = iresult.canWrite("WEB_INSMAN"); // Wijzigen algemene gegevens.
iresult.canCopy = iresult.canWrite("WEB_INSMAN"); // Kopi<70>ren.
}
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.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

@@ -106,6 +106,7 @@ var srtcode = "";
var tekenbaar = false;
var uitvoertijd;
var uitvoertijd_eenheid;
var ins_deel_aantal = 1;
%>
<html>
@@ -170,6 +171,7 @@ var uitvoertijd_eenheid;
sql = "SELECT d.ins_deel_omschrijving"
+ " , d.ins_deel_parent_key"
+ " , d.ins_alg_ruimte_type"
+ " , d.ins_deel_aantal"
+ " , d.ins_alg_ruimte_key"
+ " , d.ins_alg_locatie_key"
+ " , d.ins_srtdeel_key"
@@ -210,6 +212,7 @@ var uitvoertijd_eenheid;
sql = "SELECT '' ins_deel_omschrijving"
+ " , d.ins_deel_parent_key"
+ " , d.ins_alg_ruimte_type"
+ " , 1 ins_deel_aantal"
+ " , d.ins_alg_ruimte_key"
+ " , d.ins_alg_locatie_key"
+ " , d.ins_srtdeel_key"
@@ -245,6 +248,7 @@ var uitvoertijd_eenheid;
{ // Het gaat om een Nieuw hoofdobject, defaults bepalen
sql = "SELECT '' ins_deel_omschrijving"
+ " , 'P' ins_alg_ruimte_type"
+ " , 1 ins_deel_aantal"
+ " , -1 ins_alg_ruimte_key"
+ " , -1 ins_alg_locatie_key"
+ " , s.ins_srtdeel_key"
@@ -315,6 +319,7 @@ var uitvoertijd_eenheid;
org_bind_key = oRs('ins_alg_ruimte_key_org').Value;
isLendOut = (oRs('ins_alg_ruimte_key_org').Value != null && !copy); // Bij kopie<69>ren is het object nog niet uitgeleend.
alg_ruimte_type = oRs('ins_alg_ruimte_type').Value;
ins_deel_aantal = oRs('ins_deel_aantal').Value;
autonum = oRs('ins_disc_params_autonum').Value;
oRs.close();
@@ -674,10 +679,8 @@ var uitvoertijd_eenheid;
required: true,
readonly: !this_ins.canChangeAlg || !(autonum & 2)
});
if(ins_key < 0 || isNext > 0 )
{
RWFIELDTR("count", "fldshort", L("lcl_count"), 1, {datatype: "number", readonly: !this_ins.canChangeAlg});
}
if (S("ins_explode_objects") == 0)
RWFIELDTR("count", "fldshort", L("lcl_count"), ins_deel_aantal, {datatype: "number", readonly: !this_ins.canChangeAlg, required: true});
RWFIELDTR("opmerk", "fld", L("lcl_ins_opmerking"), opmerk, {maxlength: 320, readonly: !this_ins.canChangeAlg}); %>
</table>
</td>

View File

@@ -77,6 +77,7 @@ if(wp_key > 0)
}
var warning = "";
var ins_explode_objects = S("ins_explode_objects");
if (obj_key > 0)
{ // Let op als je hier nieuwe velden toevoegt: nieuwe objecten hebben eigen fields-object (MGE: Dan ook maar binnen if statement declareren)
var fields = [ { dbs: "ins_deel_x", typ: "float", frm: "xcoord", track: L("lcl_obj_geoxcoord") },
@@ -88,6 +89,8 @@ if (obj_key > 0)
{ dbs: "ins_deel_opmerking", typ: "varchar", frm: "opmerk"},
{ dbs: "ins_deel_actief", typ: "check0", frm: "ins_actief", track: L("lcl_ins_active") } ];
if (ins_explode_objects == 0)
fields.push({ dbs: "ins_deel_aantal", typ: "number", frm: "count", track: L("lcl_count") });
// Checken of het eenheden selectveld met dagen/uren bij "Uitvoertijd" niet readonly was en wel is meegegeven.
// Als dit eenheden selectieveld readonly was dan is er geen waarde voor uitvoertijd ingevuld en moeten beide waarden null worden.
fields = shared.add_time_field(fields, "ins_deel_t_uitvoertijd", "uitvoertijd", "dayshours", {tracktijdsduur: L("lcl_ins_uitvoertijd"), trackeenheid: L("lcl_ins_uitvoertijd_eenheid")});
@@ -149,7 +152,8 @@ if (obj_key > 0)
}
}
else
{ // nieuw
{ // Nieuw.
// Voor nieuwe objecten worden het aantal objecten per stuk aangemaakt.
var i_count = getFParamInt("count", -1);
var sort = getFParamInt("srtdeel");
@@ -179,79 +183,82 @@ else
abort_with_warning(L("lcl_obj_notallowed")); // combinatie niet toegestaan
}
if( isNaN(i_count) || i_count < 1 )
if (ins_explode_objects == 0 || isNaN(i_count) || i_count < 1)
i_count = 1;
for( c = 0; c < i_count; c++ )
for( c = 0; c < i_count; c++ )
{
var fields = [];
var fields = [ { dbs: "ins_deel_x", typ: "float", frm: "xcoord" },
{ dbs: "ins_deel_y", typ: "float", frm: "ycoord" },
{ dbs: "ins_alg_locatie_key", typ: "key", frm: "locatiekey" },
{ dbs: "ins_deel_vervaldatum", typ: "date", frm: "vervaldatum" },
{ dbs: "ins_deel_aanmaak", typ: "date", frm: "aanmaakdatum" },
{ dbs: "prs_perslid_key_beh", typ: "key", frm: "ins_manager", foreign: "prs_perslid" },
{ dbs: "ins_deel_opmerking", typ: "varchar", frm: "opmerk"},
{ dbs: "ins_alg_ruimte_key", typ: "key", val: bind_key },
{ dbs: "ins_alg_ruimte_type", typ: "varchar", val: bind } ];
if (ins_explode_objects == 0)
fields.push({ dbs: "ins_deel_aantal", typ: "number", frm: "count" });
// Checken of het eenheden selectveld met dagen/uren bij "Uitvoertijd" niet readonly was en wel is meegegeven.
// Als dit eenheden selectieveld readonly was dan wordt deze niet opgeslagen en dan moet de tijdsduur ook niet opgeslagen worden.
fields = shared.add_time_field(fields, "ins_deel_t_uitvoertijd", "uitvoertijd", "dayshours");
if (c == 0)
{
var fields = [];
var fields = [ { dbs: "ins_deel_x", typ: "float", frm: "xcoord" },
{ dbs: "ins_deel_y", typ: "float", frm: "ycoord" },
{ dbs: "ins_alg_locatie_key", typ: "key", frm: "locatiekey" },
{ dbs: "ins_deel_vervaldatum", typ: "date", frm: "vervaldatum" },
{ dbs: "ins_deel_aanmaak", typ: "date", frm: "aanmaakdatum" },
{ dbs: "prs_perslid_key_beh", typ: "key", frm: "ins_manager", foreign: "prs_perslid" },
{ dbs: "ins_deel_opmerking", typ: "varchar", frm: "opmerk"},
{ dbs: "ins_alg_ruimte_key", typ: "key", val: bind_key },
{ dbs: "ins_alg_ruimte_type", typ: "varchar", val: bind } ];
// Checken of het eenheden selectveld met dagen/uren bij "Uitvoertijd" niet readonly was en wel is meegegeven.
// Als dit eenheden selectieveld readonly was dan wordt deze niet opgeslagen en dan moet de tijdsduur ook niet opgeslagen worden.
fields = shared.add_time_field(fields, "ins_deel_t_uitvoertijd", "uitvoertijd", "dayshours");
if (c == 0)
fields.push({ dbs: "ins_deel_omschrijving", typ: "varchar", val: desc})
}
else
{ // Get default description for object for sequence of inserts
// Als een nummer is gegeven als default code voor een onderdeel dan nummeren we stug door.
// Als voor de discipline is aangegeven dat niet automatische genummerd dient te worden zal dat voor multi objecten toch altijd moeten blijven.
if (parent_key > 0 && !isNaN(parseInt(desc, 10)))
{
fields.push({ dbs: "ins_deel_omschrijving", typ: "varchar", val: desc})
__Log("Stug doornummeren van onderdelen. Na " + desc + " komt ...")
desc = '' + (1 + parseInt(desc,10))
fields.push({ dbs: "ins_deel_omschrijving", typ: "varchar", val: desc})
}
else
{ // Get default description for object for sequence of inserts
// Als een nummer is gegeven als default code voor een onderdeel dan nummeren we stug door.
// Als voor de discipline is aangegeven dat niet automatische genummerd dient te worden zal dat voor multi objecten toch altijd moeten blijven.
if (parent_key > 0 && !isNaN(parseInt(desc, 10)))
{
sql = "SELECT ins.get_description(" + safe.quoted_sql(parent_key < 0 ? "LPN_INS_DEEL" : "LPN_INS_ONDERDEEL")
+ " ," + (parent_key < 0 ? loc : parent_key) // scope for uniqueness could be location (unused) or parent
+ " , ins_srtdeel_code_upper)"
+ " FROM ins_srtdeel"
+ " WHERE ins_srtdeel_key = " + sort;
oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
__Log("Stug doornummeren van onderdelen. Na " + desc + " komt ...")
desc = '' + (1 + parseInt(desc,10))
desc = oRs(0).Value;
fields.push({ dbs: "ins_deel_omschrijving", typ: "varchar", val: desc})
}
else
{
sql = "SELECT ins.get_description(" + safe.quoted_sql(parent_key < 0 ? "LPN_INS_DEEL" : "LPN_INS_ONDERDEEL")
+ " ," + (parent_key < 0 ? loc : parent_key) // scope for uniqueness could be location (unused) or parent
+ " , ins_srtdeel_code_upper)"
+ " FROM ins_srtdeel"
+ " WHERE ins_srtdeel_key = " + sort;
oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
desc = oRs(0).Value;
fields.push({ dbs: "ins_deel_omschrijving", typ: "varchar", val: desc})
}
oRs.Close();
}
oRs.Close();
}
fields.push({ dbs: "ins_deel_key", typ: "key", seq: "ins_s_ins_inst_keys" });
fields.push({ dbs: "ins_srtdeel_key", typ: "key", val: sort });
}
fields.push({ dbs: "ins_deel_key", typ: "key", seq: "ins_s_ins_inst_keys" });
fields.push({ dbs: "ins_srtdeel_key", typ: "key", val: sort });
if (parent_key > 0)
fields.push({ dbs: "ins_deel_parent_key", typ: "key", val: parent_key });
if (parent_key > 0)
fields.push({ dbs: "ins_deel_parent_key", typ: "key", val: parent_key });
var regIns = buildInsert("ins_deel", fields);
var obj_key = regIns.sequences["ins_deel_key"];
sql = regIns.sql;
var err = Oracle.Execute(sql, true);
var regIns = buildInsert("ins_deel", fields);
var obj_key = regIns.sequences["ins_deel_key"];
sql = regIns.sql;
var err = Oracle.Execute(sql, true);
if (err.friendlyMsg)
warning = err.friendlyMsg;
if (err.friendlyMsg)
warning = err.friendlyMsg;
if (!warning)
{
// Kenmerken opslaan.
flextrackarray = ins.updateKenmerkdeel (obj_key, {isnew: true});
// Flextrackarray wordt niet gebruikt voor tracking bij nieuw object. Alle velden zijn nieuw
shared.trackaction("INSNEW", obj_key);
}
} // for i_count
if (!warning)
{
// Kenmerken opslaan.
flextrackarray = ins.updateKenmerkdeel (obj_key, {isnew: true});
// Flextrackarray wordt niet gebruikt voor tracking bij nieuw object. Alle velden zijn nieuw
shared.trackaction("INSNEW", obj_key);
}
} // for i_count
}
%>
<html>

View File

@@ -295,6 +295,7 @@ var authparams = user.checkAutorisation("WEB_INSUSE");
+ " AND idsc.prs_perslid_key = p.prs_perslid_key(+)"
+ " AND idsc.ins_controlemode_key = cm.ins_controlemode_key(+)"
+ " AND di.ins_deel_key = " + ins_key
+ " AND di.ins_srtcontrole_periode > 0" // Als de periode 0 is dan de inspecties die gaan komen niet meer tonen.
+ " AND di.ctr_discipline_key IN (SELECT w.ins_discipline_key"
+ " FROM fac_v_webgebruiker w"
+ " , fac_functie f"

View File

@@ -45,6 +45,7 @@ sql = "SELECT d.ins_deel_omschrijving" // identificatie
+ " , d.ins_alg_ruimte_type"
+ " , d.ins_alg_ruimte_key"
+ " , d.ins_alg_locatie_key"
+ " , d.ins_deel_aantal"
+ " , d.ins_deel_aanmaak"
+ " , d.ins_srtdeel_key"
+ " , g.ins_srtgroep_key"
@@ -84,6 +85,7 @@ var parent_key = oRs("ins_deel_parent_key").Value;
var bind = oRs("ins_alg_ruimte_type").Value;
var bind_key = oRs("ins_alg_ruimte_key").Value;
var o_loc = parseInt(oRs("ins_alg_locatie_key").Value);
var aantal = oRs("ins_deel_aantal").Value;
var aanmaak = new Date(oRs("ins_deel_aanmaak").Value);
var vervaldatum = oRs('ins_deel_vervaldatum').Value;
var actief = oRs('ins_deel_actief').Value == 1;
@@ -330,6 +332,8 @@ oRs.Close();
ROFIELDTR("fld", L("lcl_obj_group"), group);
ROFIELDTR("fld", L("lcl_obj_sort"), sort + " (" + srtcode + ")");
ROFIELDTR("fld", binding_text, binding_item, {infoPointer:{Url : moreinfo, Title: ""}});
if (S("ins_explode_objects") == 0)
ROFIELDTR("fld", L("lcl_count"), aantal);
ROFIELDTR("fld", L("lcl_ins_opmerking"), opmerk, {suppressEmpty: true});
if (false) { // later
// als het object technisch getekend zou kunnen zijn, geven we hier de status aan.

View File

@@ -217,7 +217,7 @@ function showActions(event) // event op de mouseover van resultsettable
{
if (bits.substr(i,1) == 1 && this.getAttribute("isdefault") == 1)
$(window.activerow).css("cursor", "pointer");
var show = bits.substr(i,1) == 1 && this.getAttribute("isdefault") != 1;
var show = bits.substr(i,1) == 1 && (this.getAttribute("isdefault") != 1 && this.getAttribute("onlymulti") != 1);
$(this).toggle(show)
if (show)
{

View File

@@ -11,6 +11,7 @@ function init_srtcontrole()
$("#inspection_mode").change(function() {change_mode(); });
$("#unit").change(function() {change_unit(); });
$("#_moment").click(function() {SelectBits(); });
$("#ctr_discipline").change(function() {change_ctr_discipline(); });
var controlemode = $("#inspection_mode").val() == 0;
if (!controlemode)
@@ -34,6 +35,31 @@ function change_unit()
changed_mode = 1;
}
function callback_ctr_info(data, textStatus)
{
if (textStatus == "success")
{
if (data.ismjob)
{
$("#unit").val(4); // Jaarlijks.
$("#unit").attr('disabled', true);
}
else
$("#unit").attr('disabled', false);
}
else
alert("callback_ctr_info: " + textStatus);
}
function change_ctr_discipline()
{
var ctr_disc = $("#ctr_discipline").val();
$.getJSON("../Shared/get_ctr_info.asp",
{ ctr_disc: ctr_disc },
callback_ctr_info);
}
function SelectBits()
{
var proturl = "../ins/ins_bitsform.asp"