rbrecruiter/app/Vacancy.php

84 lines
1.6 KiB
PHP
Raw Normal View History

<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Log;
2020-10-03 20:36:35 +00:00
use Mpociot\Teamwork\Traits\UsedByTeams;
2020-07-11 19:34:26 +00:00
use GrahamCampbell\Markdown\Facades\Markdown;
class Vacancy extends Model
{
//use UsedByTeams;
2020-10-03 20:36:35 +00:00
public $fillable = [
'permissionGroupName',
'vacancyName',
'vacancyDescription',
'vacancyFullDescription',
'discordRoleID',
'vacancyFormID',
'vacancyCount',
'vacancyStatus',
'vacancySlug',
'team_id'
];
2020-07-11 19:34:26 +00:00
/**
* Get the HTML variant of the vacancyFullDescription attribute.
*
* @param string $value The original value
* @return string
*/
public function getVacancyFullDescriptionAttribute($value)
{
if (!is_null($value))
{
return Markdown::convertToHTML($value);
}
else
{
return null;
}
}
public function teams()
{
return $this->belongsToMany('App\Team', 'team_has_vacancy');
}
public function forms()
{
return $this->belongsTo('App\Form', 'vacancyFormID', 'id');
}
public function open()
{
$this->update([
'vacancyStatus' => 'OPEN'
]);
Log::info("Vacancies: Vacancy " . $this->id . " (" . $this->vacancyName . ") opened by " . Auth::user()->name);
}
public function close()
{
$this->update([
'vacancyStatus' => 'CLOSED'
]);
Log::warning("Vacancies: Vacancy " . $this->id . " (" . $this->vacancyName . ") closed by " . Auth::user()->name);
}
}