Skip to content

Tasks, Reports and Housekeeping

These jobs remind staff about their tasks, tell head tradespersons when a PM has met their team on site, and keep the file storage tidy. All times are Brisbane time. For the full timetable see the Scheduled Tasks Overview.

Tasks are the internal to-do items described on the Tasks page. Their statuses are Open, Pending and Closed.

  • Runs: daily at 08:00.
  • Selects: every user who has at least one task in Open or Pending status with a due date of today.
  • Sends: one email per user (subject “Tasks Due”) listing each task’s title, type and status. This is also how lead owners hear about the follow-up tasks created overnight by the lead follow-up job.
  • Changes: nothing.
  • Background: ROCH-1857 confirmed the intended flow: an email when a task is assigned, then this reminder on the due date.
  • Runs: daily at 09:00.
  • Selects: tasks that are not Closed, whose due date is yesterday or earlier, and that have not already had an overdue reminder.
  • Sends: one email per assignee, “Your overdue tasks”, listing the tasks with links to the customer, quote, job or lead each one belongs to. The person who created the tasks is copied.
  • Changes: marks each task as having had its overdue reminder, with the date. Each task is chased once only (ROCH-834 changed this from a daily nag).
  • Gotcha: because the reminder is sent once, a task that stays open for weeks will not generate further emails. The task still shows as overdue on the Tasks list. ROCH-1979 removed an automatically created “Quote over $50k” task that was cluttering these emails.

PM on-site report notice (send:report:reminder)

Section titled “PM on-site report notice (send:report:reminder)”
  • Runs: hourly.
  • Selects: PM reports marked on site that were created between one and two hours ago, on jobs where at least one tradesperson clocked in today.
  • Sends: for each head tradesperson whose team clocked in on that job today, an email “PM met the following team members for Job #REF” listing the team members, copied to the contractor’s team administrator if one is set.
  • Changes: nothing.
  • Why: it gives the head tradesperson a record of which of their people the PM saw on site, which supports the clock-in history (ROCH-774) and the three-month inactivity rule described on Jobs and Site Visits.

Clean up generated PDFs (clean:public:folder)

Section titled “Clean up generated PDFs (clean:public:folder)”
  • Runs: daily at 23:00.
  • Selects: files in the public storage folder whose names start with proposal-, variant-, safety-hazard- or service-agreement- and end in .pdf. These are the temporary PDFs generated when someone downloads a proposal, variation, safety plan or service agreement.
  • Changes: deletes them. They are regenerated on demand the next time someone downloads, so nothing is lost.

Legacy photo migrations (refactor:quote:photos, refactor:report:photos, refactor:items:photos)

Section titled “Legacy photo migrations (refactor:quote:photos, refactor:report:photos, refactor:items:photos)”
  • Runs: quote photos Fridays at 21:00, report photos Fridays at 22:00, line item photos Saturdays at 21:00.
  • Selects: photos stored the old way (quote photos, PM report photos and line item photos respectively) that have not yet been copied into the media library.
  • Changes: queues each photo to be moved into the media library. Once all old photos have been moved these jobs find nothing and do nothing.
  • Note: these live in the one-off migration folder of the code base but remain on the weekly schedule. They have no visible effect for staff and are listed here only so the timetable is complete.
  • Both task emails go to the Assigned To person. If someone is not receiving them, check the task is assigned to them (not just created by them) and that their user email is correct under Settings > Users.
  • Task emails are sent even for tasks against records the person cannot normally see; the links in the email will show a permission error in that case.
  • A PM report saved as “not on site” (a desk update) never triggers the head tradesperson notice.