Example #1
0
 public function findPerPage($A_limit)
 {
     $I_firstOfPage = $A_limit['firstOfPage'];
     $I_perPage = $A_limit['perPage'];
     $S_sql = 'SELECT id, login, operator_id, inspector_id, profile_id FROM user LIMIT ' . $I_firstOfPage . ', ' . $I_perPage;
     $O_connection = new Connection();
     if ($A_data = $O_connection->requestDb($S_sql, $A_params = null, self::CLASS_NAME)) {
         $A_users = null;
         foreach ($A_data as $key => $value) {
             $O_user = $A_data[$key];
             if (!is_null($O_user->getOperatorId())) {
                 try {
                     $O_operatorMapper = new OperatorMapper();
                     $O_operator = $O_operatorMapper->findById($O_user->getOperatorId());
                     $O_user->setOperator($O_operator);
                     $O_teamMapper = new TeamMapper();
                     $O_team = $O_teamMapper->findByOperator($O_user->getOperatorId());
                     $O_operator->setTeam($O_team);
                 } catch (Exception $e) {
                     echo 'L\'erreur suivante s\'est produite : ' . $e->getMessage();
                 }
             }
             if (!is_null($O_user->getInspectorId())) {
                 try {
                     $O_inspectorMapper = new InspectorMapper();
                     $O_inspector = $O_inspectorMapper->findById($O_user->getInspectorId());
                     $O_user->setInspector($O_inspector);
                 } catch (Exception $e) {
                     echo 'L\'erreur suivante s\'est produite : ' . $e->getMessage();
                 }
             }
             if (!is_null($O_user->getProfileId())) {
                 try {
                     $O_profileMapper = new ProfileMapper();
                     $O_profile = $O_profileMapper->findById($O_user->getProfileId());
                     $O_user->setProfile($O_profile);
                 } catch (Exception $e) {
                     echo 'L\'erreur suivante s\'est produite : ' . $e->getMessage();
                 }
             }
             $A_users[] = $O_user;
         }
     } else {
         throw new Exception("Une erreur s'est produite");
     }
     return $A_users;
 }
Example #2
0
 public function findToNextCheckBysubgroupId($I_subgroup_id)
 {
     // je crée la date à l'instant t et je rajoute 1 mois
     $O_date = new DateTime();
     // 60 x 60 x 24 x 30 = 2592000 secondes
     $I_date = $O_date->format('U') + 2592000;
     $O_date = DateTime::createFromFormat('U', $I_date);
     $S_sql = "SELECT e.id , e.dealer, e.order_number, e.manufacture_date, e.purchase_date, e.profile, e.internal_reference, e.commissioning_date,\n              e.last_check_date, e.next_check_date, e.end_of_life_date, e.operator_id, e.safety_line_id, e.team_id, e.label_epi_id\n              FROM epi as e\n              INNER JOIN team as t ON t.id = e.team_id\n              INNER JOIN subgroup as s ON s.id = t.subgroup_id\n              WHERE subgroup_id = ? AND profile ='en service' AND next_check_date > '2000-01-01' AND next_check_date < '" . $O_date->format('Y-m-d H:i:s') . "'";
     $A_params = array($I_subgroup_id);
     $O_connection = new Connection();
     if ($A_data = $O_connection->requestDb($S_sql, $A_params, self::CLASS_NAME)) {
         $A_epis = null;
         foreach ($A_data as $key => $value) {
             $O_epi = $A_data[$key];
             // on récupère l'objet epi
             $O_epi->initManufactureDate();
             $O_epi->initPurchaseDate();
             $O_epi->initCommissioningDate();
             $O_epi->initLastCheckDate();
             $O_epi->initNextCheckDate();
             $O_epi->initEndOfLifeDate();
             if (!is_null($O_epi->getLabelEpiId())) {
                 try {
                     $O_labelMapper = new LabelMapper();
                     $O_label = $O_labelMapper->findById($O_epi->getLabelEpiId());
                     $O_epi->setLabelEpi($O_label);
                 } catch (Exception $e) {
                     //On récupère le message de l'exception
                     echo 'L\'erreur suivante s\'est produite : ' . $e->getMessage();
                 }
             }
             if (!is_null($O_epi->getTeamId())) {
                 try {
                     $O_teamMapper = new TeamMapper();
                     $O_team = $O_teamMapper->findById($O_epi->getTeamId());
                     $O_epi->setTeam($O_team);
                 } catch (Exception $e) {
                     //On récupère le message de l'exception
                     echo 'L\'erreur suivante s\'est produite : ' . $e->getMessage();
                 }
             }
             $A_epis[] = $O_epi;
         }
         return $A_epis;
     } else {
         throw new Exception("Pas d'EPI à controler.");
     }
 }
 protected function retrievePouleTeams($oPoule, array $pouleTeams)
 {
     foreach ($pouleTeams as $pouleTeam) {
         if (!isset($this->retrievedTeamNefubIds[$pouleTeam->Team->ID])) {
             $url = NEFUB_API . '/team.php?id=' . $pouleTeam->Team->ID;
             $team = $this->getNefubContentsParsed($url, MAX_AGE_TEAM_DETAILS);
             $oTeam = TeamMapper::mapFromAPI($team);
             if (!isset($this->retrievedClubNefubIds[$team->Club->ID])) {
                 $clubUrl = NEFUB_API . '/club.php?id=' . $oTeam->club_nefub_id;
                 $club = $this->getNefubContentsParsed($url, MAX_AGE_CLUB_DETAILS);
                 $oClub = ClubMapper::mapFromAPI($club);
                 $this->retrievedClubNefubIds[$oClub->nefub_id] = true;
             }
             $this->retrievedTeamNefubIds[$oTeam->nefub_id] = true;
         } else {
             $oTeam = Team::getByNefubId($pouleTeam->Team->ID);
         }
         $oPouleTeam = PouleTeamMapper::mapRelationFromAPI($pouleTeam, $oPoule, $oTeam);
         if (isset($team->Players) && is_array($team->Players)) {
             $this->retrieveTeamPersons($oTeam, $team->Players);
         }
     }
     // end poule team loop
 }
 public function findByName($S_name)
 {
     $S_sql = 'SELECT id, name, first_name, size_harness, email, inception_date, team_id FROM operator WHERE name = ?';
     $A_params = array($S_name);
     $O_connection = new Connection();
     if ($O_operator = $O_connection->requestDb($S_sql, $A_params, self::CLASS_NAME, $onlyOneObject = true)) {
         $O_operator->initInceptionDate();
         $O_teamMapper = new TeamMapper();
         $O_team = $O_teamMapper->findById($O_operator->getTeamId());
         $O_operator->setTeam($O_team);
         return $O_operator;
     } else {
         throw new Exception("une erreur c'est produite lors de la requête");
     }
 }
 public function createAction()
 {
     $this->isAdmin();
     if (isset($_POST['operator'])) {
         $O_operator = new Operator();
         $O_operator->setName($_POST['name']);
         $O_operator->setFirstName($_POST['firstName']);
         $O_operator->setSizeHarness($_POST['sizeHarness']);
         $O_operator->setEmail($_POST['email']);
         $O_operator->initInceptionDate();
         $O_teamMapper = new TeamMapper();
         $O_team = $O_teamMapper->findByTwoIds($_POST['staff_id'], $_POST['subgroup_id']);
         $O_operator->setTeamId($O_team->getId());
         $O_operatorMapper = new OperatorMapper();
         $I_operatorId = $O_operatorMapper->insert($O_operator);
         //die(header('Location:/user/default/'));
     }
     if (isset($_POST['inspector'])) {
         $O_inspector = new Inspector();
         $O_inspector->setName($_POST['name']);
         $O_inspector->setFirstName($_POST['firstName']);
         $O_inspector->setEmail($_POST['email']);
         $O_inspector->setSubgroupId($_POST['subgroup_id']);
         $O_inspector->initInceptionDate();
         $O_inspectorMapper = new InspectorMapper();
         $I_inspectorId = $O_inspectorMapper->insert($O_inspector);
     }
     $O_user = new User();
     $O_user->setLogin($_POST['login']);
     $O_user->setPassword($_POST['password']);
     $O_user->setProfileId($_POST['profile_id']);
     if (isset($_POST['operator'])) {
         $O_user->setOperatorId($I_operatorId);
     }
     if (isset($_POST['inspector'])) {
         $O_user->setInspectorId($I_inspectorId);
     }
     $O_userMapper = new UserMapper();
     $I_userId = $O_userMapper->insert($O_user);
 }
 protected function persistLocalModel($user, $resource_hash)
 {
     // Will be used to check if the user already exist locally
     $mno_id_map = MnoIdMap::findMnoIdMapByMnoIdAndEntityName($resource_hash['id'], 'APPUSER', 'USERS');
     $user->save("Users", false);
     // We make sure that the mnoIdMap is created before we start to parse the user's teams to bloc kany eventual recursive loop
     $this->findOrCreateIdMap($resource_hash, $user);
     // Add user to corresponding teams
     if (!$mno_id_map) {
         // User does not exist locally => we add him to its teams
         $mno_teams = $resource_hash['teams'];
         $team_mapper = new TeamMapper();
         for ($j = 0; $j < count($mno_teams); $j++) {
             $team_hash = $mno_teams[$j];
             // Retrieve the local group if exists or create it based on data from Connec! Entity::Team otherwise
             $group_model = $team_mapper->fetchConnecResource($team_hash['id']);
             $group_members = array_keys($group_model->getMembers()["Users"]);
             // At this stage, the user should exist (has been saved before), and have an id defined
             array_push($group_members, "Users:" . json_encode($user->id));
             $group_model->set('group_members', $group_members);
             // Will save the new users list for the team
             $team_mapper->persistLocalModel($group_model, null);
         }
     }
 }