• Main Page
  • Modules
  • Classes
  • Files
  • File List

controllers/grid/settings/preparedEmails/PreparedEmailsGridCellProvider.inc.php

00001 <?php
00002 
00015 import('lib.pkp.classes.controllers.grid.DataObjectGridCellProvider');
00016 
00017 class PreparedEmailsGridCellProvider extends DataObjectGridCellProvider {
00021    function PreparedEmailsGridCellProvider() {
00022       parent::DataObjectGridCellProvider();
00023    }
00024 
00032    function getTemplateVarsFromRowColumn(&$row, $column) {
00033       $element =& $row->getData();
00034       $columnId = $column->getId();
00035       assert(is_a($element, 'DataObject') && !empty($columnId));
00036       $roleDao =& DAORegistry::getDAO('RoleDAO'); /* @var $roleDao RoleDAO */
00037       switch ($columnId) {
00038          case 'name':
00039             $label = $element->getEmailKey();
00040             return array('label' => ucwords(strtolower(str_replace('_', ' ', $label))));
00041          case 'sender':
00042             $roleId = $element->getFromRoleId();
00043             $label = $roleDao->getRoleNames(false, array($roleId));
00044             return array('label' => __(array_shift($label)));
00045          case 'recipient':
00046             $roleId = $element->getToRoleId();
00047             $label = $roleDao->getRoleNames(false, array($roleId));
00048             return array('label' => __(array_shift($label)));
00049          case 'subject':
00050             $locale = AppLocale::getLocale();
00051             $label = $element->getSubject();
00052             return array('label' => $label);
00053          case 'enabled':
00054             $selectDisabled = $element->getCanDisable() ? false : true;
00055             return array('selected' => $element->getEnabled(), 'disabled' => $selectDisabled);
00056       }
00057    }
00058 
00062    function getCellActions(&$request, &$row, &$column, $position = GRID_ACTION_POSITION_DEFAULT) {
00063       if ($column->getId() == 'enabled') {
00064          $element =& $row->getData(); /* @var $element DataObject */
00065 
00066          $router =& $request->getRouter();
00067          import('lib.pkp.classes.linkAction.LinkAction');
00068 
00069          if($element->getCanDisable()) {
00070             if ($element->getEnabled()) {
00071                $linkAction = new LinkAction(
00072                   'disableEmail',
00073                   new RemoteActionConfirmationModal(
00074                      __('manager.emails.disable.message'), null,
00075                      $router->url($request, null, 'grid.settings.preparedEmails.PreparedEmailsGridHandler',
00076                         'disableEmail', null, array('emailKey' => $element->getEmailKey()))
00077                   ),
00078                   __('manager.emails.disable'),
00079                   'disable'
00080                );
00081             } else {
00082                $linkAction =  new LinkAction(
00083                   'enableEmail',
00084                   new RemoteActionConfirmationModal(
00085                      __('manager.emails.enable.message'), null,
00086                      $router->url($request, null, 'grid.settings.preparedEmails.PreparedEmailsGridHandler',
00087                         'enableEmail', null, array('emailKey' => $element->getEmailKey()))
00088                   ),
00089                   __('manager.emails.enable'),
00090                   'enable'
00091                );
00092             }
00093             return array($linkAction);
00094          }
00095       }
00096       return parent::getCellActions($request, $row, $column, $position);
00097    }
00098 }
00099 
00100 ?>

Generated on Mon Sep 17 2012 13:58:56 for Open Monograph Press by  doxygen 1.7.1