コード例 #1
0
ファイル: __init__.py プロジェクト: papedaniel/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
コード例 #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
コード例 #3
0
ファイル: menu.py プロジェクト: matrach/oioioi
from django.utils.translation import ugettext_lazy as _

from oioioi.base.menu import MenuRegistry, side_pane_menus_registry
from oioioi.contests.utils import is_contest_admin, is_contest_observer, \
    contest_exists

contest_admin_menu_registry = MenuRegistry(_("Contest Administration"),
    contest_exists & is_contest_admin)
side_pane_menus_registry.register(contest_admin_menu_registry, order=100)

contest_observer_menu_registry = MenuRegistry(_("Observer Menu"),
    contest_exists & is_contest_observer & (~is_contest_admin))
side_pane_menus_registry.register(contest_observer_menu_registry, order=200)
コード例 #4
0
            cls = getattr(cls, '__unmixed_class__', cls)
            self._registry[model] = cls(model, self)

    def get_urls(self):
        self._reinit_model_admins()
        return super(AdminSite, self).get_urls()

    def login(self, request, extra_context=None):
        query = urllib.urlencode({'next': request.get_full_path()})
        return HttpResponseRedirect(reverse('auth_login') + '?' + query)

site = AdminSite(name='oioioiadmin')

system_admin_menu_registry = MenuRegistry(_("System Administration"),
                                          is_superuser)
side_pane_menus_registry.register(system_admin_menu_registry, order=10)


class OioioiUserAdmin(UserAdmin, ObjectWithMixins):
    __metaclass__ = ModelAdminMeta

    # This is handled by AdminSite._reinit_model_admins
    allow_too_late_mixins = True

    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')}),
    )
コード例 #5
0
from django.utils.translation import ugettext_lazy as _

from oioioi.base.menu import MenuRegistry, side_pane_menus_registry
from oioioi.contests.utils import (can_see_personal_data, contest_exists,
                                   is_contest_basicadmin, is_contest_observer)

contest_admin_menu_registry = MenuRegistry(
    _("Contest Administration"), contest_exists & is_contest_basicadmin)
side_pane_menus_registry.register(contest_admin_menu_registry, order=100)

contest_observer_menu_registry = MenuRegistry(
    _("Observer Menu"),
    contest_exists & is_contest_observer & (~is_contest_basicadmin))
side_pane_menus_registry.register(contest_observer_menu_registry, order=200)

personal_data_menu_registry = MenuRegistry(
    _("Personal Data Menu"), contest_exists & can_see_personal_data)
side_pane_menus_registry.register(personal_data_menu_registry, order=300)
コード例 #6
0
ファイル: menu.py プロジェクト: sio2project/oioioi
from django.utils.translation import ugettext_lazy as _

from oioioi.base.menu import MenuRegistry, side_pane_menus_registry
from oioioi.contests.utils import (can_see_personal_data, contest_exists,
                                   is_contest_admin, is_contest_observer)

contest_admin_menu_registry = MenuRegistry(_("Contest Administration"),
    contest_exists & is_contest_admin)
side_pane_menus_registry.register(contest_admin_menu_registry, order=100)

contest_observer_menu_registry = MenuRegistry(_("Observer Menu"),
    contest_exists & is_contest_observer & (~is_contest_admin))
side_pane_menus_registry.register(contest_observer_menu_registry, order=200)

personal_data_menu_registry = MenuRegistry(_("Personal Data Menu"),
    contest_exists & can_see_personal_data)
side_pane_menus_registry.register(personal_data_menu_registry, order=300)
コード例 #7
0
from django.utils.translation import ugettext_lazy as _

from oioioi.base.menu import MenuRegistry, side_pane_menus_registry

teacher_menu_registry = MenuRegistry(_("Teacher Menu"),
    lambda request: request.user.has_perm('teachers.teacher'))
side_pane_menus_registry.register(teacher_menu_registry, order=50)
コード例 #8
0
ファイル: admin.py プロジェクト: matrach/oioioi
            cls = getattr(cls, '__unmixed_class__', cls)
            self._registry[model] = cls(model, self)

    def get_urls(self):
        self._reinit_model_admins()
        return super(AdminSite, self).get_urls()

    def login(self, request, extra_context=None):
        query = urllib.urlencode({'next': request.get_full_path()})
        return HttpResponseRedirect(reverse('auth_login') + '?' + query)

site = AdminSite(name='oioioiadmin')

system_admin_menu_registry = MenuRegistry(_("System Administration"),
                                          is_superuser)
side_pane_menus_registry.register(system_admin_menu_registry, order=10)


class OioioiUserAdmin(UserAdmin, ObjectWithMixins):
    __metaclass__ = ModelAdminMeta

    # This is handled by AdminSite._reinit_model_admins
    allow_too_late_mixins = True

    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')}),
    )
コード例 #9
0
from django.utils.translation import ugettext_lazy as _

from oioioi.base.menu import MenuRegistry, side_pane_menus_registry
from oioioi.contests.utils import is_contest_admin, is_contest_observer, \
    contest_exists

contest_admin_menu_registry = MenuRegistry(_("Contest Administration"),
                                           contest_exists & is_contest_admin)
side_pane_menus_registry.register(contest_admin_menu_registry, order=100)

contest_observer_menu_registry = MenuRegistry(
    _("Observer Menu"),
    contest_exists & is_contest_observer & (~is_contest_admin))
side_pane_menus_registry.register(contest_observer_menu_registry, order=200)