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

12 statements  

« prev     ^ index     » next       coverage.py v7.9.0, created at 2026-02-04 09:42 +0000

1from django.urls import path, re_path 

2 

3from .views.views_editorial import ( 

4 AssignEditorAPIView, 

5 AssignEditorView, 

6 EditorialDecisionCreateView, 

7 EditorialDecisionUpdateView, 

8 SendToReviewView, 

9) 

10from .views.views_file import FileServingView 

11from .views.views_home import HomeView 

12from .views.views_journal_section import JournalSectionEditView, JournalSectionListView 

13from .views.views_review import ( 

14 ReviewAcceptView, 

15 ReviewAutoCreateView, 

16 ReviewConfirmView, 

17 ReviewCreateView, 

18 ReviewDeclineView, 

19 ReviewDetails, 

20 ReviewFileAccessAPIView, 

21 ReviewFileAccessUpdate, 

22 ReviewSubmitView, 

23) 

24from .views.views_reviewer import ( 

25 ReviewerDeleteView, 

26 ReviewerEditAPIView, 

27 ReviewerListView, 

28 SuggestionAPIView, 

29 SuggestionView, 

30) 

31from .views.views_role import RoleSwitchView 

32from .views.views_submission import ( 

33 AllSubmissionsListView, 

34 DoneSubmissionListView, 

35 SubmissionDetailsView, 

36 SubmissionInListAPIView, 

37 SubmissionListView, 

38 SubmissionLogView, 

39 SubmissionNotesAPIView, 

40 SubmissionsByStateListView, 

41) 

42from .views.views_submission_edit import ( 

43 SubmissionAuthorView, 

44 SubmissionConfirmView, 

45 SubmissionCreateView, 

46 SubmissionDeleteView, 

47 SubmissionEditArticleMetadataView, 

48 SubmissionEditArticleMetadataVuejsAPIView, 

49 SubmissionInfoView, 

50 SubmissionPreprintUpdateView, 

51 SubmissionResumeView, 

52 SubmissionVersionCreateView, 

53 SubmissionVersionUpdateView, 

54) 

55from .views.views_user import ( 

56 CloseImpersonateSessionView, 

57 InitImpersonateSessionView, 

58 TokenLoginView, 

59) 

60 

61urlpatterns = [ 

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

63 # Submission views 

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

65 path( 

66 "submissions/list/", 

67 AllSubmissionsListView.as_view(), 

68 name="submission_list_all", 

69 ), 

70 path( 

71 "submissions/state/", 

72 SubmissionsByStateListView.as_view(), 

73 name="submission_list_state", 

74 ), 

75 path( 

76 "submissions/done/", 

77 DoneSubmissionListView.as_view(), 

78 name="submission_list_done", 

79 ), 

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

81 path( 

82 "submissions/<int:pk>/update_preprint/", 

83 SubmissionPreprintUpdateView.as_view(), 

84 name="submission_update_preprint", 

85 ), 

86 path( 

87 "submissions/update/<int:pk>/", 

88 SubmissionEditArticleMetadataView.as_view(), 

89 name="submission_edit_article_metadata", 

90 ), 

91 path( 

92 "api-article-edit/<int:pk>/", 

93 SubmissionEditArticleMetadataVuejsAPIView.as_view(), 

94 name="submission_update_vuejs", 

95 ), 

96 # path( 

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

98 # SubmissionCreateVuejsAPIView.as_view(), 

99 # name="submission_create_vuejs", 

100 # ), 

101 path( 

102 "submissions/<int:pk>/update_info/", 

103 SubmissionInfoView.as_view(), 

104 name="submission_info_update", 

105 ), 

106 path( 

107 "submissions/<int:pk>/resume/", 

108 SubmissionResumeView.as_view(), 

109 name="submission_resume", 

110 ), 

111 path( 

112 "submissions/<int:pk>/delete/", 

113 SubmissionDeleteView.as_view(), 

114 name="submission_delete", 

115 ), 

116 path( 

117 "submission/<int:pk>/submit/confirm/", 

118 SubmissionConfirmView.as_view(), 

119 name="submission_confirm", 

120 ), 

121 path( 

122 "submissions/<int:pk>/authors/", 

123 SubmissionAuthorView.as_view(), 

124 name="submission_authors", 

125 ), 

126 path( 

127 "submissions/<int:pk>/", 

128 SubmissionDetailsView.as_view(), 

129 name="submission_details", 

130 ), 

131 path( 

132 "submissions/<int:submission_pk>/version/new/", 

133 SubmissionVersionCreateView.as_view(), 

134 name="submission_version_create", 

135 ), 

136 path( 

137 "versions/<int:pk>/", 

138 SubmissionVersionUpdateView.as_view(), 

139 name="submission_version_update", 

140 ), 

141 path("submissions/<int:pk>/log/", SubmissionLogView.as_view(), name="submission_log"), 

142 path( 

143 "submissions/<int:pk>/editors/", 

144 AssignEditorView.as_view(), 

145 name="submission_editors", 

146 ), 

147 path( 

148 "submission/<int:pk>/fetch/<path:row_id>/", 

149 SubmissionInListAPIView.as_view(), 

150 name="api_fetch_submission", 

151 ), 

152 path( 

153 "submission/<int:pk>/assign-editor-async/", 

154 AssignEditorAPIView.as_view(), 

155 name="async_assign_editor", 

156 ), 

157 path( 

158 "submission/<int:pk>/api-submission-notes/", 

159 SubmissionNotesAPIView.as_view(), 

160 name="async_submission_notes", 

161 ), 

162 # Review views 

163 path( 

164 "versions/<int:version_pk>/review/new/", 

165 ReviewCreateView.as_view(), 

166 name="review_create", 

167 ), 

168 path( 

169 "versions/<int:version_pk>/review_auto/new/", 

170 ReviewAutoCreateView.as_view(), 

171 name="review_auto_create", 

172 ), 

173 path("reviews/<int:pk>/", ReviewDetails.as_view(), name="review_details"), 

174 path("reviews/<int:pk>/accept/", ReviewAcceptView.as_view(), name="review_accept"), 

175 path("reviews/<int:pk>/decline/", ReviewDeclineView.as_view(), name="review_decline"), 

176 path("reviews/<int:pk>/update/", ReviewSubmitView.as_view(), name="review_update"), 

177 path("reviews/<int:pk>/confirm/", ReviewConfirmView.as_view(), name="review_confirm"), 

178 path( 

179 "reviews/<int:pk>/files_access_update/", 

180 ReviewFileAccessUpdate.as_view(), 

181 name="review_file_access_update", 

182 ), 

183 path( 

184 "reviews/files_access_update_api/<int:pk>", 

185 ReviewFileAccessAPIView.as_view(), 

186 name="review_file_access_update_api", 

187 ), 

188 # Editorial views 

189 path( 

190 "submissions/<int:pk>/to-review/", 

191 SendToReviewView.as_view(), 

192 name="submission_start_review_process", 

193 ), 

194 path( 

195 "submissions/<int:submission_pk>/decision/new/", 

196 EditorialDecisionCreateView.as_view(), 

197 name="editorial_decision_create", 

198 ), 

199 path( 

200 "decisions/<int:pk>/update/", 

201 EditorialDecisionUpdateView.as_view(), 

202 name="editorial_decision_update", 

203 ), 

204 # Role & user views 

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

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

207 path( 

208 "impersonate/close/", 

209 CloseImpersonateSessionView.as_view(), 

210 name="impersonate_close", 

211 ), 

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

213 # Submission journal_sections 

214 path( 

215 "journal_sections/", 

216 JournalSectionListView.as_view(), 

217 name="journal_section_list", 

218 ), 

219 path( 

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

221 JournalSectionEditView.as_view(), 

222 name="submission_journal_section_update", 

223 ), 

224 # File views 

225 re_path( 

226 r"^files/(?P<file_identifier>[A-z0-9-_=]+)$", 

227 FileServingView.as_view(), 

228 name="serve_protected_file", 

229 ), 

230 # Reviewer views 

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

232 path( 

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

234 ReviewerDeleteView.as_view(), 

235 name="reviewer_delete", 

236 ), 

237 path( 

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

239 ReviewerEditAPIView.as_view(), 

240 name="async_reviewer_edit", 

241 ), 

242 path( 

243 "submission/<int:pk>/reviewer_shortlist", 

244 SuggestionView.as_view(), 

245 name="submission_shortlist", 

246 ), 

247 path( 

248 "submission/<int:pk>/add_reviewer_to_shortlist/<int:user_pk>/<str:user_type>", 

249 SuggestionAPIView.as_view(), 

250 {"action": "add"}, 

251 name="submission_add_reviewer_to_shortlist", 

252 ), 

253 path( 

254 "submission/<int:pk>/remove_reviewer_from_shortlist/<int:user_pk>/<str:user_type>", 

255 SuggestionAPIView.as_view(), 

256 {"action": "remove"}, 

257 name="submission_remove_reviewer_from_shortlist", 

258 ), 

259]