diff --git a/CHANGELOG.md b/CHANGELOG.md index 13d794e87..7370a490c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ### Added - Adding mime type for geojson - Add "when" parameter in a few GET API endpoints to enable pagination [#266](https://github.com/clowder-framework/clowder/issues/266) +- Show statistics of spaces (bytes, users. etc) [#119](https://github.com/clowder-framework/clowder/issues/119) + +### Changed +- Space layout is now more inline with the layout of files and dataasets. ## 1.18.1 - 2021-08-16 @@ -69,6 +73,7 @@ If any files are returned, you should check to see if these files affected and a ### Changed - Updated Sphinx dependencies due to security and changes in required packages. +- Updated the three.js libraries for the FBX previewer ## 1.16.0 - 2021-03-31 @@ -137,6 +142,7 @@ script to fix this. ## 1.14.0 - 2021-01-07 ### Added +- Added a previewer for FBX files. - Added a new `/api/reports/metrics/extractors` report for summarizing extractor usage by user. Database administrators can use `scripts/updates/UpdateUserId.js` to assign user IDs to older extraction event records based on resource ownership in order to improve the accuracy of the report for older data. diff --git a/app/views/spaces/otherActions.scala.html b/app/views/spaces/otherActions.scala.html index 3a79be035..47f4d0c37 100644 --- a/app/views/spaces/otherActions.scala.html +++ b/app/views/spaces/otherActions.scala.html @@ -1,38 +1,61 @@ @(space: ProjectSpace)(implicit user: Option[models.User]) @import api.Permission @import play.api.i18n.Messages -
-
+
+ Edit @Messages("space.title") - -
  • + +
  • +
    + Manage Metadata Terms & Definitions - -
  • + +
  • +
    + Extractors - - } else { -
  • + +
  • + } else { +
    + Manage Users - -
  • + +
  • +
    + Edit @Messages("space.title") - -
  • + +
  • +
    + Manage Metadata Terms & Definitions - -
  • + +
  • +
    + Extractors - - } - @if(play.api.Play.current.plugin[services.StagingAreaPlugin].isDefined && Permission.checkPermission(Permission.EditStagingArea, ResourceRef(ResourceRef.space, space.id))) { -
  • Staging Area
  • - } -
  • @spaces.follow(space)
  • - + +
    + } + @if(play.api.Play.current.plugin[services.StagingAreaPlugin].isDefined && Permission.checkPermission(Permission.EditStagingArea, ResourceRef(ResourceRef.space, space.id))) { +
    + + Staging Area + +
    + } +
    + @spaces.follow(space) +
    diff --git a/app/views/spaces/space.scala.html b/app/views/spaces/space.scala.html index f4501391a..28ca667b2 100644 --- a/app/views/spaces/space.scala.html +++ b/app/views/spaces/space.scala.html @@ -19,111 +19,122 @@ } -
    - -
    -

    @space.name

    - -

    @Html(space.description.replace("\n","
    "))

    - @if(user.isDefined) { -
    - @if(Permission.checkPermission(Permission.DeleteSpace, ResourceRef(ResourceRef.space, space.id))){ - - } - @if(Permission.checkPermission(Permission.CreateDataset, ResourceRef(ResourceRef.space, space.id))) { - - @Messages("create.title", Messages("dataset.title")) - } - @if(Permission.checkPermission(Permission.CreateCollection, ResourceRef(ResourceRef.space, space.id))) { - - @Messages("create.title", Messages("collections.title")) - } - - @if(Permission.checkPermission(Permission.ViewSpace, ResourceRef(ResourceRef.space, space.id)) || user.get.identityId.userId.equals(space.creator)){ - - Search - - } - @if(play.Play.application().configuration().getBoolean("enablePublic") && (Permission.checkPermission(Permission.EditSpace, ResourceRef(ResourceRef.space, space.id)) || Permission.checkPermission(Permission.DeleteSpace, ResourceRef(ResourceRef.space, space.id)))){ -
    - } - } -
    -
    + + @* left column, space details, datasets, collections *@
    - -
    - @if(user.isDefined){ -
    - @spaces.datasetsBySpace(datasets, space, None, userSelections) - @spaces.collectionsBySpace(collections, space, None) -
    - -
    -

    The @Messages("space.title") team has made the following @Messages("datasets.title").toLowerCase and @Messages("collections.title").toLowerCase publicly available.

    - @spaces.datasetsBySpace(publicDatasets, space, Some(true), userSelections) - - @if(space.isPublic) { - @spaces.collectionsBySpace(collections, space, Some(true)) - } else { -

    @Messages("collections.title")

    -

    There are no public collections associated with this @Messages("space.title").

    + @if(Permission.checkPermission(Permission.CreateCollection, ResourceRef(ResourceRef.space, space.id))) { + + @Messages("create.title", Messages("collections.title")) + } + + @if(Permission.checkPermission(Permission.ViewSpace, ResourceRef(ResourceRef.space, space.id)) || user.get.identityId.userId.equals(space.creator)){ + + Search + + } + @if(play.Play.application().configuration().getBoolean("enablePublic") && (Permission.checkPermission(Permission.EditSpace, ResourceRef(ResourceRef.space, space.id)) || Permission.checkPermission(Permission.DeleteSpace, ResourceRef(ResourceRef.space, space.id)))){ +
    }
    - } else { -
    -

    The @Messages("space.title") team has made the following @Messages("datasets.title").toLowerCase and @Messages("collections.title").toLowerCase publicly available. - You must be a logged-in member of the @Messages("space.title") to access all the @Messages("datasets.title").toLowerCase and @Messages("collections.title").toLowerCase. -

    - @spaces.datasetsBySpace(publicDatasets, space, Some(true), userSelections) - @if(space.isPublic) { - @spaces.collectionsBySpace(collections, space, Some(true)) + } +
    + +
    + +
    + @if(user.isDefined){ +
    + @spaces.datasetsBySpace(datasets, space, None, userSelections) + @spaces.collectionsBySpace(collections, space, None) +
    + +
    +

    The @Messages("space.title") team has made the following @Messages("datasets.title").toLowerCase and @Messages("collections.title").toLowerCase publicly available.

    + @spaces.datasetsBySpace(publicDatasets, space, Some(true), userSelections) + + @if(space.isPublic) { + @spaces.collectionsBySpace(collections, space, Some(true)) + } else { +

    @Messages("collections.title")

    +

    There are no public collections associated with this @Messages("space.title").

    + } +
    + } else { +
    +

    The @Messages("space.title") team has made the following @Messages("datasets.title").toLowerCase and @Messages("collections.title").toLowerCase publicly available. + You must be a logged-in member of the @Messages("space.title") to access all the @Messages("datasets.title").toLowerCase and @Messages("collections.title").toLowerCase. +

    + @spaces.datasetsBySpace(publicDatasets, space, Some(true), userSelections) + @if(space.isPublic) { + @spaces.collectionsBySpace(collections, space, Some(true)) + } else { +

    @Messages("collections.title")

    +

    There are no public collections associated with this @Messages("space.title").

    + } +
    + } +
    +

    The following @Messages("datasets.title").toLowerCase have been published through this @Messages("space.title") and any affiliated @Messages("space.title")s.

    + @curations.publishedGrid(publishedData, servicesUrl, None)
    - } -
    -

    The following @Messages("datasets.title").toLowerCase have been published through this @Messages("space.title") and any affiliated @Messages("space.title")s.

    - @curations.publishedGrid(publishedData, servicesUrl, None)
    + + @* right column, space statistics, actions *@
    @if(user.isDefined) { - @spaces.statistics(space, spaceBytes,"row ds-section-sm space-col-right", None, spaceFiles ) + @spaces.statistics(space, spaceBytes, None, spaceFiles ) @spaces.otherActions(space) } else { - @spaces.statistics(space, spaceBytes, "row ds-section-sm space-col-right",None, spaceFiles) + @spaces.statistics(space, spaceBytes, None, spaceFiles) } - @spaces.externalLinks(space.homePage, space, "row ds-section-sm break-word space-col-right") + @spaces.externalLinks(space.homePage, space, "row ds-section-sm") @if(play.Play.application().configuration().getBoolean("enablePublic")) { - @spaces.access(space, userRoleMap, "row ds-section-sm break-word space-col-right") + @spaces.access(space, userRoleMap, "row ds-section-sm") } @if(play.api.Play.configuration.getBoolean("enable_expiration").getOrElse(false)) { @spaces.spaceConfiguration(space) }
    + +