Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Register
  • Sign in
  • N noc
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
    • Locked files
  • Issues 441
    • Issues 441
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 16
    • Merge requests 16
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • External wiki
    • External wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • noc
  • noc
  • Merge requests
  • !3267

Fix Alarms class filter

  • Review changes

  • Download
  • Patches
  • Plain diff
Merged MaksimSmile13 requested to merge fix/alarms_alarms_class_filter into master Mar 10, 2020
  • Overview 1
  • Commits 2
  • Pipelines 2
  • Changes 1

Не работал фильтр на несколько классов аварий. При попытке выбрать несколько классов, получали трейс

EXCEPTION: <class 'RuntimeError'> dictionary changed size during iteration
START OF TRACEBACK
------------------------------------------------------------------------
File: services/web/apps/fm/alarm/views.py (Line: 142)
Function: cleaned_query
  135                 self.query_param,
  136                 self.only_param,
  137             ):
  138                 if p in q:
  139                     del q[p]
  140             # Extract IN
  141             # extjs not working with same parameter name in query
  142 ==>         for p in q:
  143                 if p.endswith("__in") and self.rx_oper_splitter.match(p):
  144                     field = self.rx_oper_splitter.match(p).group("field") + "__in"
  145                     if field not in q:
  146                         q[field] = [q[p]]
  147                     else:
  148                         q[field] += [q[p]]
Variables:
               field = 'alarm_class__in'
                   p = 'alarm_class1__in'
              status = 'A'
                   q = 
{'alarm_class__in': ['594e712725aecf6d5e72233c', '58d281ed25aecf1d5c8b8cfc'],
 'collapse': '1',
 'maintenance': 'hide'}
                self = 
<noc.services.web.apps.fm.alarm.views.AlarmApplication object at 0x7f8c56e407f0>
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: fix/alarms_alarms_class_filter