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

controllers/grid/settings/languages/ManageLanguageGridHandler.inc.php

00001 <?php
00002 
00015 import('classes.controllers.grid.languages.LanguageGridHandler');
00016 
00017 import('controllers.grid.languages.LanguageGridRow');
00018 
00019 class ManageLanguageGridHandler extends LanguageGridHandler {
00023    function ManageLanguageGridHandler() {
00024       parent::LanguageGridHandler();
00025       $this->addRoleAssignment(array(
00026          ROLE_ID_PRESS_MANAGER),
00027          array('fetchGrid', 'fetchRow'));
00028    }
00029 
00030 
00031    //
00032    // Implement template methods from PKPHandler.
00033    //
00037    function authorize(&$request, $args, $roleAssignments) {
00038       import('classes.security.authorization.OmpPressAccessPolicy');
00039       $this->addPolicy(new OmpPressAccessPolicy($request, $roleAssignments));
00040       return parent::authorize($request, $args, $roleAssignments);
00041    }
00042 
00043 
00044    //
00045    // Implement methods from GridHandler.
00046    //
00050    function loadData(&$request, $filter) {
00051       $site =& $request->getSite();
00052       $press =& $request->getPress();
00053 
00054       $allLocales = AppLocale::getAllLocales();
00055       $supportedLocales = $site->getSupportedLocales();
00056       $pressPrimaryLocale = $press->getPrimaryLocale();
00057       $data = array();
00058 
00059       foreach ($supportedLocales as $locale) {
00060          $data[$locale] = array();
00061          $data[$locale]['name'] = $allLocales[$locale];
00062          $data[$locale]['supported'] = true;
00063          $data[$locale]['primary'] = ($locale == $pressPrimaryLocale);
00064       }
00065 
00066       $data = $this->addManagementData($request, $data);
00067       return $data;
00068    }
00069 
00070    //
00071    // Extended methods from LanguageGridHandler.
00072    //
00076    function initialize($request) {
00077       parent::initialize($request);
00078 
00079       $this->setInstructions('manager.languages.languageInstructions');
00080 
00081       $this->addNameColumn();
00082       $this->addPrimaryColumn('pressPrimary');
00083       $this->addManagementColumns();
00084    }
00085 }
00086 ?>

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