/app/code/core/Mage/Adminhtml/Block/Tag/Tag/Grid.php
PHP | 183 lines | 117 code | 19 blank | 47 comment | 3 complexity | e31e1a36af8d1c560b7b6538c5e9e3d5 MD5 | raw file
- <?php
- /**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @category Mage
- * @package Mage_Adminhtml
- * @copyright Copyright (c) 2009 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
- */
- /**
- * Adminhtml all tags grid
- *
- * @category Mage
- * @package Mage_Adminhtml
- * @author Magento Core Team <core@magentocommerce.com>
- */
- class Mage_Adminhtml_Block_Tag_Tag_Grid extends Mage_Adminhtml_Block_Widget_Grid
- {
- /**
- * Constructor
- *
- * @return void
- */
- public function __construct()
- {
- parent::__construct();
- $this->setId('tag_tag_grid')
- ->setDefaultSort('name')
- ->setDefaultDir('ASC')
- ->setUseAjax(true)
- ->setSaveParametersInSession(true);
- }
- protected function _addColumnFilterToCollection($column)
- {
- if($column->getIndex()=='stores') {
- $this->getCollection()->addStoreFilter($column->getFilter()->getCondition(), false);
- } else {
- parent::_addColumnFilterToCollection($column);
- }
- return $this;
- }
- protected function _prepareCollection()
- {
- $collection = Mage::getResourceModel('tag/tag_collection')
- ->addSummary(Mage::app()->getStore()->getId())
- ->addStoresVisibility();
- $this->setCollection($collection);
- return parent::_prepareCollection();
- }
- protected function _prepareColumns()
- {
- $this->addColumn('name', array(
- 'header' => Mage::helper('tag')->__('Tag'),
- 'index' => 'name',
- ));
- $this->addColumn('total_used', array(
- 'header' => Mage::helper('tag')->__('Uses'),
- 'width' => 140,
- 'align' => 'right',
- 'index' => 'uses',
- 'type' => 'number',
- ));
- $this->addColumn('products', array(
- 'header' => Mage::helper('tag')->__('Products'),
- 'width' => 140,
- 'align' => 'right',
- 'index' => 'products',
- 'type' => 'number',
- ));
- $this->addColumn('customers', array(
- 'header' => Mage::helper('tag')->__('Customers'),
- 'width' => 140,
- 'align' => 'right',
- 'index' => 'customers',
- 'type' => 'number',
- ));
- $this->addColumn('popularity', array(
- 'header' => Mage::helper('tag')->__('Popularity'),
- 'width' => 140,
- 'align' => 'right',
- 'index' => 'popularity',
- 'type' => 'number',
- ));
- $this->addColumn('status', array(
- 'header' => Mage::helper('tag')->__('Status'),
- 'width' => 90,
- 'index' => 'status',
- 'type' => 'options',
- 'options' => $this->helper('tag/data')->getStatusesArray(),
- ));
- if (!Mage::app()->isSingleStoreMode()) {
- $this->addColumn('visible_in', array(
- 'header' => Mage::helper('tag')->__('Visible In'),
- 'type' => 'store',
- 'skipAllStoresLabel' => true,
- 'index' => 'stores',
- 'sortable' => false,
- 'store_view' => true
- ));
- }
- return parent::_prepareColumns();
- }
- protected function _prepareMassaction()
- {
- $this->setMassactionIdField('tag_id');
- $this->getMassactionBlock()->setFormFieldName('tag');
- $this->getMassactionBlock()->addItem('delete', array(
- 'label' => Mage::helper('tag')->__('Delete'),
- 'url' => $this->getUrl('*/*/massDelete'),
- 'confirm' => Mage::helper('tag')->__('Are you sure?')
- ));
- $statuses = $this->helper('tag/data')->getStatusesOptionsArray();
- array_unshift($statuses, array('label'=>'', 'value'=>''));
- $this->getMassactionBlock()->addItem('status', array(
- 'label'=> Mage::helper('tag')->__('Change status'),
- 'url' => $this->getUrl('*/*/massStatus', array('_current'=>true)),
- 'additional' => array(
- 'visibility' => array(
- 'name' => 'status',
- 'type' => 'select',
- 'class' => 'required-entry',
- 'label' => Mage::helper('tag')->__('Status'),
- 'values' => $statuses
- )
- )
- ));
- return $this;
- }
- /*
- * Retrieves Grid Url
- *
- * @return string
- */
- public function getGridUrl()
- {
- return $this->getUrl('*/tag/ajaxGrid', array('_current' => true));
- }
- /**
- * Retrives row click URL
- *
- * @param mixed $row
- * @return string
- */
- public function getRowUrl($row)
- {
- return $this->getUrl('*/*/edit', array('tag_id' => $row->getId()));
- }
- }