Skip to content

Commit

Permalink
Rename organisation to organization (#542)
Browse files Browse the repository at this point in the history
dockstore/dockstore#2005

The UI portion of the fix.
  • Loading branch information
coverbeck authored Feb 13, 2019
1 parent d5bcff0 commit d9ab341
Show file tree
Hide file tree
Showing 36 changed files with 235 additions and 235 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jdk:
- oraclejdk8
env:
global:
- WEBSERVICE_VERSION="1.6.0-alpha.4"
- WEBSERVICE_VERSION="1.6.0-alpha.6"
addons:
firefox: "latest"
postgresql: "9.6"
Expand Down
18 changes: 9 additions & 9 deletions cypress/integration/group1/dropdown.ts
Original file line number Diff line number Diff line change
Expand Up @@ -80,14 +80,14 @@ describe('Dropdown test', () => {
.server()
.route({
method: 'GET',
url: '/organisations/all?type=pending',
url: '/organizations/all?type=pending',
response: pendingOrganizations
});

// Logged in user has two memberships, one is not accepted
const memberships = [
{id: 1, role: 'MAINTAINER', accepted: false, organisation: { id: 1000, status: 'PENDING', name: 'orgOne'}},
{id: 2, role: 'MAINTAINER', accepted: true, organisation: { id: 1001, status: 'PENDING', name: 'orgTwo'}}
{id: 1, role: 'MAINTAINER', accepted: false, organization: { id: 1000, status: 'PENDING', name: 'orgOne'}},
{id: 2, role: 'MAINTAINER', accepted: true, organization: { id: 1001, status: 'PENDING', name: 'orgTwo'}}
];
cy
.server()
Expand All @@ -104,13 +104,13 @@ describe('Dropdown test', () => {
});

it('Should have two pending orgs', () => {
// Endpoint should return only one pending organisation after approval
// Endpoint should return only one pending organization after approval
const pendingOrganizations = [{ id: 1001, name: 'OrgTwo', status: 'PENDING' }];
cy
.server()
.route({
method: 'GET',
url: '/organisations/all?type=pending',
url: '/organizations/all?type=pending',
response: pendingOrganizations
});

Expand All @@ -119,7 +119,7 @@ describe('Dropdown test', () => {
.server()
.route({
method: 'POST',
url: '/organisations/1000/approve',
url: '/organizations/1000/approve',
response: []
});

Expand All @@ -143,14 +143,14 @@ describe('Dropdown test', () => {
.server()
.route({
method: 'POST',
url: '/organisations/1000/invitation?accept=true',
url: '/organizations/1000/invitation?accept=true',
response: []
});

// Membership should have two accepted entries
const memberships = [
{ id: 1, role: 'MAINTAINER', accepted: true, organisation: { id: 1000, status: 'PENDING', name: 'orgOne' }},
{ id: 2, role: 'MAINTAINER', accepted: true, organisation: { id: 1001, status: 'PENDING', name: 'orgTwo' }}
{ id: 1, role: 'MAINTAINER', accepted: true, organization: { id: 1000, status: 'PENDING', name: 'orgOne' }},
{ id: 2, role: 'MAINTAINER', accepted: true, organization: { id: 1001, status: 'PENDING', name: 'orgTwo' }}
];
cy
.server()
Expand Down
2 changes: 1 addition & 1 deletion cypress/integration/group3/organizations.ts
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ describe('Dockstore Organizations', () => {
it('be able to see collection information', () => {
cy.visit('/organizations/1/collections/1');
cy.contains('veryFakeCollectionName').click();
// Should retrieve the organisation
// Should retrieve the organization
cy.contains('Potatoe');

// Should retrieve the collection
Expand Down
2 changes: 1 addition & 1 deletion cypress/support/commands.ts
Original file line number Diff line number Diff line change
Expand Up @@ -72,5 +72,5 @@ export function goToUnexpandedSidebarEntry(organization: string, repo: (RegExp |
}

export function approvePotatoMembership() {
cy.exec('psql -c \'update organisation_user set accepted=true where userid=2 and organisationid=1\' webservice_test -U dockstore');
cy.exec('psql -c \'update organization_user set accepted=true where userid=2 and organizationid=1\' webservice_test -U dockstore');
}
36 changes: 18 additions & 18 deletions src/app/loginComponents/requests/requests.component.html
Original file line number Diff line number Diff line change
Expand Up @@ -70,26 +70,26 @@ <h3>My Pending Requests</h3>
<mat-card *ngFor="let membership of (myPendingOrganizationRequests$ | async); let i = index" [id]="'my-pending-org-card-' + i">
<mat-card-header>
<mat-card-title>
<a [routerLink]="('/organizations/' + membership.organisation.id )">{{membership.organisation.name}}</a>
<a [routerLink]="('/organizations/' + membership.organization.id )">{{membership.organization.name}}</a>
</mat-card-title>
<mat-card-subtitle>
Requested on {{ membership.dbCreateDate | date}}
</mat-card-subtitle>
</mat-card-header>
<mat-card-content class="px-4">
{{ membership.organisation.topic }}
{{ membership.organization.topic }}
<div fxLayout="row" fxLayoutGap="10px">
<span fxLayout="row" *ngIf="membership?.organisation?.email">
<span fxLayout="row" *ngIf="membership?.organization?.email">
<mat-icon>email</mat-icon>
<span><a [href]="'mailto:' + membership.organisation.email" target="_top">{{ membership.organisation.email }}</a></span>
<span><a [href]="'mailto:' + membership.organization.email" target="_top">{{ membership.organization.email }}</a></span>
</span>
<span fxLayout="row" *ngIf="membership?.organisation?.link">
<span fxLayout="row" *ngIf="membership?.organization?.link">
<mat-icon>link</mat-icon>
<span><a [href]="membership.organisation.link" target="_blank">{{ membership.organisation.link }}</a></span>
<span><a [href]="membership.organization.link" target="_blank">{{ membership.organization.link }}</a></span>
</span>
<span fxLayout="row" *ngIf="membership?.organisation?.location">
<span fxLayout="row" *ngIf="membership?.organization?.location">
<mat-icon>location_on</mat-icon>
<span class="ellipsis-lines">{{ membership.organisation.location }}</span>
<span class="ellipsis-lines">{{ membership.organization.location }}</span>
</span>
</div>
</mat-card-content>
Expand All @@ -109,36 +109,36 @@ <h3>Organization Invites</h3>
<mat-card *ngFor="let membership of (myOrganizationInvites$ | async); let i = index" [id]="'my-org-invites-card-' + i">
<mat-card-header>
<mat-card-title>
<a [routerLink]="('/organizations/' + membership.organisation.id )">{{membership.organisation.name}}</a>
<a [routerLink]="('/organizations/' + membership.organization.id )">{{membership.organization.name}}</a>
</mat-card-title>
<mat-card-subtitle>
Requested on {{ membership.dbCreateDate | date}}
</mat-card-subtitle>
</mat-card-header>
<mat-card-content class="px-4">
{{ membership.organisation.topic }}
{{ membership.organization.topic }}
<div fxLayout="row" fxLayoutGap="10px">
<span fxLayout="row" *ngIf="membership?.organisation?.email">
<span fxLayout="row" *ngIf="membership?.organization?.email">
<mat-icon>email</mat-icon>
<span><a [href]="'mailto:' + membership.organisation.email" target="_top">{{ membership.organisation.email }}</a></span>
<span><a [href]="'mailto:' + membership.organization.email" target="_top">{{ membership.organization.email }}</a></span>
</span>
<span fxLayout="row" *ngIf="membership?.organisation?.link">
<span fxLayout="row" *ngIf="membership?.organization?.link">
<mat-icon>link</mat-icon>
<span><a [href]="membership.organisation.link" target="_blank">{{ membership.organisation.link }}</a></span>
<span><a [href]="membership.organization.link" target="_blank">{{ membership.organization.link }}</a></span>
</span>
<span fxLayout="row" *ngIf="membership?.organisation?.location">
<span fxLayout="row" *ngIf="membership?.organization?.location">
<mat-icon>location_on</mat-icon>
<span class="ellipsis-lines">{{ membership.organisation.location }}</span>
<span class="ellipsis-lines">{{ membership.organization.location }}</span>
</span>
</div>
You have been invited to join the organization with the role <strong>{{ membership.role | lowercase }}</strong>.
</mat-card-content>
<mat-card-actions>
<div fxFlex></div>
<button mat-flat-button class="mr-1" [id]="'reject-invite-org-' + i" (click)="openInviteDialog(membership.organisation.name, membership.organisation.id, false)">
<button mat-flat-button class="mr-1" [id]="'reject-invite-org-' + i" (click)="openInviteDialog(membership.organization.name, membership.organization.id, false)">
<mat-icon>clear</mat-icon>Decline
</button>
<button mat-flat-button color="primary" [id]="'accept-invite-org-' + i" (click)="openInviteDialog(membership.organisation.name, membership.organisation.id, true)">
<button mat-flat-button color="primary" [id]="'accept-invite-org-' + i" (click)="openInviteDialog(membership.organization.name, membership.organization.id, true)">
<mat-icon>done</mat-icon>Accept
</button>
</mat-card-actions>
Expand Down
8 changes: 4 additions & 4 deletions src/app/loginComponents/requests/requests.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { Component, OnInit, Inject } from '@angular/core';
import { RequestsService } from '../state/requests.service';
import { RequestsQuery } from '../state/requests.query';
import { Observable } from 'rxjs';
import { Organisation, OrganisationUser } from '../../shared/swagger';
import { Organization, OrganizationUser } from '../../shared/swagger';
import {MatDialog, MatDialogRef, MAT_DIALOG_DATA} from '@angular/material';
import { UserQuery } from '../../shared/user/user.query';

Expand Down Expand Up @@ -51,9 +51,9 @@ export interface DialogData {
styleUrls: ['./requests.component.scss']
})
export class RequestsComponent implements OnInit {
public allPendingOrganizations$: Observable<Array<Organisation>>;
public myOrganizationInvites$: Observable<Array<OrganisationUser>>;
public myPendingOrganizationRequests$: Observable<Array<OrganisationUser>>;
public allPendingOrganizations$: Observable<Array<Organization>>;
public myOrganizationInvites$: Observable<Array<OrganizationUser>>;
public myPendingOrganizationRequests$: Observable<Array<OrganizationUser>>;
isLoading$: Observable<boolean>;
currentOrgId: number;
isAdmin$: Observable<boolean>;
Expand Down
10 changes: 5 additions & 5 deletions src/app/loginComponents/state/requests.query.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@ import { Injectable } from '@angular/core';
import { QueryEntity } from '@datorama/akita';
import { RequestsStore, RequestsState } from './requests.store';
import { Request } from './request.model';
import { Organisation, OrganisationUser } from '../../shared/swagger';
import { Organization, OrganizationUser } from '../../shared/swagger';
import { Observable } from 'rxjs';

@Injectable({
providedIn: 'root'
})
export class RequestsQuery extends QueryEntity<RequestsState, Request> {
allPendingOrganizations$: Observable<Array<Organisation>> = this.select(state => state.allPendingOrganizations);
myMemberships$: Observable<Array<OrganisationUser>> = this.select(state => state.myMemberships);
myOrganizationInvites$: Observable<Array<OrganisationUser>> = this.select(state => state.myOrganizationInvites);
myPendingOrganizationRequests$: Observable<Array<OrganisationUser>> = this.select(state => state.myPendingOrganizationRequests);
allPendingOrganizations$: Observable<Array<Organization>> = this.select(state => state.allPendingOrganizations);
myMemberships$: Observable<Array<OrganizationUser>> = this.select(state => state.myMemberships);
myOrganizationInvites$: Observable<Array<OrganizationUser>> = this.select(state => state.myOrganizationInvites);
myPendingOrganizationRequests$: Observable<Array<OrganizationUser>> = this.select(state => state.myPendingOrganizationRequests);
isLoading$: Observable<boolean> = this.selectLoading();

constructor(protected store: RequestsStore) {
Expand Down
30 changes: 15 additions & 15 deletions src/app/loginComponents/state/requests.service.ts
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
import { Injectable } from '@angular/core';
import { RequestsStore, RequestsState } from './requests.store';
import { AlertService } from '../../shared/alert/state/alert.service';
import { Organisation, OrganisationsService, UsersService, OrganisationUser, User } from '../../shared/swagger';
import { Organization, OrganizationsService, UsersService, OrganizationUser, User } from '../../shared/swagger';
import { finalize } from 'rxjs/operators';

@Injectable({ providedIn: 'root' })
export class RequestsService {

constructor(private requestsStore: RequestsStore, private alertService: AlertService,
private organisationsService: OrganisationsService, private usersService: UsersService) {
private organizationsService: OrganizationsService, private usersService: UsersService) {
}

/**
* Updates the list of organizations that the curator can approve or reject
*/
updateCuratorOrganizations(): void {
this.alertService.start('Getting pending organizations');
this.organisationsService.getAllOrganisations('pending').pipe(
this.organizationsService.getAllOrganizations('pending').pipe(
finalize(() => this.requestsStore.setLoading(false)
))
.subscribe((allPendingOrganizations: Array<Organisation>) => {
.subscribe((allPendingOrganizations: Array<Organization>) => {
this.updateOrganizationState(allPendingOrganizations);
this.alertService.simpleSuccess();
}, () => {
Expand All @@ -35,10 +35,10 @@ export class RequestsService {
*/
approveOrganization(id: number): void {
this.alertService.start('Approving organization ' + id);
this.organisationsService.approveOrganisation(id, null, null).pipe(
this.organizationsService.approveOrganization(id, null, null).pipe(
finalize(() => this.requestsStore.setLoading(false)
))
.subscribe((organization: Organisation) => {
.subscribe((organization: Organization) => {
this.alertService.simpleSuccess();
this.updateCuratorOrganizations();
}, () => {
Expand All @@ -54,10 +54,10 @@ export class RequestsService {
*/
rejectOrganization(id: number): void {
this.alertService.start('Rejected organization ' + id);
this.organisationsService.rejectOrganisation(id, null, null).pipe(
this.organizationsService.rejectOrganization(id, null, null).pipe(
finalize(() => this.requestsStore.setLoading(false)
))
.subscribe((organization: Organisation) => {
.subscribe((organization: Organization) => {
this.alertService.simpleSuccess();
this.updateCuratorOrganizations();
}, () => {
Expand All @@ -71,7 +71,7 @@ export class RequestsService {
* Updates the list of pending organizations
* @param allPendingOrganizations Newly updated list of pending organizations
*/
updateOrganizationState(allPendingOrganizations: Array<Organisation>): void {
updateOrganizationState(allPendingOrganizations: Array<Organization>): void {
this.requestsStore.setState((state: RequestsState) => {
return {
...state,
Expand All @@ -81,16 +81,16 @@ export class RequestsService {
}

/**
* Updates the list of memberships (OrganisationUser) for the logged in user
* Updates the list of memberships (OrganizationUser) for the logged in user
*/
updateMyMemberships(): void {
this.alertService.start('Getting my memberships');
this.usersService.getUserMemberships().pipe(
finalize(() => this.requestsStore.setLoading(false)
))
.subscribe((myMemberships: Array<OrganisationUser>) => {
.subscribe((myMemberships: Array<OrganizationUser>) => {
const myOrganizationInvites = myMemberships.filter(membership => !membership.accepted);
const myPendingOrganizationRequests = myMemberships.filter(membership => membership.organisation.status === 'PENDING'
const myPendingOrganizationRequests = myMemberships.filter(membership => membership.organization.status === 'PENDING'
&& membership.accepted);
this.updateMyMembershipState(myMemberships, myOrganizationInvites, myPendingOrganizationRequests);
this.alertService.simpleSuccess();
Expand All @@ -107,8 +107,8 @@ export class RequestsService {
* @param myOrganizationInvites
* @param myPendingOrganizationRequests
*/
updateMyMembershipState(myMemberships: Array<OrganisationUser>, myOrganizationInvites: Array<OrganisationUser>,
myPendingOrganizationRequests: Array<OrganisationUser>): void {
updateMyMembershipState(myMemberships: Array<OrganizationUser>, myOrganizationInvites: Array<OrganizationUser>,
myPendingOrganizationRequests: Array<OrganizationUser>): void {
this.requestsStore.setState((state: RequestsState) => {
return {
...state,
Expand All @@ -126,7 +126,7 @@ export class RequestsService {
*/
acceptOrRejectOrganizationInvite(id: number, accept: boolean): void {
this.alertService.start('Approving organization ' + id);
this.organisationsService.acceptOrRejectInvitation(id, accept).pipe(
this.organizationsService.acceptOrRejectInvitation(id, accept).pipe(
finalize(() => this.requestsStore.setLoading(false)
))
.subscribe((user: User) => {
Expand Down
10 changes: 5 additions & 5 deletions src/app/loginComponents/state/requests.store.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { Injectable } from '@angular/core';
import { EntityState, EntityStore, StoreConfig } from '@datorama/akita';
import { Request } from './request.model';
import { Organisation, OrganisationUser } from '../../shared/swagger';
import { Organization, OrganizationUser } from '../../shared/swagger';

export interface RequestsState extends EntityState<Request> {
allPendingOrganizations: Array<Organisation>;
myMemberships: Array<OrganisationUser>;
myOrganizationInvites: Array<OrganisationUser>;
myPendingOrganizationRequests: Array<OrganisationUser>;
allPendingOrganizations: Array<Organization>;
myMemberships: Array<OrganizationUser>;
myOrganizationInvites: Array<OrganizationUser>;
myPendingOrganizationRequests: Array<OrganizationUser>;
}

export function createInitialState(): RequestsState {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ <h1 mat-dialog-title>Add to collection</h1>
</mat-card>
</ng-template>
<mat-form-field *ngIf="memberships && memberships.length > 0; else noMemberships">
<mat-select id="selectOrganization" placeholder="Organization" [(value)]="selectedOrganisationId" (selectionChange)="onOrganisationChange($event)">
<mat-option *ngFor="let membership of memberships" [value]="membership.organisation.id">
{{membership.organisation.name}}
<mat-select id="selectOrganization" placeholder="Organization" [(value)]="selectedOrganizationId" (selectionChange)="onOrganizationChange($event)">
<mat-option *ngFor="let membership of memberships" [value]="membership.organization.id">
{{membership.organization.name}}
</mat-option>
</mat-select>
</mat-form-field>
Expand All @@ -22,8 +22,8 @@ <h1 mat-dialog-title>Add to collection</h1>
<mat-icon>info</mat-icon> The selected organization has no collections
</mat-card>
</ng-template>
<mat-form-field id="selectCollection" *ngIf="selectedOrganisationId && collections && collections.length > 0; else noCollections">
<mat-select placeholder="Collection" [(value)]="selectedCollectionId" [disabled]="!selectedOrganisationId">
<mat-form-field id="selectCollection" *ngIf="selectedOrganizationId && collections && collections.length > 0; else noCollections">
<mat-select placeholder="Collection" [(value)]="selectedCollectionId" [disabled]="!selectedOrganizationId">
<mat-option *ngFor="let collection of collections" [value]="collection.id">
{{collection.name}}
</mat-option>
Expand All @@ -36,7 +36,7 @@ <h1 mat-dialog-title>Add to collection</h1>

<div mat-dialog-actions fxLayout="row" fxLayoutAlign="end center" fxLayoutGap="10px">
<button mat-button id="closeDialogButton" (click)="closeDialog()">Close</button>
<button mat-flat-button id="addEntryToCollectionButton" [mat-dialog-close]="selectedCollectionId" color="primary" [disabled]="!selectedOrganisationId || !selectedCollectionId" (click)="addToCollection()">
<button mat-flat-button id="addEntryToCollectionButton" [mat-dialog-close]="selectedCollectionId" color="primary" [disabled]="!selectedOrganizationId || !selectedCollectionId" (click)="addToCollection()">
<mat-icon>add</mat-icon>Add to collection
</button>
</div>
Loading

0 comments on commit d9ab341

Please sign in to comment.