summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjörn Geiger2011-06-29 19:36:52 +0200
committerBjörn Geiger2011-06-29 19:36:52 +0200
commit3b7692bc0e418738c67da5466d92fd51e4d74e03 (patch)
tree11b39fea42fc6d312e1e233565c8867c19391f17
parentminor (diff)
downloadpoolctrl-3b7692bc0e418738c67da5466d92fd51e4d74e03.tar.gz
poolctrl-3b7692bc0e418738c67da5466d92fd51e4d74e03.tar.xz
poolctrl-3b7692bc0e418738c67da5466d92fd51e4d74e03.zip
Add und Edit Event korrigiert
-rw-r--r--application/controllers/EventController.php109
-rw-r--r--application/forms/EventAdd.php11
-rw-r--r--application/forms/EventEdit.php15
-rw-r--r--application/models/Event.php12
-rw-r--r--application/models/EventMapper.php14
-rw-r--r--application/views/scripts/event/add.phtml1
-rw-r--r--application/views/scripts/event/edit.phtml1
7 files changed, 127 insertions, 36 deletions
diff --git a/application/controllers/EventController.php b/application/controllers/EventController.php
index 2647d6a..bf73722 100644
--- a/application/controllers/EventController.php
+++ b/application/controllers/EventController.php
@@ -12,7 +12,6 @@
class EventController extends Zend_Controller_Action
{
-
protected $eventMapper;
protected $eventcategoryMapper;
protected $poolMapper;
@@ -36,6 +35,7 @@ class EventController extends Zend_Controller_Action
if(is_array($events)) {
foreach($events as $event) {
$event = $event->toArray();
+ print_r($event);
$bootos = new Application_Model_BootOs();
$this->bootosMapper->find($event['pbs_bootosID'], $bootos);
$event['pbs_bootos_title'] = $bootos->getTitle();
@@ -44,9 +44,21 @@ class EventController extends Zend_Controller_Action
$person = new Application_Model_Person();
$this->personMapper->find($membership->getPersonID(), $person);
$event['pbs_person_name'] = $person->getFirstname() . " " . $person->getName();
- $pool = new Application_Model_Pool();
- $this->poolMapper->find($event['pbs_poolID'], $pool);
- $eventlist[$pool->getTitle()][] = $event;
+ $poolApiResult = PostToHost('pbs2poolctrl.mp.openslx.org', '/resource/getpool/apikey/apikey1', 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', '');
+ $poolXMLString = $poolApiResult['http-body'];
+ $poolXML = new SimpleXMLElement($poolXMLString);
+ foreach($poolXML->poollist->pool as $pool) {
+ if($event['pbs_poolID'] == sprintf("%s", $pool->id)) {
+ $poolobj = new Application_Model_Pool();
+ $poolobj->setID(sprintf("%s", $pool->id));
+ $poolobj->setDescription(sprintf("%s", $pool->description));
+ $poolobj->setGroupID(sprintf("%s", $pool->groupid));
+ $poolobj->setLocation(sprintf("%s", $pool->location));
+ $poolobj->setTitle(sprintf("%s", $pool->title));
+ break;
+ }
+ }
+ $eventlist[$poolobj->getTitle()][] = $event;
}
}
@@ -56,14 +68,49 @@ class EventController extends Zend_Controller_Action
public function addAction()
{
$eventcategorylist = $this->eventcategoryMapper->fetchAll();
+ $bootOsApiResult = PostToHost('pbs2poolctrl.mp.openslx.org', '/resource/getbootos/apikey/apikey1', 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', '');
+ $bootOsXMLString = $bootOsApiResult['http-body'];
+ $bootOsXML = new SimpleXMLElement($bootOsXMLString);
+ foreach($bootOsXML->bootoslist->bootos as $bootos) {
+ $bootosobj = new Application_Model_BootOs();
+ $bootosobj->setID(sprintf("%s", $bootos->id));
+ $bootosobj->setCreated(sprintf("%s", $bootos->created));
+ $bootosobj->setDefaultkcl(sprintf("%s", $bootos->defaultkcl));
+ $bootosobj->setDescription(sprintf("%s", $bootos->description));
+ $bootosobj->setDistro(sprintf("%s", $bootos->distro));
+ $bootosobj->setDistroversion(sprintf("%s", $bootos->distroversion));
+ $bootosobj->setExpires(sprintf("%s", $bootos->expires));
+ $bootosobj->setGroupID(sprintf("%s", $bootos->groupid));
+ $bootosobj->setMembershipID(sprintf("%s", $bootos->membershipid));
+ $bootosobj->setPublic(sprintf("%s", $bootos->public));
+ $bootosobj->setShare(sprintf("%s", $bootos->share));
+ $bootosobj->setShortname(sprintf("%s", $bootos->shortname));
+ $bootosobj->setSource(sprintf("%s", $bootos->source));
+ $bootosobj->setTitle(sprintf("%s", $bootos->title));
+ $bootoslist[$bootosobj->getID()] = $bootosobj;
+ }
+ $poolApiResult = PostToHost('pbs2poolctrl.mp.openslx.org', '/resource/getpool/apikey/apikey1', 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', '');
+ $poolXMLString = $poolApiResult['http-body'];
+ $poolXML = new SimpleXMLElement($poolXMLString);
+ foreach($poolXML->poollist->pool as $pool) {
+ $poolobj = new Application_Model_Pool();
+ $poolobj->setID(sprintf("%s", $pool->id));
+ $poolobj->setDescription(sprintf("%s", $pool->description));
+ $poolobj->setGroupID(sprintf("%s", $pool->groupid));
+ $poolobj->setLocation(sprintf("%s", $pool->location));
+ $poolobj->setTitle(sprintf("%s", $pool->title));
+ $poollist[$poolobj->getID()] = $poolobj;
+ }
if (!isset($_POST["add"])){
- $addForm = new Application_Form_EventAdd(array('eventcategorylist' => $eventcategorylist));
+ $addForm = new Application_Form_EventAdd(array('eventcategorylist' => $eventcategorylist, 'bootoslist' => $bootoslist, 'poollist' => $poollist));
} else {
- $addForm = new Application_Form_EventAdd(array('eventcategorylist' => $eventcategorylist, $_POST));
+ $addForm = new Application_Form_EventAdd(array('eventcategorylist' => $eventcategorylist, 'bootoslist' => $bootoslist, 'poollist' => $poollist, $_POST));
if ($addForm->isValid($_POST)) {
$event = new Application_Model_Event($_POST);
- $event->setPbsMembershipID(1);
+ $event->setPbs_poolID($_POST['pbs_poolID']);
+ $event->setPbs_bootosID($_POST['pbs_bootosID']);
+ $event->setPbs_membershipID(1);
try {
$eventID = $this->eventMapper->save($event);
} catch(Zend_Exception $e)
@@ -104,17 +151,52 @@ class EventController extends Zend_Controller_Action
public function editAction()
{
$eventcategorylist = $this->eventcategoryMapper->fetchAll();
+ $bootOsApiResult = PostToHost('pbs2poolctrl.mp.openslx.org', '/resource/getbootos/apikey/apikey1', 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', '');
+ $bootOsXMLString = $bootOsApiResult['http-body'];
+ $bootOsXML = new SimpleXMLElement($bootOsXMLString);
+ foreach($bootOsXML->bootoslist->bootos as $bootos) {
+ $bootosobj = new Application_Model_BootOs();
+ $bootosobj->setID(sprintf("%s", $bootos->id));
+ $bootosobj->setCreated(sprintf("%s", $bootos->created));
+ $bootosobj->setDefaultkcl(sprintf("%s", $bootos->defaultkcl));
+ $bootosobj->setDescription(sprintf("%s", $bootos->description));
+ $bootosobj->setDistro(sprintf("%s", $bootos->distro));
+ $bootosobj->setDistroversion(sprintf("%s", $bootos->distroversion));
+ $bootosobj->setExpires(sprintf("%s", $bootos->expires));
+ $bootosobj->setGroupID(sprintf("%s", $bootos->groupid));
+ $bootosobj->setMembershipID(sprintf("%s", $bootos->membershipid));
+ $bootosobj->setPublic(sprintf("%s", $bootos->public));
+ $bootosobj->setShare(sprintf("%s", $bootos->share));
+ $bootosobj->setShortname(sprintf("%s", $bootos->shortname));
+ $bootosobj->setSource(sprintf("%s", $bootos->source));
+ $bootosobj->setTitle(sprintf("%s", $bootos->title));
+ $bootoslist[$bootosobj->getID()] = $bootosobj;
+ }
+ $poolApiResult = PostToHost('pbs2poolctrl.mp.openslx.org', '/resource/getpool/apikey/apikey1', 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', '');
+ $poolXMLString = $poolApiResult['http-body'];
+ $poolXML = new SimpleXMLElement($poolXMLString);
+ foreach($poolXML->poollist->pool as $pool) {
+ $poolobj = new Application_Model_Pool();
+ $poolobj->setID(sprintf("%s", $pool->id));
+ $poolobj->setDescription(sprintf("%s", $pool->description));
+ $poolobj->setGroupID(sprintf("%s", $pool->groupid));
+ $poolobj->setLocation(sprintf("%s", $pool->location));
+ $poolobj->setTitle(sprintf("%s", $pool->title));
+ $poollist[$poolobj->getID()] = $poolobj;
+ }
$eventID = $this->_request->getParam('eventID');
if(!isset($eventID)) {
$this->_helper->redirector('add', 'event');
return;
} else {
if (isset($_POST["save"])){
- $editForm = new Application_Form_EventEdit(array('eventcategorylist' => $eventcategorylist, $_POST));
+ $editForm = new Application_Form_EventEdit(array('eventcategorylist' => $eventcategorylist, 'bootoslist' => $bootoslist, 'poollist' => $poollist, $_POST));
if ($editForm->isValid($_POST)) {
$event = new Application_Model_Event($_POST);
$event->setID($eventID);
- $event->setPbsMembershipID(1);
+ $event->setPbs_poolID($_POST['pbs_poolID']);
+ $event->setPbs_bootosID($_POST['pbs_bootosID']);
+ $event->setPbs_membershipID(1);
try {
$this->eventMapper->save($event);
} catch(Zend_Exception $e)
@@ -123,6 +205,7 @@ class EventController extends Zend_Controller_Action
echo "Message: " . $e->getMessage() . "<br/>";
return;
}
+ $this->_redirect('/event/');
}
} else {
$event = new Application_Model_Event();
@@ -135,10 +218,10 @@ class EventController extends Zend_Controller_Action
$_POST['participants'] = $event->getParticipants();
$_POST['category'] = $event->getCategory();
$_POST['note'] = $event->getNote();
- $_POST['pbs_poolID'] = $event->getPbsPoolID();
- $_POST['pbs_bootosID'] = $event->getPbsBootosID();
- $_POST['pbs_membershipID'] = $event->getPbsMembershipID();
- $editForm = new Application_Form_EventEdit(array('eventcategorylist' => $eventcategorylist));
+ $_POST['pbs_poolID'] = $event->getPbs_poolID();
+ $_POST['pbs_bootosID'] = $event->getPbs_bootosID();
+ $_POST['pbs_membershipID'] = $event->getPbs_membershipID();
+ $editForm = new Application_Form_EventEdit(array('eventcategorylist' => $eventcategorylist, 'bootoslist' => $bootoslist, 'poollist' => $poollist));
}
$this->view->editForm = $editForm;
}
diff --git a/application/forms/EventAdd.php b/application/forms/EventAdd.php
index 7710ea6..65f2919 100644
--- a/application/forms/EventAdd.php
+++ b/application/forms/EventAdd.php
@@ -46,6 +46,9 @@ class Application_Form_EventAdd extends Zend_Form
public function init()
{
+ $this->setName('EventAdd');
+ $this->setMethod('post');
+
$this->addElement('text', 'title', array(
'filters' => array('StringTrim'),
'validators' => array(
@@ -102,7 +105,7 @@ class Application_Form_EventAdd extends Zend_Form
$eventcategoryfield->addMultiOption($c->getID(), $c->getTitle());
}
}
-
+
$eventcategoryfield->setRegisterInArrayValidator(false);
$this->addElement($eventcategoryfield);
@@ -120,7 +123,7 @@ class Application_Form_EventAdd extends Zend_Form
if(count($this->poollist)>0){
foreach($this->poollist as $pool => $p){
- $poolfield->addMultiOption($p['poolID'], $p['title']);
+ $poolfield->addMultiOption($p->getID(), $p->getTitle());
}
}
@@ -132,7 +135,7 @@ class Application_Form_EventAdd extends Zend_Form
//
// if(count($this->membershiplist)>0){
// foreach($this->membershiplist as $membership => $m){
- // $membershipfield->addMultiOption($m['membershipID'], $m['person']);
+ // $membershipfield->addMultiOption($m->getID(), $m->getPersonID());
// }
// }
//
@@ -144,7 +147,7 @@ class Application_Form_EventAdd extends Zend_Form
if(count($this->bootoslist)>0){
foreach($this->bootoslist as $bootos => $b){
- $bootosfield->addMultiOption($b['bootosID'], $b['title']);
+ $bootosfield->addMultiOption($b->getID(), $b->getTitle());
}
}
diff --git a/application/forms/EventEdit.php b/application/forms/EventEdit.php
index f2ad783..ebf6eea 100644
--- a/application/forms/EventEdit.php
+++ b/application/forms/EventEdit.php
@@ -46,6 +46,9 @@ class Application_Form_EventEdit extends Zend_Form
public function init()
{
+ $this->setName('EventEdit');
+ $this->setMethod('post');
+
$this->addElement('text', 'title', array(
'filters' => array('StringTrim'),
'validators' => array(
@@ -124,7 +127,7 @@ class Application_Form_EventEdit extends Zend_Form
$eventcategoryfield->addMultiOption($c->getID(), $c->getTitle());
}
}
-
+
$eventcategoryfield->setRegisterInArrayValidator(false);
$eventcategoryfield->setValue($_POST['category']);
$this->addElement($eventcategoryfield);
@@ -144,7 +147,7 @@ class Application_Form_EventEdit extends Zend_Form
if(count($this->poollist)>0){
foreach($this->poollist as $pool => $p){
- $poolfield->addMultiOption($p['poolID'], $p['title']);
+ $poolfield->addMultiOption($p->getID(), $p->getTitle());
}
}
@@ -157,7 +160,7 @@ class Application_Form_EventEdit extends Zend_Form
//
// if(count($this->membershiplist)>0){
// foreach($this->membershiplist as $membership => $m){
- // $membershipfield->addMultiOption($m['membershipID'], $m['person']);
+ // $membershipfield->addMultiOption($m->getID(), $m->getPersonID());
// }
// }
//
@@ -169,7 +172,7 @@ class Application_Form_EventEdit extends Zend_Form
if(count($this->bootoslist)>0){
foreach($this->bootoslist as $bootos => $b){
- $bootosfield->addMultiOption($b['bootosID'], $b['title']);
+ $bootosfield->addMultiOption($b->getID(), $b->getTitle());
}
}
@@ -177,10 +180,10 @@ class Application_Form_EventEdit extends Zend_Form
$bootosfield->setValue($_POST['pbs_bootosID']);
$this->addElement($bootosfield);
- $this->addElement('submit', 'add', array(
+ $this->addElement('submit', 'save', array(
'required' => false,
'ignore' => true,
- 'label' => 'Create Event'
+ 'label' => 'Save Event'
));
$this->addElement('button', 'cancel', array(
diff --git a/application/models/Event.php b/application/models/Event.php
index 470eee8..e071576 100644
--- a/application/models/Event.php
+++ b/application/models/Event.php
@@ -163,34 +163,34 @@ class Application_Model_Event
return $this;
}
- public function getPbsPoolID()
+ public function getPbs_poolID()
{
return $this->_pbs_poolID;
}
- public function setPbsPoolID($_pbs_poolID)
+ public function setPbs_poolID($_pbs_poolID)
{
$this->_pbs_poolID = $_pbs_poolID;
return $this;
}
- public function getPbsMembershipID()
+ public function getPbs_membershipID()
{
return $this->_pbs_membershipID;
}
- public function setPbsMembershipID($_pbs_membershipID)
+ public function setPbs_membershipID($_pbs_membershipID)
{
$this->_pbs_membershipID = $_pbs_membershipID;
return $this;
}
- public function getPbsBootosID()
+ public function getPbs_bbootosID()
{
return $this->_pbs_bootosID;
}
- public function setPbsBootosID($_pbs_bootosID)
+ public function setPbs_bootosID($_pbs_bootosID)
{
$this->_pbs_bootosID = $_pbs_bootosID;
return $this;
diff --git a/application/models/EventMapper.php b/application/models/EventMapper.php
index aef0675..3baa36f 100644
--- a/application/models/EventMapper.php
+++ b/application/models/EventMapper.php
@@ -83,7 +83,7 @@ class Application_Model_EventMapper
public function save(Application_Model_Event $event)
{
- $data = array('eventID'=> $event->getID() ,'category'=> $event->getCategory() ,'title'=> $event->getTitle(), 'pbs_membershipID'=> $event->getPbsMembershipID(),'end'=> $event->getEnd() ,'immediate'=> $event->getImmediate() ,'note'=> $event->getNote() ,'participants'=> $event->getParticipants() ,'pbs_bootosID'=> $event->getPbsBootosID(),'pbs_poolID'=> $event->getPbsPoolID(),'repeat'=> $event->getRepeat(),'start'=> $event->getStart() );
+ $data = array('eventID'=> $event->getID() ,'category'=> $event->getCategory() ,'title'=> $event->getTitle(), 'pbs_membershipID'=> $event->getPbs_membershipID(),'end'=> $event->getEnd() ,'immediate'=> $event->getImmediate() ,'note'=> $event->getNote() ,'participants'=> $event->getParticipants() ,'pbs_bootosID'=> $event->getPbs_bootosID(),'pbs_poolID'=> $event->getPbs_poolID(),'repeat'=> $event->getRepeat(),'start'=> $event->getStart() );
if (null === ($id = $event->getID()) ) {
unset($data['eventID']);
return $this->getDbTable()->insert($data);
@@ -118,13 +118,13 @@ class Application_Model_EventMapper
->setID($row->eventID)
->setCategory($row->category)
->setTitle($row->title)
- ->setPbsMembershipID($row->pbs_membershipID)
+ ->setPbs_membershipID($row->pbs_membershipID)
->setEnd($row->end)
->setImmediate($row->immediate)
->setNote($row->note)
->setParticipants($row->participants)
- ->setPbsBootosID($row->pbs_bootosID)
- ->setPbsPoolID($row->pbs_poolID)
+ ->setPbs_bootosID($row->pbs_bootosID)
+ ->setPbs_poolID($row->pbs_poolID)
->setRepeat($row->repeat)
->setStart($row->start);
}
@@ -141,13 +141,13 @@ class Application_Model_EventMapper
->setID($row->eventID)
->setCategory($row->category)
->setTitle($row->title)
- ->setPbsMembershipID($row->pbs_membershipID)
+ ->setPbs_membershipID($row->pbs_membershipID)
->setEnd($row->end)
->setImmediate($row->immediate)
->setNote($row->note)
->setParticipants($row->participants)
- ->setPbsBootosID($row->pbs_bootosID)
- ->setPbsPoolID($row->pbs_poolID)
+ ->setPbs_bootosID($row->pbs_bootosID)
+ ->setPbs_poolID($row->pbs_poolID)
->setRepeat($row->repeat)
->setStart($row->start);
diff --git a/application/views/scripts/event/add.phtml b/application/views/scripts/event/add.phtml
index 647fe1c..8f06093 100644
--- a/application/views/scripts/event/add.phtml
+++ b/application/views/scripts/event/add.phtml
@@ -1,4 +1,5 @@
<h1>Add Event</h1>
<?php
+$this->addForm->setAction($this->url());
echo $this->addForm;
?> \ No newline at end of file
diff --git a/application/views/scripts/event/edit.phtml b/application/views/scripts/event/edit.phtml
index e62b8b3..b474b40 100644
--- a/application/views/scripts/event/edit.phtml
+++ b/application/views/scripts/event/edit.phtml
@@ -1,4 +1,5 @@
<h1>Edit Event</h1>
<?php
+$this->editForm->setAction($this->url());
echo $this->editForm;
?> \ No newline at end of file