public function validateUpdate($payload, sfWebRequest $request = null) { parent::validateUpdate($payload, $request); $params = $this->parsePayload($payload); $primaryKey = $request->getParameter('id'); $params = $this->parsePayload($payload); $user = $this->getUser()->getGuardUser(); if (!$user) { throw new sfException('Action requires an auth token.', 401); } $subreddittropo = SubredditTropoNumber::getInstance()->find($primaryKey); $subreddit_id = $subreddittropo->getSubredditId(); $admin = sfGuardUserSubredditMembershipTable::getInstance()->getFirstByUserSubredditAndMemberships($user->getIncremented(), $subreddit_id, array('admin')); if (!$admin && !$this->getUser()->isSuperAdmin()) { throw new sfException("Your user does not have permissions to " . "update Tropo phone numbers in this Subreddit.", 403); } }