extends ./_layout.pug

block rootNavRight
  loading-spinner
  .nav-item
    a.button(href='/admin/users')
      i.nc-icon-outline.arrows-2_corner-left-round
      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
        i.pageicon.nc-icon-outline.users_single-05
      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.nc-icon-outline.ui-1_database
                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.nc-icon-outline.ui-2_square-add-08.is-green(v-if='right.deny === false || right.deny === "false"')
                  i.nc-icon-outline.ui-2_square-delete-10.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.nc-icon-outline.ui-1_simple-add
              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.nc-icon-outline.ui-1_check
                span Save Changes
              a.button.button.is-grey.is-outlined(href='/admin/users')
                i.nc-icon-outline.ui-1_simple-remove
                span Discard
          .column.is-narrow
            section
              if usrOpts.canBeDeleted
                button.button.is-red(v-on:click='$store.dispatch("modalDeleteUser/open")')
                  i.nc-icon-outline.ui-1_trash
                  span Delete Account

  modal-delete-user(current-user=usr._id)
