From 50ca0dbda87fd8b746f1d831b30bbd8eff13e647 Mon Sep 17 00:00:00 2001 From: Eric Wang Date: Sat, 11 Dec 2021 22:47:45 -0800 Subject: [PATCH 1/3] Remove UNSAFE componentWillMount. Removes user validation in each component, relying on the router in Huxley.js to validate user groups. --- huxley/www/js/components/AdvisorRosterView.js | 5 +---- huxley/www/js/components/AdvisorZoomLinkView.js | 13 ------------- huxley/www/js/components/ChairAttendanceView.js | 7 ------- .../js/components/ChairCommitteeFeedbackView.js | 8 -------- huxley/www/js/components/ChairDelegateEmailView.js | 7 ------- huxley/www/js/components/ChairFeedView.js | 9 +-------- huxley/www/js/components/ChairNoteView.js | 7 ------- huxley/www/js/components/ChairPapersView.js | 6 ------ huxley/www/js/components/ChairRubricView.js | 7 ------- huxley/www/js/components/ChairSummaryView.js | 7 ------- .../js/components/DelegateCommitteeFeedbackView.js | 7 ------- huxley/www/js/components/DelegateNoteView.js | 9 +-------- huxley/www/js/components/DelegateProfileView.js | 7 ------- huxley/www/js/components/Huxley.js | 14 -------------- huxley/www/js/components/LoginView.js | 10 ---------- 15 files changed, 3 insertions(+), 120 deletions(-) diff --git a/huxley/www/js/components/AdvisorRosterView.js b/huxley/www/js/components/AdvisorRosterView.js index fcbbafbc8..e965b7ef9 100644 --- a/huxley/www/js/components/AdvisorRosterView.js +++ b/huxley/www/js/components/AdvisorRosterView.js @@ -58,11 +58,8 @@ class AdvisorRosterView extends React.Component { }; } - UNSAFE_componentWillMount() { - Modal.setAppElement("body"); - } - componentDidMount() { + Modal.setAppElement("body"); var schoolID = CurrentUserStore.getCurrentUser().school.id; var conferenceID = global.conference.session; this._registrationToken = RegistrationStore.addListener(() => { diff --git a/huxley/www/js/components/AdvisorZoomLinkView.js b/huxley/www/js/components/AdvisorZoomLinkView.js index 979d4bbad..05f9800f5 100644 --- a/huxley/www/js/components/AdvisorZoomLinkView.js +++ b/huxley/www/js/components/AdvisorZoomLinkView.js @@ -6,17 +6,11 @@ "use strict"; import React from "react"; -import { history } from "utils/history"; -var { AssignmentStore } = require("stores/AssignmentStore"); const { Button } = require("components/core/Button"); -var { CountryStore } = require("stores/CountryStore"); var { CommitteeStore } = require("stores/CommitteeStore"); -var { CurrentUserStore } = require("stores/CurrentUserStore"); -var { DelegateStore } = require("stores/DelegateStore"); var { InnerView } = require("components/InnerView"); var { TextTemplate } = require("components/core/TextTemplate"); -var { User } = require("utils/User"); require("css/Table.less"); var AdvisorZoomLinkViewText = require("text/AdvisorZoomLinkViewText.md"); @@ -31,13 +25,6 @@ class AdvisorZoomLinkView extends React.Component { }; } - UNSAFE_componentWillMount() { - var user = CurrentUserStore.getCurrentUser(); - if (!User.isAdvisor(user)) { - history.redirect("/"); - } - } - componentDidMount() { this._committeesToken = CommitteeStore.addListener(() => { var committees = Object.values(CommitteeStore.getCommittees()); diff --git a/huxley/www/js/components/ChairAttendanceView.js b/huxley/www/js/components/ChairAttendanceView.js index e86dc5044..d4bd039f5 100644 --- a/huxley/www/js/components/ChairAttendanceView.js +++ b/huxley/www/js/components/ChairAttendanceView.js @@ -46,13 +46,6 @@ class ChairAttendanceView extends React.Component { }; } - UNSAFE_componentWillMount() { - var user = CurrentUserStore.getCurrentUser(); - if (!User.isChair(user)) { - history.redirect("/"); - } - } - componentDidMount() { var user = CurrentUserStore.getCurrentUser(); var attendance = this.state.attendance; diff --git a/huxley/www/js/components/ChairCommitteeFeedbackView.js b/huxley/www/js/components/ChairCommitteeFeedbackView.js index 1145d666c..1866aa3d1 100644 --- a/huxley/www/js/components/ChairCommitteeFeedbackView.js +++ b/huxley/www/js/components/ChairCommitteeFeedbackView.js @@ -13,7 +13,6 @@ const { CurrentUserStore } = require("stores/CurrentUserStore"); const { InnerView } = require("components/InnerView"); const { Table } = require("components/core/Table"); const { TextTemplate } = require("components/core/TextTemplate"); -const { User } = require("utils/User"); require("css/Table.less"); const ChairCommitteeFeedbackViewText = require("text/ChairCommitteeFeedbackViewText.md"); @@ -36,13 +35,6 @@ class ChairCommitteeFeedbackView extends React.Component { }); } - UNSAFE_componentWillMount() { - var user = CurrentUserStore.getCurrentUser(); - if (!User.isChair(user)) { - history.redirect("/"); - } - } - componentsWillUnmount() { this._committeeFeedbackToken && this._committeeFeedbackToken.remove(); } diff --git a/huxley/www/js/components/ChairDelegateEmailView.js b/huxley/www/js/components/ChairDelegateEmailView.js index 69ba8e0dc..682a7da9c 100644 --- a/huxley/www/js/components/ChairDelegateEmailView.js +++ b/huxley/www/js/components/ChairDelegateEmailView.js @@ -40,13 +40,6 @@ class ChairDelegateEmailView extends React.Component { }; } - UNSAFE_componentWillMount() { - var user = CurrentUserStore.getCurrentUser(); - if (!User.isChair(user)) { - history.redirect("/"); - } - } - componentDidMount() { var user = CurrentUserStore.getCurrentUser(); diff --git a/huxley/www/js/components/ChairFeedView.js b/huxley/www/js/components/ChairFeedView.js index 52f46757d..6cbe6fb99 100644 --- a/huxley/www/js/components/ChairFeedView.js +++ b/huxley/www/js/components/ChairFeedView.js @@ -9,7 +9,7 @@ import React from "react"; import { history } from "utils/history"; -import type { Assignment, Committee, Note } from "utils/types"; +import type { Assignment, Note } from "utils/types"; import { NoteFeedBox } from "./notes/NoteFeedBox"; const { AssignmentStore } = require("stores/AssignmentStore"); @@ -79,13 +79,6 @@ class ChairFeedView extends React.Component<{}, ChairFeedViewState> { }; } - UNSAFE_componentWillMount() { - var user = CurrentUserStore.getCurrentUser(); - if (!User.isChair(user)) { - history.redirect("/"); - } - } - componentDidMount() { this._conversationToken = NoteStore.addListener(() => { this.setState({ diff --git a/huxley/www/js/components/ChairNoteView.js b/huxley/www/js/components/ChairNoteView.js index 30729d4a3..2d9c1d6dc 100644 --- a/huxley/www/js/components/ChairNoteView.js +++ b/huxley/www/js/components/ChairNoteView.js @@ -82,13 +82,6 @@ class ChairNoteView extends React.Component<{}, ChairNoteViewState> { }; } - UNSAFE_componentWillMount() { - var user = CurrentUserStore.getCurrentUser(); - if (!User.isChair(user)) { - history.redirect("/"); - } - } - componentDidMount() { this._conversationToken = NoteStore.addListener(() => { this.setState({ diff --git a/huxley/www/js/components/ChairPapersView.js b/huxley/www/js/components/ChairPapersView.js index acff67920..183f728d9 100644 --- a/huxley/www/js/components/ChairPapersView.js +++ b/huxley/www/js/components/ChairPapersView.js @@ -65,12 +65,6 @@ class ChairPapersView extends React.Component { }; } - UNSAFE_componentWillMount() { - var user = CurrentUserStore.getCurrentUser(); - if (!User.isChair(user)) { - history.redirect("/"); - } - } componentDidMount() { var user = CurrentUserStore.getCurrentUser(); diff --git a/huxley/www/js/components/ChairRubricView.js b/huxley/www/js/components/ChairRubricView.js index b4ab5c532..6c90ed451 100644 --- a/huxley/www/js/components/ChairRubricView.js +++ b/huxley/www/js/components/ChairRubricView.js @@ -41,13 +41,6 @@ class ChairRubricView extends React.Component { }; } - UNSAFE_componentWillMount() { - var user = CurrentUserStore.getCurrentUser(); - if (!User.isChair(user)) { - history.redirect("/"); - } - } - componentDidMount() { this._committeesToken = CommitteeStore.addListener(() => { var user = CurrentUserStore.getCurrentUser(); diff --git a/huxley/www/js/components/ChairSummaryView.js b/huxley/www/js/components/ChairSummaryView.js index 755e607f0..23d1a58d4 100644 --- a/huxley/www/js/components/ChairSummaryView.js +++ b/huxley/www/js/components/ChairSummaryView.js @@ -51,13 +51,6 @@ class ChairSummaryView extends React.Component { }; } - UNSAFE_componentWillMount() { - var user = CurrentUserStore.getCurrentUser(); - if (!User.isChair(user)) { - history.redirect("/"); - } - } - componentDidMount() { var user = CurrentUserStore.getCurrentUser(); diff --git a/huxley/www/js/components/DelegateCommitteeFeedbackView.js b/huxley/www/js/components/DelegateCommitteeFeedbackView.js index 1ea974e97..bfd29a5bf 100644 --- a/huxley/www/js/components/DelegateCommitteeFeedbackView.js +++ b/huxley/www/js/components/DelegateCommitteeFeedbackView.js @@ -108,13 +108,6 @@ class DelegateCommitteeFeedbackView extends React.Component { }); } - UNSAFE_componentWillMount() { - var user = CurrentUserStore.getCurrentUser(); - if (!User.isDelegate(user)) { - history.redirect("/"); - } - } - componentWillUnmount() { this._committeeFeedbackToken && this._committeeFeedbackToken.remove(); this._secretariatMembersToken && this._secretariatMembersToken.remove(); diff --git a/huxley/www/js/components/DelegateNoteView.js b/huxley/www/js/components/DelegateNoteView.js index b3fd8f130..3682ea622 100644 --- a/huxley/www/js/components/DelegateNoteView.js +++ b/huxley/www/js/components/DelegateNoteView.js @@ -3,7 +3,7 @@ * Use of this source code is governed by a BSD License (see LICENSE). +*/ -//@flow +// @flow "use strict"; @@ -91,13 +91,6 @@ class DelegateNoteView extends React.Component<{}, DelegateNoteViewState> { }; } - UNSAFE_componentWillMount() { - var user = CurrentUserStore.getCurrentUser(); - if (!User.isDelegate(user)) { - history.redirect("/"); - } - } - componentDidMount() { this._conversationToken = NoteStore.addListener(() => { this.setState({ diff --git a/huxley/www/js/components/DelegateProfileView.js b/huxley/www/js/components/DelegateProfileView.js index 28ddfff13..2f20f73a4 100644 --- a/huxley/www/js/components/DelegateProfileView.js +++ b/huxley/www/js/components/DelegateProfileView.js @@ -34,13 +34,6 @@ class DelegateProfileView extends React.Component { }; } - UNSAFE_componentWillMount() { - var user = CurrentUserStore.getCurrentUser(); - if (!User.isDelegate(user)) { - history.redirect("/"); - } - } - render() { var user = CurrentUserStore.getCurrentUser(); var delegate = this.state.delegate; diff --git a/huxley/www/js/components/Huxley.js b/huxley/www/js/components/Huxley.js index 5e45631be..1c9c0bf88 100644 --- a/huxley/www/js/components/Huxley.js +++ b/huxley/www/js/components/Huxley.js @@ -58,20 +58,6 @@ require("css/JSWarning.less"); require("css/IEWarning.less"); class Huxley extends React.Component { - UNSAFE_componentWillMount() { - CurrentUserStore.addListener(() => { - var user = CurrentUserStore.getCurrentUser(); - if (User.isAnonymous(user)) { - history.redirect("/login"); - } else if (User.isAdvisor(user)) { - history.redirect("/advisor/profile"); - } else if (User.isChair(user)) { - history.redirect("/chair/attendance"); - } else if (User.isDelegate(user)) { - history.redirect("/delegate/profile"); - } - }); - } render() { var user = CurrentUserStore.getCurrentUser(); diff --git a/huxley/www/js/components/LoginView.js b/huxley/www/js/components/LoginView.js index d80de489a..d82c306c0 100644 --- a/huxley/www/js/components/LoginView.js +++ b/huxley/www/js/components/LoginView.js @@ -36,16 +36,6 @@ class LoginView extends React.Component { }; } - UNSAFE_componentWillMount() { - var user = CurrentUserStore.getCurrentUser(); - if (User.isAnonymous(user)) { - return; - } - if (User.isAdvisor(user)) { - history.redirect("/advisor/profile"); - } - } - render() { return ( From 141bac4cfa4673f4be38b20807b3153b2d00fa86 Mon Sep 17 00:00:00 2001 From: Eric Wang Date: Sat, 11 Dec 2021 22:53:02 -0800 Subject: [PATCH 2/3] remove componentWillMount --- huxley/www/js/components/DelegatePaperView.js | 7 ------- 1 file changed, 7 deletions(-) diff --git a/huxley/www/js/components/DelegatePaperView.js b/huxley/www/js/components/DelegatePaperView.js index 1ed783d8b..e11351065 100644 --- a/huxley/www/js/components/DelegatePaperView.js +++ b/huxley/www/js/components/DelegatePaperView.js @@ -48,13 +48,6 @@ class DelegatePaperView extends React.Component { }; } - UNSAFE_componentWillMount() { - var user = CurrentUserStore.getCurrentUser(); - if (!User.isDelegate(user)) { - history.redirect("/"); - } - } - componentDidMount() { this._papersToken = PositionPaperStore.addListener(() => { this.setState({ From 456d758b74ac1310841a83b598eb77e3b4408d51 Mon Sep 17 00:00:00 2001 From: Eric Wang Date: Sat, 11 Dec 2021 23:10:35 -0800 Subject: [PATCH 3/3] Redirect on logout and login --- huxley/www/js/components/Huxley.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/huxley/www/js/components/Huxley.js b/huxley/www/js/components/Huxley.js index 1c9c0bf88..48ae2666f 100644 --- a/huxley/www/js/components/Huxley.js +++ b/huxley/www/js/components/Huxley.js @@ -59,6 +59,21 @@ require("css/IEWarning.less"); class Huxley extends React.Component { + componentDidMount() { + CurrentUserStore.addListener(() => { + var user = CurrentUserStore.getCurrentUser(); + if (User.isAnonymous(user)) { + history.redirect("/login"); + } else if (User.isAdvisor(user)) { + history.redirect("/advisor/profile"); + } else if (User.isChair(user)) { + history.redirect("/chair/attendance"); + } else if (User.isDelegate(user)) { + history.redirect("/delegate/profile"); + } + }); + } + render() { var user = CurrentUserStore.getCurrentUser(); if (User.isAnonymous(user)) {