1
0
Fork 0
mirror of https://github.com/documize/community.git synced 2025-07-25 08:09:43 +02:00

using all new permissions for securing spaces and documents

WIP
This commit is contained in:
Harvey Kandola 2017-09-18 13:02:15 +01:00
parent ef285c91de
commit 300b617583
51 changed files with 517 additions and 868 deletions

View file

@ -2,7 +2,7 @@
{{#if editMode}}
{{document/document-editor document=document folder=folder page=page meta=meta onCancel=(action 'onCancelEdit') onAction=(action 'onSavePage')}}
{{else}}
{{document/page-heading tagName=page.tagName document=document folder=folder page=page isEditor=isEditor tabMode=tabMode
{{document/page-heading tagName=page.tagName document=document folder=folder page=page permissions=permissions tabMode=tabMode
onEdit=(action 'onEdit') onSavePageAsBlock=(action 'onSavePageAsBlock')
onCopyPage=(action 'onCopyPage') onMovePage=(action 'onMovePage') onDeletePage=(action 'onDeletePage')}}
{{section/base-renderer page=page}}

View file

@ -1,5 +1,5 @@
<div id="page-{{ page.id }}" class="is-a-tab wysiwyg non-printable {{if expanded 'tab-max' 'tab-min'}}" data-id="{{ page.id }}" data-type="{{ page.contentType }}">
{{document/tab-heading tagName=page.tagName document=document folder=folder page=page isEditor=isEditor
{{document/tab-heading tagName=page.tagName document=document folder=folder page=page permissions=permissions
onExpand=(action 'onExpand') onSavePageAsBlock=(action 'onSavePageAsBlock') onCopyPage=(action 'onCopyPage') onMovePage=(action 'onMovePage') onDeletePage=(action 'onDeletePage')}}
{{#if expanded}}
{{section/base-renderer page=page}}

View file

@ -2,7 +2,7 @@
{{#if hasPages}}
{{#each pages key="id" as |page index|}}
{{#if isEditor}}
{{#if permissions.documentEdit}}
<div class="start-section" data-index={{index}} data-before-id={{page.id}} id="add-section-button-{{page.id}}" {{action 'onShowSectionWizard' page}}>
<div class="start-button">
<div class="round-button round-button-small button-green">
@ -15,19 +15,19 @@
<div class="section-divider" />
{{/if}}
{{#if (is-equal page.pageType 'section')}}
{{#document/document-page document=document folder=folder page=page isEditor=isEditor toEdit=toEdit pageId=pageId
{{#document/document-page document=document folder=folder page=page permissions=permissions toEdit=toEdit pageId=pageId
onSavePage=(action 'onSavePage') onSavePageAsBlock=(action 'onSavePageAsBlock')
onCopyPage=(action 'onCopyPage') onMovePage=(action 'onMovePage') onDeletePage=(action 'onDeletePage')}}
{{/document/document-page}}
{{/if}}
{{#if (is-equal page.pageType 'tab')}}
{{#document/document-tab document=document folder=folder page=page isEditor=isEditor pageId=pageId
{{#document/document-tab document=document folder=folder page=page permissions=permissions pageId=pageId
onSavePage=(action 'onSavePage') onSavePageAsBlock=(action 'onSavePageAsBlock')
onCopyPage=(action 'onCopyPage') onMovePage=(action 'onMovePage') onDeletePage=(action 'onDeletePage')}}
{{/document/document-tab}}
{{/if}}
{{/each}}
{{#if isEditor}}
{{#if permissions.documentEdit}}
<div class="start-section" data-index="0" data-before-id="0" id="add-section-button-0" {{action 'onShowSectionWizard'}}>
<div class="start-button">
<div class="round-button round-button-small button-green">
@ -38,7 +38,7 @@
</div>
{{/if}}
{{else}}
{{#if isEditor}}
{{#if permissions.documentEdit}}
<div class="start-section start-section-empty-state" data-index="-1" data-before-id="0" id="add-section-button-0" {{action 'onShowSectionWizard'}}>
<div class="start-button">
<div class="round-button round-button-small button-green">

View file

@ -1,73 +1,89 @@
<div class="page-title">
<span id="page-title-{{ page.id }}">{{ page.title }}</span>
<div id="page-toolbar-{{ page.id }}" class="pull-right page-toolbar hidden-xs hidden-sm">
{{#if isEditor}}
{{#if permissions.documentEdit}}
<div class="round-button-mono" {{action 'onEdit'}}>
<i class="material-icons color-gray">mode_edit</i>
</div>
<div class="round-button-mono" id="page-menu-{{page.id}}">
<i class="material-icons color-gray">more_vert</i>
</div>
{{#dropdown-menu target=menuTarget position="top right" open="click" onOpenCallback=(action 'onMenuOpen') onCloseCallback=(action 'onMenuOpen')}}
<ul class="menu">
<li class="item" id={{copyButtonId}}>Copy</li>
<li class="item" id={{moveButtonId}}>Move</li>
<li class="item" id={{publishButtonId}}>Publish</li>
<li class="divider"></li>
<li class="item danger" id={{deleteButtonId}}>Delete</li>
</ul>
{{/dropdown-menu}}
{{#if hasMenuPermissions}}
<div class="round-button-mono" id="page-menu-{{page.id}}">
<i class="material-icons color-gray">more_vert</i>
</div>
{{#dropdown-menu target=menuTarget position="top right" open="click" onOpenCallback=(action 'onMenuOpen') onCloseCallback=(action 'onMenuOpen')}}
<ul class="menu">
{{#if permissions.documentCopy}}
<li class="item" id={{copyButtonId}}>Copy</li>
{{/if}}
{{#if permissions.documentMove}}
<li class="item" id={{moveButtonId}}>Move</li>
{{/if}}
{{#if permissions.documentTemplate}}
<li class="item" id={{publishButtonId}}>Publish</li>
{{/if}}
{{#if permissions.documentDelete}}
<li class="item danger" id={{deleteButtonId}}>Delete</li>
{{/if}}
</ul>
{{/dropdown-menu}}
{{/if}}
{{#if menuOpen}}
{{#dropdown-dialog target=deleteButtonId position="bottom right" button="Delete" color="flat-red" onAction=(action 'deletePage')}}
<p>Are you sure you want to delete <span class="bold">{{page.title}}?</span></p>
<p>
{{input type="checkbox" id=checkId class="margin-left-20" checked=deleteChildren}}
<label for="{{checkId}}">&nbsp;Delete child sections</label>
</p>
{{/dropdown-dialog}}
{{#dropdown-dialog id=publishDialogId target=publishButtonId position="bottom right" button="Publish" color="flat-green" focusOn=blockTitleId onAction=(action 'onSavePageAsBlock')}}
<div class="form-header">
<div class="tip">
<span class="bold">{{folder.name}}:</span> Content Block
{{#if permissions.documentDelete}}
{{#dropdown-dialog target=deleteButtonId position="bottom right" button="Delete" color="flat-red" onAction=(action 'deletePage')}}
<p>Are you sure you want to delete <span class="bold">{{page.title}}?</span></p>
<p>
{{input type="checkbox" id=checkId class="margin-left-20" checked=deleteChildren}}
<label for="{{checkId}}">&nbsp;Delete child sections</label>
</p>
{{/dropdown-dialog}}
{{/if}}
{{#if permissions.documentTemplate}}
{{#dropdown-dialog id=publishDialogId target=publishButtonId position="bottom right" button="Publish" color="flat-green" focusOn=blockTitleId onAction=(action 'onSavePageAsBlock')}}
<div class="form-header">
<div class="tip">
<span class="bold">{{folder.name}}:</span> Content Block
</div>
</div>
</div>
<div class="input-control">
<label>Name</label>
<div class="tip">Short title for reusable content block</div>
{{input type="text" value=blockTitle id=blockTitleId}}
</div>
<div class="input-control">
<label>Description</label>
<div class="tip">Short description to help others understand<br/>the reusable content block</div>
{{textarea rows="3" value=blockExcerpt id=blockExcerptId}}
</div>
{{/dropdown-dialog}}
{{#dropdown-dialog id=copyDialogId target=copyButtonId position="bottom right" button="Copy" color="flat-green" onOpenCallback=(action 'onCopyDialogOpen') onAction=(action 'onCopyPage')}}
<div class="form-header">
<div class="tip">
<span class="bold">Copy:</span> {{page.title}}
<div class="input-control">
<label>Name</label>
<div class="tip">Short title for reusable content block</div>
{{input type="text" value=blockTitle id=blockTitleId}}
</div>
</div>
<div class="input-control">
<label>Target</label>
<div class="tip">Select where the content should be copied to</div>
{{ui-select cssClass="dropdown-page-toolbar" content=documentList action=(action 'onTargetChange') optionValuePath="id" optionLabelPath="name" selection=document}}
</div>
{{/dropdown-dialog}}
{{#dropdown-dialog id=moveDialogId target=moveButtonId position="bottom right" button="Move" color="flat-green" onOpenCallback=(action 'onCopyDialogOpen') onAction=(action 'onMovePage')}}
<div class="form-header">
<div class="tip">
<span class="bold">Move:</span> {{page.title}}
<div class="input-control">
<label>Description</label>
<div class="tip">Short description to help others understand<br/>the reusable content block</div>
{{textarea rows="3" value=blockExcerpt id=blockExcerptId}}
</div>
</div>
<div class="input-control">
<label>Target</label>
<div class="tip">Select where the content should be moved to</div>
{{ui-select cssClass="dropdown-page-toolbar" content=documentListOthers action=(action 'onTargetChange') optionValuePath="id" optionLabelPath="name"}}
</div>
{{/dropdown-dialog}}
{{/dropdown-dialog}}
{{/if}}
{{#if permissions.documentCopy}}
{{#dropdown-dialog id=copyDialogId target=copyButtonId position="bottom right" button="Copy" color="flat-green" onOpenCallback=(action 'onCopyDialogOpen') onAction=(action 'onCopyPage')}}
<div class="form-header">
<div class="tip">
<span class="bold">Copy:</span> {{page.title}}
</div>
</div>
<div class="input-control">
<label>Target</label>
<div class="tip">Select where the content should be copied to</div>
{{ui-select cssClass="dropdown-page-toolbar" content=documentList action=(action 'onTargetChange') optionValuePath="id" optionLabelPath="name" selection=document}}
</div>
{{/dropdown-dialog}}
{{/if}}
{{#if permissions.documentMove}}
{{#dropdown-dialog id=moveDialogId target=moveButtonId position="bottom right" button="Move" color="flat-green" onOpenCallback=(action 'onCopyDialogOpen') onAction=(action 'onMovePage')}}
<div class="form-header">
<div class="tip">
<span class="bold">Move:</span> {{page.title}}
</div>
</div>
<div class="input-control">
<label>Target</label>
<div class="tip">Select where the content should be moved to</div>
{{ui-select cssClass="dropdown-page-toolbar" content=documentListOthers action=(action 'onTargetChange') optionValuePath="id" optionLabelPath="name"}}
</div>
{{/dropdown-dialog}}
{{/if}}
{{/if}}
{{/if}}
</div>

View file

@ -1,7 +1,7 @@
<div class="sidebar-panel">
<div class="title">Attachments</div>
<div class="document-sidebar-view-attachments">
{{#if isEditor}}
{{#if permissions.documentEdit}}
<div id="upload-document-files" class="upload-document-files">
Drag-drop files or click to select files
</div>

View file

@ -9,78 +9,94 @@
<i class="material-icons color-gray">expand_more</i>
</div>
{{else}}
{{#if isEditor}}
{{#if permissions.documentEdit}}
{{#link-to 'document.section' page.id}}
<div class="round-button-mono">
<i class="material-icons color-gray">mode_edit</i>
</div>
{{/link-to}}
<div class="round-button-mono" id="page-menu-{{page.id}}">
<i class="material-icons color-gray">more_vert</i>
</div>
{{#if hasMenuPermissions}}
<div class="round-button-mono" id="page-menu-{{page.id}}">
<i class="material-icons color-gray">more_vert</i>
</div>
{{#dropdown-menu target=menuTarget position="top right" open="click" onOpenCallback=(action 'onMenuOpen') onCloseCallback=(action 'onMenuOpen')}}
<ul class="menu">
{{#if permissions.documentCopy}}
<li class="item" id={{copyButtonId}}>Copy</li>
{{/if}}
{{#if permissions.documentMove}}
<li class="item" id={{moveButtonId}}>Move</li>
{{/if}}
{{#if permissions.documentTemplate}}
<li class="item" id={{publishButtonId}}>Publish</li>
{{/if}}
{{#if permissions.documentDelete}}
<li class="item danger" id={{deleteButtonId}}>Delete</li>
{{/if}}
</ul>
{{/dropdown-menu}}
{{/if}}
<div class="round-button-mono" {{action 'toggleExpand'}}>
<i class="material-icons color-gray">expand_less</i>
</div>
{{#dropdown-menu target=menuTarget position="top right" open="click" onOpenCallback=(action 'onMenuOpen') onCloseCallback=(action 'onMenuOpen')}}
<ul class="menu">
<li class="item" id={{copyButtonId}}>Copy</li>
<li class="item" id={{moveButtonId}}>Move</li>
<li class="item" id={{publishButtonId}}>Publish</li>
<li class="divider"></li>
<li class="item danger" id={{deleteButtonId}}>Delete</li>
</ul>
{{/dropdown-menu}}
{{#if menuOpen}}
{{#dropdown-dialog target=deleteButtonId position="bottom right" button="Delete" color="flat-red" onAction=(action 'deletePage')}}
<p>Are you sure you want to delete <span class="bold">{{page.title}}?</span></p>
<p>
{{input type="checkbox" id=checkId class="margin-left-20" checked=deleteChildren}}
<label for="{{checkId}}">&nbsp;Delete child sections</label>
</p>
{{/dropdown-dialog}}
{{#dropdown-dialog id=publishDialogId target=publishButtonId position="bottom right" button="Publish" color="flat-green" focusOn=blockTitleId onAction=(action 'onSavePageAsBlock')}}
<div class="form-header">
<div class="tip">
<span class="bold">{{folder.name}}:</span> Content Block
{{#if permissions.documentDelete}}
{{#dropdown-dialog target=deleteButtonId position="bottom right" button="Delete" color="flat-red" onAction=(action 'deletePage')}}
<p>Are you sure you want to delete <span class="bold">{{page.title}}?</span></p>
<p>
{{input type="checkbox" id=checkId class="margin-left-20" checked=deleteChildren}}
<label for="{{checkId}}">&nbsp;Delete child sections</label>
</p>
{{/dropdown-dialog}}
{{/if}}
{{#if permissions.documentTemplate}}
{{#dropdown-dialog id=publishDialogId target=publishButtonId position="bottom right" button="Publish" color="flat-green" focusOn=blockTitleId onAction=(action 'onSavePageAsBlock')}}
<div class="form-header">
<div class="tip">
<span class="bold">{{folder.name}}:</span> Content Block
</div>
</div>
</div>
<div class="input-control">
<label>Name</label>
<div class="tip">Short title for reusable content block</div>
{{input type="text" value=blockTitle id=blockTitleId}}
</div>
<div class="input-control">
<label>Description</label>
<div class="tip">Short description to help others understand<br/>the reusable content block</div>
{{textarea rows="3" value=blockExcerpt id=blockExcerptId}}
</div>
{{/dropdown-dialog}}
{{#dropdown-dialog id=copyDialogId target=copyButtonId position="bottom right" button="Copy" color="flat-green" onOpenCallback=(action 'onCopyDialogOpen') onAction=(action 'onCopyPage')}}
<div class="form-header">
<div class="tip">
<span class="bold">Copy:</span> {{page.title}}
<div class="input-control">
<label>Name</label>
<div class="tip">Short title for reusable content block</div>
{{input type="text" value=blockTitle id=blockTitleId}}
</div>
</div>
<div class="input-control">
<label>Target</label>
<div class="tip">Select where the content should be copied to</div>
{{ui-select cssClass="dropdown-page-toolbar" content=documentList action=(action 'onTargetChange') optionValuePath="id" optionLabelPath="name" selection=document}}
</div>
{{/dropdown-dialog}}
{{#dropdown-dialog id=moveDialogId target=moveButtonId position="bottom right" button="Move" color="flat-green" onOpenCallback=(action 'onCopyDialogOpen') onAction=(action 'onMovePage')}}
<div class="form-header">
<div class="tip">
<span class="bold">Move:</span> {{page.title}}
<div class="input-control">
<label>Description</label>
<div class="tip">Short description to help others understand<br/>the reusable content block</div>
{{textarea rows="3" value=blockExcerpt id=blockExcerptId}}
</div>
</div>
<div class="input-control">
<label>Target</label>
<div class="tip">Select where the content should be moved to</div>
{{ui-select cssClass="dropdown-page-toolbar" content=documentListOthers action=(action 'onTargetChange') optionValuePath="id" optionLabelPath="name"}}
</div>
{{/dropdown-dialog}}
{{/dropdown-dialog}}
{{/if}}
{{#if permissions.documentCopy}}
{{#dropdown-dialog id=copyDialogId target=copyButtonId position="bottom right" button="Copy" color="flat-green" onOpenCallback=(action 'onCopyDialogOpen') onAction=(action 'onCopyPage')}}
<div class="form-header">
<div class="tip">
<span class="bold">Copy:</span> {{page.title}}
</div>
</div>
<div class="input-control">
<label>Target</label>
<div class="tip">Select where the content should be copied to</div>
{{ui-select cssClass="dropdown-page-toolbar" content=documentList action=(action 'onTargetChange') optionValuePath="id" optionLabelPath="name" selection=document}}
</div>
{{/dropdown-dialog}}
{{/if}}
{{#if permissions.documentMove}}
{{#dropdown-dialog id=moveDialogId target=moveButtonId position="bottom right" button="Move" color="flat-green" onOpenCallback=(action 'onCopyDialogOpen') onAction=(action 'onMovePage')}}
<div class="form-header">
<div class="tip">
<span class="bold">Move:</span> {{page.title}}
</div>
</div>
<div class="input-control">
<label>Target</label>
<div class="tip">Select where the content should be moved to</div>
{{ui-select cssClass="dropdown-page-toolbar" content=documentListOthers action=(action 'onTargetChange') optionValuePath="id" optionLabelPath="name"}}
</div>
{{/dropdown-dialog}}
{{/if}}
{{/if}}
{{else}}
<div class="round-button-mono" {{action 'toggleExpand'}}>

View file

@ -2,7 +2,7 @@
{{#each tagz as |tg|}}
<div class="chip">
<span class="chip-text">#{{tg}}</span>
{{#if isEditor}}
{{#if permissions.documentEdit}}
<i class="material-icons pull-right" {{action 'removeTag' tg}}>close</i>
{{/if}}
</div>