コード例 #1
0
    def get_context_data(self, **kwargs):
        ctx = super().get_context_data(**kwargs)
        ctx['nav_organizer'] = []
        ctx['organizer'] = self.request.organizer

        for recv, retv in nav_organizer.send(sender=self.request.organizer, request=self.request,
                                             organizer=self.request.organizer):
            ctx['nav_organizer'] += retv
        ctx['nav_organizer'].sort(key=lambda n: n['label'])
        return ctx
コード例 #2
0
ファイル: organizer.py プロジェクト: FlaviaBastos/pretix
    def get_context_data(self, **kwargs):
        ctx = super().get_context_data(**kwargs)
        ctx['nav_organizer'] = []
        ctx['organizer'] = self.request.organizer

        for recv, retv in nav_organizer.send(sender=self.request.organizer, request=self.request,
                                             organizer=self.request.organizer):
            ctx['nav_organizer'] += retv
        ctx['nav_organizer'].sort(key=lambda n: n['label'])
        return ctx
コード例 #3
0
def get_organizer_navigation(request):
    url = request.resolver_match
    if not url:
        return []
    nav = [
        {
            'label':
            _('Events'),
            'url':
            reverse('control:organizer',
                    kwargs={'organizer': request.organizer.slug}),
            'active':
            url.url_name == 'organizer',
            'icon':
            'calendar',
        },
    ]
    if 'can_change_organizer_settings' in request.orgapermset:
        nav.append({
            'label':
            _('Settings'),
            'url':
            reverse('control:organizer.edit',
                    kwargs={'organizer': request.organizer.slug}),
            'icon':
            'wrench',
            'children': [
                {
                    'label':
                    _('General'),
                    'url':
                    reverse('control:organizer.edit',
                            kwargs={'organizer': request.organizer.slug}),
                    'active':
                    url.url_name == 'organizer.edit',
                },
                {
                    'label':
                    _('Display'),
                    'url':
                    reverse('control:organizer.display',
                            kwargs={'organizer': request.organizer.slug}),
                    'active':
                    url.url_name == 'organizer.display',
                },
            ]
        })
    if 'can_change_teams' in request.orgapermset:
        nav.append({
            'label':
            _('Teams'),
            'url':
            reverse('control:organizer.teams',
                    kwargs={'organizer': request.organizer.slug}),
            'active':
            'organizer.team' in url.url_name,
            'icon':
            'group',
        })
    if 'can_change_organizer_settings' in request.orgapermset:
        nav.append({
            'label':
            _('Devices'),
            'url':
            reverse('control:organizer.devices',
                    kwargs={'organizer': request.organizer.slug}),
            'active':
            'organizer.device' in url.url_name,
            'icon':
            'tablet',
        })
        nav.append({
            'label':
            _('Webhooks'),
            'url':
            reverse('control:organizer.webhooks',
                    kwargs={'organizer': request.organizer.slug}),
            'active':
            'organizer.webhook' in url.url_name,
            'icon':
            'bolt',
        })

    merge_in(
        nav,
        sorted(sum((list(a[1]) for a in nav_organizer.send(
            request.organizer, request=request, organizer=request.organizer)),
                   []),
               key=lambda r: r['label']))
    return nav
コード例 #4
0
ファイル: navigation.py プロジェクト: prereg/prereg
def get_organizer_navigation(request):
    url = request.resolver_match
    if not url:
        return []
    nav = [
        {
            'label':
            _('Events'),
            'url':
            reverse('control:organizer',
                    kwargs={'organizer': request.organizer.slug}),
            'active':
            url.url_name == 'organizer',
            'icon':
            'calendar',
        },
    ]
    if 'can_change_organizer_settings' in request.orgapermset:
        nav.append({
            'label':
            _('Settings'),
            'url':
            reverse('control:organizer.edit',
                    kwargs={'organizer': request.organizer.slug}),
            'icon':
            'wrench',
            'children': [{
                'label':
                _('General'),
                'url':
                reverse('control:organizer.edit',
                        kwargs={'organizer': request.organizer.slug}),
                'active':
                url.url_name == 'organizer.edit',
            }, {
                'label':
                _('Event metadata'),
                'url':
                reverse('control:organizer.properties',
                        kwargs={'organizer': request.organizer.slug}),
                'active':
                url.url_name.startswith('organizer.propert'),
            }, {
                'label':
                _('Webhooks'),
                'url':
                reverse('control:organizer.webhooks',
                        kwargs={'organizer': request.organizer.slug}),
                'active':
                'organizer.webhook' in url.url_name,
                'icon':
                'bolt',
            }]
        })
    if 'can_change_teams' in request.orgapermset:
        nav.append({
            'label':
            _('Teams'),
            'url':
            reverse('control:organizer.teams',
                    kwargs={'organizer': request.organizer.slug}),
            'active':
            'organizer.team' in url.url_name and url.namespace == 'control',
            'icon':
            'group',
        })

    if 'can_manage_gift_cards' in request.orgapermset:
        nav.append({
            'label':
            _('Gift cards'),
            'url':
            reverse('control:organizer.giftcards',
                    kwargs={'organizer': request.organizer.slug}),
            'active':
            'organizer.giftcard' in url.url_name,
            'icon':
            'credit-card',
        })

    if 'can_change_organizer_settings' in request.orgapermset:
        nav.append({
            'label':
            _('Devices'),
            'url':
            reverse('control:organizer.devices',
                    kwargs={'organizer': request.organizer.slug}),
            'icon':
            'tablet',
            'children': [{
                'label':
                _('Devices'),
                'url':
                reverse('control:organizer.devices',
                        kwargs={'organizer': request.organizer.slug}),
                'active':
                'organizer.device' in url.url_name,
            }, {
                'label':
                _('Gates'),
                'url':
                reverse('control:organizer.gates',
                        kwargs={'organizer': request.organizer.slug}),
                'active':
                'organizer.gate' in url.url_name,
            }]
        })

    nav.append({
        'label':
        _('Export'),
        'url':
        reverse('control:organizer.export',
                kwargs={
                    'organizer': request.organizer.slug,
                }),
        'active':
        'organizer.export' in url.url_name,
        'icon':
        'download',
    })

    merge_in(
        nav,
        sorted(sum((list(a[1]) for a in nav_organizer.send(
            request.organizer, request=request, organizer=request.organizer)),
                   []),
               key=lambda r: (1 if r.get('parent') else 0, r['label'])))
    return nav
コード例 #5
0
ファイル: navigation.py プロジェクト: FlaviaBastos/pretix
def get_organizer_navigation(request):
    url = request.resolver_match
    if not url:
        return []
    nav = [
        {
            'label': _('Events'),
            'url': reverse('control:organizer', kwargs={
                'organizer': request.organizer.slug
            }),
            'active': url.url_name == 'organizer',
            'icon': 'calendar',
        },
    ]
    if 'can_change_organizer_settings' in request.orgapermset:
        nav.append({
            'label': _('Settings'),
            'url': reverse('control:organizer.edit', kwargs={
                'organizer': request.organizer.slug
            }),
            'icon': 'wrench',
            'children': [
                {
                    'label': _('General'),
                    'url': reverse('control:organizer.edit', kwargs={
                        'organizer': request.organizer.slug
                    }),
                    'active': url.url_name == 'organizer.edit',
                },
                {
                    'label': _('Display'),
                    'url': reverse('control:organizer.display', kwargs={
                        'organizer': request.organizer.slug
                    }),
                    'active': url.url_name == 'organizer.display',
                },
            ]
        })
    if 'can_change_teams' in request.orgapermset:
        nav.append({
            'label': _('Teams'),
            'url': reverse('control:organizer.teams', kwargs={
                'organizer': request.organizer.slug
            }),
            'active': 'organizer.team' in url.url_name,
            'icon': 'group',
        })
    if 'can_change_organizer_settings' in request.orgapermset:
        nav.append({
            'label': _('Devices'),
            'url': reverse('control:organizer.devices', kwargs={
                'organizer': request.organizer.slug
            }),
            'active': 'organizer.device' in url.url_name,
            'icon': 'tablet',
        })
        nav.append({
            'label': _('Webhooks'),
            'url': reverse('control:organizer.webhooks', kwargs={
                'organizer': request.organizer.slug
            }),
            'active': 'organizer.webhook' in url.url_name,
            'icon': 'bolt',
        })

    merge_in(nav, sorted(
        sum((list(a[1]) for a in nav_organizer.send(request.organizer, request=request, organizer=request.organizer)),
            []),
        key=lambda r: r['label']
    ))
    return nav