06/18 Fix notification issues
This commit is contained in:
+8
-10
@@ -1,4 +1,4 @@
|
||||
"""
|
||||
"""
|
||||
app/api/issues.py
|
||||
-----------------
|
||||
Mobile API endpoint for submitting issues from the iPad app.
|
||||
@@ -249,7 +249,7 @@ def create_issue():
|
||||
mobile_local_id = mobile_local_id,
|
||||
)
|
||||
db.session.add(issue)
|
||||
db.session.flush() # get issue.id
|
||||
db.session.commit() # commit issue first so FK references in notifications are valid
|
||||
|
||||
# ── Notifications ─────────────────────────────────────────────────────
|
||||
try:
|
||||
@@ -260,20 +260,18 @@ def create_issue():
|
||||
|
||||
inspection_ref = f'inspection #{inspection_id}' if inspection_id else 'a standalone report'
|
||||
notify_by_matrix(
|
||||
event_type = 'issue_flagged',
|
||||
title = f'New Issue #{issue.id} (Mobile)',
|
||||
body = (
|
||||
event_type = 'issue_created',
|
||||
title = f'New Issue #{issue.id} at {facility.name} (Mobile)',
|
||||
body = (
|
||||
f'A new {severity.title()}-severity issue was logged at '
|
||||
f'{facility.name} during {inspection_ref}. '
|
||||
f'Description: {description[:120]}'
|
||||
f'{"…" if len(description) > 120 else ""}'
|
||||
),
|
||||
link = issue_link,
|
||||
issue_id = issue.id,
|
||||
facility_id = facility_id,
|
||||
exclude_user_ids = {user.id},
|
||||
link = issue_link,
|
||||
issue_id = issue.id,
|
||||
facility_id = facility_id,
|
||||
)
|
||||
|
||||
db.session.commit()
|
||||
|
||||
log_action(ACTION_CREATE, 'Issue', issue.id,
|
||||
|
||||
@@ -727,21 +727,22 @@ def create():
|
||||
db.session.commit()
|
||||
|
||||
# ── Notify via matrix (issue_created) ────────────────────────
|
||||
# No exclude_user_ids: the creator should also receive the in-app
|
||||
# confirmation so they see it in their notification feed.
|
||||
facility = issue.resolved_facility
|
||||
if facility:
|
||||
notify_by_matrix(
|
||||
event_type = 'issue_created',
|
||||
title = f'New Issue #{issue.id} at {facility.name}',
|
||||
body = (
|
||||
event_type = 'issue_created',
|
||||
title = f'New Issue #{issue.id} at {facility.name}',
|
||||
body = (
|
||||
f'A new {issue.severity.title()}-severity issue has been logged '
|
||||
f'at {facility.name}. '
|
||||
f'Description: {issue.description[:120]}'
|
||||
f'{"…" if len(issue.description) > 120 else ""}'
|
||||
),
|
||||
link = url_for('issues.view', issue_id=issue.id),
|
||||
issue_id = issue.id,
|
||||
facility_id = facility.id,
|
||||
exclude_user_ids = {current_user.id},
|
||||
link = url_for('issues.view', issue_id=issue.id),
|
||||
issue_id = issue.id,
|
||||
facility_id = facility.id,
|
||||
)
|
||||
db.session.commit()
|
||||
flash('Issue created.', 'success')
|
||||
|
||||
Reference in New Issue
Block a user