public function save(Activity $activity)
 {
     if (!$activity->getUser() && $this->user) {
         $this->user->addActivity($activity);
     }
     $this->em->persist($activity);
     $this->em->flush();
 }
 private function disponibiliteEqual(User $user, User $buddyPotentiel)
 {
     if ($user->getArrival() != null && $user->getArrival() != null) {
         if (DateTools::Date1IsGreaterThanDate2($user->getArrival(), $buddyPotentiel->getArrival()) && DateTools::Date1IsGreaterThanDate2($buddyPotentiel->getDepart(), $user->getDepart())) {
             return 1;
         } else {
             if (DateTools::Date1IsGreaterThanDate2WithRadius($user->getArrival(), $buddyPotentiel->getArrival(), 15, 0, 0) && DateTools::Date1IsGreaterThanDate2WithRadius($buddyPotentiel->getDepart(), $user->getDepart(), 15, 0, 0)) {
                 return 1.5;
             } else {
                 if (DateTools::Date1IsGreaterThanDate2($user->getArrival(), $buddyPotentiel->getArrival())) {
                     return 2;
                 }
                 if (DateTools::Date1IsGreaterThanDate2($buddyPotentiel->getDepart(), $user->getDepart())) {
                     return 2;
                 }
             }
         }
     }
     return 0;
 }
 /**
  * Get the dashboard profil % completed
  *
  * @param User $user
  *
  * @return float
  */
 function getPercentCompleted(User $user)
 {
     $totalToFill = 13;
     $completed = 0;
     if ($user->getPrenom()) {
         $completed++;
     }
     if ($user->getNom()) {
         $completed++;
     }
     if ($user->getTel()) {
         $completed++;
     }
     if ($user->getSexe()) {
         $completed++;
     }
     if ($user->getDob()) {
         $completed++;
     }
     if ($user->getArrival()) {
         $completed++;
     }
     if ($user->getDepart()) {
         $completed++;
     }
     if ($user->getEsncard()) {
         $completed++;
     }
     if ($user->getSexewanted()) {
         $completed++;
     }
     if ($user->getNationalite()) {
         $completed++;
     }
     if ($user->getLanguages()) {
         $completed++;
     }
     if ($user->getHobbies()) {
         $completed++;
     }
     if ($user->getUniversite()) {
         $completed++;
     }
     return round($completed / $totalToFill * 100);
 }
 public function replace_keys(Emails $mail, User $local, User $is, Section $section)
 {
     $mail->setBody(str_replace('local.prenom', $local->getPrenom(), $mail->getBody()));
     $mail->setBody(str_replace('is_student.prenom', $is->getPrenom(), $mail->getBody()));
     $mail->setBody(str_replace('local.nom', $local->getNom(), $mail->getBody()));
     $mail->setBody(str_replace('is_student.nom', $is->getNom(), $mail->getBody()));
     $mail->setBody(str_replace('local.age', $local->getAge(), $mail->getBody()));
     $mail->setBody(str_replace('is_student.age', $is->getAge(), $mail->getBody()));
     $mail->setBody(str_replace('local.universite', $local->getUniversite(), $mail->getBody()));
     $mail->setBody(str_replace('is_student.universite', $is->getUniversite(), $mail->getBody()));
     if ($local->getArrival() != null) {
         $mail->setBody(str_replace('local.arrival', $local->getArrival()->format('d/m/Y'), $mail->getBody()));
     }
     if ($is->getArrival() != null) {
         $mail->setBody(str_replace('is_student.arrival', $is->getArrival()->format('d/m/Y'), $mail->getBody()));
     } else {
         $mail->setBody(str_replace(' et arrivera le is_student.arrival.', '.', $mail->getBody()));
     }
     $mail->setBody(str_replace('local.email', $local->getEmail(), $mail->getBody()));
     $mail->setBody(str_replace('is_student.email', $is->getEmail(), $mail->getBody()));
     $mail->setBody(str_replace('local.username', $local->getUsername(), $mail->getBody()));
     $mail->setBody(str_replace('is_student.username', $is->getUsername(), $mail->getBody()));
     $mail->setBody(str_replace('local.password', $local->getPassword(), $mail->getBody()));
     $mail->setBody(str_replace('is_student.password', $is->getPassword(), $mail->getBody()));
     $mail->setBody(str_replace('local.nationality', $local->getNationalite(), $mail->getBody()));
     $mail->setBody(str_replace('is_student.nationality', $is->getNationalite(), $mail->getBody()));
     $mail->setBody(str_replace('section.name', $section->getName(), $mail->getBody()));
     return $mail;
 }
 /**
  * {@inheritDoc}
  */
 public function load(ObjectManager $manager)
 {
     $this->manager = $manager;
     $nationalities = $manager->getRepository('BuddySystemMembersBundle:Nationality')->findAll();
     $maxNationalitiesId = $this->getMaxId('BuddySystemMembersBundle:Nationality');
     $admin = new User();
     $admin->setRoles(array('ROLE_ADMIN'));
     $admin->setEnabled(true);
     $admin->setUsername('admin');
     $admin->setPassword('admin');
     $admin->setPrenom("Admin");
     $admin->setNom("Admin");
     $admin->setSexe('m');
     $admin->setDob($this->getRandomDatetime());
     $admin->setSexewanted('f');
     $admin->setEmail("*****@*****.**");
     $admin->setPlainPassword("admin");
     $admin->setSection($this->getLilleSection());
     $admin->setTel($this->getRandomPhoneNumber());
     $admin->setConditionGenerale(true);
     $admin->setNationalityOsef(true);
     $nationalite = $manager->getRepository('BuddySystemMembersBundle:Nationality')->findOneBy(array("id" => rand($maxNationalitiesId - count($nationalities) + 1, $maxNationalitiesId)));
     $nationalite->addUser($admin);
     $nationalite_voulu = $manager->getRepository('BuddySystemMembersBundle:Nationality')->findOneBy(array("id" => rand($maxNationalitiesId - count($nationalities) + 1, $maxNationalitiesId)));
     $nationalite_voulu->addUserWanted($admin);
     $manager->persist($admin);
     $manager->flush();
     $buddycoordinator = new User();
     $buddycoordinator->setRoles(array('ROLE_BUDDYCOORDINATOR'));
     $buddycoordinator->setEnabled(true);
     $buddycoordinator->setUsername('buddycoordinator');
     $buddycoordinator->setPassword('buddycoordinator');
     $buddycoordinator->setPrenom("Buddycoordinator");
     $buddycoordinator->setNom("Buddycoordinator");
     $buddycoordinator->setSexe('m');
     $buddycoordinator->setDob($this->getRandomDatetime());
     $buddycoordinator->setSexewanted('f');
     $buddycoordinator->setEmail("*****@*****.**");
     $buddycoordinator->setPlainPassword("buddycoordinator");
     $buddycoordinator->setSection($this->getLilleSection());
     $buddycoordinator->setTel($this->getRandomPhoneNumber());
     $buddycoordinator->setConditionGenerale(true);
     $buddycoordinator->setNationalityOsef(true);
     $nationalite = $manager->getRepository('BuddySystemMembersBundle:Nationality')->findOneBy(array("id" => rand($maxNationalitiesId - count($nationalities) + 1, $maxNationalitiesId)));
     $nationalite->addUser($buddycoordinator);
     $nationalite_voulu = $manager->getRepository('BuddySystemMembersBundle:Nationality')->findOneBy(array("id" => rand($maxNationalitiesId - count($nationalities) + 1, $maxNationalitiesId)));
     $nationalite_voulu->addUserWanted($buddycoordinator);
     $manager->persist($buddycoordinator);
     $manager->flush();
     $user = new User();
     $user->setRoles(array('ROLE_USER'));
     $user->setEnabled(true);
     $user->setUsername('buddy');
     $user->setPassword('buddy');
     $user->setPrenom("Buddy");
     $user->setNom("Buddy");
     $user->setSection($this->getLilleSection());
     $user->setSexe('m');
     $user->setDob($this->getRandomDatetime());
     $user->setSexewanted('f');
     $user->setEmail("*****@*****.**");
     $user->setPlainPassword("buddy");
     $user->setTel($this->getRandomPhoneNumber());
     $user->setConditionGenerale(true);
     $user->setNationalityOsef(true);
     $nationalite = $manager->getRepository('BuddySystemMembersBundle:Nationality')->findOneBy(array("id" => rand($maxNationalitiesId - count($nationalities) + 1, $maxNationalitiesId)));
     $nationalite->addUser($user);
     $nationalite_voulu = $manager->getRepository('BuddySystemMembersBundle:Nationality')->findOneBy(array("id" => rand($maxNationalitiesId - count($nationalities) + 1, $maxNationalitiesId)));
     $nationalite_voulu->addUserWanted($user);
     $manager->persist($user);
     $manager->flush();
     $user = new User();
     $user->setRoles(array('ROLE_USER'));
     $user->setEnabled(true);
     $user->setUsername('local');
     $user->setPassword('local');
     $user->setPrenom("Local");
     $user->setNom("Local");
     $user->setSection($this->getLilleSection());
     $user->setSexe('m');
     $user->setDob($this->getRandomDatetime());
     $user->setSexewanted('f');
     $user->setEmail("*****@*****.**");
     $user->setPlainPassword("local");
     $user->setTel($this->getRandomPhoneNumber());
     $user->setConditionGenerale(true);
     $user->setNationalityOsef(true);
     $nationalite = $manager->getRepository('BuddySystemMembersBundle:Nationality')->findOneBy(array("id" => rand($maxNationalitiesId - count($nationalities) + 1, $maxNationalitiesId)));
     $nationalite->addUser($user);
     $nationalite_voulu = $manager->getRepository('BuddySystemMembersBundle:Nationality')->findOneBy(array("id" => rand($maxNationalitiesId - count($nationalities) + 1, $maxNationalitiesId)));
     $nationalite_voulu->addUserWanted($user);
     $manager->persist($user);
     $manager->flush();
     $translator = new User();
     $translator->setRoles(array('ROLE_TRANSLATOR'));
     $translator->setEnabled(true);
     $translator->setUsername('translator');
     $translator->setPassword('translator');
     $translator->setPrenom("Translator");
     $translator->setSection($this->getLilleSection());
     $translator->setNom("Translator");
     $translator->setSexe('m');
     $translator->setDob($this->getRandomDatetime());
     $translator->setSexewanted('f');
     $translator->setEmail("*****@*****.**");
     $translator->setPlainPassword("translator");
     $translator->setTel($this->getRandomPhoneNumber());
     $translator->setConditionGenerale(true);
     $translator->setNationalityOsef(true);
     $nationalite = $manager->getRepository('BuddySystemMembersBundle:Nationality')->findOneBy(array("id" => rand($maxNationalitiesId - count($nationalities) + 1, $maxNationalitiesId)));
     $nationalite->addUser($translator);
     $nationalite_voulu = $manager->getRepository('BuddySystemMembersBundle:Nationality')->findOneBy(array("id" => rand($maxNationalitiesId - count($nationalities) + 1, $maxNationalitiesId)));
     $nationalite_voulu->addUserWanted($translator);
     $manager->persist($translator);
     $manager->flush();
 }
 /**
  * @param User $user
  *
  * @return array
  */
 public function getBuddiesByUser(User $user)
 {
     $qb = $this->createQueryBuilder('b');
     $qb->leftJoin('b.mentor', 'umentor')->leftJoin('b.mentee', 'umentee')->where('umentor.archive = 0')->andWhere('umentee.archive = 0');
     if ($user->isLocal()) {
         $qb->andwhere('b.mentor = :mentor')->setParameter('mentor', $user->getId());
     } else {
         $qb->andwhere('b.mentee = :mentee')->setParameter('mentee', $user->getId());
     }
     return $qb->getQuery()->getResult();
 }
 private function replace_keys(Emails $mail, User $is)
 {
     $mail->setBody(str_replace('is_student.prenom', $is->getPrenom(), $mail->getBody()));
     $mail->setBody(str_replace('is_student.nom', $is->getNom(), $mail->getBody()));
     $mail->setBody(str_replace('is_student.age', $is->getAge(), $mail->getBody()));
     $mail->setBody(str_replace('is_student.universite', $is->getUniversite(), $mail->getBody()));
     $mail->setBody(str_replace('is_student.email', $is->getEmail(), $mail->getBody()));
     $mail->setBody(str_replace('is_student.username', $is->getUsername(), $mail->getBody()));
     $mail->setBody(str_replace('is_student.password', $this->plainpass, $mail->getBody()));
     $mail->setBody(str_replace('is_student.nationality', $is->getNationalite(), $mail->getBody()));
     $mail->setBody(str_replace('section.name', $this->sectionManager->getCurrentSection()->getName(), $mail->getBody()));
     return $mail;
 }
 /**
  * {@inheritDoc}
  */
 public function load(ObjectManager $manager)
 {
     $this->manager = $manager;
     $this->nationalities = $manager->getRepository('BuddySystemMembersBundle:Nationality')->findAll();
     $this->universities = $manager->getRepository('BuddySystemMembersBundle:Univercity')->findAll();
     $maxNationalitiesId = $this->getMaxId('BuddySystemMembersBundle:Nationality');
     $maxUniversitiesId = $this->getMaxId('BuddySystemMembersBundle:Univercity');
     //Create local Members
     for ($i = 0; $i < 20; $i++) {
         $user = new User();
         $user->setEnabled(true);
         $user->setDob($this->getRandomDatetime());
         $user->setArrival($this->getRandomArrival());
         $user->setDepart($this->getRandomDepart());
         $nationality = $this->getFrenchNationality();
         $nationality->addUser($user);
         $user->setNationaliteVoulu($manager->getRepository('BuddySystemMembersBundle:Nationality')->findOneBy(array("id" => rand($maxNationalitiesId - count($this->nationalities) + 1, $maxNationalitiesId))));
         $name = $this->getRandomName();
         $user->setUsername($name);
         $user->setNom($name);
         $user->setPrenom($this->getRandomSurname());
         $user->setEmail($this->getRandomEmail());
         $university = $manager->getRepository('BuddySystemMembersBundle:Univercity')->findOneBy(array("id" => rand($maxUniversitiesId - count($this->universities) + 1, $maxUniversitiesId)));
         $university->addUser($user);
         $user->setTel($this->getRandomPhoneNumber());
         $user->setPlainPassword("fixtures");
         $user->setSexe($this->sexes[rand(0, 1)]);
         $user->setSexewanted($this->sexes[rand(0, 1)]);
         $user->setConditionGenerale(true);
         $user->setNationalityOsef(true);
         $user->setSection($this->manager->getRepository('BuddySystemMainBundle:Section')->findOneBy(array("code_section" => "FR-LILL-ESL")));
         $manager->persist($user);
         $manager->flush();
     }
     //Create IS Members
     for ($i = 0; $i < 20; $i++) {
         $user = new User();
         $user->setEnabled(true);
         $user->setDob($this->getRandomDatetime());
         $user->setArrival($this->getRandomArrival());
         $user->setDepart($this->getRandomDepart());
         $nationality = $manager->getRepository('BuddySystemMembersBundle:Nationality')->findOneBy(array("id" => rand($maxNationalitiesId - count($this->nationalities) + 1, $maxNationalitiesId)));
         $nationality->addUser($user);
         $name = $this->getRandomName();
         $user->setUsername($name);
         $user->setNom($name);
         $user->setPrenom($this->getRandomSurname());
         $user->setEmail($this->getRandomEmail());
         $university = $manager->getRepository('BuddySystemMembersBundle:Univercity')->findOneBy(array("id" => rand($maxUniversitiesId - count($this->universities) + 1, $maxUniversitiesId)));
         $university->addUser($user);
         $user->setTel($this->getRandomPhoneNumber());
         $user->setPlainPassword("fixtures");
         $user->setSexe($this->sexes[rand(0, 1)]);
         $user->setSexewanted($this->sexes[rand(0, 1)]);
         $user->setConditionGenerale(true);
         $user->setNationalityOsef(false);
         $user->setNationaliteVoulu($this->getFrenchNationality());
         $user->setSection($this->manager->getRepository('BuddySystemMainBundle:Section')->findOneBy(array("code_section" => "FR-LILL-ESL")));
         $manager->persist($user);
         $manager->flush();
     }
 }
 public function sendEmail(User $user)
 {
     $message = \Swift_Message::newInstance()->setSubject('[BuddySystem] Welcoming international students in France, help us improve it')->setFrom('*****@*****.**')->setTo($user->getEmail())->setBody($this->getContainer()->get('templating')->render('BuddySystemMainBundle:Emails:welcomingis.html.twig'), 'text/html');
     $this->getContainer()->get('mailer')->send($message);
 }
 public function sendEmail(User $user)
 {
     $message = \Swift_Message::newInstance()->setSubject('[BuddySystem] Renouveler l\'expérience')->setFrom('*****@*****.**')->setTo($user->getEmail())->setBody($this->getContainer()->get('templating')->render('BuddySystemMainBundle:Emails:renewing.html.twig', array('user' => $user)), 'text/html');
     $this->getContainer()->get('mailer')->send($message);
 }
 public function findAuthorizedUsers(User $user, Section $section)
 {
     $query = $this->createQueryBuilder('u')->select('u')->where('u.section = :section')->setParameter('section', $section);
     if (in_array('ROLE_BUDDYCOORDINATOR', $user->getRoles())) {
         return $query->getQuery()->getResult();
     } else {
         if (in_array('ROLE_USER', $user->getRoles())) {
             $query->andWhere('u.roles LIKE :roles')->setParameter('roles', "%ROLE_BUDDYCOORDINATOR%");
         }
     }
     return $query->getQuery()->getResult();
 }
 private function replace_keys(Emails $mail, User $local)
 {
     $mail->setBody(str_replace('local.prenom', $local->getPrenom(), $mail->getBody()));
     $mail->setBody(str_replace('local.nom', $local->getNom(), $mail->getBody()));
     $mail->setBody(str_replace('local.age', $local->getAge(), $mail->getBody()));
     $mail->setBody(str_replace('local.universite', $local->getUniversite(), $mail->getBody()));
     $mail->setBody(str_replace('local.email', $local->getEmail(), $mail->getBody()));
     $mail->setBody(str_replace('local.username', $local->getUsername(), $mail->getBody()));
     $mail->setBody(str_replace('local.password', $this->plainpass, $mail->getBody()));
     $mail->setBody(str_replace('local.nationality', $local->getNationalite(), $mail->getBody()));
     $mail->setBody(str_replace('section.name', $this->section->getName(), $mail->getBody()));
     return $mail;
 }