Skip to content

Spaces #1094

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 29 commits into
base: master
Choose a base branch
from
Draft

Spaces #1094

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
e7fce9f
Dummy Space model. Set current space based on subdomain
fbacall Jan 20, 2025
58a9c3c
Create real model for Space
fbacall Feb 4, 2025
663c753
Remove hosts initializer
fbacall Feb 4, 2025
1163950
Add missing `image_url` field
fbacall Feb 4, 2025
891ec68
Basic CRUD for Spaces
fbacall Feb 4, 2025
4dce370
Add space reference field
fbacall Feb 10, 2025
ea6bf96
Update sunspot to fix logging error:
fbacall Feb 10, 2025
f8429c3
Allow resources to be owned by a space. Only show resources from the …
fbacall Feb 10, 2025
26ea487
Fix being unable to set space logo using image upload
fbacall Feb 10, 2025
c2db7e7
Fix `before_action` naming clash causing space to be unset under cert…
fbacall Feb 10, 2025
f3d43f9
Remove `$primary-color` reference
fbacall Feb 10, 2025
cbae95c
Fix error when filtering non-space constrained resources
fbacall Mar 4, 2025
4e8605c
Filter associated resources on various show pages according to curren…
fbacall Mar 4, 2025
ff0b716
Model for user roles in the context of a space
fbacall Mar 6, 2025
5fa2345
UI to assign space admins. Update space policy to allow admins to do …
fbacall Mar 13, 2025
64d8e91
Different front page when in a space
fbacall Mar 14, 2025
3775073
Experimenting with multiple UI "themes"
fbacall Feb 11, 2025
852e3fa
Fix "new space" button linking to nodes form
fbacall Apr 1, 2025
b02e368
Allow setting space host in UI
fbacall Apr 1, 2025
1409388
Update spaces developer/admin docs
fbacall Apr 4, 2025
b7523aa
Don't show non-space-restricted resource counts on space front page
fbacall Apr 4, 2025
ce54b1a
Slightly different about page for spaces
fbacall Apr 4, 2025
c54e469
Tweak colour of green icons
fbacall Apr 4, 2025
c6c6c1a
Remove dark theme for now
fbacall Apr 4, 2025
3c32ad9
DRY up themes
fbacall Apr 4, 2025
a375dfa
Remove old dark images symlink
fbacall Apr 4, 2025
5617659
Fix spaces doc link
fbacall Apr 4, 2025
8545123
I18n for submit buttons
fbacall Apr 15, 2025
b794d8a
Spaces I18n
fbacall Apr 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,16 @@ GIT

GIT
remote: https://github.com/sunspot/sunspot.git
revision: 678c5b2b57d3b06b9432307f00283ecc6c85ad4d
revision: 841f7e48367f5b76bdbc6e2de79035277462db81
branch: master
specs:
sunspot (2.6.0)
sunspot (2.7.1)
bigdecimal
pr_geohash (~> 1.0)
rsolr (>= 1.1.1, < 3)
sunspot_rails (2.6.0)
sunspot_rails (2.7.1)
rails (>= 5)
sunspot (= 2.6.0)
sunspot (= 2.7.1)

GEM
remote: https://rails-assets.org/
Expand Down Expand Up @@ -170,7 +171,7 @@ GEM
json_schema (~> 0.14, >= 0.14.3)
openapi_parser (~> 1.0)
rack (>= 1.5)
concurrent-ruby (1.3.4)
concurrent-ruby (1.3.5)
connection_pool (2.5.0)
countries (5.6.0)
unaccent (~> 0.3)
Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,3 +57,7 @@ See [here](docs/customization.md) for an overview of how you can customize your
## API

See [here](docs/api.md) for details on programmatic access to TeSS via its API.

## Multi-space TeSS

See [here](docs/spaces.md) for details on configuring a multi-space TeSS.
2 changes: 1 addition & 1 deletion app/assets/config/manifest.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
//= link_tree ../images
//= link application.css
//= link_directory ../stylesheets/themes .css
//= link application.js
1 change: 1 addition & 0 deletions app/assets/images/themes/blue
1 change: 1 addition & 0 deletions app/assets/images/themes/default
1 change: 1 addition & 0 deletions app/assets/images/themes/green
1 change: 1 addition & 0 deletions app/assets/images/themes/space
7 changes: 7 additions & 0 deletions app/assets/javascripts/templates/autocompleter/user_id.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<li data-id="{{ item.id }}">
<input type="hidden" name="{{ prefix }}[]" value="{{ item.id }}" />
{{ item.name }}
<a href="#" class="delete-list-item btn btn-icon">
<i class="icon cross-icon icon-sm icon-greyscale"></i>
</a>
</li>
9 changes: 4 additions & 5 deletions app/assets/stylesheets/application.scss
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,7 @@
*/
// "bootstrap-sprockets" must be imported before "bootstrap" and "bootstrap/variables"
@import "bootstrap-sprockets";
@import "mixins/variables";
// *** Colour changes can be done here! ***
@import "bootstrap/variables";
@import "bootstrap";
@import "font-awesome-sprockets";
@import "font-awesome";
Expand Down Expand Up @@ -121,7 +120,7 @@ div.wrapper {
flex-shrink: 0;

.sidebar-group {
background: #FFFFFF;
background: $panel-bg;
@include floating-card;
border-radius: 6px;
> ul {
Expand All @@ -142,8 +141,8 @@ div.wrapper {
width: calc(100% - 40px);
position: absolute;
z-index: $zindex-modal;
background: white;
border-bottom: 1px solid #ccc;
background: $panel-bg;
border-bottom: 1px solid $panel-default-border;
border-radius: $border-radius-large;
top: 0;
left: 20px;
Expand Down
8 changes: 4 additions & 4 deletions app/assets/stylesheets/bootstrap-tweaks.scss
Original file line number Diff line number Diff line change
Expand Up @@ -41,25 +41,25 @@ a.btn {

li.prev {
span, a {
background-image: image-url("modern/icons/chevron-left-icon.svg");
background-image: image-url("#{$theme-base}/icons/chevron-left-icon.svg");
}
}

li.next {
span, a {
background-image: image-url("modern/icons/chevron-right-icon.svg");
background-image: image-url("#{$theme-base}/icons/chevron-right-icon.svg");
}
}

li.first {
span, a {
background-image: image-url("modern/icons/double-left-icon.svg");
background-image: image-url("#{$theme-base}/icons/double-left-icon.svg");
}
}

li.last {
span, a {
background-image: image-url("modern/icons/double-right-icon.svg");
background-image: image-url("#{$theme-base}/icons/double-right-icon.svg");
}
}

Expand Down
4 changes: 2 additions & 2 deletions app/assets/stylesheets/home.scss
Original file line number Diff line number Diff line change
Expand Up @@ -377,10 +377,10 @@ ul.content-providers-grid {
}

.home-title-link {
color: $primary-color;
color: unset;
text-decoration: none;
&:hover{
color: $primary-color;
color: unset;
text-decoration: none;
}
}
Expand Down
82 changes: 41 additions & 41 deletions app/assets/stylesheets/icons.scss
Original file line number Diff line number Diff line change
Expand Up @@ -61,165 +61,165 @@

.api-icon {
// image-url
background-image: image-url("modern/icons/api-icon.svg");
background-image: image-url("#{$theme-base}/icons/api-icon.svg");
}

.star-icon {
background-image: image-url("modern/icons/star-icon.svg");
background-image: image-url("#{$theme-base}/icons/star-icon.svg");
}

.star-fill-icon {
background-image: image-url("modern/icons/star-fill-icon.svg");
background-image: image-url("#{$theme-base}/icons/star-fill-icon.svg");
}

.star-primary-icon {
background-image: image-url("modern/icons/star-primary-icon.svg");
background-image: image-url("#{$theme-base}/icons/star-primary-icon.svg");
}

.star-primary-fill-icon {
background-image: image-url("modern/icons/star-primary-fill-icon.svg");
background-image: image-url("#{$theme-base}/icons/star-primary-fill-icon.svg");
}

.search-icon {
background-image: image-url("modern/icons/search-icon.svg");
background-image: image-url("#{$theme-base}/icons/search-icon.svg");
}

.arrow-right-icon {
background-image: image-url("modern/icons/arrow-right-icon.svg");
background-image: image-url("#{$theme-base}/icons/arrow-right-icon.svg");
}

.arrow-top-right-icon {
background-image: image-url("modern/icons/arrow-top-right-icon.svg");
background-image: image-url("#{$theme-base}/icons/arrow-top-right-icon.svg");
}

.arrow-top-right-white-icon {
background-image: image-url("modern/icons/arrow-top-right-white-icon.svg");
background-image: image-url("#{$theme-base}/icons/arrow-top-right-white-icon.svg");
}

.chevron-left-icon {
background-image: image-url("modern/icons/chevron-left-icon.svg");
background-image: image-url("#{$theme-base}/icons/chevron-left-icon.svg");
}

.chevron-right-icon {
background-image: image-url("modern/icons/modern/icons/chevron-right-icon.svg");
background-image: image-url("#{$theme-base}/icons/chevron-right-icon.svg");
}

.circle-xmark-icon {
background-image: image-url("modern/icons/circle-xmark-icon.svg");
background-image: image-url("#{$theme-base}/icons/circle-xmark-icon.svg");
}

.class-icon {
background-image: image-url("modern/icons/class-icon.svg");
background-image: image-url("#{$theme-base}/icons/class-icon.svg");
}

.clear-filters-icon {
background-image: image-url("modern/icons/clear-filters-icon.svg");
background-image: image-url("#{$theme-base}/icons/clear-filters-icon.svg");
}

.community-icon {
background-image: image-url("modern/icons/community-icon.svg");
background-image: image-url("#{$theme-base}/icons/community-icon.svg");
}

.cross-icon {
background-image: image-url("modern/icons/cross-icon.svg");
background-image: image-url("#{$theme-base}/icons/cross-icon.svg");
}

.developer-icon {
background-image: image-url("modern/icons/developer-icon.svg");
background-image: image-url("#{$theme-base}/icons/developer-icon.svg");
}

.double-left-icon {
background-image: image-url("modern/icons/double-left-icon.svg");
background-image: image-url("#{$theme-base}/icons/double-left-icon.svg");
}

.double-right-icon {
background-image: image-url("modern/icons/double-right-icon.svg");
background-image: image-url("#{$theme-base}/icons/double-right-icon.svg");
}

.events-icon {
background-image: image-url("modern/icons/events-icon.svg");
background-image: image-url("#{$theme-base}/icons/events-icon.svg");
}

.filter-icon {
background-image: image-url("modern/icons/filter-icon.svg");
background-image: image-url("#{$theme-base}/icons/filter-icon.svg");
}

.hourglass-icon {
background-image: image-url("modern/icons/hourglass-icon.svg");
background-image: image-url("#{$theme-base}/icons/hourglass-icon.svg");
}

.hybrid-event-icon {
background-image: image-url("modern/icons/hybrid-event-icon.svg");
background-image: image-url("#{$theme-base}/icons/hybrid-event-icon.svg");
}

.materials-icon {
background-image: image-url("modern/icons/materials-icon.svg");
background-image: image-url("#{$theme-base}/icons/materials-icon.svg");
}

.microscope-icon {
background-image: image-url("modern/icons/microscope-icon.svg");
background-image: image-url("#{$theme-base}/icons/microscope-icon.svg");
}

.minus-icon {
background-image: image-url("modern/icons/minus-icon.svg");
background-image: image-url("#{$theme-base}/icons/minus-icon.svg");
}

.nonprofit-icon {
background-image: image-url("modern/icons/nonprofit-icon.svg");
background-image: image-url("#{$theme-base}/icons/nonprofit-icon.svg");
}

.onsite-event-icon {
background-image: image-url("modern/icons/onsite-event-icon.svg");
background-image: image-url("#{$theme-base}/icons/onsite-event-icon.svg");
}

.plus-icon {
background-image: image-url("modern/icons/plus-icon.svg");
background-image: image-url("#{$theme-base}/icons/plus-icon.svg");
}

.search-icon {
background-image: image-url("modern/icons/search-icon.svg");
background-image: image-url("#{$theme-base}/icons/search-icon.svg");
}

.search-icon-blue {
background-image: image-url("modern/icons/search-icon-blue.svg");
background-image: image-url("#{$theme-base}/icons/search-icon-blue.svg");
}

.sort-icon {
background-image: image-url("modern/icons/sort-icon.svg");
background-image: image-url("#{$theme-base}/icons/sort-icon.svg");
}

.source-code-icon {
background-image: image-url("modern/icons/source-code-icon.svg");
background-image: image-url("#{$theme-base}/icons/source-code-icon.svg");
}

.star-icon {
background-image: image-url("modern/icons/star-icon.svg");
background-image: image-url("#{$theme-base}/icons/star-icon.svg");
}

.sustainable-icon {
background-image: image-url("modern/icons/sustainable-icon.svg");
background-image: image-url("#{$theme-base}/icons/sustainable-icon.svg");
}

.trainers-icon {
background-image: image-url("modern/icons/trainers-icon.svg");
background-image: image-url("#{$theme-base}/icons/trainers-icon.svg");
}

.online-event-icon {
background-image: image-url("modern/icons/virtual-event-icon.svg");
background-image: image-url("#{$theme-base}/icons/virtual-event-icon.svg");
}

.workflows-icon {
background-image: image-url("modern/icons/workflows-icon.svg");
background-image: image-url("#{$theme-base}/icons/workflows-icon.svg");
}

.expand-icon {
background-image: image-url("modern/icons/expand-icon.svg");
background-image: image-url("#{$theme-base}/icons/expand-icon.svg");
}

.collapse-icon {
background-image: image-url("modern/icons/collapse-icon.svg");
background-image: image-url("#{$theme-base}/icons/collapse-icon.svg");
}

.information-icon {
background-image: image-url("modern/icons/info-icon.svg");
background-image: image-url("#{$theme-base}/icons/info-icon.svg");
}
8 changes: 4 additions & 4 deletions app/assets/stylesheets/learning-paths.scss
Original file line number Diff line number Diff line change
Expand Up @@ -51,17 +51,17 @@
}

.learning-path-bg-1 {
border-image-source: image-url("modern/learning_paths/learning-path-bg-1.svg");
border-image-source: image-url("#{$theme-base}/learning_paths/learning-path-bg-1.svg");
}

.learning-path-bg-2 {
border-image-source: image-url("modern/learning_paths/learning-path-bg-2.svg");
border-image-source: image-url("#{$theme-base}/learning_paths/learning-path-bg-2.svg");
}

.learning-path-bg-3 {
border-image-source: image-url("modern/learning_paths/learning-path-bg-3.svg");
border-image-source: image-url("#{$theme-base}/learning_paths/learning-path-bg-3.svg");
}

.learning-path-bg-4 {
border-image-source: image-url("modern/learning_paths/learning-path-bg-4.svg");
border-image-source: image-url("#{$theme-base}/learning_paths/learning-path-bg-4.svg");
}
2 changes: 1 addition & 1 deletion app/assets/stylesheets/masonry.scss
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
width: 95%;
}

background-color: white;
background-color: $panel-bg;
}

.media-item.large {
Expand Down
4 changes: 4 additions & 0 deletions app/assets/stylesheets/mixins/mixins.scss
Original file line number Diff line number Diff line change
Expand Up @@ -66,3 +66,7 @@
list-style: outside none none;
padding-left: 0;
}

// Extended font sizes
$font-size-xs: 8px;
$font-size-xxs: 4px;
Loading