Coverage for src/mesh/migrations/0001_initial.py: 100%

11 statements  

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

1# Generated by Django 4.2.17 on 2025-04-22 13:37 

2 

3import django.db.models.deletion 

4import django.utils.timezone 

5from django.conf import settings 

6from django.db import migrations, models 

7 

8import mesh.model.file_helpers 

9import mesh.models.file_models 

10import mesh.models.user_models 

11 

12 

13class Migration(migrations.Migration): 

14 initial = True 

15 

16 dependencies = [ 

17 ("auth", "0012_alter_user_first_name_max_length"), 

18 ] 

19 

20 operations = [ 

21 migrations.CreateModel( 

22 name="User", 

23 fields=[ 

24 ( 

25 "id", 

26 models.BigAutoField( 

27 auto_created=True, primary_key=True, serialize=False, verbose_name="ID" 

28 ), 

29 ), 

30 ("password", models.CharField(max_length=128, verbose_name="password")), 

31 ( 

32 "last_login", 

33 models.DateTimeField(blank=True, null=True, verbose_name="last login"), 

34 ), 

35 ( 

36 "is_superuser", 

37 models.BooleanField( 

38 default=False, 

39 help_text="Designates that this user has all permissions without explicitly assigning them.", 

40 verbose_name="superuser status", 

41 ), 

42 ), 

43 ( 

44 "is_staff", 

45 models.BooleanField( 

46 default=False, 

47 help_text="Designates whether the user can log into this admin site.", 

48 verbose_name="staff status", 

49 ), 

50 ), 

51 ( 

52 "is_active", 

53 models.BooleanField( 

54 default=True, 

55 help_text="Designates whether this user should be treated as active. Unselect this instead of deleting accounts.", 

56 verbose_name="active", 

57 ), 

58 ), 

59 ( 

60 "date_joined", 

61 models.DateTimeField( 

62 default=django.utils.timezone.now, verbose_name="date joined" 

63 ), 

64 ), 

65 ("first_name", models.CharField(max_length=150, verbose_name="first name")), 

66 ("last_name", models.CharField(max_length=150, verbose_name="last name")), 

67 ( 

68 "email", 

69 models.EmailField(max_length=254, unique=True, verbose_name="e-mail address"), 

70 ), 

71 ( 

72 "journal_manager", 

73 models.BooleanField(default=False, verbose_name="Journal manager"), 

74 ), 

75 ( 

76 "keywords", 

77 models.TextField(blank=True, default="", null=True, verbose_name="Keywords"), 

78 ), 

79 ("current_role", models.CharField(blank=True, max_length=32, null=True)), 

80 ( 

81 "groups", 

82 models.ManyToManyField( 

83 blank=True, 

84 help_text="The groups this user belongs to. A user will get all permissions granted to each of their groups.", 

85 related_name="user_set", 

86 related_query_name="user", 

87 to="auth.group", 

88 verbose_name="groups", 

89 ), 

90 ), 

91 ( 

92 "user_permissions", 

93 models.ManyToManyField( 

94 blank=True, 

95 help_text="Specific permissions for this user.", 

96 related_name="user_set", 

97 related_query_name="user", 

98 to="auth.permission", 

99 verbose_name="user permissions", 

100 ), 

101 ), 

102 ], 

103 options={ 

104 "verbose_name": "user", 

105 "verbose_name_plural": "users", 

106 "abstract": False, 

107 }, 

108 managers=[ 

109 ("objects", mesh.models.user_models.UserManager()), 

110 ], 

111 ), 

112 migrations.CreateModel( 

113 name="EditorialDecision", 

114 fields=[ 

115 ( 

116 "id", 

117 models.BigAutoField( 

118 auto_created=True, primary_key=True, serialize=False, verbose_name="ID" 

119 ), 

120 ), 

121 ( 

122 "date_created", 

123 models.DateTimeField( 

124 blank=True, 

125 default=django.utils.timezone.now, 

126 editable=False, 

127 null=True, 

128 verbose_name="Creation date", 

129 ), 

130 ), 

131 ( 

132 "date_last_modified", 

133 models.DateTimeField( 

134 blank=True, 

135 default=django.utils.timezone.now, 

136 editable=False, 

137 null=True, 

138 verbose_name="Last modification date", 

139 ), 

140 ), 

141 ( 

142 "value", 

143 models.CharField( 

144 choices=[ 

145 ("rev_requested", "Request revisions"), 

146 ("accepted", "Accept submission"), 

147 ("rejected", "Reject submission"), 

148 ], 

149 max_length=64, 

150 verbose_name="Decision", 

151 ), 

152 ), 

153 ("comment", models.TextField(blank=True, null=True, verbose_name="Description")), 

154 ( 

155 "created_by", 

156 models.ForeignKey( 

157 blank=True, 

158 editable=False, 

159 help_text="Automatically filled on save.", 

160 null=True, 

161 on_delete=django.db.models.deletion.SET_NULL, 

162 related_name="+", 

163 to=settings.AUTH_USER_MODEL, 

164 verbose_name="Created by", 

165 ), 

166 ), 

167 ( 

168 "last_modified_by", 

169 models.ForeignKey( 

170 blank=True, 

171 editable=False, 

172 help_text="Automatically filled on save.", 

173 null=True, 

174 on_delete=django.db.models.deletion.SET_NULL, 

175 related_name="+", 

176 to=settings.AUTH_USER_MODEL, 

177 verbose_name="Last modified by", 

178 ), 

179 ), 

180 ], 

181 options={ 

182 "abstract": False, 

183 }, 

184 ), 

185 migrations.CreateModel( 

186 name="JournalSection", 

187 fields=[ 

188 ( 

189 "id", 

190 models.BigAutoField( 

191 auto_created=True, primary_key=True, serialize=False, verbose_name="ID" 

192 ), 

193 ), 

194 ( 

195 "date_created", 

196 models.DateTimeField( 

197 blank=True, 

198 default=django.utils.timezone.now, 

199 editable=False, 

200 null=True, 

201 verbose_name="Creation date", 

202 ), 

203 ), 

204 ( 

205 "date_last_modified", 

206 models.DateTimeField( 

207 blank=True, 

208 default=django.utils.timezone.now, 

209 editable=False, 

210 null=True, 

211 verbose_name="Last modification date", 

212 ), 

213 ), 

214 ("name", models.CharField(max_length=128, unique=True, verbose_name="Name")), 

215 ( 

216 "created_by", 

217 models.ForeignKey( 

218 blank=True, 

219 editable=False, 

220 help_text="Automatically filled on save.", 

221 null=True, 

222 on_delete=django.db.models.deletion.SET_NULL, 

223 related_name="+", 

224 to=settings.AUTH_USER_MODEL, 

225 verbose_name="Created by", 

226 ), 

227 ), 

228 ( 

229 "last_modified_by", 

230 models.ForeignKey( 

231 blank=True, 

232 editable=False, 

233 help_text="Automatically filled on save.", 

234 null=True, 

235 on_delete=django.db.models.deletion.SET_NULL, 

236 related_name="+", 

237 to=settings.AUTH_USER_MODEL, 

238 verbose_name="Last modified by", 

239 ), 

240 ), 

241 ( 

242 "parent", 

243 models.ForeignKey( 

244 blank=True, 

245 null=True, 

246 on_delete=django.db.models.deletion.SET_NULL, 

247 related_name="children", 

248 to="mesh.journalsection", 

249 ), 

250 ), 

251 ], 

252 options={ 

253 "abstract": False, 

254 }, 

255 ), 

256 migrations.CreateModel( 

257 name="Review", 

258 fields=[ 

259 ( 

260 "id", 

261 models.BigAutoField( 

262 auto_created=True, primary_key=True, serialize=False, verbose_name="ID" 

263 ), 

264 ), 

265 ( 

266 "date_created", 

267 models.DateTimeField( 

268 blank=True, 

269 default=django.utils.timezone.now, 

270 editable=False, 

271 null=True, 

272 verbose_name="Creation date", 

273 ), 

274 ), 

275 ( 

276 "date_last_modified", 

277 models.DateTimeField( 

278 blank=True, 

279 default=django.utils.timezone.now, 

280 editable=False, 

281 null=True, 

282 verbose_name="Last modification date", 

283 ), 

284 ), 

285 ( 

286 "submitted", 

287 models.BooleanField( 

288 blank=True, default=False, editable=False, verbose_name="Submitted" 

289 ), 

290 ), 

291 ( 

292 "date_submitted", 

293 models.DateTimeField( 

294 blank=True, editable=False, null=True, verbose_name="Submitted on" 

295 ), 

296 ), 

297 ( 

298 "state", 

299 models.CharField( 

300 choices=[ 

301 ("awaiting_accept", "Waiting for acceptance"), 

302 ("declined", "Declined"), 

303 ("pending", "Pending"), 

304 ("submitted", "Submitted"), 

305 ], 

306 default="awaiting_accept", 

307 max_length=64, 

308 ), 

309 ), 

310 ("date_response_due", models.DateField(verbose_name="Response due date")), 

311 ("date_review_due", models.DateField(verbose_name="Review due date")), 

312 ( 

313 "recommendation", 

314 models.CharField( 

315 blank=True, 

316 choices=[ 

317 ("accepted", "Accept submission"), 

318 ("rejected", "Decline submission"), 

319 ("rev_requested", "Revision(s) required"), 

320 ("resubmit", "Re-submit somewhere else"), 

321 ], 

322 default=None, 

323 max_length=64, 

324 null=True, 

325 ), 

326 ), 

327 ( 

328 "accepted", 

329 models.BooleanField( 

330 choices=[(True, "Accept"), (False, "Decline")], 

331 null=True, 

332 verbose_name="Confirmation", 

333 ), 

334 ), 

335 ("date_accepted", models.DateTimeField(editable=False, null=True)), 

336 ( 

337 "request_email", 

338 models.TextField(blank=True, null=True, verbose_name="Request e-mail"), 

339 ), 

340 ( 

341 "accept_comment", 

342 models.TextField(blank=True, null=True, verbose_name="Accept comment"), 

343 ), 

344 ( 

345 "comment", 

346 models.TextField(blank=True, null=True, verbose_name="Review comment"), 

347 ), 

348 ( 

349 "created_by", 

350 models.ForeignKey( 

351 blank=True, 

352 editable=False, 

353 help_text="Automatically filled on save.", 

354 null=True, 

355 on_delete=django.db.models.deletion.SET_NULL, 

356 related_name="+", 

357 to=settings.AUTH_USER_MODEL, 

358 verbose_name="Created by", 

359 ), 

360 ), 

361 ( 

362 "last_modified_by", 

363 models.ForeignKey( 

364 blank=True, 

365 editable=False, 

366 help_text="Automatically filled on save.", 

367 null=True, 

368 on_delete=django.db.models.deletion.SET_NULL, 

369 related_name="+", 

370 to=settings.AUTH_USER_MODEL, 

371 verbose_name="Last modified by", 

372 ), 

373 ), 

374 ( 

375 "reviewer", 

376 models.ForeignKey( 

377 on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL 

378 ), 

379 ), 

380 ], 

381 ), 

382 migrations.CreateModel( 

383 name="Submission", 

384 fields=[ 

385 ( 

386 "id", 

387 models.BigAutoField( 

388 auto_created=True, primary_key=True, serialize=False, verbose_name="ID" 

389 ), 

390 ), 

391 ( 

392 "date_created", 

393 models.DateTimeField( 

394 blank=True, 

395 default=django.utils.timezone.now, 

396 editable=False, 

397 null=True, 

398 verbose_name="Creation date", 

399 ), 

400 ), 

401 ( 

402 "date_last_modified", 

403 models.DateTimeField( 

404 blank=True, 

405 default=django.utils.timezone.now, 

406 editable=False, 

407 null=True, 

408 verbose_name="Last modification date", 

409 ), 

410 ), 

411 ("name", models.TextField(verbose_name="Title")), 

412 ("abstract", models.TextField(verbose_name="Abstract")), 

413 ( 

414 "state", 

415 models.CharField( 

416 choices=[ 

417 ("opened", "Draft"), 

418 ("submitted", "Submitted"), 

419 ("review", "Under review"), 

420 ("rev_requested", "Revision requested"), 

421 ("rev_submited", "Revision submitted"), 

422 ("accepted", "Accepted"), 

423 ("rejected", "Rejected"), 

424 ], 

425 default="opened", 

426 max_length=64, 

427 verbose_name="state", 

428 ), 

429 ), 

430 ( 

431 "date_first_version", 

432 models.DateTimeField( 

433 editable=False, 

434 null=True, 

435 verbose_name="Date of the first submitted version", 

436 ), 

437 ), 

438 ( 

439 "author_agreement", 

440 models.BooleanField( 

441 help_text="I hereby declare that I have read blablabla and I consent to the terms", 

442 verbose_name="Agreement", 

443 ), 

444 ), 

445 ("notes", models.TextField(default="", verbose_name="Notes")), 

446 ( 

447 "created_by", 

448 models.ForeignKey( 

449 blank=True, 

450 editable=False, 

451 help_text="Automatically filled on save.", 

452 on_delete=django.db.models.deletion.PROTECT, 

453 related_name="+", 

454 to=settings.AUTH_USER_MODEL, 

455 verbose_name="Created by", 

456 ), 

457 ), 

458 ( 

459 "journal_section", 

460 models.ForeignKey( 

461 blank=True, 

462 null=True, 

463 on_delete=django.db.models.deletion.SET_NULL, 

464 related_name="submissions", 

465 to="mesh.journalsection", 

466 verbose_name="Section (Optional)", 

467 ), 

468 ), 

469 ( 

470 "last_modified_by", 

471 models.ForeignKey( 

472 blank=True, 

473 editable=False, 

474 help_text="Automatically filled on save.", 

475 null=True, 

476 on_delete=django.db.models.deletion.SET_NULL, 

477 related_name="+", 

478 to=settings.AUTH_USER_MODEL, 

479 verbose_name="Last modified by", 

480 ), 

481 ), 

482 ], 

483 ), 

484 migrations.CreateModel( 

485 name="SubmissionVersion", 

486 fields=[ 

487 ( 

488 "id", 

489 models.BigAutoField( 

490 auto_created=True, primary_key=True, serialize=False, verbose_name="ID" 

491 ), 

492 ), 

493 ( 

494 "date_created", 

495 models.DateTimeField( 

496 blank=True, 

497 default=django.utils.timezone.now, 

498 editable=False, 

499 null=True, 

500 verbose_name="Creation date", 

501 ), 

502 ), 

503 ( 

504 "date_last_modified", 

505 models.DateTimeField( 

506 blank=True, 

507 default=django.utils.timezone.now, 

508 editable=False, 

509 null=True, 

510 verbose_name="Last modification date", 

511 ), 

512 ), 

513 ( 

514 "submitted", 

515 models.BooleanField( 

516 blank=True, default=False, editable=False, verbose_name="Submitted" 

517 ), 

518 ), 

519 ( 

520 "date_submitted", 

521 models.DateTimeField( 

522 blank=True, editable=False, null=True, verbose_name="Submitted on" 

523 ), 

524 ), 

525 ( 

526 "number", 

527 models.IntegerField( 

528 blank=True, editable=False, help_text="Automatically filled on save" 

529 ), 

530 ), 

531 ( 

532 "review_open", 

533 models.BooleanField( 

534 default=False, editable=False, verbose_name="Version opened for review" 

535 ), 

536 ), 

537 ( 

538 "created_by", 

539 models.ForeignKey( 

540 blank=True, 

541 editable=False, 

542 help_text="Automatically filled on save.", 

543 null=True, 

544 on_delete=django.db.models.deletion.SET_NULL, 

545 related_name="+", 

546 to=settings.AUTH_USER_MODEL, 

547 verbose_name="Created by", 

548 ), 

549 ), 

550 ( 

551 "last_modified_by", 

552 models.ForeignKey( 

553 blank=True, 

554 editable=False, 

555 help_text="Automatically filled on save.", 

556 null=True, 

557 on_delete=django.db.models.deletion.SET_NULL, 

558 related_name="+", 

559 to=settings.AUTH_USER_MODEL, 

560 verbose_name="Last modified by", 

561 ), 

562 ), 

563 ( 

564 "submission", 

565 models.ForeignKey( 

566 blank=True, 

567 editable=False, 

568 on_delete=django.db.models.deletion.CASCADE, 

569 related_name="versions", 

570 to="mesh.submission", 

571 ), 

572 ), 

573 ], 

574 ), 

575 migrations.CreateModel( 

576 name="SuggestedReviewer", 

577 fields=[ 

578 ( 

579 "id", 

580 models.BigAutoField( 

581 auto_created=True, primary_key=True, serialize=False, verbose_name="ID" 

582 ), 

583 ), 

584 ("first_name", models.CharField(max_length=150, verbose_name="first name")), 

585 ("last_name", models.CharField(max_length=150, verbose_name="last name")), 

586 ( 

587 "email", 

588 models.EmailField(max_length=254, unique=True, verbose_name="e-mail address"), 

589 ), 

590 ( 

591 "keywords", 

592 models.TextField(blank=True, default="", null=True, verbose_name="Keywords"), 

593 ), 

594 ], 

595 ), 

596 migrations.CreateModel( 

597 name="SubmissionMainFile", 

598 fields=[ 

599 ( 

600 "date_created", 

601 models.DateTimeField( 

602 blank=True, 

603 default=django.utils.timezone.now, 

604 editable=False, 

605 null=True, 

606 verbose_name="Creation date", 

607 ), 

608 ), 

609 ( 

610 "date_last_modified", 

611 models.DateTimeField( 

612 blank=True, 

613 default=django.utils.timezone.now, 

614 editable=False, 

615 null=True, 

616 verbose_name="Last modification date", 

617 ), 

618 ), 

619 ( 

620 "file", 

621 models.FileField( 

622 max_length=1024, 

623 storage=mesh.model.file_helpers.MeshFileSystemStorage, 

624 upload_to=mesh.models.file_models.get_upload_path_from_model, 

625 ), 

626 ), 

627 ("name", models.CharField(blank=True, max_length=256)), 

628 ( 

629 "attached_to", 

630 models.OneToOneField( 

631 on_delete=django.db.models.deletion.CASCADE, 

632 primary_key=True, 

633 related_name="main_file", 

634 serialize=False, 

635 to="mesh.submissionversion", 

636 ), 

637 ), 

638 ], 

639 options={ 

640 "abstract": False, 

641 }, 

642 ), 

643 migrations.CreateModel( 

644 name="UserToken", 

645 fields=[ 

646 ( 

647 "id", 

648 models.BigAutoField( 

649 auto_created=True, primary_key=True, serialize=False, verbose_name="ID" 

650 ), 

651 ), 

652 ( 

653 "date_created", 

654 models.DateTimeField( 

655 blank=True, 

656 default=django.utils.timezone.now, 

657 editable=False, 

658 null=True, 

659 verbose_name="Creation date", 

660 ), 

661 ), 

662 ( 

663 "date_last_modified", 

664 models.DateTimeField( 

665 blank=True, 

666 default=django.utils.timezone.now, 

667 editable=False, 

668 null=True, 

669 verbose_name="Last modification date", 

670 ), 

671 ), 

672 ("key", models.CharField(max_length=256, unique=True)), 

673 ( 

674 "date_refreshed", 

675 models.DateField(blank=True, help_text="Automatically filled when created."), 

676 ), 

677 ( 

678 "created_by", 

679 models.ForeignKey( 

680 blank=True, 

681 editable=False, 

682 help_text="Automatically filled on save.", 

683 null=True, 

684 on_delete=django.db.models.deletion.SET_NULL, 

685 related_name="+", 

686 to=settings.AUTH_USER_MODEL, 

687 verbose_name="Created by", 

688 ), 

689 ), 

690 ( 

691 "last_modified_by", 

692 models.ForeignKey( 

693 blank=True, 

694 editable=False, 

695 help_text="Automatically filled on save.", 

696 null=True, 

697 on_delete=django.db.models.deletion.SET_NULL, 

698 related_name="+", 

699 to=settings.AUTH_USER_MODEL, 

700 verbose_name="Last modified by", 

701 ), 

702 ), 

703 ( 

704 "user", 

705 models.OneToOneField( 

706 on_delete=django.db.models.deletion.CASCADE, 

707 related_name="token", 

708 to=settings.AUTH_USER_MODEL, 

709 ), 

710 ), 

711 ], 

712 options={ 

713 "abstract": False, 

714 }, 

715 ), 

716 migrations.CreateModel( 

717 name="Suggestion", 

718 fields=[ 

719 ( 

720 "id", 

721 models.BigAutoField( 

722 auto_created=True, primary_key=True, serialize=False, verbose_name="ID" 

723 ), 

724 ), 

725 ( 

726 "suggest_to_avoid", 

727 models.BooleanField( 

728 default=False, 

729 verbose_name="Suggested by an author to not review the submission", 

730 ), 

731 ), 

732 ("seq", models.IntegerField()), 

733 ( 

734 "submission", 

735 models.ForeignKey( 

736 blank=True, 

737 null=True, 

738 on_delete=django.db.models.deletion.CASCADE, 

739 related_name="suggestions_for_reviewer", 

740 to="mesh.submission", 

741 ), 

742 ), 

743 ( 

744 "suggested_reviewer", 

745 models.ForeignKey( 

746 blank=True, 

747 null=True, 

748 on_delete=django.db.models.deletion.CASCADE, 

749 related_name="suggestions_for_submission", 

750 to="mesh.suggestedreviewer", 

751 ), 

752 ), 

753 ( 

754 "suggested_user", 

755 models.ForeignKey( 

756 blank=True, 

757 null=True, 

758 on_delete=django.db.models.deletion.CASCADE, 

759 related_name="suggestions_for_submission", 

760 to=settings.AUTH_USER_MODEL, 

761 ), 

762 ), 

763 ], 

764 ), 

765 migrations.CreateModel( 

766 name="SubmissionLog", 

767 fields=[ 

768 ( 

769 "id", 

770 models.BigAutoField( 

771 auto_created=True, primary_key=True, serialize=False, verbose_name="ID" 

772 ), 

773 ), 

774 ( 

775 "date_created", 

776 models.DateTimeField( 

777 blank=True, 

778 default=django.utils.timezone.now, 

779 editable=False, 

780 null=True, 

781 verbose_name="Creation date", 

782 ), 

783 ), 

784 ( 

785 "date_last_modified", 

786 models.DateTimeField( 

787 blank=True, 

788 default=django.utils.timezone.now, 

789 editable=False, 

790 null=True, 

791 verbose_name="Last modification date", 

792 ), 

793 ), 

794 ("content", models.TextField(blank=True, null=True)), 

795 ("content_en", models.TextField(blank=True, null=True)), 

796 ("code", models.CharField(blank=True, max_length=128, null=True)), 

797 ( 

798 "type", 

799 models.CharField( 

800 choices=[("generated", "Auto generated"), ("manual", "Manual entry")], 

801 default="generated", 

802 max_length=32, 

803 verbose_name="Message type", 

804 ), 

805 ), 

806 ( 

807 "significant", 

808 models.BooleanField(default=False, verbose_name="Significant log"), 

809 ), 

810 ( 

811 "attached_to", 

812 models.ForeignKey( 

813 on_delete=django.db.models.deletion.CASCADE, 

814 related_name="log_messages", 

815 to="mesh.submission", 

816 ), 

817 ), 

818 ( 

819 "created_by", 

820 models.ForeignKey( 

821 blank=True, 

822 editable=False, 

823 help_text="Automatically filled on save.", 

824 null=True, 

825 on_delete=django.db.models.deletion.SET_NULL, 

826 related_name="+", 

827 to=settings.AUTH_USER_MODEL, 

828 verbose_name="Created by", 

829 ), 

830 ), 

831 ( 

832 "impersonated_by", 

833 models.ForeignKey( 

834 blank=True, 

835 editable=False, 

836 null=True, 

837 on_delete=django.db.models.deletion.SET_NULL, 

838 related_name="+", 

839 to=settings.AUTH_USER_MODEL, 

840 ), 

841 ), 

842 ( 

843 "last_modified_by", 

844 models.ForeignKey( 

845 blank=True, 

846 editable=False, 

847 help_text="Automatically filled on save.", 

848 null=True, 

849 on_delete=django.db.models.deletion.SET_NULL, 

850 related_name="+", 

851 to=settings.AUTH_USER_MODEL, 

852 verbose_name="Last modified by", 

853 ), 

854 ), 

855 ], 

856 options={ 

857 "abstract": False, 

858 }, 

859 ), 

860 migrations.CreateModel( 

861 name="SubmissionAuthor", 

862 fields=[ 

863 ( 

864 "id", 

865 models.BigAutoField( 

866 auto_created=True, primary_key=True, serialize=False, verbose_name="ID" 

867 ), 

868 ), 

869 ( 

870 "date_created", 

871 models.DateTimeField( 

872 blank=True, 

873 default=django.utils.timezone.now, 

874 editable=False, 

875 null=True, 

876 verbose_name="Creation date", 

877 ), 

878 ), 

879 ( 

880 "date_last_modified", 

881 models.DateTimeField( 

882 blank=True, 

883 default=django.utils.timezone.now, 

884 editable=False, 

885 null=True, 

886 verbose_name="Last modification date", 

887 ), 

888 ), 

889 ("first_name", models.CharField(max_length=150, verbose_name="First name")), 

890 ("last_name", models.CharField(max_length=150, verbose_name="Last name")), 

891 ("email", models.EmailField(max_length=254, verbose_name="E-mail address")), 

892 ( 

893 "corresponding", 

894 models.BooleanField( 

895 default=False, 

896 help_text="If checked, e-mails will be sent to advise of any progress in the submission process.", 

897 verbose_name="Corresponding contact", 

898 ), 

899 ), 

900 ( 

901 "created_by", 

902 models.ForeignKey( 

903 blank=True, 

904 editable=False, 

905 help_text="Automatically filled on save.", 

906 null=True, 

907 on_delete=django.db.models.deletion.SET_NULL, 

908 related_name="+", 

909 to=settings.AUTH_USER_MODEL, 

910 verbose_name="Created by", 

911 ), 

912 ), 

913 ( 

914 "last_modified_by", 

915 models.ForeignKey( 

916 blank=True, 

917 editable=False, 

918 help_text="Automatically filled on save.", 

919 null=True, 

920 on_delete=django.db.models.deletion.SET_NULL, 

921 related_name="+", 

922 to=settings.AUTH_USER_MODEL, 

923 verbose_name="Last modified by", 

924 ), 

925 ), 

926 ( 

927 "submission", 

928 models.ForeignKey( 

929 blank=True, 

930 editable=False, 

931 on_delete=django.db.models.deletion.CASCADE, 

932 related_name="authors", 

933 to="mesh.submission", 

934 ), 

935 ), 

936 ], 

937 ), 

938 migrations.CreateModel( 

939 name="SubmissionAdditionalFile", 

940 fields=[ 

941 ( 

942 "id", 

943 models.BigAutoField( 

944 auto_created=True, primary_key=True, serialize=False, verbose_name="ID" 

945 ), 

946 ), 

947 ( 

948 "date_created", 

949 models.DateTimeField( 

950 blank=True, 

951 default=django.utils.timezone.now, 

952 editable=False, 

953 null=True, 

954 verbose_name="Creation date", 

955 ), 

956 ), 

957 ( 

958 "date_last_modified", 

959 models.DateTimeField( 

960 blank=True, 

961 default=django.utils.timezone.now, 

962 editable=False, 

963 null=True, 

964 verbose_name="Last modification date", 

965 ), 

966 ), 

967 ( 

968 "file", 

969 models.FileField( 

970 max_length=1024, 

971 storage=mesh.model.file_helpers.MeshFileSystemStorage, 

972 upload_to=mesh.models.file_models.get_upload_path_from_model, 

973 ), 

974 ), 

975 ("name", models.CharField(blank=True, max_length=256)), 

976 ( 

977 "attached_to", 

978 models.ForeignKey( 

979 on_delete=django.db.models.deletion.CASCADE, 

980 related_name="additional_files", 

981 to="mesh.submissionversion", 

982 ), 

983 ), 

984 ( 

985 "created_by", 

986 models.ForeignKey( 

987 blank=True, 

988 editable=False, 

989 help_text="Automatically filled on save.", 

990 null=True, 

991 on_delete=django.db.models.deletion.SET_NULL, 

992 related_name="+", 

993 to=settings.AUTH_USER_MODEL, 

994 verbose_name="Created by", 

995 ), 

996 ), 

997 ( 

998 "last_modified_by", 

999 models.ForeignKey( 

1000 blank=True, 

1001 editable=False, 

1002 help_text="Automatically filled on save.", 

1003 null=True, 

1004 on_delete=django.db.models.deletion.SET_NULL, 

1005 related_name="+", 

1006 to=settings.AUTH_USER_MODEL, 

1007 verbose_name="Last modified by", 

1008 ), 

1009 ), 

1010 ], 

1011 options={ 

1012 "abstract": False, 

1013 }, 

1014 ), 

1015 migrations.CreateModel( 

1016 name="ReviewAdditionalFile", 

1017 fields=[ 

1018 ( 

1019 "id", 

1020 models.BigAutoField( 

1021 auto_created=True, primary_key=True, serialize=False, verbose_name="ID" 

1022 ), 

1023 ), 

1024 ( 

1025 "date_created", 

1026 models.DateTimeField( 

1027 blank=True, 

1028 default=django.utils.timezone.now, 

1029 editable=False, 

1030 null=True, 

1031 verbose_name="Creation date", 

1032 ), 

1033 ), 

1034 ( 

1035 "date_last_modified", 

1036 models.DateTimeField( 

1037 blank=True, 

1038 default=django.utils.timezone.now, 

1039 editable=False, 

1040 null=True, 

1041 verbose_name="Last modification date", 

1042 ), 

1043 ), 

1044 ( 

1045 "file", 

1046 models.FileField( 

1047 max_length=1024, 

1048 storage=mesh.model.file_helpers.MeshFileSystemStorage, 

1049 upload_to=mesh.models.file_models.get_upload_path_from_model, 

1050 ), 

1051 ), 

1052 ("name", models.CharField(blank=True, max_length=256)), 

1053 ("author_access", models.BooleanField(default=False)), 

1054 ( 

1055 "attached_to", 

1056 models.ForeignKey( 

1057 on_delete=django.db.models.deletion.CASCADE, 

1058 related_name="additional_files", 

1059 to="mesh.review", 

1060 ), 

1061 ), 

1062 ( 

1063 "created_by", 

1064 models.ForeignKey( 

1065 blank=True, 

1066 editable=False, 

1067 help_text="Automatically filled on save.", 

1068 null=True, 

1069 on_delete=django.db.models.deletion.SET_NULL, 

1070 related_name="+", 

1071 to=settings.AUTH_USER_MODEL, 

1072 verbose_name="Created by", 

1073 ), 

1074 ), 

1075 ( 

1076 "last_modified_by", 

1077 models.ForeignKey( 

1078 blank=True, 

1079 editable=False, 

1080 help_text="Automatically filled on save.", 

1081 null=True, 

1082 on_delete=django.db.models.deletion.SET_NULL, 

1083 related_name="+", 

1084 to=settings.AUTH_USER_MODEL, 

1085 verbose_name="Last modified by", 

1086 ), 

1087 ), 

1088 ], 

1089 options={ 

1090 "abstract": False, 

1091 }, 

1092 ), 

1093 migrations.AddField( 

1094 model_name="review", 

1095 name="version", 

1096 field=models.ForeignKey( 

1097 blank=True, 

1098 help_text="Automatically filled on save", 

1099 on_delete=django.db.models.deletion.CASCADE, 

1100 related_name="reviews", 

1101 to="mesh.submissionversion", 

1102 ), 

1103 ), 

1104 migrations.CreateModel( 

1105 name="EditorSubmissionRight", 

1106 fields=[ 

1107 ( 

1108 "id", 

1109 models.BigAutoField( 

1110 auto_created=True, primary_key=True, serialize=False, verbose_name="ID" 

1111 ), 

1112 ), 

1113 ( 

1114 "date_created", 

1115 models.DateTimeField( 

1116 blank=True, 

1117 default=django.utils.timezone.now, 

1118 editable=False, 

1119 null=True, 

1120 verbose_name="Creation date", 

1121 ), 

1122 ), 

1123 ( 

1124 "date_last_modified", 

1125 models.DateTimeField( 

1126 blank=True, 

1127 default=django.utils.timezone.now, 

1128 editable=False, 

1129 null=True, 

1130 verbose_name="Last modification date", 

1131 ), 

1132 ), 

1133 ( 

1134 "created_by", 

1135 models.ForeignKey( 

1136 blank=True, 

1137 editable=False, 

1138 help_text="Automatically filled on save.", 

1139 null=True, 

1140 on_delete=django.db.models.deletion.SET_NULL, 

1141 related_name="+", 

1142 to=settings.AUTH_USER_MODEL, 

1143 verbose_name="Created by", 

1144 ), 

1145 ), 

1146 ( 

1147 "last_modified_by", 

1148 models.ForeignKey( 

1149 blank=True, 

1150 editable=False, 

1151 help_text="Automatically filled on save.", 

1152 null=True, 

1153 on_delete=django.db.models.deletion.SET_NULL, 

1154 related_name="+", 

1155 to=settings.AUTH_USER_MODEL, 

1156 verbose_name="Last modified by", 

1157 ), 

1158 ), 

1159 ( 

1160 "submission", 

1161 models.ForeignKey( 

1162 on_delete=django.db.models.deletion.CASCADE, 

1163 related_name="editors", 

1164 to="mesh.submission", 

1165 verbose_name="Submission", 

1166 ), 

1167 ), 

1168 ( 

1169 "user", 

1170 models.ForeignKey( 

1171 on_delete=django.db.models.deletion.CASCADE, 

1172 related_name="editor_submissions", 

1173 to=settings.AUTH_USER_MODEL, 

1174 ), 

1175 ), 

1176 ], 

1177 ), 

1178 migrations.CreateModel( 

1179 name="EditorSectionRight", 

1180 fields=[ 

1181 ( 

1182 "id", 

1183 models.BigAutoField( 

1184 auto_created=True, primary_key=True, serialize=False, verbose_name="ID" 

1185 ), 

1186 ), 

1187 ( 

1188 "date_created", 

1189 models.DateTimeField( 

1190 blank=True, 

1191 default=django.utils.timezone.now, 

1192 editable=False, 

1193 null=True, 

1194 verbose_name="Creation date", 

1195 ), 

1196 ), 

1197 ( 

1198 "date_last_modified", 

1199 models.DateTimeField( 

1200 blank=True, 

1201 default=django.utils.timezone.now, 

1202 editable=False, 

1203 null=True, 

1204 verbose_name="Last modification date", 

1205 ), 

1206 ), 

1207 ( 

1208 "created_by", 

1209 models.ForeignKey( 

1210 blank=True, 

1211 editable=False, 

1212 help_text="Automatically filled on save.", 

1213 null=True, 

1214 on_delete=django.db.models.deletion.SET_NULL, 

1215 related_name="+", 

1216 to=settings.AUTH_USER_MODEL, 

1217 verbose_name="Created by", 

1218 ), 

1219 ), 

1220 ( 

1221 "journal_section", 

1222 models.ForeignKey( 

1223 on_delete=django.db.models.deletion.CASCADE, 

1224 related_name="editors", 

1225 to="mesh.journalsection", 

1226 verbose_name="Journal Section", 

1227 ), 

1228 ), 

1229 ( 

1230 "last_modified_by", 

1231 models.ForeignKey( 

1232 blank=True, 

1233 editable=False, 

1234 help_text="Automatically filled on save.", 

1235 null=True, 

1236 on_delete=django.db.models.deletion.SET_NULL, 

1237 related_name="+", 

1238 to=settings.AUTH_USER_MODEL, 

1239 verbose_name="Last modified by", 

1240 ), 

1241 ), 

1242 ( 

1243 "user", 

1244 models.ForeignKey( 

1245 on_delete=django.db.models.deletion.CASCADE, 

1246 related_name="editor_sections", 

1247 to=settings.AUTH_USER_MODEL, 

1248 ), 

1249 ), 

1250 ], 

1251 options={ 

1252 "abstract": False, 

1253 }, 

1254 ), 

1255 migrations.CreateModel( 

1256 name="EditorialDecisionFile", 

1257 fields=[ 

1258 ( 

1259 "id", 

1260 models.BigAutoField( 

1261 auto_created=True, primary_key=True, serialize=False, verbose_name="ID" 

1262 ), 

1263 ), 

1264 ( 

1265 "date_created", 

1266 models.DateTimeField( 

1267 blank=True, 

1268 default=django.utils.timezone.now, 

1269 editable=False, 

1270 null=True, 

1271 verbose_name="Creation date", 

1272 ), 

1273 ), 

1274 ( 

1275 "date_last_modified", 

1276 models.DateTimeField( 

1277 blank=True, 

1278 default=django.utils.timezone.now, 

1279 editable=False, 

1280 null=True, 

1281 verbose_name="Last modification date", 

1282 ), 

1283 ), 

1284 ( 

1285 "file", 

1286 models.FileField( 

1287 max_length=1024, 

1288 storage=mesh.model.file_helpers.MeshFileSystemStorage, 

1289 upload_to=mesh.models.file_models.get_upload_path_from_model, 

1290 ), 

1291 ), 

1292 ("name", models.CharField(blank=True, max_length=256)), 

1293 ( 

1294 "attached_to", 

1295 models.ForeignKey( 

1296 on_delete=django.db.models.deletion.CASCADE, 

1297 related_name="additional_files", 

1298 to="mesh.editorialdecision", 

1299 ), 

1300 ), 

1301 ( 

1302 "created_by", 

1303 models.ForeignKey( 

1304 blank=True, 

1305 editable=False, 

1306 help_text="Automatically filled on save.", 

1307 null=True, 

1308 on_delete=django.db.models.deletion.SET_NULL, 

1309 related_name="+", 

1310 to=settings.AUTH_USER_MODEL, 

1311 verbose_name="Created by", 

1312 ), 

1313 ), 

1314 ( 

1315 "last_modified_by", 

1316 models.ForeignKey( 

1317 blank=True, 

1318 editable=False, 

1319 help_text="Automatically filled on save.", 

1320 null=True, 

1321 on_delete=django.db.models.deletion.SET_NULL, 

1322 related_name="+", 

1323 to=settings.AUTH_USER_MODEL, 

1324 verbose_name="Last modified by", 

1325 ), 

1326 ), 

1327 ], 

1328 options={ 

1329 "abstract": False, 

1330 }, 

1331 ), 

1332 migrations.AddField( 

1333 model_name="editorialdecision", 

1334 name="version", 

1335 field=models.OneToOneField( 

1336 editable=False, 

1337 on_delete=django.db.models.deletion.CASCADE, 

1338 related_name="editorial_decision", 

1339 to="mesh.submissionversion", 

1340 ), 

1341 ), 

1342 migrations.AddConstraint( 

1343 model_name="submissionversion", 

1344 constraint=models.UniqueConstraint( 

1345 fields=("submission", "number"), name="unique_submission_version_number" 

1346 ), 

1347 ), 

1348 migrations.AddConstraint( 

1349 model_name="submissionversion", 

1350 constraint=models.UniqueConstraint( 

1351 condition=models.Q(("review_open", True)), 

1352 fields=("submission",), 

1353 name="unique_review_open_submission_version", 

1354 ), 

1355 ), 

1356 migrations.AddField( 

1357 model_name="submissionmainfile", 

1358 name="created_by", 

1359 field=models.ForeignKey( 

1360 blank=True, 

1361 editable=False, 

1362 help_text="Automatically filled on save.", 

1363 null=True, 

1364 on_delete=django.db.models.deletion.SET_NULL, 

1365 related_name="+", 

1366 to=settings.AUTH_USER_MODEL, 

1367 verbose_name="Created by", 

1368 ), 

1369 ), 

1370 migrations.AddField( 

1371 model_name="submissionmainfile", 

1372 name="last_modified_by", 

1373 field=models.ForeignKey( 

1374 blank=True, 

1375 editable=False, 

1376 help_text="Automatically filled on save.", 

1377 null=True, 

1378 on_delete=django.db.models.deletion.SET_NULL, 

1379 related_name="+", 

1380 to=settings.AUTH_USER_MODEL, 

1381 verbose_name="Last modified by", 

1382 ), 

1383 ), 

1384 migrations.AddConstraint( 

1385 model_name="submissionauthor", 

1386 constraint=models.UniqueConstraint( 

1387 fields=("submission", "email"), name="unique_author_email_per_submission" 

1388 ), 

1389 ), 

1390 migrations.AddConstraint( 

1391 model_name="submission", 

1392 constraint=models.UniqueConstraint( 

1393 fields=("created_by", "name"), name="unique_submission_name_per_user" 

1394 ), 

1395 ), 

1396 migrations.AddConstraint( 

1397 model_name="review", 

1398 constraint=models.UniqueConstraint( 

1399 fields=("version", "reviewer"), name="unique_reviewer_per_round" 

1400 ), 

1401 ), 

1402 migrations.AddConstraint( 

1403 model_name="editorsubmissionright", 

1404 constraint=models.UniqueConstraint( 

1405 fields=("user", "submission"), name="unique_submission_per_editor" 

1406 ), 

1407 ), 

1408 ]