public static function getTaskDetail($id) { $task = new Reminder(array('id' => $id)); $details = $task->getDetails(); return $details; }
/** * Method used to generate an SQL query to be used in debugging the reminder * conditions. * * @access public * @param integer $rem_id The reminder ID * @param integer $rma_id The reminder action ID * @return string The SQL query */ function getSQLQuery($rem_id, $rma_id) { $reminder = Reminder::getDetails($rem_id); $conditions = Reminder_Condition::getList($rma_id); $stmt = "SELECT\n iss_id\n FROM\n " . APP_TABLE_PREFIX . "issue"; $stmt .= Reminder::getWhereClause($reminder, $conditions); // can't rely on the mysql server's timezone setting, so let's use gmt dates throughout $stmt = str_replace('UNIX_TIMESTAMP()', "UNIX_TIMESTAMP('" . Date_API::getCurrentDateGMT() . "')", $stmt); return $stmt; }
Auth::checkAuthentication(APP_COOKIE); $tpl->assign("type", "reminders"); $role_id = Auth::getCurrentRole(); if ($role_id == User::getRoleID('administrator') || $role_id == User::getRoleID('manager')) { if ($role_id == User::getRoleID('administrator')) { $tpl->assign("show_setup_links", true); } if (@$HTTP_POST_VARS["cat"] == "new") { $tpl->assign("result", Reminder::insert()); } elseif (@$HTTP_POST_VARS["cat"] == "update") { $tpl->assign("result", Reminder::update()); } elseif (@$HTTP_POST_VARS["cat"] == "delete") { Reminder::remove(); } if (@$HTTP_GET_VARS["cat"] == "edit") { $info = Reminder::getDetails($HTTP_GET_VARS["id"]); if (!empty($HTTP_GET_VARS['prj_id'])) { $info['rem_prj_id'] = $HTTP_GET_VARS['prj_id']; } // only show customers and support levels if the selected project really needs it $project_has_customer_integration = Customer::hasCustomerIntegration($info['rem_prj_id']); $tpl->assign("project_has_customer_integration", $project_has_customer_integration); if ($project_has_customer_integration) { $tpl->assign("customers", Customer::getAssocList($info['rem_prj_id'])); $backend_uses_support_levels = Customer::doesBackendUseSupportLevels($info['rem_prj_id']); if ($backend_uses_support_levels) { $tpl->assign("support_levels", Customer::getSupportLevelAssocList($info['rem_prj_id'])); } $tpl->assign("backend_uses_support_levels", $backend_uses_support_levels); } $tpl->assign('issues', Reminder::getIssueAssocListByProject($info['rem_prj_id']));
$tpl->displayTemplate(); exit; } $tpl->assign('backend_uses_support_levels', false); $tpl->assign('project_has_customer_integration', false); if (@$_POST['cat'] == 'new') { $res = Reminder::insert(); Misc::mapMessages($res, array(1 => array(ev_gettext('Thank you, the reminder was added successfully.'), Misc::MSG_INFO), -1 => array(ev_gettext('An error occurred while trying to add the new reminder.'), Misc::MSG_ERROR), -2 => array(ev_gettext('Please enter the title for this new reminder.'), Misc::MSG_ERROR))); } elseif (@$_POST['cat'] == 'update') { $res = Reminder::update(); Misc::mapMessages($res, array(1 => array(ev_gettext('Thank you, the reminder was updated successfully.'), Misc::MSG_INFO), -1 => array(ev_gettext('An error occurred while trying to update the reminder.'), Misc::MSG_ERROR), -2 => array(ev_gettext('Please enter the title for this reminder.'), Misc::MSG_ERROR))); } elseif (@$_POST['cat'] == 'delete') { Reminder::remove(); } if (@$_GET['cat'] == 'edit') { $info = Reminder::getDetails($_GET['id']); if (!empty($_GET['prj_id'])) { $info['rem_prj_id'] = $_GET['prj_id']; } // only show customers and support levels if the selected project really needs it $project_has_customer_integration = CRM::hasCustomerIntegration($info['rem_prj_id']); $tpl->assign('project_has_customer_integration', $project_has_customer_integration); if ($project_has_customer_integration) { $crm = CRM::getInstance($info['rem_prj_id']); $tpl->assign('customers', $crm->getCustomerAssocList()); $tpl->assign('support_levels', $crm->getSupportLevelAssocList()); } $tpl->assign('issues', Reminder::getIssueAssocListByProject($info['rem_prj_id'])); $tpl->assign('info', $info); // wouldn't make much sense to create a reminder for a 'Not Prioritized' // issue, so let's remove that as an option