switched my_company and my_products from method to class views

This commit is contained in:
Sam
2021-03-08 12:24:44 +00:00
parent ebd1b6744c
commit ec27937b85
7 changed files with 48 additions and 48 deletions

View File

@@ -35,6 +35,19 @@ class IsStaff(permissions.BasePermission):
return request.user.is_staff
class IsSiteAdmin(permissions.BasePermission):
"""
Grant permission if request.user.role == 'SITE_ADMIN'
"""
admin_role = 'SITE_ADMIN'
def has_object_permission(self, request, view, obj):
return request.user.role == self.admin_role
def has_permission(self, request, view):
return request.user.role == self.admin_role
class ReadOnly(permissions.BasePermission):
def has_permission(self, request, view):

View File

@@ -1,8 +1,8 @@
from rest_framework import routers
from core.views import CustomUserViewSet
from companies.views import CompanyViewSet
from products.views import ProductViewSet
from companies.views import CompanyViewSet, MyCompanyViewSet
from products.views import ProductViewSet, MyProductsViewSet
from history.views import HistorySyncViewSet
from stats.views import StatsLogViewSet
@@ -13,7 +13,9 @@ router = routers.DefaultRouter()
router.register('users', CustomUserViewSet, basename='users')
router.register('companies', CompanyViewSet, basename='company')
router.register('my_company', MyCompanyViewSet, basename='my-company')
router.register('products', ProductViewSet, basename='product')
router.register('my_products', MyProductsViewSet, basename='my-products')
router.register('history', HistorySyncViewSet, basename='history')
router.register('stats', StatsLogViewSet, basename='stats')

View File

@@ -39,9 +39,9 @@ urlpatterns = [
path('api/v1/search_products/', product_views.product_search, name='product-search'),
path('api/v1/create_company_user/', core_views.create_company_user, name='create-company-user'),
path('api/v1/my_user/', core_views.my_user, name='my-user'),
path('api/v1/my_company/', company_views.my_company , name='my-company'),
# path('api/v1/my_company/', company_views.my_company , name='my-company'),
path('api/v1/companies/sample/', company_views.random_company_sample , name='company-sample'),
path('api/v1/my_products/', product_views.my_products, name='my-products'),
# path('api/v1/my_products/', product_views.my_products, name='my-products'),
path('api/v1/stats/me/', stat_views.track_user, name='user-tracker'),
path('api/v1/autocomplete/category-tag/', product_views.CategoryTagAutocomplete.as_view(), name='category-autocomplete'),
path('api/v1/', include(router.urls)),