public function add(Mage_Core_Model_Abstract $vendor) { //print_r($vendor->getData());die; $dbh = $this->_getWriteAdapter(); $aGroups = $this->hasAssigned2Group($vendor); if (sizeof($aGroups) > 0) { foreach ($aGroups as $idx => $data) { $dbh->delete($this->getTable('csgroup/group'), "group_id = {$data['group_id']}"); } } if (strlen($vendor->getGroup()) > 0) { $group = Mage::getModel('csgroup/group')->loadByField('group_code', $vendor->getGroup()); } else { $group = new Varien_Object(); $group->setTreeLevel(0); } if ($group && $group->getId()) { //print_r($group->getData());die; $dbh->insert($this->getTable('csgroup/group'), array('parent_id' => $group->getId(), 'tree_level' => $group->getTreeLevel() + 1, 'sort_order' => 0, 'group_type' => 'U', 'vendor_id' => $vendor->getId(), 'group_code' => $vendor->getGroup(), 'group_name' => $vendor->getName())); } return $this; }
/** * Save user roles * * @param Mage_Core_Model_Abstract $user * @return Mage_Admin_Model_Resource_User */ public function add(Mage_Core_Model_Abstract $user) { $dbh = $this->_getWriteAdapter(); $aRoles = $this->hasAssigned2Role($user); if (sizeof($aRoles) > 0) { foreach ($aRoles as $idx => $data) { $conditions = array('role_id = ?' => $data['role_id']); $dbh->delete($this->getTable('admin/role'), $conditions); } } if ($user->getId() > 0) { $role = Mage::getModel('admin/role')->load($user->getRoleId()); } else { $role = new Varien_Object(); $role->setTreeLevel(0); } $data = new Varien_Object(array('parent_id' => $user->getRoleId(), 'tree_level' => $role->getTreeLevel() + 1, 'sort_order' => 0, 'role_type' => 'U', 'user_id' => $user->getUserId(), 'role_name' => $user->getFirstname())); $insertData = $this->_prepareDataForTable($data, $this->getTable('admin/role')); $dbh->insert($this->getTable('admin/role'), $insertData); return $this; }
/** * Create role for provided user of provided type * * @param $parentId * @param Mage_User_Model_User $user */ protected function _createUserRole($parentId, Mage_User_Model_User $user) { if ($parentId > 0) { $parentRole = Mage::getModel('Mage_User_Model_Role')->load($parentId); } else { $role = new Varien_Object(); $role->setTreeLevel(0); } if ($parentRole->getId()) { $data = new Varien_Object(array('parent_id' => $parentRole->getId(), 'tree_level' => $parentRole->getTreeLevel() + 1, 'sort_order' => 0, 'role_type' => 'U', 'user_id' => $user->getId(), 'role_name' => $user->getFirstname())); $insertData = $this->_prepareDataForTable($data, $this->getTable('admin_role')); $this->_getWriteAdapter()->insert($this->getTable('admin_role'), $insertData); } }