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

controllers/grid/files/LibraryFileGridRow.inc.php

00001 <?php
00002 
00015 import('lib.pkp.classes.controllers.grid.GridRow');
00016 
00017 // Link action & modal classes
00018 import('lib.pkp.classes.linkAction.request.AjaxModal');
00019 import('lib.pkp.classes.linkAction.request.RemoteActionConfirmationModal');
00020 
00021 class LibraryFileGridRow extends GridRow {
00023    var $_fileType;
00024 
00026    var $_canEdit;
00027 
00029    var $_monograph;
00030 
00034    function LibraryFileGridRow($canEdit = false, $monograph = null) {
00035       $this->_canEdit = $canEdit;
00036       $this->_monograph = $monograph;
00037       parent::GridRow();
00038    }
00039 
00040    //
00041    // Getters / setters
00042    //
00047    function getFileType() {
00048       return $this->_fileType;
00049    }
00050 
00051    function setFileType($fileType) {
00052       $this->_fileType = $fileType;
00053    }
00054 
00055    //
00056    // Overridden template methods
00057    //
00058    /*
00059     * Configure the grid row
00060     * @param $request PKPRequest
00061     */
00062    function initialize(&$request) {
00063       parent::initialize($request);
00064 
00065       $this->setFileType($request->getUserVar('fileType'));
00066 
00067       // Is this a new row or an existing row?
00068       $fileId = $this->getId();
00069 
00070       if (!empty($fileId) && $this->_canEdit) {
00071          // Actions
00072          $router =& $request->getRouter();
00073          $actionArgs = array(
00074             'fileId' => $fileId,
00075          );
00076 
00077          if ($this->_monograph) {
00078             $actionArgs['monographId'] = $this->_monograph->getId();
00079          }
00080 
00081          $this->addAction(
00082             new LinkAction(
00083                'editFile',
00084                new AjaxModal(
00085                   $router->url($request, null, null, 'editFile', null, $actionArgs),
00086                   __('grid.action.edit'),
00087                   'modal_edit'
00088                ),
00089                __('grid.action.edit'),
00090                'edit'
00091             )
00092          );
00093          $this->addAction(
00094             new LinkAction(
00095                'deleteFile',
00096                new RemoteActionConfirmationModal(
00097                   __('common.confirmDelete'), __('common.delete'),
00098                   $router->url($request, null, null, 'deleteFile', null, $actionArgs),
00099                   'modal_delete'
00100                ),
00101                __('grid.action.delete'),
00102                'delete'
00103             )
00104          );
00105       }
00106    }
00107 }
00108 
00109 ?>

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