Merg 5.3.3 Gold patches

svn path=/Website/branches/v5.3.4/; revision=20075
This commit is contained in:
Jos Groot Lipman
2013-12-05 14:33:26 +00:00
parent 89ab8e76eb
commit e1c9111bc2
15 changed files with 134 additions and 105 deletions

View File

@@ -176,7 +176,10 @@ transitParam = buildTransitParam(["punch", "mld_key", "artikel_key", "ps", "pn",
};
for (s in subst_table)
{
purl = purl.replace("##" + s + "##", Server.URLencode(subst_table[s]||""));
var newval = subst_table[s];
if (typeof newval == "undefined" || newval === null)
newval = "";
purl = purl.replace("##" + s + "##", Server.URLencode(newval));
}
%>
<script type="text/javascript" >

View File

@@ -32,7 +32,13 @@
user.auth_required_or_abort(canChange);
var fields = [ { dbs: "fac_setting_pvalue", typ: "varchar", frm: "pvalue" },
var pvalue = getFParam("pvalue", "");
if (oRs("fac_setting_type").value == 'float')
{
pvalue = pvalue.replace(",", ".");
}
var fields = [ { dbs: "fac_setting_pvalue", typ: "varchar", val: pvalue },
{ dbs: "fac_setting_datum", typ: "sql", val: "SYSDATE" },
{ dbs: "prs_perslid_key", typ: "key", val: user_key }];

View File

@@ -65,8 +65,8 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
fresult.fin_key = pfin_key;
if (pfin_key > 0)
{
fresult.factuur_info = fin_factuur;
fresult.referentieinfo = ref_info;
fresult.factuur_info = fin_factuur;
fresult.referentieinfo = ref_info;
}
// WEB_RELMAN is onderdeel van de PRS module
var presult = user.func_enabled2("PRS", { prs_key: user_key, isOptional: true });
@@ -90,7 +90,6 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
fresult.canRemarkChange = false; // Wijzigen van de opmerking
fresult.canInvLinChange = false; // Wijzigen van de factuurregels
fresult.canReqRefDetails = fresult.canWrite("WEB_FINBOF"); // Mag de referentie details opvragen
// Nu canRead("WEB_RELMAN") van presult pakken!
fresult.canReqRelDetails = presult.canRead("WEB_RELMAN"); // Mag de relatie details (uitvoerder) opvragen
@@ -764,8 +763,9 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
bes_bestelopdr_id: oRs("bes_bestelopdr_id").value,
btwtabel_key: oRs("btwtabel_key").value
};
} else {
}
else
{
var result = { message: L("lcl_fin_not_exist") };
}
oRs.close();

View File

@@ -136,7 +136,7 @@ var fin_btwtabel_key = oRs("fin_btwtabel_key").value; // Standaard btw tabel key
jQuery(document).ready(function()
{
$("#referentienr").focus();
<% if (fin_key > 0 && this_fin.canInvLinChange) { %>
<% if (fin_key > 0 && S("fin_enable_kostensoort") != 0 && this_fin.canInvLinChange) { %>
// Overal suggest van maken
var rowIndex = parseInt($("#rowIndex").val());
for (var i=1; i <= rowIndex; i++)
@@ -196,7 +196,6 @@ var fin_btwtabel_key = oRs("fin_btwtabel_key").value; // Standaard btw tabel key
// Settings needed by fin_edit_factuur.js
var canReqRelDetails = (<%=this_fin.canReqRelDetails? 1 : 0%> == 1);
var canReqRefDetails = (<%=this_fin.canReqRefDetails? 1 : 0%> == 1);
var bShowDiscipline = false;

View File

@@ -258,15 +258,12 @@ function FcltGetRefInfoCallback(json)
// Als de default kostenplaats is geselecteerd of bij nieuwe facturen dan locatiecode invullen bij de factuurregels.
if (json.refchanged)
updateLocation();
if (canReqRefDetails)
{
$('#reflink').click(function()
{
refurl = "appl/mld/mld_opdr.asp?urole=fo&opdr_key=" + json.ref_key;
FcltMgr.openDetail(refurl);
}
);
}
$('#reflink').click(function()
{
refurl = "appl/mld/mld_opdr.asp?urole=fo&opdr_key=" + json.ref_key;
FcltMgr.openDetail(refurl);
}
);
break;
case "B": // Bestelling opdracht
$('label[for="reflink"]').html(L("lcl_fin_bestelopdracht"));
@@ -276,30 +273,24 @@ function FcltGetRefInfoCallback(json)
// Als de default kostenplaats is geselecteerd of bij nieuwe facturen dan locatiecode invullen bij de factuurregels.
if (json.refchanged)
updateLocation();
if (canReqRefDetails)
{
$('#reflink').click(function()
{
refurl = "appl/bes/bes_opdr.asp?urole=fo&ordernr=" + json.ref_key
FcltMgr.openDetail(refurl);
}
);
}
$('#reflink').click(function()
{
refurl = "appl/bes/bes_opdr.asp?urole=fo&ordernr=" + json.ref_key
FcltMgr.openDetail(refurl);
}
);
break;
case "C": // Contract
$('label[for="reflink"]').html(L("lcl_fin_contract"));
$("#tr_refopdrtype").hide();
//$('label[for="enddate"]').html(L("lcl_fin_end_date") + ":");
$("#loc_code").val("");
if (canReqRefDetails)
{
$('#reflink').click(function()
{
refurl = "appl/cnt/cnt_contract.asp?urole=fo&cnt_key=" + json.ref_key;
FcltMgr.openDetail(refurl);
}
);
}
$('#reflink').click(function()
{
refurl = "appl/cnt/cnt_contract.asp?urole=fo&cnt_key=" + json.ref_key;
FcltMgr.openDetail(refurl);
}
);
break;
}

View File

@@ -133,12 +133,10 @@ var urlMail = "../shared/queuemail.asp?pcode=FINMAI&defemail_key=-1&key=" + fin_
BLOCK_START("finRefInfo", L("lcl_fin_referentie_info"));
// Details was alleen te zien als (FINBOF_write && status == 2)
var params = {};
if (this_fin.canReqRefDetails)
params = { infoPointer: { Url: refurl,
Title: reftitle
}
};
var params = { infoPointer: { Url: refurl,
Title: reftitle
}
};
ROFIELDTR("fld", refoms, reftitle, params); // Melding
if (ref_info.ref_type == "O")
ROFIELDTR("fld", L("lcl_mld_typeopdr"), ref_info.typeopdr_omschr); // Opdrachttype melding

View File

@@ -57,7 +57,11 @@ var transitParam = buildTransitParam(["disc_key", "srtgroep_key"]);
+ " , ins_v_aanwezigsrtgroep sg"
+ " , ins_v_aanwezigdiscipline d"
+ " WHERE s.ins_srtgroep_key = sg.ins_srtgroep_key"
+ " AND d.ins_discipline_key = sg.ins_discipline_key";
+ " AND d.ins_discipline_key = sg.ins_discipline_key"
// De sleutelsets/cilinderssets niet tonen.
+ " AND sg.ins_discipline_key = d.ins_discipline_key"
+ " AND d.ins_discipline_module = 'INS'"
+ " AND sg.ins_srtgroep_key NOT IN (" + S("sle_ins_srt_groep_key") + ", " + S("cil_ins_srt_groep_key") + ")";
if (disc_key>0)
sql += " AND sg.ins_discipline_key = " + disc_key;
if (srtgroep_key>0)

View File

@@ -618,18 +618,15 @@ mld = {setmeldingstatus:
var sql = " CASE"
+ " WHEN fac.gettrackingdate('MLDAFM', " + mtable + ".mld_melding_key) IS NULL"
+ " THEN CASE"
+ " WHEN fac.gettrackingdate('MLDREJ', " + mtable + ".mld_melding_key) IS NULL"
+ " THEN CASE WHEN(CASE "
+ " WHEN " + stdtable + ".mld_stdmelding_slabewaken = 1"
+ " AND NOT " + mtable + ".mld_melding_indult = 1"
+ " THEN " + mtable + ".mld_melding_einddatum_std"
+ " ELSE " + mtable + ".mld_melding_einddatum"
+ " END) < SYSDATE"
+ " WHEN(CASE "
+ " WHEN " + stdtable + ".mld_stdmelding_slabewaken = 1"
+ " AND NOT " + mtable + ".mld_melding_indult = 1"
+ " THEN " + mtable + ".mld_melding_einddatum_std"
+ " ELSE " + mtable + ".mld_melding_einddatum"
+ " END) < COALESCE(fac.gettrackingdate('MLDREJ', " + mtable + ".mld_melding_key), SYSDATE)"
+ " THEN 1"
+ " ELSE 0"
+ " END"
+ " ELSE 0"
+ " END"
+ " ELSE CASE WHEN(CASE "
+ " WHEN " + stdtable + ".mld_stdmelding_slabewaken = 1"
+ " AND NOT " + mtable + ".mld_melding_indult = 1"
@@ -791,7 +788,7 @@ mld = {setmeldingstatus:
+" 1 nrnaam"
+" FROM DUAL) oo"
: "")
+ ((handler_key || opdrtype_key || contact_key || opdr_key || opdrstatus_arr || toon_opdr_overz)
+ (toon_opdr_overz
? ", mld_opdr o"
: "")
+ (offertes
@@ -849,7 +846,7 @@ mld = {setmeldingstatus:
+ " AND sd.ins_srtdiscipline_key = md.ins_srtdiscipline_key"
+ " AND oo.mld_melding_key(+) = m.mld_melding_key"
: "")
+ ((handler_key || opdrtype_key || contact_key || opdr_key || opdrstatus_arr || toon_opdr_overz)
+ (toon_opdr_overz
? " AND m.mld_melding_key = o.mld_melding_key(+)"
: "")
+ (offertes
@@ -863,6 +860,30 @@ mld = {setmeldingstatus:
+ " OR opdracht.lastopdrachtvolgnr < offerte.lastoffertevolgnr)"
: "");
if (handler_key || opdrtype_key || contact_key || opdr_key || opdrstatus_arr)
{
sqln += " AND EXISTS"
+ " (SELECT o.mld_opdr_key"
+ " FROM mld_opdr o"
+ " WHERE m.mld_melding_key = o.mld_melding_key(+)"
+ (handler_key
? " AND o.mld_uitvoerende_keys = " + handler_key
: "")
+ (opdrtype_key
? " AND o.mld_typeopdr_key = " + opdrtype_key
: "")
+ (contact_key
? " AND o.prs_perslid_key = " + contact_key
: "")
+ (opdr_key // Selectie op nummer negeert alle andere filters (Andere waarde zijn niet doorgegeven
? " AND o.mld_melding_key = " + opdr_key // seems odd, but is right -PF
: "")
+ (opdrstatus_arr
? " AND o.mld_statusopdr_key IN (" + opdrstatus_arr.join(",") + ")"
: "")
+ ")"
}
no_old_closed_calls = ((S("mld_max_history") > 0) && (mldstrej || mldstafm || mldstver));
// Apply the selections onto the query
@@ -871,11 +892,6 @@ mld = {setmeldingstatus:
sqln += " AND m.mld_melding_key = " + mld_key;
}
if (opdr_key)
{ // Selectie op nummer negeert alle andere filters
sqln += " AND o.mld_melding_key = " + opdr_key; // seems odd, but is right -PF
}
if (rsv_ruimte_key)
{ // Selectie op nummer negeert alle andere filters
sqln += " AND m.res_rsv_ruimte_key = " + rsv_ruimte_key;
@@ -903,10 +919,6 @@ mld = {setmeldingstatus:
sqln += mld.getStatusSql(mldstatus_arr);
if (opdrstatus_arr)
{
sqln += " AND o.mld_statusopdr_key IN (" + opdrstatus_arr.join(",") + ")";
}
if (params.flags && params.flags.length > 0 && params.flags.length < S('mld_melding_flags'))
{
sqln += " AND m.mld_melding_flag IN (" + params.flags.join(",") + ")";
@@ -965,18 +977,9 @@ mld = {setmeldingstatus:
else if (reg_key)
sqln += " AND di.alg_regio_key = " + reg_key;
if (handler_key)
sqln += " AND o.mld_uitvoerende_keys = " + handler_key;
if (contact_key)
sqln += " AND o.prs_perslid_key = " + contact_key;
if (meldbron_key)
sqln += " AND m.mld_meldbron_key = " + meldbron_key;
if (opdrtype_key)
sqln += " AND o.mld_typeopdr_key = " + opdrtype_key;
if (kp)
sqln += (toon_opdr_overz
? " AND o.prs_kostenplaats_key IN"

View File

@@ -108,7 +108,7 @@ function opdr_list (params)
var showall = params.showall;
var mld_key = params.mld_key;
var opdrnr = params.opdrnr; // opdracht nummer is voor de gebruiker hetzelfde als mld_key
var opdr_key = params.opdr_key; // opdracht nummer is voor de gebruiker hetzelfde als mld_key
var behandel_key = params.behandel_key;
var srtdisc_key = params.srtdisc_key;
var searchtekst = params.searchtekst;
@@ -425,9 +425,9 @@ function opdr_list (params)
{
sql += " AND o.mld_melding_key = " + mld_key;
}
else if (opdrnr)
else if (opdr_key)
{
sql += " AND o.mld_melding_key = " + opdrnr; // opdracht nummer is voor de gebruiker hetzelfde als mld_key
sql += " AND o.mld_melding_key = " + opdr_key; // opdracht nummer is voor de gebruiker hetzelfde als mld_key
}
else
{
@@ -669,7 +669,7 @@ function opdr_list (params)
"b.prs_bedrijf_key",
"b.prs_afdeling_key",
pautfunction[ii],
(!(mld_key || opdrnr) && disc_key_arr ? disc_key_arr.join(",") : ""),
(!(mld_key || opdr_key) && disc_key_arr ? disc_key_arr.join(",") : ""),
(add_prs_restrict ? 2 : 0)
);
}

View File

@@ -53,7 +53,7 @@ var justClose = (urole == "b2");
// PREFILL PARAMETERS:
var mld_key = getQParamInt("mld_key", -1);
var autosearch = getQParamInt("autosearch", 0) == 1;
var opdrnr = getQParam("opdrnr", -1);
var opdr_key = getQParam("opdr_key", -1);
var cnt = (getQParamInt("cnt", 0) == 1);
var bes = (getQParamInt("bes", 0) == 1);
var offerte = getQParamInt("offerte", -1);
@@ -153,9 +153,9 @@ var authparams = user.checkAutorisation(autfunction);
<table><!-- x rijen, 2 kolommen: label + veld -->
<tr class="primsearch">
<!-- Opdrachtnummer -->
<td class="label"><label for="opdrnr"><%=L("lcl_mld_order_nr")%>:</label></td>
<td class="label"><label for="opdr_key"><%=L("lcl_mld_order_nr")%>:</label></td>
<td>
<input type="text" class="fldopdrnr" name="opdrnr" <%=(opdrnr != -1) ? "value='" + opdrnr + "'" : ""%>>
<input type="text" class="fldopdrnr" name="opdr_key" <%=(opdr_key != -1) ? "value='" + opdr_key + "'" : ""%>>
</td>
</tr>

View File

@@ -30,7 +30,7 @@ var outputmode = getQParamInt("outputmode", 0); // 0 = screen, 1 = print, 2 = e
var showall = getQParamInt("showall", 0) == 1;
// Voor velden die de user in kan typen valideren we zodanig dat we er tegen kunnen
var opdrnr = getQParamInt("opdrnr", null, true); // opdracht nummer is voor de gebruiker hetzelfde als mld_key
var opdr_key = getQParamInt("opdr_key", null, true); // opdracht nummer is voor de gebruiker hetzelfde als mld_key
var bes = (getQParamInt("bes", 0) == 1);
var cnt_key = "";
@@ -89,7 +89,7 @@ var date_to = getQParamDate("date_to", null);
var date_from = getQParamDate("date_from", null);
opdr_list ( { urole : urole,
opdrnr: opdrnr,
opdr_key: opdr_key,
outputmode: outputmode,
showall: showall,
caller_key: (sName_key != -1 ? sName_key : null),

View File

@@ -235,27 +235,29 @@ function res_list (pautfunction, params)
if (host_key)
theResrsv += " AND res_rsv_ruimte_host_key = " + host_key;
if (frontend)
{
var prsKeys = "" + user_key;
if (S("prs_collegas_used") == 1)
{ // String met collega keys voor de tijd bepalen want sql string duurde te lang.
sql_collegas = " SELECT prs_perslid_key"
+ " FROM prs_collega"
+ " WHERE prs_perslid_key_alt = " + user_key;
oRs = Oracle.Execute(sql_collegas);
while (!oRs.eof)
{
prsKeys += "," + oRs(0).value;
oRs.MoveNext();
}
}
theResrsv += " AND (res_rsv_ruimte_contact_key IN (" + prsKeys + ")"
+ " OR res_rsv_ruimte_host_key IN (" + prsKeys + "))";
}
}
theResrsv += ")";
if (frontend) // Altijd de FE-autorisatie erop
{
var prsKeys = "" + user_key;
if (S("prs_collegas_used") == 1)
{ // String met collega keys voor de tijd bepalen want sql string duurde te lang.
sql_collegas = " SELECT prs_perslid_key"
+ " FROM prs_collega"
+ " WHERE prs_perslid_key_alt = " + user_key;
oRs = Oracle.Execute(sql_collegas);
while (!oRs.eof)
{
prsKeys += "," + oRs(0).value;
oRs.MoveNext();
}
}
theResrsv += " AND (res_rsv_ruimte_contact_key IN (" + prsKeys + ")"
+ " OR res_rsv_ruimte_host_key IN (" + prsKeys + "))";
}
theResrsv += ")";
if (frontend || fronto)
{ // Make ResultsetTable for FE or FO

View File

@@ -33,7 +33,7 @@ var BIND_PERSOO = 0x10;
var BIND_INSDEE = 0x20; // Onderdeel
srtdeel_binding = 0xFF; // Veronderstel nog even dat alles mag
var binding = 0;
var sleutel_binding = srtdeel_binding & (BIND_RUIMTE + BIND_TERREI);
var sleutel_binding = srtdeel_binding & (BIND_RUIMTE + BIND_TERREI + BIND_PERSOO);
var cilinder_binding = srtdeel_binding & (BIND_RUIMTE + BIND_TERREI);
function saveSrtKenmerkdeel(srtdeel_key, params)

View File

@@ -167,13 +167,29 @@ function slecil_list (params)
+ " AND dl2.ins_srtdeel_key = " + ins_srtdeel_key;
// Sleutels die passen op niet uitgegeven cilinders
// Gedeelte: AND ((dl2.ins_alg_ruimte_key = p.prs_perslid_key AND p.prs_perslid_key = p1.prs_perslid_key) OR dl2.ins_alg_ruimte_key IS NULL)
// gesplits t.b.v. performance
sqlSleutels += " UNION "
+ sqlBasis
+ " AND dl1.ins_alg_ruimte_type_org IS NULL"
+ " AND dl1.ins_alg_ruimte_type = 'R'"
+ " AND ((dl2.ins_alg_ruimte_key = p.prs_perslid_key"
+ " AND p.prs_perslid_key = p1.prs_perslid_key)"
+ " OR dl2.ins_alg_ruimte_key IS NULL)"
// Gesplitst.
+ " AND dl2.ins_alg_ruimte_key = p.prs_perslid_key"
+ " AND p.prs_perslid_key = p1.prs_perslid_key"
+ (authparamsSLEBOF&&authparamsSLEBOF.ALGreadlevel > -1
? " AND EXISTS"
+ " (SELECT alg_ruimte_key FROM fac_v_my_rooms"
+ " WHERE prs_perslid_key = " + user_key
+ " AND niveau = " + authparamsSLEBOF.ALGreadlevel
+ " AND alg_ruimte_key = dl1.ins_alg_ruimte_key"
+ ")" // Er is een scope-beperking van kracht
: "")
+ " UNION "
+ sqlBasis
+ " AND dl1.ins_alg_ruimte_type_org IS NULL"
+ " AND dl1.ins_alg_ruimte_type = 'R'"
// Gesplitst.
+ " AND dl2.ins_alg_ruimte_key IS NULL"
+ (authparamsSLEBOF&&authparamsSLEBOF.ALGreadlevel > -1
? " AND EXISTS"
+ " (SELECT alg_ruimte_key FROM fac_v_my_rooms"

View File

@@ -16,6 +16,13 @@ function getFiltClauseSrtgroep(pfiltcode, params) // pfiltcode not used yet
{
var lfiltClause = "";
// Tot nu toe nog altijd voor alle srtgroep suggest velden de sleutelset/cilinderssets niet tonen.
// Indien ook alleen sleutelsets/cilinderssets getoond dienen te worden dan extra parameter module invoeren (params.module == "INS", params.module == "SLE")
// Vooralsnog volstaat uitsluiting van sleutelsets/cilinderssets:
lfiltClause += " AND sg.ins_discipline_key = td.ins_discipline_key"
+ " AND td.ins_discipline_module = 'INS'"
+ " AND sg.ins_srtgroep_key NOT IN (" + S("sle_ins_srt_groep_key") + ", " + S("cil_ins_srt_groep_key") + ")";
if (params.disc_key && params.disc_key > 0)
lfiltClause += " AND td.ins_discipline_key = " + params.disc_key;