Skip to content

Instantly share code, notes, and snippets.

@taleeb35
Created September 7, 2014 04:28
Show Gist options
  • Save taleeb35/9c8c48201f7a71ea70d8 to your computer and use it in GitHub Desktop.
Save taleeb35/9c8c48201f7a71ea70d8 to your computer and use it in GitHub Desktop.
public function copy_daily() {
$users = $this->User->find('all');
$current_date = Date("Y-m-d H:i:s");
$email_date = Date("Y-m-d", strtotime($current_date));
foreach ($users as $user):
$user_email = $user['User']['email'];
$user_id = $user['User']['id'];
$tasks = $this->Control->find('all', array('conditions' => array(
'owner_id' => $user_id,
'Control.control_frequency_id' => CONTROL_FREQUENCY_DAILY
)));
if($tasks) {
$email_body = "<table style='width:800px;border: 1px solid black;border-collapse: collapse;'>"
. "<tr ><th style='border: 1px solid black;border-collapse: collapse;'>ID</th>"
. "<th style=color:#000000;border: 1px solid black;border-collapse: collapse;'>Task Name</th>"
. "<th style='border: 1px solid black;border-collapse: collapse;'>Assigned Date</th>"
. "<th style ='color:#000000;border: 1px solid black;border-collapse: collapse;'>Target Date</th>"
. "<th style ='color:#000000;border: 1px solid black;border-collapse: collapse;'>Action</th></tr>";
foreach ($tasks as $task):
$task_name = $task['Control']['name'];
$owner_id = $task['Control']['owner_id'];
$description = $task['Control']['description'];
$testing_method = $task['Control']['testing_procedure'];
$customer_id = $task['Control']['customer_id'];
$frequency = $task['Control']['control_frequency_id'];
$target_date = Date("Y-m-d 23:59:59");
$target_email_date = Date("Y-m-d",strtotime($target_date));
$issue_close_string = String::uuid();
//$data = array(
$data['Issue']['name'] = $task_name;
$data['Issue']['owner_id'] = $owner_id;
$data['Issue']['date_target'] = $target_date;
$data['Issue']['issue_stage_id'] = ISSUE_STAGE_OPEN;
$data['Issue']['description'] = $description;
$data['Issue']['date_created'] = $current_date;
$data['Issue']['date_updated'] = $current_date;
$data['Issue']['testing_procedure'] = $testing_method;
$data['Issue']['customer_id'] = $customer_id;
$data['Issue']['control_frequency_id'] = $frequency;
$data['Issue']['issue_close_string'] = $issue_close_string;
// )
// );
$this->Issue->create();
$this->Issue->save($data);
$issue_id = $this->Issue->id; // Get ID from issue just created.
$close_issue = "<a href=" . APP_URL . "/issues/email_close_issue/" . $issue_id . "/" . $issue_close_string . ">Close Task</a>";
$email_body .= "<tr><td style='padding-left:5px;border: 1px solid black;border-collapse: collapse;'>$issue_id</td>"
. "<td style='padding-left:20px;border: 1px solid black;border-collapse: collapse;'><a href=" . APP_URL
. "/issues/view/" . $issue_id . ">" . $task_name . "</a></td>"
. "<td style='padding-left:30px;border: 1px solid black;border-collapse: collapse;'> $email_date". "</td>"
. "<td style='padding-left:30px;border: 1px solid black;border-collapse: collapse;'> $target_email_date" . "</td>"
. "<td style='padding-left:20px;border: 1px solid black;border-collapse: collapse;'> $close_issue " . "</td></tr>";
endforeach;
$email_body .="</table>";
$Email = new CakeEmail('default');
$Email->template('default', 'default')
->to($user_email)
->subject('Your Daily Tasks')
->send($email_body);
}
endforeach;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment