• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

akvo / akvo-mis / #1389
91%
main: 91%

Build:
Build:
LAST BUILD BRANCH: HEAD
DEFAULT BRANCH: main
Ran 06 Oct 2026 01:21PM UTC
Jobs 1
Files 147
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

06 Oct 2026 12:31PM UTC coverage: 90.691% (+0.1%) from 90.55%
#1389

Pull #521

coveralls-python

ifirmawan
[#520] Implement the global dashboard question filter backend

- Parse repeated `global_criteria` (option_not_in:<qid>:<value>, split at
  most twice) in the four views after check_ids and the tenant-scoped
  form lookup; never via a serializer, so `global_criteria[0]` cannot
  bypass the public allowlist
- Family check and same-name groups across monitoring forms (D-14);
  400 for malformed entries, more than 50 values, or foreign questions
- Exclude filtered-out registrations with an SQL subquery on id or
  parent_id; "latest answered" is one DISTINCT ON (parent_id) pass,
  dates matched by question name
- Apply the exclusion to values, escalation, map, formula and table
- Validate and snapshot default_filters.questions (merged option labels),
  keep a separate filter_questions allowlist for public dashboards, and
  drop deleted filter questions from the filter bar on read
- Percentage totals respect the administration filter (BE-5)
- New option values may not contain ":", "," or "|" in the builder,
  JSON import and XLSForm import; stored values stay untouched (BE-7)
- Remove the @pending markers: all VIZ-027 tests are green
- Align the VIZ-027 design docs with the implementation, including the
  BE-6 measurements (charts within +16%, map +84% as a follow-up)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Pull Request #521: [#520] Global dashboard question filter: backend (VIZ-027)

8560 of 9673 branches covered (88.49%)

Branch coverage included in aggregate %.

15533 of 16893 relevant lines covered (91.95%)

0.92 hits per line

Coverage Regressions

Lines Coverage ∆ File
49
90.56
0.01% api/v1/v1_visualization/values_functions.py
33
92.55
0.24% api/v1/v1_forms/functions.py
33
87.14
0.09% api/v1/v1_forms/services/xlsform_import.py
19
92.28
2.85% api/v1/v1_visualization/functions.py
15
80.0
0.08% api/v1/v1_visualization/escalation_functions.py
11
95.64
0.33% api/v1/v1_visualization/dashboard_functions.py
7
94.59
0.34% api/v1/v1_visualization/views.py
4
95.07
-0.17% api/v1/v1_visualization/public_scope.py
2
97.1
-2.9% api/v1/v1_visualization/dashboard_snapshot.py
1
98.21
0.19% api/v1/v1_visualization/dashboard_views.py
Jobs
ID Job ID Ran Files Coverage
1 #1389.1 06 Oct 2026 01:21PM UTC 147
90.69
Source Files on build #1389
  • Tree
  • List 147
  • Changed 15
  • Source Changed 0
  • Coverage Changed 15
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Pull Request #521
  • PR Base - epic/478-viz-global-question-filter (#)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc