summaryrefslogtreecommitdiffstats
path: root/application/modules/user/controllers/PersonController.php
diff options
context:
space:
mode:
Diffstat (limited to 'application/modules/user/controllers/PersonController.php')
-rw-r--r--application/modules/user/controllers/PersonController.php71
1 files changed, 58 insertions, 13 deletions
diff --git a/application/modules/user/controllers/PersonController.php b/application/modules/user/controllers/PersonController.php
index 59ce707..87e492c 100644
--- a/application/modules/user/controllers/PersonController.php
+++ b/application/modules/user/controllers/PersonController.php
@@ -2,15 +2,23 @@
class user_PersonController extends Zend_Controller_Action
{
- protected $person;
- protected $personmapper;
- protected $membershipMapper;
- protected $memberships;
- protected $groupMapper;
- protected $groups;
- protected $groupRequestMapper;
-
- public function init() {
+
+ protected $person = null;
+
+ protected $personmapper = null;
+
+ protected $membershipMapper = null;
+
+ protected $memberships = null;
+
+ protected $groupMapper = null;
+
+ protected $groups = null;
+
+ protected $groupRequestMapper = null;
+
+ public function init()
+ {
if (Zend_Auth::getInstance()->hasIdentity()) {
$this->personmapper = new Application_Model_PersonMapper();
$result = $this->personmapper->findBy('email', Zend_Auth::getInstance()->getIdentity());
@@ -24,10 +32,10 @@ class user_PersonController extends Zend_Controller_Action
foreach($this->memberships as $membership) {
$group = $this->groupMapper->find($membership['groupID']);
$this->groups[] = array (
- 'groupID' => $group->getID(),
- 'title' => $group->getTitle(),
- 'description' => $group->getDescription(),
- 'membershipID' => $membership['membershipID']
+ 'groupID' => $group->getID(),
+ 'title' => $group->getTitle(),
+ 'description' => $group->getDescription(),
+ 'membershipID' => $membership['membershipID']
);
}
}
@@ -154,6 +162,42 @@ class user_PersonController extends Zend_Controller_Action
return;
}
}
+
+ public function selectmembershipAction()
+ {
+ $userIDsNamespace = Zend_Session::namespaceGet('userIDs');
+ if(isset($userIDsNamespace['membershipID'])) {
+ $this->_redirect('/user/');
+ } else {
+ if(isset($_POST['selectmembership'])) {
+ $roleSession = new Zend_Session_Namespace('userIDs');
+ $roleSession->membershipID = $_POST['membershipID'];
+ $roleSession->personID = $this->person->getID();
+ $membership = $this->membershipMapper->find($_POST['membershipID']);
+ $roleSession->groupID = $membership->getGroupID();
+ $roleSession->roleID = $membership->getRoleID();
+ $this->_redirect('/user/');
+ return;
+ } else {
+ $groupMapper = new Application_Model_GroupMapper();
+ $roleMapper = new Application_Model_RoleMapper();
+ if(isset($this->memberships)) {
+ foreach($this->memberships as $membership) {
+ $group = $groupMapper->find($membership['groupID']);
+ $role = $roleMapper->find($membership['roleID']);
+ $membershipList[] = array(
+ 'membershipID' => $membership['membershipID'],
+ 'group' => $group->getTitle(),
+ 'role' => $role->getTitle()
+ );
+ }
+ }
+ $membershipSelectForm = new user_Form_MembershipSelect(array('membershiplist' => $membershipList));
+ $this->view->membershipSelectForm = $membershipSelectForm;
+ }
+ }
+ }
+
}
@@ -167,3 +211,4 @@ class user_PersonController extends Zend_Controller_Action
+