diff --git a/app/Http/Controllers/Projects/ActivityController.php b/app/Http/Controllers/Projects/ActivityController.php index b39416e..1317984 100644 --- a/app/Http/Controllers/Projects/ActivityController.php +++ b/app/Http/Controllers/Projects/ActivityController.php @@ -17,7 +17,12 @@ class ActivityController extends Controller $query->where('object_type', 'projects'); }); - $activities = $activityQuery->latest()->paginate(); + $activityQuery->orWhere(function ($query) use ($project) { + $query->whereIn('object_id', $project->jobs->pluck('id')); + $query->where('object_type', 'jobs'); + }); + + $activities = $activityQuery->latest()->paginate(50); return view('projects.activities.index', compact('project', 'activities')); } diff --git a/resources/lang/de/activity.php b/resources/lang/de/activity.php index a483ba5..645cbcd 100644 --- a/resources/lang/de/activity.php +++ b/resources/lang/de/activity.php @@ -6,4 +6,9 @@ return [ 'project_updated' => 'Project data :name updated by :user.', 'job_deleted' => 'Job deleted by :user.', ], + 'jobs' => [ + 'job_created' => 'Job created: :name new :user.', + 'job_updated' => 'Job data :name updated by :user.', + 'task_deleted' => 'Task deleted by :user.', + ], ]; diff --git a/resources/lang/de/job.php b/resources/lang/de/job.php index feb078a..1de5f16 100644 --- a/resources/lang/de/job.php +++ b/resources/lang/de/job.php @@ -47,6 +47,7 @@ return [ 'target_end_date' => 'Target End Date', 'actual_start_date' => 'Actual Start Date', 'actual_end_date' => 'Actual End Date', + 'updated_at' => 'Last Update', // Types 'main' => 'Haupt', diff --git a/resources/lang/en/activity.php b/resources/lang/en/activity.php index a483ba5..645cbcd 100644 --- a/resources/lang/en/activity.php +++ b/resources/lang/en/activity.php @@ -6,4 +6,9 @@ return [ 'project_updated' => 'Project data :name updated by :user.', 'job_deleted' => 'Job deleted by :user.', ], + 'jobs' => [ + 'job_created' => 'Job created: :name new :user.', + 'job_updated' => 'Job data :name updated by :user.', + 'task_deleted' => 'Task deleted by :user.', + ], ]; diff --git a/resources/lang/en/job.php b/resources/lang/en/job.php index 3415cab..df8c6ff 100644 --- a/resources/lang/en/job.php +++ b/resources/lang/en/job.php @@ -49,6 +49,7 @@ return [ 'target_end_date' => 'Target End Date', 'actual_start_date' => 'Actual Start Date', 'actual_end_date' => 'Actual End Date', + 'updated_at' => 'Last Update', // Types 'main' => 'Main', diff --git a/resources/lang/id/activity.php b/resources/lang/id/activity.php index 19cb1ea..8f996c9 100644 --- a/resources/lang/id/activity.php +++ b/resources/lang/id/activity.php @@ -6,4 +6,9 @@ return [ 'project_updated' => 'Data project :name diubah oleh :user.', 'job_deleted' => 'Job dihapus oleh :user.', ], + 'jobs' => [ + 'job_created' => 'Input job baru: :name oleh :user.', + 'job_updated' => 'Data job :name diubah oleh :user.', + 'task_deleted' => 'Task dihapus oleh :user.', + ], ]; diff --git a/resources/lang/id/job.php b/resources/lang/id/job.php index 4835805..053fb84 100644 --- a/resources/lang/id/job.php +++ b/resources/lang/id/job.php @@ -49,6 +49,7 @@ return [ 'target_end_date' => 'Target Tgl Selesai', 'actual_start_date' => 'Tgl Mulai Aktual', 'actual_end_date' => 'Tgl Selesai Aktual', + 'updated_at' => 'Waktu Update', // Types 'main' => 'Utama', diff --git a/resources/views/users/activities/jobs/job_created.blade.php b/resources/views/users/activities/jobs/job_created.blade.php new file mode 100644 index 0000000..421f0c6 --- /dev/null +++ b/resources/views/users/activities/jobs/job_created.blade.php @@ -0,0 +1,11 @@ +@component('users.activities.activity_list_item') +@slot('time') + {{ $activity->created_at }} +@endslot +@slot('body') + {!! __('activity.'.$activity->object_type.'.'.$activity->type, [ + 'user' => $activity->user->name, + 'name' => $activity->object->name, + ]) !!} +@endslot +@endcomponent diff --git a/resources/views/users/activities/jobs/job_updated.blade.php b/resources/views/users/activities/jobs/job_updated.blade.php new file mode 100644 index 0000000..59dbe2e --- /dev/null +++ b/resources/views/users/activities/jobs/job_updated.blade.php @@ -0,0 +1,28 @@ +@component('users.activities.activity_list_item') +@slot('time') + {{ $activity->created_at }} +@endslot +@slot('body') +
+ {!! __('activity.'.$activity->object_type.'.'.$activity->type, [ + 'user' => $activity->user->name, + 'name' => $activity->object->name, + ]) !!} +
+ @php + $data = $activity->data; + @endphp + @foreach ($data['before'] as $key => $value) + @php + if (in_array($key, ['price']) && !is_null($value)) { + $value = format_money($value); + } + $afterValue = $data['after'][$key] ?? null; + if (in_array($key, ['price']) && !is_null($afterValue)) { + $afterValue = format_money($afterValue); + } + @endphp ++ {!! __('activity.'.$activity->object_type.'.'.$activity->type, [ + 'user' => $activity->user->name, + ]) !!} +
+