Team-Tea-Time / laravel-forum

A slim, lean forum package designed for quick and easy integration in Laravel projects
https://laravel-forum.teamteatime.net/
MIT License
601 stars 165 forks source link

How to override policies? #183

Closed ALTELMA closed 6 years ago

ALTELMA commented 6 years ago

I need example not clear from document.

Thank you.

Riari commented 6 years ago

Hi,

You just need to create classes that extend the policy classes in the package and override methods as needed, then change the namespaces in the forum.integration.policies config key. E.g.:

<?php

namespace App\Policies;

use Riari\Forum\Policies\CategoryPolicy as ForumCategoryPolicy;
use Riari\Forum\Models\Category;

class CategoryPolicy extends ForumCategoryPolicy;
{
    public function createThreads($user, Category $category)
    {
        // your version
    }
}

In your forum.integration config:

    'policies' => [
        'forum' => Riari\Forum\Policies\ForumPolicy::class,
        'model' => [
            Riari\Forum\Models\Category::class  => App\Policies\CategoryPolicy::class,
            Riari\Forum\Models\Thread::class    => Riari\Forum\Policies\ThreadPolicy::class,
            Riari\Forum\Models\Post::class      => Riari\Forum\Policies\PostPolicy::class
        ]
    ],
ALTELMA commented 6 years ago

Awesome!! Thank you.