%@page session="true"%><%@ page language="java"%>
<%@ page import="com.edeal.frontline.Utils" language="java" import="java.util.*" import="com.edeal.frontline.*,com.edeal.frontline.helper.custom.*" pageEncoding="UTF-8"%><%@ page import="com.edeal.frontline.FrontlineException" %><%@ page import="com.edeal.frontline.FlContext" %><%@ page import="com.edeal.frontline.navigation.FlRequest" %>
<%@page import="com.edeal.frontline.controller.actions.ReprogramAlarmAction"%><%@page import="com.edeal.frontline.controller.actions.DeleteAlarmAction"%><%@page import="com.edeal.frontline.controller.actions.MarkInformationPanelAsReadAction"%><%@ taglib uri="http://www.e-deal.com/taglib/fl" prefix="fl" %><%
response.setContentType("application/x-javascript");
FlRequest flRequest = new FlRequest(request);
FlContext context = flRequest.getContext();
DataDictionary dico = context.getDataDictionary();
String idAdmin = dico.getRefIdByCode("DocRolesID", "ADMIN");
/* Recherche des roles de l'acteur */
String sessionActorID = ActorHelper.getSessionActorID(session);
boolean isAdmin = ActorHelper.isAdmin(flRequest);
// can create info panel ?
InformationPanelBean ibp = new InformationPanelBean(session);
boolean canCreateInfoPanel = false;
try {
canCreateInfoPanel = ibp.enforceAccess(AccessControlManager.CREATE, sessionActorID);
} catch (FrontlineException fe) {
}
boolean canEditInfoPanel = false;
try {
canEditInfoPanel = ibp.enforceAccess(AccessControlManager.EDIT, sessionActorID);
} catch (FrontlineException fe) {
}
%>
/*
The shape of the json string is :
{
"body":"Grande salle de réunion formation administrati...",
"dat":"16:50",
"from":"",
"id":"00000000000ac979",
"subject":"Formation UNIX",
"type":"Alarm"
}
*/
var defaultMessage = '';
var withScoll = "false";
<% if (canCreateInfoPanel) { %>
var doCreateInformationPanelFunction = 'javascript:doCreateInformationPanel();'
var link = '" title="" class="infobar-icon">';
defaultMessage = '
' + defaultMessage + ' | ' + link + ' |
';
<% } %>
var objectDisplayFunction = new Object();
//Construction of the information to be displayed . Objects : Alarm and InformationPanel ...
objectDisplayFunction["Alarm"] = function(information) {
// attributes
var infoId = "'" + information.id + "'";
var infoType = "'" + information.type + "'";
var infoBody = decodeURIComponent(information.body);
var infoSubject = decodeURIComponent(information.subject);
var infoDate = information.dat;
// functions
var openPopupFunction = 'javascript:openPopup(' + infoId + ',' + infoType + ');'
var doReprogramAlarmFunction = 'javascript:doReprogramAlarm(' + infoId + ');'
var doDeleteAlarmFunction = 'javascript:doDeleteAlarm(' + infoId + ');'
var doReadInformationPanelFunction = 'javascript:doReadInformationPanel(' + infoId + ');'
// links
var link_1 = '" title="" class="infobar-icon">';
var link_2 = '" title="" class="infobar-icon">';
// informations
var informationToDisplay = '';
informationToDisplay = addCommonElement(informationToDisplay, '" >');
//Save withScoll
withScoll = information.refresh;
return informationToDisplay;
};
objectDisplayFunction["InformationPanel"] = function(information) {
// attributes
var infoId = "'" + information.id + "'";
var infoType = "'" + information.type + "'";
var infoBody = decodeURIComponent(information.body);
var infoSubject = decodeURIComponent(information.subject);
var infoDate = information.dat;
// functions
var openPopupFunction = 'javascript:openPopup(' + infoId + ',' + infoType + ');'
var doReprogramAlarmFunction = 'javascript:doReprogramAlarm(' + infoId + ');'
var doDeleteAlarmFunction = 'javascript:doDeleteAlarm(' + infoId + ');'
var doReadInformationPanelFunction = 'javascript:doReadInformationPanel(' + infoId + ');'
var doCreateInformationPanelFunction = 'javascript:doCreateInformationPanel();'
// links and informations
<% if (canCreateInfoPanel) { %>
var link_1 = '" title="" class="infobar-icon">';
var link_2 = '" title="" class="infobar-icon">';
informationToDisplay = '';
<% } else {%>
var link = '" title="" class="infobar-icon">';
informationToDisplay = '';
<% }%>
informationToDisplay = addCommonElement(informationToDisplay, '" />');
//Save withScoll
withScoll = information.refresh;
return informationToDisplay;
};
function getInformationToDisplay(information){
return ((information.type != null) && (information.type != '')) ? objectDisplayFunction[information.type](information) : '';
}
function displayInformationOnInfoBar(info){
$("#infobar_information").html(info);
if (withScoll == "true"){
$("#infobar_information").slideUp("normal");
$("#infobar_information").slideDown("normal");
}
}
function getInfoBarInformation(forceupdate) {
if ((forceupdate == null) || (typeof forceupdate == 'undefined')){
forceupdate = "false";
} else {
forceupdate = "true";
}
$.ajax({
url:"/get_infobar_information.fl?forceupdate=" + forceupdate,
dataType: 'json',
success: analyseResponse,
type: "POST",
timeout: 20000
});
function analyseResponse(information) {
if ((information != null) && (information.type != null) && (information.type != '')) {
var informationToDisplay = getInformationToDisplay(information);
if (informationToDisplay == '')
displayInformationOnInfoBar(addCommonElement(defaultMessage));
else
displayInformationOnInfoBar(getInformationToDisplay(information));
} else {
displayInformationOnInfoBar(addCommonElement(defaultMessage));
}
}
}
function addCommonElement(info, imag){
if (imag == null)
imag = '';
contentHTML = '';
return contentHTML;
}
$.setupJMPopups({
screenLockerBackground: "#222222",
screenLockerOpacity: "0.3"
});
function openPopup(id, type) {
if ((id == null) || (type == null)) return;
if (type == "Alarm") {
namePopup = "alarmPopup";
urlPopup = "/open_popup_alarm.fl?id=" + id;
openAjaxPopup(namePopup, urlPopup);
} else if (type == "InformationPanel") {
<% if (canEditInfoPanel) { %>
//modification
namePopup = "informationpanelPopup";
urlPopup = "/open_popup_informationpanel.fl?id=" + id;
openJSPopup(namePopup, urlPopup);
<% } else { %>
//consultation
namePopup = "informationpanelPopup";
urlPopup = "/open_popup_informationpanel_ajax.fl?id=" + id;
openAjaxPopup(namePopup, urlPopup);
<% } %>
}
}
function openAjaxPopup(namePopup, urlPopup){
jQuery.openPopupLayer({
name: namePopup,
width: 800,
height: 250,
url: urlPopup,
cache: true,
success: function (data) {
},
error: function () {
alert("Erreur lors de l'ouverture de la popup !");
}
});
}
function openJSPopup(namePopup, urlPopup){
var win = window.open(urlPopup, namePopup, 'menubar=no,status=no,toolbar=no,scrollbars=yes,resizable=yes,width=850,height=650');
}
function doDeleteAlarm(id) {
urlAjax("/delete_alarm_shortcut.fl?id=" + id);
}
function doReprogramAlarm(id, newdate) {
url = "/reprogram_alarm_shortcut.fl?id=" + id
if (newdate != null)
url = url + "&newdate=" + newdate;
urlAjax(url);
}
function doReadInformationPanel(id) {
urlAjax("/mark_read_informationpanel.fl?id=" + id);
}
function doCreateInformationPanel() {
namePopup = "informationpanelPopup";
urlPopup = "/open_popup_informationpanel.fl";
openJSPopup(namePopup, urlPopup);
}
function urlAjax(url){
$.ajax({
url: url,
dataType:'text',
async: false,
success: analyseResponse
});
function analyseResponse(response) {
if (response != null){
switch(response) {
case '<%= DeleteAlarmAction.ALARM_OK_DELETE %>':
//displayMessage('');
break;
case '<%= DeleteAlarmAction.ALARM_NO_DELETE %>':
displayMessage('');
break;
case '<%= ReprogramAlarmAction.ALARM_OK_REPROGRAM %>':
//displayMessage('');
break;
case '<%= ReprogramAlarmAction.ALARM_NO_REPROGRAM %>':
displayMessage('');
break;
case '<%= MarkInformationPanelAsReadAction.INFORMATIONPANEL_OK_READ %>':
//displayMessage('');
break;
case '<%= MarkInformationPanelAsReadAction.INFORMATIONPANEL_NO_READ %>':
displayMessage('');
break;
default:
break;
}
}
}
//forcer la mise à jour des infos
getInfoBarInformation("force_update");
}
function displayMessage(message) {
window.alert(message);
}