diff --git a/client/coral-embed-stream/src/components/Embed.js b/client/coral-embed-stream/src/components/Embed.js
index 0d26cf740..331cfd9a1 100644
--- a/client/coral-embed-stream/src/components/Embed.js
+++ b/client/coral-embed-stream/src/components/Embed.js
@@ -9,7 +9,6 @@ import Stream from '../containers/Stream';
import Count from 'coral-plugin-comment-count/CommentCount';
import UserBox from 'coral-sign-in/components/UserBox';
import ProfileContainer from 'coral-settings/containers/ProfileContainer';
-import RestrictedContent from 'coral-framework/components/RestrictedContent';
import ConfigureStreamContainer from 'coral-configure/containers/ConfigureStreamContainer';
export default class Embed extends React.Component {
@@ -68,10 +67,8 @@ export default class Embed extends React.Component {
-
- { loggedIn ? userBox : null }
-
-
+ { loggedIn ? userBox : null }
+
diff --git a/client/coral-embed-stream/src/components/Stream.js b/client/coral-embed-stream/src/components/Stream.js
index 2297a295b..6c84dd1ea 100644
--- a/client/coral-embed-stream/src/components/Stream.js
+++ b/client/coral-embed-stream/src/components/Stream.js
@@ -9,8 +9,8 @@ import {ModerationLink} from 'coral-plugin-moderation';
import CommentBox from 'coral-plugin-commentbox/CommentBox';
import QuestionBox from 'coral-plugin-questionbox/QuestionBox';
import IgnoredCommentTombstone from './IgnoredCommentTombstone';
-import SuspendedAccount from 'coral-framework/components/SuspendedAccount';
-import RestrictedContent from 'coral-framework/components/RestrictedContent';
+import SuspendedAccount from './SuspendedAccount';
+import RestrictedMessageBox from 'coral-framework/components/RestrictedMessageBox';
import ChangeUsernameContainer
from 'coral-sign-in/containers/ChangeUsernameContainer';
@@ -49,6 +49,7 @@ class Stream extends React.Component {
: comment;
const banned = user && user.status === 'BANNED';
+ const temporarilySuspended = user && user.suspension.until && new Date(user.suspension.until) > new Date();
const hasOlderComments = !!(asset &&
asset.lastComment &&
@@ -72,32 +73,35 @@ class Stream extends React.Component {
content={asset.settings.questionBoxContent}
enable={asset.settings.questionBoxEnable}
/>
-
+ In accordance with <organization name>'s Community Guidlines,
+ you have been temporarily suspended. You can rejoin the conversation
+ with our community in x hours.
+
+ }
+ {banned &&
+
+ }
+ {loggedIn && !banned &&
+
- }
- >
- {user
- ?
- : null}
-
+ }
:
{asset.settings.closedMessage}
}
{!loggedIn &&
diff --git a/client/coral-framework/components/RestrictedContent.css b/client/coral-embed-stream/src/components/SuspendAccount.css
similarity index 67%
rename from client/coral-framework/components/RestrictedContent.css
rename to client/coral-embed-stream/src/components/SuspendAccount.css
index ca5a6517c..f491ea889 100644
--- a/client/coral-framework/components/RestrictedContent.css
+++ b/client/coral-embed-stream/src/components/SuspendAccount.css
@@ -1,8 +1,3 @@
-.message {
- background: #D8D8D8;
- padding: 25px;
-}
-
.editNameInput {
margin-top: 10px;
margin-bottom: 10px;
diff --git a/client/coral-framework/components/SuspendedAccount.js b/client/coral-embed-stream/src/components/SuspendedAccount.js
similarity index 88%
rename from client/coral-framework/components/SuspendedAccount.js
rename to client/coral-embed-stream/src/components/SuspendedAccount.js
index 446169b37..bf1de4c36 100644
--- a/client/coral-framework/components/SuspendedAccount.js
+++ b/client/coral-embed-stream/src/components/SuspendedAccount.js
@@ -2,9 +2,10 @@ import React, {Component, PropTypes} from 'react';
import I18n from 'coral-framework/modules/i18n/i18n';
import translations from 'coral-framework/translations.json';
const lang = new I18n(translations);
-import styles from './RestrictedContent.css';
+import styles from './SuspendAccount.css';
import {Button} from 'coral-ui';
-import validate from '../helpers/validate';
+import validate from 'coral-framework/helpers/validate';
+import RestrictedMessageBox from 'coral-framework/components/RestrictedMessageBox';
class SuspendedAccount extends Component {
@@ -38,7 +39,7 @@ class SuspendedAccount extends Component {
const {canEditName} = this.props;
const {username, alert} = this.state;
- return
+ return
{
canEditName ?
lang.t('editName.msg')
@@ -72,7 +73,7 @@ class SuspendedAccount extends Component {
: null
}
- ;
+ ;
}
}
diff --git a/client/coral-framework/components/RestrictedContent.js b/client/coral-framework/components/RestrictedContent.js
index 32aaf632d..d3406ca40 100644
--- a/client/coral-framework/components/RestrictedContent.js
+++ b/client/coral-framework/components/RestrictedContent.js
@@ -1,13 +1,13 @@
import React from 'react';
-import styles from './RestrictedContent.css';
+import RestrictedMessageBox from './RestrictedMessageBox';
import I18n from 'coral-framework/modules/i18n/i18n';
import translations from 'coral-framework/translations.json';
const lang = new I18n(translations);
export default ({children, restricted, message = lang.t('contentNotAvailable'), restrictedComp}) => {
if (restricted) {
- return restrictedComp ? restrictedComp : messageBox(message);
+ return restrictedComp ? restrictedComp : ;
} else {
return (
@@ -17,4 +17,3 @@ export default ({children, restricted, message = lang.t('contentNotAvailable'),
}
};
-const messageBox = (message) =>
{message}
;
diff --git a/client/coral-framework/components/RestrictedMessageBox.css b/client/coral-framework/components/RestrictedMessageBox.css
new file mode 100644
index 000000000..396decd9c
--- /dev/null
+++ b/client/coral-framework/components/RestrictedMessageBox.css
@@ -0,0 +1,5 @@
+.message {
+ background: #D8D8D8;
+ padding: 25px;
+}
+
diff --git a/client/coral-framework/components/RestrictedMessageBox.js b/client/coral-framework/components/RestrictedMessageBox.js
new file mode 100644
index 000000000..c579a4731
--- /dev/null
+++ b/client/coral-framework/components/RestrictedMessageBox.js
@@ -0,0 +1,4 @@
+import React from 'react';
+import styles from './RestrictedMessageBox.css';
+
+export default ({children}) =>
{children}
;
diff --git a/models/user.js b/models/user.js
index 8d6cbdbb9..0a68ae07b 100644
--- a/models/user.js
+++ b/models/user.js
@@ -221,7 +221,7 @@ UserSchema.method('can', function(...actions) {
throw new Error(`invalid actions: ${actions}`);
}
- if (this.status === 'BANNED') {
+ if (this.status === 'BANNED' || this.suspension.until && this.suspension.until > new Date()) {
return false;
}