Coverage for src / mesh / urls.py: 100%

15 statements  

« prev     ^ index     » next       coverage.py v7.13.1, created at 2026-08-11 09:47 +0000

1from django.urls import include, path 

2 

3from mesh.views.views_editorial import ( 

4 AssignEditorAPIView, 

5 AssignEditorView, 

6 EditorialDecisionCreateView, 

7 EditorialDecisionUpdateView, 

8 SendToReviewView, 

9) 

10from mesh.views.views_file import ( 

11 EditorialDecisionFileView, 

12 ReviewAdditionalFileView, 

13 ReviewFileAccessAPIView, 

14 VersionAdditionalFileView, 

15 VersionMainFileView, 

16) 

17from mesh.views.views_home import HomeView 

18from mesh.views.views_journal_section import JournalSectionEditView, JournalSectionListView 

19from mesh.views.views_review import ( 

20 ReviewAcceptView, 

21 ReviewAutoCreateView, 

22 ReviewConfirmView, 

23 ReviewCreateView, 

24 ReviewDeclineView, 

25 ReviewDetails, 

26 ReviewFileAccessUpdate, 

27 ReviewSubmitView, 

28) 

29from mesh.views.views_reviewer import ( 

30 ReviewerDeleteView, 

31 ReviewerEditAPIView, 

32 ReviewerListView, 

33 SuggestionAPIView, 

34 SuggestionView, 

35) 

36from mesh.views.views_role import RoleSwitchView 

37from mesh.views.views_submission import ( 

38 SubmissionDetailsView, 

39 SubmissionFiltersAPIView, 

40 SubmissionInListAPIView, 

41 SubmissionListView, 

42 SubmissionLogView, 

43 SubmissionNotesAPIView, 

44 SubmissionTableAPIView, 

45 SubmissionTableTestView, 

46 SubmissionTooltipView, 

47) 

48from mesh.views.views_submission_edit import ( 

49 SubmissionAuthorView, 

50 SubmissionConfirmView, 

51 SubmissionCreateView, 

52 SubmissionDeleteView, 

53 SubmissionEditArticleMetadataView, 

54 SubmissionEditArticleMetadataVuejsAPIView, 

55 SubmissionInfoView, 

56 SubmissionPreprintUpdateView, 

57 SubmissionResumeView, 

58 SubmissionVersionCreateView, 

59 SubmissionVersionUpdateView, 

60) 

61from mesh.views.views_user import ( 

62 CloseImpersonateSessionView, 

63 InitImpersonateSessionView, 

64 TokenLoginView, 

65) 

66 

67reviews_urlpatterns = [ 

68 path( 

69 "", 

70 ReviewDetails.as_view(), 

71 name="review_details", 

72 ), 

73 path( 

74 "accept/", 

75 ReviewAcceptView.as_view(), 

76 name="review_accept", 

77 ), 

78 path( 

79 "decline/", 

80 ReviewDeclineView.as_view(), 

81 name="review_decline", 

82 ), 

83 path( 

84 "update/", 

85 ReviewSubmitView.as_view(), 

86 name="review_update", 

87 ), 

88 path( 

89 "confirm/", 

90 ReviewConfirmView.as_view(), 

91 name="review_confirm", 

92 ), 

93 path( 

94 "files_access_update/", 

95 ReviewFileAccessUpdate.as_view(), 

96 name="review_file_access_update", 

97 ), 

98 path( 

99 "files_access_update_api/<str:file_identifier>", 

100 ReviewFileAccessAPIView.as_view(), 

101 name="review_file_access_update_api", 

102 ), 

103 path( 

104 "file/<str:file_identifier>", 

105 ReviewAdditionalFileView.as_view(), 

106 name="serve_review_file", 

107 ), 

108] 

109 

110versions_urlpatterns = [ 

111 path( 

112 "", 

113 SubmissionVersionUpdateView.as_view(), 

114 name="submission_version_update", 

115 ), 

116 path( 

117 "review/new/", 

118 ReviewCreateView.as_view(), 

119 name="review_create", 

120 ), 

121 path( 

122 "review_auto/new/", 

123 ReviewAutoCreateView.as_view(), 

124 name="review_auto_create", 

125 ), 

126 path( 

127 "decision/update/", 

128 EditorialDecisionUpdateView.as_view(), 

129 name="editorial_decision_update", 

130 ), 

131 path( 

132 "review/<int:review_pk>/", 

133 include(reviews_urlpatterns), 

134 ), 

135 path( 

136 "file/<str:file_identifier>", 

137 VersionMainFileView.as_view(), 

138 name="serve_submission_version_main_file", 

139 ), 

140 path( 

141 "additional_file/<str:file_identifier>", 

142 VersionAdditionalFileView.as_view(), 

143 name="serve_submission_version_additional_file", 

144 ), 

145 path( 

146 "decision/file/<str:file_identifier>", 

147 EditorialDecisionFileView.as_view(), 

148 name="serve_decision_file", 

149 ), 

150] 

151 

152 

153submissions_urlpatterns = [ 

154 path( 

155 "", 

156 SubmissionDetailsView.as_view(), 

157 name="submission_details", 

158 ), 

159 path( 

160 "update/", 

161 SubmissionEditArticleMetadataView.as_view(), 

162 name="submission_edit_article_metadata", 

163 ), 

164 path( 

165 "update_preprint/", 

166 SubmissionPreprintUpdateView.as_view(), 

167 name="submission_update_preprint", 

168 ), 

169 path( 

170 "update_info/", 

171 SubmissionInfoView.as_view(), 

172 name="submission_info_update", 

173 ), 

174 path( 

175 "resume/", 

176 SubmissionResumeView.as_view(), 

177 name="submission_resume", 

178 ), 

179 path( 

180 "delete/", 

181 SubmissionDeleteView.as_view(), 

182 name="submission_delete", 

183 ), 

184 path( 

185 "submit/confirm/", 

186 SubmissionConfirmView.as_view(), 

187 name="submission_confirm", 

188 ), 

189 path( 

190 "authors/", 

191 SubmissionAuthorView.as_view(), 

192 name="submission_authors", 

193 ), 

194 path("log/", SubmissionLogView.as_view(), name="submission_log"), 

195 path( 

196 "editors/", 

197 AssignEditorView.as_view(), 

198 name="submission_editors", 

199 ), 

200 path( 

201 "fetch/<path:row_id>/", 

202 SubmissionInListAPIView.as_view(), 

203 name="api_fetch_submission", 

204 ), 

205 path( 

206 "assign-editor-async/", 

207 AssignEditorAPIView.as_view(), 

208 name="async_assign_editor", 

209 ), 

210 path( 

211 "api-submission-notes/", 

212 SubmissionNotesAPIView.as_view(), 

213 name="async_submission_notes", 

214 ), 

215 # Editorial 

216 path( 

217 "to-review/", 

218 SendToReviewView.as_view(), 

219 name="submission_start_review_process", 

220 ), 

221 path( 

222 "decision", 

223 EditorialDecisionCreateView.as_view(), 

224 name="editorial_decision_create", 

225 ), 

226 path( 

227 "reviewer_shortlist", 

228 SuggestionView.as_view(), 

229 name="submission_shortlist", 

230 ), 

231 path( 

232 "add_reviewer_to_shortlist/<int:user_pk>/<str:user_type>", 

233 SuggestionAPIView.as_view(), 

234 {"action": "add"}, 

235 name="submission_add_reviewer_to_shortlist", 

236 ), 

237 path( 

238 "remove_reviewer_from_shortlist/<int:user_pk>/<str:user_type>", 

239 SuggestionAPIView.as_view(), 

240 {"action": "remove"}, 

241 name="submission_remove_reviewer_from_shortlist", 

242 ), 

243 # Versions 

244 path( 

245 "version/new/", 

246 SubmissionVersionCreateView.as_view(), 

247 name="submission_version_create", 

248 ), 

249 path( 

250 "versions/<int:version_pk>/", 

251 include(versions_urlpatterns), 

252 ), 

253 path("login-token/", TokenLoginView.as_view(), name="token_login"), 

254] 

255 

256urlpatterns = [ 

257 path("", HomeView.as_view(), name="home"), 

258 # Submission views 

259 path("submissions/", SubmissionListView.as_view(), name="submission_list"), 

260 path( 

261 "submissions/list/", 

262 SubmissionListView.as_view(), 

263 {"tab": "all"}, 

264 name="submission_list_all", 

265 ), 

266 path( 

267 "submissions/state/", 

268 SubmissionListView.as_view(), 

269 {"tab": "state"}, 

270 name="submission_list_state", 

271 ), 

272 path( 

273 "submissions/filters/", 

274 SubmissionFiltersAPIView.as_view(), 

275 name="submission_filters_api", 

276 ), 

277 path( 

278 "submissions/api/", 

279 SubmissionTableAPIView.as_view(), 

280 name="submission_table_api", 

281 ), 

282 path( 

283 "tooltip/<int:submission_pk>", 

284 SubmissionTooltipView.as_view(), 

285 name="submission_tooltip", 

286 ), 

287 path( 

288 "submissions/test-ssr/", 

289 SubmissionTableTestView.as_view(), 

290 name="submission_table_test", 

291 ), 

292 path("submissions/new/", SubmissionCreateView.as_view(), name="submission_create"), 

293 path( 

294 "submissions/<int:submission_pk>/", 

295 include(submissions_urlpatterns), 

296 ), 

297 path( 

298 "submissions/ojs_id/<int:ojsid>/", 

299 SubmissionDetailsView.as_view(), 

300 name="submission_details_ojsid", 

301 ), 

302 path( 

303 "api-article-edit/<int:submission_pk>/", 

304 SubmissionEditArticleMetadataVuejsAPIView.as_view(), 

305 name="submission_update_vuejs", 

306 ), 

307 # path( 

308 # "api-article-edit/new", 

309 # SubmissionCreateVuejsAPIView.as_view(), 

310 # name="submission_create_vuejs", 

311 # ), 

312 # Role & user views 

313 path("role_switch/", RoleSwitchView.as_view(), name="role_switch"), 

314 path("impersonate/", InitImpersonateSessionView.as_view(), name="impersonate_init"), 

315 path( 

316 "impersonate/close/", 

317 CloseImpersonateSessionView.as_view(), 

318 name="impersonate_close", 

319 ), 

320 # Submission journal_sections 

321 path( 

322 "journal_sections/", 

323 JournalSectionListView.as_view(), 

324 name="journal_section_list", 

325 ), 

326 path( 

327 "journal_sections/<int:pk>/update/", 

328 JournalSectionEditView.as_view(), 

329 name="submission_journal_section_update", 

330 ), 

331 # Reviewer views 

332 path("reviewers/", ReviewerListView.as_view(), name="reviewer_list"), 

333 path( 

334 "reviewer/<int:pk>/delete/", 

335 ReviewerDeleteView.as_view(), 

336 name="reviewer_delete", 

337 ), 

338 path( 

339 "reviewer/<int:pk>/<int:row_number>/async_edit/<str:user_type>", 

340 ReviewerEditAPIView.as_view(), 

341 name="async_reviewer_edit", 

342 ), 

343]