Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
</OsfLink>
{{/if}}
</h3>
{{#if (eq @state 'revision_pending_moderation')}}
{{#if (eq @state 'pending_moderation')}}
<Registries::ReviewActionsList @revision={{this.latestRevision}} />
{{else}}
<Registries::ReviewActionsList @registration={{@registration}}/>
Expand Down
2 changes: 1 addition & 1 deletion lib/registries/addon/branded/moderation/index/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ import Route from '@ember/routing/route';

export default class BrandedModerationIndexRoute extends Route {
beforeModel() {
this.replaceWith('branded.moderation.submissions');
this.replaceWith('branded.moderation.pending');
}
}
21 changes: 21 additions & 0 deletions lib/registries/addon/branded/moderation/pending/controller.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import Controller from '@ember/controller';
import { action } from '@ember/object';
import { tracked } from '@glimmer/tracking';

import { RegistrationReviewStates } from 'ember-osf-web/models/registration';
import { RevisionReviewStates } from 'ember-osf-web/models/schema-response';

type PendingStates =
RegistrationReviewStates.Pending |
RegistrationReviewStates.PendingWithdrawRequest |
RevisionReviewStates.RevisionPendingModeration;
export default class RegistriesModerationPendingController extends Controller {
queryParams = ['state'];

@tracked state?: PendingStates;

@action
changeTab(tab: PendingStates) {
this.state = tab;
}
}
38 changes: 38 additions & 0 deletions lib/registries/addon/branded/moderation/pending/route.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import { action } from '@ember/object';
import Transition from '@ember/routing/-private/transition';
import Route from '@ember/routing/route';
import { inject as service } from '@ember/service';

import { RegistrationReviewStates } from 'ember-osf-web/models/registration';
import RegistrationProviderModel from 'ember-osf-web/models/registration-provider';
import { RevisionReviewStates } from 'ember-osf-web/models/schema-response';
import Analytics from 'ember-osf-web/services/analytics';

import RegistriesModerationPendingController from './controller';

export default class BrandedModerationPendingRoute extends Route {
@service analytics!: Analytics;

setupController(
controller: RegistriesModerationPendingController,
model: RegistrationProviderModel,
transition: Transition,
) {
super.setupController(controller, model, transition);
const { state } = controller;
if (!state
|| ![
RegistrationReviewStates.Pending,
RegistrationReviewStates.PendingWithdraw,
RevisionReviewStates.RevisionPendingModeration,
].includes(state!)) {
controller.set('state', 'pending');
this.replaceWith('branded.moderation.pending');
}
}

@action
didTransition() {
this.analytics.trackPage();
}
}
52 changes: 52 additions & 0 deletions lib/registries/addon/branded/moderation/pending/template.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
{{page-title (t 'registries.moderation.pending.title') prepend=false}}
{{!-- TODO: Add number of registrations in each state in tab --}}
<Registries::RegistrationList::Manager
local-class='registrationListContainer'
@provider={{this.model}}
@state={{this.state}}
as |manager|
>
<div local-class='tabSortingWrapper'>
<div local-class='tabs'>
<button
data-test-submissions-type='pending'
data-test-is-selected={{if (eq this.state 'pending') 'true' 'false'}}
type='button'
{{on 'click' (fn this.changeTab 'pending')}}
local-class='tab {{if (eq this.state 'pending') 'selected'}}'
>
<FaIcon @icon='hourglass' />
{{t 'registries.moderation.states.pending'}}
</button>
{{#if this.model.allowUpdates}}
<button
data-test-submissions-type='revision-pending'
data-test-is-selected={{if (eq this.state 'pending_moderation') 'true' 'false'}}
type='button'
{{on 'click' (fn this.changeTab 'pending_moderation')}}
local-class='tab {{if (eq this.state 'pending_moderation') 'selected'}}'
>
<FaIcon @icon='hourglass' />
{{t 'registries.moderation.states.revisionPending'}}
</button>
{{/if}}
<button
data-test-submissions-type='pending-withdraw'
data-test-is-selected={{if (eq this.state 'pending_withdraw') 'true' 'false'}}
type='button'
{{on 'click' (fn this.changeTab 'pending_withdraw')}}
local-class='tab {{if (eq this.state 'pending_withdraw') 'selected'}}'
>
<FaIcon @icon='clock' />
{{t 'registries.moderation.states.pendingWithdraw'}}
</button>
</div>
<SortButton
local-class='sortButton'
@sortAction={{manager.sortRegistrationsBy}}
@sort={{manager.sort}}
@sortBy='date_registered'
/>
</div>
<Registries::RegistrationList::List @manager={{manager}} />
</Registries::RegistrationList::Manager>
16 changes: 0 additions & 16 deletions lib/registries/addon/branded/moderation/submissions/controller.ts

This file was deleted.

22 changes: 22 additions & 0 deletions lib/registries/addon/branded/moderation/submitted/controller.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import Controller from '@ember/controller';
import { action } from '@ember/object';
import { tracked } from '@glimmer/tracking';

import { RegistrationReviewStates } from 'ember-osf-web/models/registration';

type SubmittedStates =
RegistrationReviewStates.Accepted |
RegistrationReviewStates.Embargo |
RegistrationReviewStates.Withdrawn |
RegistrationReviewStates.Rejected;

export default class RegistriesModerationSubmittedController extends Controller {
queryParams = ['state'];

@tracked state?: SubmittedStates;

@action
changeTab(tab: SubmittedStates) {
this.state = tab;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,29 +7,27 @@ import { RegistrationReviewStates } from 'ember-osf-web/models/registration';
import RegistrationProviderModel from 'ember-osf-web/models/registration-provider';
import Analytics from 'ember-osf-web/services/analytics';

import RegistriesModerationSubmissionController from './controller';
import RegistriesModerationSubmittedController from './controller';

export default class BrandedModerationSubmissionsRoute extends Route {
export default class BrandedModerationSubmittedRoute extends Route {
@service analytics!: Analytics;

setupController(
controller: RegistriesModerationSubmissionController,
controller: RegistriesModerationSubmittedController,
model: RegistrationProviderModel,
transition: Transition,
) {
super.setupController(controller, model, transition);
const { state } = controller;
if (!state
|| ![
RegistrationReviewStates.Pending,
RegistrationReviewStates.Accepted,
RegistrationReviewStates.Embargo,
RegistrationReviewStates.Rejected,
RegistrationReviewStates.Withdrawn,
RegistrationReviewStates.PendingWithdraw,
].includes(state!)) {
controller.set('state', 'pending');
this.replaceWith('branded.moderation.submissions');
controller.set('state', RegistrationReviewStates.Accepted);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The default for the submission tab was to show pending registrations. Is this now changed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Submitted tab doesn't show pending registrations anymore, so I've changed it to Accepted

this.replaceWith('branded.moderation.submitted');
}
}

Expand Down
50 changes: 50 additions & 0 deletions lib/registries/addon/branded/moderation/submitted/styles.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
.contentBorder {
composes: childNav from '../styles.scss';
}

.registrationListContainer {
ul {
margin: 0;
border: 1px solid $color-border-gray;
}

li {
background-color: initial;
border-left: 0;
border-right: 0;
border-top: 0;
}

li:last-of-type {
border-bottom: 0;
}
}

.tabSortingWrapper {
display: flex;
flex-direction: row;
justify-content: space-between;
font-size: 15px;
background-color: $color-bg-gray-light;
border-bottom: 1px solid $color-border-gray;
padding: 10px 20px;
}

.tabs {
position: relative;
}

.tab {
height: 30px;
border: 0;
background: none;

&.selected {
font-weight: 700;
position: relative;
}
}

.sortButton {
margin-right: 15px;
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{{page-title (t 'registries.moderation.submissions.title') prepend=false}}
{{page-title (t 'registries.moderation.submitted.title') prepend=false}}
{{!-- TODO: Add number of registrations in each state in tab --}}
<Registries::RegistrationList::Manager
local-class='registrationListContainer'
Expand All @@ -8,28 +8,6 @@
>
<div local-class='tabSortingWrapper'>
<div local-class='tabs'>
<button
data-test-submissions-type='pending'
data-test-is-selected={{if (eq this.state 'pending') 'true' 'false'}}
type='button'
{{on 'click' (fn this.changeTab 'pending')}}
local-class='tab {{if (eq this.state 'pending') 'selected'}}'
>
<FaIcon @icon='hourglass' />
{{t 'registries.moderation.states.pending'}}
</button>
{{#if this.model.allowUpdates}}
<button
data-test-submissions-type='revision-pending'
data-test-is-selected={{if (eq this.state 'revision_pending_moderation') 'true' 'false'}}
type='button'
{{on 'click' (fn this.changeTab 'revision_pending_moderation')}}
local-class='tab {{if (eq this.state 'revision_pending_moderation') 'selected'}}'
>
<FaIcon @icon='hourglass' />
{{t 'registries.moderation.states.revisionPending'}}
</button>
{{/if}}
<button
data-test-submissions-type='accepted'
data-test-is-selected={{if (eq this.state 'accepted') 'true' 'false'}}
Expand Down Expand Up @@ -70,16 +48,6 @@
<FaIcon @icon='ban' />
{{t 'registries.moderation.states.withdrawn'}}
</button>
<button
data-test-submissions-type='pending-withdraw'
data-test-is-selected={{if (eq this.state 'pending_withdraw') 'true' 'false'}}
type='button'
{{on 'click' (fn this.changeTab 'pending_withdraw')}}
local-class='tab {{if (eq this.state 'pending_withdraw') 'selected'}}'
>
<FaIcon @icon='clock' />
{{t 'registries.moderation.states.pendingWithdraw'}}
</button>
</div>
<SortButton
local-class='sortButton'
Expand Down
18 changes: 14 additions & 4 deletions lib/registries/addon/branded/moderation/template.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,23 @@
<layout.main local-class='main'>
{{!-- TODO: add pending count in Submissions and Withdrawals tab --}}
<BsNav local-class='mainNav' @type='tabs' as |nav|>
{{#let 'registries.branded.moderation.submissions' as |submissionsRoute|}}
<nav.item @active={{eq this.target.currentRouteName submissionsRoute}}>
{{#let 'registries.branded.moderation.submitted' as |submittedRoute|}}
<nav.item @active={{eq this.target.currentRouteName submittedRoute}}>
<OsfLink
@route={{submissionsRoute}}
@route={{submittedRoute}}
@models={{array this.model.id}}
>
{{t 'registries.moderation.submissions.title'}}
{{t 'registries.moderation.submitted.title'}}
</OsfLink>
</nav.item>
{{/let}}
{{#let 'registries.branded.moderation.pending' as |pendingRoute|}}
<nav.item @active={{eq this.target.currentRouteName pendingRoute}}>
<OsfLink
@route={{pendingRoute}}
@models={{array this.model.id}}
>
{{t 'registries.moderation.pending.title'}}
</OsfLink>
</nav.item>
{{/let}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ export default class MakeDecisionDropdown extends Component<Args> {
this.toast.success(this.intl.t('registries.makeDecisionDropdown.success'));
if (this.decisionTrigger === ReviewActionTrigger.RejectSubmission) {
this.router.transitionTo(
'registries.branded.moderation.submissions',
'registries.branded.moderation.submitted',
this.args.registration.provider.get('id'),
{ queryParams: { state: RegistrationReviewStates.Rejected } },
);
Expand Down
3 changes: 2 additions & 1 deletion lib/registries/addon/routes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ export default buildRoutes(function() {
this.route('discover');
this.route('new');
this.route('moderation', function() {
this.route('submissions');
this.route('submitted');
this.route('pending');
this.route('moderators');
this.route('settings');
});
Expand Down
Loading