Skip to content

Support for read-only admin access #9

@frnhr

Description

@frnhr
  • django mail admin version: 0.2.0
  • Django version: 3.0.4
  • Python version: 3.8.2
  • Operating System: McLinux Vista :p

Description

Users with only "view" permissions for "django_mail_admin" app trigger an error when accessing changeview for OutgoingEmail:

KeyError: 'from_email'

What I Did

Traceback:

Internal Server Error: /admin/django_mail_admin/outgoingemail/4/change/
Traceback (most recent call last):
  File ".../django/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File ".../django/django/core/handlers/base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File ".../django/django/core/handlers/base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File ".../django/django/contrib/admin/options.py", line 607, in wrapper
    return self.admin_site.admin_view(view)(*args, **kwargs)
  File ".../django/django/utils/decorators.py", line 130, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File ".../django/django/views/decorators/cache.py", line 44, in _wrapped_view_func
    response = view_func(request, *args, **kwargs)
  File ".../django/django/contrib/admin/sites.py", line 231, in inner
    return view(request, *args, **kwargs)
  File ".../django/django/contrib/admin/options.py", line 1641, in change_view
    return self.changeform_view(request, object_id, form_url, extra_context)
  File ".../django/django/utils/decorators.py", line 43, in _wrapper
    return bound_method(*args, **kwargs)
  File ".../django/django/utils/decorators.py", line 130, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File ".../django/django/contrib/admin/options.py", line 1522, in changeform_view
    return self._changeform_view(request, object_id, form_url, extra_context)
  File ".../django/django/contrib/admin/options.py", line 1555, in _changeform_view
    ModelForm = self.get_form(request, obj, change=not add)
  File ".../django_mail_admin/admin.py", line 314, in get_form
    form.base_fields['from_email'].initial = configurations.first().email_host_user
KeyError: 'from_email'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions