| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- extends ../layout-marketing
- include ../_mixins/bookmarkable_tabset
- block content
- #main-content.content.content-alt
- .container
- .row
- .col-sm-12
- .card
- .card-body
- .page-header
- h1 Admin Panel
- .ol-tabs(data-ol-bookmarkable-tabset)
- .nav-tabs-container
- ul.nav.nav-tabs.align-left(role='tablist')
- +bookmarkable-tabset-header('system-messages', 'System Messages', true)
- +bookmarkable-tabset-header('open-sockets', 'Open Sockets')
- +bookmarkable-tabset-header('open-close-editor', 'Open/Close Editor')
- if hasFeature('saas')
- +bookmarkable-tabset-header('privileges-matrix', 'Privileges Matrix')
- +bookmarkable-tabset-header('tpds', 'TPDS/Dropbox Management')
- +bookmarkable-tabset-header('debug-projects', 'Debug Projects')
- .tab-content
- .tab-pane.active(role='tabpanel' id='system-messages')
- each message in systemMessages
- ul.system-messages
- li.system-message.row-spaced #{message.content}
- hr
- form(method='post' action='/admin/messages')
- input(name='_csrf' type='hidden' value=csrfToken)
- .form-group
- label.form-label(for='system-message') Message
- input#system-message.form-control(
- name='content'
- type='text'
- required
- )
- button.btn.btn-primary(type='submit') Post Message
- hr
- form(method='post' action='/admin/messages/clear')
- input(name='_csrf' type='hidden' value=csrfToken)
- button.btn.btn-danger(type='submit') Clear all messages
- .tab-pane(role='tabpanel' id='open-sockets')
- .row-spaced
- ul
- each agents, url in openSockets
- li #{url} - total : #{agents.length}
- ul
- each agent in agents
- li #{agent}
- .tab-pane(role='tabpanel' id='open-close-editor')
- if hasFeature('saas')
- | The "Open/Close Editor" feature is not available in SAAS.
- else
- .row-spaced
- form(method='post' action='/admin/closeEditor')
- input(name='_csrf' type='hidden' value=csrfToken)
- button.btn.btn-danger(type='submit') Close Editor
- p.small Will stop anyone opening the editor. Will NOT disconnect already connected users.
- .row-spaced
- form(method='post' action='/admin/disconnectAllUsers')
- input(name='_csrf' type='hidden' value=csrfToken)
- button.btn.btn-danger(type='submit') Disconnect all users
- p.small Will force disconnect all users with the editor open. Make sure to close the editor first to avoid them reconnecting.
- .row-spaced
- form(method='post' action='/admin/openEditor')
- input(name='_csrf' type='hidden' value=csrfToken)
- button.btn.btn-danger(type='submit') Reopen Editor
- p.small Will reopen the editor after closing.
- if hasFeature('saas')
- .tab-pane(role='tabpanel' id='privileges-matrix')
- p This matrix shows the access levels for different admin roles across various user management privileges. The matrix is automatically generated from the code-defined roles and capabilities.
- if privilegesMatrix
- .privileges-matrix-container
- table.table.table-bordered.table-striped.privileges-matrix-table
- thead
- tr
- th Webpage and privilege
- th(colspan=privilegesMatrix.roles.length) Access Level Needed For Team
- tr
- th
- each role in privilegesMatrix.roles
- th= role.displayName
- tbody
- - let currentSection = null
- each row in privilegesMatrix.privileges
- - const privilege = row.privilege
- if currentSection !== privilege.section
- - currentSection = privilege.section
- tr.section-header
- td(colspan=privilegesMatrix.roles.length + 1)
- strong= privilege.section
- tr
- td.privilege-label= privilege.label
- each role in privilegesMatrix.roles
- - const accessLevel = row.access[role.id]
- td.access-cell(class=`access-${accessLevel}`)
- span.access-badge(class=`badge-${accessLevel}`)
- if accessLevel === 'yes'
- | Yes
- else
- | No
- else
- p The privileges matrix is not available in this environment.
- .tab-pane(role='tabpanel' id='tpds')
- h3 Flush project to TPDS
- .row
- form.col-xs-6(method='post' action='/admin/flushProjectToTpds')
- input(name='_csrf' type='hidden' value=csrfToken)
- .form-group
- label.form-label(for='project-id') project_id
- input.form-control(
- name='project_id'
- id='project-id'
- type='text'
- required
- )
- .form-group
- button.btn-primary.btn(type='submit') Flush
- hr
- h3 Poll Dropbox for user
- .row
- form.col-xs-6(method='post' action='/admin/pollDropboxForUser')
- input(name='_csrf' type='hidden' value=csrfToken)
- .form-group
- label.form-label(for='user-id') user_id
- input.form-control(name='user_id' id='user-id' type='text' required)
- .form-group
- button.btn-primary.btn(type='submit') Poll
- .tab-pane(role='tabpanel' id='debug-projects')
- if debugProjects.length
- table.table.table-striped
- thead
- tr
- th Owner
- th Project Name
- th Last updated
- tbody
- each project in debugProjects
- tr
- td= project.owner_ref.email
- td= project.name
- td= moment(project.lastUpdated.toUTCString()).format('Do MMM YYYY, h:mm a') + ' UTC'
- else
- p.text-muted No debug projects found
|