svn path=/Website/trunk/; revision=2036
This commit is contained in:
Maykel Geerdink
2010-07-29 06:14:18 +00:00
parent f31ddcd81d
commit eb645941e3
6 changed files with 333 additions and 225 deletions

View File

@@ -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;
}
}

View 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>

View File

@@ -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
}

View File

@@ -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});

View File

@@ -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");
}
} */

View File

@@ -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%>,