. */ include("./include/include.php"); require_once(FILESYSTEMROOTPATH."jc/include/classes/DefaultLayout.php"); require_once(FILESYSTEMROOTPATH."include/form/AbstractForm.php"); /** * Helper classes */ class DeleteProposalForm extends AbstractForm { private $proposalsService; public function __construct(Layout $layout, IModel $model, ProposalsService $proposalsService) { parent::__construct($layout, $model); $this->proposalsService = $proposalsService; } public function save(IModel $model) { if($model->getStatus()=='Saved'){ $this->proposalsService->delete($model); //proposal_sentences: stay as 'orphan'. //let's not delete them, in order to be able to "undelete" a proposal. } $this->layout->redirect('create_proposal0.php'); } } /** * End of helper classes */ $layout = new DefaultLayout(Access::VISITOR, "./jc/"); $layout->init(); $proposalsService = $GLOBALS['ClassFactory']->getProposalsService(); $layout->echoln('Back
'); $proposal = NULL; if (isset($_GET['proposal_id'])){ $proposal_id = $_GET['proposal_id']; $proposal = $proposalsService->load($proposal_id); if ($proposal->getProposer_Uid() != $_SESSION['sess_uid']){ $layout->echoln('This proposal does not belong to you!'); exit(0); } if($proposal->getStatus()=='Saved'||$proposal->getStatus()=='JC Rejected'){ $layout->echoln('Do you really want to delete this proposal?'); $form = new DeleteProposalForm($layout, $proposal, $proposalsService); $form->setSubmitText('Delete'); $form->display(); } else{ $layout->echoln('You cannot delete this proposal. For submitted proposals, ask JC to withdraw it.'); } } $layout->page_footer(); ?>