Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save devjosh12/733f7460521a99e01cc6 to your computer and use it in GitHub Desktop.
Save devjosh12/733f7460521a99e01cc6 to your computer and use it in GitHub Desktop.
Show attribute sets according to role id's in admin while creating product
<?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@magento.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.magento.com for more information.
*
* @category Mage
* @package Mage_Adminhtml
* @copyright Copyright (c) 2006-2015 X.commerce, Inc. (http://www.magento.com)
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
*/
/**
* Create product settings tab
*
* @category Mage
* @package Mage_Adminhtml
* @author Magento Core Team <core@magentocommerce.com>
*/
class Mage_Adminhtml_Block_Catalog_Product_Edit_Tab_Settings extends Mage_Adminhtml_Block_Widget_Form
{
protected function _prepareLayout()
{
$this->setChild('continue_button',
$this->getLayout()->createBlock('adminhtml/widget_button')
->setData(array(
'label' => Mage::helper('catalog')->__('Continue'),
'onclick' => "setSettings('".$this->getContinueUrl()."','attribute_set_id','product_type')",
'class' => 'save'
))
);
return parent::_prepareLayout();
}
protected function _prepareForm()
{
$form = new Varien_Data_Form();
$fieldset = $form->addFieldset('settings', array('legend'=>Mage::helper('catalog')->__('Create Product Settings')));
$entityType = Mage::registry('product')->getResource()->getEntityType();
$user = Mage::getSingleton('admin/session');
$username = $user->getUser()->getUsername();
$role_data = Mage::getModel('admin/user')->getCollection()->addFieldToFilter('username',$username)->getFirstItem()->getRole()->getData();
$role_id = $role_data['role_id'];
if($role_id == 1) {
$fieldset->addField('attribute_set_id', 'select', array(
'label' => Mage::helper('catalog')->__('Attribute Set'),
'title' => Mage::helper('catalog')->__('Attribute Set'),
'name' => 'set',
'value' => $entityType->getDefaultAttributeSetId(),
'values'=> Mage::getResourceModel('eav/entity_attribute_set_collection')
->setEntityTypeFilter($entityType->getId())
->load()
->toOptionArray()
));
}
else {
$filteredOptions = Mage::getResourceModel('eav/entity_attribute_set_collection')
->setEntityTypeFilter($entityType->getId())
->load()
->toOptionArray();
for($count=0;$count<count($filteredOptions);$count++)
{
if($filteredOptions[$count]['value'] == $entityType->getDefaultAttributeSetId())
{
unset($filteredOptions[$count]);
$filteredOptions = array_values($filteredOptions);
break;
}
}
$fieldset->addField('attribute_set_id', 'select', array(
'label' => Mage::helper('catalog')->__('Attribute Set'),
'title' => Mage::helper('catalog')->__('Attribute Set'),
'name' => 'set',
'value' => $filteredOptions[0]['value'],//$entityType->getDefaultAttributeSetId(),
'values'=> $filteredOptions
));
}
$fieldset->addField('product_type', 'select', array(
'label' => Mage::helper('catalog')->__('Product Type'),
'title' => Mage::helper('catalog')->__('Product Type'),
'name' => 'type',
'value' => '',
'values'=> Mage::getModel('catalog/product_type')->getOptionArray()
));
$fieldset->addField('continue_button', 'note', array(
'text' => $this->getChildHtml('continue_button'),
));
$this->setForm($form);
}
public function getContinueUrl()
{
return $this->getUrl('*/*/new', array(
'_current' => true,
'set' => '{{attribute_set}}',
'type' => '{{type}}'
));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment