125 lines
4.9 KiB
Plaintext
125 lines
4.9 KiB
Plaintext
<%@language="javascript"%>
|
|
<% /*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: fac_user_messages.asp (formerly news/news.asp)
|
|
Description: Toont de gebruikersberichten (statusinfo) in een grid
|
|
|
|
Note: Functioneel is de noodzaak voor deze info veel minder
|
|
geworden vanwege fac_list die veel meer info toont.
|
|
|
|
Toch maar eens via resulttable
|
|
*/ %>
|
|
|
|
<!-- #include file="../Shared/common.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 = {};
|
|
if (oRs("fac_srtnotificatie_url").Value)
|
|
{
|
|
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);
|
|
}
|
|
function fnrowActionEnabler(oRs)
|
|
{
|
|
var data = { eDefault: oRs("fac_srtnotificatie_url").Value != null };
|
|
return data;
|
|
}
|
|
%>
|
|
<html>
|
|
<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()"});
|
|
buttons.push({title: L("lcl_refresh"), icon: "page_refresh.png", action: "FcltMgr.reload()" });
|
|
|
|
if (user_key != -1)
|
|
{
|
|
function fncolReceiver(oRs)
|
|
{
|
|
var receiver = (oRs("prs_perslid_key_receiver").Value == user_key ? "" : oRs("receiver_name").Value);
|
|
return safe.html(receiver);
|
|
}
|
|
|
|
var prsKeys = (user.hasCollegas() ? user.collegakeylist() : user_key);
|
|
|
|
var sql = "SELECT m.web_user_mess_dsc"
|
|
+ ", sn.fac_srtnotificatie_url"
|
|
+ ", COALESCE(m.web_user_mess_action_params, ' ') web_user_mess_action_params"
|
|
+ ", m.web_user_mess_action_status"
|
|
+ ", m.web_user_mess_action_datum"
|
|
+ ", m.web_user_message_key"
|
|
+ ", m.prs_perslid_key_receiver"
|
|
+ ", web_user_mess_prioriteit"
|
|
+ ", " + S("prs_pers_string") + " receiver_name"
|
|
+ " FROM web_user_messages m, fac_srtnotificatie sn, prs_perslid p"
|
|
+ " WHERE (m.prs_perslid_key_receiver IN (" + prsKeys + ")"
|
|
+ " OR m.prs_perslid_key_receiver IS NULL) " // General messages
|
|
+ " AND sn.fac_srtnotificatie_key(+)=m.fac_srtnotificatie_key"
|
|
+ " AND m.prs_perslid_key_receiver = p.prs_perslid_key"
|
|
+ " ORDER BY m.web_user_mess_action_datum DESC, m.web_user_message_key DESC";
|
|
|
|
// Tweeledig: beperken, maar tevens zorgen dat de sortering goed blijft!
|
|
// Dat is: de nieuwste berichten bovenaan
|
|
sql = "SELECT * FROM (" + sql + ") WHERE ROWNUM < " + S("portalnewsmax");
|
|
var rst = new ResultsetTable({
|
|
sql: sql,
|
|
keyColumn: "web_user_message_key",
|
|
ID: "usermess",
|
|
rowData: fnrowData,
|
|
rowClass: fnrowClass,
|
|
rowActionEnabler: fnrowActionEnabler,
|
|
title: L("lcl_recent_news"),
|
|
showAll: showall,
|
|
outputmode: outputmode,
|
|
buttons: buttons
|
|
});
|
|
if (user.hasCollegas())
|
|
rst.addColumn(new Column({caption: L("lcl_name"), content: fncolReceiver, nowrap: true }));
|
|
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: "", enabler:"eDefault", isDefault: true });
|
|
rst.addAction({ action: "facDelete", caption: L("lcl_mark_as_read") });
|
|
|
|
var cnt = rst.processResultset();
|
|
|
|
}
|
|
%>
|
|
</body>
|
|
</html>
|