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

controllers/grid/admin/mergeUsers/MergeUsersGridRow.inc.php

00001 <?php
00002 
00015 import('lib.pkp.classes.controllers.grid.GridRow');
00016 import('lib.pkp.classes.linkAction.request.RedirectConfirmationModal');
00017 
00018 class MergeUsersGridRow extends GridRow {
00019 
00021    var $_oldUserId;
00022 
00026    function MergeUsersGridRow($oldUserId = null) {
00027       $this->_oldUserId = $oldUserId;
00028       parent::GridRow();
00029    }
00030 
00031 
00032    //
00033    // Overridden methods from GridRow
00034    //
00038    function initialize(&$request) {
00039       parent::initialize($request);
00040 
00041       // Is this a new row or an existing row?
00042       $element =& $this->getData();
00043       assert(is_a($element, 'User'));
00044 
00045       $press =& $request->getPress();
00046 
00047       $rowId = $this->getId();
00048 
00049       if (!empty($rowId) && is_numeric($rowId)) {
00050          // Only add row actions if this is an existing row
00051          $dispatcher =& $request->getDispatcher();
00052          if ($this->getOldUserId()) {
00053             $actionArgs = array(
00054                'oldUserId' => $this->getOldUserId(),
00055                'newUserId' => $rowId,
00056             );
00057 
00058             $userDao =& DAORegistry::getDAO('UserDAO');
00059             $oldUser =& $userDao->getById($this->getOldUserId());
00060             $this->addAction(
00061                new LinkAction(
00062                   'mergeUser',
00063                   new RedirectConfirmationModal(
00064                      __('admin.mergeUsers.confirm', array('oldUsername' => $oldUser->getUsername(), 'newUsername' => $element->getUsername())),
00065                      null,
00066                      $dispatcher->url($request, ROUTE_PAGE, null, 'admin', 'mergeUsers', null, $actionArgs),
00067                      'modal_merge_users'
00068                ),
00069                __('admin.mergeUsers.mergeIntoUser'),
00070                'merge_users')
00071             );
00072 
00073          } else {
00074             $actionArgs = array(
00075                'oldUserId' => $rowId,
00076             );
00077             if ($rowId > 1) {  // do not allow the deletion of the admin account.
00078                $this->addAction(
00079                   new LinkAction(
00080                      'mergeUser',
00081                      new RedirectConfirmationModal(
00082                         __('admin.mergeUsers.mergeUserSelect.confirm'),
00083                         null,
00084                         $dispatcher->url($request, ROUTE_PAGE, null, 'admin', 'mergeUsers', null, $actionArgs),
00085                         'modal_merge_users'
00086                   ),
00087                   __('admin.mergeUsers.mergeUser'),
00088                   'merge_users')
00089                );
00090             }
00091          }
00092       }
00093    }
00094 
00099    function getOldUserId() {
00100       return $this->_oldUserId;
00101    }
00102 }
00103 ?>

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