05/06 Modify Director menu
This commit is contained in:
@@ -38,7 +38,7 @@ from app.models.inspection import Inspection, InspectionTemplate
|
||||
from app.models.facility import Facility, Area
|
||||
from app.models.issue import Issue
|
||||
from app.models.user import User
|
||||
from app.utils.decorators import supervisor_required
|
||||
from app.utils.decorators import supervisor_required, admin_required
|
||||
from app.utils.audit import log_action, ACTION_CREATE, ACTION_UPDATE, ACTION_DELETE
|
||||
from app.utils.time_utils import now_eastern
|
||||
|
||||
@@ -276,7 +276,7 @@ def _send_report(report: ScheduledReport):
|
||||
|
||||
@bp.route('/')
|
||||
@login_required
|
||||
@supervisor_required
|
||||
@admin_required
|
||||
def index():
|
||||
reports = ScheduledReport.query.order_by(ScheduledReport.name).all()
|
||||
return render_template('scheduled_reports/index.html', reports=reports)
|
||||
@@ -284,7 +284,7 @@ def index():
|
||||
|
||||
@bp.route('/new', methods=['GET', 'POST'])
|
||||
@login_required
|
||||
@supervisor_required
|
||||
@admin_required
|
||||
def create():
|
||||
facilities = Facility.query.filter_by(active=True).order_by(Facility.name).all()
|
||||
|
||||
@@ -332,7 +332,7 @@ def create():
|
||||
|
||||
@bp.route('/<int:report_id>/edit', methods=['GET', 'POST'])
|
||||
@login_required
|
||||
@supervisor_required
|
||||
@admin_required
|
||||
def edit(report_id):
|
||||
report = db.session.get(ScheduledReport, report_id)
|
||||
if report is None:
|
||||
@@ -362,7 +362,7 @@ def edit(report_id):
|
||||
|
||||
@bp.route('/<int:report_id>/delete', methods=['POST'])
|
||||
@login_required
|
||||
@supervisor_required
|
||||
@admin_required
|
||||
def delete(report_id):
|
||||
report = db.session.get(ScheduledReport, report_id)
|
||||
if report is None:
|
||||
@@ -378,7 +378,7 @@ def delete(report_id):
|
||||
|
||||
@bp.route('/<int:report_id>/preview')
|
||||
@login_required
|
||||
@supervisor_required
|
||||
@admin_required
|
||||
def preview(report_id):
|
||||
"""Render the scheduled report email in-browser for review."""
|
||||
report = db.session.get(ScheduledReport, report_id)
|
||||
@@ -399,7 +399,7 @@ def preview(report_id):
|
||||
|
||||
@bp.route('/<int:report_id>/preview-pdf')
|
||||
@login_required
|
||||
@supervisor_required
|
||||
@admin_required
|
||||
def preview_pdf(report_id):
|
||||
"""Generate and stream the PDF attachment for in-browser review."""
|
||||
from flask import Response
|
||||
@@ -436,7 +436,7 @@ def preview_pdf(report_id):
|
||||
|
||||
@bp.route('/<int:report_id>/send-now', methods=['POST'])
|
||||
@login_required
|
||||
@supervisor_required
|
||||
@admin_required
|
||||
def send_now(report_id):
|
||||
"""Manually trigger a single report — useful for testing."""
|
||||
report = db.session.get(ScheduledReport, report_id)
|
||||
|
||||
Reference in New Issue
Block a user