/** * @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(); } }
<?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())); });