diff --git a/app/Entities/Partners/Partner.php b/app/Entities/Partners/Partner.php index e12b01c..a69cf11 100644 --- a/app/Entities/Partners/Partner.php +++ b/app/Entities/Partners/Partner.php @@ -15,4 +15,9 @@ class Partner extends Model { return $this->belongsTo('App\Entities\Agencies\Agency'); } + + public function projects() + { + return $this->hasMany('App\Entities\Projects\Project', 'customer_id'); + } } diff --git a/app/Http/Controllers/Partners/PartnersController.php b/app/Http/Controllers/Partners/PartnersController.php index 8cbd995..655af10 100644 --- a/app/Http/Controllers/Partners/PartnersController.php +++ b/app/Http/Controllers/Partners/PartnersController.php @@ -18,7 +18,9 @@ class PartnersController extends Controller $editablePartner = null; $partners = Partner::where(function ($query) { $query->where('name', 'like', '%'.request('q').'%'); - })->paginate(25); + }) + ->withCount('projects') + ->paginate(25); if (in_array(request('action'), ['edit', 'delete']) && request('id') != null) { $editablePartner = Partner::find(request('id')); diff --git a/app/Policies/AgencyPolicy.php b/app/Policies/AgencyPolicy.php new file mode 100644 index 0000000..b0eccf6 --- /dev/null +++ b/app/Policies/AgencyPolicy.php @@ -0,0 +1,17 @@ +id == $agency->owner_id; + } +} diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php index a5b65c0..fdc7b9c 100644 --- a/app/Providers/AuthServiceProvider.php +++ b/app/Providers/AuthServiceProvider.php @@ -16,6 +16,7 @@ class AuthServiceProvider extends ServiceProvider protected $policies = [ 'App\Entities\Partners\Partner' => 'App\Policies\Partners\PartnerPolicy', 'App\Entities\Projects\Project' => 'App\Policies\Projects\ProjectPolicy', + 'App\Entities\Agencies\Agency' => 'App\Policies\AgencyPolicy', 'App\Entities\Users\Event' => 'App\Policies\EventPolicy', ]; diff --git a/resources/lang/id/partner.php b/resources/lang/id/partner.php index 0c1eddc..17f68a0 100644 --- a/resources/lang/id/partner.php +++ b/resources/lang/id/partner.php @@ -26,4 +26,5 @@ return [ // Attributes 'name' => 'Nama Partner', 'description' => 'Deskripsi Partner', + 'projects_count' => 'Jml Project', ]; diff --git a/resources/views/layouts/partials/sidebar.blade.php b/resources/views/layouts/partials/sidebar.blade.php index 064dda5..9cd772c 100755 --- a/resources/views/layouts/partials/sidebar.blade.php +++ b/resources/views/layouts/partials/sidebar.blade.php @@ -18,10 +18,10 @@
  • {!! html_link_to_route('features.index', 'On Progress Features', [], ['icon' => 'tasks']) !!}
  • groupBy('status_id') - ->where('owner_id', auth()->id()) - ->pluck('count', 'status_id') - ->all();?> + ->groupBy('status_id') + ->where('owner_id', auth()->id()) + ->pluck('count', 'status_id') + ->all();?> {!! html_link_to_route('projects.index', trans('project.projects') . ' ', [], ['icon' => 'table']) !!}