UNPKG

apostrophe

Version:

Apostrophe is a user-friendly content management system. This core module of Apostrophe provides rich content editing and essential facilities to integrate Apostrophe into your Express project. Apostrophe also includes simple facilities for storing your r

80 lines (76 loc) 3.43 kB
{% macro permissionsEditor(options) %} {% set selectiveOptions = { propagate: options.propagate } %} {% if workflow %} {% set selectiveOptions = { propagate: options.propagate, extras: [ { name: 'publish', type: 'boolean', label: 'Can publish' } ] } %} {% endif %} {# Toggles open apos-view-permissions #} <fieldset class="apos-fieldset apos-fieldset-select"> {# I'm commenting this out for now, as it's a decent design pattern #} {# <div data-show-view-permissions class="apos-select-wrapper apos-inline-input apos-accordion-toggle"> <span class="apos-ui-container apos-ui-inline-btn apos-ui-inline-btn--left"> <div class="apos-ui-btn"> <i class="icon icon-plus"></i> </div> </span> {{ __('Who can see this?') }} </div> #} <div data-view-permissions class="apos-view-permissions apos-page-settings-toggle-content"> <label class="apos-modal-form-title">{{ __('Who can see this?') }}</label> <fieldset class="apos-fieldset apos-fieldset-select apos-fieldset-login-required" data-name="{{ loginRequired }}"> {{ formSelect('loginRequired', 'Permitted', [ { value: '', label: 'Public' }, { value: 'loginRequired', label: 'Login Required' }, { value: 'certainPeople', label: 'Certain People' } ] )}} <span class="apos-propagate"><input type="checkbox" name="loginRequiredPropagate" /><label>{{ __('Apply to Subpages') }}</label></span> </fieldset> {# js shows this class when "Certain People" is chosen #} <div class="apos-view-certain-people"> {{ formSelective('viewGroupIds', 'Groups', selectiveOptions, { placeholder: "Type a group's name" }) }} {{ formSelective('viewPersonIds', 'Individuals', selectiveOptions, { placeholder: "Type a person's name" }) }} </div> <p class="apos-view-permissions-hint">{{ __('Admins can always see everything.') }}</p> </div> </fieldset> {# This outer div is for hiding the entirety of edit permissions via JS. -Tom #} <div data-edit-permissions-container> {# Toggles open data-edit-permissions #} <fieldset class="apos-fieldset apos-fieldset-select"> {# <div data-show-edit-permissions class="apos-select-wrapper apos-inline-input apos-accordion-toggle"> <span class="apos-ui-container apos-ui-inline-btn apos-ui-inline-btn--left"> <div class="apos-ui-btn"> <i class="icon icon-plus"></i> </div> </span> {{ __('Who can edit this?') }} </div> #} <div data-edit-permissions class="apos-edit-permissions apos-page-settings-toggle-content"> <label class="apos-modal-form-title">{{ __('Who can edit this?') }}</label> {{ formSelective('editGroupIds', 'Groups', selectiveOptions, { placeholder: "Type a group's name" }) }} {{ formSelective('editPersonIds', 'Individuals', selectiveOptions, { placeholder: "Type a person's name" }) }} {# This won't be true for some site somewhere, give it a class #} <p class="apos-edit-permissions-hint">{{ __('Admins can always edit everything.') }}</p> </div> </div> </div> {% endmacro %}