Grid.php 5.83 KB
<?php
/**
 * @package  anc_text 
 * @category magento
 * @mailto	code [at] netz.coop
 * @author	netz.coop eG* 
 * @copyright (c) 2014, netz.coop eG
 * 
 *   This program is free software: you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details.
 *
 *   You should have received a copy of the GNU General Public License
 *   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 * 
 */ 

class Anc_Text_Block_Adminhtml_Texts_Grid extends Mage_Adminhtml_Block_Widget_Grid {

	public function __construct() {
		parent::__construct();
		$this->setId('anc_text_texts_grid');
		$this->setDefaultSort('entity_id');
		$this->setDefaultDir('DESC');
		$this->setSaveParametersInSession(true);
	}

	protected function _getCollectionClass() {
		return 'anc_text/nctext';
	}

	protected function _prepareCollection() {
		$varParam = $this->getRequest()->getParams();
		if (array_key_exists('albumid', $varParam)) {
			$array = Mage::helper('anc_lib/sql')->selectFetchAll(
					'anc_album_ncalbum', array('entity_id' => $varParam['albumid'])
			);
			echo "<h1>Texte des Albums: " . $array[0]['name'] . " </h1>";
			$collection = Mage::getModel('anc_text/nctext')->getCollection()->addFieldToFilter('ncalbum_id', array('eq' => $varParam['albumid']));
			;
		} else if(array_key_exists('kind', $varParam)&& $varParam['kind']=='users') {
			echo "<h1>Alle Texte der Benutzer: </h1>";
			echo '<a href="'.$this->getUrl('text/adminhtml_text/list', array('kind' => 'admin',)).'" >Texte Admin</a>';
			$collection = Mage::getModel('anc_text/nctext')->getCollection()->addFieldToFilter('customer_id', array('gt' => 0))->addFieldToFilter('ordered', array('null' => true));
			;
		} else  {
			echo "<h1>Alle Texte der Administratoren: </h1>";
			echo '<a href="'.$this->getUrl('text/adminhtml_text/list', array('kind' => 'users',)).'" >Texte der Benutzer</a>';
			$collection = Mage::getModel('anc_text/nctext')->getCollection()->addFieldToFilter('admin_user_id', array('gt' => 0));
			;
		}

		$this->setCollection($collection);
		return parent::_prepareCollection();
	}

	protected function _prepareColumns() {

		$this->addColumn('entity_id', array(
			'header' => Mage::helper('anc_text/data')->__('Id'),
			'align' => 'right',
			'width' => '50px',
			'index' => 'entity_id',
		));
		$this->addColumn('name', array(
			'header' => Mage::helper('anc_text/data')->__('Name'),
			'align' => 'left',
			'index' => 'name',
		));
		$this->addColumn('comment', array(
			'header' => Mage::helper('anc_text/data')->__('Comment'),
			'align' => 'left',
			'index' => 'comment',
		));
		$this->addColumn('content', array(
			'header' => Mage::helper('anc_text/data')->__('Text'),
			'align' => 'left',
			'index' => 'content',
		));
		
		$this->addColumn('admin_user_id', array(
			'header' => Mage::helper('anc_text/data')->__('Admin'),
			'align' => 'left',
			'index' => 'admin_user_id',
		));
		$this->addColumn('customer_id', array(
			'header' => Mage::helper('anc_text/data')->__('Customer'),
			'align' => 'left',
			'index' => 'customer_id',
		));
//		$this->addColumn('path', array(
//			'header' => Mage::helper('anc_text/data')->__('Pfad'),
//			'align' => 'left',
//			'index' => 'path',
//		));
//		$this->addColumn('file', array(
//			'header' => Mage::helper('anc_text/data')->__('Datei'),
//			'align' => 'left',
//			'index' => 'file',
//		));
		$this->addColumn('ncalbum_id', array(
			'header' => Mage::helper('anc_text/data')->__('Album Id'),
			'align' => 'left',
			'index' => 'ncalbum_id',
		));
		$this->addColumn('ncright_id', array(
			'header' => Mage::helper('anc_text/data')->__('Rechte Id'),
			'align' => 'left',
			'index' => 'ncright_id',
		));
		$this->addColumn('original_id', array(
			'header' => Mage::helper('anc_text/data')->__('Eltern Id'),
			'align' => 'left',
			'index' => 'original_id',
		));
		$this->addColumn('visibleingallery', array(
			'header' => Mage::helper('anc_text/data')->__('Sichtbar'),
			'align' => 'left',
			'index' => 'visibleingallery',
		));
		$this->addColumn('used_byitem_id', array(
			'header' => Mage::helper('anc_text/data')->__('Produkt ID'),
			'align' => 'left',
			'index' => 'used_byitem_id',
		));
		$this->addColumn('ispersonalized', array(
			'header' => Mage::helper('anc_text/data')->__('Personalisiert'),
			'align' => 'left',
			'index' => 'ispersonalized',
		));
		$this->addColumn('created_at', array(
			'header' => Mage::helper('anc_text/data')->__('Created'),
			'align' => 'left',
			'index' => 'created_at',
		));
		$this->addColumn('updated_at', array(
			'header' => Mage::helper('anc_text/data')->__('Updated'),
			'align' => 'left',
			'index' => 'updated_at',
		));




		return parent::_prepareColumns();
	}

	public function getRowUrl($row) {
		$varParam = $this->getRequest()->getParams();
		
		if (array_key_exists('albumid', $varParam)) {
//			$var_album= '/albumid/'.$varParam['albumid'];
			return $this->getUrl('*/*/edit', array('id' => $row->getId(),'albumid'=>$varParam['albumid']));
		}else{
			return $this->getUrl('*/*/edit', array('id' => $row->getId()));
		}
		
		
		
		
	}

	
		public function getMainButtonsHtml()
	{
		$html = parent::getMainButtonsHtml();//get the parent class buttons
		$addButton = $this->getLayout()->createBlock('adminhtml/widget_button') //create the add button
			->setData(array(
				'label'     => Mage::helper('adminhtml')->__('Kunden Text erstellen'),
				'onclick'   => "setLocation('".$this->getUrl('*/*/new',array('kind'=>'users'))."')",
				'class'   => 'task'
			))->toHtml();
		return $addButton.$html;
	}
	
	
}