Form.php 8 KB
<?php
/**
 * @package  anc_lib 
 * @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_Lib_Block_Adminhtml_Ncrights_Edit_Tab_Form extends Mage_Adminhtml_Block_Widget_Form {

	protected function _prepareForm() {

		if (Mage::registry('anc_lib')) {
			$data = Mage::registry('anc_lib')->getData();
		} else {
			$data = array();
		}
		$varParam = $this->getRequest()->getParams();
		$form = new Varien_Data_Form();
		$this->setForm($form);
		$fieldset = $form->addFieldset('anc_lib', array('name' => 'name')); //Mage::helper('news')->__('news information')));

		$fieldset->addField('name', 'text', array(
			'label' => Mage::helper('anc_lib/data')->__('Name'),
//			'class' => 'required-entry',
			'required' => false,
			'name' => 'name',
		));

		
		if ($data['entity_id']>0) {
			$arrayurl['rightid'] = $data['entity_id'];
			if($varParam['albumid']){
				$arrayurl['albumid'] = $varParam['albumid'];
			}
			if($varParam['imageid']){
				$arrayurl['imageid'] = $varParam['imageid'];
			}
			if($varParam['textid']){
				$arrayurl['textid'] = $varParam['textid'];
			}
			if($varParam['siteid']){
				$arrayurl['siteid'] = $varParam['siteid'];
			}
			
			$varurlcustomers = $this->getUrl('lib/adminhtml_ncrightscustomers/list', $arrayurl);
			
			$varurlgroups = $this->getUrl('lib/adminhtml_ncrightsgroups/list', $arrayurl);
			
			$fieldset->addType('ancbutton', 'Anc_Album_Lib_Varien_Data_Form_Element_ExtendedLabel');
			
			$fieldset->addField('ncrightscustommers', 'ancbutton', array(
				'label' => 'hinzufügen',
				'mylabel'=>'Kunden hinzufügen:',
				'nctype'=>'button',
				'name' => 'mycustom_element',
				'required' => false,
				'value' => $varurlcustomers,
				'bold' => true,
				'label_style' => 'font-weight: bold;',
			));
			$fieldset->addField('ncrightsgroups', 'ancbutton', array(
				'label' => 'hinzufügen',
				'mylabel'=>'Gruppen hinzufügen:',
				'nctype'=>'button',
				'name' => 'mycustom_element',
				'required' => false,
				'value' => $varurlgroups,
				'bold' => true,
				'label_style' => 'font-weight: bold;',
			));

		}else{
//			Mage::getSingleton('adminhtml/session')
//						->addSuccess('Bitte Name angeben und Sichern, danach können Kunden und Gruppen hinzugefügt werden! ');
		}



		/**
		 * Setzen der Hidden Id für Admin muss über den $data array erfolgen da sonst Magento für neue Elemente 0 setzt
		 */
		$data['admin_user_id'] = $admin = Mage::getSingleton('admin/session')->getUser()->getId();
		$fieldset->addField('admin_user_id', 'hidden', array('name' => 'admin_user_id'));
		if (array_key_exists('albumid', $varParam) && $varParam['albumid'] > 0) {
			$data['albumid'] = $varParam['albumid'];
			$fieldset->addField('albumid', 'hidden', array('name' => 'albumid'));
		}
		if (array_key_exists('imageid', $varParam) && $varParam['imageid'] > 0) {
			$data['imageid'] = $varParam['imageid'];
			$fieldset->addField('imageid', 'hidden', array('name' => 'imageid'));
		}
		if (array_key_exists('textid', $varParam) && $varParam['textid'] > 0) {
			$data['textid'] = $varParam['textid'];
			$fieldset->addField('textid', 'hidden', array('name' => 'textid'));
		}
		if (array_key_exists('siteid', $varParam) && $varParam['siteid'] > 0) {
			$data['siteid'] = $varParam['siteid'];
			$fieldset->addField('siteid', 'hidden', array('name' => 'siteid'));
		}
		
		/**
		 * Gruppen Anzeigen
		 */
		$item_exists = Mage::helper('anc_lib/sql')->selectFetchAll('anc_lib_ncrightsgroups', array('rights_id' => $varParam['id']));
//		D::s($item_exists,'$item_exists',5,1,1);
//		$groups=Mage::getModel('customer/group')->load('2');
//			D::s($groups,'$groups',5,1,1);
		$i=0;
		foreach($item_exists as $key => $value){
			$fieldset->addType('ancbutton', 'Anc_Album_Lib_Varien_Data_Form_Element_ExtendedLabel');
			if($i===0){
				$fieldset->addField('mygrouplabel', 'ancbutton', array(
				'label' => '',
				'mylabel'=>'Gruppen Verwalten',
				'nctype'=>'text',
				'name' => 'mycustom_element',
				'required' => false,
				'value' => '',
				'bold' => true,
				'label_style' => 'font-weight: bold;color:red;',
			));
			}
			$groups=Mage::getModel('customer/group')->load($value['customer_group_id']);
			$arrayurl=array();
			$arrayurl['entityid'] = $value['entity_id'];
			$arrayurl['rightsid'] = $value['rights_id'];
			if($varParam['albumid']){
				$arrayurl['albumid'] = $varParam['albumid'];
			}
			if($varParam['imageid']){
				$arrayurl['imageid'] = $varParam['imageid'];
			}
			if($varParam['textid']){
				$arrayurl['textid'] = $varParam['textid'];
			}
			if($varParam['siteid']){
				$arrayurl['siteid'] = $varParam['siteid'];
			}
			
			
			
			$varurlcgroups = $this->getUrl('lib/adminhtml_ncrights/removeGroupFromRights', $arrayurl);
			
			$fieldset->addType('ancbutton', 'Anc_Album_Lib_Varien_Data_Form_Element_ExtendedLabel');
			$num= $i+1;
			if(($num % 2)== 0){
				$bg='';
			}else{
				$bg='background-color:#FFDDDD;';
				
			}
			$fieldset->addField('mygroups'.$key, 'ancbutton', array(
				'label' => 'Gruppe entfernen' ,
				'mylabel' =>  $num .'. '.$groups->getCustomerGroupCode().'ID '.$groups->getCustomerGroupId().'  ',
				'nctype'=>'button',
				'name' => 'mycustom_element'.$key,
				'required' => false,
				'value' => $varurlcgroups,
				'bold' => true,
				'label_style' => $bg,//'<tr><td>'.$customer->getID().'</td> <td> '.$customer->getFirstname().'</td><td> '.$customer->getLastname().':</td> </tr>',//'font-weight: bold;color:red;',
			));
			$i++;
		}
		/**
		 * Kunden Anzeigen
		 */
		
		
		
		$item_exists = Mage::helper('anc_lib/sql')->selectFetchAll('anc_lib_ncrightscustomers', array('rights_id' => $varParam['id']));
		$i=0;
		foreach($item_exists as $key => $value){
			$fieldset->addType('ancbutton', 'Anc_Album_Lib_Varien_Data_Form_Element_ExtendedLabel');
			if($i===0){
				$fieldset->addField('mylabel1', 'ancbutton', array(
				'label' => '',
				'mylabel'=>'Kunden Verwalten',
				'nctype'=>'text',
				'name' => 'mycustom_element',
				'required' => false,
				'value' => '',
				'bold' => true,
				'label_style' => 'font-weight: bold;color:red;',
			));
			}
			$customer=Mage::getModel('customer/customer')->load($value['customer_id']);
			$arrayurl=array();
			$arrayurl['entityid'] = $value['entity_id'];
			$arrayurl['rightsid'] = $value['rights_id'];
			if($varParam['albumid']){
				$arrayurl['albumid'] = $varParam['albumid'];
			}
			if($varParam['imageid']){
				$arrayurl['imageid'] = $varParam['imageid'];
			}
			if($varParam['textid']){
				$arrayurl['textid'] = $varParam['textid'];
			}
			if($varParam['siteid']){
				$arrayurl['siteid'] = $varParam['siteid'];
			}
			$varurlcustomers = $this->getUrl('lib/adminhtml_ncrights/removeUserFromRights', $arrayurl);
			
			$num= $i+1;
			if(($num % 2)== 0){
				$bg='';
			}else{
				$bg='background-color:#FFDDDD;';
				
			}
			$fieldset->addField('myimage'.$key, 'ancbutton', array(
				'label' => 'Kunde entfernen' ,
				'mylabel' =>  $num .'. '.$customer->getFirstname().' '.$customer->getLastname().'    '.'ID '.$customer->getID().'  ',
				'nctype'=>'button',
				'name' => 'mycustom_element'.$key,
				'required' => false,
				'value' => $varurlcustomers,
				'bold' => true,
				'label_style' => $bg,//'<tr><td>'.$customer->getID().'</td> <td> '.$customer->getFirstname().'</td><td> '.$customer->getLastname().':</td> </tr>',//'font-weight: bold;color:red;',
			));
			$i++;
		}

		$form->addValues($data);


		return parent::_prepareForm();
	}

}