No Description

decorators.py 1.2KB

    # -*- 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)