Skip to content

Commit bce3ab6

Browse files
fix(lint): resolve remaining pre-commit errors across all PR modules
- Fix development_status "Stable" to "Production/Stable" in 9 more manifests - Remove redundant string= parameters in 10 more model files (W8113) - Wrap message_post body strings in _() for translation (C8107) - Convert absolute imports to relative in spp_grm_demo tests (W8150) - Add nosemgrep annotations for legitimate sudo() in demo data (semgrep) - Regenerate README.rst and index.html after status changes
1 parent fb02ccd commit bce3ab6

File tree

49 files changed

+140
-115
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+140
-115
lines changed

spp_case_base/README.rst

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,17 @@ OpenSPP Case Management Base
1010
!! source digest: sha256:e58edc2517398a8339ded8ff8bf1eb6b07df10f996637a160c55d36dbf41b8a6
1111
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1212
13-
.. |badge1| image:: https://img.shields.io/badge/license-LGPL--3-blue.png
13+
.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png
14+
:target: https://odoo-community.org/page/development-status
15+
:alt: Production/Stable
16+
.. |badge2| image:: https://img.shields.io/badge/license-LGPL--3-blue.png
1417
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
1518
:alt: License: LGPL-3
16-
.. |badge2| image:: https://img.shields.io/badge/github-OpenSPP%2FOpenSPP2-lightgray.png?logo=github
19+
.. |badge3| image:: https://img.shields.io/badge/github-OpenSPP%2FOpenSPP2-lightgray.png?logo=github
1720
:target: https://github.com/OpenSPP/OpenSPP2/tree/19.0/spp_case_base
1821
:alt: OpenSPP/OpenSPP2
1922

20-
|badge1| |badge2|
23+
|badge1| |badge2| |badge3|
2124

2225
Case management system for social protection programs. Tracks cases from
2326
intake through assessment, intervention planning, and closure with

spp_case_base/static/description/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -369,7 +369,7 @@ <h1 class="title">OpenSPP Case Management Base</h1>
369369
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
370370
!! source digest: sha256:e58edc2517398a8339ded8ff8bf1eb6b07df10f996637a160c55d36dbf41b8a6
371371
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
372-
<p><a class="reference external image-reference" href="http://www.gnu.org/licenses/lgpl-3.0-standalone.html"><img alt="License: LGPL-3" src="https://img.shields.io/badge/license-LGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OpenSPP/OpenSPP2/tree/19.0/spp_case_base"><img alt="OpenSPP/OpenSPP2" src="https://img.shields.io/badge/github-OpenSPP%2FOpenSPP2-lightgray.png?logo=github" /></a></p>
372+
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Production/Stable" src="https://img.shields.io/badge/maturity-Production%2FStable-green.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/lgpl-3.0-standalone.html"><img alt="License: LGPL-3" src="https://img.shields.io/badge/license-LGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OpenSPP/OpenSPP2/tree/19.0/spp_case_base"><img alt="OpenSPP/OpenSPP2" src="https://img.shields.io/badge/github-OpenSPP%2FOpenSPP2-lightgray.png?logo=github" /></a></p>
373373
<p>Case management system for social protection programs. Tracks cases from
374374
intake through assessment, intervention planning, and closure with
375375
workflow stages, risk assessments, and team assignment. Automated review

spp_case_cel/README.rst

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,17 @@ OpenSPP Case Management: CEL Rules
1010
!! source digest: sha256:a9eb2d8a9545fdebfd17ee3a617c7659c414427cac2cc7a8e1d5c330373ebc38
1111
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1212
13-
.. |badge1| image:: https://img.shields.io/badge/license-LGPL--3-blue.png
13+
.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png
14+
:target: https://odoo-community.org/page/development-status
15+
:alt: Production/Stable
16+
.. |badge2| image:: https://img.shields.io/badge/license-LGPL--3-blue.png
1417
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
1518
:alt: License: LGPL-3
16-
.. |badge2| image:: https://img.shields.io/badge/github-OpenSPP%2FOpenSPP2-lightgray.png?logo=github
19+
.. |badge3| image:: https://img.shields.io/badge/github-OpenSPP%2FOpenSPP2-lightgray.png?logo=github
1720
:target: https://github.com/OpenSPP/OpenSPP2/tree/19.0/spp_case_cel
1821
:alt: OpenSPP/OpenSPP2
1922

20-
|badge1| |badge2|
23+
|badge1| |badge2| |badge3|
2124

2225
Automated case triage and assignment using CEL (Common Expression
2326
Language) rules. Evaluates conditions on case creation to automatically

spp_case_cel/static/description/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -369,7 +369,7 @@ <h1 class="title">OpenSPP Case Management: CEL Rules</h1>
369369
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
370370
!! source digest: sha256:a9eb2d8a9545fdebfd17ee3a617c7659c414427cac2cc7a8e1d5c330373ebc38
371371
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
372-
<p><a class="reference external image-reference" href="http://www.gnu.org/licenses/lgpl-3.0-standalone.html"><img alt="License: LGPL-3" src="https://img.shields.io/badge/license-LGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OpenSPP/OpenSPP2/tree/19.0/spp_case_cel"><img alt="OpenSPP/OpenSPP2" src="https://img.shields.io/badge/github-OpenSPP%2FOpenSPP2-lightgray.png?logo=github" /></a></p>
372+
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Production/Stable" src="https://img.shields.io/badge/maturity-Production%2FStable-green.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/lgpl-3.0-standalone.html"><img alt="License: LGPL-3" src="https://img.shields.io/badge/license-LGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OpenSPP/OpenSPP2/tree/19.0/spp_case_cel"><img alt="OpenSPP/OpenSPP2" src="https://img.shields.io/badge/github-OpenSPP%2FOpenSPP2-lightgray.png?logo=github" /></a></p>
373373
<p>Automated case triage and assignment using CEL (Common Expression
374374
Language) rules. Evaluates conditions on case creation to automatically
375375
set case properties (intensity, priority, type, risk factors) and assign

spp_case_demo/README.rst

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,17 @@ OpenSPP Case Management Demo Data
1010
!! source digest: sha256:83c38ef565ee03dd1e3a2d245f7e6fd1be8908369371180c89a39e3f7948ae36
1111
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1212
13-
.. |badge1| image:: https://img.shields.io/badge/license-LGPL--3-blue.png
13+
.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png
14+
:target: https://odoo-community.org/page/development-status
15+
:alt: Production/Stable
16+
.. |badge2| image:: https://img.shields.io/badge/license-LGPL--3-blue.png
1417
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
1518
:alt: License: LGPL-3
16-
.. |badge2| image:: https://img.shields.io/badge/github-OpenSPP%2FOpenSPP2-lightgray.png?logo=github
19+
.. |badge3| image:: https://img.shields.io/badge/github-OpenSPP%2FOpenSPP2-lightgray.png?logo=github
1720
:target: https://github.com/OpenSPP/OpenSPP2/tree/19.0/spp_case_demo
1821
:alt: OpenSPP/OpenSPP2
1922

20-
|badge1| |badge2|
23+
|badge1| |badge2| |badge3|
2124

2225
Demo data generator for Case Management system. Creates realistic cases
2326
with intervention plans, home visits, progress notes, and service

spp_case_demo/models/generate_cases.py

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ def _create_case_from_story(self, story, fake, beneficiaries):
190190
"case_worker_id": self.env.user.id,
191191
}
192192

193-
case = self.env["spp.case"].sudo().create(vals)
193+
case = self.env["spp.case"].sudo().create(vals) # nosemgrep: semgrep.odoo-sudo-without-context
194194

195195
# Backdate creation
196196
self.env.cr.execute(
@@ -219,7 +219,7 @@ def _process_case_journey(self, case, journey, fake):
219219
action_date = fields.Date.today() - timedelta(days=days_back)
220220

221221
if action == "create_plan":
222-
current_plan = Plan.sudo().create(
222+
current_plan = Plan.sudo().create( # nosemgrep: semgrep.odoo-sudo-without-context
223223
{
224224
"case_id": case.id,
225225
"name": step.get("plan_name", f"Plan for {case.partner_id.name}"),
@@ -231,7 +231,7 @@ def _process_case_journey(self, case, journey, fake):
231231
)
232232

233233
elif action == "add_intervention" and current_plan:
234-
Intervention.sudo().create(
234+
Intervention.sudo().create( # nosemgrep: semgrep.odoo-sudo-without-context
235235
{
236236
"plan_id": current_plan.id,
237237
"name": step.get("intervention", "Intervention"),
@@ -250,11 +250,11 @@ def _process_case_journey(self, case, journey, fake):
250250
limit=1,
251251
)
252252
if intervention:
253-
intervention.sudo().write({"state": "completed"})
253+
intervention.sudo().write({"state": "completed"}) # nosemgrep: semgrep.odoo-sudo-without-context
254254

255255
elif action in ("home_visit", "office_visit", "final_visit"):
256256
visit_type = "home" if action != "office_visit" else "office"
257-
Visit.sudo().create(
257+
Visit.sudo().create( # nosemgrep: semgrep.odoo-sudo-without-context
258258
{
259259
"case_id": case.id,
260260
"visit_type": visit_type,
@@ -265,7 +265,7 @@ def _process_case_journey(self, case, journey, fake):
265265
)
266266

267267
elif action == "progress_note":
268-
Note.sudo().create(
268+
Note.sudo().create( # nosemgrep: semgrep.odoo-sudo-without-context
269269
{
270270
"case_id": case.id,
271271
"note_type": "progress",
@@ -275,7 +275,7 @@ def _process_case_journey(self, case, journey, fake):
275275
)
276276

277277
elif action in ("assessment", "emergency_assessment", "safety_assessment"):
278-
Note.sudo().create(
278+
Note.sudo().create( # nosemgrep: semgrep.odoo-sudo-without-context
279279
{
280280
"case_id": case.id,
281281
"note_type": "assessment",
@@ -289,7 +289,7 @@ def _process_case_journey(self, case, journey, fake):
289289
elif action == "add_referral":
290290
service = self._get_or_create_service(step.get("service", "External Service"))
291291
if service:
292-
Referral.sudo().create(
292+
Referral.sudo().create( # nosemgrep: semgrep.odoo-sudo-without-context
293293
{
294294
"case_id": case.id,
295295
"service_id": service.id,
@@ -307,14 +307,14 @@ def _process_case_journey(self, case, journey, fake):
307307
limit=1,
308308
)
309309
if closure_stage:
310-
case.sudo().write(
310+
case.sudo().write( # nosemgrep: semgrep.odoo-sudo-without-context
311311
{
312312
"stage_id": closure_stage.id,
313313
"actual_closure_date": action_date,
314314
}
315315
)
316316
if current_plan:
317-
current_plan.sudo().write({"state": "completed"})
317+
current_plan.sudo().write({"state": "completed"}) # nosemgrep: semgrep.odoo-sudo-without-context
318318

319319
def _create_random_case(self, fake, beneficiaries):
320320
"""Create a random case with realistic data."""
@@ -352,7 +352,7 @@ def _create_random_case(self, fake, beneficiaries):
352352
"case_worker_id": self.env.user.id,
353353
}
354354

355-
case = self.env["spp.case"].sudo().create(vals)
355+
case = self.env["spp.case"].sudo().create(vals) # nosemgrep: semgrep.odoo-sudo-without-context
356356

357357
# Backdate creation
358358
self.env.cr.execute(
@@ -381,7 +381,7 @@ def _add_random_plan(self, case, fake, intake_date):
381381
Plan = self.env["spp.case.intervention.plan"]
382382
Intervention = self.env["spp.case.intervention"]
383383

384-
plan = Plan.sudo().create(
384+
plan = Plan.sudo().create( # nosemgrep: semgrep.odoo-sudo-without-context
385385
{
386386
"case_id": case.id,
387387
"name": f"Support Plan - {case.partner_id.name or 'Client'}",
@@ -403,7 +403,7 @@ def _add_random_plan(self, case, fake, intake_date):
403403
]
404404

405405
for _i in range(random.randint(2, 4)):
406-
Intervention.sudo().create(
406+
Intervention.sudo().create( # nosemgrep: semgrep.odoo-sudo-without-context
407407
{
408408
"plan_id": plan.id,
409409
"name": random.choice(intervention_names),
@@ -419,7 +419,7 @@ def _add_random_visits(self, case, fake, intake_date):
419419

420420
for _i in range(random.randint(1, 3)):
421421
visit_date = intake_date + timedelta(days=random.randint(5, 60))
422-
Visit.sudo().create(
422+
Visit.sudo().create( # nosemgrep: semgrep.odoo-sudo-without-context
423423
{
424424
"case_id": case.id,
425425
"visit_type": random.choice(["home", "office", "phone", "virtual"]),
@@ -435,7 +435,7 @@ def _add_random_notes(self, case, fake, intake_date):
435435

436436
for _i in range(random.randint(1, 4)):
437437
note_date = intake_date + timedelta(days=random.randint(1, 60))
438-
Note.sudo().create(
438+
Note.sudo().create( # nosemgrep: semgrep.odoo-sudo-without-context
439439
{
440440
"case_id": case.id,
441441
"note_type": random.choice(["progress", "assessment", "general", "supervision"]),
@@ -455,7 +455,7 @@ def _close_random_case(self, case, fake, intake_date):
455455

456456
if closure_stage:
457457
closure_date = intake_date + timedelta(days=random.randint(30, 90))
458-
case.sudo().write(
458+
case.sudo().write( # nosemgrep: semgrep.odoo-sudo-without-context
459459
{
460460
"stage_id": closure_stage.id,
461461
"actual_closure_date": closure_date,
@@ -488,7 +488,7 @@ def _get_or_create_case_type(self, type_name):
488488
CaseType = self.env["spp.case.type"]
489489
case_type = CaseType.search([("name", "=", type_name)], limit=1)
490490
if not case_type:
491-
case_type = CaseType.sudo().create(
491+
case_type = CaseType.sudo().create( # nosemgrep: semgrep.odoo-sudo-without-context
492492
{
493493
"name": type_name,
494494
"code": type_name.upper().replace(" ", "_")[:10],
@@ -545,7 +545,7 @@ def _get_or_create_service(self, service_name):
545545
Service = self.env["spp.service"]
546546
service = Service.search([("name", "=", service_name)], limit=1)
547547
if not service:
548-
service = Service.sudo().create(
548+
service = Service.sudo().create( # nosemgrep: semgrep.odoo-sudo-without-context
549549
{
550550
"name": service_name,
551551
"service_type": "external",

spp_case_demo/static/description/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -369,7 +369,7 @@ <h1 class="title">OpenSPP Case Management Demo Data</h1>
369369
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
370370
!! source digest: sha256:83c38ef565ee03dd1e3a2d245f7e6fd1be8908369371180c89a39e3f7948ae36
371371
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
372-
<p><a class="reference external image-reference" href="http://www.gnu.org/licenses/lgpl-3.0-standalone.html"><img alt="License: LGPL-3" src="https://img.shields.io/badge/license-LGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OpenSPP/OpenSPP2/tree/19.0/spp_case_demo"><img alt="OpenSPP/OpenSPP2" src="https://img.shields.io/badge/github-OpenSPP%2FOpenSPP2-lightgray.png?logo=github" /></a></p>
372+
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Production/Stable" src="https://img.shields.io/badge/maturity-Production%2FStable-green.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/lgpl-3.0-standalone.html"><img alt="License: LGPL-3" src="https://img.shields.io/badge/license-LGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OpenSPP/OpenSPP2/tree/19.0/spp_case_demo"><img alt="OpenSPP/OpenSPP2" src="https://img.shields.io/badge/github-OpenSPP%2FOpenSPP2-lightgray.png?logo=github" /></a></p>
373373
<p>Demo data generator for Case Management system. Creates realistic cases
374374
with intervention plans, home visits, progress notes, and service
375375
referrals. Includes 9 fixed demo stories for training and sales demos,

spp_case_entitlements/README.rst

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,17 @@ OpenSPP Case Entitlements Integration
1010
!! source digest: sha256:85702293688d71633ac6f04626949305c9336d75e471d47cd5b798013bea3af7
1111
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1212
13-
.. |badge1| image:: https://img.shields.io/badge/license-LGPL--3-blue.png
13+
.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png
14+
:target: https://odoo-community.org/page/development-status
15+
:alt: Production/Stable
16+
.. |badge2| image:: https://img.shields.io/badge/license-LGPL--3-blue.png
1417
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
1518
:alt: License: LGPL-3
16-
.. |badge2| image:: https://img.shields.io/badge/github-OpenSPP%2FOpenSPP2-lightgray.png?logo=github
19+
.. |badge3| image:: https://img.shields.io/badge/github-OpenSPP%2FOpenSPP2-lightgray.png?logo=github
1720
:target: https://github.com/OpenSPP/OpenSPP2/tree/19.0/spp_case_entitlements
1821
:alt: OpenSPP/OpenSPP2
1922

20-
|badge1| |badge2|
23+
|badge1| |badge2| |badge3|
2124

2225
Extends case management with program entitlement tracking. Links cases
2326
to entitlements via many2many relationship, computes statistics (total,

spp_case_entitlements/__manifest__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"author": "OpenSPP.org",
88
"website": "https://github.com/OpenSPP/OpenSPP2",
99
"license": "LGPL-3",
10-
"development_status": "Stable",
10+
"development_status": "Production/Stable",
1111
"maintainers": ["jeremi", "gonzalesedwin1123", "emjay0921"],
1212
"depends": [
1313
"spp_security",

spp_case_entitlements/models/case.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,12 @@ class CaseEntitlements(models.Model):
2020

2121
# Computed Entitlement Info
2222
entitlement_count = fields.Integer(
23-
string="Entitlement Count",
2423
compute="_compute_entitlement_info",
2524
store=True,
2625
help="Number of entitlements related to this case",
2726
)
2827

2928
has_entitlements = fields.Boolean(
30-
string="Has Entitlements",
3129
compute="_compute_entitlement_info",
3230
store=True,
3331
help="Whether this case has any related entitlements",

0 commit comments

Comments
 (0)