public function execute(){ $request = $this->getContext()->getRequest(); $id = $request->getParameter('id'); $this->checkMemberAuth($id); $memberDao = new BaseDao('Member'); $nocDao = new BaseDao("NatureOfChange"); $nocId = $request->getParameter("deletionReason"); if ($nocId) { $memberToDelete = $memberDao->get($id); $memberToDelete->nocFid = $nocId; $member = $memberDao->getPattern(); $member = clone($memberToDelete); $member->deleted = 1; $memberDao->save($member); $this->log("Deleting member: ".$memberToDelete->firstname.", ".$memberToDelete->lastname."."); $this->log("Deleting member: ".$memberToDelete->firstname.", ".$memberToDelete->lastname.".", true); } else{ $request->setAttribute('nocList', $nocDao->search()); return "Form"; } }
public function execute() { $identity = $this->getContext()->getRequest()->getParameter("id"); $this->checkMemberAuth($identity); $dao = new BaseDao("Member"); $member = $dao->get($identity); $member->dig(); $request = $this->getContext()->getRequest(); $request->setAttribute('member', $member); return View::SUCCESS; }
public function execute() { $identity = $this->getContext()->getRequest()->getParameter("id"); $this->checkAffiliateAuth($identity); $dao = new BaseDao("Affiliate"); $affiliate = $dao->get($identity); $affiliate->getLinks(); $this->log("Vieving affiliate info. Id: {$identity}; name: " . $affiliate->name); $request = $this->getContext()->getRequest(); $request->setAttribute('affiliate', $affiliate); if ($request->getAttribute('render') == 'form') { return 'EditForm'; } else { return 'ReadOnly'; } }
function dig() { $this->getLinks(); if ($this->id != 0) { if (!$this->affiliates) { $assoc = DB_DataObject::factory('asc_members_affiliates'); $assoc->memberFid = $this->id; $assoc->find(); $dao = new BaseDao("Affiliate"); while ($assoc->fetch()) { $affiliate = $dao->get($assoc->affiliateFid); array_push($this->affiliates, $affiliate); } } } }
public function execute() { $request = $this->getContext()->getRequest(); $id = $request->getParameter('id'); $userRole = $this->checkAffiliateAuth($id); $dao = new BaseDao("Affiliate"); $affiliate = $dao->get($id); $members = $affiliate->getMembers(null, false); $request->setAttribute("members", $members); $request->setAttribute("affId", $id); $request->setAttribute("affiliate", $affiliate); if ($userRole == "editor"){ $this->log("Starting certification for affiliate id: $id; name: ".$affiliate->name); } else if ($userRole == 'admin'){ $this->log("Starting certification for affiliate id: $id; name: ".$affiliate->name, true); } return 'List'; }
protected function checkMemberAuth($id) { // $request = $this->getContext()->getRequest(); if (!$this->getContext()->getUser()->isAuthenticated()) { $this->getContext()->getController()->forward("Default", "Login"); die(); } else { $login = $this->getContext()->getUser()->getAttribute('Login'); if ($this->isAdmin($login)) { return 'admin'; } //if adding new if (!$id) return 'editor'; $memberDao = new BaseDao("Member"); $member = $memberDao->get($id); $member->dig(); $memberIds = $this->getListOfCertainFieldValues($member->affiliates, 'id'); $loginIds = $this->getListOfCertainFieldValues($login->affiliates, 'id'); //if member is a least in one of affiliates where logined user editor if (count(array_intersect($memberIds, $loginIds)) != 0) { return 'editor'; } else { $this->log("Unauthorized access attempt to member record. id: $id, name: " . $member->name, true); $this->getContext()->getRequest()->setParameter("message", "You are not authorized to access this member record because he isn't a member of your affiliate."); $this->getContext()->getController()->forward("Default", "Secure"); return View::NONE; } } }
function checkEmail($fields) { $errors = array(); $loginDao = new BaseDao("Login"); $id = $fields['user']['id']; $email = $fields['user']['email']; if ($id) { $usr = $loginDao->get($id); if ( $this->isEmailExists($email) && ($usr->email != $email) ) { $errors['user[email]'] = "User with this email already exists."; } } elseif ($this->isEmailExists($email)) { $errors['user[email]'] = "User with this email already exists."; } if (empty($errors)) return TRUE; else return $errors; }
function getOneRole() { $roleDao = new BaseDao("Role"); $this->roles[] = $roleDao->get($this->roleFid); return $this->roles; }
public function getPredicate(){ $identity = $this->getContext()->getRequest()->getParameter("id"); $dao = new BaseDao("Member"); if($identity) $member = $dao->get($identity); else $member = $dao->getPattern(); $member->dig(); return new MemberEditPredicate("Editor", $member->affiliates); }
public function execute() { ini_set("memory_limit", "200M"); $request = $this->getContext()->getRequest(); $identity = $this->getContext()->getRequest()->getParameter("id"); //redirect if we press Cancel button if($request->getParameter('cancel')) { $this->log("Cancel editing. Changes not saved."); $this->log("Cancel editing. Changes not saved.", true); if (!$identity){ $request->setParameter("searchFor", "Affiliate"); $this->getContext()->getController()->forward('Default', "Search"); }else{ $this->getContext()->getController()->forward('Default', "AffiliateView"); } return View::NONE; } $userRole = $this->checkAffiliateAuth($identity); $membersIds = array(); $dao = new BaseDao("Affiliate"); if($identity){ $affiliate = $dao->get($identity); $affiliate->getLinks(); $fullMembersInfo = $affiliate->getMembers(); $members = $this->prepareMembersListForDropdown($fullMembersInfo); $membersIds = (count($members) != 0) ? array_keys($members) : array(); $request->setAttribute('members', $members); } else { $affiliate = $dao->getPattern(); } $request->setAttribute("affiliate", $affiliate); $needToSaveChanges = !($this->isRecordModifiedBySameRolePerson($affiliate, $userRole)); $request->setAttribute("needToApproveChanges", $needToSaveChanges && $this->isRecordHasActiveTransactions($affiliate)); if ($request->getParameter('rollback')) { $this->log("Rollback changes affiliate id: $identity; name: ".$affiliate->name); $this->log("Rollback changes affiliate id: $identity; name: ".$affiliate->name, true); $this->rollBackChanges($affiliate); $dao->save($affiliate); } elseif($request->getParameter('accept')){ $this->log("Accepting changes affiliate id: $identity; name: ".$affiliate->name); $this->log("Accepting changes affiliate id: $identity; name: ".$affiliate->name, true); $this->acceptChanges($affiliate); $dao->save($affiliate); } elseif($request->getParameter('save')){ $this->log("Saving changes affiliate id: $identity; name: ".$affiliate->name); $this->log("Saving changes affiliate id: $identity; name: ".$affiliate->name, true); //if we're not adding affiliate if ($needToSaveChanges) { $this->saveTransaction($affiliate); $this->log("Changes made by $userRole need to be approved. Affiliate id: $identity; name: ".$affiliate->name); } $affiliate->name = $request->getParameter('name'); $affiliate->abbreviation = $request->getParameter("abbreviation"); $affiliate->president = $request->getParameter("president"); $affiliate->vicePresident1 = $request->getParameter("vicePresident1"); $affiliate->vicePresident2 = $request->getParameter("vicePresident2"); $affiliate->generalSecretary = $request->getParameter("generalSecretary"); $affiliate->correspondingSecretary = $request->getParameter("correspondingSecretary"); $affiliate->treasurerSecretary = $request->getParameter("treasurerSecretary"); $affiliate->treasurer = $request->getParameter("treasurer"); $affiliate->databaseManager = $request->getParameter("dbManager"); $affiliate->lastCertified = $request->getParameter("lastCertifiedDateYear") . "-" . $request->getParameter("lastCertifiedDateMonth") . "-" . $request->getParameter("lastCertifiedDateDay"); $affiliate->type = $request->getParameter("type"); // $affiliate->lastCertified = $request->getParameter("lastCertifiedY") . "-" . $request->getParameter("lastCertifiedM") . "-" . $request->getParameter("lastCertifiedD"); $dao->save($affiliate); $newMembersIds = $request->getParameter("members"); $this->saveLinks($newMembersIds, $membersIds, $affiliate->id); $identity = $affiliate->id; $redirectTo = "AffiliateView?id=$identity"; } else { if($identity){ $this->log("Starting editing affiliate id: $identity; name: ".$affiliate->name); $this->log("Starting editing affiliate id: $identity; name: ".$affiliate->name, true); } else{ $this->log("Starting inserting new affiliate."); $this->log("Starting inserting new affiliate.", true); } return 'Form'; } $request->setParameter('id', $identity); // header("location: $redirectTo"); $this->getContext()->getController()->forward('Default', "AffiliateView"); return View::NONE; }