33import shutil
44import tempfile
55from datetime import datetime
6- from flask import abort , current_app , jsonify , make_response , redirect , render_template , request , send_file , url_for , flash
6+
7+ from flask import (
8+ abort ,
9+ current_app ,
10+ flash ,
11+ jsonify ,
12+ make_response ,
13+ redirect ,
14+ render_template ,
15+ request ,
16+ send_file ,
17+ url_for ,
18+ )
719from flask_login import current_user , login_required
820
921from app .modules .apikeys .decorators import require_api_key
1022from app .modules .dataset import dataset_bp
1123from app .modules .dataset .decorators import is_dataset_owner
1224from app .modules .dataset .forms import DataSetForm
13- from app .modules .dataset .models import DataSet
25+ from app .modules .dataset .models import DataSet , PublicationType
1426from app .modules .dataset .services import (
1527 AuthorService ,
16- DataSetService ,
1728 DatasetMetadataUpdateError ,
1829 DatasetMetadataValidationError ,
30+ DataSetService ,
1931 DOIMappingService ,
2032 DSDownloadRecordService ,
2133 DSMetaDataService ,
2840from app .modules .hubfile .models import Hubfile
2941from app .modules .hubfile .services import HubfileService
3042from app .modules .zenodo .services import ZenodoDatasetService , ZenodoService
31- from app .modules .dataset .models import PublicationType
3243
3344logger = logging .getLogger (__name__ )
3445
@@ -119,15 +130,16 @@ def create_dataset():
119130 hubfile_service .clear_temp ()
120131 return render_template ("dataset/create_and_edit_dataset.html" , form = form )
121132
122- @dataset_bp .route ('/dataset/edit/<int:dataset_id>' , methods = ['GET' , 'POST' ])
133+
134+ @dataset_bp .route ("/dataset/edit/<int:dataset_id>" , methods = ["GET" , "POST" ])
123135@login_required
124136def edit_metadata (dataset_id ):
125137 dataset = dataset_service .get_or_404 (dataset_id )
126138 form = DataSetForm ()
127139 if dataset .user_id != current_user .id :
128140 abort (403 )
129141
130- if request .method == ' POST' :
142+ if request .method == " POST" :
131143 is_ajax = request .headers .get ("X-Requested-With" ) == "XMLHttpRequest"
132144 try :
133145 dataset_service .update_metadata_from_request (dataset , request .form , zenodo_service = zenodo_service )
@@ -149,9 +161,16 @@ def edit_metadata(dataset_id):
149161 return jsonify ({"message" : f"Unexpected error updating metadata: { exc } " }), 400
150162 flash (f"Unexpected error updating metadata: { exc } " , "danger" )
151163
152- return redirect (url_for ('dataset.list_dataset' ))
164+ return redirect (url_for ("dataset.list_dataset" ))
165+
166+ return render_template (
167+ "dataset/create_and_edit_dataset.html" ,
168+ dataset = dataset ,
169+ is_edit = True ,
170+ form = form ,
171+ PublicationType = PublicationType ,
172+ )
153173
154- return render_template ('dataset/create_and_edit_dataset.html' , dataset = dataset , is_edit = True , form = form , PublicationType = PublicationType )
155174
156175@dataset_bp .route ("/datasets/list" , methods = ["GET" ])
157176@login_required
0 commit comments