Skip to content

Commit

Permalink
#180 Added permissions for the forum
Browse files Browse the repository at this point in the history
  • Loading branch information
simba77 committed Apr 3, 2022
1 parent c356238 commit c6d9a57
Showing 1 changed file with 36 additions and 0 deletions.
36 changes: 36 additions & 0 deletions modules/johncms/forum/src/Install/Installer.php
Expand Up @@ -12,13 +12,49 @@

namespace Johncms\Forum\Install;

use Johncms\Users\Permission;
use Johncms\Users\Role;

class Installer extends \Johncms\Modules\Installer
{
public function install(): void
{
$this->createPermissions();
}

public function uninstall(): void
{
}

private function createPermissions()
{
$permissions = [
[
'name' => 'forum_manage_posts',
'display_name' => __('Access to forum message management'),
'module_name' => $this->module_name,
],
[
'name' => 'forum_manage_topics',
'display_name' => __('Access to forum topic management'),
'module_name' => $this->module_name,
],
];

foreach ($permissions as $permission) {
Permission::query()->create($permission);
}
}

public function afterInstall(): void
{
$permissions = Permission::query()->where('module_name', $this->module_name)->get()->pluck('id');

$adminRole = Role::query()->where('name', 'admin')->first();
$moderatorRole = Role::query()->where('name', 'moderator')->first();

// Attach permissions to roles
$adminRole->permissions()->sync($permissions);
$moderatorRole->permissions()->sync($permissions);
}
}

0 comments on commit c6d9a57

Please sign in to comment.