function initMyProjectLayout($role) { $title = hasRole(array(_STUDENT_TYPE)) ? t('My accepted project') : t('My accepted projects'); drupal_set_title($title); switch ($role) { case _STUDENT_TYPE: getSingleAcceptedProjectView(Agreement::getInstance()->getSingleStudentsAgreement(true)); break; case _SUPERVISOR_TYPE: case _INSTADMIN_TYPE: case _MENTOR_TYPE: case _ORGADMIN_TYPE: getListView(); break; } }
function showAgreement($agreement = '') { if (!$agreement) { $agreement = Agreement::getInstance()->getSingleStudentsAgreement(true); } $nr = 1; $tab_id_prefix = 'agree_page-'; $data = array(); $tabs = array("'{$tab_id_prefix}1'"); //we pass on the buttons=0 since we have the buttons as tabs $data[] = array(2, 'Agreement', 'view', _AGREEMENT_OBJ, $agreement->agreement_id, "buttons=0"); $next_tab = 2; //[number of tabs, label start, tab id start, type, data, id, render targets, active target content, active tab] echo renderTabs($nr, '', $tab_id_prefix, _AGREEMENT_OBJ, $data, $agreement->agreement_id, TRUE, renderAgreement(_AGREEMENT_OBJ, $agreement, null, "{$tab_id_prefix}1", false), 1, _AGREEMENT_OBJ); ?> <script type="text/javascript"> activatetabs('tab_', [<?php echo implode(',', $tabs); ?> ]); </script> <?php }
// email (mentor) - rejected OFFER - project is therefore reopened and he should choose another proposal // email this proposal (student & supervisor) to say that the project has reopended and the mentor can choose another, possibly theirs notify_all_of_project_offer_rejection($single_proposal_for_unaccepted_project, $proposal_id, false); } //Proposal::getInstance()->updateProposal($update_props, $proposal_id); //uncomment to set this after testing ********* Project::getInstance()->changeProject($update_props, $project_id); //uncomment to set this after testing ********* } // else - the proposal was owned by this student but had not been either set as interim OR OFFER - so do nothing // as we have now set this proposal.state as 'archived' so the mentor cannot choose it in the UI. (TODO - implement that bit) } } } // next create the initial agreement entity in the db $a_props = array(); $a_props['proposal_id'] = $proposal_id; $agreement = Agreement::getInstance()->insertAgreement($a_props); echo getAcceptedProjectResponse(); } else { echo t('Only the proposal owner can accept this project offer.'); } } else { echo t('No proposal or project Id found in request.'); } break; case 'show': // THIS IS A PLACEHOLDER break; default: echo "No such action: " . $_GET['action']; }
break; case 'list_search': if (Users::isSuperVisor()) { //Return result to jTable $recs = Agreement::getInstance()->getAgreementsForSupervisorBySearchCriteria(true, $_GET["jtSorting"], $_GET["jtStartIndex"], $_GET["jtPageSize"]); $cnt = Agreement::getInstance()->getProjectAgreementsRowCount($GLOBALS['user']->uid, ''); } else { if (Users::isMentor()) { $recs = Agreement::getInstance()->getAgreementsForMentorBySearchCriteria(true, $_GET["jtSorting"], $_GET["jtStartIndex"], $_GET["jtPageSize"]); $cnt = Agreement::getInstance()->getProjectAgreementsRowCount('', $GLOBALS['user']->uid); } } jsonGoodResultJT($recs, $cnt); break; case 'render_project_for_id': $id = altSubValue($_POST, 'id'); $target = altSubValue($_POST, 'target', ''); $agreement = Agreement::getInstance()->getSingleAgreementById($id, true); echo getSingleAcceptedProjectView($agreement); break; case 'render_agreement_for_id': $id = altSubValue($_POST, 'id'); $target = altSubValue($_POST, 'target', ''); $agreement = Agreement::getInstance()->getSingleAgreementById($id, true); echo "<div id='admin_container' class='tabs_container'>"; echo showAgreement($agreement); echo "</div>"; break; default: echo "No such action: " . $_GET['action']; }