From 5e3f4e9993966792b0844febddf1d9dd0742b357 Mon Sep 17 00:00:00 2001
From: Ashley Robinson
Date: Tue, 12 Oct 2021 09:16:48 -0400
Subject: [PATCH 01/32] added translation file, resolved merge conflicts.
---
app/models/registration.ts | 3 +++
translations/en-us.yml | 7 +++++--
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/app/models/registration.ts b/app/models/registration.ts
index 9397f6acbb2..d27fb8e8f3d 100644
--- a/app/models/registration.ts
+++ b/app/models/registration.ts
@@ -90,9 +90,11 @@ export default class RegistrationModel extends NodeModel.extend(Validations) {
@attr('fixstring') iaUrl?: string;
@attr('array') providerSpecificMetadata!: ProviderMetadata[];
@attr('fixstring') revisionState?: RevisionReviewStates;
+ @attr('object') latestSchemaResponse?: SchemaResponseModel;
// Write-only attributes
@attr('array') includedNodeIds?: string[];
+ @attr('boolean') createDoi?: boolean;
@attr('fixstring') draftRegistrationId?: string;
@belongsTo('node', { inverse: 'registrations' })
@@ -134,6 +136,7 @@ export default class RegistrationModel extends NodeModel.extend(Validations) {
// Write-only relationships
@belongsTo('draft-registration', { inverse: null })
draftRegistration!: DraftRegistrationModel;
+ static reviewsState: string;
}
declare module 'ember-data/types/registries/model' {
diff --git a/translations/en-us.yml b/translations/en-us.yml
index a8de7cbc253..0b4ba92b8bb 100644
--- a/translations/en-us.yml
+++ b/translations/en-us.yml
@@ -587,8 +587,11 @@ node_card:
pending_embargo_termination: 'Pending embargo termination'
pending_withdraw_request: 'Pending withdrawal'
pending_withdraw: 'Pending withdrawal moderation'
- withdrawn: Withdrawn
- archiving: Archiving
+ withdrawn: 'Withdrawn'
+ archiving: 'Archiving'
+ revision_in_progress: 'A revision is currently in progress'
+ revision_pending_admin_approval: 'Revision is currently pending admin approval'
+ revision_pending_edit_moderation: 'Revision is currently pending moderator approval'
tags: 'Tags:'
registration_template: 'Registration template:'
contributors: 'Contributors:'
From 74b720c0737aeed4de8f91f38ca5da04eed59b54 Mon Sep 17 00:00:00 2001
From: Ashley Robinson
Date: Wed, 1 Sep 2021 15:16:39 -0400
Subject: [PATCH 02/32] added Update button to registries/my-registrations
endpoint, updated translation file for button.
---
.../addon/components/node-card/template.hbs | 13 +++++++++++++
translations/en-us.yml | 1 +
2 files changed, 14 insertions(+)
diff --git a/lib/osf-components/addon/components/node-card/template.hbs b/lib/osf-components/addon/components/node-card/template.hbs
index 38fedb8a3c6..4df277b58f8 100644
--- a/lib/osf-components/addon/components/node-card/template.hbs
+++ b/lib/osf-components/addon/components/node-card/template.hbs
@@ -87,6 +87,13 @@
>
{{t 'general.delete'}}
+
+ {{t 'general.delete'}}
+
@@ -166,6 +173,12 @@
+
{{else}}
diff --git a/translations/en-us.yml b/translations/en-us.yml
index 0b4ba92b8bb..dd546a2bb05 100644
--- a/translations/en-us.yml
+++ b/translations/en-us.yml
@@ -600,6 +600,7 @@ node_card:
registry: 'Registry:'
options: Options
view: 'View'
+ update: 'Update'
forks:
fork: Fork
title: Forks
From 9b8e6032e52a8c968fc8cc6c3b19cad9f5934be9 Mon Sep 17 00:00:00 2001
From: Ashley Robinson
Date: Wed, 1 Sep 2021 20:16:02 -0400
Subject: [PATCH 03/32] added CSS to local-class for buttons, removed inline
CSS.
---
.../addon/components/node-card/styles.scss | 4 ++
.../addon/components/node-card/template.hbs | 37 ++++++++++++-------
2 files changed, 27 insertions(+), 14 deletions(-)
diff --git a/lib/osf-components/addon/components/node-card/styles.scss b/lib/osf-components/addon/components/node-card/styles.scss
index c353bff123b..355061a1c82 100644
--- a/lib/osf-components/addon/components/node-card/styles.scss
+++ b/lib/osf-components/addon/components/node-card/styles.scss
@@ -1,3 +1,7 @@
+.MyRegistrationsButtons {
+ display: inline-block;
+}
+
.NodeCard {
margin: 10px 0;
}
diff --git a/lib/osf-components/addon/components/node-card/template.hbs b/lib/osf-components/addon/components/node-card/template.hbs
index 4df277b58f8..b16bbd4408c 100644
--- a/lib/osf-components/addon/components/node-card/template.hbs
+++ b/lib/osf-components/addon/components/node-card/template.hbs
@@ -164,22 +164,31 @@
{{/if}}
-
-
-
-
+
+ {{t 'node_card.update'}}
+
+
+
{{else}}
From f697b75020a870d2ac56731109528db529c53b1d Mon Sep 17 00:00:00 2001
From: Ashley Robinson
Date: Fri, 24 Sep 2021 14:35:07 -0400
Subject: [PATCH 04/32] added asserts methods for update button for my
registrations, updated translation file for multiple buttons, added schema
response to registration for rendering hbs.
---
.../addon/components/node-card/template.hbs | 9 +++------
tests/integration/components/node-card/component-test.ts | 7 ++++++-
translations/en-us.yml | 4 ++--
3 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/lib/osf-components/addon/components/node-card/template.hbs b/lib/osf-components/addon/components/node-card/template.hbs
index b16bbd4408c..ebcb277f5c8 100644
--- a/lib/osf-components/addon/components/node-card/template.hbs
+++ b/lib/osf-components/addon/components/node-card/template.hbs
@@ -177,15 +177,12 @@
-
- {{t 'node_card.update'}}
+
+ {{t 'node_card.update_button'}}
diff --git a/tests/integration/components/node-card/component-test.ts b/tests/integration/components/node-card/component-test.ts
index 9ff07ebdf62..a614ee64cb9 100644
--- a/tests/integration/components/node-card/component-test.ts
+++ b/tests/integration/components/node-card/component-test.ts
@@ -1,7 +1,8 @@
import { render } from '@ember/test-helpers';
import { hbs } from 'ember-cli-htmlbars';
import { setupMirage } from 'ember-cli-mirage/test-support';
-import { setupIntl, TestContext } from 'ember-intl/test-support';
+import { setupIntl, t, TestContext } from 'ember-intl/test-support';
+import { RevisionReviewStates } from 'ember-osf-web/models/revision';
import { setupRenderingTest } from 'ember-qunit';
import moment from 'moment';
import { module, test } from 'qunit';
@@ -23,6 +24,7 @@ module('Integration | Component | node-card', hooks => {
const registration = server.create('registration', {
tags: ['a', 'b', 'c'],
description: 'Through the night',
+ revisionState: RevisionReviewStates.Approved,
});
server.create('contributor', { node: registration, index: 0, bibliographic: true });
server.create('contributor', { node: registration, index: 1, bibliographic: true });
@@ -104,5 +106,8 @@ module('Integration | Component | node-card', hooks => {
assert.dom(`[data-test-tags-widget-tag='${tag}']`).hasText(tag, 'Tag is correct');
}
assert.dom(`[data-test-view-button='${registration.id}']`).exists('View button exists');
+
+ assert.dom('[data-test-update-button]').exists('Update button exists.');
+ assert.dom('[data-test-update-button]').hasText(t('node_card.update_button').toString());
});
});
diff --git a/translations/en-us.yml b/translations/en-us.yml
index dd546a2bb05..7b77a222f19 100644
--- a/translations/en-us.yml
+++ b/translations/en-us.yml
@@ -599,8 +599,8 @@ node_card:
last_updated: 'Last updated:'
registry: 'Registry:'
options: Options
- view: 'View'
- update: 'Update'
+ view_button: 'View'
+ update_button: 'Update'
forks:
fork: Fork
title: Forks
From 40342499f6a48bd7f852043290082af89d9b4fc8 Mon Sep 17 00:00:00 2001
From: Ashley Robinson
Date: Wed, 1 Sep 2021 15:16:39 -0400
Subject: [PATCH 05/32] added Update button to registries/my-registrations
endpoint, updated translation file for button.
---
translations/en-us.yml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/translations/en-us.yml b/translations/en-us.yml
index 7b77a222f19..a11d3191edb 100644
--- a/translations/en-us.yml
+++ b/translations/en-us.yml
@@ -599,8 +599,13 @@ node_card:
last_updated: 'Last updated:'
registry: 'Registry:'
options: Options
+<<<<<<< HEAD
view_button: 'View'
update_button: 'Update'
+=======
+ view: 'View'
+ update: 'Update'
+>>>>>>> 3a97f2815 (added Update button to registries/my-registrations endpoint, updated translation file for button.)
forks:
fork: Fork
title: Forks
From 21d67d1e09b62681620fe8087c3c42b04d09e41a Mon Sep 17 00:00:00 2001
From: Ashley Robinson
Date: Wed, 1 Sep 2021 20:16:02 -0400
Subject: [PATCH 06/32] added CSS to local-class for buttons, removed inline
CSS.
---
.../addon/components/node-card/template.hbs | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/lib/osf-components/addon/components/node-card/template.hbs b/lib/osf-components/addon/components/node-card/template.hbs
index ebcb277f5c8..b16bbd4408c 100644
--- a/lib/osf-components/addon/components/node-card/template.hbs
+++ b/lib/osf-components/addon/components/node-card/template.hbs
@@ -177,12 +177,15 @@
-
- {{t 'node_card.update_button'}}
+
+ {{t 'node_card.update'}}
From d5ba846797e46127a94070dfde435febf7cc0dbb Mon Sep 17 00:00:00 2001
From: Ashley Robinson
Date: Mon, 27 Sep 2021 22:24:56 -0400
Subject: [PATCH 07/32] added router service to node card, updated route to
registries.edit-revision.index, changed type of button to create, added
transitionTo function with createNewSchemaResponse on card view.
---
.../addon/components/node-card/component.ts | 34 ++++++++++++++++---
.../addon/components/node-card/template.hbs | 12 +++++++
2 files changed, 42 insertions(+), 4 deletions(-)
diff --git a/lib/osf-components/addon/components/node-card/component.ts b/lib/osf-components/addon/components/node-card/component.ts
index f40759174ba..2ebfa8c9ee9 100644
--- a/lib/osf-components/addon/components/node-card/component.ts
+++ b/lib/osf-components/addon/components/node-card/component.ts
@@ -1,8 +1,9 @@
import { tagName } from '@ember-decorators/component';
-import Component from '@ember/component';
+import Component from '@glimmer/component';
import { computed } from '@ember/object';
import { inject as service } from '@ember/service';
import config from 'ember-get-config';
+import Store from '@ember-data/store';
import { layout } from 'ember-osf-web/decorators/component';
import Node, { NodeType } from 'ember-osf-web/models/node';
@@ -10,16 +11,27 @@ import Registration from 'ember-osf-web/models/registration';
import Analytics from 'ember-osf-web/services/analytics';
import pathJoin from 'ember-osf-web/utils/path-join';
-import styles from './styles';
+import { task } from 'ember-concurrency';
+import { waitFor } from '@ember/test-waiters';
+import RouterService from '@ember/routing/router-service';
+import RegistrationModel from 'ember-osf-web/models/registration';
+import SchemaResponseModel from 'ember-osf-web/models/schema-response';
+
import template from './template';
+import styles from './styles';
+
+interface Args {
+ registration: RegistrationModel;
+}
const { OSF: { url: baseURL } } = config;
@layout(template, styles)
@tagName('')
-export default class NodeCard extends Component {
+export default class NodeCard extends Component {
@service analytics!: Analytics;
-
+ @service router!: RouterService;
+ @service store!: Store;
// Optional parameters
node?: Node | Registration;
delete?: (node: Node) => void;
@@ -29,8 +41,22 @@ export default class NodeCard extends Component {
// Private properties
searchUrl = pathJoin(baseURL, 'search');
+ constructor(owner: unknown, args: Args) {
+ super(owner, args);
+ }
+
@computed('readOnly', 'node', 'node.{nodeType,userHasWritePermission}')
get showDropdown() {
return !this.readOnly && this.node && this.node.nodeType === NodeType.Fork && this.node.userHasWritePermission;
}
+
+ @task
+ @waitFor
+ async createNewSchemaResponse() {
+ const newRevision: SchemaResponseModel = this.store.createRecord('schema-response', {
+ registration: this.args.registration,
+ });
+ await newRevision.save();
+ this.router.transitionTo('registries.edit-revision', newRevision.id);
+ }
}
diff --git a/lib/osf-components/addon/components/node-card/template.hbs b/lib/osf-components/addon/components/node-card/template.hbs
index b16bbd4408c..e6c54f6fb62 100644
--- a/lib/osf-components/addon/components/node-card/template.hbs
+++ b/lib/osf-components/addon/components/node-card/template.hbs
@@ -177,6 +177,7 @@
{{t 'node_card.update'}}
+=======
+ data-test-update-button='{{@node.id}}'
+ @route='registries.edit-revision.index'
+ @models={{array @node.id}}
+ >
+
+ {{t 'node_card.update_button'}}
+>>>>>>> f9a6f687a (added router service to node card, updated route to registries.edit-revision.index, changed type of button to create, added transitionTo function with createNewSchemaResponse on card view.)
From c50f2ce10b7ab18e987f95a74b52d99c46414de4 Mon Sep 17 00:00:00 2001
From: Ashley Robinson
Date: Wed, 29 Sep 2021 09:30:49 -0400
Subject: [PATCH 08/32] updated schema response variables in mirage file.
---
mirage/scenarios/registrations.ts | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/mirage/scenarios/registrations.ts b/mirage/scenarios/registrations.ts
index 7a4f6ba3dfe..04f1e92911f 100644
--- a/mirage/scenarios/registrations.ts
+++ b/mirage/scenarios/registrations.ts
@@ -57,6 +57,8 @@ export function registrationScenario(
const currentUserWrite = server.create('registration', {
id: 'writr',
registrationSchema: server.schema.registrationSchemas.find('prereg_challenge'),
+ reviewsState: RegistrationReviewStates.Accepted,
+ revisionState: RevisionReviewStates.Approved,
currentUserPermissions: [Permission.Read, Permission.Write],
providerSpecificMetadata: [
{ field_name: 'Metadata field 1', field_value: '' },
@@ -64,6 +66,17 @@ export function registrationScenario(
],
});
+ server.create('schema-response', {
+ id: 'copyEdit',
+ revisionJustification: 'Copy Edit',
+ revisionResponses: {
+ q1: 'Good Morning',
+ q2: ['List of greetings'],
+ },
+ initiatedBy: currentUser,
+ registration: currentUserWrite,
+ });
+
server.create('contributor', { users: currentUser, node: currentUserWrite });
const registrationResponses = {
From 8c84a9dd33ead7c1691f0b26f3ca33fc1505ed05 Mon Sep 17 00:00:00 2001
From: Ashley Robinson
Date: Wed, 29 Sep 2021 17:12:42 -0400
Subject: [PATCH 09/32] linting: removed comment.
---
.../addon/components/node-card/component.ts | 58 ++++++++++++++-----
.../addon/components/node-card/template.hbs | 2 +-
2 files changed, 45 insertions(+), 15 deletions(-)
diff --git a/lib/osf-components/addon/components/node-card/component.ts b/lib/osf-components/addon/components/node-card/component.ts
index 2ebfa8c9ee9..ed4742a2ce6 100644
--- a/lib/osf-components/addon/components/node-card/component.ts
+++ b/lib/osf-components/addon/components/node-card/component.ts
@@ -1,5 +1,5 @@
import { tagName } from '@ember-decorators/component';
-import Component from '@glimmer/component';
+import Component from '@ember/component';
import { computed } from '@ember/object';
import { inject as service } from '@ember/service';
import config from 'ember-get-config';
@@ -10,28 +10,28 @@ import Node, { NodeType } from 'ember-osf-web/models/node';
import Registration from 'ember-osf-web/models/registration';
import Analytics from 'ember-osf-web/services/analytics';
import pathJoin from 'ember-osf-web/utils/path-join';
+import Toast from 'ember-toastr/services/toast';
import { task } from 'ember-concurrency';
import { waitFor } from '@ember/test-waiters';
import RouterService from '@ember/routing/router-service';
-import RegistrationModel from 'ember-osf-web/models/registration';
import SchemaResponseModel from 'ember-osf-web/models/schema-response';
-
+import Intl from 'ember-intl/services/intl';
+import RegistrationModel from 'ember-osf-web/models/registration';
+import { taskFor } from 'ember-concurrency-ts';
+import captureException, { getApiErrorMessage } from 'ember-osf-web/utils/capture-exception';
import template from './template';
import styles from './styles';
-
-interface Args {
- registration: RegistrationModel;
-}
-
const { OSF: { url: baseURL } } = config;
@layout(template, styles)
@tagName('')
-export default class NodeCard extends Component {
+export default class NodeCard extends Component {
@service analytics!: Analytics;
@service router!: RouterService;
@service store!: Store;
+ @service toast!: Toast;
+ @service intl!: Intl;
// Optional parameters
node?: Node | Registration;
delete?: (node: Node) => void;
@@ -41,20 +41,50 @@ export default class NodeCard extends Component {
// Private properties
searchUrl = pathJoin(baseURL, 'search');
- constructor(owner: unknown, args: Args) {
- super(owner, args);
- }
-
@computed('readOnly', 'node', 'node.{nodeType,userHasWritePermission}')
get showDropdown() {
return !this.readOnly && this.node && this.node.nodeType === NodeType.Fork && this.node.userHasWritePermission;
}
+ @task
+ @waitFor
+ async getLatestRevision(registration: RegistrationModel) {
+ const schemaResponseDates: Date[] = [];
+ if (!registration){
+ const notReistrationError = this.intl.t('registries.update_dropdown.not_a_registration_error');
+ return this.toast.error(notReistrationError);
+ }
+ try {
+ const revisionList : SchemaResponseModel[] = await registration.queryHasMany('schemaResponses');
+ revisionList.forEach(revision => {
+ const date: Date = revision.dateModified;
+ schemaResponseDates.push(date);
+ });
+ const latestDate = schemaResponseDates.sort((a: any, b: any) =>
+ new Date(b).valueOf() - new Date(a).valueOf())[0];
+
+ const latestSchemaResponse = revisionList.filter(revision => revision.dateModified === latestDate);
+ registration.set('latestSchemaResponse', latestSchemaResponse);
+
+ } catch (e) {
+ const errorMessage = this.intl.t('node.schema_response_error');
+ captureException(e, {errorMessage});
+ this.toast.error(getApiErrorMessage(e), errorMessage);
+ }
+ }
+
+ didReceiveAttrs() {
+ if (this.node?.isRegistration) {
+ taskFor(this.getLatestRevision).perform(this.node as Registration);
+ }
+ }
+
+ // TODO add to button for Update when clicked, add route
@task
@waitFor
async createNewSchemaResponse() {
const newRevision: SchemaResponseModel = this.store.createRecord('schema-response', {
- registration: this.args.registration,
+ registration: this.node,
});
await newRevision.save();
this.router.transitionTo('registries.edit-revision', newRevision.id);
diff --git a/lib/osf-components/addon/components/node-card/template.hbs b/lib/osf-components/addon/components/node-card/template.hbs
index e6c54f6fb62..7350297720b 100644
--- a/lib/osf-components/addon/components/node-card/template.hbs
+++ b/lib/osf-components/addon/components/node-card/template.hbs
@@ -194,7 +194,7 @@
>
{{t 'node_card.update_button'}}
>>>>>>> f9a6f687a (added router service to node card, updated route to registries.edit-revision.index, changed type of button to create, added transitionTo function with createNewSchemaResponse on card view.)
From b596680e22acc73a0bdd9fe003b4df65745db6e9 Mon Sep 17 00:00:00 2001
From: Ashley Robinson
Date: Fri, 1 Oct 2021 09:30:14 -0400
Subject: [PATCH 10/32] added error message to translation file.
---
translations/en-us.yml | 111 ++++++-----------------------------------
1 file changed, 14 insertions(+), 97 deletions(-)
diff --git a/translations/en-us.yml b/translations/en-us.yml
index a11d3191edb..7e1099851b1 100644
--- a/translations/en-us.yml
+++ b/translations/en-us.yml
@@ -525,7 +525,6 @@ validationErrors:
onlyProjectOrComponentFiles: 'The {numOfFiles, plural, =1 {file} other {files}} "{missingFilesList}" cannot be found on this {projectOrComponent}.'
new_folder_name: 'Folder name must not be blank.'
year_format: 'Please specify a valid year.'
- no_updated_responses: 'No changes have been made in this update.'
validated_input_form:
discard_changes: 'Discard changes'
node_navbar:
@@ -587,25 +586,18 @@ node_card:
pending_embargo_termination: 'Pending embargo termination'
pending_withdraw_request: 'Pending withdrawal'
pending_withdraw: 'Pending withdrawal moderation'
- withdrawn: 'Withdrawn'
- archiving: 'Archiving'
- revision_in_progress: 'A revision is currently in progress'
- revision_pending_admin_approval: 'Revision is currently pending admin approval'
- revision_pending_edit_moderation: 'Revision is currently pending moderator approval'
+ withdrawn: Withdrawn
+ archiving: Archiving
tags: 'Tags:'
registration_template: 'Registration template:'
contributors: 'Contributors:'
description: 'Description:'
last_updated: 'Last updated:'
registry: 'Registry:'
- options: Options
-<<<<<<< HEAD
+ options: 'Options'
view_button: 'View'
update_button: 'Update'
-=======
- view: 'View'
- update: 'Update'
->>>>>>> 3a97f2815 (added Update button to registries/my-registrations endpoint, updated translation file for button.)
+ schema_response_error: 'Updates irretreivable.'
forks:
fork: Fork
title: Forks
@@ -625,7 +617,7 @@ node:
registrations:
new_registration_modal:
title: Register
- info: 'Registration creates a frozen version of the project. Your original project remains editable and will have the registration linked. Things to know about registration:
Registrations cannot be edited or deleted.
Withdrawing a registration removes its contents, but leaves behind basic metadata: title, contributors, date registered, date withdrawn, and justification (if provided).
Registrations can be public or embargoed for up to four years. Embargoed registrations will be made public automatically when the embargo expires.
Registrations are archived on Internet Archive and a link to the archived copy will be added to the registration metadata.
Continue your registration by selecting a registration form:'
+ info: 'Registration creates a frozen version of the project. Your original project remains editable and will have the registration linked. Things to know about registration:
Registrations cannot be edited or deleted.
Withdrawing a registration removes its contents, but leaves behind basic metadata: title, contributors, date registered, date withdrawn, and justification (if provided).
Registrations can be public or embargoed for up to four years. Embargoed registrations will be made public automatically when the embargo expires.
Continue your registration by selecting a registration form:'
create: 'Create draft'
prereg_modal:
title: 'Preregistration Challenge'
@@ -925,9 +917,9 @@ collections:
project_contributors_title: 'Project contributors'
project_contributors_description: 'Updates made to this section will update the project.'
collection_metadata_title: 'Collection metadata'
- cancel: Cancel
+ cancel: 'Cancel'
add_button: 'Add to collection'
- update_button: Update
+ update_button: 'Update'
add_save_success: '{title} has been added to the collection.'
update_save_success: '{title} has been updated in the collection.'
add_save_error: 'Error adding {title} to the collection.'
@@ -1034,73 +1026,10 @@ registries:
removedModeratorError: 'Error removing {permission}'
updatedModeratorPermissionSuccess: 'Successfully updated {userName} to {permission}'
updatedModeratorPermissionError: 'Error updating permission to {permission}'
- settings:
- title: 'Settings'
+ notifications:
+ title: 'Notifications'
heading: 'Configure reviews notification preferences'
paragraph: 'To configure other notification preferences visit your user settings.'
- bulkUpload: 'Bulk upload'
- bulkUploadHelpText: 'Drag and drop the csv file that has the registration information to upload.'
- dropCsvHere: 'Drop csv file here to upload'
- uploadError: 'Upload error'
- copyToClipboard: 'Copy to clipboard'
- cell: 'Cell'
- copyToClipboardSuccess: 'Successfully copied to clipboard.'
- generalErrorMessage: 'Your file was not uploaded due to the errors listed below. Please correct the errors and try again. If you have any questions, please contact the help desk at support@osf.io.'
- invalidSchemaId:
- title: 'Invalid schema ID'
- detail: 'The schema ID in this cell does not match with a registration template in our system. It’s likely this ID was manually edited after it was downloaded or the registration template is outdated. Contact the help desk at support@osf.io for the current ID or a new csv file.'
- invalidColumnId:
- title: 'Invalid column ID'
- detail: 'This Column ID does not match with the ones used by this registration template. It’s likely it was manually edited after it was downloaded or the registration template is outdated. Contact the help desk at support@osf.io for the current ID or a new csv file. Invalid IDs: {invalidIds}. Missing IDs: {missingIds}.'
- invalidProjectId:
- title: 'Invalid project ID'
- detail: 'This Project GUID does not exist. Check that each project’s GUID is accurate. Registrations that do not have a project should have a blank cell.'
- invalidInstitutionName:
- title: 'Invalid institution name'
- detail: 'This affiliated institution name does not match our system. Check that the institution’s name is spelled correctly. Click here to view a list of currently active affiliated institutions.'
- invalidLicenseName:
- title: 'Invalid license name'
- detail: 'This license does not match our system. It’s likely that the license is either spelled incorrectly, is not an option in our system, or formatted incorrectly. Click here to view a list of available licenses. See section “CSV Templates” in our Moderator’s Guide for more information on formatting specific licenses.'
- invalidSubjectName:
- title: 'Invalid subject name'
- detail: 'This subject does not match our system. It’s likely it is spelled incorrectly. OSF uses the bepress taxonomy. Only the word or phase after the last colon needs to be entered.'
- invalidCategoryName:
- title: 'Invalid category name'
- detail: 'This category does not exist. Check that the category is spelled currently. See section “Field Formatting” in the Moderator Guide for a list of categories. Categories can be edited after the registration is submitted.'
- invalidResponse:
- title: 'Invalid response'
- detail: 'This response is not acceptable by the system. It’s likely that this is due to misspelling or having multiple answers for a single response question. See section “Field Formatting” in the Moderator Guide for more information.'
- invalidContributors:
- title: 'Invalid format for contributors'
- detail: 'This contributors list does not match the system’s formatting requirements. Review the required formatting in the Moderator’s Manual. Contact the help desk at support@osf.io if this is not the issue.'
- missingTitle:
- title: 'Missing title'
- detail: 'This title is missing. Check that each registration has a title.'
- missingDescription:
- title: 'Missing description'
- detail: 'This description is missing. Enter a high level summary of the registration. This summary can be edited after the registration is submitted.'
- missingAdminContributor:
- title: 'Missing admin contributor'
- detail: 'This registration doesn’t include an admin contributor. A registration requires at least one admin contributor to be submitted. See section “Field Formatting” in the Moderator Guide for more information on formatting contributors.'
- missingBibliographicContributor:
- title: 'Missing bibliographic contributor'
- detail: 'This registration doesn’t have any bibliographic contributors. Registration must have at least one bibliographic contributors. See section “Field Formatting” in the Moderator Guide for information on formatting contributors.'
- missingLicenseName:
- title: 'Missing license name'
- detail: 'This license is missing. Check that each registration has a license.'
- missingSubjectName:
- title: 'Missing subject name'
- detail: 'This subject is missing. Check that each registration has a subject.'
- sizeExceedsLimit:
- title: 'File size exceeds limit'
- detail: 'The csv file exceeds the 1MB limit. Break the file into multiple files and reupload them. Contact the Help Desk at support@osf.io if you have any questions.'
- bulkUploadJobExists:
- title: 'Bulk upload job already exists'
- detail: 'This csv file was already uploaded into the system and cannot be re-uploaded.'
- invalidFileType:
- title: 'Invalid file type'
- detail: 'Only csv files can be uploaded in the system. Convert the file into the csv format and reupload the document. Contact the Help Desk at support@osf.io if you have any questions.'
- uploadSuccess: 'Successfully uploaded csv file.'
overview:
title: 'Moderated Overview'
new:
@@ -1185,17 +1114,8 @@ registries:
unable_to_fetch_children_count: 'Unable to fetch project''s components'
submit_error: 'Unable to create a registration.'
edit_revision:
- revisionJustification: 'Justification for update'
- revisedResponses: 'List of updated registration questions'
- justification:
- page_label: Justification
- title: 'Justification for Update'
- justification_label: 'Explain the updates made to this registration and why the changes were necessary. Be thorough in your response.'
- justification_description: 'Justification will be provided to admins and moderators upon review. Once approved, it will be displayed at the top of the registration.'
page_title: 'Update registration'
review:
- justification_page_label: 'Justification'
- no_justification: 'No justification provided.'
submit_changes: 'Submit changes'
accept_changes: 'Accept changes'
continue_editing: 'Continue editing'
@@ -1510,18 +1430,16 @@ registries:
finalizeRegistrationModal:
title: 'Almost done...'
notice:
- noModerationFromProject: 'Remember:
Registrations cannot be modified or deleted once submitted.
Changes to any files (1) in the projects or components being registered, (2) uploaded or selected as prompt responses, including those connected through add-ons during archiving will result in archiving failure and loss of your registration timestamp. Please do not modify your files until after you have received email confirmation of archiving completion. If this registration has been archiving for more than 72 hours, please email support@osf.io for assistance.
The content and version history of Wiki and OSF Storage will be copied to the registration.
This project may contain links to other projects. These links will be copied into your registration, but the projects that they link to will not be registered. If you wish to register the linked projects, they must be registered separately. Learn more about links.
Registrations are archived on Internet Archive and a link to the archived copy will be added to the registration metadata.
'
- withModerationFromProject: 'Remember:
Registrations cannot be modified or deleted once submitted.
Changes to any files (1) in the projects or components being registered, (2) uploaded or selected as prompt responses, including those connected through add-ons during archiving will result in archiving failure and loss of your registration timestamp. Please do not modify your files until after you have received email confirmation of archiving completion. If this registration has been archiving for more than 72 hours, please email support@osf.io for assistance.
The content and version history of Wiki and OSF Storage will be copied to the registration.
This project may contain links to other projects. These links will be copied into your registration, but the projects that they link to will not be registered. If you wish to register the linked projects, they must be registered separately. Learn more about links.
A moderator must review and approve your registration before it will be made public or embargoed.
Registrations are archived on Internet Archive and a link to the archived copy will be added to the registration metadata.
'
- noModerationNoProject: 'Remember:
Registrations cannot be modified or deleted once submitted.
Changes to any files uploaded or selected as prompt responses will result in archiving failure and loss of your registration timestamp. If this registration has been archiving for more than 72 hours, email support@osf.io for assistance.
Registrations are archived on Internet Archive and a link to the archived copy will be added to the registration metadata.
'
- withModerationNoProject: 'Remember:
Registrations cannot be modified or deleted once submitted.
Changes to any files uploaded or selected as prompt responses will result in archiving failure and loss of your registration timestamp. If this registration has been archiving for more than 72 hours, email support@osf.io for assistance.
A moderator must review and approve your registration before it will be made public or embargoed.
Registrations are archived on Internet Archive and a link to the archived copy will be added to the registration metadata.
'
+ noModerationFromProject: 'Remember:
Registrations cannot be modified or deleted once submitted.
Changes to any files (1) in the projects or components being registered, (2) uploaded or selected as prompt responses, including those connected through add-ons during archiving will result in archiving failure and loss of your registration timestamp. Please do not modify your files until after you have received email confirmation of archiving completion. If this registration has been archiving for more than 72 hours, please email support@osf.io for assistance.
The content and version history of Wiki and OSF Storage will be copied to the registration.
This project may contain links to other projects. These links will be copied into your registration, but the projects that they link to will not be registered. If you wish to register the linked projects, they must be registered separately. Learn more about links.
'
+ withModerationFromProject: 'Remember:
Registrations cannot be modified or deleted once submitted.
Changes to any files (1) in the projects or components being registered, (2) uploaded or selected as prompt responses, including those connected through add-ons during archiving will result in archiving failure and loss of your registration timestamp. Please do not modify your files until after you have received email confirmation of archiving completion. If this registration has been archiving for more than 72 hours, please email support@osf.io for assistance.
The content and version history of Wiki and OSF Storage will be copied to the registration.
This project may contain links to other projects. These links will be copied into your registration, but the projects that they link to will not be registered. If you wish to register the linked projects, they must be registered separately. Learn more about links.
A moderator must review and approve your registration before it will be made public or embargoed.
'
+ noModerationNoProject: 'Remember:
Registrations cannot be modified or deleted once submitted.
Changes to any files uploaded or selected as prompt responses will result in archiving failure and loss of your registration timestamp. If this registration has been archiving for more than 72 hours, email support@osf.io for assistance.
'
+ withModerationNoProject: 'Remember:
Registrations cannot be modified or deleted once submitted.
Changes to any files uploaded or selected as prompt responses will result in archiving failure and loss of your registration timestamp. If this registration has been archiving for more than 72 hours, email support@osf.io for assistance.
A moderator must review and approve your registration before it will be made public or embargoed.
{{/each}}
\ No newline at end of file
diff --git a/translations/en-us.yml b/translations/en-us.yml
index a8dd7672117..933bba5f7f1 100644
--- a/translations/en-us.yml
+++ b/translations/en-us.yml
@@ -525,6 +525,7 @@ validationErrors:
onlyProjectOrComponentFiles: 'The {numOfFiles, plural, =1 {file} other {files}} "{missingFilesList}" cannot be found on this {projectOrComponent}.'
new_folder_name: 'Folder name must not be blank.'
year_format: 'Please specify a valid year.'
+ no_updated_responses: 'No changes have been made in this update.'
validated_input_form:
discard_changes: 'Discard changes'
node_navbar:
@@ -588,17 +589,17 @@ node_card:
pending_withdraw: 'Pending withdrawal moderation'
withdrawn: Withdrawn
archiving: Archiving
- revision_pending_moderation: 'Revision is pending moderation.'
tags: 'Tags:'
registration_template: 'Registration template:'
contributors: 'Contributors:'
description: 'Description:'
last_updated: 'Last updated:'
registry: 'Registry:'
- options: 'Options'
+ options: Options
view_button: 'View'
update_button: 'Update'
schema_response_error: 'Updates irretreivable.'
+
forks:
fork: Fork
title: Forks
@@ -618,7 +619,7 @@ node:
registrations:
new_registration_modal:
title: Register
- info: 'Registration creates a frozen version of the project. Your original project remains editable and will have the registration linked. Things to know about registration:
Registrations cannot be edited or deleted.
Withdrawing a registration removes its contents, but leaves behind basic metadata: title, contributors, date registered, date withdrawn, and justification (if provided).
Registrations can be public or embargoed for up to four years. Embargoed registrations will be made public automatically when the embargo expires.
Continue your registration by selecting a registration form:'
+ info: 'Registration creates a frozen version of the project. Your original project remains editable and will have the registration linked. Things to know about registration:
Registrations cannot be edited or deleted.
Withdrawing a registration removes its contents, but leaves behind basic metadata: title, contributors, date registered, date withdrawn, and justification (if provided).
Registrations can be public or embargoed for up to four years. Embargoed registrations will be made public automatically when the embargo expires.
Registrations are archived on Internet Archive and a link to the archived copy will be added to the registration metadata.
Continue your registration by selecting a registration form:'
create: 'Create draft'
prereg_modal:
title: 'Preregistration Challenge'
@@ -918,9 +919,9 @@ collections:
project_contributors_title: 'Project contributors'
project_contributors_description: 'Updates made to this section will update the project.'
collection_metadata_title: 'Collection metadata'
- cancel: 'Cancel'
+ cancel: Cancel
add_button: 'Add to collection'
- update_button: 'Update'
+ update_button: Update
add_save_success: '{title} has been added to the collection.'
update_save_success: '{title} has been updated in the collection.'
add_save_error: 'Error adding {title} to the collection.'
@@ -1027,10 +1028,73 @@ registries:
removedModeratorError: 'Error removing {permission}'
updatedModeratorPermissionSuccess: 'Successfully updated {userName} to {permission}'
updatedModeratorPermissionError: 'Error updating permission to {permission}'
- notifications:
- title: 'Notifications'
+ settings:
+ title: 'Settings'
heading: 'Configure reviews notification preferences'
paragraph: 'To configure other notification preferences visit your user settings.'
+ bulkUpload: 'Bulk upload'
+ bulkUploadHelpText: 'Drag and drop the csv file that has the registration information to upload.'
+ dropCsvHere: 'Drop csv file here to upload'
+ uploadError: 'Upload error'
+ copyToClipboard: 'Copy to clipboard'
+ cell: 'Cell'
+ copyToClipboardSuccess: 'Successfully copied to clipboard.'
+ generalErrorMessage: 'Your file was not uploaded due to the errors listed below. Please correct the errors and try again. If you have any questions, please contact the help desk at support@osf.io.'
+ invalidSchemaId:
+ title: 'Invalid schema ID'
+ detail: 'The schema ID in this cell does not match with a registration template in our system. It’s likely this ID was manually edited after it was downloaded or the registration template is outdated. Contact the help desk at support@osf.io for the current ID or a new csv file.'
+ invalidColumnId:
+ title: 'Invalid column ID'
+ detail: 'This Column ID does not match with the ones used by this registration template. It’s likely it was manually edited after it was downloaded or the registration template is outdated. Contact the help desk at support@osf.io for the current ID or a new csv file. Invalid IDs: {invalidIds}. Missing IDs: {missingIds}.'
+ invalidProjectId:
+ title: 'Invalid project ID'
+ detail: 'This Project GUID does not exist. Check that each project’s GUID is accurate. Registrations that do not have a project should have a blank cell.'
+ invalidInstitutionName:
+ title: 'Invalid institution name'
+ detail: 'This affiliated institution name does not match our system. Check that the institution’s name is spelled correctly. Click here to view a list of currently active affiliated institutions.'
+ invalidLicenseName:
+ title: 'Invalid license name'
+ detail: 'This license does not match our system. It’s likely that the license is either spelled incorrectly, is not an option in our system, or formatted incorrectly. Click here to view a list of available licenses. See section “CSV Templates” in our Moderator’s Guide for more information on formatting specific licenses.'
+ invalidSubjectName:
+ title: 'Invalid subject name'
+ detail: 'This subject does not match our system. It’s likely it is spelled incorrectly. OSF uses the bepress taxonomy. Only the word or phase after the last colon needs to be entered.'
+ invalidCategoryName:
+ title: 'Invalid category name'
+ detail: 'This category does not exist. Check that the category is spelled currently. See section “Field Formatting” in the Moderator Guide for a list of categories. Categories can be edited after the registration is submitted.'
+ invalidResponse:
+ title: 'Invalid response'
+ detail: 'This response is not acceptable by the system. It’s likely that this is due to misspelling or having multiple answers for a single response question. See section “Field Formatting” in the Moderator Guide for more information.'
+ invalidContributors:
+ title: 'Invalid format for contributors'
+ detail: 'This contributors list does not match the system’s formatting requirements. Review the required formatting in the Moderator’s Manual. Contact the help desk at support@osf.io if this is not the issue.'
+ missingTitle:
+ title: 'Missing title'
+ detail: 'This title is missing. Check that each registration has a title.'
+ missingDescription:
+ title: 'Missing description'
+ detail: 'This description is missing. Enter a high level summary of the registration. This summary can be edited after the registration is submitted.'
+ missingAdminContributor:
+ title: 'Missing admin contributor'
+ detail: 'This registration doesn’t include an admin contributor. A registration requires at least one admin contributor to be submitted. See section “Field Formatting” in the Moderator Guide for more information on formatting contributors.'
+ missingBibliographicContributor:
+ title: 'Missing bibliographic contributor'
+ detail: 'This registration doesn’t have any bibliographic contributors. Registration must have at least one bibliographic contributors. See section “Field Formatting” in the Moderator Guide for information on formatting contributors.'
+ missingLicenseName:
+ title: 'Missing license name'
+ detail: 'This license is missing. Check that each registration has a license.'
+ missingSubjectName:
+ title: 'Missing subject name'
+ detail: 'This subject is missing. Check that each registration has a subject.'
+ sizeExceedsLimit:
+ title: 'File size exceeds limit'
+ detail: 'The csv file exceeds the 1MB limit. Break the file into multiple files and reupload them. Contact the Help Desk at support@osf.io if you have any questions.'
+ bulkUploadJobExists:
+ title: 'Bulk upload job already exists'
+ detail: 'This csv file was already uploaded into the system and cannot be re-uploaded.'
+ invalidFileType:
+ title: 'Invalid file type'
+ detail: 'Only csv files can be uploaded in the system. Convert the file into the csv format and reupload the document. Contact the Help Desk at support@osf.io if you have any questions.'
+ uploadSuccess: 'Successfully uploaded csv file.'
overview:
title: 'Moderated Overview'
new:
@@ -1124,6 +1188,8 @@ registries:
justification_description: 'Justification will be provided to admins and moderators upon review. Once approved, it will be displayed at the top of the registration.'
page_title: 'Update registration'
review:
+ justification_page_label: 'Justification'
+ no_justification: 'No justification provided.'
submit_changes: 'Submit changes'
accept_changes: 'Accept changes'
continue_editing: 'Continue editing'
@@ -1134,13 +1200,13 @@ registries:
action_submit_failed: 'Your decision was not recorded'
non_admin_warning: 'Only admins can submit an update.'
invalid_warning: 'Please address invalid or missing entries to complete update.'
- revised_responses_list:
- no_responses: 'No previous responses available.'
continue_edit_modal:
heading: 'Are you sure this needs more edits?'
warning: 'This will cancel any approvals from other admin contributors and return the registration back to its draft form for additional changes.'
reason: 'What additional changes need to be made and why?'
submit: 'Submit'
+
+
index:
lead: 'The open registries network'
see_example: 'See an example'
@@ -1440,16 +1506,18 @@ registries:
finalizeRegistrationModal:
title: 'Almost done...'
notice:
- noModerationFromProject: 'Remember:
Registrations cannot be modified or deleted once submitted.
Changes to any files (1) in the projects or components being registered, (2) uploaded or selected as prompt responses, including those connected through add-ons during archiving will result in archiving failure and loss of your registration timestamp. Please do not modify your files until after you have received email confirmation of archiving completion. If this registration has been archiving for more than 72 hours, please email support@osf.io for assistance.
The content and version history of Wiki and OSF Storage will be copied to the registration.
This project may contain links to other projects. These links will be copied into your registration, but the projects that they link to will not be registered. If you wish to register the linked projects, they must be registered separately. Learn more about links.
'
- withModerationFromProject: 'Remember:
Registrations cannot be modified or deleted once submitted.
Changes to any files (1) in the projects or components being registered, (2) uploaded or selected as prompt responses, including those connected through add-ons during archiving will result in archiving failure and loss of your registration timestamp. Please do not modify your files until after you have received email confirmation of archiving completion. If this registration has been archiving for more than 72 hours, please email support@osf.io for assistance.
The content and version history of Wiki and OSF Storage will be copied to the registration.
This project may contain links to other projects. These links will be copied into your registration, but the projects that they link to will not be registered. If you wish to register the linked projects, they must be registered separately. Learn more about links.
A moderator must review and approve your registration before it will be made public or embargoed.
'
- noModerationNoProject: 'Remember:
Registrations cannot be modified or deleted once submitted.
Changes to any files uploaded or selected as prompt responses will result in archiving failure and loss of your registration timestamp. If this registration has been archiving for more than 72 hours, email support@osf.io for assistance.
'
- withModerationNoProject: 'Remember:
Registrations cannot be modified or deleted once submitted.
Changes to any files uploaded or selected as prompt responses will result in archiving failure and loss of your registration timestamp. If this registration has been archiving for more than 72 hours, email support@osf.io for assistance.
A moderator must review and approve your registration before it will be made public or embargoed.
'
+ noModerationFromProject: 'Remember:
Registrations cannot be modified or deleted once submitted.
Changes to any files (1) in the projects or components being registered, (2) uploaded or selected as prompt responses, including those connected through add-ons during archiving will result in archiving failure and loss of your registration timestamp. Please do not modify your files until after you have received email confirmation of archiving completion. If this registration has been archiving for more than 72 hours, please email support@osf.io for assistance.
The content and version history of Wiki and OSF Storage will be copied to the registration.
This project may contain links to other projects. These links will be copied into your registration, but the projects that they link to will not be registered. If you wish to register the linked projects, they must be registered separately. Learn more about links.
Registrations are archived on Internet Archive and a link to the archived copy will be added to the registration metadata.
'
+ withModerationFromProject: 'Remember:
Registrations cannot be modified or deleted once submitted.
Changes to any files (1) in the projects or components being registered, (2) uploaded or selected as prompt responses, including those connected through add-ons during archiving will result in archiving failure and loss of your registration timestamp. Please do not modify your files until after you have received email confirmation of archiving completion. If this registration has been archiving for more than 72 hours, please email support@osf.io for assistance.
The content and version history of Wiki and OSF Storage will be copied to the registration.
This project may contain links to other projects. These links will be copied into your registration, but the projects that they link to will not be registered. If you wish to register the linked projects, they must be registered separately. Learn more about links.
A moderator must review and approve your registration before it will be made public or embargoed.
Registrations are archived on Internet Archive and a link to the archived copy will be added to the registration metadata.
'
+ noModerationNoProject: 'Remember:
Registrations cannot be modified or deleted once submitted.
Changes to any files uploaded or selected as prompt responses will result in archiving failure and loss of your registration timestamp. If this registration has been archiving for more than 72 hours, email support@osf.io for assistance.
Registrations are archived on Internet Archive and a link to the archived copy will be added to the registration metadata.
'
+ withModerationNoProject: 'Remember:
Registrations cannot be modified or deleted once submitted.
Changes to any files uploaded or selected as prompt responses will result in archiving failure and loss of your registration timestamp. If this registration has been archiving for more than 72 hours, email support@osf.io for assistance.
A moderator must review and approve your registration before it will be made public or embargoed.
Registrations are archived on Internet Archive and a link to the archived copy will be added to the registration metadata.