* * Class * * @author Jamiel Spezia [jamiel@solis.coop.br] * * @version $Id$ * * \b Maintainers: \n * Eduardo Bonfandini [eduardo@solis.coop.br] * Guilherme Soldateli [guilherme@solis.coop.br] * Jader Osvino Fiegenbaum [jader@solis.coop.br] * Jamiel Spezia [jamiel@solis.coop.br] * Moises Heberle [moises@solis.coop.br] * * @since * Class created on 16/03/2011 * **/ $theme->clearMenus(); $module = 'gnuteca3'; $menus = $theme->getInstance('menus'); $sysMenu = new GMainMenu('system'); $menus->append( $sysMenu, 'system' ); $sysMenu->setTitle( '', 'gnuteca3-16x16.png' ); $adminModule = $MIOLO->mad; if (GnutecaPerms::checkAccess('gtcConfiguration', A_ACCESS, false)) { $home = 'main:configuration'; $confMenu = $sysMenu->getMenu('configuration'); $confMenu->setTitle(_M('Configuration', $module), 'config-16x16.png'); $sMenu = $confMenu->getMenu('system'); $sMenu->setTitle(_M('System', $module), 'system-16x16.png'); $sMenu->addUserOption('gtcLibraryUnit', A_ACCESS, _M('Library unit', $module), $module, "$home:libraryUnit", null, null, 'libraryUnit-16x16.png'); $sMenu->addUserOption('gtcHoliday', A_ACCESS, _M('Holiday', $module), $module, "$home:holiday", null, null, 'holiday-16x16.png'); $sMenu->addUserOption('gtcPreference', A_ACCESS, _M('Preference', $module), $module, "$home:preference", null, null, 'preference-16x16.png'); $sMenu->addUserOption('gtcLibraryPreference', A_ACCESS, _M('Library preference', $module), $module, "$home:libraryPreference", null, array('function'=>'update'), 'libraryPreference-16x16.png'); $sMenu->addUserOption('gtcScheduleTask', A_ACCESS, _M('Schedule task', $module), $module, "$home:scheduletask", null, null, 'scheduleTask-16x16.png'); $sMenu->addUserOption('gtcMaterialGender', A_ACCESS, _M('Material gender', $module), $module, "$home:materialGender", null, null, 'materialGender-16x16.png'); $sMenu->addUserOption('gtcClassificationArea', A_ACCESS, _M('Classification area', $module), $module, "$home:classificationArea", null, null, 'classificationArea-16x16.png'); $sMenu->addUserOption('gtcMaterialType', A_ACCESS, _M('Material type', $module), $module, "$home:materialType", null, null, 'materialType-16x16.png'); $sMenu->addUserOption('gtcMaterialPhysicalType', A_ACCESS, _M('Material physical type', $module), $module, "$home:materialPhysicalType", null, null, 'materialPhysicalType-16x16.png'); $sMenu->addUserOption('gtcPreference', A_ACCESS, _M('Dependency check', $module), $module, "$home:dependencyCheck", null, null, 'preference-16x16.png'); if ( MUtil::getBooleanValue( $MIOLO->getConf('home.debug') )) { $sMenu->addUserOption('gtcPreference', A_ACCESS, _M('Unit test', $module), $module, "unitTest", null, null, 'unitTest-16x16.png'); } //Group $menuItem = array( array(_M('User group', $module), 'userGroup-16x16.png', "$home:userGroup", 'gtcUserGroup'), array(_M('Privilege group', $module), 'privilegeGroup-16x16.png', "$home:privilegeGroup", 'gtcPrivilegeGroup'), array(_M('Right', $module), 'groupRight-16x16.png', "$home:groupRight", 'gtcRight'), array(_M('Policy', $module), 'policy-16x16.png', "$home:policy", 'gtcPolicy'), array(_M('General policy', $module), 'generalPolicy-16x16.png', "$home:generalPolicy", 'gtcGeneralPolicy'), array(_M('Library association', $module), 'libraryAssociation-16x16.png', "$home:libraryAssociation", 'gtcAssociation'), array(_M('Request change exemplary status access', $module), 'requestChangeExemplaryStatus-16x16.png', "$home:requestChangeExemplaryStatusAccess", 'gtcRequestChangeExemplaryStatusAccess'), array(_M('Grupo de unidade', $module), 'libraryGroup-16x16.png', "$home:libraryGroup", 'gtcLibraryGroup'), ); $groupConfMenu = $confMenu->getMenu('group'); $groupConfMenu->setTitle(_M('Group', $module), 'group-16x16.png'); foreach ($menuItem as $m) { $groupConfMenu->addUserOption($m[3], A_ACCESS, $m[0], $module, $m[2], null, null, $m[1]); } //Management $menuItem = array( array(_M('Report', $module), 'report-16x16.png', "$home:configReport", 'gtcConfigReport'), array(_M('Marc tag listing', $module), 'marcTagListing-16x16.png', "$home:marcTagListing", 'gtcMarcTagListing'), array(_M('Label layout', $module), 'labelLayout-16x16.png', "$home:labelLayout", 'gtcLabelLayout'), array(_M('Format back of book', $module), 'formatbackofbook-16x16.png', "$home:formatbackofbook", 'gtcFormatBackOfBook'), array(_M('Search format', $module), 'searchformat-16x16.png', "$home:searchformat", 'gtcSearchFormat'), array(_M('Searchable field', $module), 'searchablefield-16x16.png', "$home:searchablefield", 'gtcSearchableField'), array(_M('Operator library unit', $module), 'operatorlibraryunit-16x16.png', "$home:operatorlibraryunit", 'gtcOperatorLibraryUnit'), array(_M('Return type', $module), 'returntype-16x16.png', "$home:returntype", 'gtcreturntype'), array(_M('Servidores Z39.50', $module), 'z3950Servers-16x16.png', "$home:z3950servers", 'gtcz3950servers') ); $managementalConfMenu = $confMenu->getMenu('management'); $managementalConfMenu->setTitle(_M('Management', $module), 'management-16x16.png'); foreach ($menuItem as $m) { $managementalConfMenu->addUserOption($m[3], A_ACCESS, $m[0], $module, $m[2], null, null, $m[1]); } //Defaults $menuItem = array( array(_M('Exemplary status', $module), 'exemplaryStatus-16x16.png', "$home:exemplaryStatus", 'gtcExemplaryStatus'), array(_M('Operation', $module), 'operation-16x16.png', "$home:operation", 'gtcOperation'), array(_M('Fine status', $module), 'finestatus-16x16.png', "$home:fineStatus", 'gtcFineStatus'), array(_M('Location for material movement', $module), 'locationForMaterialMovement-16x16.png', "$home:locationForMaterialMovement", 'gtcLocationForMaterialMovement'), array(_M('Rules for material movement', $module), 'rulesForMaterialMovement-16x16.png', "$home:rulesForMaterialMovement", 'gtcRulesForMaterialMovement'), array(_M('Domain', $module), 'domain-16x16.png', "$home:domain", 'gtcDomain') ); $defaultsConfMenu = $confMenu->getMenu('defaults'); $defaultsConfMenu->setTitle(_M('Defaults', $module), 'defaults-16x16.png'); foreach ($menuItem as $m) { $defaultsConfMenu->addUserOption($m[3], A_ACCESS, $m[0], $module, $m[2], null, null, $m[1]); } } // //ADMINISTRATION MENU // if (GnutecaPerms::checkAccess('gtcAdministration', A_ACCESS, false)) { $home = 'main:administration'; $adminMenu = $sysMenu->getMenu('administration'); $adminMenu->setTitle(_M('Administration', $module), 'administration-16x16.png'); //Management $menuItem = array ( array( _M('Loan', $module), 'loan-16x16.png', "$home:loan", 'gtcLoan'), array( _M('Reserve', $module), 'reserve-16x16.png', "$home:reserve", 'gtcReserve'), array( _M('Renew', $module), 'renew-16x16.png', "$home:renew", 'gtcRenew'), array( _M('Fine', $module), 'fine-16x16.png', "$home:fine", 'gtcFine'), array( _M('Exemplary future status defined', $module), 'exemplaryfuturestatusdefined-16x16.png', "$home:exemplaryFutureStatusDefined", 'gtcExemplaryFutureStatusDefined'), array( _M('Request change exemplary status', $module), 'requestChangeExemplaryStatus-16x16.png', "$home:requestChangeExemplaryStatus", 'gtcRequestChangeExemplaryStatus'), array( _M('Supplier', $module), 'supplier-16x16.png', "$home:supplier", 'gtcSupplier'), array( _M('Interchange/Donation', $module), 'interchange-16x16.png', "$home:interchange", 'gtcInterchange'), array( _M('Loan between library', $module), 'loanbetweenlibrary-16x16.png', "$home:loanbetweenlibrary", 'gtcLoanBetweenLibrary'), array( _M('Form content', $module), 'formContent-16x16.png', "$home:formContent", 'gtcFormContent'), array( _M('News', $module), 'news-16x16.png', "$home:news", 'gtcNews'), array( _M('Avaliações', $module), 'materialEvaluation-16x16.png', "$home:materialEvaluation", 'gtcMaterialEvaluation'), array( _M('Type record returns', $module), 'returnregister-16x16.png', "$home:returnregister", 'gtcReturnRegister'), array( _M('File', $module), 'folder-16x16.png', "$home:file", 'gtcReturnRegister'), //TODO gtcFile ); $managementAdminMenu = $adminMenu->getMenu('management'); $managementAdminMenu->setTitle(_M('Management', $module), 'management-16x16.png'); foreach ($menuItem as $m) { $managementAdminMenu->addUserOption($m[3], A_ACCESS, $m[0], $module, $m[2], null, null, $m[1]); } //Person $menuItem = array( array(_M('Person',$module), 'person-16x16.png', "$home:person", 'gtcPerson'), array(_M('Bond',$module), 'bond-16x16.png', "$home:bond", 'gtcBond'), array(_M('Penalty',$module), 'penalty-16x16.png',"$home:penalty", 'gtcPenalty'), ); $personAdminMenu = $adminMenu->getMenu('person'); $personAdminMenu->setTitle(_M('Person', $module), 'person-16x16.png'); foreach ($menuItem as $m) { $personAdminMenu->addUserOption($m[3], A_ACCESS, $m[0], $module, $m[2], null, null, $m[1]); } //Print $menuItem = array( array(_M('Back of book',$module), 'backofbook-16x16.png', "$home:backofbook", 'gtcBackOfBook', array("function" => "search")), array(_M('Bar code',$module), 'barcode-16x16.png', "$home:barcode", 'gtcBarCode', array("function" => "search")), array(_M('Exemplary status history',$module), 'exemplarystatushistory-16x16.png', "$home:exemplarystatushistory", 'gtcExemplaryStatusHistory') ); $printAdminMenu = $adminMenu->getMenu('print'); $printAdminMenu->setTitle(_M('Print', $module), 'print-16x16.png'); //report menu $reportMenu = $printAdminMenu->getMenu( 'report' ); $reportMenu->setTitle(_M('Report', $module), 'report-16x16.png'); $busReport = $MIOLO->getBusiness( 'gnuteca3', 'BusReport' ); $reportGroup = BusinessGnuteca3BusDomain::listForSelect('REPORT_GROUP'); #cria os submenus if ( is_array( $reportGroup ) ) { foreach ( $reportGroup as $line => $group ) { $reportMenus[$group[0]] = $reportMenu->getMenu( 'report'.$group[0] ); $reportMenus[$group[0]]->setTitle($group[1], 'report-16x16.png'); } } //lista somente ativos $busReport->isActiveS = 't'; $reportList = $busReport->searchReport(true, true); if ( is_array($reportList) ) { foreach ( $reportList as $line => $info) { if ( $info[9]) { if ( $reportMenus[$info[9]] ) { $reportMenus[$info[9]]->addUserOption( 'gtcAdminReport', A_ACCESS, $info[1], $module, "main:administration:adminReport&reportId=".$info[0], null, null, 'report-16x16.png'); } else { $reportMenu->addUserOption( 'gtcAdminReport', A_ACCESS, $info[1], $module, "main:administration:adminReport&reportId=".$info[0], null, null, 'report-16x16.png'); } } } foreach ( $reportList as $line => $info) { if ( !$info[9]) { $reportMenu->addUserOption( 'gtcAdminReport', A_ACCESS, $info[1], $module, "main:administration:adminReport&reportId=".$info[0], null, null, 'report-16x16.png'); } } } //adiciona os outros itens do print foreach ($menuItem as $m) { $printAdminMenu->addUserOption($m[3], A_ACCESS, $m[0], $module, $m[2], null, null, $m[1]); } //Proccess $menuItem = array( array(_M('Devolution',$module), 'devolution-16x16.png', "$home:devolution", 'gtcSendMailReturn'), array(_M('Delayed loan',$module), 'delayedloan-16x16.png', "$home:delayedLoan", 'gtcSendMailDelayedLoan'), array(_M('Notify acquisition',$module), 'notifyacquisition-16x16.png', "$home:notifyacquisition", 'gtcSendMailNotifyAcquisition'), array(_M('Answered reserves', $module), 'answeredreserves-16x16.png', "$home:answeredreserves", 'gtcSendMailAnsweredReserves'), array(_M('Reorganize reserve queue', $module), 'reservequeue-16x16.png', "$home:reservequeue", 'gtcSendMailReserveQueue'), array(_M('Verify Links', $module), 'reservequeue-16x16.png', "$home:verifyLinks", 'gtcVerifyLinks'), array(_M('Notify end request', $module), 'answeredreserves-16x16.png', "$home:notifyEndRequest", 'gtcSendMailNotifyEndRequest'), array(_M('Apagar valores das planilhas', $module), 'deleteValuesOfSpreadSheet-16x16.png', "$home:deleteValuesOfSpreadSheet", 'gtcDeleteValuesOfSpreadSheet') ); $procAdminMenu = $adminMenu->getMenu('proccess'); $procAdminMenu->setTitle(_M('Proccess', $module), 'proccess-16x16.png'); foreach ($menuItem as $m) { $procAdminMenu->addUserOption($m[3], A_ACCESS, $m[0], $module, $m[2], null, null, $m[1]); } } // //CATALOGUE MENU // if (GnutecaPerms::checkAccess('gtcCatalogue', A_ACCESS, false)) { $home = 'main:catalogue'; $catMenu = $sysMenu->getMenu('catalogue'); $catMenu->setTitle(_M('Catalogue', $module), 'catalogue-16x16.png'); $newMaterialCatMenu = $catMenu->getMenu('newMaterial'); $newMaterialCatMenu->setTitle(_M('New material', $module), 'newMaterial-16x16.png'); $newMaterialCatMenu->addUserOption('gtcMaterial', A_INSERT, _M('Default', $module), $module, "$home:material", null, array('function' => 'new'), 'newMaterial-16x16.png'); //Catalogue $menuItem = array ( array(_M('Change material', $module), 'changeMaterial-16x16.png', "$home:material", null, array('function' => 'search'), 'gtcChangeMaterial'), array(_M('Kardex control', $module), 'kardexControl-16x16.png', "$home:kardexControl", null, array('function' => 'search'), 'gtcKardexControl'), array(_M('Pré-catalogação', $module), 'preCatalogue-16x16.png', "$home:preCatalogue", null, array('function' => 'search'), 'gtcPreCatalogue'), array(_M('Atualizar busca', $module), 'updateSearch-16x16.png', "$home:updateSearch", null, array('function' => 'search'), 'gtcUpdateSearch'), ); foreach ($menuItem as $m) { $catMenu->addUserOption($m[5], A_ACCESS, $m[0], $module, $m[2], null, $m[4], $m[1]); } //New material //TODO Menu é dinamico, verificar como sera acessado a base ($context->shiftAction() ??) if (GnutecaPerms::checkAccess('gtcMaterial', A_ACCESS, false)) { $businessSpreadsheet = $MIOLO->getBusiness('gnuteca3', 'BusSpreadsheet'); $menus = $businessSpreadsheet->getMenus(); if($menus) { foreach ($menus as $content) { $args = array('function' => 'dinamicMenu', "leaderString" => str_replace("#", "*", $content->menuoption)); $newMaterialCatMenu->addOption($content->menuname, $module, "$home:material", null, $args, 'newColection-16x16.png'); } } } $menuItem = array ( array(_M('Tag', $module), 'tag-16x16.png', "$home:tag", 'gtcTag'), array(_M('Spreadsheet', $module), 'spreadsheet-16x16.png', "$home:spreadsheet", 'gtcSpreadsheet'), array(_M('Rules to complete fields marc', $module), 'rulestocompletefieldsmarc-16x16.png', "$home:rulestocompletefieldsmarc", 'gtcRulesToCompleteFieldsMarc'), array(_M('Link of fields between spreadsheets', $module), 'linkoffieldsbetweenspreadsheets-16x16.png',"$home:linkoffieldsbetweenspreadsheets", 'gtcLinkOfFieldsBetweenSpreadsheets'), array(_M('Dictionary', $module), 'dictionary-16x16.png', "$home:dictionary", 'gtcDictionary'), array(_M('Dictionary content', $module), 'dictionarycontent-16x16.png', "$home:dictionarycontent", 'gtcDictionaryContent'), array(_M('PrefixSuffix', $module), 'prefixsuffix-16x16.png', "$home:prefixsuffix", 'gtcPrefixSuffix'), array(_M('Separator', $module), 'separator-16x16.png', "$home:separator", 'gtcSeparator'), ); $confCatMenu = $catMenu->getMenu('configuration'); $confCatMenu->setTitle(_M('Configuration', $module), 'config-16x16.png'); foreach ($menuItem as $m) { $confCatMenu->addUserOption($m[3], A_ACCESS, $m[0], $module, $m[2], null, null, $m[1]); } } $sysMenu->addUserOption( 'gtcMaterialMovement', A_ACCESS, _M('Material movement', $module), $module, 'main:materialMovement','','','materialMovement-16x16.png'); // //SEARCH MENU // unset($menuItem); $home = 'main:search'; $searchMenu = $sysMenu->getMenu('search'); $searchMenu->setTitle(_M('Search', $this->module), 'search-16x16.png'); //Busca pesquisas definidas pelo administrador $busFormContent = $MIOLO->getBusiness($module, 'BusFormContent'); $busFormContent->formContentType = FORM_CONTENT_TYPE_ADMINISTRATOR; $search = $busFormContent->searchFormContent(TRUE); if ($search) { foreach ($search as $v) { //nome especifico somente usado dentro da circulação de material, então pula ele na relação if ( $v->name == 'materialMovement') { continue; } //Lista todas as pesquisas criadas pelo administrador $menuItem[] = array($v->name, 'search-16x16.png', "{$home}:simpleSearch", '', $v->formContentId); } } if (GnutecaPerms::checkAccess('gtcZ3950', null, false)) { $menuItem[] = array(_M('Z3950',$module), 'search-16x16.png', "$home:simpleSearch&subForm=Z3950"); } if ( GB_INTEGRATION == DB_TRUE ) { $menuItem[] = array(_M('Google livros',$module), 'search-16x16.png', "$home:simpleSearch&subForm=GoogleBook"); } foreach ( $menuItem as $m ) { if ($formContentId = $m[4]) { $args = array( 'formContentId' => $formContentId, 'formContentTypeId' => FORM_CONTENT_TYPE_ADMINISTRATOR, ); } else { $args = array(); } $searchMenu->addOption($m[0], $module, $m[2], null, $args, $m[1]); } //END SEARCH MENU $sysMenu->addUserOption( 'gtcAdministration', A_ACCESS, _M('Administration of users', $module), $adminModule, 'main','','','system-16x16.png'); ?>