diff --git a/SciPost_v1/settings.py b/SciPost_v1/settings.py index ea7e4611ac1264e4d01d8ff4a23d113b77ea3151..e999aaf861ad93644bac8aac6fa39b8d4a61a69c 100644 --- a/SciPost_v1/settings.py +++ b/SciPost_v1/settings.py @@ -105,8 +105,8 @@ CAPTCHA_NOISE_FUNCTIONS = ('captcha.helpers.noise_dots',) SHELL_PLUS_POST_IMPORTS = ( ('theses.factories', ('ThesisLinkFactory')), - ('comments.factories', 'CommentFactory'), - ('submissions.factories', 'SubmissionFactory'), + ('comments.factories', ('CommentFactory')), + ('submissions.factories', ('SubmissionFactory', 'EICassignedSubmissionFactory')), ) MATHJAX_ENABLED = True diff --git a/comments/migrations/0010_auto_20170219_1006.py b/comments/migrations/0010_auto_20170219_1006.py new file mode 100644 index 0000000000000000000000000000000000000000..10a486d2f7338d7077ef688617775862476d3dde --- /dev/null +++ b/comments/migrations/0010_auto_20170219_1006.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.3 on 2017-02-19 09:06 +from __future__ import unicode_literals + +import comments.behaviors +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('comments', '0009_auto_20170212_2025'), + ] + + operations = [ + migrations.AlterField( + model_name='comment', + name='author', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='scipost.Contributor'), + ), + migrations.AlterField( + model_name='comment', + name='file_attachment', + field=models.FileField(blank=True, upload_to='uploads/comments/%Y/%m/%d/', validators=[comments.behaviors.validate_file_extension, comments.behaviors.validate_max_file_size]), + ), + ] diff --git a/submissions/factories.py b/submissions/factories.py index 1989401d8ccefa0ea02f58f18e4cada6fad5ebf5..7f07c30523a94c2ec6c33b0b423a47cb62bd756f 100644 --- a/submissions/factories.py +++ b/submissions/factories.py @@ -1,4 +1,6 @@ import factory +import random +import string from scipost.factories import ContributorFactory @@ -9,17 +11,28 @@ class SubmissionFactory(factory.django.DjangoModelFactory): class Meta: model = Submission + author_list = factory.Faker('name') submitted_by = factory.SubFactory(ContributorFactory) submitted_to_journal = 'SciPost Physics' title = factory.Faker('bs') abstract = factory.Faker('text') arxiv_link = factory.Faker('uri') + arxiv_identifier_w_vn_nr = factory.Sequence(lambda n: random_arxiv_identifier_with_version_number()) + arxiv_identifier_wo_vn_nr = factory.LazyAttribute(lambda obj: obj.arxiv_identifier_w_vn_nr[0:-2]) + domain = 'E' - @factory.post_generation - def authors(self, create, extracted, **kwargs): - # Add a single author if factory is invoked with strategy 'create' - if not create: - return - else: - self.authors.add(ContributorFactory()) +class EICassignedSubmissionFactory(SubmissionFactory): + status = 'EICassigned' + editor_in_charge = factory.SubFactory(ContributorFactory) + + + +def random_arxiv_identifier_with_version_number(): + return random_arxiv_identifier_without_version_number() + "v0" + +def random_arxiv_identifier_without_version_number(): + return random_digits(4) + "." + random_digits(5) + +def random_digits(n): + return "".join(random.choice(string.digits) for _ in range(n))