diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index abdd685..47230a2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -553,15 +553,15 @@ apidays: tags: - deploy -georgetownuni: +ejp: stage: deployment environment: - name: georgetownuni - url: https://georgetown-uni.hubl.world + name: ejp + url: https://ejp.hubl.world before_script: - npm ci --cache .npm --prefer-offline --only=production script: - - echo "$APP_CONFIG_GEORGETOWNUNI" > config.json + - echo "$APP_CONFIG_EJP" > config.json - echo "$SSH_DEPLOY_KEY" | tr -d '\r' > gitlab.key && chmod 600 gitlab.key - npm run build - scp -i gitlab.key -o StrictHostKeyChecking=no -r dist/* georgetown-uni@astral.startinblox.com:~/front/ diff --git a/src/styles/base/form.scss b/src/styles/base/form.scss index ad3c93b..9234516 100644 --- a/src/styles/base/form.scss +++ b/src/styles/base/form.scss @@ -7,6 +7,7 @@ @include breakpoint(lg) { display: flex; flex-direction: column; + margin-bottom: 0; transition: all .3s ease; } } @@ -31,7 +32,7 @@ left: 0; margin: 0; margin-left: auto; - margin-top: 109px; + margin-top: 32px; position: relative; width: auto; } diff --git a/src/styles/base/main.scss b/src/styles/base/main.scss index 61fb44b..ea47ba9 100644 --- a/src/styles/base/main.scss +++ b/src/styles/base/main.scss @@ -266,6 +266,111 @@ h5 { width: 15vw; } +.project-edit-logo { + display: flex; + height: 8.5vh; + margin-top: 20px; + margin-bottom: 30px; + + form { + display: flex; + } + + hubl-user-avatar { + width: 104px; + } + + input[type='submit'] { + @extend .button, + .text-bold, + .text-uppercase, + .button-primary, + .bordered; + align-self: center; + } +} + +.form-picture { + + form { + display: block; + text-align: center; + margin-bottom: 2.6rem; + padding-top: 1.8rem; + + @include breakpoint(lg) { + display: flex; + width: 100%; + } + + hubl-user-avatar { + display: inline-block; + max-width: 100%; + max-height: 16.5vh; + + @include breakpoint(lg) { + margin-left: 20px; + max-height: 8.5vh; + max-width: none; + width: calc(35vw - 20px); + } + + >object, + >img { + display: block; + max-height: 16.5vh !important; + + @include breakpoint(lg) { + max-height: 8.5vh !important; + } + } + } + + input { + @extend .button, + .text-bold, + .text-uppercase, + .button-primary, + .bordered; + margin: 10px 0; + width: 100%; + + @include breakpoint(lg) { + margin: auto 0 auto 2.2rem; + width: auto; + } + } + } +} + + + +.p_relative { + position: relative; +} + +.flex_column { + flex-direction: column; +} + +.flex_vertical-center { + align-items: center; +} + +.w90 { + + @include breakpoint(sm) { + width: 90%; + } +} + +.w100 { + + @include breakpoint(sm) { + width: 100%; + } +} + .content-box { @include window-style-modal(); flex-direction: column; diff --git a/src/styles/base/user-thumb.scss b/src/styles/base/user-thumb.scss index 2541099..8814efb 100644 --- a/src/styles/base/user-thumb.scss +++ b/src/styles/base/user-thumb.scss @@ -38,6 +38,7 @@ } .user-thumb__admin:not(:empty) { + display: block !important; @extend %tag-admin; } diff --git a/src/styles/components/_index.scss b/src/styles/components/_index.scss index d13f842..9f53556 100644 --- a/src/styles/components/_index.scss +++ b/src/styles/components/_index.scss @@ -3,4 +3,5 @@ @import 'filters'; @import 'sidebar'; @import 'skills'; -@import 'tags'; \ No newline at end of file +@import 'tags'; +@import 'project-edit-picture'; diff --git a/src/styles/components/project-edit-picture.scss b/src/styles/components/project-edit-picture.scss new file mode 100644 index 0000000..e167109 --- /dev/null +++ b/src/styles/components/project-edit-picture.scss @@ -0,0 +1,39 @@ +.project-edit-picture { + + >div>*:not(:last-child) { + margin-bottom: 2rem; + } + + hubl-user-avatar { + background: transparent; + border-radius: 0; + display: inline-block; + text-align: center; + + object, img { + position: relative; + } + } + + solid-ac-checker:first-of-type { + display: block; + + @include breakpoint(lg) { + display: flex; + } + + #solid-picture-remove { + margin-left: 0; + margin-top: 2rem; + + @include breakpoint(lg) { + margin-left: 2rem; + margin-top: 0; + } + } + } + + solid-ac-checker:last-of-type { + align-self: flex-end; + } +} diff --git a/src/views/admin/page-admin-circles-create.pug b/src/views/admin/page-admin-circles-create.pug index 0572b8f..4ce3474 100644 --- a/src/views/admin/page-admin-circles-create.pug +++ b/src/views/admin/page-admin-circles-create.pug @@ -25,7 +25,7 @@ div.content-box__info.flex widget-status='hubl-status' - next='admin-circle-list' + next='circle' submit-button='Enregistrer' ) diff --git a/src/views/admin/page-admin-projects-create.pug b/src/views/admin/page-admin-projects-create.pug index 6125964..1bec5c3 100644 --- a/src/views/admin/page-admin-projects-create.pug +++ b/src/views/admin/page-admin-projects-create.pug @@ -23,16 +23,13 @@ div.content-box__info.flex solid-form.form.button-register( data-src=`${endpoints.projects || endpoints.post.projects}` - fields='status, line-1(customer.name, name), description, line-2(captain), logo' + fields='status, line-1(customer.name, name), line-2(captain)' loader-id='loader-projects-create' label-status='Statut du cercle*' - widget-status='hubl-status' + widget-status='solid-form-hidden' class-status='form-label is-light is-full-width' - - label-description='Description du projet' - class-description='form-label is-light is-full-width input-text-like' - widget-description='solid-form-textarea' + value-status="Private" label-customer.name='Nom du client*' class-customer.name='form-label is-light is-half-width input-text-like' @@ -46,12 +43,8 @@ div.content-box__info.flex widget-captain='solid-form-auto-completion' class='input-text-like' - widget-logo="solid-form-file" - label-logo="Télécharger un logo" - class-logo='select-add' - upload-url-logo=`${endpoints.uploads || endpoints.post.uploads}` - next='admin-project-list' + next='project' - submit-button='Enregistrer et ajouter des membres' + submit-button='Enregistrer' ) diff --git a/src/views/circle/page-circle-profile.pug b/src/views/circle/page-circle-profile.pug index f92cbb5..3a699ed 100644 --- a/src/views/circle/page-circle-profile.pug +++ b/src/views/circle/page-circle-profile.pug @@ -26,7 +26,10 @@ solid-router(default-route='circle-profile', hidden) widget-creationDate='solid-display-date' ) solid-ac-checker(permission='acl:Append', bind-resources, nested-field='members') - solid-link(class='button mobile-full-width text-bold text-uppercase reversed button-primary bordered with-icon icon-pencil' next='circle-edit' bind-resources) Modifier et ajouter un membre + solid-ac-checker(permission='acl:Delete', bind-resources) + solid-link(class='button mobile-full-width text-bold text-uppercase reversed button-primary bordered with-icon icon-pencil' next='circle-edit' bind-resources) Modifier et ajouter un membre + solid-ac-checker(no-permission='acl:Delete', bind-resources) + solid-link(class='button mobile-full-width text-bold text-uppercase reversed button-primary bordered with-icon icon-pencil' next='circle-edit' bind-resources) Ajouter un membre div.flex.desktop-button__end @@ -39,11 +42,13 @@ solid-router(default-route='circle-profile', hidden) solid-widget(name='hubl-circle-leave-button') template - solid-delete( - class='button mobile-full-width desktop-btn-margin__left text-bold text-uppercase reversed button-secondary bordered with-icon icon-close' - data-src="${src}" - data-label='Quitter le cercle' - ) + solid-ac-checker(no-permission='acl:Delete', data-src="${src}", nested-field="circle") + solid-delete( + class='button mobile-full-width desktop-btn-margin__left text-bold text-uppercase reversed button-secondary bordered with-icon icon-close' + data-src="${src}" + data-label='Quitter le cercle' + next='circle-left' + ) solid-widget(name='hubl-circle-join-button') template @@ -52,12 +57,9 @@ solid-router(default-route='circle-profile', hidden) data-src='' nested-field='members' - fields='user.@id' - label-user.@id='' - value-user.@id='' - widget-user.@id='solid-form-hidden' - - hubl-inherit-bind-user2input="input[name='user.@id']" + fields='user.username' + value-user.username='hubl-workaround-493' + widget-user.username='solid-form-hidden' submit-button='Rejoindre le cercle' ) @@ -87,7 +89,5 @@ solid-router(default-route='circle-profile', hidden) widget-members='hubl-circle-team-template' ) - - #circle-edit.content-box__height(hidden) include page-circle-edit.pug diff --git a/src/views/project/page-project-edit.pug b/src/views/project/page-project-edit.pug index 01a350a..82a6c1a 100644 --- a/src/views/project/page-project-edit.pug +++ b/src/views/project/page-project-edit.pug @@ -4,57 +4,48 @@ div.content-box__info solid-link(class='backlink right', bind-resources, next='project-profile') Retour - h1 Modifie ton projet + solid-ac-checker(permission='acl:Write', bind-resources) + h1 Modifie ton projet - solid-form.form.button-register( - bind-resources - - fields='status, line-1(customer.name, name), description' + div#loader-project-edit.loader.loader-top + div + div + div + div - label-status='Statut du cercle*' - widget-status='hubl-status' - class-status='form-label is-light is-full-width member-select color' + solid-form.form.button-register( + bind-resources + + fields='line-1(customer.name, name)' - label-name='Nom du projet*' - class-name='form-label is-light is-half-width input-text-like' - label-customer.name='Nom du client*' - class-customer.name='form-label is-light is-half-width input-text-like' + label-name='Nom du projet*' + class-name='form-label is-light is-half-width input-text-like' - label-description='Description du projet' - class-description='form-label is-light is-full-width input-text-like' - widget-description='solid-form-textarea' + label-customer.name='Nom du client*' + class-customer.name='form-label is-light is-half-width input-text-like' - partial="" + partial="" - submit-button='Enregistrer' - next='project-information' - ) - - h2 Photo du projet - - solid-form.form-picture( - bind-resources - fields='customer.logo' - widget-customer.logo="hubl-user-avatar" - submit-button='Edit' - next='project-picture' - ) + submit-button='Enregistrer' + next='project-information' + ) h2 Liste des membres : - solid-form.block.select-add( - bind-resources - nested-field='members' - fields='user' - range-user=`${endpoints.users || endpoints.get.users}` + solid-ac-checker(permission='acl:Append', bind-resources, nested-field='members') + solid-form.block.select-add( + bind-resources + nested-field='members' + fields='user' + range-user=`${endpoints.users || endpoints.get.users}` - class-user='team form-label is-light' - label-user='' - widget-user='solid-form-auto-completion' + class-user='team form-label is-light' + label-user='' + widget-user='solid-form-auto-completion' - submit-button='Ajouter un membre' - ) + submit-button='Ajouter un membre' + ) .table-wrapper .table @@ -67,6 +58,7 @@ div.content-box__info class='table-body' bind-resources fields='members' + loader-id='loader-project-edit' multiple-members='' widget-members='hubl-team-template-edit' diff --git a/src/views/project/page-project-left.pug b/src/views/project/page-project-left.pug index 0283db4..baac307 100644 --- a/src/views/project/page-project-left.pug +++ b/src/views/project/page-project-left.pug @@ -2,4 +2,4 @@ div.content-box__info.flex(style="padding: 15px") p Tu as quitté ce projet. - p Ceci est un groupe privé. Pour le rejoindre, rends-toi dans le panneau administration et demande une invitation. + p Ceci est un projet privé. Pour le rejoindre, rends-toi dans le panneau administration et demande une invitation. diff --git a/src/views/project/page-project-picture.pug b/src/views/project/page-project-picture.pug index 9257a73..7bea1d9 100644 --- a/src/views/project/page-project-picture.pug +++ b/src/views/project/page-project-picture.pug @@ -4,7 +4,7 @@ div.content-box__info h1 Modifier l'image du projet - solid-picture( + solid-picture.project-edit-picture( bind-resources upload-src=`${endpoints.uploads || endpoints.post.uploads}` upload-id="solid-project-edit-picture" diff --git a/src/views/project/page-project-profile.pug b/src/views/project/page-project-profile.pug index c3167df..a81fd3e 100644 --- a/src/views/project/page-project-profile.pug +++ b/src/views/project/page-project-profile.pug @@ -4,15 +4,21 @@ solid-router(default-route='project-profile', hidden) #project-profile(hidden) include ../../templates/hubl-captain.pug - include ../../templates/hubl-circle-team.pug include ../../templates/hubl-project-team.pug .content-box__info.flex + div#loader-project-profile.loader + div + div + div + div + .flex.space-between.with-padding.mobile-vertical-align solid-display.mobile-margin__bottom( bind-resources fields='creationDateSet(title, creationDate)' + loader-id='loader-project-profile' class-title='word-spacing-right' @@ -21,23 +27,43 @@ solid-router(default-route='project-profile', hidden) widget-creationDate='solid-display-date' ) solid-ac-checker(permission='acl:Append', bind-resources, nested-field='members') - solid-link(class='button mobile-full-width text-bold text-uppercase reversed button-primary bordered with-icon icon-pencil' next='project-edit' bind-resources) Modifier et ajouter un membre + solid-ac-checker(permission='acl:Delete', bind-resources) + solid-link(class='button mobile-full-width text-bold text-uppercase reversed button-primary bordered with-icon icon-pencil' next='project-edit' bind-resources) Modifier et ajouter un membre + solid-ac-checker(no-permission='acl:Delete', bind-resources) + solid-link(class='button mobile-full-width text-bold text-uppercase reversed button-primary bordered with-icon icon-pencil' next='project-edit' bind-resources) Ajouter un membre - solid-display( - class='flex desktop-button__end' - bind-resources - nested-field='members' - fields='relation' + div.flex.desktop-button__end + solid-ac-checker(permission='acl:Delete', bind-resources) + solid-delete( + class='button mobile-full-width text-bold text-uppercase button-primary bordered with-icon icon-trash' + bind-resources + data-label='Supprimer le projet' + ) - action-relation='relation' - widget-relation='hubl-project-leave-button' + solid-widget(name='hubl-project-leave-button') + template + solid-delete( + class='button mobile-full-width desktop-btn-margin__left text-bold text-uppercase reversed button-secondary bordered with-icon icon-close' + data-src="${src}" + data-label='Quitter le projet' + next='project-left' + ) - search-fields='user' - search-widget-user='solid-form-hidden' - search-value-user="" + solid-ac-checker(no-permission='acl:Delete', bind-resources) + solid-display( + bind-resources + nested-field='members' + fields='relation' - hubl-inherit-user-id="search-value-user" - ) + action-relation='relation' + widget-relation='hubl-project-leave-button' + + search-fields='user' + search-widget-user='solid-form-hidden' + search-value-user="" + + hubl-inherit-user-id="search-value-user" + ) .flex.space-between solid-display( @@ -48,13 +74,8 @@ solid-router(default-route='project-profile', hidden) class-label-captain='h2-like' widget-captain='hubl-captain' ) - solid-display( - class='customer-logo' - bind-resources - fields='customer.logo' - - widget-customer.logo='solid-display-img' - ) + + br h2 Equipe : @@ -66,14 +87,5 @@ solid-router(default-route='project-profile', hidden) widget-members='hubl-project-team' ) - - solid-widget(name='hubl-project-leave-button') - template - solid-delete( - class='button desktop-btn-margin__left text-bold text-uppercase reversed button-secondary bordered with-icon icon-close' - data-src="${src}" - data-label='Quitter le groupe' - ) - #project-edit.content-box__height(hidden) include page-project-edit.pug