示例#1
0
    def test_side_menus_registry(self):
        admin = User.objects.get(username='******')
        user = User.objects.get(username='******')
        old_keys = side_pane_menus_registry.keys
        old_items = side_pane_menus_registry.items
        side_pane_menus_registry.keys = []
        side_pane_menus_registry.items = []
        try:
            side_pane_menus_registry.register(menu_registry, order=200)
            admin_menu_registry = MenuRegistry("Admin Menu", is_superuser)
            side_pane_menus_registry.register(admin_menu_registry, order=100)

            menu_registry.register('test', 'Test Menu Item',
                lambda request: '/test_menu_link', order=2)
            admin_menu_registry.register('test_admin', 'Test Admin Item',
                lambda request: '/spam', order=100)

            response = self._render_menu(user=user)
            self.assertIn('class="contesticon"', response)
            self.assertNotIn('User Menu', response)
            self.assertNotIn('Admin Menu', response)

            response = self._render_menu(user=admin)
            self.assertNotIn('class="contesticon"', response)
            self.assertIn('User Menu', response)
            self.assertIn('Admin Menu', response)
            self.assertLess(response.index('Test Admin Item'),
                    response.index('Test Menu Item'))
        finally:
            side_pane_menus_registry.keys = old_keys
            side_pane_menus_registry.items = old_items
示例#2
0
文件: tests.py 项目: jakubste/oioioi
    def test_side_menus_registry(self):
        admin = User.objects.get(username='******')
        user = User.objects.get(username='******')
        old_keys = side_pane_menus_registry.keys
        old_items = side_pane_menus_registry.items
        side_pane_menus_registry.keys = []
        side_pane_menus_registry.items = []
        try:
            side_pane_menus_registry.register(menu_registry, order=200)
            admin_menu_registry = MenuRegistry("Admin Menu", is_superuser)
            side_pane_menus_registry.register(admin_menu_registry, order=100)

            menu_registry.register('test',
                                   'Test Menu Item',
                                   lambda request: '/test_menu_link',
                                   order=2)
            admin_menu_registry.register('test_admin',
                                         'Test Admin Item',
                                         lambda request: '/spam',
                                         order=100)

            response = self._render_menu(user=user)
            self.assertIn('class="contesticon"', response)
            self.assertNotIn('User Menu', response)
            self.assertNotIn('Admin Menu', response)

            response = self._render_menu(user=admin)
            self.assertNotIn('class="contesticon"', response)
            self.assertIn('User Menu', response)
            self.assertIn('Admin Menu', response)
            self.assertLess(response.index('Test Admin Item'),
                            response.index('Test Menu Item'))
        finally:
            side_pane_menus_registry.keys = old_keys
            side_pane_menus_registry.items = old_items
                                       'groups')}),
        (_("Important dates"), {'fields': ('last_login', 'date_joined')}),
    )
    list_filter = ['is_superuser', 'is_active']
    list_display = ['username', 'email', 'first_name', 'last_name',
            'is_active']
    filter_horizontal = ()
    actions = ['activate_user']

    def activate_user(self, request, qs):
        qs.update(is_active=True)
    activate_user.short_description = _("Mark users as active")

site.register(User, OioioiUserAdmin)

system_admin_menu_registry.register('users', _("Users"),
        lambda request: reverse('oioioiadmin:auth_user_changelist'), order=10)


class InstanceDependentAdmin(admin.ModelAdmin):
    default_model_admin = admin.ModelAdmin

    def _model_admin_for_instance(self, request, instance=None):
        raise NotImplementedError

    def _find_model_admin(self, request, object_id):
        if object_id is None:
            obj = None
        else:
            obj = self.get_object(request, unquote(object_id))
        model_admin = self._model_admin_for_instance(request, obj)
        if not model_admin:
示例#4
0
from django.contrib.auth.decorators import login_required
from oioioi.contests.models import Submission
from oioioi.base.permissions import enforce_condition
from oioioi.contests.views import submission_template_context
from oioioi.contests.utils import can_enter_contest
from oioioi.rankings.views import any_ranking_visible
from oioioi.base.menu import MenuRegistry, menu_registry
from oioioi.base.permissions import not_anonymous
from oioioi.messages.views import messages_template_context, \
        visible_messages
import itertools

top_links_registry = MenuRegistry()

top_links_registry.register('problems_list', _("Problems"),
        lambda request: reverse('problems_list', kwargs={'contest_id':
            request.contest.id}), order=100)

top_links_registry.register('submit', _("Submit"),
        lambda request: reverse('submit', kwargs={'contest_id':
            request.contest.id}), order=200)

top_links_registry.register('ranking', _("Ranking"),
        lambda request: reverse('default_ranking', kwargs={'contest_id':
            request.contest.id}), condition=any_ranking_visible,
        order=200)

menu_registry.register('dashboard', _("Dashboard"),
        lambda request: reverse('contest_dashboard', kwargs={'contest_id':
            request.contest.id}), condition=not_anonymous, order=20)
示例#5
0
文件: admin.py 项目: matrach/oioioi
    fieldsets = (
        (None, {'fields': ('username', 'password')}),
        (_("Personal info"), {'fields': ('first_name', 'last_name', 'email')}),
        (_("Permissions"), {'fields': ('is_active', 'is_superuser',
                                       'groups')}),
        (_("Important dates"), {'fields': ('last_login', 'date_joined')}),
    )
    list_filter = ['is_superuser', 'is_active']
    list_display = ['username', 'email', 'first_name', 'last_name',
            'is_active']
    filter_horizontal = ()

site.register(User, OioioiUserAdmin)

system_admin_menu_registry.register('users', _("Users"),
        lambda request: reverse('oioioiadmin:auth_user_changelist'), order=10)


class InstanceDependentAdmin(admin.ModelAdmin):
    default_model_admin = admin.ModelAdmin

    def _model_admin_for_instance(self, request, instance=None):
        raise NotImplementedError

    def _find_model_admin(self, request, object_id):
        if object_id is None:
            obj = None
        else:
            obj = self.get_object(request, unquote(object_id))
        model_admin = self._model_admin_for_instance(request, obj)
        if not model_admin:
示例#6
0
from oioioi.contests.models import Submission
from oioioi.base.permissions import enforce_condition
from oioioi.contests.views import submission_template_context
from oioioi.contests.utils import can_enter_contest
from oioioi.rankings.views import any_ranking_visible
from oioioi.base.menu import MenuRegistry, menu_registry
from oioioi.base.permissions import not_anonymous
from oioioi.messages.views import messages_template_context, \
        visible_messages
import itertools

top_links_registry = MenuRegistry()

top_links_registry.register(
    'problems_list',
    _("Problems"),
    lambda request: reverse('problems_list',
                            kwargs={'contest_id': request.contest.id}),
    order=100)

top_links_registry.register(
    'submit',
    _("Submit"),
    lambda request: reverse('submit',
                            kwargs={'contest_id': request.contest.id}),
    order=200)

top_links_registry.register(
    'ranking',
    _("Ranking"),
    lambda request: reverse('default_ranking',
                            kwargs={'contest_id': request.contest.id}),