Skip to content

Commit

Permalink
Merge pull request rdmorganiser#1080 from rdmorganiser/1077-fix-bug
Browse files Browse the repository at this point in the history
1077 fix bug
  • Loading branch information
CalamityC authored Jul 26, 2024
2 parents 4afdd23 + bb8fe62 commit 4ac792d
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 1 deletion.
11 changes: 10 additions & 1 deletion rdmo/projects/assets/js/actions/projectsActions.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ import { FETCH_PROJECTS_ERROR, FETCH_PROJECTS_INIT, FETCH_PROJECTS_SUCCESS,
UPLOAD_PROJECT_ERROR, UPLOAD_PROJECT_INIT, UPLOAD_PROJECT_SUCCESS }
from './actionTypes'

import * as configActions from './configActions'

export function fetchAllProjects() {
return function(dispatch, getState) {
const params = getState().config.params
Expand All @@ -29,7 +31,14 @@ export function fetchProjectsSuccess(projects) {
}

export function fetchProjectsError(error) {
return {type: FETCH_PROJECTS_ERROR, error}
return function(dispatch) {
if (error.constructor.name === 'BadRequestError' && error.errors.catalog) {
dispatch(configActions.deleteConfig('params.catalog'))
dispatch(fetchAllProjects())
} else {
dispatch({type: FETCH_PROJECTS_ERROR, error})
}
}
}

export function fetchCatalogs() {
Expand Down
8 changes: 8 additions & 0 deletions rdmo/projects/assets/js/api/ProjectsApi.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,20 @@ import BaseApi from 'rdmo/core/assets/js/api/BaseApi'
import { encodeParams } from 'rdmo/core/assets/js/utils/api'
import baseUrl from 'rdmo/core/assets/js/utils/baseUrl'

function BadRequestError(errors) {
this.errors = errors
}

class ProjectsApi extends BaseApi {

static fetchProjects(params, fetchParams = {}) {
return fetch('/api/v1/projects/projects/?' + encodeParams(params), fetchParams).then(response => {
if (response.ok) {
return response.json()
} else if (response.status == 400) {
return response.json().then(errors => {
throw new BadRequestError(errors)
})
} else {
throw new Error(response.statusText)
}
Expand Down

0 comments on commit 4ac792d

Please sign in to comment.