/**
  * Creates a new Registration model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate($id)
 {
     $model = new Registration();
     $model->competition_id = $id;
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         return $this->redirect(['view', 'id' => $model->id]);
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }
示例#2
0
 /**
  * Register golfer to event
  * 
  * @var  Golfer $golfer Golfer to register
  * @return Registration
  */
 function register($golfer, $force = false)
 {
     $canRegister = true;
     //		Yii::trace($this->id.' for '.$golfer->id, 'Competition::register');
     if ($parent = $this->parent) {
         $canRegister = $parent->register($golfer, $force);
     }
     if ($canRegister && ($force || $this->canRegister($golfer))) {
         $model = Registration::findOne(['golfer_id' => $golfer->id, 'competition_id' => $this->id]);
         if (!$model) {
             $model = new Registration();
             $model->golfer_id = $golfer->id;
             $model->competition_id = $this->id;
         }
         // force can only be used by starters
         $model->status = $force ? Registration::STATUS_REGISTERED : Registration::STATUS_PENDING;
         $model->save();
         Yii::trace('OK for ' . $this->id . ' for ' . $golfer->id, 'Competition::register');
         return true;
     }
     Yii::trace('NOT for competition ' . $this->id . ' for golfer ' . $golfer->id, 'Competition::register');
     return false;
 }