protected function doUpdateObject($values) { // событие перенесено? if (strtotime($this->object->getFireAt()) != strtotime($values['fire_at'])) { $values['last_fire_at'] = $this->object->getFireAt(); } parent::doUpdateObject($values); // "я иду" if (isset($values['iamgoing']) && $values['iamgoing']) { $user = sfContext::getInstance()->getUser()->getGuardUser(); if (!$this->object->hasFollower($user->getId())) { $accept = new PointUser(); $accept->setPoint($this->object); $accept->setUser($user); $accept->save(); } } }
/** * Следить за событиями */ public function executeFollow(sfWebRequest $request) { $place = $this->getRoute()->getObject(); $user = $this->getUser()->getGuardUser(); if (!$place->hasFollower($user->id)) { $accept = new PointUser(); $accept->setPoint($place); $accept->setUser($user); $accept->save(); } if ($request->isXmlHttpRequest()) { return $this->renderPartial('place/show', array('place' => $place, 'move' => false)); } else { return $this->redirect('place_show', $place); } }