Skip to content
Snippets Groups Projects
Commit 040db00b authored by Alexandru Munteanu's avatar Alexandru Munteanu
Browse files

Merge branch 'hin-962' into 'develop'

Hide manuscript ID on dashboard and thank you page until EQS approval

See merge request !45
parents c25bc0ee 32d62ef3
No related branches found
No related tags found
2 merge requests!58Sprint #20 - Goal - Reviewers submit report,!45Hide manuscript ID on dashboard and thank you page until EQS approval
...@@ -162,3 +162,15 @@ export const getAdminUsers = state => ...@@ -162,3 +162,15 @@ export const getAdminUsers = state =>
.map(s => s.user) .map(s => s.user)
.reverse() .reverse()
.value() .value()
const hideCustomIdStatuses = ['draft', 'technicalChecks']
export const newestFirstParseCustomId = items =>
chain(items)
.orderBy(['created'], ['desc'])
.map(item => ({
...item,
customId:
!hideCustomIdStatuses.includes(get(item, 'status', 'draft')) &&
item.customId,
}))
.value()
...@@ -52,18 +52,23 @@ const ManuscriptCard = ({ ...@@ -52,18 +52,23 @@ const ManuscriptCard = ({
</Row> </Row>
)} )}
<Row alignItems="center" justify="flex-start" mb={1}> <Row alignItems="center" justify="flex-start" mb={1}>
<Text customId mr={1}>{`ID ${customId}`}</Text> {customId && <Text customId mr={1}>{`ID ${customId}`}</Text>}
{submitted && ( {submitted && (
<DateParser humanizeThreshold={0} timestamp={submitted}> <DateParser humanizeThreshold={0} timestamp={submitted}>
{timestamp => <Text mr={3}>Submitted on {timestamp}</Text>} {(timestamp, timeAgo) => (
<Text
mr={3}
>{`Submitted on ${timestamp} (${timeAgo} ago)`}</Text>
)}
</DateParser> </DateParser>
)} )}
<Text>{manuscriptType.label || type}</Text> <Text>{manuscriptType.label || type}</Text>
{journal && ( {journal &&
<Text journal ml={1}> (manuscriptType.label || type) && (
{journal} <Text journal ml={1}>
</Text> {journal}
)} </Text>
)}
</Row> </Row>
<Row alignItems="center" justify="flex-start" mb={1}> <Row alignItems="center" justify="flex-start" mb={1}>
<H4>Handling editor</H4> <H4>Handling editor</H4>
......
...@@ -23,6 +23,6 @@ const Dashboard = ({ ...@@ -23,6 +23,6 @@ const Dashboard = ({
export default compose( export default compose(
withProps(({ dashboard, filterItems }) => ({ withProps(({ dashboard, filterItems }) => ({
dashboardItems: filterItems(dashboard.all), dashboardItems: filterItems(dashboard),
})), })),
)(Dashboard) )(Dashboard)
...@@ -5,9 +5,12 @@ import { withJournal } from 'xpub-journal' ...@@ -5,9 +5,12 @@ import { withJournal } from 'xpub-journal'
import { ConnectPage } from 'xpub-connect' import { ConnectPage } from 'xpub-connect'
import { withRouter } from 'react-router-dom' import { withRouter } from 'react-router-dom'
import { compose, withContext } from 'recompose' import { compose, withContext } from 'recompose'
import { newestFirst, selectCurrentUser } from 'xpub-selectors' import { selectCurrentUser } from 'xpub-selectors'
import { getUserPermissions } from 'pubsweet-component-faraday-selectors' import {
getUserPermissions,
newestFirstParseCustomId,
} from 'pubsweet-component-faraday-selectors'
import { Dashboard } from './' import { Dashboard } from './'
import { priorityFilter, orderFilter, withFiltersHOC } from '../Filters' import { priorityFilter, orderFilter, withFiltersHOC } from '../Filters'
...@@ -18,24 +21,8 @@ export default compose( ...@@ -18,24 +21,8 @@ export default compose(
state => { state => {
const { collections, conversion } = state const { collections, conversion } = state
const currentUser = selectCurrentUser(state) const currentUser = selectCurrentUser(state)
const sortedCollections = newestFirst(collections) const dashboard = newestFirstParseCustomId(collections)
const dashboard = {
owner: sortedCollections.filter(
collection =>
collection.owners &&
collection.owners.some(owner => owner.id === currentUser.id),
),
reviewer: sortedCollections.filter(
collection =>
collection.reviewers &&
collection.reviewers.some(
reviewer => reviewer && reviewer.user === currentUser.id,
),
),
all: sortedCollections,
}
const userPermissions = getUserPermissions(state) const userPermissions = getUserPermissions(state)
return { return {
dashboard, dashboard,
......
#!/usr/bin/env bash
# Use this script to test if a given TCP host/port are available
cmdname=$(basename $0)
echoerr() { if [[ $QUIET -ne 1 ]]; then echo "$@" 1>&2; fi }
usage()
{
cat << USAGE >&2
Usage:
$cmdname host:port [-s] [-t timeout] [-- command args]
-h HOST | --host=HOST Host or IP under test
-p PORT | --port=PORT TCP port under test
Alternatively, you specify the host and port as host:port
-s | --strict Only execute subcommand if the test succeeds
-q | --quiet Don't output any status messages
-t TIMEOUT | --timeout=TIMEOUT
Timeout in seconds, zero for no timeout
-- COMMAND ARGS Execute command with args after the test finishes
USAGE
exit 1
}
wait_for()
{
if [[ $TIMEOUT -gt 0 ]]; then
echoerr "$cmdname: waiting $TIMEOUT seconds for $HOST:$PORT"
else
echoerr "$cmdname: waiting for $HOST:$PORT without a timeout"
fi
start_ts=$(date +%s)
while :
do
if [[ $ISBUSY -eq 1 ]]; then
nc -z $HOST $PORT
result=$?
else
(echo > /dev/tcp/$HOST/$PORT) >/dev/null 2>&1
result=$?
fi
if [[ $result -eq 0 ]]; then
end_ts=$(date +%s)
echoerr "$cmdname: $HOST:$PORT is available after $((end_ts - start_ts)) seconds"
break
fi
sleep 1
done
return $result
}
wait_for_wrapper()
{
# In order to support SIGINT during timeout: http://unix.stackexchange.com/a/57692
if [[ $QUIET -eq 1 ]]; then
timeout $BUSYTIMEFLAG $TIMEOUT $0 --quiet --child --host=$HOST --port=$PORT --timeout=$TIMEOUT &
else
timeout $BUSYTIMEFLAG $TIMEOUT $0 --child --host=$HOST --port=$PORT --timeout=$TIMEOUT &
fi
PID=$!
trap "kill -INT -$PID" INT
wait $PID
RESULT=$?
if [[ $RESULT -ne 0 ]]; then
echoerr "$cmdname: timeout occurred after waiting $TIMEOUT seconds for $HOST:$PORT"
fi
return $RESULT
}
# process arguments
while [[ $# -gt 0 ]]
do
case "$1" in
*:* )
hostport=(${1//:/ })
HOST=${hostport[0]}
PORT=${hostport[1]}
shift 1
;;
--child)
CHILD=1
shift 1
;;
-q | --quiet)
QUIET=1
shift 1
;;
-s | --strict)
STRICT=1
shift 1
;;
-h)
HOST="$2"
if [[ $HOST == "" ]]; then break; fi
shift 2
;;
--host=*)
HOST="${1#*=}"
shift 1
;;
-p)
PORT="$2"
if [[ $PORT == "" ]]; then break; fi
shift 2
;;
--port=*)
PORT="${1#*=}"
shift 1
;;
-t)
TIMEOUT="$2"
if [[ $TIMEOUT == "" ]]; then break; fi
shift 2
;;
--timeout=*)
TIMEOUT="${1#*=}"
shift 1
;;
--)
shift
CLI=("$@")
break
;;
--help)
usage
;;
*)
echoerr "Unknown argument: $1"
usage
;;
esac
done
if [[ "$HOST" == "" || "$PORT" == "" ]]; then
echoerr "Error: you need to provide a host and port to test."
usage
fi
TIMEOUT=${TIMEOUT:-15}
STRICT=${STRICT:-0}
CHILD=${CHILD:-0}
QUIET=${QUIET:-0}
# check to see if timeout is from busybox?
# check to see if timeout is from busybox?
TIMEOUT_PATH=$(realpath $(which timeout))
if [[ $TIMEOUT_PATH =~ "busybox" ]]; then
ISBUSY=1
BUSYTIMEFLAG="-t"
else
ISBUSY=0
BUSYTIMEFLAG=""
fi
if [[ $CHILD -gt 0 ]]; then
wait_for
RESULT=$?
exit $RESULT
else
if [[ $TIMEOUT -gt 0 ]]; then
wait_for_wrapper
RESULT=$?
else
wait_for
RESULT=$?
fi
fi
if [[ $CLI != "" ]]; then
if [[ $RESULT -ne 0 && $STRICT -eq 1 ]]; then
echoerr "$cmdname: strict mode, refusing to execute subprocess"
exit $RESULT
fi
exec "${CLI[@]}"
else
exit $RESULT
fi
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment