Compare commits
5 Commits
dist/eole/
...
master
Author | SHA1 | Date |
---|---|---|
afornerot | 0390c3b474 | |
afornerot | 50188f1851 | |
afornerot | eabb7067a7 | |
afornerot | 58b4d24098 | |
afornerot | 3ee638a857 |
|
@ -68,7 +68,10 @@
|
||||||
"preferred-install": {
|
"preferred-install": {
|
||||||
"*": "dist"
|
"*": "dist"
|
||||||
},
|
},
|
||||||
"sort-packages": true
|
"sort-packages": true,
|
||||||
|
"allow-plugins": {
|
||||||
|
"symfony/flex": true
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
|
@ -89,6 +92,9 @@
|
||||||
"symfony/polyfill-php56": "*"
|
"symfony/polyfill-php56": "*"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
"pre-install-cmd": [
|
||||||
|
"php scripts/checkcomposer.php"
|
||||||
|
],
|
||||||
"auto-scripts": {
|
"auto-scripts": {
|
||||||
"cache:clear": "symfony-cmd",
|
"cache:clear": "symfony-cmd",
|
||||||
"cache:clear --env=prod": "symfony-cmd",
|
"cache:clear --env=prod": "symfony-cmd",
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
$requiredVersion = 'version 1'; // La version interdite
|
||||||
|
|
||||||
|
$composerVersion = trim(shell_exec('COMPOSER_ALLOW_SUPERUSER=1 composer --version --no-ansi'));
|
||||||
|
echo $composerVersion."\n";
|
||||||
|
|
||||||
|
if (stripos($composerVersion,$requiredVersion)===false ) {
|
||||||
|
echo "La version de Composer $requiredVersion n'est pas autorisée" . PHP_EOL;
|
||||||
|
echo "Veuillez mettre à jour Composer avec 'composer self-update --1'." . PHP_EOL;
|
||||||
|
echo "Ou executez le scripts/reconfigure.sh" . PHP_EOL;
|
||||||
|
exit(1); // Quitte avec un code d'erreur
|
||||||
|
}
|
|
@ -28,6 +28,8 @@ fi
|
||||||
|
|
||||||
# Installation des dépendances composer
|
# Installation des dépendances composer
|
||||||
echo COMPOSER = Install
|
echo COMPOSER = Install
|
||||||
|
export COMPOSER_ALLOW_SUPERUSER=1
|
||||||
|
composer self-update --1 --quiet
|
||||||
composer install --quiet
|
composer install --quiet
|
||||||
|
|
||||||
php bin/console app:AppInit --env=prod
|
php bin/console app:AppInit --env=prod
|
||||||
|
|
|
@ -83,21 +83,36 @@ class BreakdayCommand extends Command
|
||||||
foreach($users as $user) {
|
foreach($users as $user) {
|
||||||
if(!$user->hasRole("ROLE_USER")) continue;
|
if(!$user->hasRole("ROLE_USER")) continue;
|
||||||
|
|
||||||
$mini=new \Datetime('2022-03-07 00:00');
|
$this->writeln("");
|
||||||
$start=new \Datetime('00:00');
|
$this->writeln($user->getUsername());
|
||||||
$start->modify("monday this week");
|
|
||||||
|
$start=new \Datetime('2022-03-07 00:00');
|
||||||
$end=new \Datetime('00:00');
|
$end=new \Datetime('00:00');
|
||||||
$end->modify("last day of this month");
|
$end->modify("last day of this month");
|
||||||
$end->modify("next sunday");
|
$end->modify("next sunday");
|
||||||
$start->modify("previous month");
|
|
||||||
if($start<$mini) $start=clone $mini;
|
|
||||||
|
|
||||||
|
// On récupère la première journée de pointage de l'utilisateur
|
||||||
|
$qb = $this->em->createQueryBuilder()
|
||||||
|
->select('tallyday')
|
||||||
|
->from('App:Tallyday','tallyday')
|
||||||
|
->Where('tallyday.user=:user')
|
||||||
|
->setParameter('user',$user)
|
||||||
|
->orderBy('tallyday.dateof', 'ASC')
|
||||||
|
->setMaxResults(1);
|
||||||
|
|
||||||
|
$datas = $qb->getQuery()->getResult();
|
||||||
|
if(empty($datas)) continue;
|
||||||
|
$firstday=$datas[0]->getDateof();
|
||||||
|
$this->writeln("FIRST DAY = ".$firstday->format("d/m/Y"));
|
||||||
|
|
||||||
$response=$this->api("POST",$url."/getBreakdays",json_encode(["key"=>$key,"username"=>$user->getUsername()]));
|
$response=$this->api("POST",$url."/getBreakdays",json_encode(["key"=>$key,"username"=>$user->getUsername()]));
|
||||||
|
|
||||||
if($response&&$response->code=="200") {
|
if($response&&$response->code=="200") {
|
||||||
while($start<=$end) {
|
while($start<=$end) {
|
||||||
$havebreakday=false;
|
$havebreakday=false;
|
||||||
if($start->format("w")!=0&&$start->format("w")!=6) {
|
$havebreakdayAM=false;
|
||||||
|
$havebreakdayPM=false;
|
||||||
|
|
||||||
|
if($start->format("w")!=0&&$start->format("w")!=6&&$start>=$firstday) {
|
||||||
foreach($response->body->events as $event) {
|
foreach($response->body->events as $event) {
|
||||||
if($event->eventallday) {
|
if($event->eventallday) {
|
||||||
$manip=clone $start;
|
$manip=clone $start;
|
||||||
|
@ -209,6 +224,7 @@ class BreakdayCommand extends Command
|
||||||
}
|
}
|
||||||
|
|
||||||
$havebreakday=true;
|
$havebreakday=true;
|
||||||
|
$havebreakdayAM=true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -260,6 +276,7 @@ class BreakdayCommand extends Command
|
||||||
}
|
}
|
||||||
|
|
||||||
$havebreakday=true;
|
$havebreakday=true;
|
||||||
|
$havebreakdayPM=true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -275,6 +292,31 @@ class BreakdayCommand extends Command
|
||||||
$this->em->flush();
|
$this->em->flush();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
// Si congés matin mais par l'après midi on supprime un congés potentiel de l'aprés midi
|
||||||
|
if($havebreakdayAM && !$havebreakdayPM) {
|
||||||
|
$manip=clone $start;
|
||||||
|
$manip->setTime(13,30);
|
||||||
|
$tallydays=$this->em->getRepository("App:Tallyday")->findBy(["user"=>$user,"dateof"=>$start,"datestart"=>$manip,"validatemaster"=>false,"isbreakday"=>true]);
|
||||||
|
foreach($tallydays as $tallyday) {
|
||||||
|
$this->em->remove($tallyday);
|
||||||
|
$this->em->flush();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Si congés aprèsmidi mais pas le matin on supprime un congés potentiel du matin
|
||||||
|
if(!$havebreakdayAM && $havebreakdayPM) {
|
||||||
|
$manip=clone $start;
|
||||||
|
$manip->setTime(8,30);
|
||||||
|
$tallydays=$this->em->getRepository("App:Tallyday")->findBy(["user"=>$user,"dateof"=>$start,"datestart"=>$manip,"validatemaster"=>false,"isbreakday"=>true]);
|
||||||
|
foreach($tallydays as $tallyday) {
|
||||||
|
|
||||||
|
$this->em->remove($tallyday);
|
||||||
|
$this->em->flush();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
$start->add(new \DateInterval('P1D'));
|
$start->add(new \DateInterval('P1D'));
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,7 +37,7 @@ class TimeextraType extends AbstractType
|
||||||
|
|
||||||
$builder->add('hour',
|
$builder->add('hour',
|
||||||
IntegerType::class, [
|
IntegerType::class, [
|
||||||
"label" => "Nombre d'Heure",
|
"label" => "Nombre de Minutes",
|
||||||
"required" => true,
|
"required" => true,
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
|
@ -92,10 +92,10 @@ class TallydayRepository extends ServiceEntityRepository
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Enlever du temps travailler les heures sup payé
|
// Enlever du temps travailler les minutes sup payé
|
||||||
$timeextra=$this->_em->getRepository("App:Timeextra")->getTimeextrauser($user, new \DateTime());
|
$timeextra=$this->_em->getRepository("App:Timeextra")->getTimeextrauser($user, new \DateTime());
|
||||||
if($timeextra[1]) {
|
if($timeextra[1]) {
|
||||||
$ework->sub(new \DateInterval("PT".$timeextra[1]."H"));
|
$ework->sub(new \DateInterval("PT".$timeextra[1]."M"));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Nbday worked
|
// Nbday worked
|
||||||
|
|
|
@ -28,7 +28,7 @@ GESTION DES HEURES SUPPLEMENTAIRES
|
||||||
<th width="70px" class="no-sort">Action</th>
|
<th width="70px" class="no-sort">Action</th>
|
||||||
<th>Utilisateur</th>
|
<th>Utilisateur</th>
|
||||||
<th>Date</th>
|
<th>Date</th>
|
||||||
<th>Nb Heure</th>
|
<th>Nb Minutes</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
|
|
Loading…
Reference in New Issue