File tree 2 files changed +11
-0
lines changed
src/plone/restapi/services/aliases
2 files changed +11
-0
lines changed Original file line number Diff line number Diff line change
1
+ URL Management control panel: Fix error handling in CSV upload. @davisagli
Original file line number Diff line number Diff line change @@ -101,12 +101,22 @@ def _reply_csv(self):
101
101
raise BadRequest ("Uploaded file is not a valid CSV file" )
102
102
103
103
controlpanel = RedirectsControlPanel (self .context , self .request )
104
+ csv_errors = controlpanel .csv_errors = []
104
105
storage = getUtility (IRedirectionStorage )
105
106
status = IStatusMessage (self .request )
106
107
portal = getSite ()
107
108
controlpanel .upload (file , portal , storage , status )
108
109
file .close ()
109
110
111
+ if csv_errors :
112
+ self .request .response .setHeader ("Content-Type" , "application/json" )
113
+ self .request .response .setStatus (BadRequest )
114
+ return {
115
+ "type" : "BadRequest" ,
116
+ "message" : f"Found { len (csv_errors )} errors in CSV file." ,
117
+ # Skip first item which is a notice about the delimiter
118
+ "csv_errors" : csv_errors [1 :],
119
+ }
110
120
if err := status .show ():
111
121
if err [0 ].type == "error" :
112
122
raise BadRequest (err [0 ].message )
You can’t perform that action at this time.
0 commit comments