diff --git a/README.md b/README.md index d7aa9f1cb..4d430206e 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,10 @@ NODE_ENV=development API_BASE=http://localhost:4000/v1 PORT=8080 WEBPACK_DEV_SERVER_PORT=8081 +TITLE=ReCodEx +ALLOW_NORMAL_REGISTRATION=true +ALLOW_LDAP_REGISTRATION=false +ALLOW_CAS_REGISTRATION=true ``` ## Run Dev @@ -37,7 +41,7 @@ yarn build yarn start ``` -Consider using [PM2](http://pm2.keymetrics.io/) or similar tool to run the `yarn start` command to prevent crashes of the web service. +Consider using [PM2](http://pm2.keymetrics.io/) or similar tool to run the `yarn start` command to prevent crashes of the web service. It is wise to use watch mode of PM2 in `prod/` subdirectory and deploy the app using `yarn deploy` command. ## License diff --git a/src/components/Assignments/AdminAssignmentsTable/AdminAssignmentsTable.js b/src/components/Assignments/AdminAssignmentsTable/AdminAssignmentsTable.js index 5749570a9..3be64e962 100644 --- a/src/components/Assignments/AdminAssignmentsTable/AdminAssignmentsTable.js +++ b/src/components/Assignments/AdminAssignmentsTable/AdminAssignmentsTable.js @@ -3,14 +3,14 @@ import PropTypes from 'prop-types'; import ImmutablePropTypes from 'react-immutable-proptypes'; import { List } from 'immutable'; import { Table } from 'react-bootstrap'; -import { FormattedMessage } from 'react-intl'; +import { FormattedMessage, injectIntl } from 'react-intl'; import AdminAssignmentsTableRow from './AdminAssignmentsTableRow'; import NoAssignmentsTableRow from './NoAssignmentsTableRow'; import LoadingAssignmentTableRow from './LoadingAssignmentTableRow'; import ResourceRenderer from '../../helpers/ResourceRenderer'; -const AdminAssignmentsTable = ({ assignments = List() }) => ( +const AdminAssignmentsTable = ({ assignments = List(), intl: { locale } }) => @@ -51,25 +51,28 @@ const AdminAssignmentsTable = ({ assignments = List() }) => ( > {(...assignments) => assignments.length === 0 - ? + ? + + : {assignments .sort((a, b) => a.firstDeadline - b.firstDeadline) - .map(assignment => ( + .map(assignment => - ))} + )} } -
-); + ; AdminAssignmentsTable.propTypes = { assignments: ImmutablePropTypes.list.isRequired, showGroup: PropTypes.bool, - statuses: PropTypes.object + statuses: PropTypes.object, + intl: PropTypes.shape({ locale: PropTypes.string.isRequired }).isRequired }; -export default AdminAssignmentsTable; +export default injectIntl(AdminAssignmentsTable); diff --git a/src/components/Assignments/AdminAssignmentsTable/AdminAssignmentsTableRow.js b/src/components/Assignments/AdminAssignmentsTable/AdminAssignmentsTableRow.js index c89122133..0065cf131 100644 --- a/src/components/Assignments/AdminAssignmentsTable/AdminAssignmentsTableRow.js +++ b/src/components/Assignments/AdminAssignmentsTable/AdminAssignmentsTableRow.js @@ -5,10 +5,10 @@ import { FormattedDate, FormattedTime, FormattedMessage } from 'react-intl'; import { ButtonGroup } from 'react-bootstrap'; import Button from '../../widgets/FlatButton'; import { LinkContainer } from 'react-router-bootstrap'; -import DeleteAssignmentButtonContainer - from '../../../containers/DeleteAssignmentButtonContainer'; +import DeleteAssignmentButtonContainer from '../../../containers/DeleteAssignmentButtonContainer'; import withLinks from '../../../hoc/withLinks'; +import { getLocalizedName } from '../../../helpers/getLocalizedData'; import { EditIcon, MaybePublicIcon, @@ -20,30 +20,36 @@ const AdminAssignmentTableRow = ({ isPublic, name, allowSecondDeadline, + localizedTexts, firstDeadline, secondDeadline, isBonus, + locale, links: { ASSIGNMENT_DETAIL_URI_FACTORY: detail, ASSIGNMENT_EDIT_URI_FACTORY: edit } -}) => ( +}) => - {name} + + {getLocalizedName({ name, localizedTexts }, locale)} + - {', '} + + {', '} {allowSecondDeadline ? - {', '} + + {', '} : -} @@ -52,8 +58,7 @@ const AdminAssignmentTableRow = ({