Пример #1
0
    def _create_or_add_period(self, period_name, parentnode, extras):
        period = Period(parentnode=parentnode, short_name=period_name, long_name=period_name.capitalize(),
                        start_time=datetime.now(), end_time=datetime.now() + timedelta(days=5 * 30))
        try:
            period.full_clean()
            period.save()
        except ValidationError:
            period = Period.objects.get(parentnode=parentnode, short_name=period_name)

        # add the extras (only admins allowed in subject)
        for admin in extras['admin']:
            period.admins.add(self._create_or_add_user(admin))

        if extras['begins']:
            period.start_time = datetime.now() + timedelta(days=int(extras['begins'][0]) * 30)
        if extras['ends']:
            period.end_time = period.start_time + timedelta(days=int(extras['ends'][0]) * 30)
        elif extras['begins'] and not extras['ends']:
            period.end_time = period.start_time + timedelta(5 * 30)

        if extras['ln']:
            period.long_name = extras['ln'][0]

        period.full_clean()
        period.save()

        vars(self)[parentnode.short_name + '_' + period.short_name] = period
        return period
Пример #2
0
    def _create_or_add_period(self, period_name, parentnode, extras):
        period = Period(parentnode=parentnode,
                        short_name=period_name,
                        long_name=period_name.capitalize(),
                        start_time=datetime.now(),
                        end_time=datetime.now() + timedelta(days=5 * 30))
        try:
            period.full_clean()
            period.save()
        except ValidationError:
            period = Period.objects.get(parentnode=parentnode,
                                        short_name=period_name)

        # add the extras (only admins allowed in subject)
        for admin in extras['admin']:
            period.admins.add(self._create_or_add_user(admin))

        if extras['begins']:
            period.start_time = datetime.now() + timedelta(
                days=int(extras['begins'][0]) * 30)
        if extras['ends']:
            period.end_time = period.start_time + timedelta(
                days=int(extras['ends'][0]) * 30)
        elif extras['begins'] and not extras['ends']:
            period.end_time = period.start_time + timedelta(5 * 30)

        if extras['ln']:
            period.long_name = extras['ln'][0]

        period.full_clean()
        period.save()

        vars(self)[parentnode.short_name + '_' + period.short_name] = period
        return period