Skip to content
Snippets Groups Projects
Commit 405f388d authored by Sebastian Mihalache's avatar Sebastian Mihalache
Browse files

fix: conflicts with develop

parents de2d370d d2de01c0
No related branches found
No related tags found
2 merge requests!21Sprint #16 features,!17Email helper refactor
......@@ -38,7 +38,7 @@ module.exports = models => async (req, res) => {
fragment = await fragment.save()
collection.status = 'technicalChecks'
collection.save()
await collection.save()
const { journal, xmlParser, ftp } = mtsConfig
const MTS = new MTSService(journal, xmlParser, s3Config, ftp)
......
......@@ -215,7 +215,7 @@ export default compose(
changeForm('reviewerReport', field, value)
},
addFile: ({ formValues = {}, uploadFile, changeForm, version }) => file => {
uploadFile(file, 'review', version.id)
uploadFile(file, 'review', version)
.then(file => {
const files = formValues.files || []
const newFiles = [...files, file]
......
......@@ -183,7 +183,7 @@ export default compose(
),
withHandlers({
addFile: ({ formValues = {}, uploadFile, changeForm, version }) => file => {
uploadFile(file, 'responseToReviewers', version.id)
uploadFile(file, 'responseToReviewers', version)
.then(file => {
const { files } = formValues
const newFiles = files.responseToReviewers
......
......@@ -24,6 +24,7 @@ module.exports = models => async (req, res) => {
let { user } = validateResponse
req.body.isConfirmed = true
req.body.isActive = true
delete user.passwordResetToken
delete user.passwordResetTimestamp
delete req.body.token
......
......@@ -145,7 +145,7 @@ export default compose(
changeForm,
parentForm = 'wizard',
}) => type => file => {
uploadFile(file, type, version.id)
uploadFile(file, type, version)
.then(file => {
const newFiles = {
...files,
......
......@@ -85,6 +85,7 @@ export default compose(
email,
replace,
setEmail,
fragmentId,
collectionId,
invitationId,
reviewerDecision,
......@@ -92,7 +93,7 @@ export default compose(
setEmail(email)
if (agree === 'false') {
reviewerDecision(invitationId, collectionId, false).catch(
reviewerDecision(invitationId, collectionId, fragmentId, false).catch(
redirectToError(replace),
)
}
......
......@@ -32,10 +32,11 @@ const uploadSuccess = () => ({
type: UPLOAD_SUCCESS,
})
const createFileData = (file, type, fragmentId) => {
const createFileData = ({ file, type, fragmentId, newName }) => {
const data = new FormData()
data.append('fileType', type)
data.append('fragmentId', fragmentId)
data.append('newName', newName)
data.append('file', file)
return {
......@@ -47,6 +48,26 @@ const createFileData = (file, type, fragmentId) => {
}
}
const setFileName = (file, { files }) => {
let newFilename = file.name
const fileCount = Object.values(files)
.reduce((acc, f) => [...acc, ...f], [])
.map(f => f.originalName)
.reduce((count, name) => {
if (file.name === name) {
count += 1
}
return count
}, 0)
if (fileCount > 0) {
const ext = file.name.split('.').reverse()[0]
const filename = file.name.replace(`.${ext}`, '')
newFilename = `${filename} (${fileCount}).${ext}`
}
return newFilename
}
const removeRequest = () => ({
type: REMOVE_REQUEST,
})
......@@ -66,9 +87,13 @@ export const getRequestStatus = state => state.files.isFetching
export const getFileError = state => state.files.error
// thunked actions
export const uploadFile = (file, type, fragmentId) => dispatch => {
export const uploadFile = (file, type, fragment) => dispatch => {
dispatch(uploadRequest(type))
return request('/files', createFileData(file, type, fragmentId)).then(
const newName = setFileName(file, fragment)
return request(
'/files',
createFileData({ file, type, fragmentId: fragment.id, newName }),
).then(
r => {
dispatch(uploadSuccess())
return r
......
......@@ -11,6 +11,9 @@ module.exports = {
customId: Joi.string(),
invitations: Joi.array(),
handlingEditor: Joi.object(),
technicalChecks: Joi.object({
token: Joi.string(),
}),
},
fragment: [
{
......@@ -41,6 +44,7 @@ module.exports = {
Joi.object({
id: Joi.string(),
name: Joi.string().required(),
originalName: Joi.string(),
type: Joi.string(),
size: Joi.number(),
url: Joi.string(),
......@@ -51,6 +55,7 @@ module.exports = {
Joi.object({
id: Joi.string(),
name: Joi.string().required(),
originalName: Joi.string(),
type: Joi.string(),
size: Joi.number(),
url: Joi.string(),
......@@ -61,6 +66,7 @@ module.exports = {
Joi.object({
id: Joi.string(),
name: Joi.string().required(),
originalName: Joi.string(),
type: Joi.string(),
size: Joi.number(),
url: Joi.string(),
......@@ -71,6 +77,7 @@ module.exports = {
Joi.object({
id: Joi.string(),
name: Joi.string().required(),
originalName: Joi.string(),
type: Joi.string(),
size: Joi.number(),
url: Joi.string(),
......
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