272
APPL/INS/ins.inc
272
APPL/INS/ins.inc
@@ -1,145 +1,171 @@
|
||||
<% /*
|
||||
$Revision: 1 $
|
||||
$Modtime: 14-01-10 11:03 $
|
||||
$Revision: 2 $
|
||||
$Modtime: 29-07-10 7:51 $
|
||||
*/
|
||||
|
||||
FCLTHeader.Requires({ lcl: ["INS"] });
|
||||
|
||||
ins = {
|
||||
checkAutLevel:
|
||||
function (pAutfunction, pUser_key)
|
||||
{
|
||||
// De DISTINCT in het volgende statement is erg belangrijk
|
||||
// We staan multiedit toe van objecten van verschillende disciplines
|
||||
// echter alleen als de gebruiker voor al die disciplines exact dezelfde
|
||||
// alg_level_write en prs_level_write heeft. Anders wordt het v<><76>l te complex.
|
||||
var sql = "SELECT distinct fac_gebruiker_alg_level_write, fac_gebruiker_prs_level_write "
|
||||
+ " FROM fac_v_webgebruiker w, fac_functie f, ins_deel idd "
|
||||
+ " WHERE w.ins_discipline_key = idd.ins_discipline_key "
|
||||
+ " AND w.fac_functie_key = f.fac_functie_key "
|
||||
+ " AND w.prs_perslid_key = " + pUser_key
|
||||
+ " AND fac_functie_code = '"+pAutfunction+"' "
|
||||
+ " AND ins_deel_key IN (" + inskeystring + ")"
|
||||
ins = {checkAutLevel:
|
||||
function (pAutfunction, pUser_key)
|
||||
{
|
||||
// De DISTINCT in het volgende statement is erg belangrijk
|
||||
// We staan multiedit toe van objecten van verschillende disciplines
|
||||
// echter alleen als de gebruiker voor al die disciplines exact dezelfde
|
||||
// alg_level_write en prs_level_write heeft. Anders wordt het v<><76>l te complex.
|
||||
var sql = "SELECT distinct fac_gebruiker_alg_level_write, fac_gebruiker_prs_level_write "
|
||||
+ " FROM fac_v_webgebruiker w, fac_functie f, ins_deel idd "
|
||||
+ " WHERE w.ins_discipline_key = idd.ins_discipline_key "
|
||||
+ " AND w.fac_functie_key = f.fac_functie_key "
|
||||
+ " AND w.prs_perslid_key = " + pUser_key
|
||||
+ " AND fac_functie_code = '"+pAutfunction+"' "
|
||||
+ " AND ins_deel_key IN (" + inskeystring + ")"
|
||||
|
||||
var oRs = Oracle.Execute(sql)
|
||||
if (oRs.eof)
|
||||
return false;
|
||||
var oRs = Oracle.Execute(sql)
|
||||
if (oRs.eof)
|
||||
return false;
|
||||
|
||||
/*globaal*/ alg_level = oRs("fac_gebruiker_alg_level_write").Value;
|
||||
/*globaal*/ prs_level = oRs("fac_gebruiker_prs_level_write").Value;
|
||||
/*globaal*/ alg_level = oRs("fac_gebruiker_alg_level_write").Value;
|
||||
/*globaal*/ prs_level = oRs("fac_gebruiker_prs_level_write").Value;
|
||||
|
||||
if (alg_level==9 && prs_level==9)
|
||||
return false; // Alleen leesrechten op *alle* objecten blijkbaar
|
||||
if (alg_level==9 && prs_level==9)
|
||||
return false; // Alleen leesrechten op *alle* objecten blijkbaar
|
||||
|
||||
oRs.MoveNext();
|
||||
if (!oRs.eof)
|
||||
return false; // "Autorisatie te complex! Kies alleen objecten van dezelfde discipline");
|
||||
oRs.MoveNext();
|
||||
if (!oRs.eof)
|
||||
return false; // "Autorisatie te complex! Kies alleen objecten van dezelfde discipline");
|
||||
|
||||
return true; // Okido
|
||||
},
|
||||
return true; // Okido
|
||||
},
|
||||
|
||||
//PF: idee om dit te versnellen door voorkennis te vergaren. De selecties zijn erg zwaar
|
||||
// eerste stap: in singlerecordmode zo weinig mogelijk query doen.
|
||||
// Bepaalt of we op het <20><>n object schrijfrechten hebben
|
||||
// return True als het mag, false als het niet mag
|
||||
// Pas op: parameter alg_key kan ook prs_perslid of afdeling zijn afhankelijk van bind!!
|
||||
checkAutSQL:
|
||||
function (pUser_key, bind, alg_key, disc_key)
|
||||
{
|
||||
// Helaas, we moeten 'ingewikkeld' gaan controleren
|
||||
// We weten ondertussen al de fac_gebruiker_alg_level_write dus het volgende kan
|
||||
// heel efficient.....
|
||||
// Alle ruimtes op maximaal afstand 'alg_level' van *mij*
|
||||
var fac_v_my_disc_onrgoed_write = ""
|
||||
+ "SELECT a.alg_ruimte_key"
|
||||
+ " FROM alg_v_onrgoed_familie a,"
|
||||
+ " alg_v_onrgoed_familie aa,"
|
||||
+ " alg_v_my_room mr"
|
||||
+ " WHERE mr.alg_ruimte_key = aa.alg_ruimte_key"
|
||||
+ " AND mr.prs_perslid_key = " + pUser_key
|
||||
+ " AND a.alg_onrgoed_elder_key = aa.alg_onrgoed_elder_key"
|
||||
+ " AND aa.niveau = a.niveau" // Noodzakelijk want ALG_LOCATIE heeft eigen sequence
|
||||
+ " AND aa.niveau >= " + alg_level
|
||||
updateKenmerkdeel:
|
||||
function(ins_key, skipempty)
|
||||
{
|
||||
var knum = 1;
|
||||
while(true)
|
||||
{
|
||||
var ktn = Request.Form("k" + knum + "key").Count;
|
||||
var kvn = Request.Form("k" + knum + "val").Count;
|
||||
|
||||
if (ktn < 1 && kvn < 1) break;
|
||||
|
||||
var kt = parseInt(Request.Form("k" + knum + "key"));
|
||||
var kv = '' + Request.Form("k" + knum + "val");
|
||||
kv = parseDocumentPath(kv);
|
||||
|
||||
knum++;
|
||||
if (!isNaN(kt) && kt > 0 && !(kvn < 1) && (!skipempty || kv != ''))
|
||||
{
|
||||
sql = "begin ins.Ins_Update_Kenmerkdeel_WEB(null, " + ins_key + ", " + kt + ", "
|
||||
+ (kv == ''? 'null' : safe.quoted_sql(kv)) + ", '" + (this.ins_history? this.ins_history : 1) + "', '0'); end;";
|
||||
var err = Oracle.Execute(sql, true);
|
||||
if (err.friendlyMsg)
|
||||
abort_with_warning(err.friendlyMsg);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// Alle afdelingen op maximaal afstand 'alg_level' van *mij*
|
||||
var fac_v_my_disc_afdelingen_write = ""
|
||||
+ "SELECT a.prs_afdeling_key "
|
||||
+ " FROM prs_v_afdeling_familie a, "
|
||||
+ " prs_v_afdeling_familie aa "
|
||||
+ " WHERE aa.prs_afdeling_key = " + user.prs_afdeling_key()
|
||||
+ " AND a.prs_afdeling_elder_key = aa.prs_afdeling_elder_key "
|
||||
+ " AND aa.niveau = a.niveau "
|
||||
+ " AND aa.niveau >= " + prs_level
|
||||
//PF: idee om dit te versnellen door voorkennis te vergaren. De selecties zijn erg zwaar
|
||||
// eerste stap: in singlerecordmode zo weinig mogelijk query doen.
|
||||
// Bepaalt of we op het <20><>n object schrijfrechten hebben
|
||||
// return True als het mag, false als het niet mag
|
||||
// Pas op: parameter alg_key kan ook prs_perslid of afdeling zijn afhankelijk van bind!!
|
||||
checkAutSQL:
|
||||
function (pUser_key, bind, alg_key, disc_key)
|
||||
{
|
||||
// Helaas, we moeten 'ingewikkeld' gaan controleren
|
||||
// We weten ondertussen al de fac_gebruiker_alg_level_write dus het volgende kan
|
||||
// heel efficient.....
|
||||
// Alle ruimtes op maximaal afstand 'alg_level' van *mij*
|
||||
var fac_v_my_disc_onrgoed_write = ""
|
||||
+ "SELECT a.alg_ruimte_key"
|
||||
+ " FROM alg_v_onrgoed_familie a,"
|
||||
+ " alg_v_onrgoed_familie aa,"
|
||||
+ " alg_v_my_room mr"
|
||||
+ " WHERE mr.alg_ruimte_key = aa.alg_ruimte_key"
|
||||
+ " AND mr.prs_perslid_key = " + pUser_key
|
||||
+ " AND a.alg_onrgoed_elder_key = aa.alg_onrgoed_elder_key"
|
||||
+ " AND aa.niveau = a.niveau" // Noodzakelijk want ALG_LOCATIE heeft eigen sequence
|
||||
+ " AND aa.niveau >= " + alg_level
|
||||
|
||||
switch (bind)
|
||||
{
|
||||
case 'R':
|
||||
case 'W':
|
||||
case 'T':
|
||||
if (alg_level == 9) return false; // Zeker niet op basis van alg_scope
|
||||
if (alg_level == -1) return true; // Zeker wel op basis van alg_scope
|
||||
if (bind == 'T') // Speciaal geval voor terreinsectoren
|
||||
{
|
||||
if (alg_level > 2) return false; // Zeker niet op basis van alg_scope
|
||||
rsql = " SELECT 1"
|
||||
+ " FROM alg_v_my_location avml, alg_terreinsector ats"
|
||||
+ " WHERE avml.alg_locatie_key = ats.alg_locatie_key"
|
||||
+ " AND avml.prs_perslid_key = " + pUser_key
|
||||
+ " AND ats.alg_terreinsector_key = " + alg_key
|
||||
}
|
||||
else
|
||||
rsql = " SELECT 1" // plaatsgebonden en gebruiker heeft een plaats (werkplek)
|
||||
+ " FROM ("+fac_v_my_disc_onrgoed_write+") oga"
|
||||
+ " WHERE oga.alg_ruimte_key = " + alg_key
|
||||
break;
|
||||
// Alle afdelingen op maximaal afstand 'alg_level' van *mij*
|
||||
var fac_v_my_disc_afdelingen_write = ""
|
||||
+ "SELECT a.prs_afdeling_key "
|
||||
+ " FROM prs_v_afdeling_familie a, "
|
||||
+ " prs_v_afdeling_familie aa "
|
||||
+ " WHERE aa.prs_afdeling_key = " + user.prs_afdeling_key()
|
||||
+ " AND a.prs_afdeling_elder_key = aa.prs_afdeling_elder_key "
|
||||
+ " AND aa.niveau = a.niveau "
|
||||
+ " AND aa.niveau >= " + prs_level
|
||||
|
||||
case 'P':
|
||||
if (prs_level == 9) return false; // Zeker niet op basis van prs_scope
|
||||
if (prs_level == -1) return true; // Zeker wel op basis van prs_scope
|
||||
rsql= " SELECT 2" // persoonsgebonden
|
||||
+ " FROM ("+fac_v_my_disc_afdelingen_write+") aa, prs_perslid p"
|
||||
+ " WHERE p.prs_perslid_key = " + alg_key
|
||||
+ " AND aa.prs_afdeling_key = p.prs_afdeling_key"
|
||||
+ " AND rownum=1";
|
||||
break;
|
||||
switch (bind)
|
||||
{
|
||||
case 'R':
|
||||
case 'W':
|
||||
case 'T':
|
||||
if (alg_level == 9) return false; // Zeker niet op basis van alg_scope
|
||||
if (alg_level == -1) return true; // Zeker wel op basis van alg_scope
|
||||
if (bind == 'T') // Speciaal geval voor terreinsectoren
|
||||
{
|
||||
if (alg_level > 2) return false; // Zeker niet op basis van alg_scope
|
||||
rsql = " SELECT 1"
|
||||
+ " FROM alg_v_my_location avml, alg_terreinsector ats"
|
||||
+ " WHERE avml.alg_locatie_key = ats.alg_locatie_key"
|
||||
+ " AND avml.prs_perslid_key = " + pUser_key
|
||||
+ " AND ats.alg_terreinsector_key = " + alg_key
|
||||
}
|
||||
else
|
||||
rsql = " SELECT 1" // plaatsgebonden en gebruiker heeft een plaats (werkplek)
|
||||
+ " FROM ("+fac_v_my_disc_onrgoed_write+") oga"
|
||||
+ " WHERE oga.alg_ruimte_key = " + alg_key
|
||||
break;
|
||||
|
||||
case 'A':
|
||||
if (prs_level == 9) return false; // Zeker niet op basis van prs_scope
|
||||
if (prs_level == -1) return true; // Zeker wel op basis van prs_scope
|
||||
rsql= " SELECT 3" // afdelingsgebonden
|
||||
+ " FROM ("+fac_v_my_disc_afdelingen_write+") aa"
|
||||
+ " WHERE aa.prs_afdeling_key = " + alg_key
|
||||
+ " AND rownum=1";
|
||||
break;
|
||||
}
|
||||
return !(Oracle.Execute(rsql).eof);
|
||||
},
|
||||
case 'P':
|
||||
if (prs_level == 9) return false; // Zeker niet op basis van prs_scope
|
||||
if (prs_level == -1) return true; // Zeker wel op basis van prs_scope
|
||||
rsql= " SELECT 2" // persoonsgebonden
|
||||
+ " FROM ("+fac_v_my_disc_afdelingen_write+") aa, prs_perslid p"
|
||||
+ " WHERE p.prs_perslid_key = " + alg_key
|
||||
+ " AND aa.prs_afdeling_key = p.prs_afdeling_key"
|
||||
+ " AND rownum=1";
|
||||
break;
|
||||
|
||||
// Check de autorisatie van alle objecten. We eisen overal schrijfrechten op
|
||||
// We testen per unieke ins_alg_ruimte_type, ins_alg_ruimte_key, ins_discipline_key
|
||||
// waardoor er een sterke performanceverbetering is als bijvoorbeeld
|
||||
// alle objecten van dezelfde discipline zijn en van dezelfde ruimte/persoon/afdeling
|
||||
checkAutSQLMultiple:
|
||||
function (autfunction)
|
||||
{
|
||||
var sql, oRs;
|
||||
sql = "SELECT ins_alg_ruimte_type, ins_alg_ruimte_key, ins_discipline_key "
|
||||
+ " FROM ins_deel WHERE ins_deel_key IN (" + inskeystring + ")"
|
||||
+ " GROUP BY ins_alg_ruimte_type, ins_alg_ruimte_key, ins_discipline_key";
|
||||
oRs = Oracle.Execute( sql );
|
||||
case 'A':
|
||||
if (prs_level == 9) return false; // Zeker niet op basis van prs_scope
|
||||
if (prs_level == -1) return true; // Zeker wel op basis van prs_scope
|
||||
rsql= " SELECT 3" // afdelingsgebonden
|
||||
+ " FROM ("+fac_v_my_disc_afdelingen_write+") aa"
|
||||
+ " WHERE aa.prs_afdeling_key = " + alg_key
|
||||
+ " AND rownum=1";
|
||||
break;
|
||||
}
|
||||
return !(Oracle.Execute(rsql).eof);
|
||||
},
|
||||
|
||||
while (mayEdit && !oRs.Eof)
|
||||
{
|
||||
var bind = oRs("ins_alg_ruimte_type").value;
|
||||
var alg_key = oRs("ins_alg_ruimte_key").value; // Kan ook prs_perslid of afdeling zijn!!
|
||||
var disc_key = oRs("ins_discipline_key").value;
|
||||
// Check de autorisatie van alle objecten. We eisen overal schrijfrechten op
|
||||
// We testen per unieke ins_alg_ruimte_type, ins_alg_ruimte_key, ins_discipline_key
|
||||
// waardoor er een sterke performanceverbetering is als bijvoorbeeld
|
||||
// alle objecten van dezelfde discipline zijn en van dezelfde ruimte/persoon/afdeling
|
||||
checkAutSQLMultiple:
|
||||
function (autfunction)
|
||||
{
|
||||
var sql, oRs;
|
||||
sql = "SELECT ins_alg_ruimte_type, ins_alg_ruimte_key, ins_discipline_key "
|
||||
+ " FROM ins_deel WHERE ins_deel_key IN (" + inskeystring + ")"
|
||||
+ " GROUP BY ins_alg_ruimte_type, ins_alg_ruimte_key, ins_discipline_key";
|
||||
oRs = Oracle.Execute( sql );
|
||||
|
||||
mayEdit = ins.checkAutSQL(user_key, bind, alg_key, disc_key);
|
||||
while (mayEdit && !oRs.Eof)
|
||||
{
|
||||
var bind = oRs("ins_alg_ruimte_type").value;
|
||||
var alg_key = oRs("ins_alg_ruimte_key").value; // Kan ook prs_perslid of afdeling zijn!!
|
||||
var disc_key = oRs("ins_discipline_key").value;
|
||||
|
||||
oRs.moveNext();
|
||||
}
|
||||
return mayEdit;
|
||||
}
|
||||
mayEdit = ins.checkAutSQL(user_key, bind, alg_key, disc_key);
|
||||
|
||||
oRs.moveNext();
|
||||
}
|
||||
return mayEdit;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
120
APPL/INS/ins_edit_deel_multi.asp
Normal file
120
APPL/INS/ins_edit_deel_multi.asp
Normal file
@@ -0,0 +1,120 @@
|
||||
<%@language = "javascript" %>
|
||||
<% /*
|
||||
$Revision: 1 $
|
||||
$Modtime: 29-07-10 7:51 $
|
||||
|
||||
File: ins_edit_multi.asp
|
||||
Description: Multi editten van de flexkenmerken van objecten
|
||||
Parameters: ins_keys
|
||||
|
||||
Context:
|
||||
Note:
|
||||
|
||||
*/ %>
|
||||
<!-- #include file="../../cust/install.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../Shared/save2db.inc" -->
|
||||
<!-- #include file="../Shared/kenmerk_common.inc" -->
|
||||
<!-- #include file="./ins_flexkenmerk.inc" -->
|
||||
<!-- #include file="ins.inc" -->
|
||||
|
||||
<%
|
||||
var urole = getQParam("urole");
|
||||
var fronto = urole == "fo";
|
||||
var backo = urole == "bo";
|
||||
var minfo = urole == "mi";
|
||||
var frontend = (!fronto & !backo & !minfo);
|
||||
var autfunction = urole == "fo"? "WEB_INSFOF" : "WEB_INSMAN";
|
||||
|
||||
// De functie checkAutorisation(autfunction) geeft een Response.End indien er geen autorisatie voor autfunction wordt gevonden
|
||||
var authparams = user.checkAutorisation(autfunction);
|
||||
%>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<% FCLTHeader.Generate(); %>
|
||||
<%
|
||||
var ins_keys = getQMultiParam('ins_keys');
|
||||
var submitting = getQParam("submit", "0") == "1";
|
||||
|
||||
if (submitting)
|
||||
{
|
||||
var ins_key = ins_keys.split(',');
|
||||
for (var i = 0; i < ins_key.length; i++)
|
||||
{
|
||||
if (!isNaN(ins_key[i]) && ins_key[i] > 0)
|
||||
{
|
||||
ins.updateKenmerkdeel(ins_key[i], true);
|
||||
}
|
||||
}
|
||||
|
||||
%> <script type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
FcltMgr.closeDetail(window, { warning: null } )
|
||||
});
|
||||
</script>
|
||||
<% Response.End();
|
||||
}
|
||||
%>
|
||||
|
||||
<script type="text/javascript">
|
||||
function ins_submit()
|
||||
{
|
||||
u2.submit();
|
||||
}
|
||||
|
||||
function ins_cancel()
|
||||
{
|
||||
FcltMgr.closeDetail(window, { cancel: true } );
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
|
||||
<body class="modal" id="mod_insmultiedit">
|
||||
<%
|
||||
sql = "SELECT DISTINCT s.ins_srtdeel_omschrijving"
|
||||
+ ", s.ins_srtdeel_key"
|
||||
+ ", d.ins_alg_ruimte_type"
|
||||
+ ", d.ins_alg_locatie_key"
|
||||
+ " FROM ins_deel d"
|
||||
+ ", ins_srtdeel s"
|
||||
+ " WHERE s.ins_srtdeel_key = d.ins_srtdeel_key"
|
||||
+ " AND d.ins_deel_key in (" + ins_keys + ")";
|
||||
oRs = Oracle.Execute(sql);
|
||||
var ins_srtdeel_key = oRs("ins_srtdeel_key").value;
|
||||
var i = 0;
|
||||
while (!oRs.eof)
|
||||
{
|
||||
i++;
|
||||
if (oRs("ins_srtdeel_key").value != ins_srtdeel_key) ins_srtdeel_key = -1;
|
||||
oRs.MoveNext();
|
||||
}
|
||||
oRs.close();
|
||||
%>
|
||||
<form name="u2" action="ins_edit_deel_multi.asp?submit=1&ins_keys=<%=ins_keys%>&urole=<%=urole%>" method="post">
|
||||
<% BLOCK_START("insMultiEdit", lcl_flexible_properties)
|
||||
if (ins_srtdeel_key == -1)
|
||||
{
|
||||
Response.write(LCL.ins.diff_objsrt);
|
||||
}
|
||||
else
|
||||
{
|
||||
generateFlexKenmerkCode({ urole: urole,
|
||||
ins_key: -1,
|
||||
srtdeel_str: ins_srtdeel_key,
|
||||
reado: false
|
||||
});
|
||||
}
|
||||
|
||||
BLOCK_END()
|
||||
var buttons = [];
|
||||
if (ins_srtdeel_key > 0)
|
||||
buttons.push({title: lcl_submit, action:"ins_submit()"})
|
||||
buttons.push({title: lcl_cancel, action:"ins_cancel()"})
|
||||
CreateButtons(buttons)
|
||||
%>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,16 +1,16 @@
|
||||
<%@language = "javascript" %>
|
||||
<% /*
|
||||
$Revision: 6 $
|
||||
$Modtime: 13-07-10 11:16 $
|
||||
$Revision: 7 $
|
||||
$Modtime: 29-07-10 8:10 $
|
||||
|
||||
File: ins_edit_deel_save.asp
|
||||
Status: 95%
|
||||
Description: SUBMIT-form
|
||||
*/ %>
|
||||
|
||||
<!-- #include file="../../cust/install.inc" -->
|
||||
<!-- #include file="../shared/save2db.inc" -->
|
||||
<!-- #include file="../Shared/kenmerk_common.inc"-->
|
||||
<!-- #include file="../Shared/kenmerk_common.inc" -->
|
||||
<!-- #include file="./ins.inc" -->
|
||||
|
||||
|
||||
<% FCLTHeader.Requires({ plugins:["jQuery"],
|
||||
@@ -39,33 +39,7 @@
|
||||
var autfunction = urole == "fo"? "WEB_INSFOF" : "WEB_INSMAN";
|
||||
var authparams = user.checkAutorisation(autfunction);
|
||||
|
||||
function updateKenmerkdeel() {
|
||||
var knum=1;
|
||||
while(true) {
|
||||
|
||||
var ktn = Request.Form("k"+knum+"key").Count;
|
||||
var kvn = Request.Form("k"+knum+"val").Count;
|
||||
|
||||
if( ktn < 1 && kvn < 1 ) break;
|
||||
|
||||
var kt = parseInt(Request.Form("k"+knum+"key"));
|
||||
var kv = ''+Request.Form("k"+knum+"val");
|
||||
kv = parseDocumentPath(kv);
|
||||
|
||||
knum++;
|
||||
if( !isNaN(kt) && kt > 0 && !(kvn < 1) /*&& kv != ''*/ ) {
|
||||
|
||||
sql = "begin ins.Ins_Update_Kenmerkdeel_WEB(null, "+obj_key+", "+kt+", "
|
||||
+ (kv==''?'null':safe.quoted_sql(kv))+", '"+(this.ins_history?this.ins_history:1)+"', '0'); end;";
|
||||
var err = Oracle.Execute( sql, true );
|
||||
if (err.friendlyMsg)
|
||||
abort_with_warning(err.friendlyMsg);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(dept_key > 0)
|
||||
if(dept_key > 0)
|
||||
{
|
||||
bind_key = dept_key;
|
||||
bind = "A";
|
||||
@@ -134,7 +108,7 @@ if (obj_key > 0)
|
||||
}
|
||||
|
||||
oRs = Oracle.Execute(sql);
|
||||
updateKenmerkdeel();
|
||||
ins.updateKenmerkdeel(obj_key);
|
||||
|
||||
if (free == 0) {
|
||||
var sql = "SELECT pf.prs_perslid_naam_full FROM prs_v_perslid_fullnames_all pf "
|
||||
@@ -162,7 +136,7 @@ if (obj_key > 0)
|
||||
|
||||
if (!warning)
|
||||
{
|
||||
updateKenmerkdeel();
|
||||
ins.updateKenmerkdeel(obj_key);
|
||||
}
|
||||
|
||||
shared.trackaction("INSUPD", obj_key);
|
||||
@@ -230,7 +204,7 @@ if (obj_key > 0)
|
||||
|
||||
if (!warning)
|
||||
{
|
||||
updateKenmerkdeel();
|
||||
ins.updateKenmerkdeel(obj_key);
|
||||
}
|
||||
} // for i_count
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<% /*
|
||||
$Revision: 16 $
|
||||
$Modtime: 13-07-10 10:53 $
|
||||
$Revision: 17 $
|
||||
$Modtime: 28-07-10 12:16 $
|
||||
|
||||
File: INS/ins_list.inc
|
||||
Description: Show an overview of objects in list-form.
|
||||
@@ -49,10 +49,10 @@
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!-- #include file="../Shared/resultset_table_v2.inc" -->
|
||||
<!-- #include file="../Shared/getkenmerksql.inc" -->
|
||||
|
||||
<!-- #include file="../Shared/discx3d.inc" -->
|
||||
<!-- #include file="../Shared/date_sql.inc"-->
|
||||
<!-- #include file="../Shared/getvalues.inc" -->
|
||||
<!-- #include file="./ins.inc" -->
|
||||
|
||||
<%
|
||||
FCLTHeader.Requires({ plugins:["jQuery"],
|
||||
@@ -124,43 +124,7 @@ function ins_list (pautfunction, params)
|
||||
FCLTHeader.Generate({ outputmode: outputmode });
|
||||
%>
|
||||
<script type="text/javascript">
|
||||
var urole = "<%=urole%>";
|
||||
function insDelete(row, isMulti)
|
||||
{
|
||||
$(row).addClass('dirty');
|
||||
var ins_key = row.ROWKEY;
|
||||
if (isMulti || confirm("<%=lcl_ins_del_txt_deel%>"))
|
||||
$.post("ins_delete.asp",
|
||||
{ key: ins_key,
|
||||
level: "D" },
|
||||
FcltCallback,
|
||||
"json");
|
||||
}
|
||||
|
||||
//TODO: werkt voor single items. Nu nog voor multi?
|
||||
|
||||
function insCheckIn(rowArray, isMulti)
|
||||
{
|
||||
$(rowArray).addClass('dirty');
|
||||
var insKeyString = getKeyString(rowArray)
|
||||
if (confirm("<%=lcl_ins_insinn%>"))
|
||||
$.post("ins_deel_free_save.asp?obj_key="+insKeyString,
|
||||
{},
|
||||
FcltCallbackRefresh,
|
||||
"json");
|
||||
}
|
||||
|
||||
function insCheckOut(rowArray)
|
||||
{
|
||||
var insKeyString = getKeyString(rowArray)
|
||||
FcltMgr.openModalDetail("../INS/ins_deel_free.asp?obj_key="+insKeyString, "<%=lcl_obj_lend_out%>", {callback: refreshall});
|
||||
}
|
||||
|
||||
function refreshall(data)
|
||||
{
|
||||
if (data.refresh)
|
||||
window.location.reload();
|
||||
}
|
||||
var urole = "<%=urole%>";
|
||||
</script>
|
||||
|
||||
|
||||
@@ -917,13 +881,14 @@ function ins_list (pautfunction, params)
|
||||
{
|
||||
// 1 van de 2 mag zichtbaar zijn. Kijken naar query resultaat!!!
|
||||
// PF: TODO: multi in/uit werkt niet goed
|
||||
rst.addAction({ action: "insCheckOut", caption: lcl_obj_lend_out, enabler: "eLendOut", multi:true, multiOnce: true});
|
||||
rst.addAction({ action: "insCheckIn", caption: lcl_obj_receive, enabler: "eReceive", multi:true, multiOnce: true});
|
||||
rst.addAction({ action: "insCheckOut", caption: lcl_obj_lend_out, enabler: "eLendOut", multi: true, multiOnce: true});
|
||||
rst.addAction({ action: "insCheckIn", caption: lcl_obj_receive, enabler: "eReceive", multi: true, multiOnce: true});
|
||||
}
|
||||
if (backo)
|
||||
{
|
||||
rst.addAction({ action: "insEdit", caption: lcl_change, enabler: "eEdit", isDefault: true, multiOnce: true});
|
||||
rst.addAction({ action: "insDelete", caption: lcl_delete, enabler: "eDelete", multi:true, single:false});
|
||||
rst.addAction({ action: "insDelete", caption: lcl_delete, enabler: "eDelete", multi: true, single:false});
|
||||
rst.addAction({ action: "insMultiEdit", caption: LCL.ins.multi_edit, enabler: "eEdit", multi: true, multiOnce: true});
|
||||
}
|
||||
} else { // embedded
|
||||
rst.addAction({ action: "insEdit1", caption: lcl_change, enabler: "eEdit", isDefault: true, multi: false, single:true});
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
$Revision: 4 $
|
||||
$Modtime: 24-03-10 16:07 $
|
||||
$Revision: 5 $
|
||||
$Modtime: 29-07-10 8:12 $
|
||||
|
||||
Status: 90%
|
||||
*/
|
||||
@@ -131,6 +131,7 @@ function insEdit1(row)
|
||||
{
|
||||
insEdit([row]);
|
||||
}
|
||||
|
||||
function insEdit(rowArray, isMulti, mode)
|
||||
{
|
||||
var insKeyString = getKeyString(rowArray); // regels worden ook op dirty gezet
|
||||
@@ -186,26 +187,47 @@ function insEdit(rowArray, isMulti, mode)
|
||||
}
|
||||
}
|
||||
|
||||
// Autorisatie kan heel complex zijn. Laat dat controleren door ins_loader.asp
|
||||
/* function insDelete(rowArray, isMulti)
|
||||
function insDelete(row, isMulti)
|
||||
{
|
||||
var insKeyString = getKeyString(rowArray); // regels worden ook op dirty gezet
|
||||
$(row).addClass('dirty');
|
||||
var ins_key = row.ROWKEY;
|
||||
if (isMulti || confirm(LCL.ins.del_txt_deel))
|
||||
$.post("ins_delete.asp",
|
||||
{ key: ins_key,
|
||||
level: "D" },
|
||||
FcltCallback,
|
||||
"json");
|
||||
}
|
||||
|
||||
// Multi indien insKeyString meerdere keys bevat
|
||||
if (insKeyString != "")
|
||||
{
|
||||
// @@TODO: gebruik van showModalDialog is hier niet zo mooi. Deze geeft een extra popup scherm die geen functie heeft.
|
||||
var sFeatures = "dialogHeight:260px;dialogWidth:600px;status=no;dialogHide=yes";
|
||||
var url = "../INS/ins_deel.asp?doDelete=1&inskeystring=" + insKeyString + '&urole=' + urole + (isMulti? "&ismulti=1" : "");
|
||||
// TODO zoiets lijkt mij dan
|
||||
var url = "../INS/ins_delete.asp?inskeystring=" + insKeyString + '&urole=' + urole + (isMulti? "&ismulti=1" : "");
|
||||
var result = window.showModalDialog("../shared/ModalForm.asp", url, sFeatures);
|
||||
if (!result)
|
||||
return false; // cancel of niet voldoende rechten
|
||||
function refreshall(data)
|
||||
{
|
||||
if (data.refresh)
|
||||
window.location.reload();
|
||||
}
|
||||
|
||||
//TODO: werkt voor single items. Nu nog voor multi?
|
||||
function insCheckIn(rowArray, isMulti)
|
||||
{
|
||||
$(rowArray).addClass('dirty');
|
||||
var insKeyString = getKeyString(rowArray)
|
||||
if (confirm(LCL.ins.insinn))
|
||||
$.post("ins_deel_free_save.asp?obj_key=" + insKeyString,
|
||||
{},
|
||||
FcltCallbackRefresh,
|
||||
"json");
|
||||
}
|
||||
|
||||
function insCheckOut(rowArray)
|
||||
{
|
||||
var insKeyString = getKeyString(rowArray)
|
||||
FcltMgr.openModalDetail("../INS/ins_deel_free.asp?obj_key=" + insKeyString, LCL.ins.lend_out, {callback: refreshall});
|
||||
}
|
||||
|
||||
function insMultiEdit(rowArray)
|
||||
{
|
||||
var insKeyString = getKeyString(rowArray);
|
||||
var subject = LCL.ins.multi_edit;
|
||||
var url = "../ins/ins_edit_deel_multi.asp?ins_keys=" + insKeyString + "&urole=" + urole;
|
||||
FcltMgr.openModalDetail(url, subject);
|
||||
}
|
||||
|
||||
$.post("ins_delete.asp",
|
||||
{ inskeystring: insKeyString },
|
||||
FcltCallback,
|
||||
"json");
|
||||
}
|
||||
} */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<%@ language="javascript"%>
|
||||
<% /*
|
||||
$Revision: 14 $
|
||||
$Modtime: 20-05-10 21:42 $
|
||||
$Revision: 15 $
|
||||
$Modtime: 28-07-10 10:19 $
|
||||
|
||||
File: ins_show_deel.asp
|
||||
Description: show detailed information of an object
|
||||
@@ -16,6 +16,7 @@
|
||||
<!-- #include file="../Shared/iface.inc"-->
|
||||
<!-- #include file="../Shared/datetime.inc" -->
|
||||
<!-- #include file="./ins_flexkenmerk.inc" -->
|
||||
<!-- #include file="./ins.inc" -->
|
||||
<%
|
||||
FCLTHeader.Requires({plugins:["jQuery"], js: ["../Shared/kenmerk_js.asp"]})
|
||||
|
||||
@@ -214,7 +215,7 @@ if (parent_key != null) {
|
||||
|
||||
function ins_delete()
|
||||
{
|
||||
if (confirm("<%=lcl_ins_del_txt_deel%>"))
|
||||
if (confirm(LCL.ins.del_txt_deel))
|
||||
{
|
||||
$.post("ins_delete.asp",
|
||||
{ key: <%=ins_key%>,
|
||||
|
||||
Reference in New Issue
Block a user