diff --git a/app/assets/stylesheets/admin/pure.sass b/app/assets/stylesheets/admin/pure.sass index b3638de514982db5fb02d87543400830c493721b..0f2e9021a18806e06d9109fb8d0cf85cc52ca717 100644 --- a/app/assets/stylesheets/admin/pure.sass +++ b/app/assets/stylesheets/admin/pure.sass @@ -1,6 +1,7 @@ @import 'pure/utils' @import 'pure/fonts' @import 'pure/variables' +@import 'pure/mixins' @import 'pure/grid' @import 'bootstrap' @import 'bootstrap-icons/font/bootstrap-icons' diff --git a/app/assets/stylesheets/admin/pure/grid.sass b/app/assets/stylesheets/admin/pure/grid.sass index ffdb47b85b9d4a40d07889a70e80e9d6f0ad4053..3e5bfe59d5d79fd8fe6cabd7ba2737df90bb5bf6 100644 --- a/app/assets/stylesheets/admin/pure/grid.sass +++ b/app/assets/stylesheets/admin/pure/grid.sass @@ -1,4 +1,4 @@ * - --bs-gutter-x: 64px !important + @include root-prop(--bs-gutter-x, 64px !important) @media (max-width: 768px) - --bs-gutter-x: 32px !important + @include root-prop(--bs-gutter-x, 32px !important) \ No newline at end of file diff --git a/app/assets/stylesheets/admin/pure/mixins.sass b/app/assets/stylesheets/admin/pure/mixins.sass new file mode 100644 index 0000000000000000000000000000000000000000..c56b37cac1e96709ce75972df65e1988085b4990 --- /dev/null +++ b/app/assets/stylesheets/admin/pure/mixins.sass @@ -0,0 +1,3 @@ +@mixin root-prop($prop: null, $value: null) + @if ($prop and $value) + #{$prop}: $value \ No newline at end of file diff --git a/app/assets/stylesheets/extranet/layout/_default.sass b/app/assets/stylesheets/extranet/layout/_default.sass index a5b9fc61089829ad11af1f7ddc3807e61b2656a8..101169d4715d8817fdb9af969d7cfdf64e2fe791 100644 --- a/app/assets/stylesheets/extranet/layout/_default.sass +++ b/app/assets/stylesheets/extranet/layout/_default.sass @@ -1,7 +1,7 @@ .container @include media-breakpoint-up(md) - padding-right: var(--bs-gutter-x) padding-left: var(--bs-gutter-x) + padding-right: var(--bs-gutter-x) .action-show dl @@ -11,11 +11,11 @@ dd margin-bottom: px2rem(26) a - transition: text-decoration 0.5s text-decoration: underline + text-decoration-color: adjust-color(black, $alpha: -0.8) text-decoration-thickness: 1px text-underline-offset: 4px - text-decoration-color: adjust-color(black, $alpha: -0.8) + transition: text-decoration 0.5s &:hover text-decoration-color: black diff --git a/app/models/ability.rb b/app/models/ability.rb index e21baef7eea93efa0694c98252d55ee8f7d30d97..3d101269e5f2a1d6b1c05bf5bb000b89af1206d9 100644 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -81,14 +81,45 @@ class Ability end def admin - can :read, Administration::Qualiopi - can :read, Administration::Qualiopi::Criterion - can :read, Administration::Qualiopi::Indicator + admin_university + admin_education + admin_research + admin_communication + admin_communication_extranet + admin_administration + end + + def admin_university can :manage, University::Person, university_id: @user.university_id can :manage, University::Person::Category, university_id: @user.university_id can :manage, University::Person::Involvement, university_id: @user.university_id can :manage, University::Organization, university_id: @user.university_id can :manage, University::Organization::Category, university_id: @user.university_id + can :manage, University::Role, university_id: @user.university_id + can :read, User, university_id: @user.university_id + can :manage, User, university_id: @user.university_id, role: @user.managed_roles + end + + def admin_education + can :manage, Education::AcademicYear, university_id: @user.university_id + can :manage, Education::Cohort, university_id: @user.university_id + can :manage, Education::School, university_id: @user.university_id + can :manage, Education::Diploma, university_id: @user.university_id + can :manage, Education::Program, university_id: @user.university_id + can :manage, :all_programs # needed to prevent program_manager to access specific global screens + end + + def admin_research + can :manage, Research::Journal, university_id: @user.university_id + can :manage, Research::Journal::Paper, university_id: @user.university_id + can :manage, Research::Journal::Paper::Kind, university_id: @user.university_id + can :manage, Research::Journal::Volume, university_id: @user.university_id + can :manage, Research::Laboratory, university_id: @user.university_id + can :manage, Research::Laboratory::Axis, university_id: @user.university_id + can :manage, Research::Thesis, university_id: @user.university_id + end + + def admin_communication can :manage, Communication::Block, university_id: @user.university_id can :create, Communication::Block can :read, Communication::Website, university_id: @user.university_id @@ -102,28 +133,21 @@ class Ability can :manage, Communication::Website::Imported::Page, university_id: @user.university_id can :manage, Communication::Website::Imported::Post, university_id: @user.university_id can [:read, :update], Communication::Extranet, university_id: @user.university_id + end + + def admin_communication_extranet can :manage, Communication::Extranet::Post, university_id: @user.university_id can :manage, Communication::Extranet::Post::Category, university_id: @user.university_id can :manage, Communication::Extranet::Document, university_id: @user.university_id can :manage, Communication::Extranet::Document::Category, university_id: @user.university_id can :manage, Communication::Extranet::Document::Kind, university_id: @user.university_id can :manage, Communication::Extranet::Connection, university_id: @user.university_id - can :manage, Education::AcademicYear, university_id: @user.university_id - can :manage, Education::Cohort, university_id: @user.university_id - can :manage, Education::School, university_id: @user.university_id - can :manage, Education::Diploma, university_id: @user.university_id - can :manage, Education::Program, university_id: @user.university_id - can :manage, :all_programs # needed to prevent program_manager to access specific global screens - can :manage, Research::Journal, university_id: @user.university_id - can :manage, Research::Journal::Paper, university_id: @user.university_id - can :manage, Research::Journal::Paper::Kind, university_id: @user.university_id - can :manage, Research::Journal::Volume, university_id: @user.university_id - can :manage, Research::Laboratory, university_id: @user.university_id - can :manage, Research::Laboratory::Axis, university_id: @user.university_id - can :manage, Research::Thesis, university_id: @user.university_id - can :manage, University::Role, university_id: @user.university_id - can :read, User, university_id: @user.university_id - can :manage, User, university_id: @user.university_id, role: @user.managed_roles + end + + def admin_administration + can :read, Administration::Qualiopi + can :read, Administration::Qualiopi::Criterion + can :read, Administration::Qualiopi::Indicator end def server_admin