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);
 }
Ejemplo n.º 7
0
 /**
  * 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;
 }
Ejemplo n.º 11
0
 /**
  * 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');
     }
 }
Ejemplo n.º 12
0
 /**
  * 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);
 }