FCLT#56546 Multi-acties worden nu apart gechecked of ze getoond moeten worden afh. van S(inline_actions_mld)
svn path=/Website/trunk/; revision=41140
This commit is contained in:
@@ -670,7 +670,7 @@ function mld_list (pautfunction, params)
|
||||
|
||||
function fnrowActionEnabler(oRs)
|
||||
{
|
||||
if (!S("inline_actions_mld"))
|
||||
if (!S("inline_actions_mld") && !(mld_key > 0))
|
||||
return {};
|
||||
|
||||
// We weten al dat we mogen lezen. Geef dat mee aan func_enabled_melding, die wordt daar efficienter van
|
||||
@@ -746,7 +746,76 @@ function mld_list (pautfunction, params)
|
||||
eDoorzet: eDoorzet,
|
||||
eVerwerk: eVerwerk
|
||||
};
|
||||
return data;
|
||||
}
|
||||
|
||||
function fnmultiActionEnabler()
|
||||
{
|
||||
/* Bij 1 melding lopen we toch de inline-enablers na */
|
||||
if (mld_key > 0)
|
||||
return {};
|
||||
|
||||
/* Niet multi */
|
||||
var eEdit = false;
|
||||
var eForward = false;
|
||||
var eForwardTeam = false;
|
||||
var eEmptyRequiredFields = false;
|
||||
|
||||
/* Fast check to see if we have anything to do with FO-BO handling (terug- of doorzetten) */
|
||||
sql = "SELECT ''"
|
||||
+ " FROM mld_disc_params"
|
||||
+ " WHERE mld_disc_params_directklaar > 0 AND ROWNUM = 1";
|
||||
oRs = Oracle.Execute(sql);
|
||||
var hasAnyFOBOdiscs = !oRs.eof;
|
||||
oRs.Close();
|
||||
|
||||
/* Hebben we minimaal 1 vakgroeptype die een groepering kan zijn en minimaal 1 vakgroeptype die kan groeperen? */
|
||||
var sql = "SELECT ''"
|
||||
+ " FROM ins_srtdiscipline"
|
||||
+ " WHERE EXISTS"
|
||||
+ " (SELECT ''"
|
||||
+ " FROM ins_srtdiscipline"
|
||||
+ " WHERE BITAND (ins_srtdiscipline_mldgroup, 1) = 1)"
|
||||
+ " AND EXISTS"
|
||||
+ " (SELECT ''"
|
||||
+ " FROM ins_srtdiscipline"
|
||||
+ " WHERE BITAND (ins_srtdiscipline_mldgroup, 2) = 2)";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var hasGroupable = !oRs.EoF;
|
||||
oRs.Close();
|
||||
|
||||
/* Algehele autorisatie parameters voor snelle check */
|
||||
var authparamsMLDFOF = user.checkAutorisation("WEB_MLDFOF", true);
|
||||
var authparamsMLDBOF = user.checkAutorisation("WEB_MLDBOF", true);
|
||||
var authparamsMLDBO3 = user.checkAutorisation("WEB_MLDBO3", true);
|
||||
var authparamsMLDAFR = user.checkAutorisation("WEB_MLDAFR", true);
|
||||
var hasAnyFOFWrite = authparamsMLDFOF && (authparamsMLDFOF.PRSwritelevel < 9 || authparamsMLDFOF.ALGwritelevel < 9);
|
||||
var hasAnyBOFWrite = authparamsMLDBOF && (authparamsMLDBOF.PRSwritelevel < 9 || authparamsMLDBOF.ALGwritelevel < 9);
|
||||
var hasAnyBO3Write = authparamsMLDBO3 && (authparamsMLDBO3.PRSwritelevel < 9 || authparamsMLDBO3.ALGwritelevel < 9);
|
||||
var hasAnyAFRWrite = authparamsMLDAFR && (authparamsMLDAFR.PRSwritelevel < 9 || authparamsMLDAFR.ALGwritelevel < 9);
|
||||
|
||||
var eContinue = !S("mld_disable_continuation") && hasAnyFOFWrite;
|
||||
var eVerwerk = S("mld_archive_by_gui") && hasAnyAFRWrite;
|
||||
var eGroup = hasGroupable;
|
||||
var eTerugzet = hasAnyFOBOdiscs && hasAnyBOFWrite;
|
||||
var eDoorzet = hasAnyFOBOdiscs && hasAnyFOFWrite;
|
||||
var eReject = hasAnyFOFWrite || hasAnyBOFWrite;
|
||||
var eClose = hasAnyFOFWrite || hasAnyBOFWrite;
|
||||
var eAccept = hasAnyBOFWrite || hasAnyBO3Write;
|
||||
|
||||
var data = { eEdit: eEdit,
|
||||
eReject: eReject,
|
||||
eClose: eClose,
|
||||
eAccept: eAccept,
|
||||
eContinue: eContinue,
|
||||
eForward: eForward,
|
||||
eForwardTeam: eForwardTeam,
|
||||
eEmptyRequiredFields: eEmptyRequiredFields,
|
||||
eGroup: eGroup,
|
||||
eTerugzet: eTerugzet,
|
||||
eDoorzet: eDoorzet,
|
||||
eVerwerk: eVerwerk
|
||||
};
|
||||
return data;
|
||||
}
|
||||
|
||||
@@ -1157,7 +1226,8 @@ function mld_list (pautfunction, params)
|
||||
ID: "complainstable",
|
||||
rowClass: fnrowClass,
|
||||
rowData: fnrowData,
|
||||
rowActionEnabler: (urole=="fo" || urole =="bo")?fnrowActionEnabler:null,
|
||||
rowActionEnabler: (urole=="fo" || urole =="bo") ? fnrowActionEnabler : null,
|
||||
multiActionEnabler: (urole=="fo" || urole =="bo") ? fnmultiActionEnabler : null,
|
||||
flexModule: "MLD",
|
||||
flexId: "mld_melding_key",
|
||||
flexGroupId: "mld_stdmelding_key", // Kenmerken zijn ook op stdmelding niveau gedefinieerd
|
||||
|
||||
@@ -144,6 +144,7 @@ function ResultsetTable(params)
|
||||
this.keyColumn = null;
|
||||
this.dblClick = null;
|
||||
this.rowActionEnabler = null;
|
||||
this.multiActionEnabler = null;
|
||||
this.inlineDetails = null;
|
||||
this.hasInlineDetails = null;
|
||||
this.inlineDetailsChanged = null;
|
||||
@@ -708,7 +709,6 @@ function __rsProcessResultset(processParams) // processParams wordt blind aan al
|
||||
anyMultiActions |= this.actions[i].multi;
|
||||
}
|
||||
|
||||
|
||||
// Eerst: maak <20><>n div met alle acties.
|
||||
var hasActionsCol = 0;
|
||||
var skip = 0;
|
||||
@@ -732,6 +732,8 @@ function __rsProcessResultset(processParams) // processParams wordt blind aan al
|
||||
var aantalInline = 0;
|
||||
for (var i = 0; i < this.actions.length; i++)
|
||||
{
|
||||
if (!S("inline_actions_mld") && !this.actions[i].isDefault)
|
||||
continue;
|
||||
if (this.actions[i].single === false) // triple '=' omdat undefined niet false mag zijn
|
||||
continue; // niet ook nog inline
|
||||
if (!this.actions[i].isDefault && !this.actions[i].onlyMulti)
|
||||
@@ -747,10 +749,10 @@ function __rsProcessResultset(processParams) // processParams wordt blind aan al
|
||||
actionsDiv += val + this.actions[i].caption + "</span>";
|
||||
}
|
||||
hasInlineActions = aantalInline > 0;
|
||||
html += "\n<div id='allactions_" + ID + "' class='allactions' style='display:none;z-index:13' hasActionsCol='"+hasActionsCol+"' >" + actionsDiv + "</div>";
|
||||
html += "\n<script type='text/javascript'>"
|
||||
html += "\n initActions('" + this.ID + "', "+useHamburger+")"
|
||||
html += "</script>"
|
||||
html += "\n<div id='allactions_" + ID + "' class='allactions' style='display:none;z-index:13' hasActionsCol='"+hasActionsCol+"' >" + actionsDiv + "</div>"
|
||||
+ "\n<script type='text/javascript'>"
|
||||
+ "\n initActions('" + this.ID + "', "+useHamburger+")"
|
||||
+ "</script>";
|
||||
}
|
||||
html += startTable();
|
||||
|
||||
@@ -956,6 +958,22 @@ function __rsProcessResultset(processParams) // processParams wordt blind aan al
|
||||
{
|
||||
appender = "\n<div id='multiactiondiv' style='float:left; visibility:hidden;'><span id='multilabel'>" + L("lcl_with_selected").format(0) + "</span>";
|
||||
var multiActions = 0;
|
||||
|
||||
// Geen inline acties, dus ook geen rowEnabler, dus is okformulti ook nog niet bepaald, dan doen we dat hier
|
||||
if (!S("inline_actions_mld") && multiActionEnabler)
|
||||
{
|
||||
var validateAction = multiActionEnabler();
|
||||
for (var i=0; i < actions.length; i++)
|
||||
{
|
||||
if (!actions[i].okformulti && // No double check
|
||||
(actions[i].multi && !(actions[i].onlyMulti || actions[i].single === false)) && // No unnecessary check
|
||||
actions[i].enabler && validateAction && validateAction[actions[i].enabler]) // Check
|
||||
{
|
||||
actions[i].okformulti = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (var i=0; i < actions.length; i++)
|
||||
{
|
||||
/////
|
||||
@@ -977,7 +995,7 @@ function __rsProcessResultset(processParams) // processParams wordt blind aan al
|
||||
actions[i].caption + "\", " +
|
||||
actions[i].multiOnce + ");" +
|
||||
"FcltMgr.stopPropagation(event);' class='button footerbutton'>"+actions[i].caption+"</span>";
|
||||
}
|
||||
}
|
||||
}
|
||||
if (multiActions == 0)
|
||||
appender += "<i style=\"padding-left: 9px\">" + L("lcl_no_multi_actions") + "</i>";
|
||||
|
||||
Reference in New Issue
Block a user