diff --git a/class/WorkflowState/CancelledState.php b/class/WorkflowState/CancelledState.php index 4877554f..7720ad64 100644 --- a/class/WorkflowState/CancelledState.php +++ b/class/WorkflowState/CancelledState.php @@ -4,5 +4,5 @@ class CancelledState extends WorkflowState { const friendlyName = 'Cancelled'; - const sortIndex = 8; + const sortIndex = 9; } diff --git a/class/WorkflowState/DeanApprovedGradPendingState.php b/class/WorkflowState/DeanApprovedGradPendingState.php new file mode 100644 index 00000000..d4f6a217 --- /dev/null +++ b/class/WorkflowState/DeanApprovedGradPendingState.php @@ -0,0 +1,8 @@ +isUndergraduate()){ + return true; + }else{ + return false; + } + } + public function doNotification(Internship $i, $note = null) { $settings = \Intern\InternSettings::getInstance(); - // If this is an undergrad internship, then send the Registrar an email - // Graduate level internships have another workflow state to go through before we alert the Registrar - if($i->isUndergraduate()){ - $email = new \Intern\Email\ReadyToRegisterEmail($settings, $i); - $email->send(); - } - - // If this is a graduate email, send the notification email to the grad school office - if($i->isGraduate()){ - $email = new \Intern\Email\GradSchoolNotificationEmail($settings, $i); - $email->send(); - } + /** + * Send the Registrar an email. + * Graduate level internships have another workflow state to go through + * before we alert the Registrar. + */ + $email = new \Intern\Email\ReadyToRegisterEmail($settings, $i); + $email->send(); // If the subject and course number are not registered with InternshipInventory, // send an email to the appropriate receiver. diff --git a/class/WorkflowTransition/DeanApproveGradPending.php b/class/WorkflowTransition/DeanApproveGradPending.php new file mode 100644 index 00000000..7c5c11d4 --- /dev/null +++ b/class/WorkflowTransition/DeanApproveGradPending.php @@ -0,0 +1,35 @@ +isGraduate()) { + return true; + } else { + return false; + } + } + + public function doNotification(Internship $i, $note = null) + { + $settings = \Intern\InternSettings::getInstance(); + + //Send the notification email to the grad school office. + $email = new \Intern\Email\GradSchoolNotificationEmail($settings, $i); + $email->send(); + } +} diff --git a/class/WorkflowTransition/GradSchoolApprove.php b/class/WorkflowTransition/GradSchoolApprove.php index 779bd0d4..efd84b3d 100644 --- a/class/WorkflowTransition/GradSchoolApprove.php +++ b/class/WorkflowTransition/GradSchoolApprove.php @@ -6,9 +6,9 @@ class GradSchoolApprove extends WorkflowTransition { - const sourceState = 'DeanApprovedState'; + const sourceState = 'DeanApprovedGradPendingState'; const destState = 'GradSchoolApprovedState'; - const actionName = 'Mark as Grad School Approved'; + const actionName = 'Mark as Graduate School Approved'; public function getAllowedPermissionList(){ return array('grad_school_approve'); @@ -24,6 +24,7 @@ public function isApplicable(Internship $i){ public function doNotification(Internship $i, $note = null) { + //Send notification that it is Dean Approved and Grad School Approved. $email = new \Intern\Email\ReadyToRegisterEmail(\Intern\InternSettings::getInstance(), $i); $email->send(); } diff --git a/class/WorkflowTransition/UndergradRegistration.php b/class/WorkflowTransition/UndergradRegistration.php index 16e5a737..ed4c90d3 100644 --- a/class/WorkflowTransition/UndergradRegistration.php +++ b/class/WorkflowTransition/UndergradRegistration.php @@ -8,7 +8,7 @@ class UndergradRegistration extends WorkflowTransition { const sourceState = 'DeanApprovedState'; const destState = 'RegisteredState'; - const actionName = 'Mark as Registered / Enrollment Complete'; + const actionName = 'Mark as Registered / Enrollment Complete (undergrad)'; public function getAllowedPermissionList(){ return array('register'); diff --git a/class/WorkflowTransition/UndoDeanApprovalGradPending.php b/class/WorkflowTransition/UndoDeanApprovalGradPending.php new file mode 100644 index 00000000..885d112b --- /dev/null +++ b/class/WorkflowTransition/UndoDeanApprovalGradPending.php @@ -0,0 +1,26 @@ +isGraduate()) { + return true; + } else { + return false; + } + } +} diff --git a/class/WorkflowTransition/UndoDeanApprove.php b/class/WorkflowTransition/UndoDeanApprove.php index 50452f94..169c26d6 100644 --- a/class/WorkflowTransition/UndoDeanApprove.php +++ b/class/WorkflowTransition/UndoDeanApprove.php @@ -5,13 +5,23 @@ use Intern\Internship; class UndoDeanApprove extends WorkflowTransition { + const sourceState = 'DeanApprovedState'; const destState = 'SigAuthApprovedState'; const actionName = 'Return for Dean Approval'; const sortIndex = 6; - public function getAllowedPermissionList(){ + public function getAllowedPermissionList() { return array('dean_approve','register'); } + + public function isApplicable(Internship $i) { + if ($i->isUndergraduate()) { + return true; + } else { + return false; + } + } + } diff --git a/class/WorkflowTransition/UndoDepartmentApprove.php b/class/WorkflowTransition/UndoDepartmentApprove.php index 5489bd30..7c3b7121 100644 --- a/class/WorkflowTransition/UndoDepartmentApprove.php +++ b/class/WorkflowTransition/UndoDepartmentApprove.php @@ -5,6 +5,7 @@ use Intern\Internship; class UndoDepartmentApprove extends WorkflowTransition { + const sourceState = 'SigAuthReadyState'; const destState = 'NewState'; const actionName = 'Send back to advisor'; diff --git a/class/WorkflowTransition/UndoGradSchoolApproval.php b/class/WorkflowTransition/UndoGradSchoolApproval.php index 700c50ad..569eb2c7 100644 --- a/class/WorkflowTransition/UndoGradSchoolApproval.php +++ b/class/WorkflowTransition/UndoGradSchoolApproval.php @@ -5,17 +5,17 @@ use Intern\Internship; class UndoGradSchoolApproval extends WorkflowTransition { - + const sourceState = 'GradSchoolApprovedState'; - const destState = 'DeanApprovedState'; + const destState = 'DeanApprovedGradPendingState'; const actionName = 'Return for Graduate School Approval'; - + const sortIndex = 6; - + public function getAllowedPermissionList(){ return array('register', 'grad_school_approve'); } - + public function isApplicable(Internship $i) { if($i->isGraduate()){ @@ -24,4 +24,4 @@ public function isApplicable(Internship $i) return false; } } -} \ No newline at end of file +} diff --git a/class/WorkflowTransition/UndoGraduateRegistration.php b/class/WorkflowTransition/UndoGraduateRegistration.php index 59627772..8f0d4d78 100644 --- a/class/WorkflowTransition/UndoGraduateRegistration.php +++ b/class/WorkflowTransition/UndoGraduateRegistration.php @@ -8,7 +8,7 @@ class UndoGraduateRegistration extends WorkflowTransition { const sourceState = 'RegisteredState'; const destState = 'GradSchoolApprovedState'; - const actionName = 'Mark as not registered'; + const actionName = 'Mark as Not Registered'; const sortIndex = 6; diff --git a/class/WorkflowTransition/UndoUndergradRegistration.php b/class/WorkflowTransition/UndoUndergradRegistration.php index fdb62e09..c286f7fd 100644 --- a/class/WorkflowTransition/UndoUndergradRegistration.php +++ b/class/WorkflowTransition/UndoUndergradRegistration.php @@ -7,7 +7,7 @@ class UndoUndergradRegistration extends WorkflowTransition { const sourceState = 'RegisteredState'; const destState = 'DeanApprovedState'; - const actionName = 'Mark as not registered'; + const actionName = 'Mark as Not Registered'; const sortIndex = 6;