Skip to content
Snippets Groups Projects
page-admin-projects.pug 5.08 KiB
Newer Older
.content-box.flex.full-width.with-form
  solid-router(default-route='admin-project-list', hidden)
    solid-route(name='admin-project-list')
    solid-route(name='admin-project-create')
    solid-route(name='project-left')
  div.content-box__header.flex.space-between
    h1.without-margin Administration
    button.mobile-sidebar-button.jsMobileSidebarOpenButton.icon-arrow-left-circle MENU
  #admin-project-list.content-box__height(hidden)
    include ../../templates/hubl-user-avatar.pug
    div.content-box__info.flex
      div.admin-header.flex
        h3 Projets
        solid-link(
Gaëlle Morin's avatar
Gaëlle Morin committed
          class='button text-bold text-uppercase reversed button-primary bordered with-icon icon-plus'
          next='admin-project-create'
      .table-wrapper
        .table
          div.table-header.grey-color
            div.w280 Nom
            div.w280 Administrateurs
            div.w280 Capitaines
            div.w230 Rejoindre

          solid-widget(name="hubl-admin-project-leave-button")
              solid-delete(
                class='button text-bold text-uppercase reversed button-secondary bordered with-icon icon-close'
                data-src="${src}"
                data-label='Quitter'
              )
              hubl-reactivity(data-src=`${endpoints.projects || endpoints.get.projects}` target-src='${src}')
              hubl-reactivity(data-src=`${endpoints.projects || endpoints.get.projects}joinable/` target-src='${src}')
              hubl-reactivity(bind-user nested-field="projects" target-src='${src}')
          solid-widget(name='hubl-project-captain')
              solid-display.user-thumb.is-spaced(
                data-src='${await value}'
                fields='account.picture, sup(name), sub(username)'

                class-account.picture='avatar user-thumb__picture'
                class-name='user-thumb__name'
                class-username='user-thumb__username'

                widget-account.picture='hubl-user-avatar'
              )

          solid-widget(name='hubl-project-admins')
                data-src='${value}'
                fields='user'
                search-fields='is_admin'
                search-value-is_admin='true'
                search-widget-is_admin='solid-form-hidden'
                widget-user='hubl-project-captain'
              )

          solid-widget(name='hubl-admin-project-leave-button')
              solid-delete(
                class='button text-bold text-uppercase reversed button-secondary bordered with-icon icon-close'
                data-src="${src}"
                data-label='Quitter'
              )

          solid-display(
            class='table-body'

            bind-user
            nested-field="projects"
            fields='project.name, project.members, project.captain, leaveButton'

            class-project.name='w280 cell border cell-with-name'
            class-project.members='w280 cell border cell-with-id-card'
            class-project.captain='w280 cell border cell-with-id-card'
            class-leaveButton='w230 cell border cell-with-buttons'

            action-leaveButton="joinButton"
            widget-leaveButton="hubl-admin-project-leave-button"

            widget-project.captain='hubl-project-captain'
            widget-project.members='hubl-project-admins'

            order-by="project.name"
          )

          solid-widget(name='hubl-admin-project-join-button')
              solid-form.button.text-bold.text-uppercase.reversed.button-primary.bordered.with-icon.icon-arrow-right-circle.flex(
                data-src='${src}'
                nested-field="members"

                fields='user.username'
                value-user.username='hubl-workaround-493'
                widget-user.username='solid-form-hidden'

                submit-button='Rejoindre'
              )
              hubl-reactivity(data-src=`${endpoints.projects || endpoints.get.projects}` target-src='${src}')
              hubl-reactivity(data-src=`${endpoints.projects || endpoints.get.projects}joinable/` target-src='${src}')
              hubl-reactivity(bind-user nested-field="projects" target-src='${src}')
          solid-display(
            class='table-body'

            data-src=`${endpoints.projects || endpoints.get.projects}joinable/`
            fields='name, members, captain, joinButton'

            class-name='w280 cell border cell-with-name'
            class-members='w280 cell border cell-with-id-card'
            class-captain='w280 cell border cell-with-id-card'
            class-joinButton='w230 cell border cell-with-buttons'

            action-joinButton="joinButton" # Workaround: I need members two times
            widget-joinButton="hubl-admin-project-join-button"

            widget-captain='hubl-project-captain'
            widget-members='hubl-project-admins'

            order-by="name"
          )

  #admin-project-create(hidden)
    include page-admin-projects-create.pug