SilverStripe разрешения по умолчанию для авторов контента

Значение по умолчанию для управления конфигурацией сайта отключено:безопасность> группы> авторы контента> разрешения

Хотя можно просто установить флажок и активировать его, я бы предпочел включить его по умолчанию для каждой установки SS.

Как значение по умолчанию для этого может быть установлено на?

1 ответ

Решение

Это должно сделать, как требуется, сделать расширение Group и добавить requireDefaultRecords функция, она вызывается при каждой сборке dev.

Эта функция предназначена для поиска этого разрешения и, если его еще нет, создайте его...

class GroupExtension extends DataExtension {

    function requireDefaultRecords() {

        //get the content-authors group
        if ($group = Group::get()->filter('Code','content-authors')->first()) {

            //expected permission record content
            $arrPermissionData = array(
                'Arg'       => 0,
                'Type'      => 1,
                'Code'      => 'EDIT_SITECONFIG',
                'GroupID'   => $group->ID
            );

            //if the permission is not found, then create it
            if (!Permission::get()->filter($arrPermissionData)->first())
                Permission::create($arrPermissionData)->write();
        }
    }

}

Как всегда, чтобы зарегистрировать расширение, добавьте это в ваш config.yml...

Group:
  extensions:
    - GroupExtension
Другие вопросы по тегам