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


Python models.LabourEventMeta类代码示例

本文整理汇总了Python中labour.models.LabourEventMeta的典型用法代码示例。如果您正苦于以下问题:Python LabourEventMeta类的具体用法?Python LabourEventMeta怎么用?Python LabourEventMeta使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


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

示例1: setUp

    def setUp(self):
        self.meta, unused = BadgesEventMeta.get_or_create_dummy()
        LabourEventMeta.get_or_create_dummy()
        ProgrammeEventMeta.get_or_create_dummy()

        self.event = self.meta.event
        self.person, unused = Person.get_or_create_dummy()
开发者ID:Hilzu,项目名称:kompassi,代码行数:7,代码来源:tests.py

示例2: step_impl

def step_impl(context):
    finished_group, = LabourEventMeta.get_or_create_groups(context.event, ['finished'])

    context.message = Message.objects.create(
        recipient=RecipientGroup.objects.get(group=finished_group),
        subject_template='Test message subject',
        body_template='Test message body {{ signup.formatted_shifts }}',
    )

    context.message.send()
开发者ID:Hilzu,项目名称:kompassi,代码行数:10,代码来源:labour_mailings_steps.py

示例3: message_to_be_sent_to_all_accepted

def message_to_be_sent_to_all_accepted(context):
    accepted_group, = LabourEventMeta.get_or_create_groups(context.event, ['accepted'])

    context.message = Message.objects.create(
        recipient=RecipientGroup.objects.get(group=accepted_group),
        subject_template='Test message subject',
        body_template='Test message body',
    )

    context.message.send()
开发者ID:Hilzu,项目名称:kompassi,代码行数:10,代码来源:labour_mailings_steps.py

示例4: message_to_be_sent_to_all_applicants

def message_to_be_sent_to_all_applicants(context):
    applicants_group, unused = LabourEventMeta.get_or_create_group(
        event=context.event,
        suffix='applicants',
    )

    context.message = Message.objects.create(
        recipient=RecipientGroup.objects.get(group=applicants_group),
        subject_template='Test message subject',
        body_template='Test message body',
    )

    context.message.send()
开发者ID:wyrmiyu,项目名称:kompassi,代码行数:13,代码来源:labour_mailings_steps.py

示例5: setup_programme

    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,代码行数:37,代码来源:setup_desucon2016.py

示例6: setup_labour

    def setup_labour(self):
        from core.models import Person, Event
        from core.utils import slugify
        from labour.models import (
            AlternativeSignupForm,
            JobCategory,
            LabourEventMeta,
            PersonnelClass,
            Qualification,
            Survey,
        )
        from ...models import SignupExtra, SpecialDiet
        from django.contrib.contenttypes.models import ContentType

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

        if self.test:
            person, unused = Person.get_or_create_dummy()
            labour_admin_group.user_set.add(person.user)

        content_type = ContentType.objects.get_for_model(SignupExtra)

        labour_event_meta_defaults = dict(
            signup_extra_content_type=content_type,
            work_begins=datetime(2019, 2, 15, 8, 0, tzinfo=self.tz),
            work_ends=datetime(2019, 2, 17, 21, 0, tzinfo=self.tz),
            admin_group=labour_admin_group,
            contact_email='Desuconin työvoimavastaava <[email protected]>',
        )

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

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

        for pc_name, pc_slug, pc_app_label in [
            ('Vastaava', 'vastaava', 'labour'),
            ('Vuorovastaava', 'vuorovastaava', 'labour'),
            ('Työvoima', 'tyovoima', 'labour'),
            ('Ohjelmanjärjestäjä', 'ohjelma', 'programme'),
            ('Guest of Honour', 'goh', 'programme'),
            ('Media', 'media', 'badges'),
            ('Myyjä', 'myyja', 'badges'),
            ('Vieras', 'vieras', 'badges'),
        ]:
            personnel_class, created = PersonnelClass.objects.get_or_create(
                event=self.event,
                slug=pc_slug,
                defaults=dict(
                    name=pc_name,
                    app_label=pc_app_label,
                    priority=self.get_ordering_number(),
                ),
            )

        tyovoima = PersonnelClass.objects.get(event=self.event, slug='tyovoima')
        vastaava = PersonnelClass.objects.get(event=self.event, slug='vastaava')

        if not JobCategory.objects.filter(event=self.event).exists():
            JobCategory.copy_from_event(
                source_event=Event.objects.get(slug='desucon2018'),
                target_event=self.event,
            )

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

        for jc_name, qualification_name in [
            ('Järjestyksenvalvoja', 'JV-kortti'),
        ]:
            jc = JobCategory.objects.get(event=self.event, name=jc_name)
            qual = Qualification.objects.get(name=qualification_name)

            jc.required_qualifications.set([qual])


        labour_event_meta.create_groups()

        organizer_form, unused = AlternativeSignupForm.objects.get_or_create(
            event=self.event,
            slug='vastaava',
            defaults=dict(
                title='Vastaavan ilmoittautumislomake',
                signup_form_class_path='events.frostbite2019.forms:OrganizerSignupForm',
                signup_extra_form_class_path='events.frostbite2019.forms:OrganizerSignupExtraForm',
                active_from=datetime(2018, 9, 16, 0, 0, 0, tzinfo=self.tz),
                active_until=self.event.start_time,
            ),
        )

        if organizer_form.active_until is None:
            organizer_form.active_until = self.event.start_time
            organizer_form.save()
#.........这里部分代码省略.........
开发者ID:tracon,项目名称:kompassi,代码行数:101,代码来源:setup_frostbite2019.py

示例7: given_event_accepting_applications

def given_event_accepting_applications(context):
    context.labour_event_meta, unused = LabourEventMeta.get_or_create_dummy()
    context.event = context.labour_event_meta.event
开发者ID:Hilzu,项目名称:kompassi,代码行数:3,代码来源:labour_steps.py

示例8: setup_labour

    def setup_labour(self):
        from core.models import Person
        from labour.models import (
            AlternativeSignupForm,
            InfoLink,
            Job,
            JobCategory,
            LabourEventMeta,
            Perk,
            PersonnelClass,
            Qualification,
            WorkPeriod,
        )
        from ...models import SpecialDiet, SignupExtra, Night
        from django.contrib.contenttypes.models import ContentType

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

        if self.test:
            from core.models import Person
            person, unused = Person.get_or_create_dummy()
            labour_admin_group.user_set.add(person.user)

        content_type = ContentType.objects.get_for_model(SignupExtra)

        labour_event_meta_defaults = dict(
            signup_extra_content_type=content_type,
            work_begins=datetime(2016, 7, 1, 7, 0, tzinfo=self.tz),
            work_ends=datetime(2016, 7, 4, 16, 0, tzinfo=self.tz),
            admin_group=labour_admin_group,
            contact_email='Kawacon <[email protected]>',
        )

        if self.test:
            t = now()
            labour_event_meta_defaults.update(
                registration_opens=t - timedelta(days=60),
                registration_closes=t + timedelta(days=60),
            )
        else:
            pass

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

        for pc_name, pc_slug, pc_app_label in [
            (u'Conitea', 'conitea', 'labour'),
            (u'Vänkäri', 'tyovoima', 'labour'),
            (u'Ohjelmanjärjestäjä', 'ohjelma', 'programme'),
            (u'Myyjä', 'myyja', 'badges'),
            (u'Vieras', 'vieras', 'badges'),
        ]:
            personnel_class, created = PersonnelClass.objects.get_or_create(
                event=self.event,
                slug=pc_slug,
                defaults=dict(
                    name=pc_name,
                    app_label=pc_app_label,
                    priority=self.get_ordering_number(),
                ),
            )

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

        for jc_data in [
            (u'Conitea', u'Tapahtuman järjestelytoimikunnan eli conitean jäsen', [conitea]),

            (u'Siisteys & Somistus', u'Conin siistinä pitäminen, vesipisteiden täyttäminen ja conipaikan koristelu. Tehtävä ei vaadi erityisosaamista. Tämä tehtävä sopii hyvin ensikertalaisvänkäreille.', [tyovoima]),
            (u'Logistiikka', u'Autokuskina toimimista ja tavaroiden/ihmisten hakua ja noutamista. Tehtäviä on perjantaina ja sunnuntai-iltana. Edellyttää B-ajokorttia. Jos sinulla on oma auto ja olet valmis käyttämään sitä conissa, mainitse siitä Vapaa alue-kentässä.', [tyovoima]),
            (u'Majoitus', u'Majoitusvänkärit huolehtivat lattiamajoituspaikkojen pyörittämisestä yöaikaan.', [tyovoima]),
            (u'Järjestyksenvalvonta', u'Kävijöiden turvallisuuden valvominen conipaikalla. 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).', [tyovoima]),
            (u'Ensiapu', u'Ensiapupäivystys tapahtumapaikalla. Edellyttää voimassa olevaa ensiapukorttia (vähintään EA1).', [tyovoima]),
            (u'Green room', u'Työvoiman taukohuoneen hoitaminen ja kahvin keitto green roomissa. Hygieniapassin omistaminen on suositeltavaa, mutta ei välttämätöntä.', [tyovoima]),
            (u'Keittiö & kahvio', u'Ruuan valmistus keittiössä, sekä asiakaspalvelu kahviossa. Hygieniapassin omistaminen on suositeltavaa, mutta voit ilmoittautua kahvioon ilmankin.', [tyovoima]),
            (u'Info ja narikka', u'Infopisteen henkilökunta vastaa kävijöiden kysymyksiin ja ratkaisee heidän ongelmiaan tapahtuman aikana. Narikka toimii infon yhteydessä. Tehtävä edellyttää asiakaspalveluasennetta, tervettä järkeä ja ongelmanratkaisukykyä.', [tyovoima]),
            (u'Lipunmyynti', u'Pääsylippujen myyntiä. Myyjiltä edellytetään asiakaspalveluhenkeä, päässälaskutaitoa ja huolellisuutta rahankäsittelyssä.', [tyovoima]),
            (u'Meido', u'Meidokahvilassa työskentely. Asiakkaille tarjoileminen, sekä asiakkaille seuran pitäminen. Ilmoittaudu tähän tehtävään vain jos meidovastaava on hyväksynyt sinuterillishaussa. Meidohaku löytyy <a href="http://www.kawacon.info" target="_blank">Kawaconin kotisivuilta</a>.', [tyovoima]),
            (u'Ohjelma', u'Tähän vänkäriryhmään tulevat salivänkärit, ohjelma-avustajat ja Kawaplayn lautapelivuokraamon vänkärit. Tehtävät eivät edellytä erikoisosaamista. Jos sinulla on kokemusta salitekniikasta, voit mainita tästä Vapaa alue-kentässä.', [tyovoima]),
            (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.', [tyovoima]),
            (u'Rakennus ja purku', u'Conipaikan rakennus, pöytien järjestely ja raskaiden esineiden kantaminen. Tehtävät ajoittuvat perjantaille ja sunnuntai-illalle.', [tyovoima]),
            (u'Kuvaus', 'Valokuvaus ja coniviikonlopun ikuistaminen. Tehtävä edellyttää kameraa ja mahdollisuutta kuvien jälkikäsittelyyn. Kerro Vapaa alue-kentässä millaisen kameran omistat ja aiemmasta kuvauskokemuksestasi.', [tyovoima]),

            (u'Ohjelmanpitäjä', u'Luennon tai muun vaativan ohjelmanumeron pitäjä', [ohjelma]),
        ]:
            if len(jc_data) == 3:
                name, description, pcs = jc_data
                job_names = []
            elif len(jc_data) == 4:
                name, description, pcs, job_names = jc_data
            else:
                raise ValueError("Length of jc_data must be 3 or 4")

            job_category, created = JobCategory.objects.get_or_create(
                event=self.event,
                slug=slugify(name),
                defaults=dict(
#.........这里部分代码省略.........
开发者ID:akx,项目名称:kompassi,代码行数:101,代码来源:setup_kawacon2016.py

示例9: setup_labour

    def setup_labour(self):
        from core.models import Person
        from labour.models import (
            AlternativeSignupForm,
            InfoLink,
            Job,
            JobCategory,
            LabourEventMeta,
            Perk,
            PersonnelClass,
            Qualification,
            WorkPeriod,
        )
        from ...models import SignupExtra, SpecialDiet, Night
        from django.contrib.contenttypes.models import ContentType

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

        if self.test:
            from core.models import Person
            person, unused = Person.get_or_create_dummy()
            labour_admin_group.user_set.add(person.user)

        content_type = ContentType.objects.get_for_model(SignupExtra)

        labour_event_meta_defaults = dict(
            signup_extra_content_type=content_type,
            work_begins=datetime(2015, 7, 12, 12, 0, tzinfo=self.tz),
            work_ends=datetime(2015, 7, 14, 22, 0, tzinfo=self.tz),
            admin_group=labour_admin_group,
            contact_email='Nekoconin työvoimatiimi <[email protected]>',
        )

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

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

        for pc_name, pc_slug, pc_app_label in [
            ('Conitea', 'conitea', 'labour'),
            ('Työvoima', 'tyovoima', 'labour'),
            ('Ohjelmanjärjestäjä', 'ohjelma', 'programme'),
            ('Kunniavieras', 'goh', 'programme'),
            ('Media', 'media', 'badges'),
            ('Myyjä', 'myyja', 'badges'),
        ]:
            personnel_class, created = PersonnelClass.objects.get_or_create(
                event=self.event,
                slug=pc_slug,
                defaults=dict(
                    name=pc_name,
                    app_label=pc_app_label,
                    priority=self.get_ordering_number(),
                ),
            )

        tyovoima = PersonnelClass.objects.get(event=self.event, slug='tyovoima')
        conitea = PersonnelClass.objects.get(event=self.event, slug='conitea')

        for name, description, pcs in [
            ('Conitea', 'Tapahtuman järjestelytoimikunnan eli conitean jäsen', [conitea]),
            ('Järjestyksenvalvoja', '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).', [tyovoima]),
        ]:
            job_category, created = JobCategory.objects.get_or_create(
                event=self.event,
                name=name,
                defaults=dict(
                    description=description,
                    slug=slugify(name),
                )
            )

            if created:
                job_category.personnel_classes.set(pcs)


        labour_event_meta.create_groups()

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

        for jc_name, qualification_name in [
            ('Järjestyksenvalvoja', 'JV-kortti'),
            # (u'Green room', u'Hygieniapassi'),
        ]:
            jc = JobCategory.objects.get(event=self.event, name=jc_name)
            qual = Qualification.objects.get(name=qualification_name)
            jc.required_qualifications.set([qual])

        period_length = timedelta(hours=8)
        for period_description, period_start in [
            ("Perjantain kasaus (pe klo 12–21)", None),
            ("Lauantain aamuvuoro (la klo 08–14)", None),
#.........这里部分代码省略.........
开发者ID:tracon,项目名称:kompassi,代码行数:101,代码来源:setup_nekocon2019.py

示例10: handle

    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,代码行数:101,代码来源:setup_tracon9.py

示例11: setup_labour

    def setup_labour(self):
        from core.models import Person
        from labour.models import (
            AlternativeSignupForm,
            InfoLink,
            Job,
            JobCategory,
            LabourEventMeta,
            Perk,
            PersonnelClass,
            Qualification,
            WorkPeriod,
        )
        from ...models import SignupExtra
        from django.contrib.contenttypes.models import ContentType

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

        if self.test:
            from core.models import Person
            person, unused = Person.get_or_create_dummy()
            labour_admin_group.user_set.add(person.user)

        content_type = ContentType.objects.get_for_model(SignupExtra)

        labour_event_meta_defaults = dict(
            signup_extra_content_type=content_type,
            work_begins=self.event.start_time - timedelta(days=1),
            work_ends=self.event.end_time + timedelta(hours=4),
            admin_group=labour_admin_group,
            contact_email='Popcult Helsingin työvoimavastaava <[email protected]>',
        )

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

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

        for pc_name, pc_slug, pc_app_label in [
            ('Vastaava', 'vastaava', 'labour'),
            ('Työvoima', 'tyovoima', 'labour'),
            ('Ohjelmanjärjestäjä', 'ohjelma', 'programme'),
            ('Media', 'media', 'badges'),
            ('Myyjä', 'myyja', 'badges'),
            ('Vieras', 'vieras', 'badges'),
        ]:
            personnel_class, created = PersonnelClass.objects.get_or_create(
                event=self.event,
                slug=pc_slug,
                defaults=dict(
                    name=pc_name,
                    app_label=pc_app_label,
                    priority=self.get_ordering_number(),
                ),
            )

        tyovoima = PersonnelClass.objects.get(event=self.event, slug='tyovoima')
        vastaava = PersonnelClass.objects.get(event=self.event, slug='vastaava')

        for jc_data in [
            (
                'Vastaava',
                'Tapahtuman järjestelytoimikunnan jäsen eli vastaava',
                [vastaava]
            ),
            (
                'Järjestyksenvalvoja',
                'Järjestyksenvalvojan tehtäviin kuuluvat lippujen tarkistus, kulunvalvonta sekä ihmisten ohjaus. Tehtävään vaaditaan JV-kortti.',
                [tyovoima]
            ),
        ]:
            if len(jc_data) == 3:
                name, description, pcs = jc_data
                job_names = []
            elif len(jc_data) == 4:
                name, description, pcs, job_names = jc_data
            else:
                raise ValueError("Length of jc_data must be 3 or 4")

            job_category, created = JobCategory.objects.get_or_create(
                event=self.event,
                slug=slugify(name),
                defaults=dict(
                    name=name,
                    description=description,
                )
            )

            if created:
                job_category.personnel_classes = pcs
                job_category.save()

            for job_name in job_names:
#.........这里部分代码省略.........
开发者ID:Siikakala,项目名称:kompassi,代码行数:101,代码来源:setup_popcult2017.py

示例12: setup_labour

    def setup_labour(self):
        from core.models import Person
        from labour.models import (
            AlternativeSignupForm,
            InfoLink,
            Job,
            JobCategory,
            LabourEventMeta,
            Perk,
            PersonnelClass,
            Qualification,
            WorkPeriod,
        )
        from ...models import SignupExtra, SpecialDiet, Night
        from django.contrib.contenttypes.models import ContentType

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

        if self.test:
            from core.models import Person
            person, unused = Person.get_or_create_dummy()
            labour_admin_group.user_set.add(person.user)

        content_type = ContentType.objects.get_for_model(SignupExtra)

        labour_event_meta_defaults = dict(
            signup_extra_content_type=content_type,
            work_begins=self.event.start_time - timedelta(days=1),
            work_ends=self.event.end_time + timedelta(hours=4),
            admin_group=labour_admin_group,
            contact_email='Mimiconin työvoimavastaava <[email protected]>',
        )

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

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

        for pc_name, pc_slug, pc_app_label in [
            ('Conitea', 'conitea', 'labour'),
            ('Työvoima', 'tyovoima', 'labour'),
            ('Ohjelmanjärjestäjä', 'ohjelma', 'programme'),
            ('Media', 'media', 'badges'),
            ('Myyjä', 'myyja', 'badges'),
            ('Vieras', 'vieras', 'badges'),
        ]:
            personnel_class, created = PersonnelClass.objects.get_or_create(
                event=self.event,
                slug=pc_slug,
                defaults=dict(
                    name=pc_name,
                    app_label=pc_app_label,
                    priority=self.get_ordering_number(),
                ),
            )

        tyovoima = PersonnelClass.objects.get(event=self.event, slug='tyovoima')
        conitea = PersonnelClass.objects.get(event=self.event, slug='conitea')

        if not JobCategory.objects.filter(event=self.event).exists():
            for jc_data in [
                ("Conitea", "Tapahtuman conitean eli järjestelytoimikunnan jäsen.", [conitea]),
                ("Erikoistehtävä", "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.", [tyovoima]),
                ("Järjestyksenvalvoja", "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 > Pätevyydet).", [tyovoima]),
                ("Ensiapu", "Tapahtuman ensiapupisteellä avustaminen. Edellyttää voimassa olevaa EA1-korttia. EA2-kortti luonnollisesti plussaa. HUOM! Et voi valita tätä tehtävää hakemukseesi, ellet ole täyttänyt tietoihisi EA1-korttisi numeroa (oikealta ylhäältä oma nimesi > Pätevyydet)", [tyovoima]),
                ("Info", "Infopisteen henkilökunta vastaa kävijöiden kysymyksiin ja ratkaisee heidän ongelmiaan tapahtuman aikana. Tehtävä edellyttää asiakaspalveluasennetta, tervettä järkeä ja ongelmanratkaisukykyä. Mimiconissa infon tehtäviin kuuluu hiljaisina hetkinä myös kevyttä yleisvänkäröintiä, joihin saat tapahtumapaikalla lisäohjeita.", [tyovoima]),
                ("Lipunmyynti", "Lipuntarkastajana hoidat e-lippujen vaihtoa rannekkeiksi, sekä mahdollisesti lippujen myyntiä ovelta. Tehtävä edellyttää asiakaspalveluasennetta ja rahankäsittelytaitoja.", [tyovoima]),
                ("Narikka", "Narikassa säilytetään tapahtuman aikana kävijöiden omaisuutta. Tehtävä ei vaadi erikoisosaamista.", [tyovoima]),
                ("Ohjelma-avustaja", "Luennoitsijoiden ja muiden ohjelmanpitäjien avustamista ohjelmanumeroiden yhteydessä. He pitävät huolen, että ohjelmat alkavat ja loppuvat ajallaan ja että ohjelmanjärjestäjillä on kaikki mitä he tarvitsevat salissa.", [tyovoima]),
                ("Siivous", "Siivousvänkärit ovat vastuussa tapahtuman yleisestä siisteydestä. He kulkevat ympäriinsä tehtävänään roskakorien tyhjennys, vesipisteiden täyttö, vessoihin papereiden lisääminen ja monet muut pienet askareet.", [tyovoima]),
                ("Majoitusvalvoja", "Majoitusvalvojat vahtivat väsyneiden kävijöiden ja vänkäreiden unta majoituskoululla. Tehtävässä työskennellään yöllä, joten se edellyttää 18-vuoden ikää.", [tyovoima]),
                ("Kirpputori", "Kirpputorilla vastaanotat kävijöiden myyntiin tuomia tuotteita, ja myyt ne eteenpäin uusille omistajille. Kaikista myynneistä pidetään kirjanpitoa. Tehtävä edellyttää asiakaspalveluasennetta, tarkkuutta ja rahankäsittelytaitoja.", [tyovoima]),
                ("Pelihuone", "Pelihuoneella avustat ja valvot kävijöitä. Tehtävä ei vaadi erikoisosaamista.", [tyovoima]),
                ("Green room", "Green roomissa valmistetaan nälkäisille vänkäreille sekä kevyttä välipalaa että ruokaa. Green roomissa työskentelevät huolehtivat myös tilan siisteydestä. Tehtävä edellyttää hygieniapassia.", [tyovoima]),
                ("Kasaus ja purku", "Mimiconia kasataan tapahtumaa edeltävänä perjantaina, ja puretaan sunnuntaina ovien sulkeuduttua. Jos siis olet paikalla, tervetuloa mukaan! Tehtävä ei vaadi erikoisosaamista.", [tyovoima]),
            ]:
                if len(jc_data) == 3:
                    name, description, pcs = jc_data
                    job_names = []
                elif len(jc_data) == 4:
                    name, description, pcs, job_names = jc_data
                else:
                    raise ValueError("Length of jc_data must be 3 or 4")

                job_category, created = JobCategory.objects.get_or_create(
                    event=self.event,
                    slug=slugify(name),
                    defaults=dict(
                        name=name,
                        description=description,
                    )
                )

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

示例13: setup_labour

    def setup_labour(self):
        from core.models import Person
        from labour.models import (
            AlternativeSignupForm,
            InfoLink,
            JobCategory,
            LabourEventMeta,
            PersonnelClass,
            Qualification,
        )
        from ...models import SignupExtra, SpecialDiet
        from django.contrib.contenttypes.models import ContentType

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

        if self.test:
            person, unused = Person.get_or_create_dummy()
            labour_admin_group.user_set.add(person.user)

        content_type = ContentType.objects.get_for_model(SignupExtra)

        labour_event_meta_defaults = dict(
            signup_extra_content_type=content_type,
            work_begins=self.event.start_time - timedelta(days=1),
            work_ends=self.event.end_time + timedelta(hours=4),
            admin_group=labour_admin_group,
            contact_email='Finnconin työvoimavastaava <[email protected]>',
        )

        if self.test:
            t = now()
            labour_event_meta_defaults.update(
                registration_opens=t - timedelta(days=60),
                registration_closes=t + timedelta(days=60),
            )
        else:
            pass

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

        for pc_name, pc_slug, pc_app_label in [
            ('Conitea', 'conitea', 'labour'),
            ('Työvoima', 'tyovoima', 'labour'),
            ('Ohjelmanjärjestäjä', 'ohjelma', 'programme'),
            ('Media', 'media', 'badges'),
            ('Myyjä', 'myyja', 'badges'),
            ('Kunniavieras', 'goh', 'badges'),
        ]:
            personnel_class, created = PersonnelClass.objects.get_or_create(
                event=self.event,
                slug=pc_slug,
                defaults=dict(
                    name=pc_name,
                    app_label=pc_app_label,
                    priority=self.get_ordering_number(),
                ),
            )

        tyovoima = PersonnelClass.objects.get(event=self.event, slug='tyovoima')
        conitea = PersonnelClass.objects.get(event=self.event, slug='conitea')

        for name, description, pcs in [
            (
                'Conitea',
                'Tapahtuman järjestelytoimikunnan jäsen eli coniitti',
                [conitea]
            ),
            (
                'Järjestyksenvalvoja',
                'Kävijöiden turvallisuuden valvominen conipaikalla. 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).',
                [tyovoima]
            ),
        ]:
            job_category, created = JobCategory.objects.get_or_create(
                event=self.event,
                slug=slugify(name),
                defaults=dict(
                    name=name,
                    description=description,
                )
            )

            if created:
                job_category.personnel_classes.set(pcs)


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

        for jc_name, qualification_name in [
            ('Järjestyksenvalvoja', 'JV-kortti'),
        ]:
            jc = JobCategory.objects.get(event=self.event, name=jc_name)
            qual = Qualification.objects.get(name=qualification_name)

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

示例14: setup_labour

    def setup_labour(self):
        from core.models import Person
        from labour.models import (
            AlternativeSignupForm,
            InfoLink,
            Job,
            JobCategory,
            LabourEventMeta,
            Perk,
            PersonnelClass,
            Qualification,
            WorkPeriod,
        )
        from ...models import SignupExtra, SpecialDiet
        from django.contrib.contenttypes.models import ContentType

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

        if self.test:
            person, unused = Person.get_or_create_dummy()
            labour_admin_group.user_set.add(person.user)

        content_type = ContentType.objects.get_for_model(SignupExtra)

        labour_event_meta_defaults = dict(
            signup_extra_content_type=content_type,
            work_begins=datetime(2019, 7, 26, 8, 0, tzinfo=self.tz),
            work_ends=datetime(2019, 7, 28, 23, 0, tzinfo=self.tz),
            admin_group=labour_admin_group,
            contact_email='Ropecon 2019 -työvoimatiimi <[email protected]>',
        )

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

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

        for pc_name, pc_slug, pc_app_label in [
            ('Conitea', 'conitea', 'labour'),
            ('Vuorovastaava', 'ylivankari', 'labour'),
            ('Ylityöntekijä', 'ylityovoima', 'labour'),
            ('Työvoima', 'tyovoima', 'labour'),
            ('Ohjelmanjärjestäjä', 'ohjelma', 'programme'),
            ('Guest of Honour', 'goh', 'programme'),
            ('Media', 'media', 'badges'),
            ('Myyjä', 'myyja', 'badges'),
            ('Vieras', 'vieras', 'badges'),
            ('Vapaalippu', 'vapaalippu', 'badges'),
        ]:
            personnel_class, created = PersonnelClass.objects.get_or_create(
                event=self.event,
                slug=pc_slug,
                defaults=dict(
                    name=pc_name,
                    app_label=pc_app_label,
                    priority=self.get_ordering_number(),
                ),
            )

        tyovoima = PersonnelClass.objects.get(event=self.event, slug='tyovoima')
        ylityovoima = PersonnelClass.objects.get(event=self.event, slug='ylityovoima')
        conitea = PersonnelClass.objects.get(event=self.event, slug='conitea')
        ylivankari = PersonnelClass.objects.get(event=self.event, slug='ylivankari')
        ohjelma = PersonnelClass.objects.get(event=self.event, slug='ohjelma')

        if not JobCategory.objects.filter(event=self.event).exists():
            for jc_data in [
                ('Conitea', 'Tapahtuman järjestelytoimikunnan eli conitean jäsen', [conitea]),
                ('Erikoistehtävä', '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.', [tyovoima, ylityovoima, ylivankari]),
                ('jv', 'Järjestyksenvalvoja', '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).', [tyovoima, ylityovoima, ylivankari]),
                ('kasaus', 'Kasaus ja purku', 'Kalusteiden siirtelyä & opasteiden kiinnittämistä. Ei vaadi erikoisosaamista. Työvuoroja vain perjantaina 8-16 ja sunnuntaina 15-22.', [tyovoima, ylityovoima, ylivankari]),
                ('logistiikka', 'Logistiikka', 'Tavaroiden roudaamista ja pakettiauton ajamista. Pääosa työvuoroista ajoittuu pe 8-16 ja su 15-22 väliselle ajalle.', [tyovoima, ylityovoima, ylivankari]),
                ('majoitus', 'Majoitusvalvoja', 'Huolehtivat lattiamajoituspaikkojen pyörittämisestä.', [tyovoima, ylityovoima, ylivankari]),
                ('lastenhoito', 'Lastenhoitohuone', 'Valvovat lastenhoitohuoneen toimintaa.', [tyovoima, ylityovoima, ylivankari]),
                ('takahuone', 'Takahuone', 'Pyörittävät takahuonetta.', [tyovoima, ylityovoima, ylivankari]),
                ('kaato', 'Kaato', 'Hoitavat kaadon. Tämän työpisteen toiminta tapahtuu kokonaisuudessaan conin jälkeisenä maanantaina ja osin tiistaiaamuna.', [tyovoima, ylityovoima, ylivankari]),
                ('lipunmyynti', 'Lipunmyynti', 'Pääsylippujen myyntiä sekä lippujen tarkastamista. Myyjiltä edellytetään täysi-ikäisyyttä, asiakaspalveluhenkeä ja huolellisuutta rahankäsittelyssä.', [tyovoima, ylityovoima, ylivankari]),
                ('myyntituote', 'Myyntitiski', 'Ropecon-oheistuotteiden myyntiä. Myyjiltä edellytetään täysi-ikäisyyttä, asiakaspalveluhenkeä ja huolellisuutta rahankäsittelyssä.', [tyovoima, ylityovoima, ylivankari]),
                ('kirpputori', 'Kirpputori', 'Kävijöiden tuomien kirppistuotteiden myyntiä. Myyjiltä edellytetään täysi-ikäisyyttä, asiakaspalveluhenkeä ja huolellisuutta rahankäsittelyssä.', [tyovoima, ylityovoima, ylivankari]),
                ('narikka', 'Narikka', 'Narikka, duh.', [tyovoima, ylityovoima, ylivankari]),
                ('ohjelmajuoksija', 'Ohjelmajuoksija', 'Avustaa ohjelmanjärjestäjiä salitekniikan ja ohjelmanumeron käynnistämisessä.', [tyovoima, ylityovoima, ylivankari]),
                ('info', 'Info', 'Infopisteen henkilökunta vastaa kävijöiden kysymyksiin ja ratkaisee heidän ongelmiaan tapahtuman paikana. Tehtävä edellyttää asiakaspalveluasennetta, tervettä järkeä ja ongelmanratkaisukykyä.', [tyovoima, ylityovoima, ylivankari]),
                ('figutiski', 'Figutiski', 'Figupelien infotiski opastaa kävijöitä ja turnausjärjestäjiä erityisesti figuturnauksiin liittyvissä asioissa.', [tyovoima, ylityovoima, ylivankari]),
                ('korttitiski', 'Korttitiski', 'Korttipelien infotiski opastaa kävijöitä ja turnausjärjestäjiä erityisesti korttiturnauksiin liittyvissä asioissa.', [tyovoima, ylityovoima, ylivankari]),
                ('larptiski', 'Larppitiski', 'Larppien infotiski opastaa kävijöitä ja larppien järjestäjiä larppeihin liittyvissä asioissa.', [tyovoima, ylityovoima, ylivankari]),
                ('ropetiski', 'Ropetiski', 'Roolipelien infotiski opastaa kävijöitä ja GM:iä roolipeleihin liittyvissä asioissa.', [tyovoima, ylityovoima, ylivankari]),
                ('kp', 'Kokemuspiste', 'Kokemuspisteen infotiski opastaa kävijöitä kokemuspisteeseen liittyvissä asioissa.', [tyovoima, ylityovoima, ylivankari]),
                ('kpharraste', 'Kokemuspisteen harraste-esittelijä', 'Kokemuspisteen harraste-esittelijät esittelevät jotain tiettyä peliä ja auttavat sen pelaamisessa.', [tyovoima, ylityovoima, ylivankari]),
                ('imp', 'International Meeting Point', 'Ulkomaalaisten kävijöiden auttamista International Meeting Pointilla. Vähintään yhden vieraan kielen sujuva taito vaatimuksena.', [tyovoima, ylityovoima, ylivankari]),
                ('tekniikka', 'Tekniikka', 'Tieto- ja/tai AV-tekniikan rakentamista, ylläpitoa ja purkamista.', [tyovoima, ylityovoima, ylivankari]),
                ('taltiointi', 'Taltiointi', 'Ohjelmanumeroiden taltiointia.', [tyovoima, ylityovoima, ylivankari]),

                ('ohjelma', 'Ohjelmanjärjestäjä', 'Luennon tai muun vaativan ohjelmanumeron pitäjä', [ohjelma]),
#.........这里部分代码省略.........
开发者ID:tracon,项目名称:kompassi,代码行数:101,代码来源:setup_ropecon2019.py

示例15: setup_labour

    def setup_labour(self):
        from core.models import Event, Person
        from labour.models import (
            AlternativeSignupForm,
            InfoLink,
            Job,
            JobCategory,
            LabourEventMeta,
            Perk,
            PersonnelClass,
            Qualification,
            WorkPeriod,
        )
        from ...models import SignupExtra
        from django.contrib.contenttypes.models import ContentType

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

        if self.test:
            from core.models import Person
            person, unused = Person.get_or_create_dummy()
            labour_admin_group.user_set.add(person.user)

        content_type = ContentType.objects.get_for_model(SignupExtra)

        labour_event_meta_defaults = dict(
            signup_extra_content_type=content_type,
            work_begins=self.event.start_time - timedelta(days=1),
            work_ends=self.event.end_time + timedelta(hours=4),
            admin_group=labour_admin_group,
            contact_email='Popcult Helsingin työvoimavastaava <[email protected]>',
        )

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

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

        for pc_name, pc_slug, pc_app_label in [
            ('Vastaava', 'vastaava', 'labour'),
            ('Työvoima', 'tyovoima', 'labour'),
            ('Ohjelmanjärjestäjä', 'ohjelma', 'programme'),
            ('Media', 'media', 'badges'),
            ('Myyjä', 'myyja', 'badges'),
            ('Vieras', 'vieras', 'badges'),
        ]:
            personnel_class, created = PersonnelClass.objects.get_or_create(
                event=self.event,
                slug=pc_slug,
                defaults=dict(
                    name=pc_name,
                    app_label=pc_app_label,
                    priority=self.get_ordering_number(),
                ),
            )

        if not JobCategory.objects.filter(event=self.event).exists():
            JobCategory.copy_from_event(
                source_event=Event.objects.get(slug='popcultday2018'),
                target_event=self.event,
            )

        labour_event_meta.create_groups()

        JobCategory.objects.filter(event=self.event, slug='vastaava').update(public=False)

        for jc_name, qualification_name in [
            ('Järjestyksenvalvoja', 'JV-kortti'),
        ]:
            jc = JobCategory.objects.get(event=self.event, name=jc_name)
            qual = Qualification.objects.get(name=qualification_name)
            if not jc.required_qualifications.exists():
                jc.required_qualifications.set([qual])


        AlternativeSignupForm.objects.get_or_create(
            event=self.event,
            slug='vastaava',
            defaults=dict(
                title='Vastaavien ilmoittautumislomake',
                signup_form_class_path='events.popcult2019.forms:OrganizerSignupForm',
                signup_extra_form_class_path='events.popcult2019.forms:OrganizerSignupExtraForm',
                active_from=datetime(2018, 11, 14, 0, 0, 0, tzinfo=self.tz),
                active_until=self.event.start_time,
            ),
        )
开发者ID:tracon,项目名称:kompassi,代码行数:93,代码来源:setup_popcult2019.py


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