Browse Source

Add job related activities to the project activities tab

pull/72/head
Nafies Luthfi 5 years ago
parent
commit
e441f12e0d
  1. 7
      app/Http/Controllers/Projects/ActivityController.php
  2. 5
      resources/lang/de/activity.php
  3. 1
      resources/lang/de/job.php
  4. 5
      resources/lang/en/activity.php
  5. 1
      resources/lang/en/job.php
  6. 5
      resources/lang/id/activity.php
  7. 1
      resources/lang/id/job.php
  8. 11
      resources/views/users/activities/jobs/job_created.blade.php
  9. 28
      resources/views/users/activities/jobs/job_updated.blade.php
  10. 15
      resources/views/users/activities/jobs/task_deleted.blade.php

7
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'));
}

5
resources/lang/de/activity.php

@ -6,4 +6,9 @@ return [
'project_updated' => 'Project data <strong>:name</strong> updated by <strong>:user</strong>.',
'job_deleted' => 'Job deleted by <strong>:user</strong>.',
],
'jobs' => [
'job_created' => 'Job created: <strong>:name</strong> new <strong>:user</strong>.',
'job_updated' => 'Job data <strong>:name</strong> updated by <strong>:user</strong>.',
'task_deleted' => 'Task deleted by <strong>:user</strong>.',
],
];

1
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',

5
resources/lang/en/activity.php

@ -6,4 +6,9 @@ return [
'project_updated' => 'Project data <strong>:name</strong> updated by <strong>:user</strong>.',
'job_deleted' => 'Job deleted by <strong>:user</strong>.',
],
'jobs' => [
'job_created' => 'Job created: <strong>:name</strong> new <strong>:user</strong>.',
'job_updated' => 'Job data <strong>:name</strong> updated by <strong>:user</strong>.',
'task_deleted' => 'Task deleted by <strong>:user</strong>.',
],
];

1
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',

5
resources/lang/id/activity.php

@ -6,4 +6,9 @@ return [
'project_updated' => 'Data project <strong>:name</strong> diubah oleh <strong>:user</strong>.',
'job_deleted' => 'Job dihapus oleh <strong>:user</strong>.',
],
'jobs' => [
'job_created' => 'Input job baru: <strong>:name</strong> oleh <strong>:user</strong>.',
'job_updated' => 'Data job <strong>:name</strong> diubah oleh <strong>:user</strong>.',
'task_deleted' => 'Task dihapus oleh <strong>:user</strong>.',
],
];

1
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',

11
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

28
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')
<p>
{!! __('activity.'.$activity->object_type.'.'.$activity->type, [
'user' => $activity->user->name,
'name' => $activity->object->name,
]) !!}
</p>
@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
<div>{{ __('job.'.$key) }}: {{ $value }} => {{ $afterValue }}</div>
@endforeach
@endslot
@endcomponent

15
resources/views/users/activities/jobs/task_deleted.blade.php

@ -0,0 +1,15 @@
@component('users.activities.activity_list_item')
@slot('time')
{{ $activity->created_at }}
@endslot
@slot('body')
<p>
{!! __('activity.'.$activity->object_type.'.'.$activity->type, [
'user' => $activity->user->name,
]) !!}
</p>
<div>{{ __('task.name') }}: {{ $activity->data['name'] }}</div>
<div>{{ __('task.description') }}: {{ $activity->data['description'] }}</div>
<div>{{ __('task.progress') }}: {{ $activity->data['progress'] }} %</div>
@endslot
@endcomponent
Loading…
Cancel
Save