} else {
         jsonBadResult(t('No proposal identifier submitted!'));
     }
     break;
 case 'edit':
     $proposal_id = getRequestVar('proposal_id', null, 'post');
     $result_format = getRequestVar('format', 'json', 'post');
     if ($proposal_id) {
         if (!($browse_proposals || Groups::isOwner(_PROPOSAL_OBJ, $proposal_id))) {
             jsonBadResult(t('You can only see your own proposals!'));
         } else {
             $target = altSubValue($_POST, 'target');
             $proposal = Proposal::getInstance()->getProposalById($proposal_id, true);
             $project_id = $proposal->pid;
             $project = Project::getProjectById($project_id);
             $possible_supervisors = Project::getInterestedSupervisors($project_id);
             $form = drupal_get_form('vals_soc_proposal_form', $proposal, $target, $project_id, $possible_supervisors);
             if ($form) {
                 $prefix_form = "<div>" . tt('<b>Project</b> <i>%1$s</i>', $project['title']) . "</div>";
                 if ($result_format == 'json') {
                     jsonGoodResult($prefix_form . renderForm($form, $target, true));
                 } else {
                     echo $prefix_form;
                     renderForm($form, $target);
                 }
             } else {
                 if ($result_format == 'json') {
                     jsonBadResult();
                 } else {
                     echo errorDiv(getDrupalMessages('error', true));
                 }