:py:mod:`oioioi.questions.admin` ================================ .. py:module:: oioioi.questions.admin Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: oioioi.questions.admin.MessageAdmin oioioi.questions.admin.MessageNotifierConfigInline oioioi.questions.admin.MessageNotifierContestAdminMixin oioioi.questions.admin.ReplyTemplateAdmin .. py:class:: MessageAdmin(model, admin_site) Bases: :py:obj:`oioioi.base.admin.ModelAdmin` Encapsulate all admin options and functionality for a given model. .. py:attribute:: list_display :annotation: = ['id', 'date', 'topic', 'author'] .. py:attribute:: fields :annotation: = ['date', 'author', 'contest', 'round', 'problem_instance', 'kind', 'topic', 'content'] .. py:attribute:: readonly_fields :annotation: = ['date', 'author', 'contest', 'round', 'problem_instance'] .. py:method:: has_add_permission(request) Return True if the given request has permission to add an object. Can be overridden by the user in subclasses. .. py:method:: has_change_permission(request, obj=None) Return True if the given request has permission to change the given Django model instance, the default implementation doesn't examine the `obj` parameter. Can be overridden by the user in subclasses. In such case it should return True if the given request has permission to change the `obj` model instance. If `obj` is None, this should return True if the given request has permission to change *any* object of the given type. .. py:method:: has_delete_permission(request, obj=None) Return True if the given request has permission to delete the given Django model instance, the default implementation doesn't examine the `obj` parameter. Can be overridden by the user in subclasses. In such case it should return True if the given request has permission to delete the `obj` model instance. If `obj` is None, this should return True if the given request has permission to delete *any* object of the given type. .. py:method:: get_queryset(request) Return a QuerySet of all model instances that can be edited by the admin site. This is used by changelist_view. .. py:method:: add_view(request, form_url='', extra_context=None) .. py:method:: get_custom_list_select_related() Returns a list of fields passed to queryset.select_related By default - empty list. Override this method (instead of get_queryset()) to pass another field to the select_related. .. py:method:: change_view(request, object_id, form_url='', extra_context=None) .. py:method:: response_delete(request) Determine the HttpResponse for the delete_view stage. .. py:class:: MessageNotifierConfigInline(parent_model, admin_site) Bases: :py:obj:`oioioi.base.admin.TabularInline` Options for inline editing of ``model`` instances. Provide ``fk_name`` to specify the attribute name of the ``ForeignKey`` from ``model`` to its parent. This is required if ``model`` has more than one ``ForeignKey`` to its parent. .. py:attribute:: model .. py:attribute:: extra :annotation: = 0 .. py:attribute:: category .. py:method:: has_add_permission(request, obj=None) Return True if the given request has permission to add an object. Can be overridden by the user in subclasses. .. py:method:: has_change_permission(request, obj=None) Return True if the given request has permission to change the given Django model instance, the default implementation doesn't examine the `obj` parameter. Can be overridden by the user in subclasses. In such case it should return True if the given request has permission to change the `obj` model instance. If `obj` is None, this should return True if the given request has permission to change *any* object of the given type. .. py:method:: has_delete_permission(request, obj=None) Return True if the given request has permission to delete the given Django model instance, the default implementation doesn't examine the `obj` parameter. Can be overridden by the user in subclasses. In such case it should return True if the given request has permission to delete the `obj` model instance. If `obj` is None, this should return True if the given request has permission to delete *any* object of the given type. .. py:method:: formfield_for_foreignkey(db_field, request, **kwargs) Get a form Field for a ForeignKey. .. py:class:: MessageNotifierContestAdminMixin(*args, **kwargs) Bases: :py:obj:`object` Adds :class:`~oioioi.questions.models.MessageNotifierConfig` to an admin panel. .. py:class:: ReplyTemplateAdmin(model, admin_site) Bases: :py:obj:`oioioi.base.admin.ModelAdmin` Encapsulate all admin options and functionality for a given model. .. py:method:: get_list_display(request) Return a sequence containing the fields to be displayed on the changelist. .. py:method:: get_list_filter(request) Return a sequence containing the fields to be displayed as filters in the right sidebar of the changelist page. .. py:method:: get_readonly_fields(request, obj=None) Hook for specifying custom readonly fields. .. py:method:: get_form(request, obj=None, **kwargs) Return a Form class for use in the admin add view. This is used by add_view and change_view. .. py:method:: has_add_permission(request) Return True if the given request has permission to add an object. Can be overridden by the user in subclasses. .. py:method:: has_change_permission(request, obj=None) Return True if the given request has permission to change the given Django model instance, the default implementation doesn't examine the `obj` parameter. Can be overridden by the user in subclasses. In such case it should return True if the given request has permission to change the `obj` model instance. If `obj` is None, this should return True if the given request has permission to change *any* object of the given type. .. py:method:: has_delete_permission(request, obj=None) Return True if the given request has permission to delete the given Django model instance, the default implementation doesn't examine the `obj` parameter. Can be overridden by the user in subclasses. In such case it should return True if the given request has permission to delete the `obj` model instance. If `obj` is None, this should return True if the given request has permission to delete *any* object of the given type. .. py:method:: get_queryset(request) Return a QuerySet of all model instances that can be edited by the admin site. This is used by changelist_view.