@@ -73,12 +73,12 @@ export function saveProject(autosave = false) {
73
73
return ( dispatch , getState ) => {
74
74
const state = getState ( ) ;
75
75
if ( state . user . id && state . project . owner && state . project . owner . id !== state . user . id ) {
76
- return ;
76
+ return Promise . reject ( ) ;
77
77
}
78
78
const formParams = Object . assign ( { } , state . project ) ;
79
79
formParams . files = [ ...state . files ] ;
80
80
if ( state . project . id ) {
81
- axios . put ( `${ ROOT_URL } /projects/${ state . project . id } ` , formParams , { withCredentials : true } )
81
+ return axios . put ( `${ ROOT_URL } /projects/${ state . project . id } ` , formParams , { withCredentials : true } )
82
82
. then ( ( response ) => {
83
83
dispatch ( setUnsavedChanges ( false ) ) ;
84
84
console . log ( response . data ) ;
@@ -110,11 +110,6 @@ export function saveProject(autosave = false) {
110
110
} ) ;
111
111
}
112
112
} ) ;
113
- } else {
114
- axios . post ( `${ ROOT_URL } /projects` , formParams , { withCredentials : true } )
115
- . then ( ( response ) => {
116
- dispatch ( setUnsavedChanges ( false ) ) ;
117
- dispatch ( setProject ( response . data ) ) ;
118
113
browserHistory . push ( `/${ response . data . user . username } /sketches/${ response . data . id } ` ) ;
119
114
dispatch ( {
120
115
type : ActionTypes . NEW_PROJECT ,
@@ -137,14 +132,20 @@ export function saveProject(autosave = false) {
137
132
. catch ( ( response ) => {
138
133
if ( response . status === 403 ) {
139
134
dispatch ( showErrorModal ( 'staleSession' ) ) ;
135
+ }
136
+
137
+ return axios . post ( `${ ROOT_URL } /projects` , formParams , { withCredentials : true } )
138
+ . then ( ( response ) => {
139
+ dispatch ( setUnsavedChanges ( false ) ) ;
140
+ dispatch ( setProject ( response . data ) ) ;
140
141
} else {
141
142
dispatch ( {
142
143
type : ActionTypes . PROJECT_SAVE_FAIL ,
143
144
error : response . data
144
- } ) ;
145
145
}
146
- } ) ;
147
- }
146
+ } ) ;
147
+ }
148
+ } ) ;
148
149
} ;
149
150
}
150
151
0 commit comments