• Как управлять ролями и правами Laravel 5 и VUE.JS?

    Alex_Wells
    @Alex_Wells
    PHP/Kotlin
    Реализуется легко:

    на беке юзаете баунсер + $this->authorize/Gate::allows и проверяете нужные права, вне зависимости от фронта.
    на фронт с бека передаете берете массив пермишенов (абилитис в баунсере), в том же месте, где передаете юзера (не важно, отдельным запросом или сразу при загрузке страницы). Пишите во vuex'е нужные геттеры, как пример из моего проекта:

    export const can = (state) => (perm) => this.loggedIn(state) && state.authUser.abilities.includes(perm);
    export const canAny = (state) => (perms) => perms.some(x => this.can(state)(x));


    И юзаете директивы где нужно, предварительно импортнув нужные геттеры:

    v-if="can('chat.mute')"

    PS: не стоит писать свои директивы "v-can", ибо:
    1) они не информативны (непонятно, что они делают, если прав нет)
    2) прийдется написать с десяток таких, на все случаи жизни, типа "can-show", "can-if" и прочая лабудень.

    PS2: про "переход по страницам" и любые запросы на бек - ларавель сам кинет forbidden 403, проверяете интерцептором в axios'е на этот статус и кидаете на страницу с ошибкой/показываете окошко/нотификацию/птичку/кошку.
    Ответ написан
    Комментировать
  • Как отключить контекстное меню в яндекс браузере?

    @dimkasklyar
    Настройки -> Дополнительные настройки -> Контекстное меню -> снять галочку с пункта "Показывать при выделении текста кнопки "Найти и "Копировать""
    Ответ написан
    Комментировать
  • Как расширить системную таблицу site_content (добавить пару столбцов)?

    Realetive
    @Realetive
    MODX Ambassador России, самозванный БЭМ-евангелист
    Вам подойдет подход расширения объекта modResource, когда вы создаете отдельную таблицу, в которой храните новые столбцы, что позволит избежать затирания этих столбцов при обновлении MODX, как подметил 2ball. Материалов по этой теме достаточно:

    Официальное руководство
    Сопроводительная статья от Боба Рея + статья «Зачем расширять modResource»
    Расширение системных (и не только) таблиц в MODX R... от Fi1osof
    Наследуемость полей у расширяемых xPDO-классов

    Если содержимое полей не требует индексации в БД, вы не планируете настраивать поиск по этим данным, то можно записывать их в JSON-формате поля properties таблицы site_content. Отличная статья по этой теме от bezumkin: Очень хитрые TV параметры
    Ответ написан
    Комментировать