/**
  * @return string|void
  */
 public function confirmTeamInvitation()
 {
     $token = $this->request->param('CONFIRMATION_TOKEN');
     try {
         $current_member = Member::currentUser();
         if (is_null($current_member)) {
             return Controller::curr()->redirect("Security/login?BackURL=" . urlencode($_SERVER['REQUEST_URI']));
         }
         $team = $this->team_manager->confirmInvitation($token, $current_member);
         return $this->renderWith(array('TeamInvitationConfirmation_successfull', 'Page'), array('TeamName' => $team->getName(), 'CompanyName' => $team->getCompany()->Name));
     } catch (InvitationBelongsToAnotherMemberException $ex1) {
         SS_Log::log($ex1, SS_Log::ERR);
         $invitation = $this->invitation_repository->findByConfirmationToken($token);
         return $this->renderWith(array('TeamInvitationConfirmation_belongs_2_another_user', 'Page'), array('UserName' => $invitation->getMember()->Email));
     } catch (Exception $ex) {
         SS_Log::log($ex, SS_Log::ERR);
         return $this->renderWith(array('TeamInvitationConfirmation_error', 'Page'));
     }
 }
 public function deleteTeam()
 {
     $team_id = (int) $this->request->param('TEAM_ID');
     try {
         $this->team_manager->removeTeam($team_id);
         return $this->deleted();
     } catch (EntityValidationException $ex2) {
         SS_Log::log($ex2, SS_Log::NOTICE);
         return $this->validationError($ex2->getMessages());
     } catch (NotFoundEntityException $ex3) {
         SS_Log::log($ex3, SS_Log::NOTICE);
         return $this->validationError(array(array('attribute' => 'error', 'message' => 'Team does not exist on Company!')));
     } catch (Exception $ex) {
         SS_Log::log($ex, SS_Log::ERR);
         return $this->serverError();
     }
 }
Example #3
0
<?php

/**
 * Copyright 2014 Openstack Foundation
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * http://www.apache.org/licenses/LICENSE-2.0
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 **/
//decorators
Object::add_extension('Member', 'ICLAMemberDecorator');
Object::add_extension('Company', 'ICLACompanyDecorator');
Object::add_extension('SangriaPage_Controller', 'SangriaPageICLACompaniesExtension');
Object::add_extension('EditProfilePage_Controller', 'EditProfilePageICLAExtension');
PublisherSubscriberManager::getInstance()->subscribe('new_user_registered', function ($member_id) {
    //check if user has pending invitations
    $team_manager = new CCLATeamManager(new SapphireTeamInvitationRepository(), new SapphireCLAMemberRepository(), new TeamInvitationFactory(), new TeamFactory(), new CCLAValidatorFactory(), new SapphireTeamRepository(), SapphireTransactionManager::getInstance());
    $team_manager->verifyInvitations($member_id, new TeamInvitationEmailSender(new SapphireTeamInvitationRepository()));
});