Exemplo n.º 1
0
 public function createUserAuth($flow, $reservation)
 {
     Yii::trace("Criando Request User Authorization");
     //Confere se o usuário ja respondeu exatamente mesma requisição, se sim, não questiona novamente.
     $auth = ConnectionAuth::findOne(['type' => ConnectionAuth::TYPE_USER, 'domain' => $flow->domain, 'manager_user_id' => $flow->value, 'connection_id' => $flow->connection_id]);
     if ($auth) {
         return true;
     }
     //Confere se usuário requisitante é o mesmo que deve responder. Se sim, não pergunta, considera aceito.
     if ($flow->value == $reservation->request_user_id) {
         $flow->status = self::STATUS_YES;
         $flow->save();
         return true;
     }
     $auth = new ConnectionAuth();
     $auth->domain = $flow->domain;
     $auth->status = Connection::AUTH_STATUS_PENDING;
     $auth->type = ConnectionAuth::TYPE_USER;
     $auth->manager_user_id = $flow->value;
     $auth->connection_id = $flow->connection_id;
     $auth->save();
     AuthorizationNotification::createToUser($flow->value, $flow->domain, $reservation->id, $auth->id);
     return false;
 }