public function up() { // Start order picking permission $picking = new sfGuardPermission(); $picking->setName('admin_shop_order_picking'); $picking->setDescription('Administrator orders in shop'); $picking->save(); $o_group = Doctrine::getTable('sfGuardGroup')->findOneByName('admin'); $group_order = new sfGuardGroupPermission(); $group_order->setGroupId($o_group->getId()); $group_order->setPermissionId($picking->getId()); $group_order->save(); // End order picking permission // Start order dispatch permission $dispatch = new sfGuardPermission(); $dispatch->setName('admin_shop_order_dispatch'); $dispatch->setDescription('Administrator promotions in shop'); $dispatch->save(); $p_group = Doctrine::getTable('sfGuardGroup')->findOneByName('admin'); $group_promotion = new sfGuardGroupPermission(); $group_promotion->setGroupId($p_group->getId()); $group_promotion->setPermissionId($dispatch->getId()); $group_promotion->save(); // End order dispatch permission // Add new column shipping_code to shop order table $this->addColumn('rt_shop_order', 'shipping_code', 'string', '50', array()); }
public function up() { $permission = new sfGuardPermission(); $permission->setName('show_admin_menu'); $permission->setDescription('Administration menu to be displayed'); $permission->save(); $group = Doctrine::getTable('sfGuardGroup')->findOneByName('admin'); $group_permission = new sfGuardGroupPermission(); $group_permission->setGroupId($group->getId()); $group_permission->setPermissionId($permission->getId()); $group_permission->save(); }
public function up() { $permission = new sfGuardPermission(); $permission->setName('admin_snippet'); $permission->setDescription('Administrator permission for snippets'); $permission->save(); $group = Doctrine::getTable('sfGuardGroup')->findOneByName('admin'); $group_permission = new sfGuardGroupPermission(); $group_permission->setGroupId($group->getId()); $group_permission->setPermissionId($permission->getId()); $group_permission->save(); }
public function up() { $permission = new sfGuardPermission(); $permission->setName('admin_comment'); $permission->setDescription('Administration menu to be displayed'); $permission->save(); $group = Doctrine::getTable('sfGuardGroup')->findOneByName('admin'); $group_permission = new sfGuardGroupPermission(); $group_permission->setGroupId($group->getId()); $group_permission->setPermissionId($permission->getId()); $group_permission->save(); $this->createTable('rt_comment', array('id' => array('type' => 'integer', 'length' => '8', 'autoincrement' => '1', 'primary' => '1'), 'is_active' => array('type' => 'boolean', 'length' => '25'), 'model_id' => array('type' => 'integer', 'length' => '8'), 'model' => array('type' => 'string', 'length' => '100'), 'user_id' => array('type' => 'integer', 'length' => '8'), 'comment_id' => array('type' => 'integer', 'length' => '8'), 'author_name' => array('type' => 'string', 'length' => '255'), 'author_email' => array('type' => 'string', 'length' => '255'), 'author_website' => array('type' => 'string', 'extra' => 'link', 'length' => '255'), 'content' => array('type' => 'string', 'length' => ''), 'moderator_note' => array('type' => 'string', 'length' => ''), 'created_at' => array('notnull' => '1', 'type' => 'timestamp', 'length' => '25'), 'updated_at' => array('notnull' => '1', 'type' => 'timestamp', 'length' => '25')), array('primary' => array(0 => 'id'), 'collate' => 'utf8_unicode_ci', 'charset' => 'utf8')); $this->createTable('rt_comment_report', array('id' => array('type' => 'integer', 'length' => '8', 'autoincrement' => '1', 'primary' => '1'), 'reason' => array('type' => 'clob', 'length' => ''), 'referer' => array('type' => 'string', 'length' => '255'), 'status' => array('type' => 'enum', 'values' => array(0 => 'valid', 1 => 'invalid', 2 => 'untreated'), 'default' => 'untreated', 'length' => ''), 'comment_id' => array('type' => 'integer', 'notnull' => '1', 'length' => '8'), 'created_at' => array('notnull' => '1', 'type' => 'timestamp', 'length' => '25'), 'updated_at' => array('notnull' => '1', 'type' => 'timestamp', 'length' => '25')), array('primary' => array(0 => 'id'))); }
public function up() { // Start order permission $order = new sfGuardPermission(); $order->setName('admin_shop_order'); $order->setDescription('Administrator orders in shop'); $order->save(); $o_group = Doctrine::getTable('sfGuardGroup')->findOneByName('admin'); $group_order = new sfGuardGroupPermission(); $group_order->setGroupId($o_group->getId()); $group_order->setPermissionId($order->getId()); $group_order->save(); // End order permission // Start promotion permission $promotion = new sfGuardPermission(); $promotion->setName('admin_shop_promotion'); $promotion->setDescription('Administrator promotions in shop'); $promotion->save(); $p_group = Doctrine::getTable('sfGuardGroup')->findOneByName('admin'); $group_promotion = new sfGuardGroupPermission(); $group_promotion->setGroupId($p_group->getId()); $group_promotion->setPermissionId($promotion->getId()); $group_promotion->save(); // End promotion permission // Start voucher permission $voucher = new sfGuardPermission(); $voucher->setName('admin_shop_voucher'); $voucher->setDescription('Administrator vouchers in shop'); $voucher->save(); $v_group = Doctrine::getTable('sfGuardGroup')->findOneByName('admin'); $group_voucher = new sfGuardGroupPermission(); $group_voucher->setGroupId($v_group->getId()); $group_voucher->setPermissionId($voucher->getId()); $group_voucher->save(); // End voucher permission }
/** * Создать sfGuardUserPermission */ public function makeGuardUserPermission(sfGuardUser $user, sfGuardPermission $permission, $save = false, array $props = array()) { $defaultProps = array('user_id' => $user->getId(), 'permission_id' => $permission->getId()); $props = array_merge($defaultProps, $props); return $this->makeModel('sfGuardUserPermission', $props, $save); }
/** * Declares an association between this object and a sfGuardPermission object. * * @param sfGuardPermission $v * @return sfGuardUserPermission The current object (for fluent API support) * @throws PropelException */ public function setsfGuardPermission(sfGuardPermission $v = null) { if ($v === null) { $this->setPermissionId(NULL); } else { $this->setPermissionId($v->getId()); } $this->asfGuardPermission = $v; // Add binding for other direction of this n:n relationship. // If this object has already been added to the sfGuardPermission object, it will not be re-added. if ($v !== null) { $v->addsfGuardUserPermission($this); } return $this; }
/** * Adds an object to the instance pool. * * Propel keeps cached copies of objects in an instance pool when they are retrieved * from the database. In some cases -- especially when you override doSelect*() * methods in your stub classes -- you may need to explicitly add objects * to the cache in order to ensure that the same objects are always returned by doSelect*() * and retrieveByPK*() calls. * * @param sfGuardPermission $value A sfGuardPermission object. * @param string $key (optional) key to use for instance map (for performance boost if key was already calculated externally). */ public static function addInstanceToPool(sfGuardPermission $obj, $key = null) { if (Propel::isInstancePoolingEnabled()) { if ($key === null) { $key = (string) $obj->getId(); } // if key === null self::$instances[$key] = $obj; } }
public function executePermissions(sfWebRequest $request) { $module = 'sfGuardUser'; if (!in_array($module, array_keys(sfPlop::getSafePluginModules()))) { $this->redirect('@sf_plop_dashboard'); } if ($request->isMethod(sfRequest::POST)) { if ($request->isXmlHttpRequest()) { $this->setTemplate('ajaxPermissions'); $this->setLayout(false); } $group_id = $request->getParameter('g'); $user_id = $request->getParameter('u'); $permission_id = $request->getParameter('p'); if ($group_id) { $group_exists = sfPlopGuard::groupExists($group_id); if (!$group_exists && $request->isXmlHttpRequest()) { return sfView::ERROR; } else { if (!$group_exists) { $this->redirect('@sf_plop_dashboard_permissions'); } } } if ($user_id) { $user_exists = sfPlopGuard::userExists($user_id); if (!$user_exists && $request->isXmlHttpRequest()) { return sfView::ERROR; } else { if (!$user_exists) { $this->redirect('@sf_plop_dashboard_permissions'); } } } if (isset($group_exists) && isset($user_exists)) { $user_group = sfGuardUserGroupPeer::retrieveByPK($user_id, $group_id); if ($user_group) { $user_group->delete(); } else { $user_group = new sfGuardUsergroup(); $user_group->setUserId($user_id); $user_group->setGroupId($group_id); $user_group->save(); $this->getResponse()->setStatusCode(201); } } if ($permission_id) { if ($permission_id == 'super') { if (!sfPlopGuard::isLastSuperAdminUser($user_id)) { $user = sfGuardUserPeer::retrieveByPK($user_id); if ($user->getIsSuperAdmin()) { $user->setIsSuperAdmin(false); } else { $user->setIsSuperAdmin(true); } $user->save(); } else { $this->getResponse()->setStatusCode(202); return sfView::ERROR; } } else { if (!is_int($permission_id)) { $permission_exists = sfPlopGuard::permissionExists($permission_id); if (!$permission_exists) { $modules = sfPlop::getSafePluginModules(); if ($request->isXmlHttpRequest() && !isset($modules[$permission_id])) { return sfView::ERROR; } elseif (!isset($modules[$permission_id])) { $this->redirect('@sf_plop_dashboard_permissions'); } else { $module = $modules[$permission_id]; } $permission = new sfGuardPermission(); $permission->setName($permission_id); $permission->setDescription($module['name']); $permission->save(); $permission_id = $permission->getId(); $this->getResponse()->setStatusCode(201); } else { $permission_id = sfPlopGuard::getPermission($permission_id)->getId(); } } else { $permission_exists = sfPlopGuard::permissionExists($permission_id); if (!$permission_exists && $request->isXmlHttpRequest()) { return sfView::ERROR; } else { if (!$permission_exists) { $this->redirect('@sf_plop_dashboard_permissions'); } } } if (isset($user_exists)) { $user_permission = sfGuardUserPermissionPeer::retrieveByPK($user_id, $permission_id); if ($user_permission) { $user_permission->delete(); } else { $user_permission = new sfGuardUserPermission(); $user_permission->setUserId($user_id); $user_permission->setPermissionId($permission_id); $user_permission->save(); $this->getResponse()->setStatusCode(201); } } elseif (isset($group_exists)) { $group_permission = sfGuardGroupPermissionPeer::retrieveByPK($group_id, $permission_id); if ($group_permission) { $group_permission->delete(); } else { $group_permission = new sfGuardGroupPermission(); $group_permission->setGroupId($group_id); $group_permission->setPermissionId($permission_id); $group_permission->save(); $this->getResponse()->setStatusCode(201); } } } } if (!$request->isXmlHttpRequest()) { $this->redirect('@sf_plop_dashboard_permissions'); } } $this->groups = sfPlopGuard::getAllGroups(); $this->users = sfPlopGuard::getAllUsers(); $this->permissions = sfPlopGuard::getAllPermissions(); }
/** * Exclude object from result * * @param sfGuardPermission $sfGuardPermission Object to remove from the list of results * * @return sfGuardPermissionQuery The current query, for fluid interface */ public function prune($sfGuardPermission = null) { if ($sfGuardPermission) { $this->addUsingAlias(sfGuardPermissionPeer::ID, $sfGuardPermission->getId(), Criteria::NOT_EQUAL); } return $this; }
/** * Filter the query by a related sfGuardPermission object * * @param sfGuardPermission|PropelCollection $sfGuardPermission The related object(s) to use as filter * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * * @return sfGuardUserPermissionQuery The current query, for fluid interface */ public function filterBysfGuardPermission($sfGuardPermission, $comparison = null) { if ($sfGuardPermission instanceof sfGuardPermission) { return $this->addUsingAlias(sfGuardUserPermissionPeer::PERMISSION_ID, $sfGuardPermission->getId(), $comparison); } elseif ($sfGuardPermission instanceof PropelCollection) { if (null === $comparison) { $comparison = Criteria::IN; } return $this->addUsingAlias(sfGuardUserPermissionPeer::PERMISSION_ID, $sfGuardPermission->toKeyValue('PrimaryKey', 'Id'), $comparison); } else { throw new PropelException('filterBysfGuardPermission() only accepts arguments of type sfGuardPermission or PropelCollection'); } }
/** * Filter the query by a related sfGuardPermission object * * @param sfGuardPermission $sfGuardPermission the related object to use as filter * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * * @return sfGuardUserPermissionQuery The current query, for fluid interface */ public function filterBysfGuardPermission($sfGuardPermission, $comparison = null) { return $this->addUsingAlias(sfGuardUserPermissionPeer::PERMISSION_ID, $sfGuardPermission->getId(), $comparison); }