当前位置: 首页>>代码示例>>Python>>正文


Python ProgrammeEventMeta.get_or_create_groups方法代码示例

本文整理汇总了Python中programme.models.ProgrammeEventMeta.get_or_create_groups方法的典型用法代码示例。如果您正苦于以下问题:Python ProgrammeEventMeta.get_or_create_groups方法的具体用法?Python ProgrammeEventMeta.get_or_create_groups怎么用?Python ProgrammeEventMeta.get_or_create_groups使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在programme.models.ProgrammeEventMeta的用法示例。


在下文中一共展示了ProgrammeEventMeta.get_or_create_groups方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: handle

# 需要导入模块: from programme.models import ProgrammeEventMeta [as 别名]
# 或者: from programme.models.ProgrammeEventMeta import get_or_create_groups [as 别名]
    def handle(*args, **options):
        tz = tzlocal()

        venue, unused = Venue.objects.get_or_create(
            name="Peltolan ammattiopisto",
            defaults=dict(name_inessive="Peltolan ammattiopistolla"),  # XXX not really inessive
        )

        room_order = 0
        for room_name in [
            # u'Auditorio',
            # u'Pääsali',
            # u'E-rakennus, luokat',
            # u'Kawaplay, G-rakennus',
            # u'Elokuvateatteri Tapio',
        ]:
            room_order += 100
            Room.objects.get_or_create(venue=venue, name=room_name, defaults=dict(order=room_order))

        event, unused = Event.objects.get_or_create(
            slug="kawacon2014",
            defaults=dict(
                name="Kawacon 2014",
                name_genitive="Kawacon 2014 -tapahtuman",
                name_illative="Kawacon 2014 -tapahtumaan",
                name_inessive="Kawacon 2014 -tapahtumassa",
                homepage_url="http://kawacon.info",
                organization_name="Kawacon ry",
                organization_url="http://kawacon.info",
                start_time=datetime(2014, 6, 28, 10, 0, tzinfo=tz),
                end_time=datetime(2014, 6, 29, 18, 0, tzinfo=tz),
                venue=venue,
            ),
        )

        admin_group, = ProgrammeEventMeta.get_or_create_groups(event, ["admins"])
        programme_event_meta, unused = ProgrammeEventMeta.objects.get_or_create(
            event=event, defaults=dict(public=False, admin_group=admin_group)
        )

        view, unused = View.objects.get_or_create(event=event, name="Ohjelmakartta")

        if not view.rooms.exists():
            view.rooms = Room.objects.filter(venue=venue)
            view.save()

        for category_name, category_style in [
            (u"Luento", u"anime"),
            (u"Non-stop", u"miitti"),
            (u"Työpaja", u"rope"),
            (u"Muu ohjelma", u"muu"),
            (u"Show", u"cosplay"),
        ]:
            Category.objects.get_or_create(event=event, title=category_name, defaults=dict(style=category_style))

        for start_time, end_time in [
            (datetime(2014, 6, 28, 10, 0, 0, tzinfo=tz), datetime(2014, 6, 28, 18, 0, 0, tzinfo=tz)),
            (datetime(2014, 6, 29, 10, 0, 0, tzinfo=tz), datetime(2014, 6, 29, 16, 0, 0, tzinfo=tz)),
        ]:
            TimeBlock.objects.get_or_create(event=event, start_time=start_time, defaults=dict(end_time=end_time))
开发者ID:Hilzu,项目名称:kompassi,代码行数:62,代码来源:setup_kawacon2014.py

示例2: setup_programme

# 需要导入模块: from programme.models import ProgrammeEventMeta [as 别名]
# 或者: from programme.models.ProgrammeEventMeta import get_or_create_groups [as 别名]
    def setup_programme(self):
        from django.contrib.auth.models import Group
        from labour.models import PersonnelClass, LabourEventMeta
        from programme.models import (
            Category,
            Programme,
            ProgrammeEventMeta,
            Role,
        )

        ProgrammeEventMeta.get_or_create_groups(self.event, ['hosts'])
        programme_admin_group = Group.objects.get(name=LabourEventMeta.make_group_name(self.event, 'vastaava'))
        programme_event_meta, unused = ProgrammeEventMeta.objects.get_or_create(event=self.event, defaults=dict(
            public=False,
            admin_group=programme_admin_group,
            contact_email='Desuconin ohjelmavastaava <[email protected]>',
        ))

        personnel_class = PersonnelClass.objects.get(event=self.event, slug='ohjelma')

        role_priority = 0
        for role_title in [
            'Ohjelmanjärjestäjä',
            'Panelisti',
            'Työpajanpitäjä',
            'Keskustelupiirin vetäjä',
        ]:
            role, unused = Role.objects.get_or_create(
                personnel_class=personnel_class,
                title=role_title,
                defaults=dict(
                    is_default=True,
                    require_contact_info=True,
                    priority=role_priority,
                )
            )
            role_priority += 10
开发者ID:Siikakala,项目名称:kompassi,代码行数:39,代码来源:setup_desucon2016.py

示例3: setup_programme

# 需要导入模块: from programme.models import ProgrammeEventMeta [as 别名]
# 或者: from programme.models.ProgrammeEventMeta import get_or_create_groups [as 别名]
    def setup_programme(self):
        from core.utils import full_hours_between
        from labour.models import PersonnelClass
        from programme.models import (
            AlternativeProgrammeForm,
            Category,
            ProgrammeEventMeta,
            Role,
            Room,
            SpecialStartTime,
            TimeBlock,
            View,
        )

        room_order = 0
        for room_name in [
            'Auditorio',
            'Yläkerran aula',
            'Piha',
            'Pokemonhuone',
            'Miittiluokka',
            'Työpajaluokka',
            'Karaokeluokka',
            'Artemisluokka',
        ]:
            room_order += 100
            Room.objects.get_or_create(
                venue=self.venue,
                name=room_name,
                defaults=dict(
                    order=room_order,
                )
            )

        admin_group, hosts_group = ProgrammeEventMeta.get_or_create_groups(self.event, ['admins', 'hosts'])
        programme_event_meta, unused = ProgrammeEventMeta.objects.get_or_create(event=self.event, defaults=dict(
            admin_group=admin_group,
            schedule_layout='full_width',
            contact_email='Kawacon ohjelma <[email protected]>',
        ))

        view, unused = View.objects.get_or_create(
            event=self.event,
            name='Ohjelmakartta',
        )

        if not view.rooms.exists():
            view.rooms = Room.objects.filter(venue=self.venue, active=True)
            view.save()

        for pc_slug, role_title, role_is_default in [
            ('ohjelma', 'Ohjelmanjärjestäjä', True),
        ]:
            personnel_class = PersonnelClass.objects.get(event=self.event, slug=pc_slug)
            role, unused = Role.objects.get_or_create(
                personnel_class=personnel_class,
                title=role_title,
                defaults=dict(
                    is_default=role_is_default,
                )
            )

        for category_name, category_style in [
            ('Puheohjelma', 'color1'),
            ('Viihdeohjelma', 'color2'),
            ('Jatkuva ohjelma', 'color3'),
            ('Mitti', 'color4'),
            ('Muu ohjelma', 'color5'),
            ('Ulko-ohjelma', 'color6'),
            ('Peliohjelma', 'color7'),
            ('Työpaja', 'color4'),
            ('Pokemonohjelma', 'color7'),
            ('Cosplayohjelma', 'color5'),
        ]:
            Category.objects.get_or_create(
                event=self.event,
                title=category_name,
                defaults=dict(
                    style=category_style,
                )
            )

        for start_time, end_time in [
            (
                self.event.start_time,
                self.event.start_time.replace(hour=18),
            ),
            (
                self.event.end_time.replace(hour=10),
                self.event.end_time,
            ),
        ]:
            TimeBlock.objects.get_or_create(
                event=self.event,
                start_time=start_time,
                defaults=dict(
                    end_time=end_time
                )
            )

#.........这里部分代码省略.........
开发者ID:Siikakala,项目名称:kompassi,代码行数:103,代码来源:setup_kawacon2017.py

示例4: setup_programme

# 需要导入模块: from programme.models import ProgrammeEventMeta [as 别名]
# 或者: from programme.models.ProgrammeEventMeta import get_or_create_groups [as 别名]
    def setup_programme(self):
        from labour.models import PersonnelClass
        from programme.models import (
            Category,
            ProgrammeEventMeta,
            Role,
            SpecialStartTime,
            Tag,
            TimeBlock,
        )
        from core.utils import full_hours_between

        admin_group, hosts_group = ProgrammeEventMeta.get_or_create_groups(self.event, ['admins', 'hosts'])
        programme_event_meta, unused = ProgrammeEventMeta.objects.get_or_create(event=self.event, defaults=dict(
            admin_group=admin_group,
        ))

        if not programme_event_meta.contact_email:
            programme_event_meta.contact_email = 'Hypecon <[email protected]>'
            programme_event_meta.save()

        if settings.DEBUG:
            programme_event_meta.accepting_cold_offers_from = now() - timedelta(days=60)
            programme_event_meta.accepting_cold_offers_until = now() + timedelta(days=60)
            programme_event_meta.save()

        for pc_slug, role_title, role_is_default in [
            ('ohjelma', 'Ohjelmanjärjestäjä', True),
        ]:
            personnel_class = PersonnelClass.objects.get(event=self.event, slug=pc_slug)
            role, unused = Role.objects.get_or_create(
                personnel_class=personnel_class,
                title=role_title,
                defaults=dict(
                    is_default=role_is_default,
                )
            )

        for category_name, category_style in [
            ('Pelit', 'rope'),
            ('Anime/manga', 'anime'),
            ('Cosplay', 'cosplay'),
            ('Muu', 'muu'),
        ]:
            Category.objects.get_or_create(
                event=self.event,
                title=category_name,
                defaults=dict(
                    style=category_style,
                )
            )

        for tag_name, tag_style in [
            ('Luento', 'label-default'),
            ('Paneeli', 'label-success'),
            ('Keskustelupiiri', 'label-info'),
            ('Työpaja', 'label-warning'),
        ]:
            Tag.objects.get_or_create(
                event=self.event,
                title=tag_name,
                defaults=dict(
                    style=tag_style,
                ),
            )

        if not TimeBlock.objects.filter(event=self.event).exists():
            for start_time, end_time in [
                (
                    self.event.start_time,
                    self.event.end_time,
                ),
            ]:
                TimeBlock.objects.get_or_create(
                    event=self.event,
                    start_time=start_time,
                    defaults=dict(
                        end_time=end_time
                    )
                )

        for time_block in TimeBlock.objects.filter(event=self.event):
            # Half hours
            # [:-1] – discard 22:30
            for hour_start_time in full_hours_between(time_block.start_time, time_block.end_time)[:-1]:
                SpecialStartTime.objects.get_or_create(
                    event=self.event,
                    start_time=hour_start_time.replace(minute=30)
                )
开发者ID:tracon,项目名称:kompassi,代码行数:91,代码来源:setup_hypecon2019.py

示例5: setup_programme

# 需要导入模块: from programme.models import ProgrammeEventMeta [as 别名]
# 或者: from programme.models.ProgrammeEventMeta import get_or_create_groups [as 别名]
    def setup_programme(self):
        from core.utils import full_hours_between
        from labour.models import PersonnelClass
        from programme.models import (
            Category,
            Programme,
            ProgrammeEventMeta,
            Role,
            Room,
            SpecialStartTime,
            TimeBlock,
            View,
        )

        programme_admin_group, hosts_group = ProgrammeEventMeta.get_or_create_groups(self.event, ['admins', 'hosts'])
        programme_event_meta, unused = ProgrammeEventMeta.objects.get_or_create(event=self.event, defaults=dict(
            public=False,
            admin_group=programme_admin_group,
            contact_email='Animeconin ohjelmatiimi <[email protected]>',
        ))

        for room_name in [
            'Auditorio',
            'Kabinetti',
            'Alvar',
            'Anton',
            'Elsi',
            'Felix',
            # 'Minna',
        ]:
            Room.objects.get_or_create(
                venue=self.venue,
                name=room_name,
                defaults=dict(
                    order=self.get_ordering_number()
                )
            )

        personnel_class = PersonnelClass.objects.get(event=self.event, slug='ohjelma')

        role, unused = Role.objects.get_or_create(
            personnel_class=personnel_class,
            title='Ohjelmanjärjestäjä',
            defaults=dict(
                is_default=True,
                require_contact_info=True,
            )
        )

        have_categories = Category.objects.filter(event=self.event).exists()
        if not have_categories:
            for title, style in [
                ('Anime ja manga', 'anime'),
                ('Cosplay', 'cosplay'),
                ('Paja', 'miitti'),
                ('Muu ohjelma', 'muu'),
                ('Kunniavieras', 'rope'),
            ]:
                Category.objects.get_or_create(
                    event=self.event,
                    style=style,
                    defaults=dict(
                        title=title,
                    )
                )

        if self.test:
            # create some test programme
            Programme.objects.get_or_create(
                category=Category.objects.get(title='Anime ja manga', event=self.event),
                title='Yaoi-paneeli',
                defaults=dict(
                    description='Kika-kika tirsk',
                )
            )

        if not TimeBlock.objects.filter(event=self.event).exists():
            for start_time, end_time in [
                (
                    self.event.start_time.replace(hour=10, minute=0, tzinfo=self.tz),
                    self.event.start_time.replace(hour=20, minute=0, tzinfo=self.tz),
                ),
                (
                    self.event.end_time.replace(hour=10, minute=0, tzinfo=self.tz),
                    self.event.end_time,
                ),
            ]:
                TimeBlock.objects.get_or_create(
                    event=self.event,
                    start_time=start_time,
                    defaults=dict(
                        end_time=end_time
                    )
                )

                for hour_start_time in full_hours_between(start_time, end_time)[:-1]:
                    SpecialStartTime.objects.get_or_create(
                        event=self.event,
                        start_time=hour_start_time.replace(minute=30)
                    )
#.........这里部分代码省略.........
开发者ID:Siikakala,项目名称:kompassi,代码行数:103,代码来源:setup_animecon2016.py

示例6: setup_programme

# 需要导入模块: from programme.models import ProgrammeEventMeta [as 别名]
# 或者: from programme.models.ProgrammeEventMeta import get_or_create_groups [as 别名]
    def setup_programme(self):
        from labour.models import PersonnelClass
        from programme.models import (
            AlternativeProgrammeForm,
            Category,
            ProgrammeEventMeta,
            Role,
            Room,
            SpecialStartTime,
            TimeBlock,
            View,
        )
        from ...models import TimeSlot

        programme_admin_group, hosts_group = ProgrammeEventMeta.get_or_create_groups(self.event, ['admins', 'hosts'])
        programme_event_meta, unused = ProgrammeEventMeta.objects.get_or_create(event=self.event, defaults=dict(
            public=False,
            admin_group=programme_admin_group,
            contact_email='Tracon Hitpoint -ohjelmatiimi <[email protected]>',
            schedule_layout='reasonable',
        ))

        if settings.DEBUG:
            programme_event_meta.accepting_cold_offers_from = now() - timedelta(days=60)
            programme_event_meta.accepting_cold_offers_until = now() + timedelta(days=60)
            programme_event_meta.save()

        for room_name in [
            # 'Aaria',
            # 'Iso sali',
            # 'Pieni sali',
            # # 'Sopraano', # Not in programme use
            # 'Rondo',
            # 'Studio',
            # 'Sonaatti 1',
            # 'Sonaatti 2',
            # # 'Basso', # No longer exists
            # # 'Opus 1', # No longer exists
            # 'Opus 2',
            # 'Opus 3',
            # 'Opus 4',
            # 'Talvipuutarha',
            # 'Puistolava',
            # 'Pieni ulkolava',
            # 'Puisto - Iso miittiteltta',
            # 'Puisto - Pieni miittiteltta',
            # 'Puisto - Bofferiteltta',
            # 'Muualla ulkona',
            # 'Duetto 2',
            # 'Riffi',
            # 'Maestro',
        ]:
            order = self.get_ordering_number() + 90000 # XXX

            room, created = Room.objects.get_or_create(
                venue=self.venue,
                name=room_name,
                defaults=dict(
                    order=order
                )
            )

            room.order = order
            room.save()

        for room_name in [
            # 'Sopraano',
            # 'Basso',
            # 'Opus 1',
        ]:
            room = Room.objects.get(venue=self.venue, name=room_name)
            room.active = False
            room.save()

        for pc_slug, role_title, role_is_default in [
            ('ohjelma', 'Ohjelmanjärjestäjä', True),
            # ('ohjelma-2lk', 'Ohjelmanjärjestäjä (2. luokka)', False),
            # ('ohjelma-3lk', 'Ohjelmanjärjestäjä (3. luokka)', False),
        ]:
            personnel_class = PersonnelClass.objects.get(event=self.event, slug=pc_slug)
            role, unused = Role.objects.get_or_create(
                personnel_class=personnel_class,
                title=role_title,
                defaults=dict(
                    is_default=role_is_default,
                )
            )

        have_categories = Category.objects.filter(event=self.event).exists()
        if not have_categories:
            for title, slug, style in [
                ('Larp', 'larp', 'color1'),
                ('Lautapelit', 'lautapelit', 'color2'),
                ('Puheohjelma', 'puheohjelma', 'color3'),
                ('Roolipeli', 'roolipeli', 'color4'),
                ('Freeform', 'freeform', 'color1'),
                ('Korttipelit', 'korttipelit', 'color5'),
                ('Figupelit', 'figupelit', 'color6'),
                ('Muu ohjelma', 'muu-ohjelma', 'color7'),
                ('Sisäinen ohjelma', 'sisainen-ohjelma', 'sisainen'),
#.........这里部分代码省略.........
开发者ID:Siikakala,项目名称:kompassi,代码行数:103,代码来源:setup_hitpoint2017.py

示例7: handle

# 需要导入模块: from programme.models import ProgrammeEventMeta [as 别名]
# 或者: from programme.models.ProgrammeEventMeta import get_or_create_groups [as 别名]
    def handle(*args, **options):
        tz = tzlocal()

        venue, unused = Venue.objects.get_or_create(
            name=u'Metropolia AMK Hämeentie',
            defaults=dict(
                name_inessive=u'Metropolia AMK:n Hämeentien toimipisteessä'
            )
        )

        room_order = 0
        for room_name in [
            u'Zeus',
            u'Athene',
        ]:
            room_order += 100
            Room.objects.get_or_create(
                venue=venue,
                name=room_name,
                defaults=dict(
                    order=room_order,
                )
            )

        event, unused = Event.objects.get_or_create(slug='concon9', defaults=dict(
            name='Concon 9',
            name_genitive='Concon 9 -seminaarin',
            name_illative='Concon 9 -seminaariin',
            name_inessive='Concon 9 -seminaarissa',
            homepage_url='http://concon.nakkikone.org',
            organization_name='Yliopiston anime ja manga ry',
            organization_url='http://yama.animeunioni.org',
            start_time=datetime(2014, 5, 24, 10, 0, tzinfo=tz),
            end_time=datetime(2014, 5, 24, 18, 0, tzinfo=tz),
            venue=venue,
        ))

        admin_group, = ProgrammeEventMeta.get_or_create_groups(event, ['admins'])
        programme_event_meta, unused = ProgrammeEventMeta.objects.get_or_create(event=event, defaults=dict(
            public=False,
            admin_group=admin_group,
        ))

        view, unused = View.objects.get_or_create(
            event=event,
            name='Ohjelmakartta',
        )

        if not view.rooms.exists():
            view.rooms = Room.objects.filter(venue=venue)
            view.save()

        for category_name, category_style in [
            (u'Ohjelma', u'anime'),
            (u'Tauko', u'muu'),
        ]:
            Category.objects.get_or_create(
                event=event,
                title=category_name,
                defaults=dict(
                    style=category_style,
                )
            )

        for start_time, end_time in [
            (
                event.start_time,
                event.end_time,
            ),
        ]:
            TimeBlock.objects.get_or_create(
                event=event,
                start_time=start_time,
                defaults=dict(
                    end_time=end_time
                )
            )
开发者ID:Hilzu,项目名称:kompassi,代码行数:79,代码来源:setup_concon9.py

示例8: setup_programme

# 需要导入模块: from programme.models import ProgrammeEventMeta [as 别名]
# 或者: from programme.models.ProgrammeEventMeta import get_or_create_groups [as 别名]
    def setup_programme(self):
        from programme.models import (
            Category,
            Programme,
            ProgrammeEventMeta,
            Role,
            Room,
            SpecialStartTime,
            TimeBlock,
            View,
        )

        programme_admin_group, = ProgrammeEventMeta.get_or_create_groups(self.event, ['admins'])
        programme_event_meta, unused = ProgrammeEventMeta.objects.get_or_create(event=self.event, defaults=dict(
            public=False,
            admin_group=programme_admin_group,
            contact_email='Tracon X -ohjelmatiimi <[email protected]>',
        ))

        for room_name in [
            u'Aaria',
            u'Iso sali',
            u'Pieni sali',
            # u'Sopraano', # Ei luento-ohjelmakäytössä
            u'Rondo',
            u'Studio',
            u'Sonaatti 1',
            u'Sonaatti 2',
            u'Basso',
            #u'Opus 1', # No longer in use
            u'Opus 2',
            u'Opus 3',
            u'Opus 4',
            u'Talvipuutarha',
            u'Puistolava',
            u'Pieni ulkolava',
            u'Puisto - Iso miittiteltta',
            u'Puisto - Pieni miittiteltta',
            u'Puisto - Bofferiteltta',
            u'Muualla ulkona',
        ]:
            order = self.get_ordering_number() + 80000 # XXX

            room, created = Room.objects.get_or_create(
                venue=self.venue,
                name=room_name,
                defaults=dict(
                    order=order
                )
            )

            room.order = order
            room.save()

        role, unused = Role.objects.get_or_create(
            title=u'Ohjelmanjärjestäjä',
            defaults=dict(
                is_default=True,
                require_contact_info=True,
            )
        )

        have_categories = Category.objects.filter(event=self.event).exists()
        if not have_categories:
            for title, style in [
                (u'Animeohjelma', u'anime'),
                (u'Cosplayohjelma', u'cosplay'),
                (u'Miitti', u'miitti'),
                (u'Muu ohjelma', u'muu'),
                (u'Roolipeliohjelma', u'rope'),
            ]:
                Category.objects.get_or_create(
                    event=self.event,
                    style=style,
                    defaults=dict(
                        title=title,
                    )
                )

        if self.test:
            # create some test programme
            Programme.objects.get_or_create(
                category=Category.objects.get(title='Animeohjelma', event=self.event),
                title='Yaoi-paneeli',
                defaults=dict(
                    description='Kika-kika tirsk',
                )
            )

        for start_time, end_time in [
            (
                datetime(2015, 9, 5, 11, 0, 0, tzinfo=self.tz),
                datetime(2015, 9, 6, 1 , 0, 0, tzinfo=self.tz),
            ),
            (
                datetime(2015, 9, 6, 9 , 0, 0, tzinfo=self.tz),
                datetime(2015, 9, 6, 17, 0, 0, tzinfo=self.tz),
            ),
        ]:
            TimeBlock.objects.get_or_create(
#.........这里部分代码省略.........
开发者ID:akx,项目名称:kompassi,代码行数:103,代码来源:setup_traconx.py

示例9: setup_programme

# 需要导入模块: from programme.models import ProgrammeEventMeta [as 别名]
# 或者: from programme.models.ProgrammeEventMeta import get_or_create_groups [as 别名]
    def setup_programme(self):
        from labour.models import PersonnelClass
        from programme.models import (
            AlternativeProgrammeForm,
            Category,
            ProgrammeEventMeta,
            Role,
            Room,
            SpecialStartTime,
            Tag,
            TimeBlock,
            View,
        )

        ProgrammeEventMeta.get_or_create_groups(self.event, ['hosts'])
        programme_admin_group, = ProgrammeEventMeta.get_or_create_groups(self.event, ['admins'])
        programme_event_meta, unused = ProgrammeEventMeta.objects.get_or_create(event=self.event, defaults=dict(
            public=False,
            admin_group=programme_admin_group,
            contact_email='Desuconin ohjelmavastaava <[email protected]>',
        ))

        personnel_class = PersonnelClass.objects.get(event=self.event, slug='ohjelma')

        role_priority = 0
        for role_title in [
            'Ohjelmanjärjestäjä',
            'Panelisti',
            'Työpajanpitäjä',
            'Keskustelupiirin vetäjä',
        ]:
            role, unused = Role.objects.get_or_create(
                personnel_class=personnel_class,
                title=role_title,
                defaults=dict(
                    is_default=True,
                    require_contact_info=True,
                    priority=role_priority,
                )
            )
            role_priority += 10

        for title, slug, style in [
            ('Muu ohjelma', 'other', 'color1'),
            ('Paneeli', 'paneeli', 'color2'),
            ('Luento', 'luento', 'color3'),
            ('Keskustelupiiri', 'keskustelupiiri', 'color4'),
            ('Paja', 'paja', 'color5'),
            ('Pienluento', 'pienluento', 'color6'),
            ('Esitys', 'esit', 'color7'),
            ('Visa', 'visa', 'color7'),
            ('Erikoisohjelma', 'erik', 'color7'),
            ('Sisäinen ohjelma', 'sisainen-ohjelma', 'sisainen'),
        ]:
            Category.objects.get_or_create(
                event=self.event,
                slug=slug,
                defaults=dict(
                    title=title,
                    style=style,
                    public=style != 'sisainen',
                )
            )

        form, created = AlternativeProgrammeForm.objects.get_or_create(
            event=self.event,
            slug='default',
            defaults=dict(
                title='Ohjelmalomake',
                short_description='',
                programme_form_code='events.frostbite2018.forms:ProgrammeForm',
                num_extra_invites=0,
            )
        )

        if not TimeBlock.objects.filter(event=self.event).exists():
            for start_time, end_time in [
                (
                    datetime(2018, 1, 26, 17, 0, 0, tzinfo=self.tz),
                    datetime(2018, 1, 27, 1, 0, 0, tzinfo=self.tz),
                ),
                (
                    datetime(2018, 1, 27, 9, 0, 0, tzinfo=self.tz),
                    datetime(2018, 1, 28, 1, 0, 0, tzinfo=self.tz),
                ),
                (
                    datetime(2018, 1, 28, 9, 0, 0, tzinfo=self.tz),
                    datetime(2018, 1, 28, 18, 0, 0, tzinfo=self.tz),
                ),
            ]:
                TimeBlock.objects.get_or_create(
                    event=self.event,
                    start_time=start_time,
                    defaults=dict(
                        end_time=end_time
                    )
                )

        for time_block in TimeBlock.objects.filter(event=self.event):
            # Half hours
#.........这里部分代码省略.........
开发者ID:tracon,项目名称:kompassi,代码行数:103,代码来源:setup_frostbite2018.py

示例10: setup_programme

# 需要导入模块: from programme.models import ProgrammeEventMeta [as 别名]
# 或者: from programme.models.ProgrammeEventMeta import get_or_create_groups [as 别名]
    def setup_programme(self):
        from labour.models import PersonnelClass
        from programme.models import (
            Category,
            Programme,
            ProgrammeEventMeta,
            Role,
            Room,
            SpecialStartTime,
            Tag,
            TimeBlock,
            View,
        )
        from core.utils import full_hours_between

        for room_name in [
            '207',
            '208',
            '209',
            '205',
            'Iso sali',
        ]:
            Room.objects.get_or_create(
                venue=self.venue,
                name=room_name,
                defaults=dict(
                    order=self.get_ordering_number(),
                )
            )

        admin_group, hosts_group = ProgrammeEventMeta.get_or_create_groups(self.event, ['admins', 'hosts'])
        programme_event_meta, unused = ProgrammeEventMeta.objects.get_or_create(event=self.event, defaults=dict(
            admin_group=admin_group,
        ))

        if not programme_event_meta.contact_email:
            programme_event_meta.contact_email = 'Yukiconin ohjelmavastaava <[email protected]>'
            programme_event_meta.save()

        if settings.DEBUG:
            programme_event_meta.accepting_cold_offers_from = now() - timedelta(days=60)
            programme_event_meta.accepting_cold_offers_until = now() + timedelta(days=60)
            programme_event_meta.save()

        for pc_slug, role_title, role_is_default in [
            ('ohjelma', 'Ohjelmanjärjestäjä', True),
        ]:
            personnel_class = PersonnelClass.objects.get(event=self.event, slug=pc_slug)
            role, unused = Role.objects.get_or_create(
                personnel_class=personnel_class,
                title=role_title,
                defaults=dict(
                    is_default=role_is_default,
                )
            )

        view, unused = View.objects.get_or_create(
            event=self.event,
            name='Ohjelmakartta',
        )

        if not view.rooms.exists():
            view.rooms = Room.objects.filter(venue=self.venue, active=True)
            view.save()

        for category_name, category_style in [
            ('Pelit', 'rope'),
            ('Anime/manga', 'anime'),
            ('Cosplay', 'cosplay'),
            ('Muu', 'muu'),
        ]:
            Category.objects.get_or_create(
                event=self.event,
                title=category_name,
                defaults=dict(
                    style=category_style,
                )
            )

        for tag_name, tag_style in [
            ('Luento', 'label-default'),
            ('Paneeli', 'label-success'),
            ('Keskustelupiiri', 'label-info'),
            ('Työpaja', 'label-warning'),
            ("Let's Play", 'label-danger'),
            ('Visa/leikki', 'label-primary'),
        ]:
            Tag.objects.get_or_create(
                event=self.event,
                title=tag_name,
                defaults=dict(
                    style=tag_style,
                ),
            )

        if not TimeBlock.objects.filter(event=self.event).exists():
            for start_time, end_time in [
                (
                    self.event.start_time,
                    self.event.start_time.replace(hour=22, tzinfo=self.tz),
#.........这里部分代码省略.........
开发者ID:Siikakala,项目名称:kompassi,代码行数:103,代码来源:setup_yukicon2017.py

示例11: handle

# 需要导入模块: from programme.models import ProgrammeEventMeta [as 别名]
# 或者: from programme.models.ProgrammeEventMeta import get_or_create_groups [as 别名]
    def handle(*args, **options):
        if settings.DEBUG:
            print 'Setting up tracon9 in test mode'
        else:
            print 'Setting up tracon9 in production mode'

        tz = tzlocal()


        #
        # Core
        #

        venue, unused = Venue.objects.get_or_create(name='Tampere-talo')
        content_type = ContentType.objects.get_for_model(SignupExtra)
        event, unused = Event.objects.get_or_create(slug='tracon9', defaults=dict(
            name='Tracon 9',
            name_genitive='Tracon 9 -tapahtuman',
            name_illative='Tracon 9 -tapahtumaan',
            name_inessive='Tracon 9 -tapahtumassa',
            homepage_url='http://2014.tracon.fi',
            organization_name='Tracon ry',
            organization_url='http://ry.tracon.fi',
            start_time=datetime(2014, 9, 13, 10, 0, tzinfo=tz),
            end_time=datetime(2014, 9, 14, 18, 0, tzinfo=tz),
            venue=venue,
        ))

        #
        # Labour
        #

        labour_admin_group, = LabourEventMeta.get_or_create_groups(event, ['admins'])

        if settings.DEBUG:
            person, unused = Person.get_or_create_dummy()
            labour_admin_group.user_set.add(person.user)

        labour_event_meta_defaults = dict(
            signup_extra_content_type=content_type,
            work_begins=datetime(2014, 9, 12, 8, 0, tzinfo=tz),
            work_ends=datetime(2014, 9, 14, 22, 0, tzinfo=tz),
            admin_group=labour_admin_group,
        )

        if settings.DEBUG:
            t = now()
            labour_event_meta_defaults.update(
                registration_opens=t - timedelta(days=60),
                registration_closes=t + timedelta(days=60),

            )
        else:
            labour_event_meta_defaults.update(
                registration_opens=datetime(2014, 3, 1, 0, 0, tzinfo=tz),
                registration_closes=datetime(2014, 8, 1, 0, 0, tzinfo=tz),
            )

        labour_event_meta, unused = LabourEventMeta.objects.get_or_create(event=event, defaults=labour_event_meta_defaults)

        # labour v7
        if not labour_event_meta.contact_email:
            labour_event_meta.contact_email = 'Tracon 9 -työvoimatiimi <[email protected]>'
            labour_event_meta.save()

        for name, description in [
            (u'Conitea', u'Tapahtuman järjestelytoimikunnan eli conitean jäsen'),
            (u'Erikoistehtävä', u'Mikäli olet sopinut erikseen työtehtävistä ja/tai sinut on ohjeistettu täyttämään lomake, valitse tämä ja kerro tarkemmin Vapaa alue -kentässä mihin tehtävään ja kenen toimesta sinut on valittu.'),
            (u'Järjestyksenvalvoja', u'Kävijöiden turvallisuuden valvominen conipaikalla ja yömajoituksessa. Edellyttää voimassa olevaa JV-korttia ja asiakaspalveluasennetta. HUOM! Et voi valita tätä tehtävää hakemukseesi, ellet ole täyttänyt tietoihisi JV-kortin numeroa (oikealta ylhäältä oma nimesi &gt; Pätevyydet).'),
            (u'Ensiapu', 'Toimit osana tapahtuman omaa ensiapuryhmää. Vuoroja päivisin ja öisin tapahtuman aukioloaikoina. Vaaditaan vähintään voimassa oleva EA1 -kortti ja osalta myös voimassa oleva EA2 -kortti. Kerro Työkokemus -kohdassa osaamisestasi, esim. oletko toiminut EA-tehtävissä tapahtumissa tai oletko sairaanhoitaja/lähihoitaja koulutuksestaltasi.'),
            (u'Kasaus ja purku', u'Kalusteiden siirtelyä & opasteiden kiinnittämistä. Ei vaadi erikoisosaamista. Työvuoroja myös jo pe sekä su conin sulkeuduttua, kerro lisätiedoissa jos voit osallistua näihin.'),
            (u'Logistiikka', u'Autokuskina toimimista ja tavaroiden/ihmisten hakua ja noutamista. B-luokan ajokortti vaaditaan. Työvuoroja myös perjantaille.'),
            (u'Majoitusvalvoja', u'Huolehtivat lattiamajoituspaikkojen pyörittämisestä yöaikaan. Työvuoroja myös molempina öinä.'),
            (u'Myynti', u'Pääsylippujen ja Tracon-oheistuotteiden myyntiä sekä lippujen tarkastamista. Myyjiltä edellytetään täysi-ikäisyyttä, asiakaspalveluhenkeä ja huolellisuutta rahankäsittelyssä. Vuoroja myös perjantaina.'),
            (u'Narikka', u'Narikassa ja isotavara- eli asenarikassa säilytetään tapahtuman aikana kävijöiden omaisuutta. Tehtävä ei vaadi erikoisosaamista.'),
            (u'Ohjelma-avustaja', u'Lautapelien pyörittämistä, karaoken valvontaa, cosplay-kisaajien avustamista. Kerro Vapaa alue -kohdassa tarkemmin, mitä haluaisit tehdä. Huom! Puheohjelmasalien vänkäreiltä toivotaan AV-tekniikan osaamista.'),
            (u'Green room', u'Työvoiman ruokahuolto green roomissa. Hygieniapassi suositeltava.'),
            (u'Taltiointi', u'Taltioinnin keskeisiin tehtäviin kuuluvat mm. saleissa esitettävien ohjelmanumeroiden videointi tapahtumassa ja editointi tapahtuman jälkeen. Lisäksi videoidaan dokumentaarisella otteella myös yleisesti tapahtumaa. Kerro Työkokemus-kentässä aiemmasta videokuvauskokemuksestasi (esim. linkkejä videogallerioihisi) sekä mitä haluaisit taltioinnissa tehdä.'),
            (u'Tekniikka', u'Salitekniikan (AV) ja tietotekniikan (tulostimet, lähiverkot, WLAN) nopeaa MacGyver-henkistä ongelmanratkaisua.'),
            (u'Valokuvaus', u'Valokuvaus tapahtuu pääasiassa kuvaajien omilla järjestelmäkameroilla. Tehtäviä voivat olla studiokuvaus, salikuvaus sekä yleinen valokuvaus. Kerro Työkokemus-kentässä aiemmasta valokuvauskokemuksestasi (esim. linkkejä kuvagallerioihisi) sekä mitä/missä haluaisit tapahtumassa valokuvata.'),
            (u'Yleisvänkäri', u'Sekalaisia tehtäviä laidasta laitaan, jotka eivät vaadi erikoisosaamista. Voit halutessasi kirjata lisätietoihin, mitä osaat ja haluaisit tehdä.'),
            (u'Info', u'Infopisteen henkilökunta vastaa kävijöiden kysymyksiin ja ratkaisee heidän ongelmiaan tapahtuman paikana. Tehtävä edellyttää asiakaspalveluasennetta, tervettä järkeä ja ongelmanratkaisukykyä.'),
        ]:
            JobCategory.objects.get_or_create(
                event=event,
                name=name,
                defaults=dict(
                    description=description,
                    slug=slugify(name),
                )
            )

        labour_event_meta.create_groups()

        for name in [u'Conitea']:
            JobCategory.objects.filter(event=event, name=name).update(public=False)

        jvkortti = Qualification.objects.get(name='JV-kortti')
        jv = JobCategory.objects.get(
            event=event,
#.........这里部分代码省略.........
开发者ID:akx,项目名称:kompassi,代码行数:103,代码来源:setup_tracon9.py

示例12: setup_programme

# 需要导入模块: from programme.models import ProgrammeEventMeta [as 别名]
# 或者: from programme.models.ProgrammeEventMeta import get_or_create_groups [as 别名]
    def setup_programme(self):
        from labour.models import PersonnelClass
        from programme.models import (
            Category,
            Programme,
            ProgrammeEventMeta,
            Role,
            Room,
            SpecialStartTime,
            Tag,
            TimeBlock,
            View,
        )
        from core.utils import full_hours_between

        for room_name in [
            'Suuri sali',
            'Tarvehuone',
            'Tähtitorni',
            'Loitsuluokka',
        ]:
            Room.objects.get_or_create(
                venue=self.venue,
                name=room_name,
                defaults=dict(
                    order=self.get_ordering_number(),
                )
            )

        admin_group, hosts_group = ProgrammeEventMeta.get_or_create_groups(self.event, ['admins', 'hosts'])
        programme_event_meta, unused = ProgrammeEventMeta.objects.get_or_create(event=self.event, defaults=dict(
            admin_group=admin_group,
        ))

        if not programme_event_meta.contact_email:
            programme_event_meta.contact_email = 'Tylyconin ohjelmavastaava <[email protected]>'
            programme_event_meta.save()

        if settings.DEBUG:
            programme_event_meta.accepting_cold_offers_from = now() - timedelta(days=60)
            programme_event_meta.accepting_cold_offers_until = now() + timedelta(days=60)
            programme_event_meta.save()

        for pc_slug, role_title, role_is_default in [
            ('ohjelma', 'Ohjelmanjärjestäjä', True),
        ]:
            personnel_class = PersonnelClass.objects.get(event=self.event, slug=pc_slug)
            role, unused = Role.objects.get_or_create(
                personnel_class=personnel_class,
                title=role_title,
                defaults=dict(
                    is_default=role_is_default,
                )
            )

        view, unused = View.objects.get_or_create(
            event=self.event,
            name='Ohjelmakartta',
        )

        if not view.rooms.exists():
            view.rooms = Room.objects.filter(venue=self.venue, active=True)
            view.save()

        for category_name, category_style in [
            ('Puheohjelma', 'color1'),
            ('Keskusteluohjelma', 'color2'),
            ('Työpaja', 'color3'),
            ('Muu ohjelma', 'color4'),
        ]:
            Category.objects.get_or_create(
                event=self.event,
                title=category_name,
                defaults=dict(
                    style=category_style,
                )
            )

        for tag_name, tag_style in [
        ]:
            Tag.objects.get_or_create(
                event=self.event,
                title=tag_name,
                defaults=dict(
                    style=tag_style,
                ),
            )

        TimeBlock.objects.get_or_create(
            event=self.event,
            start_time=self.event.start_time,
            defaults=dict(
                end_time=self.event.end_time,
            ),
        )
开发者ID:Siikakala,项目名称:kompassi,代码行数:97,代码来源:setup_tylycon2017.py

示例13: setup_programme

# 需要导入模块: from programme.models import ProgrammeEventMeta [as 别名]
# 或者: from programme.models.ProgrammeEventMeta import get_or_create_groups [as 别名]
    def setup_programme(self):
        from labour.models import PersonnelClass
        from programme.models import (
            AlternativeProgrammeForm,
            Category,
            ProgrammeEventMeta,
            Role,
            Room,
            SpecialStartTime,
            TimeBlock,
            View,
        )
        from ...models import TimeSlot

        programme_admin_group, hosts_group = ProgrammeEventMeta.get_or_create_groups(self.event, ['admins', 'hosts'])
        programme_event_meta, unused = ProgrammeEventMeta.objects.get_or_create(event=self.event, defaults=dict(
            public=False,
            admin_group=programme_admin_group,
            contact_email='Ropecon 2018 -ohjelmatiimi <[email protected]>',
            schedule_layout='reasonable',
        ))

        if settings.DEBUG:
            programme_event_meta.accepting_cold_offers_from = now() - timedelta(days=60)
            programme_event_meta.accepting_cold_offers_until = now() + timedelta(days=60)
            programme_event_meta.save()

        if not Room.objects.filter(event=self.event).exists():
            for room_name in [
                'Halli 3',
                'Halli 3 Bofferialue',
                'Halli 1 Myyntialue',
                'Halli 3 Näyttelyalue',
                'Halli 3 Korttipelialue',
                'Halli 3 Figupelialue',
                'Halli 3 Pukukilpailutiski',
                'Halli 3 Ohjelmalava',
                'Halli 3 Puhesali',
                'Halli 3 Ohjelmasali',
                'Ylä-Galleria',
                'Ala-Galleria',
                'Larp-tiski',
                'Messuaukio',
                'Klubiravintola',
                'Sali 103',
                'Sali 201',
                'Sali 202',
                'Sali 203a',
                'Sali 203b',
                'Sali 204',
                'Sali 205',
                'Sali 206',
                'Sali 207',
                'Sali 211',
                'Sali 212',
                'Sali 213',
                'Sali 214',
                'Sali 215',
                'Sali 216',
                'Sali 216a',
                'Sali 217',
                'Sali 218',
                'Sali 301',
                'Sali 302',
                'Sali 303',
                'Sali 304',
                'Sali 305',
                'Sali 306',
                'Sali 307',
                'Salin 203 aula',
            ]:
                room, created = Room.objects.get_or_create(
                    event=self.event,
                    name=room_name,
                )

        for pc_slug, role_title, role_is_default in [
            ('ohjelma', 'Ohjelmanjärjestäjä', True),
            ('ohjelma', 'Pelinjohtaja', False),
            ('ohjelma', 'Pelinjärjestäjä', False),
            ('ohjelma', 'Peliesittelijä', False),
        ]:
            personnel_class = PersonnelClass.objects.get(event=self.event, slug=pc_slug)
            role, unused = Role.objects.get_or_create(
                personnel_class=personnel_class,
                title=role_title,
                defaults=dict(
                    is_default=role_is_default,
                )
            )

        have_categories = Category.objects.filter(event=self.event).exists()
        if not have_categories:
            for title, slug, style in [
                ('Larp', 'larp', 'color1'),
                ('Lautapelit', 'lautapeli', 'color2'),
                ('Puheohjelma', 'puheohjelma', 'color3'),
                ('Roolipeli', 'roolipeli', 'color4'),
                ('Korttipelit', 'korttipeli', 'color5'),
                ('Figupelit', 'figupeli', 'color6'),
#.........这里部分代码省略.........
开发者ID:tracon,项目名称:kompassi,代码行数:103,代码来源:setup_ropecon2018.py

示例14: setup_programme

# 需要导入模块: from programme.models import ProgrammeEventMeta [as 别名]
# 或者: from programme.models.ProgrammeEventMeta import get_or_create_groups [as 别名]
    def setup_programme(self):
        from labour.models import PersonnelClass
        from programme.models import (
            Category,
            Programme,
            ProgrammeEventMeta,
            Role,
            Room,
            SpecialStartTime,
            TimeBlock,
            View,
        )

        programme_admin_group, hosts_group = ProgrammeEventMeta.get_or_create_groups(self.event, ['admins', 'hosts'])
        programme_event_meta, unused = ProgrammeEventMeta.objects.get_or_create(event=self.event, defaults=dict(
            public=False,
            admin_group=programme_admin_group,
            contact_email='Finncon 2016 -ohjelmatiimi <[email protected]>',
        ))

        personnel_class = PersonnelClass.objects.get(event=self.event, slug='ohjelma')
        role, unused = Role.objects.get_or_create(
            personnel_class=personnel_class,
            title='Ohjelmanjärjestäjä',
            defaults=dict(
                is_default=True,
                require_contact_info=True,
            )
        )

        have_categories = Category.objects.filter(event=self.event).exists()
        if not have_categories:
            for title, style in [
                ('Puheohjelma', 'anime'),
                ('Akateeminen ohjelma', 'cosplay'),
                ('Miitti', 'miitti'),
                ('Työpaja', 'rope'),
                ('Muu ohjelma', 'muu'),
            ]:
                Category.objects.get_or_create(
                    event=self.event,
                    style=style,
                    defaults=dict(
                        title=title,
                    )
                )

        for start_time, end_time in [
            (
                datetime(2016, 7, 1, 12, 0, 0, tzinfo=self.tz),
                datetime(2016, 7, 1, 18, 0, 0, tzinfo=self.tz),
            ),
            (
                datetime(2016, 7, 2, 10, 0, 0, tzinfo=self.tz),
                datetime(2016, 7, 2, 18, 0, 0, tzinfo=self.tz),
            ),
            (
                datetime(2016, 7, 3, 10, 0, 0, tzinfo=self.tz),
                datetime(2016, 7, 3, 18, 0, 0, tzinfo=self.tz),
            ),
        ]:
            TimeBlock.objects.get_or_create(
                event=self.event,
                start_time=start_time,
                defaults=dict(
                    end_time=end_time
                )
            )

        # SpecialStartTime.objects.get_or_create(
        #     event=self.event,
        #     start_time=datetime(2016, 9, 5, 10, 30, 0, tzinfo=self.tz),
        # )

        for view_name, room_names in [
            ('Pääohjelmatilat', [
                'Juhlasali',
                'Auditorio A1',
                'Luentosali A3',
                'Luentosali A4',
            ]),
            ('Toissijaiset ohjelmatilat', [
                'Auditorio D10a',
                'Auditorio D10b',
                'Auditorio D11',
                'Luentosali A05',
            ]),
        ]:
            rooms = [
                Room.objects.get_or_create(
                    venue=self.venue,
                    name=room_name,
                    defaults=dict(
                        order=self.get_ordering_number(),
                    )
                )[0]

                for room_name in room_names
            ]

#.........这里部分代码省略.........
开发者ID:Siikakala,项目名称:kompassi,代码行数:103,代码来源:setup_finncon2016.py

示例15: setup_programme

# 需要导入模块: from programme.models import ProgrammeEventMeta [as 别名]
# 或者: from programme.models.ProgrammeEventMeta import get_or_create_groups [as 别名]
    def setup_programme(self):
        from labour.models import PersonnelClass
        from programme.models import (
            Category,
            Programme,
            ProgrammeEventMeta,
            Role,
            Room,
            SpecialStartTime,
            TimeBlock,
            View,
        )

        programme_admin_group, hosts_group = ProgrammeEventMeta.get_or_create_groups(self.event, ['admins', 'hosts'])
        programme_event_meta, unused = ProgrammeEventMeta.objects.get_or_create(event=self.event, defaults=dict(
            public=False,
            admin_group=programme_admin_group,
            contact_email='Tracon -ohjelmatiimi <[email protected]>',
            schedule_layout='full_width',
        ))

        # v48
        programme_event_meta.schedule_layout = 'full_width'
        programme_event_meta.save()

        if settings.DEBUG:
            programme_event_meta.accepting_cold_offers_from = now() - timedelta(days=60)
            programme_event_meta.accepting_cold_offers_until = now() + timedelta(days=60)
            programme_event_meta.save()

        for room_name in [
            'Aaria',
            'Iso sali',
            'Pieni sali',
            # 'Sopraano', # Not in programme use
            'Rondo',
            'Studio',
            'Sonaatti 1',
            'Sonaatti 2',
            # 'Basso', # No longer exists
            # 'Opus 1', # No longer exists
            'Opus 2',
            'Opus 3',
            'Opus 4',
            'Talvipuutarha',
            'Puistolava',
            'Pieni ulkolava',
            'Puisto - Iso miittiteltta',
            'Puisto - Pieni miittiteltta',
            'Puisto - Bofferiteltta',
            'Muualla ulkona',
            'Duetto 2',
            'Riffi',
            'Maestro',
        ]:
            order = self.get_ordering_number() + 90000 # XXX

            room, created = Room.objects.get_or_create(
                venue=self.venue,
                name=room_name,
                defaults=dict(
                    order=order
                )
            )

            room.order = order
            room.save()

        for room_name in [
            # 'Sopraano',
            # 'Basso',
            # 'Opus 1',
        ]:
            room = Room.objects.get(venue=self.venue, name=room_name)
            room.active = False
            room.save()

        for pc_slug, role_title, role_is_default in [
            ('ohjelma', 'Ohjelmanjärjestäjä', True),
            ('ohjelma-2lk', 'Ohjelmanjärjestäjä (2. luokka)', False),
            ('ohjelma-3lk', 'Ohjelmanjärjestäjä (3. luokka)', False),
        ]:
            personnel_class = PersonnelClass.objects.get(event=self.event, slug=pc_slug)
            role, unused = Role.objects.get_or_create(
                personnel_class=personnel_class,
                title=role_title,
                defaults=dict(
                    is_default=role_is_default,
                )
            )

        have_categories = Category.objects.filter(event=self.event).exists()
        if not have_categories:
            for title, style in [
                ('Animeohjelma', 'anime'),
                ('Cosplayohjelma', 'cosplay'),
                ('Miitti', 'miitti'),
                ('Muu ohjelma', 'muu'),
                ('Roolipeliohjelma', 'rope'),
            ]:
#.........这里部分代码省略.........
开发者ID:Siikakala,项目名称:kompassi,代码行数:103,代码来源:setup_tracon11.py


注:本文中的programme.models.ProgrammeEventMeta.get_or_create_groups方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。