.
*/
include("./include/include.php");
require_once(FILESYSTEMROOTPATH."jc/include/classes/DefaultLayout.php");
require_once(FILESYSTEMROOTPATH."include/form/AbstractForm.php");
require_once(FILESYSTEMROOTPATH."jc/include/classes/DateTimeSelectField.php");
/**
* Helper classes
*/
class RollcallForm extends AbstractForm {
private $rollcallsService;
public function __construct(Layout $layout, IModel $model, RollcallsService $rollcallsService) {
parent::__construct($layout, $model);
$this->rollcallsService = $rollcallsService;
}
public function save(IModel $model) {
$open = date('Y-m-d H:i:s', strtotime($_POST['open']['year'].'-'.$_POST['open']['month'].'-'.$_POST['open']['day'].' '.$_POST['open']['hours'].':'.$_POST['open']['minutes']));
$close = date('Y-m-d H:i:s',strtotime($_POST['close']['year'].'-'.$_POST['close']['month'].'-'.$_POST['close']['day'].' '.$_POST['close']['hours'].':'.$_POST['close']['minutes']));
$model->setOpen($open);
$model->setClose($close);
$model->setSubmit_date(date('Y-m-d H:i:s'));
if (isset($_POST['published'])){
$model->setPublished('1');
}
$ns = $GLOBALS['ClassFactory']->getNotificationsService();
if( $this->rollcallsService->saveOrUpdate($model) ) {
if($model->getId()==''){
$id = $this->rollcallsService->get_last_id();//no queries between save!
$ns->create($id, 'Rollcall', $model->getOpen(), $model->getClose());
}else{
$ns->update($model->getId(), 'Rollcall', $model->getOpen(), $model->getClose());
}
$this->layout->redirect('rollcall1.php');
}else {
$this->layout->echoln("Failed saving");
}
}
}
/**
* End of helper classes
*/
$layout = new DefaultLayout("JC_MANAGE", "./jc/");
$layout->init();
$layout->echoln('Back
');
$rService = $GLOBALS['ClassFactory']->getRollcallsService();
$agora_id = $_SESSION['JC_MODULE']['AgoraId'];
//get id if set
if (isset($_GET['id'])){
$id = $_GET['id'];
$rollcall = $rService->load($id);
}
else{
$rollcall = new Rollcalls('');
}
$layout->echoln('Current system time (CET): '.date("d-m-Y H:i:s"));
$rollcall->setAgora_id($agora_id);
$rollcall->setCreator_uid($_SESSION['sess_uid']);
$form = new RollcallForm($layout, $rollcall, $rService);
$tf1 = new TextField('title', 'Title');
$ta1 = new TextAreaField('description', 'Description', 4, 60);
$openfield = new DateTimeSelectField('open','Voting Start');
$closefield = new DateTimeSelectField('close','Voting End');
$majority = new SelectField('majority','Majority',array('simple'=>'Simple','absolute'=>'Absolute','two third'=>'Two Third'));
$published = new CheckBoxField('published','Published');
$form->addField($tf1->setCompulsory(true));
$form->addField($ta1);
$form->addField($openfield->setCompulsory(true));
$form->addField($closefield->setCompulsory(true));
$form->addField($majority->setCompulsory(true));
$form->addField($published);
$form->display();
$layout->page_footer();
?>