Пример #1
0
def programme_admin_menu_items(request, event):
    invitations_url = url('programme_admin_invitations_view', event.slug)
    invitations_active = request.path == invitations_url
    invitations_text = _('Open invitations')
    invitations_notifications = Invitation.objects.filter(programme__category__event=event, state='valid').count()

    timetable_url = url('programme_admin_timetable_view', event.slug)
    timetable_active = request.path == timetable_url
    timetable_text = 'Ohjelmakartan esikatselu'

    special_url = url('programme_admin_special_view', event.slug)
    special_active = request.path == special_url
    special_text = 'Ohjelmakartan ulkopuolisten esikatselu'

    index_url = url('programme_admin_view', event.slug)
    index_active = request.path.startswith(index_url) and not any((
        invitations_active,
        timetable_active,
        special_active,
    ))
    index_text = 'Ohjelmaluettelo'

    return [
        AdminMenuItem(is_active=index_active, href=index_url, text=index_text),
        AdminMenuItem(is_active=invitations_active, href=invitations_url, text=invitations_text, notifications=invitations_notifications),
        AdminMenuItem(is_active=timetable_active, href=timetable_url, text=timetable_text),
        AdminMenuItem(is_active=special_active, href=special_url, text=special_text),
    ]
Пример #2
0
def tickets_admin_menu_items(request, event):
    stats_url = url('tickets_admin_stats_view', event.slug)
    stats_active = request.path == stats_url
    stats_text = u"Myyntitilanne"

    orders_url = url('tickets_admin_orders_view', event.slug)
    orders_active = request.path.startswith(orders_url)
    orders_text = u"Tilaukset"

    batches_url = url('tickets_admin_batches_view', event.slug)
    batches_active = request.path.startswith(batches_url)
    batches_text = u"Toimituserät"

    tools_url = url('tickets_admin_tools_view', event.slug)
    tools_active = request.path.startswith(tools_url)
    tools_text = u"Työkalut"

    items = [
        (stats_active, stats_url, stats_text),
        (orders_active, orders_url, orders_text),
        (batches_active, batches_url, batches_text),
        (tools_active, tools_url, tools_text),
    ]

    if 'lippukala' in settings.INSTALLED_APPS:
        pos_url = url('tickets_admin_pos_view', event.slug)
        pos_active = False
        pos_text = u"Lipuntarkastus"

        items.extend([
            (pos_active, pos_url, pos_text),
        ])

    return items
Пример #3
0
def labour_admin_roster_view(request, vars, event, job_category_slug=None):
    if job_category_slug is not None:
        get_object_or_404(JobCategory, event=event, slug=job_category_slug)

    tz = tzlocal()

    # use javaScriptCase because this gets directly embedded in <script> as json
    config = dict(
        event=event.as_dict(),
        workHours=[
            dict(startTime=hour.astimezone(tz).isoformat())
            for hour in event.labour_event_meta.work_hours
        ],
        lang='fi', # XXX I18N hardcoded
        urls=dict(
            base=url('labour_admin_roster_view', event.slug),
            jobCategoryApi=url('labour_api_job_categories_view', event.slug),
        )
    )

    vars.update(
        config_json=json.dumps(config),
    )

    return render(request, 'labour_admin_roster_view.pug', vars)
Пример #4
0
def membership_admin_menu_items(request, organization):
    members_url = url('membership_admin_members_view', organization.slug)
    members_active = request.path.startswith(members_url)
    members_text = 'Jäsenrekisteri'

    term_text = 'Toimikauden tiedot'
    current_term = organization.membership_organization_meta.get_current_term()
    base_term_url = url('membership_admin_new_term_view', organization.slug)
    term_active = request.path.startswith(base_term_url)
    if current_term:
        term_notifications = 0
        term_url = url('membership_admin_term_view', organization.slug,
                       current_term.pk)
    else:
        term_notifications = 1
        term_url = base_term_url

    return [
        AdminMenuItem(is_active=members_active,
                      href=members_url,
                      text=members_text),
        AdminMenuItem(is_active=term_active,
                      href=term_url,
                      text=term_text,
                      notifications=term_notifications),
    ]
Пример #5
0
    def get(self, request, event, form, errors):
        order = get_order(request, event)

        phases = []

        for phase in ALL_PHASES:
            phases.append(dict(
                url=url(phase.name, event.slug),
                friendly_name=phase.friendly_name,
                current=phase is self
            ))

        phase = dict(
            url=url(self.name, event.slug),
            next_phase=bool(self.next_phase),
            prev_phase=bool(self.prev_phase),
            can_cancel=self.can_cancel,
            payment_phase=self.payment_phase,
            name=self.name
        )

        vars = dict(self.vars(request, event, form),
            event=event,
            form=form,
            errors=errors,
            order=order,
            phase=phase,
            phases=phases,

            # XXX hack to hide the login form
            login_page=True
        )

        return render(request, self.template, vars)
Пример #6
0
def labour_admin_menu_items(request, event):
    dashboard_url = url('labour_admin_dashboard_view', event.slug)
    dashboard_active = request.path == dashboard_url
    dashboard_text = u"Kojelauta"

    signups_url = url('labour_admin_signups_view', event.slug)
    signups_active = request.path.startswith(signups_url)
    signups_text = u"Tapahtumaan ilmoittautuneet henkilöt"

    mail_url = url('labour_admin_mail_view', event.slug)
    mail_active = request.path.startswith(mail_url)
    mail_text = u"Työvoimaviestit"

    # roster_url = url('labour_admin_roster_view', event.slug)
    # roster_active = request.path == roster_url
    # roster_text = u"Työvuorojen suunnittelu"

    query_url = url('labour_admin_query', event.slug)
    query_active = request.path == query_url
    query_text = u"Hakemusten suodatus"

    return [
        (dashboard_active, dashboard_url, dashboard_text),
        (signups_active, signups_url, signups_text),
        (mail_active, mail_url, mail_text),
        # (roster_active, roster_url, roster_text),
        (query_active, query_url, query_text),
    ]
Пример #7
0
    def get(self, request, event, form, errors):
        order = get_order(request, event)

        phases = []

        for phase in ALL_PHASES:
            phases.append(
                dict(url=url(phase.name, event.slug),
                     friendly_name=phase.friendly_name,
                     current=phase is self))

        phase = dict(url=url(self.name, event.slug),
                     next_phase=bool(self.next_phase),
                     prev_phase=bool(self.prev_phase),
                     can_cancel=self.can_cancel,
                     can_go_back=self.can_go_back(request, event),
                     payment_phase=self.payment_phase,
                     name=self.name)

        vars = dict(
            self.vars(request, event, form),
            event=event,
            form=form,
            errors=errors,
            order=order,
            phase=phase,
            phases=phases,

            # XXX hack to hide the login form
            login_page=True)

        return render(request, self.template, vars)
Пример #8
0
def labour_admin_roster_view(request, vars, event, job_category_slug=None):
    if job_category_slug is not None:
        get_object_or_404(JobCategory, event=event, slug=job_category_slug)

    tz = tzlocal()

    # use javaScriptCase because this gets directly embedded in <script> as json
    config = dict(
        event=event.as_dict(),
        workHours=[
            dict(startTime=hour.astimezone(tz).isoformat())
            for hour in event.labour_event_meta.work_hours
        ],
        lang='fi', # XXX I18N hardcoded
        urls=dict(
            base=url('labour_admin_roster_view', event.slug),
            jobCategoryApi=url('labour_api_job_categories_view', event.slug),
        )
    )

    vars.update(
        config_json=json.dumps(config),
    )

    return render(request, 'labour_admin_roster_view.jade', vars)
Пример #9
0
def get_timetable_tabs(request, event):
    timetable_url = url('programme_timetable_view', event.slug)
    timetable_active = request.path == timetable_url
    timetable_text = 'Ohjelmakartta'

    special_url = url('programme_special_view', event.slug)
    special_active = request.path == special_url
    special_text = 'Ohjelmakartan ulkopuolinen ohjelma'

    return [
        Tab(timetable_url, timetable_text, timetable_active, 0),
        Tab(special_url, special_text, special_active, 0),
    ]
Пример #10
0
def get_schedule_tabs(request, event):
    schedule_url = url('programme:schedule_view', event.slug)
    schedule_active = request.path == schedule_url
    schedule_text = 'Ohjelmakartta'

    special_url = url('programme:special_view', event.slug)
    special_active = request.path == special_url
    special_text = 'Ohjelmakartan ulkopuolinen ohjelma'

    return [
        Tab(schedule_url, schedule_text, schedule_active, 0),
        Tab(special_url, special_text, special_active, 0),
    ]
Пример #11
0
def programme_profile_menu_items(request):
    programme_url = url('programme:profile_view')
    programme_active = request.path.startswith(programme_url)
    programme_text = _('Programmes')

    reservations_url = url('programme:profile_reservations_view')
    reservations_active = request.path.startswith(reservations_url)
    reservations_text = _('Seat reservations')

    return [
        (programme_active, programme_url, programme_text),
        (reservations_active, reservations_url, reservations_text),
    ]
Пример #12
0
def programme_profile_menu_items(request):
    programme_url = url('programme_profile_view')
    programme_active = request.path.startswith(programme_url)
    programme_text = _('Programmes')

    reservations_url = url('programme_profile_reservations_view')
    reservations_active = request.path.startswith(reservations_url)
    reservations_text = _('Seat reservations')

    return [
        (programme_active, programme_url, programme_text),
        (reservations_active, reservations_url, reservations_text),
    ]
Пример #13
0
def get_timetable_tabs(request, event):
    timetable_url = url('programme_timetable_view', event.slug)
    timetable_active = request.path == timetable_url
    timetable_text = 'Ohjelmakartta'

    special_url = url('programme_special_view', event.slug)
    special_active = request.path == special_url
    special_text = 'Ohjelmakartan ulkopuolinen ohjelma'

    return [
        Tab(timetable_url, timetable_text, timetable_active, 0),
        Tab(special_url, special_text, special_active, 0),
    ]
Пример #14
0
def sms_admin_menu_items(request, event):
    votes_url = url('sms_admin_votes_view', event.slug)
    votes_active = request.path == votes_url
    votes_text = 'Äänestykset'

    received_url = url('sms_admin_received_view', event.slug)
    received_active = request.path == received_url
    received_text = 'Vastaanotetut viestit'

    return [
        (votes_active, votes_url, votes_text),
        (received_active, received_url, received_text),
    ]
Пример #15
0
def sms_admin_menu_items(request, event):
    votes_url = url('sms_admin_votes_view', event.slug)
    votes_active = request.path == votes_url
    votes_text = u'Äänestykset'

    received_url = url('sms_admin_received_view', event.slug)
    received_active = request.path == received_url
    received_text = u'Vastaanotetut viestit'

    return [
        (votes_active, votes_url, votes_text),
        (received_active, received_url, received_text),
    ]
def enrollment_admin_menu_items(request, event):
    enrolled_url = url('enrollment_admin_view', event.slug)
    enrolled_active = request.path == enrolled_url
    enrolled_text = _('Enrolled people')

    special_diets_url = url('enrollment_admin_special_diets_view', event.slug)
    special_diets_active = request.path == special_diets_url
    special_diets_text = _('Special diets')

    return [
        AdminMenuItem(is_active=enrolled_active, href=enrolled_url, text=enrolled_text),
        AdminMenuItem(is_active=special_diets_active, href=special_diets_url, text=special_diets_text),
    ]
Пример #17
0
def programme_admin_menu_items(request, event):
    timetable_url = url('programme_admin_timetable_view', event.slug)
    timetable_active = request.path == timetable_url
    timetable_text = u'Ohjelmakartan esikatselu'

    index_url = url('programme_admin_view', event.slug)
    index_active = request.path.startswith(index_url) and not timetable_active # XXX
    index_text = u'Ohjelmaluettelo'


    return [
        (index_active, index_url, index_text),
        (timetable_active, timetable_url, timetable_text),
    ]
Пример #18
0
def query_exec(request, vars, event):
    if not request.is_ajax() and not settings.DEBUG:
        # Don't bother with non-ajax requests.
        return HttpResponseRedirect(reverse(query_index, args=[event.slug]))

    query_builder_class = get_query(event)
    if query_builder_class is None:
        return HttpResponseNotFound()

    query_builder = query_builder_class()
    query_builder.parse(request.POST)

    q_results = query_builder.exec_query()
    m_results = merge_values(list(q_results))
    for result in m_results:
        # NB signup link uses person.pk, not signup.pk
        signup = Signup.objects.get(pk=result["pk"])

        result["__url"] = url("labour_admin_signup_view", event.slug, signup.person.pk)

    convert_datetimes(m_results)
    j_results = json.dumps(m_results)

    if request.is_ajax():
        # Normal ajax-request.
        return HttpResponse(j_results)
    else:
        # Debug emitted standard POST-request.
        get_query_config(vars, query_builder)
        vars.update(
            query_builder_results=j_results,
            query_builder_views=json.dumps(query_builder.views),
        )
        return render(request, 'labour_query.jade', vars)
Пример #19
0
def query_exec(request, vars, event):
    if not request.is_ajax() and not settings.DEBUG:
        # Don't bother with non-ajax requests.
        return HttpResponseRedirect(reverse(query_index, args=[event.slug]))

    query_builder_class = get_query(event)
    if query_builder_class is None:
        return HttpResponseNotFound()

    query_builder = query_builder_class()
    query_builder.parse(request.POST)

    q_results = query_builder.exec_query()
    m_results = merge_values(list(q_results))
    for result in m_results:
        # NB signup link uses person.pk, not signup.pk
        signup = Signup.objects.get(pk=result["pk"])

        result["__url"] = url("labour_admin_signup_view", event.slug,
                              signup.person.pk)

    convert_datetimes(m_results)
    j_results = json.dumps(m_results)

    if request.is_ajax():
        # Normal ajax-request.
        return HttpResponse(j_results)
    else:
        # Debug emitted standard POST-request.
        get_query_config(vars, query_builder)
        vars.update(
            query_builder_results=j_results,
            query_builder_views=json.dumps(query_builder.views),
        )
        return render(request, 'labour_query.jade', vars)
Пример #20
0
    def get_feedback_url(self, request=None):
        path = url('programme_feedback_view', self.event.slug, self.pk)

        if request:
            return request.build_absolute_uri(path)
        else:
            return path
Пример #21
0
    def get_feedback_url(self, request=None):
        path = url('programme_feedback_view', self.event.slug, self.pk)

        if request:
            return request.build_absolute_uri(path)
        else:
            return path
Пример #22
0
    def render_message_body(self, request):
        context = dict(link=request.build_absolute_uri(
            url('desuprofile_integration_confirmation_view', self.code)))

        return render_to_string(
            'desuprofile_integration_confirmation_message.eml',
            context=context,
            request=request)
def enrollment_admin_menu_items(request, event):
    enrolled_url = url('enrollment_admin_view', event.slug)
    enrolled_active = request.path == enrolled_url
    enrolled_text = _('Enrolled people')

    special_diets_url = url('enrollment_admin_special_diets_view', event.slug)
    special_diets_active = request.path == special_diets_url
    special_diets_text = _('Special diets')

    return [
        AdminMenuItem(is_active=enrolled_active,
                      href=enrolled_url,
                      text=enrolled_text),
        AdminMenuItem(is_active=special_diets_active,
                      href=special_diets_url,
                      text=special_diets_text),
    ]
Пример #24
0
def labour_admin_roster_view(request, vars, event):
    # use javaScriptCase because this gets directly embedded in <script> as json
    tz = tzlocal()

    config = dict(
        event=event.as_dict(),
        workHours=[dict(startTime=hour.astimezone(tz).isoformat()) for hour in event.labour_event_meta.work_hours],
        lang="fi",  # XXX I18N hardcoded
        urls=dict(
            base=url("labour_admin_roster_view", event.slug),
            jobCategoryApi=url("labour_api_job_categories_view", event.slug),
        ),
    )

    vars.update(config_json=json.dumps(config))

    return render(request, "labour_admin_roster_view.jade", vars)
Пример #25
0
def programme_profile_menu_items(request):
    programme_url = url('programme_profile_view')
    programme_active = request.path.startswith(programme_url)
    programme_text = _('Programmes')

    return [
        (programme_active, programme_url, programme_text)
    ]
Пример #26
0
def programme_profile_menu_items(request):
    programme_url = url('programme_profile_view')
    programme_active = request.path.startswith(programme_url)
    programme_text = _('Programmes')

    return [
        (programme_active, programme_url, programme_text)
    ]
Пример #27
0
def badges_admin_menu_items(request, event):
    dashboard_url = url('badges_admin_dashboard_view', event.slug)
    dashboard_active = request.path == dashboard_url
    dashboard_text = u'Kojelauta'

    batches_url = url('badges_admin_batches_view', event.slug)
    batches_active = request.path.startswith(batches_url)
    batches_text = u'Tulostuserät'

    badges_url = url('badges_admin_badges_view', event.slug)
    badges_active = request.path.startswith(badges_url)
    badges_text = u'Nimilistat'

    return [
        (dashboard_active, dashboard_url, dashboard_text),
        (badges_active, badges_url, badges_text),
        (batches_active, batches_url, batches_text),
    ]
Пример #28
0
def qualifications_related():
    result = []

    for qual in Qualification.objects.all():
        # wouldn't need labour_person_(dis)qualify_view if they used POST as they should
        for view_name in ['labour_person_qualification_view', 'labour_person_qualify_view', 'labour_person_disqualify_view']:
            result.append(url(view_name, qual.slug))

    return result
Пример #29
0
def qualifications_related():
    result = []

    for qual in Qualification.objects.all():
        # wouldn't need labour_person_(dis)qualify_view if they used POST as they should
        for view_name in ['labour_person_qualification_view', 'labour_person_qualify_view', 'labour_person_disqualify_view']:
            result.append(url(view_name, qual.slug))

    return result
Пример #30
0
def signup_view(request, event, alternative_form_slug=None):
    """
    This is the "gate" function. The implementation is in
    `actual_signup_view`.

    The purpose of this function is to redirect new users through the process
    of registering an account, entering qualifications and only then signing up.
    Existing users are welcomed to sign up right away.
    """

    if alternative_form_slug:
        actual_signup_url = url('labour:special_signup_view', event.slug,
                                alternative_form_slug)
    else:
        actual_signup_url = url('labour:signup_view', event.slug)

    if not request.user.is_authenticated:
        pages = [
            ('core_login_view', _('Sign up or sign in...'), login_related()),
            ('labour:qualifications_view', _('Revise qualifications'),
             qualifications_related()),
            (actual_signup_url, _('Apply for volunteer work')),
        ]

        page_wizard_init(request, pages)
        return login_redirect(request)

    try:
        person = request.user.person
    except Person.DoesNotExist:
        pages = [
            ('core_personify_view', _('Complete contact information')),
            ('labour:qualifications_view', _('Revise qualifications'),
             qualifications_related()),
            (actual_signup_url, _('Apply for volunteer work')),
        ]

        page_wizard_init(request, pages)
        return redirect('core_personify_view')

    return actual_signup_view(request,
                              event,
                              alternative_form_slug=alternative_form_slug)
Пример #31
0
    def render_message_body(self, request):
        from django.template import RequestContext
        from django.template.loader import render_to_string

        vars = dict(
            code=self,
            link=request.build_absolute_uri(url('programme_self_service_view', self.programme.event.slug, self.code))
        )

        return render_to_string('programme_self_service_message.eml', vars, context_instance=RequestContext(request, {}))
Пример #32
0
def labour_admin_menu_items(request, event):
    dashboard_url = url('labour_admin_dashboard_view', event.slug)
    dashboard_active = request.path == dashboard_url
    dashboard_text = _("Dashboard")

    signups_url = url('labour_admin_signups_view', event.slug)
    signups_active = request.path.startswith(signups_url)
    signups_text = _("Applications")

    mail_url = url('labour_admin_mail_view', event.slug)
    mail_active = request.path.startswith(mail_url)
    mail_text = _("Mass messages")

    roster_url = url('labour_admin_roster_view', event.slug)
    roster_active = request.path.startswith(roster_url)
    roster_text = _("Shift planning")

    jobcategories_url = url('labour_admin_jobcategories_view', event.slug)
    jobcategories_active = request.path.startswith(jobcategories_url)
    jobcategories_text = _("Edit job categories")

    startstop_url = url('labour_admin_startstop_view', event.slug)
    startstop_active = request.path == startstop_url
    startstop_text = _("Application period")

    menu_items = [
        (dashboard_active, dashboard_url, dashboard_text),
        (signups_active, signups_url, signups_text),
        (mail_active, mail_url, mail_text),
        (roster_active, roster_url, roster_text),
        (jobcategories_active, jobcategories_url, jobcategories_text),
        (startstop_active, startstop_url, startstop_text),
    ]

    if event.labour_event_meta.signup_extra_model.get_shirt_size_field():
        shirts_url = url('labour_admin_shirts_view', event.slug)
        shirts_active = request.path == shirts_url
        shirts_text = _("Shirt sizes")

        menu_items.append((shirts_active, shirts_url, shirts_text))

    if (
        event.labour_event_meta.signup_extra_model.get_special_diet_field() or
        event.labour_event_meta.signup_extra_model.get_special_diet_other_field()
    ):
        special_diets_url = url('labour_admin_special_diets_view', event.slug)
        special_diets_active = request.path == special_diets_url
        special_diets_text = _("Special diets")

        menu_items.append((special_diets_active, special_diets_url, special_diets_text))

    return menu_items
Пример #33
0
    def render_message_body(self, request):
        event = self.event

        vars = dict(
            event=event,
            link=request.build_absolute_uri(url('programme_accept_invitation_view', event.slug, self.code)),
            meta=event.programme_event_meta,
            programme=self.programme,
        )

        return render_to_string('programme_invitation_message.eml', vars, request=request)
Пример #34
0
def get_organizers_menu_item(request, event, may_be_active=True, notifications=0):
    organizers_url = url('intra_organizer_view', event.slug)
    organizers_active = may_be_active and request.path.startswith(organizers_url)
    organizers_text = _('Teams and organizers')

    return AdminMenuItem(
        is_active=organizers_active,
        href=organizers_url,
        text=organizers_text,
        notifications=notifications,
    )
Пример #35
0
    def render_message_body(self, request):
        event = self.event

        vars = dict(
            event=event,
            link=request.build_absolute_uri(url('programme:accept_invitation_view', event.slug, self.code)),
            meta=event.programme_event_meta,
            programme=self.programme,
        )

        return render_to_string('programme_invitation_message.eml', vars, request=request)
Пример #36
0
def labour_signup_view(request, event, alternative_form_slug=None):
    """
    This is the "gate" function. The implementation is in
    `actual_labour_signup_view`.

    The purpose of this function is to redirect new users through the process
    of registering an account, entering qualifications and only then signing up.
    Existing users are welcomed to sign up right away.
    """

    if alternative_form_slug:
        actual_signup_url = url('labour_special_signup_view', event.slug, alternative_form_slug)
    else:
        actual_signup_url = url('labour_signup_view', event.slug)

    if not request.user.is_authenticated():
        pages = [
            ('core_login_view', u'Sisäänkirjautuminen'),
            ('core_registration_view', u'Rekisteröityminen'),
            ('labour_qualifications_view', u'Pätevyydet', qualifications_related()),
            (actual_signup_url, u'Ilmoittautuminen'),
        ]

        page_wizard_init(request, pages)
        return login_redirect(request)

    try:
        person = request.user.person
    except Person.DoesNotExist:
        pages = [
            ('core_personify_view', u'Perustiedot'),
            ('labour_qualifications_view', u'Pätevyydet', qualifications_related()),
            (actual_signup_url, u'Ilmoittautuminen'),
        ]

        page_wizard_init(request, pages)
        return redirect('core_personify_view')

    return actual_labour_signup_view(request, event, alternative_form_slug=alternative_form_slug)
Пример #37
0
def labour_signup_view(request, event, alternative_form_slug=None):
    """
    This is the "gate" function. The implementation is in
    `actual_labour_signup_view`.

    The purpose of this function is to redirect new users through the process
    of registering an account, entering qualifications and only then signing up.
    Existing users are welcomed to sign up right away.
    """

    if alternative_form_slug:
        actual_signup_url = url('labour_special_signup_view', event.slug, alternative_form_slug)
    else:
        actual_signup_url = url('labour_signup_view', event.slug)

    if not request.user.is_authenticated:
        pages = [
            ('core_login_view', _('Sign up or sign in...'), login_related()),
            ('labour_qualifications_view', _('Revise qualifications'), qualifications_related()),
            (actual_signup_url, _('Apply for volunteer work')),
        ]

        page_wizard_init(request, pages)
        return login_redirect(request)

    try:
        person = request.user.person
    except Person.DoesNotExist:
        pages = [
            ('core_personify_view', _('Complete contact information')),
            ('labour_qualifications_view', _('Revise qualifications'), qualifications_related()),
            (actual_signup_url, _('Apply for volunteer work')),
        ]

        page_wizard_init(request, pages)
        return redirect('core_personify_view')

    return actual_labour_signup_view(request, event, alternative_form_slug=alternative_form_slug)
Пример #38
0
def badges_admin_menu_items(request, event):
    dashboard_url = url('badges_admin_dashboard_view', event.slug)
    dashboard_active = request.path == dashboard_url
    dashboard_text = _('Dashboard')

    batches_url = url('badges_admin_batches_view', event.slug)
    batches_active = request.path.startswith(batches_url)
    batches_text = _('Batches')

    badges_url = url('badges_admin_badges_view', event.slug)
    badges_active = request.path.startswith(badges_url)
    badges_text = _('Entrance lists')

    onboarding_url = url('badges_admin_onboarding_view', event.slug)
    onboarding_active = request.path.startswith(onboarding_url)
    onboarding_text = _('Onboarding')

    return [
        (dashboard_active, dashboard_url, dashboard_text),
        (badges_active, badges_url, badges_text),
        (batches_active, batches_url, batches_text),
        (onboarding_active, onboarding_url, onboarding_text),
    ]
Пример #39
0
def badges_admin_menu_items(request, event):
    dashboard_url = url('badges_admin_dashboard_view', event.slug)
    dashboard_active = request.path == dashboard_url
    dashboard_text = _('Dashboard')

    batches_url = url('badges_admin_batches_view', event.slug)
    batches_active = request.path.startswith(batches_url)
    batches_text = _('Batches')

    badges_url = url('badges_admin_badges_view', event.slug)
    badges_active = request.path.startswith(badges_url)
    badges_text = _('Entrance lists')

    onboarding_url = url('badges_admin_onboarding_view', event.slug)
    onboarding_active = request.path.startswith(onboarding_url)
    onboarding_text = _('Onboarding')

    return [
        (dashboard_active, dashboard_url, dashboard_text),
        (badges_active, badges_url, badges_text),
        (batches_active, batches_url, batches_text),
        (onboarding_active, onboarding_url, onboarding_text),
    ]
Пример #40
0
def get_organizers_menu_item(request,
                             event,
                             may_be_active=True,
                             notifications=0):
    organizers_url = url('intra_organizer_view', event.slug)
    organizers_active = may_be_active and request.path.startswith(
        organizers_url)
    organizers_text = _('Teams and organizers')

    return AdminMenuItem(
        is_active=organizers_active,
        href=organizers_url,
        text=organizers_text,
        notifications=notifications,
    )
Пример #41
0
def intra_organizer_menu_items(request, event, is_intra_admin=False):
    meta = event.intra_event_meta

    organizers_url = url('intra_organizer_view', event.slug)
    organizers_active = request.path.startswith(organizers_url)
    organizers_text = _('Teams and organizers')

    return [
        AdminMenuItem(
            is_active=organizers_active,
            href=organizers_url,
            text=organizers_text,
            notifications=len(meta.unassigned_organizers) if is_intra_admin else 0,
        ),
    ]
Пример #42
0
def intra_organizer_menu_items(request, event, is_intra_admin=False):
    meta = event.intra_event_meta

    organizers_url = url('intra_organizer_view', event.slug)
    organizers_active = request.path.startswith(organizers_url)
    organizers_text = _('Teams and organizers')

    return [
        AdminMenuItem(
            is_active=organizers_active,
            href=organizers_url,
            text=organizers_text,
            notifications=len(meta.unassigned_organizers)
            if is_intra_admin else 0,
        ),
    ]
Пример #43
0
def labour_admin_menu_items(request, event):
    dashboard_url = url("labour_admin_dashboard_view", event.slug)
    dashboard_active = request.path == dashboard_url
    dashboard_text = u"Kojelauta"

    signups_url = url("labour_admin_signups_view", event.slug)
    signups_active = request.path.startswith(signups_url)
    signups_text = u"Tapahtumaan ilmoittautuneet henkilöt"

    mail_url = url("labour_admin_mail_view", event.slug)
    mail_active = request.path.startswith(mail_url)
    mail_text = u"Työvoimaviestit"

    roster_url = url("labour_admin_roster_view", event.slug)
    roster_active = request.path.startswith(roster_url)
    roster_text = u"Työvuorojen suunnittelu"

    query_url = url("labour_admin_query", event.slug)
    query_active = request.path == query_url
    query_text = u"Hakemusten suodatus"

    onboarding_url = url("labour_onboarding_view", event.slug)
    onboarding_active = request.path == onboarding_url
    onboarding_text = _(u"Onboarding")

    menu_items = [
        (dashboard_active, dashboard_url, dashboard_text),
        (signups_active, signups_url, signups_text),
        (mail_active, mail_url, mail_text),
        (roster_active, roster_url, roster_text),
        (onboarding_active, onboarding_url, onboarding_text),
    ]

    if event.labour_event_meta.signup_extra_model.get_shirt_size_field():
        shirts_url = url("labour_admin_shirts_view", event.slug)
        shirts_active = request.path == shirts_url
        shirts_text = u"Paitakoot"

        menu_items.append((shirts_active, shirts_url, shirts_text))

    # unstable / development features
    if settings.DEBUG:
        menu_items.extend(((query_active, query_url, query_text),))

    return menu_items
Пример #44
0
def tickets_admin_menu_items(request, event):
    stats_url = url('tickets_admin_stats_view', event.slug)
    stats_active = request.path == stats_url
    stats_text = "Myyntitilanne"

    orders_url = url('tickets_admin_orders_view', event.slug)
    orders_active = request.path.startswith(orders_url)
    orders_text = "Tilaukset"

    batches_url = url('tickets_admin_batches_view', event.slug)
    batches_active = request.path.startswith(batches_url)
    batches_text = "Toimituserät"

    accommodation_url = url('tickets_admin_accommodation_view', event.slug)
    accommodation_active = request.path.startswith(accommodation_url)
    accommodation_text = "Majoituslistat"

    tools_url = url('tickets_admin_tools_view', event.slug)
    tools_active = request.path.startswith(tools_url)
    tools_text = "Työkalut"

    shirts_url = url('tickets_admin_shirts_view', event.slug)
    shirts_active = request.path.startswith(shirts_url)
    shirts_text = 'Paidat'

    items = [
        (stats_active, stats_url, stats_text),
        (orders_active, orders_url, orders_text),
        (batches_active, batches_url, batches_text),
        (accommodation_active, accommodation_url, accommodation_text),
        (tools_active, tools_url, tools_text),
        (shirts_active, shirts_url, shirts_text),
    ]

    if 'lippukala' in settings.INSTALLED_APPS:
        pos_url = url('tickets_admin_pos_view', event.slug)
        pos_active = False
        pos_text = "Lipuntarkastus"

        items.extend([
            (pos_active, pos_url, pos_text),
        ])

    return items
Пример #45
0
def intra_admin_menu_items(request, event):
    meta = event.intra_event_meta

    privileges_url = url('intra_admin_privileges_view', event.slug)
    privileges_active = request.path.startswith(privileges_url)
    privileges_text = _('Privileges')

    other_menu_items = [
        AdminMenuItem(
            is_active=privileges_active,
            href=privileges_url,
            text=privileges_text,
        ),
    ]

    return [
        get_organizers_menu_item(request, event,
            may_be_active=not any(item.is_active for item in other_menu_items),
            notifications=len(meta.unassigned_organizers)
        ),
    ] + other_menu_items
Пример #46
0
def intra_admin_menu_items(request, event):
    meta = event.intra_event_meta

    privileges_url = url('intra_admin_privileges_view', event.slug)
    privileges_active = request.path.startswith(privileges_url)
    privileges_text = _('Privileges')

    other_menu_items = [
        AdminMenuItem(
            is_active=privileges_active,
            href=privileges_url,
            text=privileges_text,
        ),
    ]

    return [
        get_organizers_menu_item(
            request,
            event,
            may_be_active=not any(item.is_active for item in other_menu_items),
            notifications=len(meta.unassigned_organizers)),
    ] + other_menu_items
Пример #47
0
 def checkout_return_url(self, request):
     return request.build_absolute_uri(url('payments_process_view', self.event.slug))
Пример #48
0
 def checkout_return_url(self, request):
     return request.build_absolute_uri(url('payments_process_view', self.event.slug))
Пример #49
0
    def render_message_body(self, request):
        context = dict(
            link=request.build_absolute_uri(url('desuprofile_integration_confirmation_view', self.code))
        )

        return render_to_string('desuprofile_integration_confirmation_message.eml', context=context, request=request)
Пример #50
0
 def plot(self):
     result = self.run_command()
     if result.returncode == 1: raise PlottingError('Unknown')
     return url(HOST, decode(result.stdout), no_cache_params())
Пример #51
0
def labour_admin_menu_items(request, event):
    dashboard_url = url('labour_admin_dashboard_view', event.slug)
    dashboard_active = request.path == dashboard_url
    dashboard_text = _("Dashboard")

    signups_url = url('labour_admin_signups_view', event.slug)
    signups_active = request.path.startswith(signups_url)
    signups_text = _("Applications")

    mail_url = url('labour_admin_mail_view', event.slug)
    mail_active = request.path.startswith(mail_url)
    mail_text = _("Mass messages")

    roster_url = url('labour_admin_roster_view', event.slug)
    roster_active = request.path.startswith(roster_url)
    roster_text = _("Shift planning")

    shifts_url = url('labour_admin_shifts_view', event.slug)
    shifts_active = request.path.startswith(shifts_url)
    shifts_text = _("Shift lists")

    jobcategories_url = url('labour_admin_jobcategories_view', event.slug)
    jobcategories_active = request.path.startswith(jobcategories_url)
    jobcategories_text = _("Edit job categories")

    startstop_url = url('labour_admin_startstop_view', event.slug)
    startstop_active = request.path == startstop_url
    startstop_text = _("Application period")

    menu_items = [
        (dashboard_active, dashboard_url, dashboard_text),
        (signups_active, signups_url, signups_text),
        (mail_active, mail_url, mail_text),
        AdminMenuItem(
            is_active=roster_active,
            href=roster_url,
            text=roster_text,
            is_mobile_incompatible=True,
        ),
        AdminMenuItem(
            is_active=shifts_active,
            href=shifts_url,
            text=shifts_text,
        ),
        (jobcategories_active, jobcategories_url, jobcategories_text),
        (startstop_active, startstop_url, startstop_text),
    ]

    if event.labour_event_meta.signup_extra_model.get_shirt_size_field():
        shirts_url = url('labour_admin_shirts_view', event.slug)
        shirts_active = request.path == shirts_url
        shirts_text = _("Shirt sizes")

        menu_items.append((shirts_active, shirts_url, shirts_text))

    if (event.labour_event_meta.signup_extra_model.get_special_diet_field()
            or event.labour_event_meta.signup_extra_model.
            get_special_diet_other_field()):
        special_diets_url = url('labour_admin_special_diets_view', event.slug)
        special_diets_active = request.path == special_diets_url
        special_diets_text = _("Special diets")

        menu_items.append(
            (special_diets_active, special_diets_url, special_diets_text))

    return menu_items
def programme_admin_menu_items(request, event):
    organizers_url = url('programme_admin_organizers_view', event.slug)
    organizers_active = request.path.startswith(organizers_url)
    organizers_text = _('Programme hosts')

    offers_url = url('programme_admin_view',
                     event.slug) + '?state=offered&sort=created_at'
    offers_active = request.get_full_path() == offers_url
    offers_text = _('New offers')
    offers_notifications = Programme.objects.filter(category__event=event,
                                                    state='offered').count()

    invitations_url = url('programme_admin_invitations_view', event.slug)
    invitations_active = request.path == invitations_url
    invitations_text = _('Open invitations')
    invitations_notifications = Invitation.objects.filter(
        programme__category__event=event, state='valid').count()

    rooms_url = url('programme_admin_rooms_view', event.slug)
    rooms_active = request.path.startswith(rooms_url)
    rooms_text = _('Edit rooms')

    schedule_url = url('programme_admin_schedule_view', event.slug)
    schedule_active = request.path.startswith(schedule_url)
    schedule_text = _('Edit schedule')

    special_url = url('programme_admin_special_view', event.slug)
    special_active = request.path == special_url
    special_text = 'Ohjelmakartan ulkopuolisten esikatselu'

    cold_offers_url = url('programme_admin_cold_offers_view', event.slug)
    cold_offers_active = request.path == cold_offers_url
    cold_offers_text = _('Cold offer period starting and ending times')

    publish_url = url('programme_admin_publish_view', event.slug)
    publish_active = request.path == publish_url
    publish_text = _('Publish schedule')

    feedback_url = url('programme_admin_feedback_view', event.slug)
    feedback_active = request.path == feedback_url
    feedback_text = _('Programme feedback')
    feedback_notifications = ProgrammeFeedback.objects.filter(
        programme__category__event=event, hidden_at__isnull=True).count()

    index_url = url('programme_admin_view', event.slug)
    index_active = request.path.startswith(index_url) and not any((
        organizers_active,
        feedback_active,
        invitations_active,
        offers_active,
        cold_offers_active,
        publish_active,
        rooms_active,
        schedule_active,
        special_active,
    ))
    index_text = 'Ohjelmaluettelo'

    return [
        AdminMenuItem(is_active=index_active, href=index_url, text=index_text),
        AdminMenuItem(is_active=organizers_active,
                      href=organizers_url,
                      text=organizers_text),
        AdminMenuItem(is_active=offers_active,
                      href=offers_url,
                      text=offers_text,
                      notifications=offers_notifications),
        AdminMenuItem(is_active=invitations_active,
                      href=invitations_url,
                      text=invitations_text,
                      notifications=invitations_notifications),
        AdminMenuItem(is_active=rooms_active, href=rooms_url, text=rooms_text),
        AdminMenuItem(is_active=schedule_active,
                      href=schedule_url,
                      text=schedule_text),
        AdminMenuItem(is_active=special_active,
                      href=special_url,
                      text=special_text),
        AdminMenuItem(is_active=cold_offers_active,
                      href=cold_offers_url,
                      text=cold_offers_text),
        AdminMenuItem(is_active=publish_active,
                      href=publish_url,
                      text=publish_text),
        AdminMenuItem(is_active=feedback_active,
                      href=feedback_url,
                      text=feedback_text,
                      notifications=feedback_notifications),
    ]
Пример #53
0
def access_admin_menu_items(request, organization):
    aliases_url = url('access_admin_aliases_view', organization.slug)
    aliases_active = request.path == aliases_url
    aliases_text = 'Sähköpostialiakset'

    return [(aliases_active, aliases_url, aliases_text)]
Пример #54
0
    def render_message_body(self, request):
        vars = dict(
            link=request.build_absolute_uri(url('desuprofile_integration_confirmation_view', self.code))
        )

        return render_to_string('desuprofile_integration_confirmation_message.eml', vars, context_instance=RequestContext(request, {}))
 def get_absolute_url(self):
     return url('membership_admin_new_term_view', self.organization.slug)
Пример #56
0
def access_admin_menu_items(request, organization):
    aliases_url = url('access_admin_aliases_view', organization.slug)
    aliases_active = request.path == aliases_url
    aliases_text = 'Sähköpostialiakset'

    return [(aliases_active, aliases_url, aliases_text)]
Пример #57
0
def membership_admin_menu_items(request, organization):
    members_url = url('membership_admin_members_view', organization.slug)
    members_active = request.path.startswith(members_url)
    members_text = 'Jäsenrekisteri'

    return [(members_active, members_url, members_text)]