def create_issue(request):
    message = "True"
    try:
        IssueService.create_issue(request)
    except Exception as ex:
        SimpleLogger.exception(ex)
        message = str(ex)
    return HttpResponse(message)
 def create(self, request, *args, **kwargs):
     print(kwargs)
     print(request.data)
     issue_id = kwargs.get('issue_id', 0)
     operation_type = request.data.get('operation', 0)
     reslove_result = request.data.get('ResloveResult', 1)
     comments = request.data.get('Desc')
     IssueService.update_issue_operation_result(issue_id, operation_type,
                                                reslove_result, comments,
                                                request.user.id)
     return response.Response(status=status.HTTP_200_OK)
def add_comment(request, issue_id):
    message = "True"
    try:
        comment = request.POST.get('comments')
        issue = ProjectIssue.objects.get(int(issue_id))
        IssueService.create_issue_activity(issue, 0, 0, 0, comment,
                                           request.user.id, 1, 2)
    except Exception as ex:
        SimpleLogger.exception(ex)
        message = str(ex)
    return HttpResponse(message)
def update_issue(request, issue_id):
    message = "True"
    try:
        field = request.POST.get('field')
        value = request.POST.get('value')
        new_text = request.POST.get('new_text')
        IssueService.update_issue(issue_id, field, value, new_text,
                                  request.user.id)
    except Exception as ex:
        SimpleLogger.exception(ex)
        message = str(ex)
    return HttpResponse(message)
def cache_issue_search_word(request, project_id):
    message = True
    try:
        word_key = str(request.user.id) + "_issue_searchkeyword"
        filter_key = str(request.user.id) + "_issue_filter"
        value = request.POST.get("search_word")
        IssueService.cache_issue_search_word(word_key, value)
        IssueService.cache_issue_filter(filter_key,
                                        "Project:" + str(project_id))
    except Exception as ex:
        SimpleLogger.exception(ex)
        message = str(ex)
    return HttpResponse(message)
def update_issue_operation_result(request, issue_id, operation_type):
    ''' index page'''
    message = "True"
    try:
        solution = request.POST.get("solution")
        comments = request.POST.get("comments")
        IssueService.update_issue_operation_result(issue_id, operation_type,
                                                   solution, comments,
                                                   request.user.id)
    except Exception as ex:
        SimpleLogger.exception(ex)
        message = str(ex)
    return HttpResponse(message)
def filter_ui_config(request, filter_id):
    result = ""
    try:
        result = IssueService.filter_ui_config(filter_id)
    except Exception as ex:
        SimpleLogger.exception(ex)
    return HttpResponse(result)
Beispiel #8
0
 def get_issue_sub_navbar(self, request, sub_nav_action):
     issues = IssueService.my_issue(request.user.id, sub_nav_action)
     return self.get_sub_nav_bar(request,
                                 self.subpage_model,
                                 HomeIssuePath.sub_nav_template_path,
                                 sub_nav_action=sub_nav_action,
                                 issues=issues)
 def get_my_issue_item(self,user_id,user_role):
     issue_list_controll=self.get_my_issue_more(user_id,0,user_role)
     issue_count=len(IssueService.my_issue(user_id,user_role))
     key=str(user_id)+"_issue_searchkeyword"
     search_word=RedisService.get_value(key)
     pagefileds={"issue_list_controll":issue_list_controll,"issue_count":issue_count,"search_word":search_word}
     return self.get_webpart(pagefileds,ProjectIssuePath.issue_item_list)
 def get_filter_field(self, key):
     issue_filter_cache = IssueService.filter_value_dict(
         str(self.request.user.id) + "_issue_filter")
     result = 0
     if issue_filter_cache.get(key):
         result = issue_filter_cache[key]
     return result
Beispiel #11
0
 def issue_count_bystatus(project_id, version_id, status, daterange):
     result = IssueService.project_all_issues(project_id)
     if daterange is not None:
         create_daterange = daterange.split(',')
         result = result.filter(CreationTime__range=create_daterange)
     if str(version_id) != "0":
         result = result.filter(Version=int(version_id))
     return result.filter(Status=int(status)).count()
 def patch(self, request, *args, **kwargs):
     issue_id = kwargs.get('issue_id')
     attachment_key = request.data.get('uploadList', [])
     file_ids = IssueService.store_cached_file(attachment_key)
     issue = models.ProjectIssue.objects.get(int(issue_id))
     if issue:
         issue.Attachments = issue.Attachments + file_ids
         issue.save()
     return response.Response(status=status.HTTP_202_ACCEPTED)
 def create(self, request, *args, **kwargs):
     issue = IssueService.create_issue(request.data, request.user)
     serializer = project_serializer.ProjectIssueSerializer(
         instance=issue, data=request.data)
     serializer.is_valid(raise_exception=False)
     headers = self.get_success_headers(serializer.data)
     return response.Response(serializer.data,
                              status=status.HTTP_201_CREATED,
                              headers=headers)
 def get_my_issue_more(self,user_id,page_index,user_role):
     start_issue_index=int(page_index*10)
     end_issue_index=int((page_index+1)*10)
     dm_issues=IssueService.my_issue(user_id,user_role)[start_issue_index:end_issue_index]
     issue_items=list()
     for dm_issue in dm_issues:
         temp_vm_issue=VM_ProjectIssue(self.request.user.id,dm_issue)
         issue_items.append(temp_vm_issue)
     pagefileds={"issue_items":issue_items}
     return self.get_webpart(pagefileds,ProjectIssuePath.issue_item_controll)
def export_issue_result(request, project_id):
    response = HttpResponse(content_type='application/vnd.ms-excel')
    response['Content-Disposition'] = 'attachment;filename=' + str(
        project_id) + '.xls'
    output = BytesIO()
    wb = IssueService.issue_excel_file(project_id, request.user.id)
    wb.save(output)
    output.seek(0)
    response.write(output.getvalue())
    return response
def create_issue_filter(request, project_id, filter_id):
    message = "0"
    try:
        filter_name = request.POST.get('filter_name')
        message = IssueService.create_issue_filter(project_id, filter_id,
                                                   filter_name,
                                                   request.user.id)
    except Exception as ex:
        SimpleLogger.exception(ex)
    return HttpResponse(message)
 def get(self, request, *args, **kwargs):
     project_id = self.kwargs.get('project_id', 0)
     issue_list = self.get_queryset()
     return_result = HttpResponse(content_type='application/vnd.ms-excel')
     return_result['Content-Disposition'] = 'attachment;filename=' + str(
         project_id) + '.xls'
     output = BytesIO()
     wb = IssueService.issue_excel_file(issue_list, self.request.user.id)
     wb.save(output)
     output.seek(0)
     return_result.write(output.getvalue())
     return return_result
def save_cache(request, issue_id):
    message = "True"
    try:
        cache_key = request.POST.get("cache_key")
        tmp_issue = ProjectIssue.objects.get(int(issue_id))
        tmp_issue.Attachments = tmp_issue.Attachments + IssueService.store_cached_file(
            cache_key)
        tmp_issue.save()
    except Exception as ex:
        SimpleLogger.exception(ex)
        message = str(ex)
    return HttpResponse(message)
    def post(self, request, *args, **kwargs):
        '''

        :param request: /api/project/issue/attachments
        :param args:
        :param kwargs:
        :return:
        '''
        file = request.FILES['file']
        message = IssueService.cache_issue_attachments(file, request.user)
        if message['cache_key'] != "":
            return response.Response({
                'file_id':
                message["cache_key"],
                'url':
                WEB_HOST + '/api/project/issue/download_file/' +
                str(message['cache_key'])
            })
        else:
            return response.Response(status=status.HTTP_417_EXPECTATION_FAILED)
def cache_issue_filter(request, project_id, filter_id):
    message = True
    try:
        key = str(request.user.id) + "_issue_filter"
        print(request.POST)
        if str(filter_id) == "0":
            values = request.POST.get("values")
            IssueService.cache_issue_filter(key, "Project:" + str(project_id))
            IssueService.cache_issue_filter(key, values)
        else:
            IssueService.update_issue_filter_cache(key, filter_id)
    except Exception as ex:
        SimpleLogger.exception(ex)
        message = str(ex)
    return HttpResponse(message)
 def issue_count_bystatus(project_id, version_id, status):
     result = IssueService.project_all_issues(project_id)
     if str(version_id) != "0":
         result = result.filter(Version=int(version_id))
     return result.filter(Status=int(status)).count()
 def delete(self, request, *args, **kwargs):
     file_id = kwargs.get('file_id')
     issue_id = kwargs.get('issue_id')
     IssueService.delete_attachment(file_id, issue_id)
     return response.Response(status=status.HTTP_204_NO_CONTENT)