|
|
|
extends ./_layout.pug
|
|
|
|
|
|
|
|
block rootNavRight
|
|
|
|
loading-spinner
|
|
|
|
.nav-item
|
|
|
|
a.button(href='/admin/users')
|
|
|
|
i.icon-reply
|
|
|
|
span= t('admin:users.returntousers')
|
|
|
|
|
|
|
|
block adminContent
|
|
|
|
admin-edit-user(inline-template, usrdata=JSON.stringify(usr))
|
|
|
|
div
|
|
|
|
.hero
|
|
|
|
h1.title= t('admin:users.edituser')
|
|
|
|
h2.subtitle= usr.email
|
|
|
|
table.table
|
|
|
|
thead
|
|
|
|
tr
|
|
|
|
th= t('admin:users.uniqueid')
|
|
|
|
th= t('admin:users.provider')
|
|
|
|
th= t('admin:users.createdon')
|
|
|
|
th= t('admin:users.updatedon')
|
|
|
|
tbody
|
|
|
|
tr
|
|
|
|
td.is-centered= usr._id
|
|
|
|
td.is-centered.has-icons
|
|
|
|
case usr.provider
|
|
|
|
when 'local': i.icon-server
|
|
|
|
when 'windowslive': i.icon-windows2.is-blue
|
|
|
|
when 'azure': i.icon-windows2.is-blue
|
|
|
|
when 'google': i.icon-google.is-blue
|
|
|
|
when 'facebook': i.icon-facebook.is-indigo
|
|
|
|
when 'github': i.icon-github.is-grey
|
|
|
|
when 'slack': i.icon-slack.is-purple
|
|
|
|
when 'ldap': i.icon-arrow-repeat-outline
|
|
|
|
default: i.icon-warning
|
|
|
|
= t('auth:providers.' + usr.provider)
|
|
|
|
td.is-centered= moment(usr.createdAt).format('lll')
|
|
|
|
td.is-centered= moment(usr.updatedAt).format('lll')
|
|
|
|
.form-sections
|
|
|
|
section
|
|
|
|
label.label= t('admin:profile.email')
|
|
|
|
p.control.is-fullwidth
|
|
|
|
input.input(type='text', placeholder='john.smith@example.com', v-model='email', disabled=!usrOpts.canChangeEmail)
|
|
|
|
section
|
|
|
|
label.label= t('admin:profile.displayname')
|
|
|
|
p.control.is-fullwidth
|
|
|
|
input.input(type='text', placeholder=t('admin:profile.displaynameexample'), v-model='name', disabled=!usrOpts.canChangeName)
|
|
|
|
if usrOpts.canChangePassword
|
|
|
|
section
|
|
|
|
label.label= t('admin:profile.password')
|
|
|
|
p.control.is-fullwidth
|
|
|
|
input.input(type='password', placeholder=t('admin:profile.password'), v-model='password', value='********')
|
|
|
|
section
|
|
|
|
label.label Access Rights
|
|
|
|
table.table
|
|
|
|
thead.is-teal
|
|
|
|
tr
|
|
|
|
th
|
|
|
|
th(style={width: '200px'}) Permission(s)
|
|
|
|
th Path
|
|
|
|
th(style={width: '150px'}) Access
|
|
|
|
th(style={width: '50px'})
|
|
|
|
tbody
|
|
|
|
tr(v-for='(right, idx) in rights', v-cloak)
|
|
|
|
td.is-icon
|
|
|
|
i.icon-marquee-plus.is-green(v-if='right.deny === false || right.deny === "false"')
|
|
|
|
i.icon-marquee-minus.is-red(v-if='right.deny === true || right.deny === "true"')
|
|
|
|
td
|
|
|
|
p.control.is-fullwidth
|
|
|
|
select(v-model='right.role')
|
|
|
|
option(value='write') Read and Write
|
|
|
|
option(value='read') Read Only
|
|
|
|
td
|
|
|
|
.columns
|
|
|
|
.column.is-narrow
|
|
|
|
p.control
|
|
|
|
select(v-model='right.exact')
|
|
|
|
option(value='false') Path starts with:
|
|
|
|
option(value='true') Path match exactly:
|
|
|
|
.column
|
|
|
|
p.control.is-fullwidth
|
|
|
|
input.input(type='text', placeholder='/', v-model='right.path')
|
|
|
|
td
|
|
|
|
p.control.is-fullwidth
|
|
|
|
select(v-model='right.deny')
|
|
|
|
option(value='false') Allow
|
|
|
|
option(value='true') Deny
|
|
|
|
td.is-centered.has-action-icons
|
|
|
|
i.icon-delete.is-red(v-on:click='removeRightsRow(idx)')
|
|
|
|
tr(v-if='rights.length < 1', v-cloak)
|
|
|
|
td.is-icon
|
|
|
|
td.is-centered(colspan='3'): em No additional access rights
|
|
|
|
td.is-centered.has-action-icons
|
|
|
|
.table-actions
|
|
|
|
button.button.is-blue(v-on:click='addRightsRow')
|
|
|
|
i.icon-plus
|
|
|
|
span Add New Row
|
|
|
|
section
|
|
|
|
label.label Role Override
|
|
|
|
p.control.is-fullwidth
|
|
|
|
select(v-model='roleoverride', disabled=!usrOpts.canChangeRole)
|
|
|
|
option(value='none') None
|
|
|
|
option(value='admin') Global Administrator
|
|
|
|
.columns.is-gapless
|
|
|
|
.column
|
|
|
|
section
|
|
|
|
button.button.is-green(v-on:click='saveUser')
|
|
|
|
i.icon-check
|
|
|
|
span Save Changes
|
|
|
|
a.button.button.is-grey.is-outlined(href='/admin/users')
|
|
|
|
i.icon-cancel
|
|
|
|
span Discard
|
|
|
|
.column.is-narrow
|
|
|
|
section
|
|
|
|
if usrOpts.canBeDeleted
|
|
|
|
button.button.is-red(v-on:click='$store.dispatch("modalDeleteUser/open")')
|
|
|
|
i.icon-trash2
|
|
|
|
span Delete Account
|
|
|
|
|
|
|
|
modal-delete-user(current-user=usr._id)
|