Skip to content
Snippets Groups Projects
Commit 74fb8d9d authored by llaffont's avatar llaffont
Browse files

L'ouverture de popups passe par le flashmessenger

parent 55adcd79
Branches
Tags
No related merge requests found
......@@ -137,18 +137,13 @@ class ZendAfi_Controller_Action extends Zend_Controller_Action {
public function renderPopup($popup_url, $location = null) {
$this->_helper->getHelper('viewRenderer')->setLayoutScript('empty.phtml');
$this->getHelper('flashMessenger')
->addMessage([ZendAfi_Controller_Action_Helper_FlashMessenger::POPUP => ['url' => $popup_url]]);
$queries = [];
$url = parse_url($location ? $location : $this->_request->getServer('HTTP_REFERER'));
if (isset($url['query']))
parse_str($url['query'], $queries);
$queries['popup'] = $popup_url;
$path = $url['path'] ? $url['path'] : '';
return $this->_redirect('http://'.$url['host'].$path.'?'.http_build_query($queries));
$this->_redirect($location ? $location : $this->_request->getServer('HTTP_REFERER'));
return $this;
}
......
......@@ -21,12 +21,18 @@
class ZendAfi_Controller_Action_Helper_FlashMessenger extends Zend_Controller_Action_Helper_FlashMessenger {
const TRACK_EVENT = 'track_event';
const POPUP = 'popup';
public function isNotification($message) {
return !is_array($message);
}
public function isPopup($message) {
return is_array($message) && isset($message[self::POPUP]);
}
public function isTrackEvent($message) {
return is_array($message) && isset($message[self::TRACK_EVENT]);
}
......@@ -37,6 +43,11 @@ class ZendAfi_Controller_Action_Helper_FlashMessenger extends Zend_Controller_Ac
}
public function getPopups() {
return array_filter($this->getMessages(), [$this, 'isPopup']);
}
public function getTrackEvents() {
$messages = array_filter($this->getMessages(), [$this, 'isTrackEvent']);
$events = [];
......
......@@ -21,8 +21,10 @@
class ZendAfi_Controller_Plugin_Popup extends Zend_Controller_Plugin_Abstract {
function preDispatch(Zend_Controller_Request_Abstract $request) {
if ($popup=$request->getParam('popup')) {
Class_ScriptLoader::getInstance()->addJQueryReady('opacDialogFromUrl("'.$popup.'");');
$messenger = new ZendAfi_Controller_Action_Helper_FlashMessenger();
$popups = $messenger->getPopups();
foreach($popups as $popup) {
Class_ScriptLoader::getInstance()->addJQueryReady('opacDialogFromUrl("'.$popup['popup']['url'].'");');
}
}
}
......
......@@ -25,7 +25,7 @@ class ZendAfi_View_Helper_Notice_LienReserver extends Zend_View_Helper_HtmlEleme
$this->loadScript();
$can_request_sigb = Class_AdminVar::isAfficherDispoSurRechercheEnabled();
$id_notice = $notice->getId();
$titre = str_replace('\'', "\'", $this->view->_('Réserver '.$notice->getTitrePrincipal()));
$titre = str_replace('\'', '\\\'', $this->view->_('Réserver '.$notice->getTitrePrincipal()));
$labelle = $this->view->_('Réserver');
$url = $this->view->url(['controller' => 'noticeAjax',
'action' => 'exemplaires'],
......
......@@ -53,8 +53,8 @@ function opacDialog(container, data, dialogClass, closeFunc, openFunc, width, he
function initModalSize(width, height) {
var common_width = '800';
var common_height = '400';
var common_width = 'auto';
var common_height = 'auto';
var size = {'width' : width || common_width, 'height' : height || common_height };
return size;
}
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment