get('session')->save(); $this->get('net15.restifier.dispatch')->map('POST',$this,'checkEmail_POST'); return $this->get('net15.restifier.dispatch')->exec(); } public function checkEmail_POST(){ $ret = ['isFree' => true, 'error' => false]; $email = $this->get('net15.restifier.dispatch')->getContentValue('email',null); if(is_null($email)) return $this->get('net15.restifier.dispatch')->error('No email selected'); $u = $this->get('net15.user.manager')->getUserByEmail($email); if($u instanceof CustomUserInterface) $ret['isFree'] = false; return new JsonResponse($ret); } /** * @return array */ public function addGetAction(){ $this->get('session')->save(); $this->get('net15.restifier.dispatch')->map('GET',$this,'getActualUserGet'); return $this->get('net15.restifier.dispatch')->exec(); } /** * return mapped actual user * @return JsonResponse */ public function getActualUserGet(){ $u = $this->get('net15.user.manager')->getActualUser(); if(!$u instanceof CustomUserInterface) return new JsonResponse(array('logged' => false)); $ret = $this->get('net15.restifier.process')->objectToArray($u,array('id','email','publicKey','gender', 'lastLogin','countryCode','DropboxFolder','TrashFolder'), array( 'FolderItem' => array('guid'), ) ); $ret['companies'] = []; $companies = $this->get('net15.company.manager')->getCompaniesForUser(); $i = 0; foreach($companies as $company){ $ret['companies'][$i] = $this->get('net15.restifier.process')->objectToArray($company,['name','created','pro','publicKey']); $roles = $this->get('net15.company.role.manager')->getUserRoleInCompany($company, $u); $allRoles = []; $selfCompany = false; $selected = false; foreach($roles as $rl){ /** * @var $rl CustomCompanyUserRoleInterface */ if($rl->isSelected()) $selected = true; if($rl->isSelfCompany()) $selfCompany = true; $allRoles[] = $this->get('net15.restifier.process')->objectToArray($rl,['positionInService','selected','selfCompany','level','owner','service']); } $ret['companies'][$i]['selfCompany'] = $selfCompany; $ret['companies'][$i]['selected'] = $selected; $ret['companies'][$i]['roles'] = $allRoles; $i++; } if(!isset($ret['DropboxFolder']) || $ret['DropboxFolder'] == null){ $r = $this->get('net15.files.manager.main')->userDropbox(); if($r instanceof FolderItem) $ret['DropboxFolder'] = $r->getGuid(); } if(!isset($ret['TrashFolder']) || $ret['TrashFolder'] == null){ $r = $this->get('net15.files.manager.main')->userTrash(); if($r instanceof FolderItem) $ret['TrashFolder'] = $r->getGuid(); } return new JsonResponse($ret); } }