def list(self, request, *args, **kwargs): try: page_size = request.GET.get('page_size') page_index = request.GET.get('page_index') # 从第一页开始 if not page_size: page_size = 10 if not page_index: page_index = 1 queryset = self.filter_queryset( self.queryset).filter(datasource=request.user.datasource_id) sortfield = request.GET.get('sort', 'createdtime') desc = request.GET.get('desc', 1) queryset = mySortQuery(queryset, sortfield, desc) try: count = queryset.count() queryset = Paginator(queryset, page_size) queryset = queryset.page(page_index) except EmptyPage: return JSONResponse(SuccessResponse({'count': 0, 'data': []})) serializer = Emailgroupsendlistserializer(queryset, many=True) return JSONResponse( SuccessResponse({ 'count': count, 'data': serializer.data })) except InvestError as err: return JSONResponse(InvestErrorResponse(err)) except Exception: return JSONResponse( ExceptionResponse(traceback.format_exc().split('\n')[-2]))
def list(self, request, *args, **kwargs): try: page_size = request.GET.get('page_size') page_index = request.GET.get('page_index') # 从第一页开始 lang = request.GET.get('lang') if not page_size: page_size = 10 if not page_index: page_index = 1 queryset = self.filter_queryset(self.get_queryset()) if request.user.has_perm('BD.manageProjectBD'): pass elif request.user.has_perm('BD.user_getProjectBD'): queryset = queryset.filter(manager=request.user) else: raise InvestError(2009) countres = queryset.values_list('manager').annotate( Count('manager')) countlist = [] for manager_count in countres: countlist.append({ 'manager': manager_count[0], 'count': manager_count[1] }) sortfield = request.GET.get('sort', 'createdtime') desc = request.GET.get('desc', 1) queryset = mySortQuery(queryset, sortfield, desc) try: count = queryset.count() queryset = Paginator(queryset, page_size) queryset = queryset.page(page_index) except EmptyPage: return JSONResponse( SuccessResponse({ 'count': 0, 'data': [], 'manager_count': countlist })) serializer = ProjectBDSerializer(queryset, many=True) return JSONResponse( SuccessResponse({ 'count': count, 'data': returnListChangeToLanguage(serializer.data, lang), 'manager_count': countlist })) except InvestError as err: return JSONResponse(InvestErrorResponse(err)) except Exception: return JSONResponse( ExceptionResponse(traceback.format_exc().split('\n')[-2]))
def list(self, request, *args, **kwargs): try: page_size = request.GET.get('page_size') page_index = request.GET.get('page_index') # 从第一页开始 lang = request.GET.get('lang') date = request.GET.get('date') time = request.GET.get('time') if not page_size: page_size = 10 if not page_index: page_index = 1 queryset = self.filter_queryset( self.queryset.filter(datasource=request.user.datasource_id)) if date: date = datetime.datetime.strptime(date.encode('utf-8'), "%Y-%m-%d") queryset = queryset.filter(scheduledtime__year=date.year, scheduledtime__month=date.month) if time: time = datetime.datetime.strptime(time.encode('utf-8'), "%Y-%m-%dT%H:%M:%S") queryset = queryset.filter(scheduledtime__gt=time) if request.user.has_perm('msg.admin_manageSchedule'): queryset = queryset else: queryset = queryset.filter(createuser_id=request.user.id) sortfield = request.GET.get('sort', 'createdtime') desc = request.GET.get('desc', 1) queryset = mySortQuery(queryset, sortfield, desc) try: count = queryset.count() queryset = Paginator(queryset, page_size) queryset = queryset.page(page_index) except EmptyPage: return JSONResponse(SuccessResponse({'count': 0, 'data': []})) serializer = ScheduleSerializer(queryset, many=True) return JSONResponse( SuccessResponse({ 'count': count, 'data': returnListChangeToLanguage(serializer.data, lang) })) except InvestError as err: return JSONResponse(InvestErrorResponse(err)) except Exception: return JSONResponse( ExceptionResponse(traceback.format_exc().split('\n')[-2]))
def list(self, request, *args, **kwargs): try: page_size = request.GET.get('page_size') page_index = request.GET.get('page_index') # 从第一页开始 lang = request.GET.get('lang') if not page_size: page_size = 10 if not page_index: page_index = 1 queryset = self.filter_queryset(self.get_queryset()) if request.user.has_perm('BD.manageMeetBD'): pass elif request.user.has_perm('BD.user_getMeetBD'): queryset = queryset.filter( Q(manager=request.user) | Q(createuser=request.user) | Q(proj__in=request.user.usertake_projs.all()) | Q(proj__in=request.user.usermake_projs.all())) else: raise InvestError(2009) sortfield = request.GET.get('sort', 'createdtime') desc = request.GET.get('desc', 1) queryset = mySortQuery(queryset, sortfield, desc) try: count = queryset.count() queryset = Paginator(queryset, page_size) queryset = queryset.page(page_index) except EmptyPage: return JSONResponse(SuccessResponse({'count': 0, 'data': []})) serializer = MeetingBDSerializer(queryset, many=True) return JSONResponse( SuccessResponse({ 'count': count, 'data': returnListChangeToLanguage(serializer.data, lang) })) except InvestError as err: return JSONResponse(InvestErrorResponse(err)) except Exception: return JSONResponse( ExceptionResponse(traceback.format_exc().split('\n')[-2]))
def list(self, request, *args, **kwargs): try: page_size = request.GET.get('page_size') page_index = request.GET.get('page_index') # 从第一页开始 lang = request.GET.get('lang') if not page_size: page_size = 10 if not page_index: page_index = 1 queryset = self.filter_queryset( self.get_queryset()).filter(datasource=request.user.datasource) sortfield = request.GET.get('sort', 'createdtime') desc = request.GET.get('desc', 1) queryset = mySortQuery(queryset, sortfield, desc) try: count = queryset.count() queryset = Paginator(queryset, page_size) queryset = queryset.page(page_index) except EmptyPage: return JSONResponse(SuccessResponse({'count': 0, 'data': []})) responselist = [] for instance in queryset: actionlist = {'get': False, 'change': False, 'delete': False} if request.user.has_perm('timeline.admin_getline'): actionlist['get'] = True serializerclass = TimeLineListSerializer_admin elif request.user.has_perm( 'timeline.user_getline', instance) or request.user in [ instance.proj.takeUser, instance.proj.makeUser ]: actionlist['get'] = True serializerclass = TimeLineListSerializer_user else: serializerclass = TimeLineListSerializer_anonymous if request.user.has_perm( 'timeline.admin_changeline') or request.user.has_perm( 'timeline.user_changeline', instance) or request.user in [ instance.proj.takeUser, instance.proj.makeUser ]: actionlist['change'] = True if request.user.has_perm( 'timeline.admin_deleteline') or request.user.has_perm( 'timeline.user_deleteline', instance) or request.user in [ instance.proj.takeUser, instance.proj.makeUser ]: actionlist['delete'] = True instancedata = serializerclass(instance).data instancedata['action'] = actionlist responselist.append(instancedata) return JSONResponse( SuccessResponse({ 'count': count, 'data': returnListChangeToLanguage(responselist, lang) })) except InvestError as err: return JSONResponse(InvestErrorResponse(err)) except Exception: return JSONResponse( ExceptionResponse(traceback.format_exc().split('\n')[-2]))
def list(self, request, *args, **kwargs): try: page_size = request.GET.get('page_size') page_index = request.GET.get('page_index') # 从第一页开始 lang = request.GET.get('lang') source = request.META.get('HTTP_SOURCE') if source: datasource = DataSource.objects.filter(id=source, is_deleted=False) if datasource.exists(): userdatasource = datasource.first() queryset = self.get_queryset().filter( datasource=userdatasource) else: raise InvestError(code=8888) else: raise InvestError(code=8888, msg='unavailable source') if not page_size: page_size = 10 if not page_index: page_index = 1 queryset = self.filter_queryset(queryset) sortfield = request.GET.get('sort', 'createdtime') desc = request.GET.get('desc', 1) queryset = mySortQuery(queryset, sortfield, desc) setrequestuser(request) if request.user.is_anonymous: serializerclass = OrgCommonSerializer else: if request.user.has_perm('org.admin_getorg'): serializerclass = OrgDetailSerializer else: serializerclass = OrgCommonSerializer # warning try: count = queryset.count() queryset = Paginator(queryset, page_size) queryset = queryset.page(page_index) except EmptyPage: return JSONResponse(SuccessResponse({'count': 0, 'data': []})) responselist = [] for instance in queryset: actionlist = {'get': False, 'change': False, 'delete': False} if request.user.is_anonymous: pass else: if request.user.has_perm( 'org.admin_getorg') or request.user.has_perm( 'org.user_getorg', instance): actionlist['get'] = True if request.user.has_perm( 'org.admin_changeorg') or request.user.has_perm( 'org.user_changeorg', instance): actionlist['change'] = True if request.user.has_perm( 'org.admin_deleteorg') or request.user.has_perm( 'org.user_deleteorg', instance): actionlist['delete'] = True instancedata = serializerclass(instance).data instancedata['action'] = actionlist responselist.append(instancedata) return JSONResponse( SuccessResponse({ 'count': count, 'data': returnListChangeToLanguage(responselist, lang) })) except InvestError as err: return JSONResponse(InvestErrorResponse(err)) except Exception: catchexcption(request) return JSONResponse( ExceptionResponse(traceback.format_exc().split('\n')[-2]))