Ejemplo n.º 1
0
class UserFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = 'auth.User'
        django_get_or_create = ('username', )

    username = factory.Sequence(lambda n: 'username_{}'.format(n))
    first_name = factory.Faker('first_name')
    last_name = factory.Faker('last_name')
    email = factory.LazyAttribute(generate_email)
    password = factory.PostGenerationMethodCall('set_password', 'password123')

    is_active = True
    is_staff = False
    is_superuser = False

    last_login = factory.LazyAttribute(
        lambda _o: datetime.datetime(2000, 1, 1, tzinfo=get_tzinfo()))
    date_joined = factory.LazyAttribute(
        lambda _o: datetime.datetime(1999, 1, 1, tzinfo=get_tzinfo()))

    class Params:
        superuser = factory.Trait(
            username=factory.Sequence(lambda n: 'superusername_{0}'.format(n)),
            is_superuser=True,
            is_staff=True,
            is_active=True)
Ejemplo n.º 2
0
class LearningContainerFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = "base.LearningContainer"

    external_id = factory.Sequence(lambda n: '10000000%02d' % n)
    changed = factory.fuzzy.FuzzyDateTime(datetime.datetime(2016, 1, 1, tzinfo=get_tzinfo()),
                                          datetime.datetime(2017, 3, 1, tzinfo=get_tzinfo()))
Ejemplo n.º 3
0
class LearningUnitYearFactory(DjangoModelFactory):
    class Meta:
        model = "base.LearningUnitYear"

    external_id = factory.fuzzy.FuzzyText(length=10, chars=string.digits)
    academic_year = factory.SubFactory(AcademicYearFactory)
    learning_unit = factory.SubFactory(LearningUnitFactory)
    learning_container_year = factory.SubFactory(LearningContainerYearFactory)
    changed = factory.fuzzy.FuzzyDateTime(
        datetime.datetime(2016, 1, 1, tzinfo=get_tzinfo()),
        datetime.datetime(2017, 3, 1, tzinfo=get_tzinfo()))
    acronym = factory.Sequence(lambda n: 'LFAC%04d' % n)
    specific_title = factory.Sequence(lambda n: 'Learning unit year - %d' % n)
    specific_title_english = factory.Sequence(
        lambda n: 'Learning unit year english - %d' % n)
    subtype = factory.Iterator(
        learning_unit_year_subtypes.LEARNING_UNIT_YEAR_SUBTYPES,
        getter=operator.itemgetter(0))
    credits = factory.fuzzy.FuzzyDecimal(MINIMUM_CREDITS, MAXIMUM_CREDITS)
    decimal_scores = False
    status = True
    session = factory.Iterator(
        learning_unit_year_session.LEARNING_UNIT_YEAR_SESSION,
        getter=operator.itemgetter(0))
    quadrimester = factory.Iterator(
        learning_unit_year_quadrimesters.LEARNING_UNIT_YEAR_QUADRIMESTERS,
        getter=operator.itemgetter(0))
    attribution_procedure = None
Ejemplo n.º 4
0
class AcademicYearFactory(DjangoModelFactory):
    class Meta:
        model = "base.AcademicYear"
        django_get_or_create = ('year', )

    external_id = factory.fuzzy.FuzzyText(length=10, chars=string.digits)
    changed = factory.fuzzy.FuzzyDateTime(
        datetime.datetime(2016, 1, 1, tzinfo=get_tzinfo()),
        datetime.datetime(2017, 3, 1, tzinfo=get_tzinfo()))
    year = factory.fuzzy.FuzzyInteger(1950, timezone.now().year)
    start_date = factory.LazyAttribute(
        lambda obj: datetime.date(obj.year, 9, 15))
    end_date = factory.LazyAttribute(
        lambda obj: datetime.date(obj.year + 1, 9, 30))

    @staticmethod
    def produce_in_past(from_year=None, quantity=3):
        if not from_year:
            from_year = datetime.date.today().year
        i = 0
        while i < quantity:
            AcademicYearFactory(year=from_year - i)
            i += 1

    @staticmethod
    def produce_in_future(current_year, quantity=10):
        i = 1
        academic_years = []
        while i < quantity + 1:
            academic_years.append(
                AcademicYearFactory.build(year=current_year + i))
            i += 1
        AcademicYear.objects.bulk_create(academic_years)
Ejemplo n.º 5
0
class TutorFactory(factory.DjangoModelFactory):
    class Meta:
        model = 'base.Tutor'

    external_id = factory.fuzzy.FuzzyText(length=10, chars=string.digits)
    changed = factory.fuzzy.FuzzyDateTime(datetime.datetime(2016, 1, 1, tzinfo=get_tzinfo()),
                                          datetime.datetime(2017, 3, 1, tzinfo=get_tzinfo()))
    person = factory.SubFactory(PersonFactory)
Ejemplo n.º 6
0
class OfferFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = "base.Offer"

    external_id = factory.fuzzy.FuzzyText(length=10, chars=string.digits)
    changed = factory.fuzzy.FuzzyDateTime(datetime.datetime(2016, 1, 1, tzinfo=get_tzinfo()),
                                          datetime.datetime(2017, 3, 1, tzinfo=get_tzinfo()))
    title = factory.Sequence(lambda n: 'Offer %d' %n)
Ejemplo n.º 7
0
def generate_end_date(offer_year_calendar):
    if offer_year_calendar.academic_calendar:
        return datetime.datetime(offer_year_calendar.academic_calendar.end_date.year,
                                 offer_year_calendar.academic_calendar.end_date.month,
                                 offer_year_calendar.academic_calendar.end_date.day,
                                 tzinfo=get_tzinfo())
    else:
        return datetime.datetime(2099, 1, 1, tzinfo=get_tzinfo())
Ejemplo n.º 8
0
class CampusFactory(factory.DjangoModelFactory):
    class Meta:
        model = 'base.Campus'

    external_id = factory.fuzzy.FuzzyText(length=10, chars=string.digits)
    changed = factory.fuzzy.FuzzyDateTime(datetime.datetime(2016, 1, 1, tzinfo=get_tzinfo()),
                                          datetime.datetime(2017, 3, 1, tzinfo=get_tzinfo()))
    name = factory.Faker('first_name')
    organization = factory.SubFactory(OrganizationFactory)
Ejemplo n.º 9
0
def generate_end_date(abstract_calendar):
    if abstract_calendar.academic_calendar:
        return datetime.datetime(
            abstract_calendar.academic_calendar.end_date.year,
            abstract_calendar.academic_calendar.end_date.month,
            abstract_calendar.academic_calendar.end_date.day,
            tzinfo=get_tzinfo())
    else:
        return datetime.datetime(2099, 1, 1, tzinfo=get_tzinfo())
Ejemplo n.º 10
0
class LearningUnitEnrollmentFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = "base.LearningUnitEnrollment"

    external_id = factory.fuzzy.FuzzyText(length=10, chars=string.digits)
    changed = factory.fuzzy.FuzzyDateTime(datetime.datetime(2016, 1, 1, tzinfo=get_tzinfo()),
                                          datetime.datetime(2017, 3, 1, tzinfo=get_tzinfo()))
    date_enrollment = datetime.datetime.now(tz=get_tzinfo())
    learning_unit_year = factory.SubFactory(LearningUnitYearFactory)
    offer_enrollment = factory.SubFactory(OfferEnrollmentFactory)
class ProgramManagerFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = "base.ProgramManager"
        django_get_or_create = ('person', 'offer_year')

    external_id = factory.fuzzy.FuzzyText(length=10, chars=string.digits)
    changed = factory.fuzzy.FuzzyDateTime(datetime.datetime(2016, 1, 1, tzinfo=get_tzinfo()),
                                          datetime.datetime(2017, 3, 1, tzinfo=get_tzinfo()))
    person = factory.SubFactory(PersonFactory)
    offer_year = factory.SubFactory(OfferYearFactory)
Ejemplo n.º 12
0
class AcademicYearFakerFactory(DjangoModelFactory):
    class Meta:
        model = "base.AcademicYear"
        django_get_or_create = ('year',)

    external_id = factory.Sequence(lambda n: '10000000%02d' % n)
    changed = fake.date_time_this_decade(before_now=True, after_now=True, tzinfo=get_tzinfo())
    start_date = fake.date_time_this_decade(before_now=True, after_now=False, tzinfo=get_tzinfo())
    end_date = fake.date_time_this_decade(before_now=False, after_now=True, tzinfo=get_tzinfo())
    year = factory.SelfAttribute('start_date.year')
Ejemplo n.º 13
0
class StudentFactory(factory.DjangoModelFactory):
    class Meta:
        model = 'base.Student'
        django_get_or_create = ('registration_id', )

    external_id = factory.fuzzy.FuzzyText(length=10, chars=string.digits)
    changed = factory.fuzzy.FuzzyDateTime(datetime.datetime(2016, 1, 1, tzinfo=get_tzinfo()),
                                          datetime.datetime(2017, 3, 1, tzinfo=get_tzinfo()))
    registration_id = factory.fuzzy.FuzzyText(length=10, chars=string.digits)
    person = factory.SubFactory(PersonFactory)
Ejemplo n.º 14
0
class SessionExamFactory(factory.DjangoModelFactory):
    class Meta:
        model = 'base.SessionExam'

    external_id = factory.fuzzy.FuzzyText(length=10, chars=string.digits)
    changed = factory.fuzzy.FuzzyDateTime(
        datetime.datetime(2016, 1, 1, tzinfo=get_tzinfo()),
        datetime.datetime(2017, 3, 1, tzinfo=get_tzinfo()))
    number_session = factory.fuzzy.FuzzyInteger(1000)
    learning_unit_year = factory.SubFactory(LearningUnitYear)
Ejemplo n.º 15
0
class GroupElementYearFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = "base.GroupElementYear"

    external_id = factory.fuzzy.FuzzyText(length=10, chars=string.digits)
    changed = factory.fuzzy.FuzzyDateTime(
        datetime.datetime(2016, 1, 1, tzinfo=get_tzinfo()),
        datetime.datetime(2017, 3, 1, tzinfo=get_tzinfo()))
    parent = factory.SubFactory(EducationGroupYearFactory)
    child_branch = factory.SubFactory(EducationGroupYearFactory)
Ejemplo n.º 16
0
class ProposalFolderFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = "base.ProposalFolder"
        django_get_or_create = ('entity', )

    external_id = factory.fuzzy.FuzzyText(length=10, chars=string.digits)
    changed = factory.fuzzy.FuzzyDateTime(datetime.datetime(2016, 1, 1, tzinfo=get_tzinfo()),
                                          datetime.datetime(2017, 3, 1, tzinfo=get_tzinfo()))
    entity = factory.SubFactory(EntityFactory)
    folder_id = factory.fuzzy.FuzzyInteger(100)
class EducationGroupFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = "base.EducationGroup"

    external_id = factory.fuzzy.FuzzyText(length=10, chars=string.digits)
    changed = factory.fuzzy.FuzzyDateTime(
        datetime.datetime(2016, 1, 1, tzinfo=get_tzinfo()),
        datetime.datetime(2017, 3, 1, tzinfo=get_tzinfo()))
    start_year = factory.fuzzy.FuzzyInteger(2000, timezone.now().year)
    end_year = factory.fuzzy.FuzzyInteger(2000, timezone.now().year)
Ejemplo n.º 18
0
class OfferEnrollmentFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = "base.OfferEnrollment"

    date_enrollment = factory.fuzzy.FuzzyDateTime(
        datetime.datetime(2016, 1, 1, tzinfo=get_tzinfo()),
        datetime.datetime(2017, 3, 1, tzinfo=get_tzinfo()))
    external_id = factory.fuzzy.FuzzyText(length=10, chars=string.digits)
    offer_year = factory.SubFactory(OfferYearFactory)
    student = factory.SubFactory(StudentFactory)
    enrollment_state = offer_enrollment_state.SUBSCRIBED
Ejemplo n.º 19
0
class EntityComponentYearFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = "base.EntityComponentYear"

    changed = factory.fuzzy.FuzzyDateTime(
        datetime.datetime(2016, 1, 1, tzinfo=get_tzinfo()),
        datetime.datetime(2017, 3, 1, tzinfo=get_tzinfo()))

    entity_container_year = factory.SubFactory(EntityContainerYearFactory)
    learning_component_year = factory.SubFactory(LearningComponentYearFactory)
    repartition_volume = factory.fuzzy.FuzzyDecimal(9)
Ejemplo n.º 20
0
class MandateFactory(DjangoModelFactory):
    class Meta:
        model = "base.Mandate"

    external_id = factory.fuzzy.FuzzyText(length=10, chars=string.digits)
    changed = factory.fuzzy.FuzzyDateTime(datetime.datetime(2016, 1, 1, tzinfo=get_tzinfo()),
                                          datetime.datetime(2017, 3, 1, tzinfo=get_tzinfo()))
    education_group = factory.SubFactory(EducationGroupFactory)
    function = factory.Iterator(mandate_types.MANDATE_TYPES,
                            getter=operator.itemgetter(0))
    qualification = factory.Sequence(lambda n: 'qualification - %d' % n)
Ejemplo n.º 21
0
class LearningComponentYearFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = "base.LearningComponentYear"

    external_id = factory.Sequence(lambda n: '10000000%02d' % n)
    changed = factory.fuzzy.FuzzyDateTime(datetime.datetime(2016, 1, 1, tzinfo=get_tzinfo()),
                                          datetime.datetime(2017, 3, 1, tzinfo=get_tzinfo()))
    learning_unit_year = factory.SubFactory(LearningUnitYearFactory)
    acronym = factory.Sequence(lambda n: 'A%d' % n)
    type = factory.Iterator(learning_component_year_type.LEARNING_COMPONENT_YEAR_TYPES, getter=operator.itemgetter(0))
    volume_declared_vacant = factory.fuzzy.FuzzyDecimal(0, 50, precision=1)
Ejemplo n.º 22
0
class EntityCalendarFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = "base.EntityCalendar"

    external_id = factory.fuzzy.FuzzyText(length=10, chars=string.digits)
    changed = factory.fuzzy.FuzzyDateTime(
        datetime.datetime(2016, 1, 1, tzinfo=get_tzinfo()),
        datetime.datetime(2017, 3, 1, tzinfo=get_tzinfo()))
    academic_calendar = factory.SubFactory(AcademicCalendarFactory)
    entity = factory.SubFactory(EntityFactory)
    start_date = factory.LazyAttribute(generate_start_date)
    end_date = factory.LazyAttribute(generate_end_date)
Ejemplo n.º 23
0
class LearningContainerYearFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = "base.LearningContainerYear"

    external_id = factory.Sequence(lambda n: '10000000%02d' % n)
    academic_year = factory.SubFactory(AcademicYearFactory)
    learning_container = factory.SubFactory(LearningContainerFactory)
    container_type = factory.Iterator(learning_container_year_types.LEARNING_CONTAINER_YEAR_TYPES, getter=operator.itemgetter(0))
    title = factory.Sequence(lambda n: 'Learning container year - %d' % n)
    acronym = factory.Sequence(lambda n: 'LCY-%d' % n)
    changed = factory.fuzzy.FuzzyDateTime(datetime.datetime(2016, 1, 1, tzinfo=get_tzinfo()),
                                          datetime.datetime(2017, 3, 1, tzinfo=get_tzinfo()))
Ejemplo n.º 24
0
class SessionExamFactory(factory.DjangoModelFactory):
    class Meta:
        model = 'base.SessionExam'

    external_id = factory.fuzzy.FuzzyText(length=10, chars=string.digits)
    changed = factory.fuzzy.FuzzyDateTime(
        datetime.datetime(2016, 1, 1, tzinfo=get_tzinfo()),
        datetime.datetime(2017, 3, 1, tzinfo=get_tzinfo()))
    number_session = factory.Iterator(number_session_enum.NUMBERS_SESSION,
                                      getter=operator.itemgetter(0))
    learning_unit_year = factory.SubFactory(LearningUnitYear)
    offer_year = factory.SubFactory(OfferYearFactory)
class OfferYearEntityFactory(factory.DjangoModelFactory):
    class Meta:
        model = 'base.OfferYearEntity'

    external_id = factory.fuzzy.FuzzyText(length=10, chars=string.digits)
    changed = factory.fuzzy.FuzzyDateTime(
        datetime.datetime(2016, 1, 1, tzinfo=get_tzinfo()),
        datetime.datetime(2017, 3, 1, tzinfo=get_tzinfo()))
    offer_year = factory.SubFactory(OfferYearFactory)
    entity = factory.SubFactory(EntityFactory)
    type = factory.Iterator(offer_year_entity_type.TYPES,
                            getter=operator.itemgetter(0))
Ejemplo n.º 26
0
class LearningContainerYearFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = "base.LearningContainerYear"

    external_id = factory.Sequence(lambda n: '10000000%02d' % n)
    changed = factory.fuzzy.FuzzyDateTime(datetime.datetime(2016, 1, 1, tzinfo=get_tzinfo()),
                                          datetime.datetime(2017, 3, 1, tzinfo=get_tzinfo()))
    acronym = factory.Sequence(lambda n: 'LCY-%d' % n)
    academic_year = factory.SubFactory(AcademicYearFactory)
    common_title = factory.Sequence(lambda n: 'Learning container year - %d' % n)
    common_title_english = factory.Sequence(lambda n: 'Learning container year - %d' % n)
    type_declaration_vacant = vacant_declaration_type.RESERVED_FOR_INTERNS
Ejemplo n.º 27
0
class EntityContainerYearFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = "base.EntityContainerYear"

    changed = factory.fuzzy.FuzzyDateTime(
        datetime.datetime(2016, 1, 1, tzinfo=get_tzinfo()),
        datetime.datetime(2017, 3, 1, tzinfo=get_tzinfo()))
    entity = factory.SubFactory(EntityFactory)
    learning_container_year = factory.SubFactory(LearningContainerYearFactory)
    type = factory.Iterator(
        entity_container_year_link_type.ENTITY_CONTAINER_YEAR_LINK_TYPES,
        getter=operator.itemgetter(0))
Ejemplo n.º 28
0
class MandataryFactory(DjangoModelFactory):
    class Meta:
        model = "base.Mandatary"

    external_id = factory.fuzzy.FuzzyText(length=10, chars=string.digits)
    changed = factory.fuzzy.FuzzyDateTime(
        datetime.datetime(2016, 1, 1, tzinfo=get_tzinfo()),
        datetime.datetime(2017, 3, 1, tzinfo=get_tzinfo()))
    mandate = factory.SubFactory(MandateFactory)
    person = factory.SubFactory(PersonFactory)
    start_date = factory.LazyAttribute(generate_start_date)
    end_date = factory.LazyAttribute(generate_end_date)
Ejemplo n.º 29
0
class SessionExamCalendarFactory(factory.DjangoModelFactory):
    class Meta:
        model = "base.SessionExamCalendar"

    external_id = factory.fuzzy.FuzzyText(length=10, chars=string.digits)
    changed = factory.fuzzy.FuzzyDateTime(
        datetime.datetime(2016, 1, 1, tzinfo=get_tzinfo()),
        datetime.datetime(2017, 3, 1, tzinfo=get_tzinfo()))
    number_session = factory.Iterator(number_session.NUMBERS_SESSION,
                                      getter=operator.itemgetter(0))
    academic_calendar = factory.SubFactory(
        AcademicCalendarFactory,
        reference=academic_calendar_type.SCORES_EXAM_SUBMISSION)
Ejemplo n.º 30
0
class OfferYearCalendarFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = "base.OfferYearCalendar"

    external_id = factory.fuzzy.FuzzyText(length=10, chars=string.digits)
    changed = factory.fuzzy.FuzzyDateTime(
        datetime.datetime(2016, 1, 1, tzinfo=get_tzinfo()),
        datetime.datetime(2017, 3, 1, tzinfo=get_tzinfo()))
    academic_calendar = factory.SubFactory(AcademicCalendarFactory)
    offer_year = factory.SubFactory(OfferYearFactory)
    start_date = factory.LazyAttribute(generate_start_date)
    end_date = factory.LazyAttribute(generate_end_date)
    education_group_year = factory.SubFactory(EducationGroupYearFactory)
Ejemplo n.º 31
0
def find_last_entity_version_by_learning_unit_year_id(learning_unit_year_id, entity_type):
    now = datetime.datetime.now(get_tzinfo())
    try:
        return EntityVersion.objects.current(now).\
            filter(entity__entitycontaineryear__learning_container_year__learningunityear__id=learning_unit_year_id,
                   entity__entitycontaineryear__type=entity_type). \
            latest('start_date')
    except EntityVersion.DoesNotExist:
        return None
Ejemplo n.º 32
0
def _is_calendar_opened_to_edit_educational_information(*, learning_unit_year_id, **kwargs):
    submission_dates = find_educational_information_submission_dates_of_learning_unit_year(learning_unit_year_id)
    permission_denied_msg = _("Not in period to edit description fiche.")
    if not submission_dates:
        raise PermissionDenied(permission_denied_msg)

    now = datetime.datetime.now(tz=get_tzinfo())
    value = convert_date_to_datetime(submission_dates["start_date"]) <= now <= \
        convert_date_to_datetime(submission_dates["end_date"])
    if not value:
        raise PermissionDenied(permission_denied_msg)
Ejemplo n.º 33
0
def find_all_current_entities_version():
    now = datetime.datetime.now(get_tzinfo())
    return find_latest_version(date=now)