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

akvo / akvo-mis / #669
88%
main: 88%

Build:
Build:
LAST BUILD BRANCH: feature/236-fb-007-implement-form-importexport
DEFAULT BRANCH: main
Ran 11 Jun 2026 07:03AM UTC
Jobs 1
Files 110
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

11 Jun 2026 06:53AM UTC coverage: 88.691% (+0.08%) from 88.607%
#669

push

coveralls-python

web-flow
[#234] Add FB-004 form list management UI design doc (#235)

* [#234] Add FB-004 form list management UI design doc

- Define form listing interface: server-side search + status/type filters,
  expandable registration->monitoring hierarchy, per-action permission gating
- Model Archive as a reversible soft-delete (SoftDeletes mixin on Forms),
  auto-excluding archived forms from data collection via the default manager
- Restore returns a form to draft; document the destroy() -> hard_delete()
  change the mixin forces (D-9) to preserve permanent DELETE semantics
- Capture decisions D-1..D-9, resolved questions, testing and migration strategy

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

Co-Authored-By: Claude <noreply@anthropic.com>

* [#234] Add form list management backend (soft-delete archive + filtering)

- Make Forms soft-deletable (SoftDeletes mixin) to power a reversible Archive;
  default manager auto-excludes archived forms from data collection
- Add /archive (soft_delete) and /restore (-> draft) endpoints; restore is
  forced to draft so a re-publish is required
- destroy() now calls hard_delete() and resolves via objects_with_deleted, so
  DELETE stays a true permanent delete (and can remove archived forms)
- Wire destroy permission to FeatureAccessTypes.form_delete (was superuser-only)
- Fix reset_forms to use hard_delete() (manager-swap ripple)
- list(): server-side search/status/type/archived filters, nested monitoring
  children for the Active tab, flattened rows for type filters, and search that
  matches children (parent returned as container)
- ListFormSerializer: submission_count, parent_name, published_at, deleted_at,
  and "archived" status derived from deleted_at
- Add 22 tests (archive/restore/delete/permissions + list filtering)

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

Co-Authored-By: Claude <noreply@anthropic.com>

* [#234] Add form list management UI (tabs, filters, search, row actions... (continued)

5392 of 6243 branches covered (86.37%)

Branch coverage included in aggregate %.

10309 of 11460 relevant lines covered (89.96%)

0.9 hits per line

Coverage Regressions

Lines Coverage ∆ File
12
90.68
2.03% api/v1/v1_forms/views.py
7
71.05
0.0% api/v1/v1_forms/management/commands/reset_forms.py
1
98.54
0.03% api/v1/v1_forms/serializers.py
1
98.97
0.53% api/v1/v1_profile/models.py
1
95.45
-2.27% api/v1/v1_users/management/commands/fake_user_seeder.py
1
85.12
0.0% api/v1/v1_users/serializers.py
Jobs
ID Job ID Ran Files Coverage
1 #669.1 11 Jun 2026 07:03AM UTC 110
88.69
Source Files on build #669
  • Tree
  • List 110
  • Changed 8
  • Source Changed 0
  • Coverage Changed 8
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 4672c375 on github
  • Prev Build on main
  • Next Build on feature/236-fb-007-implement-form-importexport
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc