2020-04-29 17:15:54 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App;
|
|
|
|
|
|
|
|
use Illuminate\Database\Eloquent\Model;
|
2020-05-07 23:24:56 +00:00
|
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
|
use Illuminate\Support\Facades\Log;
|
2020-10-03 20:36:35 +00:00
|
|
|
use Mpociot\Teamwork\Traits\UsedByTeams;
|
|
|
|
|
2020-04-29 17:15:54 +00:00
|
|
|
|
2020-07-11 19:34:26 +00:00
|
|
|
use GrahamCampbell\Markdown\Facades\Markdown;
|
|
|
|
|
|
|
|
|
2020-04-29 17:15:54 +00:00
|
|
|
class Vacancy extends Model
|
|
|
|
{
|
2020-10-08 18:19:10 +00:00
|
|
|
//use UsedByTeams;
|
2020-10-03 20:36:35 +00:00
|
|
|
|
2020-05-07 23:24:56 +00:00
|
|
|
public $fillable = [
|
|
|
|
|
|
|
|
'permissionGroupName',
|
|
|
|
'vacancyName',
|
|
|
|
'vacancyDescription',
|
2020-07-11 04:34:12 +00:00
|
|
|
'vacancyFullDescription',
|
2020-05-07 23:24:56 +00:00
|
|
|
'discordRoleID',
|
|
|
|
'vacancyFormID',
|
|
|
|
'vacancyCount',
|
2020-05-08 05:06:24 +00:00
|
|
|
'vacancyStatus',
|
2020-10-08 18:19:10 +00:00
|
|
|
'vacancySlug',
|
|
|
|
'team_id'
|
2020-05-07 23:24:56 +00:00
|
|
|
|
|
|
|
];
|
|
|
|
|
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;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2020-10-08 18:19:10 +00:00
|
|
|
public function teams()
|
|
|
|
{
|
|
|
|
return $this->belongsToMany('App\Team', 'team_has_vacancy');
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2020-05-07 23:24:56 +00:00
|
|
|
public function forms()
|
|
|
|
{
|
2020-05-08 05:06:24 +00:00
|
|
|
return $this->belongsTo('App\Form', 'vacancyFormID', 'id');
|
2020-05-07 23:24:56 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
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);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2020-04-29 17:15:54 +00:00
|
|
|
}
|