/** * Creates a new board from form input from create_board partial view * * @param $request * @return bool * @internal param $input * */ public function createNewBoard($request) { $this->validateRequest($request); $input = $request->all(); $boardSettings = $this->initData($input); $permissions = new BoardPermissions(['permissions']); $guestPermissions = array('can_read' => 1, 'can_reply' => 0, 'can_create_thread' => 0, 'can_create_poll' => 0, 'can_moderate' => 0, 'can_sticky' => 0); if (isset($boardSettings['sub_child'])) { $board = $boardSettings['parent']->children()->create($boardSettings['boardValues']); } else { $parent = $boardSettings['parent']->parent; $board = $parent->children()->create($boardSettings['boardValues']); } $boardSettings['permissions']['board_id'] = $board->id; MemberGroup::defaultGroup()->permissions()->Board($board->id)->create($boardSettings['permissions']); $guestPermissions['board_id'] = $board->id; if ($boardSettings['permissions']['can_read'] == true) { MemberGroup::guestGroup()->permissions()->Board($board->id)->create($guestPermissions); } else { $guestPermissions['can_read'] = 0; MemberGroup::guestGroup()->permissions()->Board($board->id)->create($guestPermissions); } return true; }
public function getDefaultPermissions() { $defaultGroup = MemberGroup::defaultGroup(); return $defaultGroup->permissions()->Board($this->id)->firstOrCreate(['board_id' => $this->id]); //return $this->permissions()->firstOrCreate([]); }