|
# -*- coding: utf-8 -*-
from __future__ import division
from functools import wraps
from django.conf import settings
from django_response import response
from mch.models import AdministratorInfo
from utils.error.errno_utils import AdministratorStatusCode, ProductBrandStatusCode
def check_admin(func=None):
def decorator(func):
@wraps(func)
def returned_wrapper(request, *args, **kwargs):
brand_id = request.POST.get('brand_id') or settings.KODO_DEFAULT_BRAND_ID
admin_id = request.POST.get('admin_id', '')
if brand_id != settings.KODO_DEFAULT_BRAND_ID:
return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
try:
administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
except AdministratorInfo.DoesNotExist:
return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
return func(request, administrator=administrator, *args, **kwargs)
return returned_wrapper
if not func:
def foo(func):
return decorator(func)
return foo
return decorator(func)
|