X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=app%2FModels%2FUser.php;h=164fb026bfecba420a784daf83b44697f37cd869;hb=278c9b9d68b2a5e57068a12b3f7d9611ac42222b;hp=0c2dcf76b0aaaf307c4591f35dc6d2f618b9019e;hpb=1c91e5dcedd930bea5fe44ea95a77a9ecd0177a4;p=alttp.git diff --git a/app/Models/User.php b/app/Models/User.php index 0c2dcf7..164fb02 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -12,10 +12,45 @@ class User extends Authenticatable { use HasApiTokens, HasFactory, Notifiable; + public function findResult(Round $round) { + foreach ($round->results as $result) { + if ($this->id == $result->user_id) { + return $result; + } + } + return null; + } + + public function getName() { + if (!empty($this->nickname)) { + return $this->nickname; + } + return $this->username; + } + + public function isAdmin() { return $this->role === 'admin'; } + public function isApplicant(Tournament $tournament) { + foreach ($tournament->applications as $applicant) { + if ($applicant->user_id == $this->id) { + return true; + } + } + return false; + } + + public function isDeniedApplicant(Tournament $tournament) { + foreach ($tournament->applications as $applicant) { + if ($applicant->user_id == $this->id) { + return $applicant->denied; + } + } + return false; + } + public function isParticipant(Tournament $tournament) { foreach ($tournament->participants as $participant) { if ($participant->user_id == $this->id) {