Module apps.email_scheduler.admin

Expand source code
from django.contrib import admin
from .models import EmailScheduler, EmailSchedulerLogs
from durationwidget.widgets import TimeDurationWidget
from django.contrib.postgres.fields import ArrayField
from django.db import models
from django.forms import Textarea

# Register your models here.


@admin.register(EmailScheduler)
class EmailSchedulerAdmin(admin.ModelAdmin):
    """
    This class will register EmailScheduler model in admin
    """
    formfield_overrides = {
        ArrayField: {
            "widget": Textarea(attrs={
                "rows": 2,
                "cols": 60
            })
        },
        models.CharField: {
            "widget": Textarea(attrs={
                "rows": 2,
                "cols": 80
            })
        },
    }
    readonly_fields = [
        "email_last_sent_at",
        "task_status",
        "email_send_count",
        "task_failed_count",
        "task_failure_info",
    ]


@admin.register(EmailSchedulerLogs)
class EmailSchedulerLogsAdmin(admin.ModelAdmin):
    """
    This class will register EmailSchedulerLogs model in admin
    """

    def has_add_permission(self, request, obj=None):
        """
        This method will return False to disable add permission
        Arguments:
            request {object} -- Request object
            obj {object} -- Object of EmailSchedulerLogs
        Returns:
            bool -- False
            """
        return False

    def has_change_permission(self, request, obj=None):
        """
        This method will return False to disable change permission
        Arguments:
            request {object} -- Request object
            obj {object} -- Object of EmailSchedulerLogs
        Returns:
            bool -- False
            """
        return False

Classes

class EmailSchedulerAdmin (model, admin_site)

This class will register EmailScheduler model in admin

Expand source code
class EmailSchedulerAdmin(admin.ModelAdmin):
    """
    This class will register EmailScheduler model in admin
    """
    formfield_overrides = {
        ArrayField: {
            "widget": Textarea(attrs={
                "rows": 2,
                "cols": 60
            })
        },
        models.CharField: {
            "widget": Textarea(attrs={
                "rows": 2,
                "cols": 80
            })
        },
    }
    readonly_fields = [
        "email_last_sent_at",
        "task_status",
        "email_send_count",
        "task_failed_count",
        "task_failure_info",
    ]

Ancestors

  • django.contrib.admin.options.ModelAdmin
  • django.contrib.admin.options.BaseModelAdmin

Class variables

var formfield_overrides
var readonly_fields

Instance variables

var media
Expand source code
def _media(self):
    # Get the media property of the superclass, if it exists
    sup_cls = super(cls, self)
    try:
        base = sup_cls.media
    except AttributeError:
        base = Media()

    # Get the media definition for this class
    definition = getattr(cls, 'Media', None)
    if definition:
        extend = getattr(definition, 'extend', True)
        if extend:
            if extend is True:
                m = base
            else:
                m = Media()
                for medium in extend:
                    m = m + base[medium]
            return m + Media(definition)
        return Media(definition)
    return base
class EmailSchedulerLogsAdmin (model, admin_site)

This class will register EmailSchedulerLogs model in admin

Expand source code
class EmailSchedulerLogsAdmin(admin.ModelAdmin):
    """
    This class will register EmailSchedulerLogs model in admin
    """

    def has_add_permission(self, request, obj=None):
        """
        This method will return False to disable add permission
        Arguments:
            request {object} -- Request object
            obj {object} -- Object of EmailSchedulerLogs
        Returns:
            bool -- False
            """
        return False

    def has_change_permission(self, request, obj=None):
        """
        This method will return False to disable change permission
        Arguments:
            request {object} -- Request object
            obj {object} -- Object of EmailSchedulerLogs
        Returns:
            bool -- False
            """
        return False

Ancestors

  • django.contrib.admin.options.ModelAdmin
  • django.contrib.admin.options.BaseModelAdmin

Instance variables

var media
Expand source code
def _media(self):
    # Get the media property of the superclass, if it exists
    sup_cls = super(cls, self)
    try:
        base = sup_cls.media
    except AttributeError:
        base = Media()

    # Get the media definition for this class
    definition = getattr(cls, 'Media', None)
    if definition:
        extend = getattr(definition, 'extend', True)
        if extend:
            if extend is True:
                m = base
            else:
                m = Media()
                for medium in extend:
                    m = m + base[medium]
            return m + Media(definition)
        return Media(definition)
    return base

Methods

def has_add_permission(self, request, obj=None)

This method will return False to disable add permission

Arguments

request {object} – Request object obj {object} – Object of EmailSchedulerLogs

Returns

bool – False

Expand source code
def has_add_permission(self, request, obj=None):
    """
    This method will return False to disable add permission
    Arguments:
        request {object} -- Request object
        obj {object} -- Object of EmailSchedulerLogs
    Returns:
        bool -- False
        """
    return False
def has_change_permission(self, request, obj=None)

This method will return False to disable change permission

Arguments

request {object} – Request object obj {object} – Object of EmailSchedulerLogs

Returns

bool – False

Expand source code
def has_change_permission(self, request, obj=None):
    """
    This method will return False to disable change permission
    Arguments:
        request {object} -- Request object
        obj {object} -- Object of EmailSchedulerLogs
    Returns:
        bool -- False
        """
    return False