Loading module/Oscar/src/Oscar/View/Helpers/Links.php +1 −1 Original line number Diff line number Diff line Loading @@ -264,7 +264,7 @@ class Links extends AbstractHtmlElement implements ServiceLocatorAwareInterface return sprintf( '<span class="cartouche text-normal organization %s">%s<span class="addon">%s</span></span>', '<span class="cartouche %s">%s<span class="addon">%s</span></span>', $css, $this->organization($affectation->getOrganization()), $roleInfo Loading module/Oscar/view/oscar/person/item-list.phtml +3 −3 Original line number Diff line number Diff line Loading @@ -22,11 +22,11 @@ <?= count($person->getProjectAffectations()) ?> </span> <a href="<?= $this->url('person/show', ['id'=>$person->getId()]) ?>" class="more">Fiche</a> <a href="<?= $this->url('person/show', ['id'=>$person->getId()]) ?>" class="btn btn-primary btn-sm">Fiche</a> <?php if( $this->grant()->privilege(\Oscar\Provider\Privileges::MAINTENANCE_NOTIFICATION_PERSON) ): ?> <?php /* if( $this->grant()->privilege(\Oscar\Provider\Privileges::MAINTENANCE_NOTIFICATION_PERSON) ): ?> <a href="<?= $this->url('notification/person', ['idperson'=>$person->getId()]) ?>" class="more"><i class="icon-bell"></i> Notifier</a> <?php endif; ?> <?php endif;*/ ?> <?php if( !$person->isLdapActive() ): ?> <span class="text-danger" style="position: absolute; right: 1em; line-height: 1em"> Loading module/Oscar/view/oscar/project-grant/item-list.phtml +12 −8 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ $show = $this->grant()->privilege(\Oscar\Provider\Privileges::ACTIVITY_SHOW, $ac ?> <article class="card card-openable <?= $size ?> activity status-<?= $activity->getStatus() ?> <?= $show ? '' : 'lock' ?> <?= strtolower($activity->getFinancialImpact()) ?>" class="card <?= $size ?> activity status-<?= $activity->getStatus() ?> <?= $show ? '' : 'lock' ?> <?= strtolower($activity->getFinancialImpact()) ?>" data-selectable data-id="<?= $activity->getId() ?>"> <h3 class="card-title"> <?php if ($show): ?> Loading @@ -31,8 +31,8 @@ $show = $this->grant()->privilege(\Oscar\Provider\Privileges::ACTIVITY_SHOW, $ac <i class="icon"></i> <span class="text"><?= $activity->getStatusLabel() ?></span> </span> <small> <?= $activity->getActivityType() /*$this->activityTypeHlp()->chain($activity->getActivityType())*/ ?> <small class="activity-type"> <?= $activity->getActivityType() ?> </small> <?php else: ?> Loading @@ -41,16 +41,17 @@ $show = $this->grant()->privilege(\Oscar\Provider\Privileges::ACTIVITY_SHOW, $ac <span> <?php if( $activity->getProject() && $activity->getProject()->getAcronym()): ?> <strong class="text-light">[<?= $activity->getProject()->getAcronym() ?>] / </strong> <strong class="project-acronym">[<?= $activity->getProject()->getAcronym() ?>] / </strong> <?php endif; ?> <?php if ($activity->getOscarNum()): ?> <strong><?= $activity->getOscarNum() ?></strong> : <strong class="oscarnum number"><?= $activity->getOscarNum() ?></strong> : <?php endif; ?> <?= $activity->getLabel() ?> <?php if ($show): ?> <a href="<?= $this->url('contract/show', ['id'=>$activity->getId()]) ?>" class="more">Fiche</a> <a href="<?= $this->url('contract/show', ['id'=>$activity->getId()]) ?>" class="btn btn-primary btn-sm">Fiche</a> <?php endif; ?> <?php /* if($this->grant()->privilege(\Oscar\Provider\Privileges::ACTIVITY_EXPORT, $activity)): ?> Loading @@ -58,11 +59,14 @@ $show = $this->grant()->privilege(\Oscar\Provider\Privileges::ACTIVITY_SHOW, $ac <?php endif;*/ ?> <?php if ($this->grant()->privilege(\Oscar\Provider\Privileges::ACTIVITY_DELETE, $activity)): ?> <a data-confirm="Supprimer définitivement ?" data-href="<?= $this->url('contract/delete', ['id'=>$activity->getId()]) ?>" class="del">Supprimer</a> <a class="btn btn-danger btn-sm" data-confirm="Supprimer définitivement ?" data-href="<?= $this->url('contract/delete', ['id'=>$activity->getId()]) ?>" class="del"> Supprimer </a> <?php endif; ?> <?php if( count($activity->getWorkPackages()) ): ?> <span class="cartouche blue xs"> <span class="cartouche primary xs"> <i class="icon-calendar"></i> Soumis aux feuilles de temps </span> Loading ui/src/oscar-css.scss +271 −3 Original line number Diff line number Diff line Loading @@ -38,6 +38,9 @@ $colorGreyM: #999; ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // General body { background-color: $grey-mega-light; } body:not(.privatize) { #btn-toggle-private { Loading @@ -51,6 +54,7 @@ p, ul, li { margin: 0; padding: 0; } li { list-style: none; } Loading @@ -59,6 +63,249 @@ li { margin-top: 70px; } ///////////////////////////////////////////////////////////////////////////////////////////////// // ICONS span[class*="status"] { font-weight: 100; padding: 8px; color: #999; position: relative; .icon { font-family: fontello; font-weight: normal; font-style: normal; } .text { cursor: default; transition: opacity linear .3s; opacity: 0; font-size: .8em; display: block; margin-top: 2px; position: absolute; background-color: white; box-shadow: 0 0 8px rgba(0, 0, 0, .5); pointer-events: none; color: #999; padding: 2px 4px; z-index: 1000; &:before { display: block; width: 8px; height: 8px; background-color: white; content: ' '; transform: rotate(45deg); position: absolute; left: 4px; top: -2px; } } &:hover .text { opacity: 1; } } .icon { font-family: fontello; font-weight: normal; font-style: normal; &.draft:before { /**/ color: gray; content: '\e882' } &.send:before { /**/ color: black; content: '\e88d' } &.reject:before { /**/ color: darkred; content: '\e889' } &.valid:before { /**/ color: darkolivegreen; content: '\e85b' } } span[class*="status-10"] { .icon:before { content: '\e85e ' } .label { color: green; } } *[class*="draft"] { } span[class*="status-103"] .icon:before { content: '\e81e ' } span[class*="status-2"] { color: darkred; .icon:before { content: '\e85d ' } .label { color: darkred; } } span[class*="status-4"] { color: darkred; .icon:before { content: '\e865 ' } .label { color: darkred; } } // Actif span[class*="status-101"] .icon:before { content: '\e85b'; color: $success; } // Abandonné span[class*="status-250"] .icon:before { content: '\e811'; color: #550000; } // Fermé/résilié span[class*="status-20"] .icon:before { content: '\e830'; color: #9d9d9d; } // Litige span[class*="status-400"] .icon:before { content: '\e87f'; color: #550000; } // Rôle classique [class*="icon-laboratoire"], [class*="icon-responsable-scientifique"] { &:before { content: '\e891'; } } [class*="icon-composante-responsable"], [class*="charge-de-valorisation"] { &:before { content: '\e87f'; } } [class*="icon-tutelle-de-gestion"]:before { content: '\e851'; } // Icon / Context [class*="icon-Activity"]:before { content: '\e880'; } [class*="icon-Application"]:before { content: '\e87d'; } [class*="icon-Person"]:before { content: '\e89a'; } [class*="icon-Organization"]:before { content: '\e876'; } [class*="icon-conges"]:before { content: '\e8a2'; } [class*="icon-abs"]:before { content: '\e8a2'; } [class*="icon-training"]:before { content: '\e88c'; } [class*="icon-teaching"]:before { content: '\e877'; } [class*="icon-education"]:before { content: '\e877'; } [class*="icon-sickleave"]:before { content: '\e874'; } [class*="icon-absent"]:before { content: '\e886'; } [class*="icon-research"]:before { content: '\e891'; } [class*="icon-other"]:before { content: '\f097'; } [class*="icon-status-0"]:before { content: '\e80b'; } [class*="icon-draft"]:before { content: '\e80b'; } [class*="icon-none"]:before { content: '\e83b'; } [class*="icon-status-1"]:before { content: '\e85b'; } [class*="icon-valid"]:before { content: '\e85b'; } [class*="icon-status-3"]:before { content: '\e85a'; } [class*="icon-conflict"]:before { content: '\e85a'; } [class*="icon-status-2"]:before { content: '\e80e'; } [class*="icon-draft"]:before { content: '\e80e'; } [class*="icon-status-5"]:before { content: '\e88d'; } [class*="icon-send-prj"]:before { content: '\e88d'; } [class*="icon-status-6"]:before { content: '\e891'; } [class*="icon-send-sci"]:before { content: '\e891'; } [class*="icon-status-7"]:before { content: '\e87a'; } [class*="icon-send-adm"]:before { content: '\e87a'; } .overlay { position: fixed; top: 0; left: 0; height: 100%; width: 100%; background: rgba(255, 255, 255, .9); z-index: 100; display: flex; align-items: center; justify-content: center; .overlay-title { border-bottom: thin solid #ddd; } .overlay-content { position: relative; width: 75%; margin: 100px auto; max-height: 80vh; overflow-y: auto; flex: 0 0 75%; padding: .5em 1em; border: thin solid #ddd; background: rgba(255,255,255,.9); box-shadow: 0 .7em 1em rgba(0,0,0,.15); .overlay-closer { cursor: pointer; position: absolute; top: 16px; right: 16px; font-size: 32px; color: $colorGreyLight; &:hover { color: $colorGreyBlack; } } } } .cartouche { background: $primary; color: $color-white; Loading @@ -66,7 +313,13 @@ li { text-decoration: none; border-radius: $border-radius; text-shadow: none; display: inline; font-weight: 600; margin-right: .3em; >a { color: $color-white; text-decoration: none; } &:has(.addon){ padding: 0 0 0 .5em; } Loading @@ -76,17 +329,19 @@ li { background: lighten($brand-primary, 30%); color: $brand-primary; padding: 0 .5em 0 .25em; margin: 0; margin-left: .25em; } } .card { border: solid thin $colorGreyLight; background: $grey-mega-light; background: $color-white; border-radius: 0; margin: .5em 0; display: block; margin: 1em 0; padding: .6em; box-shadow: -0em -0em 1em rgba(0, 0, 0, 0.3); box-shadow: -0em -0em .3em rgba(0, 0, 0, 0.1); &:hover { border-color: $colorGreyMedium; background-color: white; Loading @@ -94,10 +349,23 @@ li { .card-title { display: flex; font-size: 1.25em; line-height: 2em; padding: 0; margin: 0; border-bottom: thin solid $colorGreyUltraLight; padding-bottom: .6em; .thumb32 { width: 32px; height: 32px; flex: 0 0 32px; } .fn { flex: 1 0 auto; display: flex; } } .card-content { } } Loading Loading
module/Oscar/src/Oscar/View/Helpers/Links.php +1 −1 Original line number Diff line number Diff line Loading @@ -264,7 +264,7 @@ class Links extends AbstractHtmlElement implements ServiceLocatorAwareInterface return sprintf( '<span class="cartouche text-normal organization %s">%s<span class="addon">%s</span></span>', '<span class="cartouche %s">%s<span class="addon">%s</span></span>', $css, $this->organization($affectation->getOrganization()), $roleInfo Loading
module/Oscar/view/oscar/person/item-list.phtml +3 −3 Original line number Diff line number Diff line Loading @@ -22,11 +22,11 @@ <?= count($person->getProjectAffectations()) ?> </span> <a href="<?= $this->url('person/show', ['id'=>$person->getId()]) ?>" class="more">Fiche</a> <a href="<?= $this->url('person/show', ['id'=>$person->getId()]) ?>" class="btn btn-primary btn-sm">Fiche</a> <?php if( $this->grant()->privilege(\Oscar\Provider\Privileges::MAINTENANCE_NOTIFICATION_PERSON) ): ?> <?php /* if( $this->grant()->privilege(\Oscar\Provider\Privileges::MAINTENANCE_NOTIFICATION_PERSON) ): ?> <a href="<?= $this->url('notification/person', ['idperson'=>$person->getId()]) ?>" class="more"><i class="icon-bell"></i> Notifier</a> <?php endif; ?> <?php endif;*/ ?> <?php if( !$person->isLdapActive() ): ?> <span class="text-danger" style="position: absolute; right: 1em; line-height: 1em"> Loading
module/Oscar/view/oscar/project-grant/item-list.phtml +12 −8 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ $show = $this->grant()->privilege(\Oscar\Provider\Privileges::ACTIVITY_SHOW, $ac ?> <article class="card card-openable <?= $size ?> activity status-<?= $activity->getStatus() ?> <?= $show ? '' : 'lock' ?> <?= strtolower($activity->getFinancialImpact()) ?>" class="card <?= $size ?> activity status-<?= $activity->getStatus() ?> <?= $show ? '' : 'lock' ?> <?= strtolower($activity->getFinancialImpact()) ?>" data-selectable data-id="<?= $activity->getId() ?>"> <h3 class="card-title"> <?php if ($show): ?> Loading @@ -31,8 +31,8 @@ $show = $this->grant()->privilege(\Oscar\Provider\Privileges::ACTIVITY_SHOW, $ac <i class="icon"></i> <span class="text"><?= $activity->getStatusLabel() ?></span> </span> <small> <?= $activity->getActivityType() /*$this->activityTypeHlp()->chain($activity->getActivityType())*/ ?> <small class="activity-type"> <?= $activity->getActivityType() ?> </small> <?php else: ?> Loading @@ -41,16 +41,17 @@ $show = $this->grant()->privilege(\Oscar\Provider\Privileges::ACTIVITY_SHOW, $ac <span> <?php if( $activity->getProject() && $activity->getProject()->getAcronym()): ?> <strong class="text-light">[<?= $activity->getProject()->getAcronym() ?>] / </strong> <strong class="project-acronym">[<?= $activity->getProject()->getAcronym() ?>] / </strong> <?php endif; ?> <?php if ($activity->getOscarNum()): ?> <strong><?= $activity->getOscarNum() ?></strong> : <strong class="oscarnum number"><?= $activity->getOscarNum() ?></strong> : <?php endif; ?> <?= $activity->getLabel() ?> <?php if ($show): ?> <a href="<?= $this->url('contract/show', ['id'=>$activity->getId()]) ?>" class="more">Fiche</a> <a href="<?= $this->url('contract/show', ['id'=>$activity->getId()]) ?>" class="btn btn-primary btn-sm">Fiche</a> <?php endif; ?> <?php /* if($this->grant()->privilege(\Oscar\Provider\Privileges::ACTIVITY_EXPORT, $activity)): ?> Loading @@ -58,11 +59,14 @@ $show = $this->grant()->privilege(\Oscar\Provider\Privileges::ACTIVITY_SHOW, $ac <?php endif;*/ ?> <?php if ($this->grant()->privilege(\Oscar\Provider\Privileges::ACTIVITY_DELETE, $activity)): ?> <a data-confirm="Supprimer définitivement ?" data-href="<?= $this->url('contract/delete', ['id'=>$activity->getId()]) ?>" class="del">Supprimer</a> <a class="btn btn-danger btn-sm" data-confirm="Supprimer définitivement ?" data-href="<?= $this->url('contract/delete', ['id'=>$activity->getId()]) ?>" class="del"> Supprimer </a> <?php endif; ?> <?php if( count($activity->getWorkPackages()) ): ?> <span class="cartouche blue xs"> <span class="cartouche primary xs"> <i class="icon-calendar"></i> Soumis aux feuilles de temps </span> Loading
ui/src/oscar-css.scss +271 −3 Original line number Diff line number Diff line Loading @@ -38,6 +38,9 @@ $colorGreyM: #999; ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // General body { background-color: $grey-mega-light; } body:not(.privatize) { #btn-toggle-private { Loading @@ -51,6 +54,7 @@ p, ul, li { margin: 0; padding: 0; } li { list-style: none; } Loading @@ -59,6 +63,249 @@ li { margin-top: 70px; } ///////////////////////////////////////////////////////////////////////////////////////////////// // ICONS span[class*="status"] { font-weight: 100; padding: 8px; color: #999; position: relative; .icon { font-family: fontello; font-weight: normal; font-style: normal; } .text { cursor: default; transition: opacity linear .3s; opacity: 0; font-size: .8em; display: block; margin-top: 2px; position: absolute; background-color: white; box-shadow: 0 0 8px rgba(0, 0, 0, .5); pointer-events: none; color: #999; padding: 2px 4px; z-index: 1000; &:before { display: block; width: 8px; height: 8px; background-color: white; content: ' '; transform: rotate(45deg); position: absolute; left: 4px; top: -2px; } } &:hover .text { opacity: 1; } } .icon { font-family: fontello; font-weight: normal; font-style: normal; &.draft:before { /**/ color: gray; content: '\e882' } &.send:before { /**/ color: black; content: '\e88d' } &.reject:before { /**/ color: darkred; content: '\e889' } &.valid:before { /**/ color: darkolivegreen; content: '\e85b' } } span[class*="status-10"] { .icon:before { content: '\e85e ' } .label { color: green; } } *[class*="draft"] { } span[class*="status-103"] .icon:before { content: '\e81e ' } span[class*="status-2"] { color: darkred; .icon:before { content: '\e85d ' } .label { color: darkred; } } span[class*="status-4"] { color: darkred; .icon:before { content: '\e865 ' } .label { color: darkred; } } // Actif span[class*="status-101"] .icon:before { content: '\e85b'; color: $success; } // Abandonné span[class*="status-250"] .icon:before { content: '\e811'; color: #550000; } // Fermé/résilié span[class*="status-20"] .icon:before { content: '\e830'; color: #9d9d9d; } // Litige span[class*="status-400"] .icon:before { content: '\e87f'; color: #550000; } // Rôle classique [class*="icon-laboratoire"], [class*="icon-responsable-scientifique"] { &:before { content: '\e891'; } } [class*="icon-composante-responsable"], [class*="charge-de-valorisation"] { &:before { content: '\e87f'; } } [class*="icon-tutelle-de-gestion"]:before { content: '\e851'; } // Icon / Context [class*="icon-Activity"]:before { content: '\e880'; } [class*="icon-Application"]:before { content: '\e87d'; } [class*="icon-Person"]:before { content: '\e89a'; } [class*="icon-Organization"]:before { content: '\e876'; } [class*="icon-conges"]:before { content: '\e8a2'; } [class*="icon-abs"]:before { content: '\e8a2'; } [class*="icon-training"]:before { content: '\e88c'; } [class*="icon-teaching"]:before { content: '\e877'; } [class*="icon-education"]:before { content: '\e877'; } [class*="icon-sickleave"]:before { content: '\e874'; } [class*="icon-absent"]:before { content: '\e886'; } [class*="icon-research"]:before { content: '\e891'; } [class*="icon-other"]:before { content: '\f097'; } [class*="icon-status-0"]:before { content: '\e80b'; } [class*="icon-draft"]:before { content: '\e80b'; } [class*="icon-none"]:before { content: '\e83b'; } [class*="icon-status-1"]:before { content: '\e85b'; } [class*="icon-valid"]:before { content: '\e85b'; } [class*="icon-status-3"]:before { content: '\e85a'; } [class*="icon-conflict"]:before { content: '\e85a'; } [class*="icon-status-2"]:before { content: '\e80e'; } [class*="icon-draft"]:before { content: '\e80e'; } [class*="icon-status-5"]:before { content: '\e88d'; } [class*="icon-send-prj"]:before { content: '\e88d'; } [class*="icon-status-6"]:before { content: '\e891'; } [class*="icon-send-sci"]:before { content: '\e891'; } [class*="icon-status-7"]:before { content: '\e87a'; } [class*="icon-send-adm"]:before { content: '\e87a'; } .overlay { position: fixed; top: 0; left: 0; height: 100%; width: 100%; background: rgba(255, 255, 255, .9); z-index: 100; display: flex; align-items: center; justify-content: center; .overlay-title { border-bottom: thin solid #ddd; } .overlay-content { position: relative; width: 75%; margin: 100px auto; max-height: 80vh; overflow-y: auto; flex: 0 0 75%; padding: .5em 1em; border: thin solid #ddd; background: rgba(255,255,255,.9); box-shadow: 0 .7em 1em rgba(0,0,0,.15); .overlay-closer { cursor: pointer; position: absolute; top: 16px; right: 16px; font-size: 32px; color: $colorGreyLight; &:hover { color: $colorGreyBlack; } } } } .cartouche { background: $primary; color: $color-white; Loading @@ -66,7 +313,13 @@ li { text-decoration: none; border-radius: $border-radius; text-shadow: none; display: inline; font-weight: 600; margin-right: .3em; >a { color: $color-white; text-decoration: none; } &:has(.addon){ padding: 0 0 0 .5em; } Loading @@ -76,17 +329,19 @@ li { background: lighten($brand-primary, 30%); color: $brand-primary; padding: 0 .5em 0 .25em; margin: 0; margin-left: .25em; } } .card { border: solid thin $colorGreyLight; background: $grey-mega-light; background: $color-white; border-radius: 0; margin: .5em 0; display: block; margin: 1em 0; padding: .6em; box-shadow: -0em -0em 1em rgba(0, 0, 0, 0.3); box-shadow: -0em -0em .3em rgba(0, 0, 0, 0.1); &:hover { border-color: $colorGreyMedium; background-color: white; Loading @@ -94,10 +349,23 @@ li { .card-title { display: flex; font-size: 1.25em; line-height: 2em; padding: 0; margin: 0; border-bottom: thin solid $colorGreyUltraLight; padding-bottom: .6em; .thumb32 { width: 32px; height: 32px; flex: 0 0 32px; } .fn { flex: 1 0 auto; display: flex; } } .card-content { } } Loading