diff --git a/app/Jobs/GenerateCalendarEvents.php b/app/Jobs/GenerateCalendarEvents.php index 6d27b6190db7..3c9ccb5f2cb2 100644 --- a/app/Jobs/GenerateCalendarEvents.php +++ b/app/Jobs/GenerateCalendarEvents.php @@ -7,6 +7,7 @@ use App\Models\Invoice; use App\Models\Payment; use App\Models\Expense; use App\Models\Task; +use App\Models\Project; class GenerateCalendarEvents extends Job { @@ -26,6 +27,7 @@ class GenerateCalendarEvents extends Job ENTITY_TASK => Task::scope()->with(['project']), ENTITY_PAYMENT => Payment::scope()->with(['invoice']), ENTITY_EXPENSE => Expense::scope()->with(['expense_category']), + ENTITY_PROJECT => Project::scope(), ]; foreach ($data as $type => $source) { diff --git a/app/Models/Project.php b/app/Models/Project.php index 1c90ebab5d61..38be8e615283 100644 --- a/app/Models/Project.php +++ b/app/Models/Project.php @@ -33,7 +33,7 @@ class Project extends EntityModel /** * @var string */ - protected $presenter = 'App\Ninja\Presenters\EntityPresenter'; + protected $presenter = 'App\Ninja\Presenters\ProjectPresenter'; /** * @return mixed @@ -51,6 +51,14 @@ class Project extends EntityModel return "/projects/{$this->public_id}/edit"; } + /** + * @return \Illuminate\Database\Eloquent\Relations\BelongsTo + */ + public function account() + { + return $this->belongsTo('App\Models\Account'); + } + /** * @return mixed */ @@ -66,6 +74,13 @@ class Project extends EntityModel { return $this->hasMany('App\Models\Task'); } + + public function scopeDateRange($query, $startDate, $endDate) + { + return $query->where(function ($query) use ($startDate, $endDate) { + $query->whereBetween('due_date', [$startDate, $endDate]); + }); + } } Project::creating(function ($project) { diff --git a/app/Ninja/Presenters/ProjectPresenter.php b/app/Ninja/Presenters/ProjectPresenter.php new file mode 100644 index 000000000000..63b7cf116fca --- /dev/null +++ b/app/Ninja/Presenters/ProjectPresenter.php @@ -0,0 +1,26 @@ +entity; + + $data->title = trans('texts.project') . ': ' . $project->name; + $data->start = $project->due_date; + + if ($subColors) { + $data->borderColor = $data->backgroundColor = Utils::brewerColor($project->public_id); + } else { + $data->borderColor = $data->backgroundColor = '#676767'; + } + + return $data; + } + +} diff --git a/resources/views/calendar.blade.php b/resources/views/calendar.blade.php index 0fdd1d8a37b6..a5e8beb0d490 100644 --- a/resources/views/calendar.blade.php +++ b/resources/views/calendar.blade.php @@ -26,7 +26,7 @@ @section('top-right')