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() {

    	$this->checkAdminAuth();

    	$loginDao = new BaseDao("Login");		
    	$affilateDao = new BaseDao("Affiliate");

    	$affList = $affilateDao->search();


    	$loginRecordsToInsert = array();

    	foreach($affList as $affiliate){
    		$login = $loginDao->getPattern();
    		$login->name = $affiliate->abbreviation." admin";
    		$login->password = "******";
    		$login->login = $affiliate->abbreviation;
    		$login->roleFid = 2;
    		$login->email = "editme".$affiliate->abbreviation."@acbdb.org";
    		$id = $login->insert();

    		$affiliate->editor = $id;
    		$affiliate->update();
    	}

		return View::NONE;
        
    }
Exemple #3
0
 function searchByRole($roleName, $affiliates)
 {
     $roleDao = new BaseDao('Role');
     $pattern = $roleDao->getPattern();
     $pattern->name = $roleName;
     $results = $roleDao->search($pattern);
     $logins = array();
     if ($results) {
         $role = $results[0];
         $loginDao = new BaseDao('Login');
         foreach ($role->getLogins() as $id) {
             $login = $loginDao->get($id);
             //var_dump($login);
             if ($affiliates) {
                 //var_dump($login->getRoles());
                 //die();
                 //var_dump(count($affiliates));
                 foreach ($affiliates as $affiliate) {
                     if ($login->isInRole($roleName, $affiliate->id)) {
                         //	echo "<br/>in role!<br/>";
                         array_push($logins, $login);
                         break;
                     }
                     //else
                     //echo "<br/>not in role!<br/>";
                 }
             } else {
                 array_push($logins, $login);
             }
         }
     }
     return $logins;
 }
 public function destroy()
 {
     $atomDao = new BaseDao("CertifierTransactionAtom");
     $atom = $atomDao->getPattern();
     $atom->transFid = $this->getId();
     $list = $atomDao->search($atom);
     //var_dump($list);
     foreach ($list as $element) {
         $element->delete();
     }
     parent::destroy();
 }
Exemple #5
0
 public static function resume($id, $daoName = "Transaction")
 {
     $dao = new BaseDao($daoName);
     $ex = $dao->getPattern();
     $ex->id = $id;
     $retvals = $dao->search($ex);
     if ($retvals) {
         $retval = $retvals[0];
         $doDao = new BaseDao("DirtyObject");
         $doPattern = $doDao->getPattern();
         $doPattern->transactionFid = $retval->getId();
         $doPattern->data = null;
         $res = $doDao->search($doPattern);
         foreach ($res as $obj) {
             $retval->queue[$obj->getId()] = $obj;
         }
         return $retval;
     } else {
         return false;
     }
 }
Exemple #6
0
 function getMembers($example = null, $certified = 'both', $orderBy = "firstname", $from = 0, $limit = 30000)
 {
     $pattern = 0;
     $dao = new BaseDao("Member");
     if (!$example) {
         $pattern = $dao->getPattern();
     } else {
         $pattern = clone $example;
     }
     $pattern->__table = " members, asc_members_affiliates ";
     if ($certified == 'both') {
         $pattern->whereAdd(" members.id = asc_members_affiliates.memberFid and asc_members_affiliates.affiliateFid = " . $this->id);
     } else {
         if ($certified) {
             $pattern->whereAdd(" members.id = asc_members_affiliates.memberFid and asc_members_affiliates.affiliateFid = " . $this->id . " and asc_members_affiliates.certified = 1");
         } else {
             $pattern->whereAdd(" members.id = asc_members_affiliates.memberFid and asc_members_affiliates.affiliateFid = " . $this->id . " and asc_members_affiliates.certified = 0");
         }
     }
     $pattern->orderBy($orderBy);
     $pattern->limit($from, $limit);
     return $dao->search($pattern);
 }
    function max5admins($fields){

    	if ($fields['user']['roleFid'] != 3) {
			return TRUE;    		
    	}

    	$errors = array();

		$loginDao = new BaseDao("Login");
    	$login = $loginDao->getPattern();    	
    	$login->roleFid = 3;
    	$loginList = $loginDao->search($login);

    	//if user is already superadmin
    	$id =  $fields['user']['id'];
    	if (in_array($id, $this->getListOfCertainFieldValues($loginList, 'id'))){
    		return TRUE;
    	}

//    	print_r(count($loginList)); die();

    	if (count($loginList) >= 5) {
    		$errors['user[roleFid]'] = "There are already 5 superadmins exist. Remove one before.";	
    	}

    	if (empty($errors)) return TRUE;
	    	else return $errors;
    }
 private function parseMembers()
 {
     $memFile = fopen("./upload/members.txt", "r");
     $zipDao = new BaseDao("model_Zip_codes");
     $stateDao = new BaseDao("State");
     while (!feof($memFile)) {
         $line = fgets($memFile);
         $fields = explode("\t", $line);
         $forum = strlen($fields[16]) == 4 ? 0 : 1;
         $cert = strlen($fields[26]) > 1 ? 1 : 0;
         $deleted = null;
         if ($fields[24]) {
             $deleted = strlen($fields[24]) == 6 ? 1 : 0;
         }
         $isSighted = null;
         if ($fields[23]) {
             $isSighted = strlen($fields[23]) == 6 ? 1 : 0;
         }
         //noc
         $noc = null;
         $nocLetter = strtolower($fields[25]);
         switch ($nocLetter) {
             case 'd':
                 $noc = 4;
                 break;
             case 'u':
                 $noc = 11;
                 break;
             case 'm':
                 $noc = 9;
                 break;
             case 'f':
                 $noc = 2;
                 break;
         }
         $middleInitial = "";
         $tempName = $this->prepareName($fields[6]);
         if (is_array($tempName)) {
             $lastName = $tempName[0];
             $middleInitial = $tempName[1];
         } else {
             $lastName = $tempName;
         }
         $tempName = $this->prepareName($fields[7]);
         if (is_array($tempName)) {
             $firstName = $tempName[0];
             $middleInitial = $tempName[1];
         } else {
             $firstName = $tempName;
         }
         $curRecord = array("recnum" => $fields[0], "lastName" => $lastName, "firstName" => $firstName, "middleInitial" => $middleInitial, "address1" => $fields[8], "zipcode" => $fields[13], "city" => $this->Ufirst($fields[11]), "stateFid" => $fields[12], "added" => date('Y-m-d'), "receivesBrailleForum" => $forum, "isCertified" => $cert, "deleted" => $deleted, "nocFid" => $noc, "isSighted" => $isSighted, "notes" => $fields[22]);
         $zipPattern = $zipDao->getPattern();
         $statePattern = $stateDao->getPattern();
         $zipPattern->zip = $curRecord['zipcode'];
         $zips = $zipDao->search($zipPattern);
         if ($zips && count($zips) > 0) {
             $zip = $zips[0];
             $curRecord['city'] = $zip->city ? $zip->city : $curRecord['city'];
             $statePattern->abbr = $zip->state;
             $state = $stateDao->search($statePattern);
             $curRecord['stateFid'] = $state[0]->id;
         } else {
             $statePattern->abbr = $curRecord['state'];
             $state = $stateDao->search($statePattern);
             $curRecord['stateFid'] = $state[0]->id;
         }
         $toReturn[] = $curRecord;
     }
     return $toReturn;
 }
Exemple #9
0
 function search()
 {
     return BaseDao::search("Member", $this);
 }
Exemple #10
0
 private function findEditorAffiliates()
 {
     $editorId = $this->getContext()->getUser()->getAttribute('Login')->id;
     $affDao = new BaseDao("Affiliate");
     $affEx = $affDao->getPattern();
     $affEx->editor = $editorId;
     $editorAffiliates = $affDao->search($affEx);
     return $editorAffiliates;
 }
	public function execute() {

		$request = $this->getContext()->getRequest();

		$identity = $request->getParameter("id");
		$redirectTo = "MemberView?id=$identity";

		if ($request->getParameter("certifyForAff")){
			$certifyForAff = $request->getParameter("certifyForAff");			
			$redirectTo = "CertifyAffiliate?id=$certifyForAff";
		}

		$userRole = $this->checkMemberAuth($identity);
		$request->setAttribute('userRole', $userRole);

	    //redirect if we press Cancel button
		if($request->getParameter('cancel')) {

			//redirecting to list of members if we aren't press cancles when adding new member.
			if (!identity){	
				$redirectTo = "Search?searchFor=Member";
			}

			$this->log("Canceling editing of member record. Member id: $identity.");

    		header("location: $redirectTo");
			return View::NONE;
		}

		$this->dao = new BaseDao("Member");
		$this->assocDao = new BaseDao("MemberToAffiliateAssociation");
		$this->affDao = new BaseDao("Affiliate");

		if($identity){
			$member = $this->dao->get($identity);
			$member->dig();
		} else {
			$this->log("Inserting new member.");
			$member = $this->dao->getPattern();
		}
		
		
		$request->setAttribute('member', $member);

		$needToSaveChanges = !($this->isRecordModifiedBySameRolePerson($member, $userRole));
		$request->setAttribute("needToApproveChanges", $needToSaveChanges && $this->isRecordHasActiveTransactions($member));

		if ($request->getParameter('rollback')) {

			$this->log("Rolling back changes made by $userRole for member id: ".$member->id.", name: ". $member->firstName." ".$member->lastName.".");
			$this->log("Rolling back changes made by $userRole for member id: ".$member->id.", name: ". $member->firstName." ".$member->lastName.".", true);

			$this->rollBackChanges($member);
			$this->dao->save($member);

		} elseif($request->getParameter('accept')){

			$this->log("Accepting changes made by $userRole for member id: ".$member->id.", name: ". $member->firstName." ".$member->lastName.".");
			$this->log("Accepting changes made by $userRole for member id: ".$member->id.", name: ". $member->firstName." ".$member->lastName.".", true);
			
			$this->acceptChanges($member);
			$this->dao->save($member);
			
		} elseif($request->getParameter('save')){

			$this->log("Saving changes made by $userRole for member id: ".$member->id.", name: ". $member->firstName." ".$member->lastName.".");
			$this->log("Saving changes made by $userRole for member id: ".$member->id.", name: ". $member->firstName." ".$member->lastName.".", true);

			if ($needToSaveChanges) { 
				$this->saveTransaction($member);
				$this->log("Transaction created. Please certify chantges. Member id: ".$member->id, ", name: ". $member->firstName." ".$member->lastName.".");
			}

			$identity = $this->saveMember($member, $request);
			$redirectTo = "MemberView?id=$identity";

		} elseif($request->getParameter('certify') && $certifyForAff){	     //just to be sure affiliate id is set.

			if ($this->isRecordHasActiveTransactions($member)){	
				$this->acceptChanges($member);
				$this->dao->save($member);

				$this->log("Member certified. Pending changes accepted automatically. Id: ".$member->id. ", name: ". $member->firstName." ".$member->lastName.".");
				$this->log("Member certified. Pending changes accepted automatically. Id: ".$member->id. ", name: ". $member->firstName." ".$member->lastName.".", true);
			}else{
				$this->saveMember($member, $request);				

				$this->log("Member certified. Id: ".$member->id. ", name: ". $member->firstName." ".$member->lastName.".");
				$this->log("Member certified. Id: ".$member->id. ", name: ". $member->firstName." ".$member->lastName.".", true);
			}
			$assoc = $this->getAssocExample($member->id, $certifyForAff);
			$assoc->certified = 1;
			$assoc->certificationDate = date('Y-m-d');
			$assoc->update(); //this can possible not work if during editing we remove record from certifying affiliate.



			$this->updateAffLastCertDate($certifyForAff);

		} elseif($request->getParameter("not_certify")){	
			$assoc = $this->getAssocExample($member->id, $certifyForAff);
			$assoc->delete();

			$this->log("Member not ceritfied. Id: ".$member->id. ", name: ". $member->firstName." ".$member->lastName.".");
		} else{
			$nocDao = new BaseDao("NatureOfChange");
			$request->setAttribute('nocList', $nocDao->search());
			$mediaDao = new BaseDao("Media");
			$request->setAttribute("mediaList", $mediaDao->search());
			$countryDao = new BaseDao("Country");
			$request->setAttribute("countryList", $countryDao->search());
			$stateDao = new BaseDao("State");
			$request->setAttribute("stateList", $stateDao->search());
			$request->setAttribute('affList', $this->getAffListForSelectOptions());	

			foreach($member->affiliates as $affiliate)
			{
				$affListSelected[] = $affiliate->id;
			}

			$request->setAttribute("affListSelected", $affListSelected);

			$certDates = $this->getAffNameToCertificationDateMap($member);
			$request->setAttribute("certificationDates", $certDates);				

			if ($certifyForAff) {	
				$request->setAttribute("certificationMode", true);				
				$request->setAttribute("certifyForAff", $certifyForAff);				
			}
			
			return 'Form';
		}

//		$this->getContext()->getController()->forward("Default", $redirectTo);
		header("location: $redirectTo");
		return View::NONE;
	}
 public static function find($affiliateList)
 {
     $affDao = new BaseDao("EditorTransactionAtom");
     $pattern = $affDao->getPattern();
     $inText = "";
     if ($affiliateList) {
         foreach ($affiliateList as $aff) {
             $inText .= $aff . ", ";
         }
         $inText .= "-1";
     }
     $pattern->whereAdd(" affiliateFid IN ( " . $inText . " )");
     $trans_results = $affDao->search($pattern);
     $result = array();
     foreach ($trans_results as $res) {
         array_push($result, EditorTransaction::resume($res->transFid));
     }
     return $result;
 }