from django.shortcuts import redirect
from django.urls import reverse
from django.contrib import messages


def admin_login_required(view_func):
    def wrap(request, *args, **kwargs):
        if not request.user.is_authenticated:
            messages.warning(request, "Please Login First!!")
            response = redirect(reverse("admin_login"))
            return response
        elif request.user.role and not request.user.role.title == "Admin":
            messages.warning(request, "Admin login required!!")
            response = redirect(reverse("admin_logout"))
            return response
        else:
            return view_func(request, *args, **kwargs)

    wrap.__doc__ = view_func.__doc__
    wrap.__name__ = view_func.__name__
    return wrap