示例#1
0
 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]))
示例#2
0
 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]))
示例#3
0
 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]))
示例#4
0
 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]))
示例#5
0
 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]))
示例#6
0
 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]))