FSN#42267: Omschrijving van de tracking van stdmelding verfijnder
svn path=/Website/trunk/; revision=35397
This commit is contained in:
@@ -247,7 +247,7 @@ if (savemode)
|
|||||||
savewhen: "personFor", track: L("lcl_mld_call_for"), foreign: "prs_perslid" },
|
savewhen: "personFor", track: L("lcl_mld_call_for"), foreign: "prs_perslid" },
|
||||||
{ dbs: "prs_kostenplaats_key", typ: "key", val: kpkey, track: L("lcl_mld_inf_Kostenplaats"), foreign: "prs_kostenplaats" },
|
{ dbs: "prs_kostenplaats_key", typ: "key", val: kpkey, track: L("lcl_mld_inf_Kostenplaats"), foreign: "prs_kostenplaats" },
|
||||||
{ dbs: "mld_melding_opmerking", typ: "varchar", frm: "remark", track: L("lcl_mld_inf_Opmerking"), len: 4000 },
|
{ dbs: "mld_melding_opmerking", typ: "varchar", frm: "remark", track: L("lcl_mld_inf_Opmerking"), len: 4000 },
|
||||||
{ dbs: "mld_stdmelding_key", typ: "key", frm: "stdm", track: L("lcl_complain"), foreign: "mld_stdmelding" },
|
{ dbs: "mld_stdmelding_key", typ: "key", frm: "stdm", track: L("lcl_complain"), buildTrackText: buildStdmTrackText },
|
||||||
{ dbs: "mld_alg_onroerendgoed_keys", typ: "key", val: alg_onroerendgoed_keys,
|
{ dbs: "mld_alg_onroerendgoed_keys", typ: "key", val: alg_onroerendgoed_keys,
|
||||||
savewhen: "locatiekey",
|
savewhen: "locatiekey",
|
||||||
track: true /* afzonderlijke tracking, wel oldjsval */ },
|
track: true /* afzonderlijke tracking, wel oldjsval */ },
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ if (stdm_key == old_stdm && old_beh == sBehandel)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
result.toaster = L("lcl_forwarded");
|
result.toaster = L("lcl_forwarded");
|
||||||
var fields = [ { dbs: "mld_stdmelding_key", typ: "key", frm: "stdm", track: L("lcl_complain"), foreign: "mld_stdmelding" }
|
var fields = [ { dbs: "mld_stdmelding_key", typ: "key", frm: "stdm", track: L("lcl_complain"), buildTrackText: buildStdmTrackText }
|
||||||
];
|
];
|
||||||
|
|
||||||
if (S("mld_forward_can_assign"))
|
if (S("mld_forward_can_assign"))
|
||||||
|
|||||||
@@ -125,6 +125,22 @@ function shorttxt(txt, len)
|
|||||||
return txt.substr(0, len-4) + "...";
|
return txt.substr(0, len-4) + "...";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getForeignText(key, foreign)
|
||||||
|
{
|
||||||
|
var sql = "SELECT " + foreign.desc
|
||||||
|
+ " FROM " + foreign.tbl + " " + (foreign.alias||"");
|
||||||
|
if (foreign.where)
|
||||||
|
sql += " WHERE " + foreign.where + " AND ";
|
||||||
|
else
|
||||||
|
sql += " WHERE ";
|
||||||
|
sql += foreign.key + " = " + key;
|
||||||
|
var oRs = Oracle.Execute(sql);
|
||||||
|
var oldtxt = oRs(0).Value;
|
||||||
|
oRs.Close();
|
||||||
|
|
||||||
|
return oldtxt;
|
||||||
|
}
|
||||||
|
|
||||||
// tracktxt.push(buildTrackText(tupel.field.typ, oldjsval, tupel.jsval, oRs(tupel.field.dbs).DefinedSize));
|
// tracktxt.push(buildTrackText(tupel.field.typ, oldjsval, tupel.jsval, oRs(tupel.field.dbs).DefinedSize));
|
||||||
// bouw een mooie tekst die de van-naar wijziging beschrijft
|
// bouw een mooie tekst die de van-naar wijziging beschrijft
|
||||||
// params: nodiff: geen L("lcl_trackappend") of L("lcl_trackpercent")
|
// params: nodiff: geen L("lcl_trackappend") of L("lcl_trackpercent")
|
||||||
@@ -174,25 +190,10 @@ function buildTrackText(typ, oldjsval, newjsval, params)
|
|||||||
if (!foreign)
|
if (!foreign)
|
||||||
abort_with_warning("INTERNAL ERROR:\nForeign key for tracking " + params.foreign.toUpperCase()+" is not defined in foreignKeyTable");
|
abort_with_warning("INTERNAL ERROR:\nForeign key for tracking " + params.foreign.toUpperCase()+" is not defined in foreignKeyTable");
|
||||||
|
|
||||||
var sqlf = "SELECT " + foreign.desc
|
|
||||||
+ " FROM " + foreign.tbl + " " + (foreign.alias||"")
|
|
||||||
if (foreign.where)
|
|
||||||
sqlf += " WHERE " + foreign.where + " AND ";
|
|
||||||
else
|
|
||||||
sqlf += " WHERE ";
|
|
||||||
sqlf += foreign.key + " = ";
|
|
||||||
if (oldjsval)
|
if (oldjsval)
|
||||||
{
|
oldtxt = getForeignText(oldjsval, foreign)
|
||||||
var oRs = Oracle.Execute(sqlf + oldjsval);
|
|
||||||
oldtxt = oRs(0).Value;
|
|
||||||
oRs.Close()
|
|
||||||
}
|
|
||||||
if (newjsval)
|
if (newjsval)
|
||||||
{
|
newtxt = getForeignText(newjsval, foreign)
|
||||||
var oRs = Oracle.Execute(sqlf + newjsval);
|
|
||||||
newtxt = oRs(0).Value;
|
|
||||||
oRs.Close();
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -242,6 +243,30 @@ function buildTrackText(typ, oldjsval, newjsval, params)
|
|||||||
return tracktxt;
|
return tracktxt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Die is wat specifiekers omdat een andere stdm dezelfde tekst kan hebben
|
||||||
|
// maar dan onder een andere vakgroep.
|
||||||
|
// Een vakgroepwissel wil je eventueel ook tracken
|
||||||
|
function buildStdmTrackText(typ, oldjsval, newjsval, params)
|
||||||
|
{
|
||||||
|
var old_disc_key = Oracle.Get("mld_ins_discipline_key", "mld_stdmelding", oldjsval);
|
||||||
|
var new_disc_key = Oracle.Get("mld_ins_discipline_key", "mld_stdmelding", newjsval);
|
||||||
|
var olddisctxt = getForeignText(old_disc_key, foreignKeyTable("mld_discipline"));
|
||||||
|
var newdisctxt = getForeignText(new_disc_key, foreignKeyTable("mld_discipline"));
|
||||||
|
var oldstdmtxt = getForeignText(oldjsval, foreignKeyTable("mld_stdmelding"));
|
||||||
|
var newstdmtxt = getForeignText(newjsval, foreignKeyTable("mld_stdmelding"));
|
||||||
|
if (olddisctxt == newdisctxt)
|
||||||
|
olddisctxt = newdisctxt = "";
|
||||||
|
if (oldstdmtxt == newstdmtxt)
|
||||||
|
oldstdmtxt = newstdmtxt = "";
|
||||||
|
if (newdisctxt && newstdmtxt)
|
||||||
|
return L("lcl_complain") + ": " + olddisctxt + "/" + oldstdmtxt + L("lcl_trackto") + newdisctxt + "/" + newstdmtxt
|
||||||
|
else
|
||||||
|
if (newstdmtxt)
|
||||||
|
return L("lcl_complain") + ": " + oldstdmtxt + L("lcl_trackto") + newstdmtxt;
|
||||||
|
else
|
||||||
|
return L("lcl_vakgroup") + ": " + olddisctxt + L("lcl_trackto") + newdisctxt;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
var known_adotypes =
|
var known_adotypes =
|
||||||
{
|
{
|
||||||
@@ -422,7 +447,11 @@ function buildTrackingUpdate(tabel, where, xfields, params)
|
|||||||
var lbl = tupel.field.track;
|
var lbl = tupel.field.track;
|
||||||
// if (params.dialect_key)
|
// if (params.dialect_key)
|
||||||
// lbl = lcl.x(tupel.field.track, params.dialect_key);
|
// lbl = lcl.x(tupel.field.track, params.dialect_key);
|
||||||
trackarray.push(lbl + ": " + buildTrackText(tupel.field.typ, oldjsval, tupel.jsval, { foreign: tupel.field.foreign, oldjsvals: oldjsvals } ));
|
if (tupel.field.buildTrackText)
|
||||||
|
var tracktxt = tupel.field.buildTrackText(tupel.field.typ, oldjsval, tupel.jsval, { foreign: tupel.field.foreign, oldjsvals: oldjsvals } );
|
||||||
|
else
|
||||||
|
var tracktxt = lbl + ": " + buildTrackText(tupel.field.typ, oldjsval, tupel.jsval, { foreign: tupel.field.foreign, oldjsvals: oldjsvals } );
|
||||||
|
trackarray.push(tracktxt);
|
||||||
}
|
}
|
||||||
oldjsvals[tupel.field.dbs] = oldjsval;
|
oldjsvals[tupel.field.dbs] = oldjsval;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user