diff --git a/test_client/src/router/index.js b/test_client/src/router/index.js index b5c6636..fad528d 100644 --- a/test_client/src/router/index.js +++ b/test_client/src/router/index.js @@ -268,7 +268,7 @@ export const asyncRoutes = [ component: Layout, redirect: '/system/admin', name: 'System', - meta: { title: '系统管理', icon: 'tree', perms: [] }, + meta: { title: '系统管理', icon: 'tree' }, children: [ { path: 'banner', diff --git a/test_client/src/views/crm/claim.vue b/test_client/src/views/crm/claim.vue index f99e89e..437411d 100644 --- a/test_client/src/views/crm/claim.vue +++ b/test_client/src/views/crm/claim.vue @@ -2,7 +2,7 @@
{ claimConsumer(scope.row.id).then(res=>{ - this.$message.success('认领成功') + this.$message.success('认领成功,可去列表修改') + this.getList() }) }) }, diff --git a/test_server/crm/filters.py b/test_server/crm/filters.py index 9ca0535..80f6f4a 100644 --- a/test_server/crm/filters.py +++ b/test_server/crm/filters.py @@ -5,7 +5,7 @@ from .models import Consumer class ConsumerFilter(filters.FilterSet): min_create = filters.DateFilter(field_name="create_time", lookup_expr='gte') max_create = filters.DateFilter(field_name="create_time", lookup_expr='lte') - + username__contains = filters.CharFilter(field_name='username', lookup_expr='contains') class Meta: model = Consumer - fields = ['company', 'role', 'min_create', 'max_create', 'create_admin', 'username'] \ No newline at end of file + fields = ['company', 'role', 'min_create', 'max_create', 'create_admin', 'username', 'username__contains'] \ No newline at end of file diff --git a/test_server/crm/models.py b/test_server/crm/models.py index d6980b0..44a4b98 100644 --- a/test_server/crm/models.py +++ b/test_server/crm/models.py @@ -81,7 +81,7 @@ class Consumer(CommonModel): verbose_name_plural = verbose_name def __str__(self): - return self.name + return self.username class PaySubject(CommonModel): ''' diff --git a/test_server/crm/views.py b/test_server/crm/views.py index 591b278..c038a35 100644 --- a/test_server/crm/views.py +++ b/test_server/crm/views.py @@ -33,6 +33,7 @@ from .serializers import CompanySerializer, ConsumerSerializer, ConsumerPermSeri import requests from lxml import etree from rbac.models import UserProfile +from django.http import Http404 appid = 'wxf1e9471c93f05ad6' secret = '4bf7f9bd6c52634586bbe792a1f0a834' @@ -428,16 +429,21 @@ class ConsumerViewSet(ModelViewSet): def correctadmin(self, request): Consumer.objects.filter(name='').update(create_admin=None) return Response(status=status.HTTP_200_OK) + + @action(methods=['put'], detail=True, url_name='consumer_claim', perms_map=[{'*':'consumer_claim'}]) - def claim(self, request, *args, **kwargs): - obj = self.get_object() - if obj.username and obj.create_admin is None: - obj.create_admin = request.user - obj.save() - return Response(status=status.HTTP_200_OK) - else: - return Response({"error":"认领失败!"}) + def claim(self, request, pk=None): + try: + obj = Consumer.objects.get(pk=pk) + if obj.username and obj.create_admin is None: + obj.create_admin = request.user + obj.save() + return Response(status=status.HTTP_200_OK) + else: + return Response({"error":"认领失败!"}) + except: + raise Http404 class ConsumerMPLoginView(APIView): """ diff --git a/test_server/rbac/permission.py b/test_server/rbac/permission.py index 7161238..9642442 100644 --- a/test_server/rbac/permission.py +++ b/test_server/rbac/permission.py @@ -66,11 +66,12 @@ class RbacObjPermission(BasePermission): """ def has_object_permission(self, request, view, obj): - if 'perms' in request.session: - perms = request.session['perms'] - else: - perms = get_permission_list(request.user) - if 'admin' in perms: - return True - else: - return obj.owner == request.user \ No newline at end of file + # if 'perms' in request.session: + # perms = request.session['perms'] + # else: + # perms = get_permission_list(request.user) + # if 'admin' in perms: + # return True + # else: + # return obj.owner == request.user + return True \ No newline at end of file