コード例 #1
0
ファイル: helpers.py プロジェクト: Kriivari/kompassi
    def wrapper(request, event_slug, *args, **kwargs):
        from core.models import Event
        from core.utils import login_redirect
        from .views import enrollment_admin_menu_items

        event = get_object_or_404(Event, slug=event_slug)
        meta = event.enrollment_event_meta

        if not meta:
            messages.error(request, _('This event does not use this site to manage enrollment.'))
            return redirect('core_event_view', event.slug)

        if not request.user.is_authenticated():
            return login_redirect(request)

        if not event.enrollment_event_meta.is_user_admin(request.user):
            messages.error(request, _('You are not allowed to manage enrollment for this event.'))
            return redirect('core_event_view', event.slug)

        vars = dict(
            admin_menu_items=enrollment_admin_menu_items(request, event),
            admin_title=_('Manage enrollment'),
            event=event,
            meta=meta,
        )

        return view_func(request, vars, event, *args, **kwargs)
コード例 #2
0
ファイル: helpers.py プロジェクト: Siikakala/kompassi
    def wrapper(request, event_slug, *args, **kwargs):
        from core.models import Event
        from core.utils import login_redirect
        from .views import enrollment_admin_menu_items

        event = get_object_or_404(Event, slug=event_slug)
        meta = event.enrollment_event_meta

        if not meta:
            messages.error(request, _('This event does not use this site to manage enrollment.'))
            return redirect('core_event_view', event.slug)

        if not request.user.is_authenticated():
            return login_redirect(request)

        if not event.enrollment_event_meta.is_user_admin(request.user):
            messages.error(request, _('You are not allowed to manage enrollment for this event.'))
            return redirect('core_event_view', event.slug)

        vars = dict(
            event=event,
            admin_menu_items=enrollment_admin_menu_items(request, event),
            admin_title=_('Manage enrollment')
        )

        return view_func(request, vars, event, *args, **kwargs)
コード例 #3
0
ファイル: helpers.py プロジェクト: Siikakala/kompassi
    def wrapper(request, event_slug, *args, **kwargs):
        event = get_object_or_404(Event, slug=event_slug)
        meta = event.intra_event_meta

        if not meta:
            messages.error(
                request, _('This event does not use the organizer intranet.'))
            return redirect('core_event_view', event.slug)

        if not request.user.is_authenticated():
            return login_redirect(request)

        if not meta.is_user_admin(request.user):
            messages.error(
                request,
                _('You do not have administrator access to the organizer intranet.'
                  ))
            return redirect('core_event_view', event.slug)

        menu_items = intra_admin_menu_items(request, event)

        vars = dict(
            event=event,
            meta=meta,
            admin_menu_items=menu_items,
            admin_title=_('Organizer intranet'),
            is_intra_organizer=True,
            is_intra_admin=True,
        )

        return view_func(request, vars, event, *args, **kwargs)
コード例 #4
0
        def inner(request, event, *args, **kwargs):
            from core.models import Event
            from core.utils import login_redirect
            from .views import labour_admin_menu_items

            event = get_object_or_404(Event, slug=event)
            event_meta_name = '{app_label}_event_meta'.format(
                app_label=app_label)
            meta = getattr(event, event_meta_name, None)

            if not meta:
                messages.error(
                    request,
                    "Tämä tapahtuma ei käytä Kompassia työvoiman hallintaan.")
                return redirect('core_event_view', event.slug)

            if not meta.is_user_admin(request.user):
                return login_redirect(request)

            vars = dict(
                event=event,
                # XXX this must differ from app to app?
                admin_menu_items=labour_admin_menu_items(request, event))

            return view_func(request, vars, event, *args, **kwargs)
コード例 #5
0
    def inner(request, *args, **kwargs):
        try:
            person = request.user.person  # noqa
        except Person.DoesNotExist:
            return login_redirect(request, view='core_personify_view')

        return view_func(request, *args, **kwargs)
コード例 #6
0
ファイル: helpers.py プロジェクト: Siikakala/kompassi
    def wrapper(request, organization_slug, *args, **kwargs):
        from core.models import Organization
        from core.utils import login_redirect
        from core.views.admin_views import organization_admin_menu_items

        organization = get_object_or_404(Organization, slug=organization_slug)
        meta = organization.access_organization_meta

        if not meta:
            messages.error(
                request,
                "Tämä organisaatio ei käytä Kompassia pääsyoikeuksien hallintaan."
            )
            return redirect('core_organization_view', organization.slug)

        if not organization.access_organization_meta.is_user_admin(
                request.user):
            return login_redirect(request)

        vars = dict(organization=organization,
                    admin_menu_items=organization_admin_menu_items(
                        request, organization),
                    admin_title='Yhdistyksen ylläpito')

        return view_func(request, vars, organization, *args, **kwargs)
コード例 #7
0
ファイル: helpers.py プロジェクト: Siikakala/kompassi
    def inner(request, *args, **kwargs):
        try:
            person = request.user.person  # noqa
        except Person.DoesNotExist:
            return login_redirect(request, view='core_personify_view')

        return view_func(request, *args, **kwargs)
コード例 #8
0
ファイル: helpers.py プロジェクト: Siikakala/kompassi
    def wrapper(request, event_slug, *args, **kwargs):
        event = get_object_or_404(Event, slug=event_slug)
        meta = event.intra_event_meta

        if not meta:
            messages.error(request, _('This event does not use the organizer intranet.'))
            return redirect('core_event_view', event.slug)

        if not request.user.is_authenticated():
            return login_redirect(request)

        if not meta.is_user_admin(request.user):
            messages.error(request, _('You do not have administrator access to the organizer intranet.'))
            return redirect('core_event_view', event.slug)

        menu_items = intra_admin_menu_items(request, event)

        vars = dict(
            event=event,
            meta=meta,
            admin_menu_items=menu_items,
            admin_title=_('Organizer intranet'),
            is_intra_organizer=True,
            is_intra_admin=True,
        )

        return view_func(request, vars, event, *args, **kwargs)
コード例 #9
0
ファイル: helpers.py プロジェクト: akx/kompassi
    def wrapper(request, event_slug, *args, **kwargs):
        event = get_object_or_404(Event, slug=event_slug)
        meta = event.labour_event_meta

        if not meta:
            messages.error(request, u"Tämä tapahtuma ei käytä Turskaa työvoiman hallintaan.")
            return redirect('core_event_view', event.slug)

        if not event.labour_event_meta.is_user_supervisor(request.user):
            return login_redirect(request)

        return view_func(request, event, *args, **kwargs)
コード例 #10
0
ファイル: admin_views.py プロジェクト: tracon/kompassi
    def tickets_admin_pos_view(request, event):
        # XXX kala expects event filter via &event=foo; we specify it via /events/foo
        request.GET = request.GET.copy()
        request.GET['event'] = event.slug

        meta = event.tickets_event_meta
        if not meta:
            messages.error(request, "Tämä tapahtuma ei käytä Kompassia lipunmyyntiin.")
            return redirect('core_event_view', event.slug)

        if not meta.is_user_allowed_pos_access(request.user):
            return login_redirect(request)

        return lippukala_pos_view(request)
コード例 #11
0
    def tickets_admin_pos_view(request, event):
        # XXX kala expects event filter via &event=foo; we specify it via /events/foo
        request.GET = request.GET.copy()
        request.GET['event'] = event.slug

        meta = event.tickets_event_meta
        if not meta:
            messages.error(request,
                           "Tämä tapahtuma ei käytä Kompassia lipunmyyntiin.")
            return redirect('core_event_view', event.slug)

        if not meta.is_user_allowed_pos_access(request.user):
            return login_redirect(request)

        return lippukala_pos_view(request)
コード例 #12
0
ファイル: helpers.py プロジェクト: tracon/kompassi
    def wrapper(request, event_slug, *args, **kwargs):
        event = get_object_or_404(Event, slug=event_slug)
        meta = event.labour_event_meta

        if not meta:
            messages.error(request, "Tämä tapahtuma ei käytä Kompassia työvoiman hallintaan.")
            return redirect('core_event_view', event.slug)

        if not event.labour_event_meta.is_user_admin(request.user):
            return login_redirect(request)

        vars = dict(
            event=event,
            admin_menu_items=labour_admin_menu_items(request, event),
            admin_title='Työvoiman hallinta'
        )

        return view_func(request, vars, event, *args, **kwargs)
コード例 #13
0
    def wrapper(request, event_slug, *args, **kwargs):
        event = get_object_or_404(Event, slug=event_slug)
        meta = event.labour_event_meta

        if not meta:
            messages.error(
                request,
                "Tämä tapahtuma ei käytä Kompassia työvoiman hallintaan.")
            return redirect('core_event_view', event.slug)

        if not event.labour_event_meta.is_user_admin(request.user):
            return login_redirect(request)

        vars = dict(event=event,
                    admin_menu_items=labour_admin_menu_items(request, event),
                    admin_title='Työvoiman hallinta')

        return view_func(request, vars, event, *args, **kwargs)
コード例 #14
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)
コード例 #15
0
ファイル: helpers.py プロジェクト: tracon/kompassi
    def wrapper(request, organization_slug, *args, **kwargs):
        organization = get_object_or_404(Organization, slug=organization_slug)
        meta = organization.directory_organization_meta

        if not meta:
            messages.error(request, _('This organization does not use the directory.'))
            return redirect('core_organization_view', organization.slug)

        if not request.user.is_authenticated:
            return login_redirect(request)

        if not meta.is_user_allowed_to_access(request.user):
            messages.error(request, _('You do not have access to the directory.'))
            return redirect('core_organization_view', organization.slug)

        vars = dict(
            organization=organization,
            meta=meta,
            admin_title=_('Directory'),
        )

        return view_func(request, vars, organization, *args, **kwargs)
コード例 #16
0
    def wrapper(request, event_slug, *args, **kwargs):
        from core.models import Event
        from core.utils import login_redirect
        from .views import tickets_admin_menu_items

        event = get_object_or_404(Event, slug=event_slug)
        meta = event.tickets_event_meta

        if not meta:
            messages.error(request, "Tämä tapahtuma ei käytä Kompassia lipunmyyntiin.")
            return redirect('core_event_view', event.slug)

        if not meta.is_user_admin(request.user):
            return login_redirect(request)

        vars = dict(
            event=event,
            admin_menu_items=tickets_admin_menu_items(request, event),
            admin_title='Lipunmyynnin hallinta',
        )

        return view_func(request, vars, event, *args, **kwargs)
コード例 #17
0
ファイル: public_views.py プロジェクト: wyrmiyu/kompassi
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)
コード例 #18
0
ファイル: helpers.py プロジェクト: tracon/kompassi
    def wrapper(request, organization_slug, *args, **kwargs):
        from core.models import Organization
        from core.utils import login_redirect
        from core.views.admin_views import organization_admin_menu_items

        organization = get_object_or_404(Organization, slug=organization_slug)
        meta = organization.access_organization_meta

        if not meta:
            messages.error(request, "Tämä organisaatio ei käytä Kompassia pääsyoikeuksien hallintaan.")
            return redirect('core_organization_view', organization.slug)

        if not organization.access_organization_meta.is_user_admin(request.user):
            return login_redirect(request)

        vars = dict(
            organization=organization,
            admin_menu_items=organization_admin_menu_items(request, organization),
            admin_title='Yhdistyksen ylläpito'
        )

        return view_func(request, vars, organization, *args, **kwargs)
コード例 #19
0
ファイル: helpers.py プロジェクト: Siikakala/kompassi
    def wrapper(request, event_slug, *args, **kwargs):
        from core.models import Event
        from core.utils import login_redirect
        from .views import tickets_admin_menu_items

        event = get_object_or_404(Event, slug=event_slug)
        meta = event.tickets_event_meta

        if not meta:
            messages.error(request, "Tämä tapahtuma ei käytä Kompassia lipunmyyntiin.")
            return redirect('core_event_view', event.slug)

        if not meta.is_user_admin(request.user):
            return login_redirect(request)

        vars = dict(
            event=event,
            admin_menu_items=tickets_admin_menu_items(request, event),
            admin_title='Lipunmyynnin hallinta',
        )

        return view_func(request, vars, event, *args, **kwargs)
コード例 #20
0
ファイル: helpers.py プロジェクト: Hilzu/kompassi
    def wrapper(request, event_slug, *args, **kwargs):
        from core.models import Event
        from core.utils import login_redirect
        from .views import programme_admin_menu_items

        event = get_object_or_404(Event, slug=event_slug)
        meta = event.programme_event_meta

        if not meta:
            messages.error(request, u"Tämä tapahtuma ei käytä tätä sivustoa ohjelman hallintaan.")
            return redirect('core_event_view', event.slug)

        if not event.programme_event_meta.is_user_admin(request.user):
            return login_redirect(request)

        vars = dict(
            event=event,
            admin_menu_items=programme_admin_menu_items(request, event),
            admin_title=u'Ohjelman hallinta'
        )

        return view_func(request, vars, event, *args, **kwargs)
コード例 #21
0
ファイル: public_views.py プロジェクト: tracon/kompassi
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)
コード例 #22
0
ファイル: helpers.py プロジェクト: Siikakala/kompassi
    def wrapper(request, event_slug, *args, **kwargs):
        from core.models import Event
        from core.utils import login_redirect
        from .views import badges_admin_menu_items

        event = get_object_or_404(Event, slug=event_slug)
        meta = event.badges_event_meta

        if not meta:
            messages.error(request, "Tämä tapahtuma ei käytä Kompassia kulkulupien hallintaan.")
            return redirect('core_event_view', event.slug)

        if not meta.is_user_admin(request.user):
            return login_redirect(request)

        vars = dict(
            event=event,
            meta=meta,
            admin_menu_items=badges_admin_menu_items(request, event),
            admin_title='Badgejen ja nimilistojen hallinta'
        )

        return view_func(request, vars, event, *args, **kwargs)
コード例 #23
0
ファイル: helpers.py プロジェクト: Siikakala/kompassi
        def inner(request, event, *args, **kwargs):
            from core.models import Event
            from core.utils import login_redirect
            from .views import labour_admin_menu_items

            event = get_object_or_404(Event, slug=event)
            event_meta_name = '{app_label}_event_meta'.format(app_label=app_label)
            meta = getattr(event, event_meta_name, None)

            if not meta:
                messages.error(request, "Tämä tapahtuma ei käytä Kompassia työvoiman hallintaan.")
                return redirect('core_event_view', event.slug)

            if not meta.is_user_admin(request.user):
                return login_redirect(request)

            vars = dict(
                event=event,
                # XXX this must differ from app to app?
                admin_menu_items=labour_admin_menu_items(request, event)
            )

            return view_func(request, vars, event, *args, **kwargs)
コード例 #24
0
    def wrapper(request, event_slug, *args, **kwargs):
        from core.models import Event
        from core.utils import login_redirect
        from .views import badges_admin_menu_items

        event = get_object_or_404(Event, slug=event_slug)
        meta = event.badges_event_meta

        if not meta:
            messages.error(
                request,
                "Tämä tapahtuma ei käytä Kompassia kulkulupien hallintaan.")
            return redirect('core_event_view', event.slug)

        if not meta.is_user_admin(request.user):
            return login_redirect(request)

        vars = dict(event=event,
                    meta=meta,
                    admin_menu_items=badges_admin_menu_items(request, event),
                    admin_title='Badgejen ja nimilistojen hallinta')

        return view_func(request, vars, event, *args, **kwargs)
コード例 #25
0
    def wrapper(request, event_slug, *args, **kwargs):
        from core.models import Event
        from core.utils import login_redirect
        from .views import programme_admin_menu_items

        event = get_object_or_404(Event, slug=event_slug)
        meta = event.programme_event_meta

        if not meta:
            messages.error(
                request,
                "Tämä tapahtuma ei käytä tätä sivustoa ohjelman hallintaan.")
            return redirect('core_event_view', event.slug)

        if not event.programme_event_meta.is_user_admin(request.user):
            return login_redirect(request)

        vars = dict(event=event,
                    admin_menu_items=programme_admin_menu_items(
                        request, event),
                    admin_title='Ohjelman hallinta')

        return view_func(request, vars, event, *args, **kwargs)
コード例 #26
0
ファイル: helpers.py プロジェクト: Siikakala/kompassi
    def wrapper(request, event_slug, *args, **kwargs):
        from core.models import Event
        from core.utils import login_redirect
        from .views import sms_admin_menu_items

        event = get_object_or_404(Event, slug=event_slug)
        meta = event.sms_event_meta

        if not meta:
            messages.error(request, "Tämä tapahtuma ei käytä Kompassia tekstiviestien lähetykseen.")
            return redirect('core_event_view', event.slug)

        if not meta.is_user_admin(request.user):
            return login_redirect(request)

        vars = dict(
            event=event,
            meta=meta,
            admin_menu_items=sms_admin_menu_items(request, event),
            admin_title='Tekstiviestit'
        )

        return view_func(request, vars, event, *args, **kwargs)
コード例 #27
0
    def wrapper(request, event_slug, *args, **kwargs):
        from core.models import Event
        from core.utils import login_redirect
        from .views import sms_admin_menu_items

        event = get_object_or_404(Event, slug=event_slug)
        meta = event.sms_event_meta

        if not meta:
            messages.error(
                request,
                "Tämä tapahtuma ei käytä Kompassia tekstiviestien lähetykseen."
            )
            return redirect('core_event_view', event.slug)

        if not meta.is_user_admin(request.user):
            return login_redirect(request)

        vars = dict(event=event,
                    meta=meta,
                    admin_menu_items=sms_admin_menu_items(request, event),
                    admin_title='Tekstiviestit')

        return view_func(request, vars, event, *args, **kwargs)
コード例 #28
0
    def wrapper(request, organization_slug, *args, **kwargs):
        organization = get_object_or_404(Organization, slug=organization_slug)
        meta = organization.directory_organization_meta

        if not meta:
            messages.error(request,
                           _('This organization does not use the directory.'))
            return redirect('core_organization_view', organization.slug)

        if not request.user.is_authenticated:
            return login_redirect(request)

        if not meta.is_user_allowed_to_access(request.user):
            messages.error(request,
                           _('You do not have access to the directory.'))
            return redirect('core_organization_view', organization.slug)

        vars = dict(
            organization=organization,
            meta=meta,
            admin_title=_('Directory'),
        )

        return view_func(request, vars, organization, *args, **kwargs)