Resultset van gemaakt

svn path=/Website/trunk/; revision=31445
This commit is contained in:
Peter Feij
2016-11-12 01:41:23 +00:00
parent 18c6ac3248
commit 160a56a9ab
2 changed files with 75 additions and 68 deletions

View File

@@ -6,33 +6,62 @@
File: fac_user_messages.asp (formerly news/news.asp)
Description: Toont de gebruikersberichten (statusinfo) in een grid
Note: Niet erg gewijzigd, wel wat harde aannames toegevoegd,
Functioneel is de noodzaak voor deze info veel minder
Note: Functioneel is de noodzaak voor deze info veel minder
geworden vanwege fac_list die veel meer info toont.
Geen resulttable hier, bij uitzondering
Toch maar eens via resulttable
*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="../Shared/resultset_table_v2.inc" -->
<%
FCLTHeader.Requires({ plugins: ["jQuery"],
js: ["./fac_user_messages.js"] });
var showall = getQParamInt("showall", 0) == 1;
var outputmode = getQParamInt("outputmode", 0);
function fnrowClass(oRs)
{
var lclass = "";
// zo was het, gewoon overgenomen
if (oRs("web_user_mess_action_status").Value == 1)
{
if (oRs("web_user_mess_prioriteit").value==1)
lclass = "newstextFreshRed";
else
lclass = "newstextFresh";
}
else
lclass = "newstext";
return lclass;
}
function fnrowData(oRs)
{
var data = {};
data.action = oRs("fac_srtnotificatie_url").Value + oRs("web_user_mess_action_params").Value;
data.action = data.action.replace(/\#/g, "&");
if (data.action.indexOf("&urole") < 0)
data.action += "&urole=fe";
return JSON.stringify(data);
}
%>
<html>
<head>
<% FCLTHeader.Generate() %>
</head>
<% FCLTHeader.Generate({outputmode:outputmode}) %>
</head>
<body class="listbody" id="usermessbody">
<% var buttons = [];
buttons.push({title: L("lcl_mark_as_read_all"), icon: "bin_closed.png", action: "MarkAsReadAll()"});
IFRAMER_HEADER(L("lcl_recent_news"), buttons); %>
<%
var buttons = [];
buttons.push({title: L("lcl_mark_as_read_all"), icon: "bin_closed.png", action: "facDelete()"});
buttons.push({title: L("lcl_refresh"), icon: "page_refresh.png", action: "FcltMgr.reload()" });
<table id="usermess" width='100%'>
<% if (user_key != -1)
{
if (user_key != -1)
{
var sql = "SELECT m.web_user_mess_dsc"
+ ", sn.fac_srtnotificatie_url"
+ ", COALESCE(m.web_user_mess_action_params, ' ') web_user_mess_action_params"
@@ -49,56 +78,25 @@
// Tweeledig: beperken, maar tevens zorgen dat de sortering goed blijft!
// Dat is: de nieuwste berichten bovenaan
sql = "SELECT * FROM (" + sql + ") WHERE ROWNUM < " + S("portalnewsmax");
oRs = Oracle.Execute(sql);
var rst = new ResultsetTable({
sql: sql,
keyColumn: "web_user_message_key",
ID: "usermess",
rowData: fnrowData,
rowClass: fnrowClass,
title: L("lcl_recent_news"),
showAll: showall,
outputmode: outputmode,
buttons: buttons
});
rst.addColumn(new Column({caption: L("lcl_date"), content: "web_user_mess_action_datum", datatype: "datetime", prettydate: true, nowrap: true }));
rst.addColumn(new Column({caption: L("lcl_message"), content: "web_user_mess_dsc"}));
rst.addAction({ action: "DoAction", caption: "", isDefault: true });
rst.addAction({ action: "facDelete", caption: L("lcl_mark_as_read") });
while (!oRs.eof)
{
var isNew = oRs("web_user_mess_action_status").Value == 1;
var cnt = rst.processResultset();
if (oRs("fac_srtnotificatie_url").Value != null )
{
var action = oRs("fac_srtnotificatie_url").Value + oRs("web_user_mess_action_params").Value;
action = action.replace(/\#/g, "&");
if (action.indexOf("&urole") < 0)
action += "&urole=fe";
}
else
var action = false;
var headline=oRs("web_user_mess_dsc").value;
var headlinetitle = ""
if (action)
{
// limit the length if it is too long and the user may click on it
if (headline.length > S("portalnewslength"))
{
headlinetitle = headline;
headline = headline.substr(0,S("portalnewslength"))+'...';
}
}
%> <tr messKey=<%=oRs("web_user_message_key")%> class="<% = (isNew ? (oRs("web_user_mess_prioriteit").value==1?'newstextFreshRed':'newstextFresh') : 'newstext')%>">
<td class="markread"
title="<%=L("lcl_mark_as_read")%>"
onClick="MarkAsRead(<%=oRs("web_user_message_key")%>, <%=isNew?1:0%>, 1)">
</td>
<td class="usermsgdate"><%=toDateTimeString(new Date(oRs("web_user_mess_action_datum").value), false, false, true)%></td>
<td class="usermessage"><%
if (action)
{
%> <a class="<%=(isNew ? (oRs("web_user_mess_prioriteit").value==1?'newstextFreshRed':'newstextFresh') : 'newstext')%>"
onclick='DoAction("<%=oRs("web_user_message_key").Value%>","<%=isNew?'true':'false'%>","appl/<%=safe.htmlattr(action)%>")'
title="<%=safe.htmlattr(headlinetitle)%>"
target="_parent"><% = safe.html(headline) %></a><%
}
else
{
Response.Write(safe.html(headline));
}
%> </td></tr><%
oRs.MoveNext();
}
}
%>
</table>
</body>
</html>

View File

@@ -4,14 +4,24 @@
JS voor fac_user_messages.asp
*/
function DoAction(messKey, isNew, action) {
if (isNew)
MarkAsRead(messKey, isNew, 0);
FcltMgr.openDetail(action, { reuse: true });
function DoAction(row) {
var key = row.getAttribute("ROWKEY");
var rowData = eval("(" + row.getAttribute("ROWDATA") + ")");
if (rowData.action)
{
MarkAsRead(key,0);
FcltMgr.openDetail("appl/"+rowData.action, { reuse: true });
}
}
function MarkAsRead(messKey, wasnew, dopurge) {
var purl = "fac_user_messages_setReadFlag.asp?messKey=" + messKey+(dopurge==1 ? "&purge=1" : "");
function facDelete(row) {
var key = row.getAttribute("ROWKEY");
MarkAsRead(key,1);
}
function MarkAsRead(messKey, dodelete) {
var purl = "fac_user_messages_setReadFlag.asp?messKey=" + messKey+(dodelete==1 ? "&purge=1" : "");
var data = {messKey: messKey};
protectRequest.dataToken(data);
@@ -20,8 +30,7 @@ function MarkAsRead(messKey, wasnew, dopurge) {
,FcltCallback
,"json"
);
if (dopurge) $("[messKey="+messKey+"]").hide();
if (dodelete) $("[ROWKEY="+messKey+"]").hide();
}
function MarkAsReadAll()