Skip to content

Commit

Permalink
Merge branch 'release/19.5.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
jamescdavis committed Jun 7, 2019
2 parents 7933316 + 0e2735a commit 6cf3306
Show file tree
Hide file tree
Showing 243 changed files with 10,883 additions and 4,603 deletions.
1 change: 1 addition & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,5 @@
},
"javascript.preferences.importModuleSpecifier": "non-relative",
"typescript.preferences.importModuleSpecifier": "non-relative",
"typescript.tsdk": "node_modules/typescript/lib",
}
215 changes: 179 additions & 36 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,148 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## [19.5.0] - 2019-06-07
### Added
- Models:
- `meeting` - for OSF Meetings
- `meeting-submission` - for OSF Meetings submissions
- `external-identity` - for connected identities
- Adapters:
- `meeting` - in private namespace
- `meeting-submission` - in private namespace, with custom urlforQuery and buildUrl methods.
- `external-identity` - for connected identities
- Serializers:
- `meeting`
- `meeting-submission`
- `external-identity` - for connected identities
- Routes:
- `meetings` - parent route for meetings
- `meetings.index` - meetings landing page
- `meetings.detail` - meeting detail page
- Components:
- `get-started-button` - a button that takes you to the '/register' page.
- `search-bar` - a search bar component that takes you to the search page.
- `paginated-list/x-header` - a paginated list header closure component
- `banners/view-only-link` - banner displayed when using a view-only link
- `new-home`
- `hero-banner` - a banner to be used on the logged-out homepage.
- `support-section`
- `support-item` - an item on the support-section component
- `learn-more-button` - a button that goes to the cos.io learn more page
- `meetings`
- `index`
- `meetings-hero-banner` - meetings landing page hero banner
- `meetings-list` - meetings list for the meetings index page
- `meetings-footer` - meetings landing page footer
- `detail`
- `meeting-detail-header` - meeting detail header
- `meeting-submissions-list` - meeting submissions list
- `settings`
- `account`
- `connected-identities` - connected identities component
- Helpers:
- `is-feature-enabled` - helper that checks if a feature flag is enabled
- Utilities:
- `leafVals` - get values of all leaves in an object tree
- `clean-url`
- `notFoundURL` - makes a URL suitable for a `not-found` route's `path` param
- `map-keys`
- `camelizeKeys`
- `snakifyKeys`
- `mapKeysAndValues`
- `url-parts`
- `splitUrl`
- `joinUrl`
- `addQueryParam` - adds a query param to a given URL
- `addPathSegment` - adds a path segment to a given URL
- Tests:
- Acceptance:
- `new-home`
- `meetings/index`
- `meetings/detail`
- `view-only-link`
- `registries/overview/view-only-link`
- Integration:
- `get-started-button`
- `search-bar`
- `hero-banner`
- `view-only-link`
- `meetings`
- `index`
- `meetings-hero-banner`
- `meetings-list`
- `meetings-footer`
- `detail`
- `meeting-detail-header`
- `meeting-submissions-list`
- `settings`
- `account`
- `connected-identities`
- Unit:
- utils:
- `leafVals`
- `notFoundURL` (in `clean-url`)
- `camelizeKeys` (in `map-keys`)
- `addPathSegment` (in `url-parts`)
- Mirage:
- `meeting` factory
- `meeting-submission` factory
- private `meetings` endpoint
- meetings scenario
- `external-identities` factory and endpoint
- add `external-identities` to settings scenario
- View-only link support:
- Add `view_only` query param to `application` route
- Store VOL info (token, anonymized) on `current-user` service
- Include VOL token in all API requests, all links within OSF
- Types:
- `ember-a11y-testing` - `a11yAudit`
- DX:
- .vscode/settings.json
- Add `typescript.tsdk` setting so that VS Code uses workspace's TypeScript version by default.

### Changed
- Adapters:
- `osf-adapter` - added support for view-only links
- Controllers:
- `applicaton` - added `viewOnlyToken` query param
- Routes:
- `applicaton` - added `viewOnlyToken` query param
- Components:
- `osf-navbar`
- detect active OSF service for any non-engine service
- `x-links/hyper-link/x-anchor` added support for view-only links
- `paginated-list`
- add ability to provide a header row
- add splattributes to item
- `contributor-list` - display something useful when using an anonymized VOL
- `osf-link` - added support for view-only links
- `osf-mode-footer` - add features tab for toggling feature flags
- `app-components`
- `license-text` - moved to `osf-components`
- `license-picker` - moved to `osf-components`
- Authenticators:
- `osf-cookie`
- initialize any disabled feature flags found in config
- added support for view-only links
- Decorators:
- `checkAuth` - added support for view-only links
- Transforms:
- `node-license` - use `camelizeKeys` and `snakifyKeys` utils
- Services:
- `current-user` - added support for view-only links
- Utilities:
- `sparse-fieldsets` - use `camelizeKeys` and `snakifyKeys` utils
- Tests:
- Integration:
- `contributor-list` - add tests for anonymized nodes
- Mirage:
- `node` factory - added support for view-only links
- `root` factory - added support for view-only links
- default scenario - added meetings scenario
- Misc:
- ugrade dependencies (see package.json diff)

## [19.4.0] - 2019-04-25
### Added
- Features:
Expand Down Expand Up @@ -759,39 +901,40 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
### Added
- Quick Files

[Unreleased]: https://github.com/CenterForOpenScience/ember-osf-web/compare/19.4.0...HEAD
[19.4.0]: https://github.com/CenterForOpenScience/ember-osf-web/compare/19.3.0...19.4.0
[19.3.0]: https://github.com/CenterForOpenScience/ember-osf-web/compare/19.2.0...19.3.0
[19.2.0]: https://github.com/CenterForOpenScience/ember-osf-web/compare/19.1.2...19.2.0
[19.1.2]: https://github.com/CenterForOpenScience/ember-osf-web/compare/19.1.1...19.1.2
[19.1.1]: https://github.com/CenterForOpenScience/ember-osf-web/compare/19.1.0...19.1.1
[19.1.0]: https://github.com/CenterForOpenScience/ember-osf-web/compare/19.0.2...19.1.0
[19.0.2]: https://github.com/CenterForOpenScience/ember-osf-web/compare/19.0.1...19.0.2
[19.0.1]: https://github.com/CenterForOpenScience/ember-osf-web/compare/19.0.0...19.0.1
[19.0.0]: https://github.com/CenterForOpenScience/ember-osf-web/compare/18.2.2...19.0.0
[18.2.2]: https://github.com/CenterForOpenScience/ember-osf-web/compare/18.2.1...18.2.2
[18.2.1]: https://github.com/CenterForOpenScience/ember-osf-web/compare/18.2.0...18.2.1
[18.2.0]: https://github.com/CenterForOpenScience/ember-osf-web/compare/18.1.2...18.2.0
[18.1.2]: https://github.com/CenterForOpenScience/ember-osf-web/compare/18.1.1...18.1.2
[18.1.1]: https://github.com/CenterForOpenScience/ember-osf-web/compare/18.1.0...18.1.1
[18.1.0]: https://github.com/CenterForOpenScience/ember-osf-web/compare/18.0.0...18.1.0
[18.0.0]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.7.0...18.0.0
[0.7.0]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.6.1...0.7.0
[0.6.1]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.6.0...0.6.1
[0.6.0]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.5.2...0.6.1
[0.5.2]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.5.1...0.5.2
[0.5.1]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.5.0...0.5.1
[0.5.0]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.4.1...0.5.0
[0.4.1]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.4.0...0.4.1
[0.4.0]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.3.7...0.4.0
[0.3.7]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.3.6...0.3.7
[0.3.6]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.3.5...0.3.6
[0.3.5]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.3.4...0.3.5
[0.3.4]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.3.3...0.3.4
[0.3.3]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.3.2...0.3.3
[0.3.2]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.3.1...0.3.2
[0.3.1]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.3.0...0.3.1
[0.3.0]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.2.0...0.3.0
[0.2.0]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.1.1...0.2.0
[0.1.1]: https://github.com/CenterForOpenScience/ember-osf-web/compare/0.1.0...0.1.1
[0.1.0]: https://github.com/CenterForOpenScience/ember-osf-web/compare/7dad0d13c0253de88720dd058e96e11905d56911...0.1.0
[Unreleased]: https://github.com/CenterForOpenScience/ember-osf-web/compare/19.5.0...HEAD
[19.5.0]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/19.5.0
[19.4.0]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/19.4.0
[19.3.0]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/19.3.0
[19.2.0]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/19.2.0
[19.1.2]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/19.1.2
[19.1.1]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/19.1.1
[19.1.0]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/19.1.0
[19.0.2]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/19.0.2
[19.0.1]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/19.0.1
[19.0.0]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/19.0.0
[18.2.2]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/18.2.2
[18.2.1]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/18.2.1
[18.2.0]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/18.2.0
[18.1.2]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/18.1.2
[18.1.1]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/18.1.1
[18.1.0]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/18.1.0
[18.0.0]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/18.0.0
[0.7.0]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/0.7.0
[0.6.1]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/0.6.1
[0.6.0]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/0.6.1
[0.5.2]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/0.5.2
[0.5.1]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/0.5.1
[0.5.0]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/0.5.0
[0.4.1]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/0.4.1
[0.4.0]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/0.4.0
[0.3.7]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/0.3.7
[0.3.6]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/0.3.6
[0.3.5]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/0.3.5
[0.3.4]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/0.3.4
[0.3.3]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/0.3.3
[0.3.2]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/0.3.2
[0.3.1]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/0.3.1
[0.3.0]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/0.3.0
[0.2.0]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/0.2.0
[0.1.1]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/0.1.1
[0.1.0]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/0.1.0
7 changes: 7 additions & 0 deletions NOTICE
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
The OSF uses some third-party code.

Font-awesome SVG's on logged-out homepage
=======================================

License: https://fontawesome.com/license
Changes: Fill color
13 changes: 13 additions & 0 deletions app/adapters/external-identity.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import OsfAdapter from './osf-adapter';

export default class ExternalIdentityAdapter extends OsfAdapter {
pathForType(_: string) {
return 'users/me/settings/identities';
}
}

declare module 'ember-data/types/registries/adapter' {
export default interface AdapterRegistry {
'external-identity': ExternalIdentityAdapter;
} // eslint-disable-line semi
}
12 changes: 12 additions & 0 deletions app/adapters/meeting-submission.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
// import DS from 'ember-data';
import OsfAdapter from './osf-adapter';

export default class MeetingSubmissionAdapter extends OsfAdapter {
parentRelationship = 'meetings';
}

declare module 'ember-data/types/registries/adapter' {
export default interface AdapterRegistry {
'meeting-submission': MeetingSubmissionAdapter;
} // eslint-disable-line semi
}
11 changes: 11 additions & 0 deletions app/adapters/meeting.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import OsfAdapter from './osf-adapter';

export default class MeetingAdapter extends OsfAdapter {
namespace = '_';
}

declare module 'ember-data/types/registries/adapter' {
export default interface AdapterRegistry {
meeting: MeetingAdapter;
} // eslint-disable-line semi
}
5 changes: 4 additions & 1 deletion app/adapters/osf-adapter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -75,9 +75,12 @@ export default class OsfAdapter extends JSONAPIAdapter {
buildQuery(snapshot: DS.Snapshot): object {
const { query: adapterOptionsQuery = {} } = (snapshot.adapterOptions || {}) as AdapterOptions;

const query: { include?: any, embed?: any } = {
const { viewOnlyToken } = this.currentUser;

const query: Partial<Record<'include' | 'embed' | 'view_only', string>> = {
...super.buildQuery(snapshot),
...adapterOptionsQuery,
...(viewOnlyToken ? { view_only: viewOnlyToken } : {}),
};

return {
Expand Down
9 changes: 9 additions & 0 deletions app/application/controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,15 @@ export default class Application extends Controller {
@service theme!: Theme;
@service features!: Features;

queryParams = [{
viewOnlyToken: {
as: 'view_only',
// scope needs the literal type `'controller'`, not just `string`
scope: 'controller' as 'controller',
},
}];
viewOnlyToken = '';

@alias(`features.${camelize(verifyEmailModals)}`)
shouldShowVerifyEmailModals!: boolean;

Expand Down
8 changes: 8 additions & 0 deletions app/application/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import config from 'ember-get-config';
import I18N from 'ember-i18n/services/i18n';

import checkAuth from 'ember-osf-web/decorators/check-auth';
import CurrentUser from 'ember-osf-web/services/current-user';

const {
i18n: {
Expand All @@ -23,6 +24,13 @@ export default class ApplicationRoute extends Route.extend(
*/
) {
@service i18n!: I18N;
@service currentUser!: CurrentUser;

queryParams = {
viewOnlyToken: {
refreshModel: true,
},
};

afterModel(this: ApplicationRoute) {
const i18n = this.get('i18n');
Expand Down
2 changes: 1 addition & 1 deletion app/application/template.hbs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<HeadLayout />
{{title (t 'general.OSF')}}
<div local-class='Application'>
<div data-test-application local-class='Application'>
{{#unless this.disableHeader}}
{{#if this.theme.isProvider}}
<style>
Expand Down
Loading

0 comments on commit 6cf3306

Please sign in to comment.