mise en place de sprint dans les jalons
This commit is contained in:
@@ -31,8 +31,10 @@ class ScrumissueController extends AbstractController
|
||||
$newcolumn=$request->get('newcolumn');
|
||||
$oldmilestone=$request->get('oldmilestone');
|
||||
$newmilestone=$request->get('newmilestone');
|
||||
$oldsprint=$request->get('oldsprint');
|
||||
$newsprint=$request->get('newsprint');
|
||||
|
||||
if($oldcolumn!=$newcolumn||$oldmilestone!=$newmilestone) {
|
||||
if($oldcolumn!=$newcolumn||$oldmilestone!=$newmilestone||$oldsprint!=$newsprint) {
|
||||
// Rechercher l'issue en cours
|
||||
$scrumissue=$em->getRepository("App:Scrumissue")->find($id);
|
||||
if(!$scrumissue) return new JsonResponse(['message' => 'No Issue'], 403);
|
||||
@@ -68,16 +70,31 @@ class ScrumissueController extends AbstractController
|
||||
$return=$this->giteaservice->patchIssue($scrumissue->getScrum()->getGiteajson()["owner"]["login"],$scrumissue->getScrum()->getGiteajson()["name"],$scrumissue->getGiteanumber(),$patchs);
|
||||
if(!$return) return new JsonResponse(['message' => 'No API patchIssue'], 403);
|
||||
}
|
||||
|
||||
// Mettre à jour le sprint
|
||||
if($oldsprint!=$newsprint) {
|
||||
$scrumissue->setScrumsprint(null);
|
||||
$sprint=$em->getRepository("App:Scrumsprint")->find($newsprint);
|
||||
if($sprint) {
|
||||
$scrumissue->setScrumsprint($sprint);
|
||||
}
|
||||
$em->flush();
|
||||
}
|
||||
|
||||
// Récupérer l'issue modifiée pour mettre à jour la date de modification gitea
|
||||
$giteaissue=$this->giteaservice->getIssue($scrumissue->getScrum()->getGiteajson()["owner"]["login"],$scrumissue->getScrum()->getGiteajson()["name"],$scrumissue->getGiteanumber());
|
||||
if(!$giteaissue) return new JsonResponse(['message' => 'No API getIssue'], 403);
|
||||
$updatedate=new \DateTime($giteaissue->updated_at);
|
||||
if($updatedate > $scrumissue->getScrum()->getUpdatedate()) {
|
||||
$scrumissue->getScrum()->setUpdatedate(new \DateTime($giteaissue->updated_at));
|
||||
$updateissue=new \DateTime($giteaissue->updated_at);
|
||||
$updateissue->setTimezone(new \DateTimeZone("UTC"));
|
||||
|
||||
$lastupdate=$scrumissue->getScrum()->getUpdatedate();
|
||||
|
||||
|
||||
if($updateissue > $lastupdate) {
|
||||
$scrumissue->getScrum()->setUpdatedate($updateissue);
|
||||
$em->persist($scrumissue->getScrum());
|
||||
$em->flush();
|
||||
return new JsonResponse($updatedate->format("Ymd H:i:s"));
|
||||
return new JsonResponse($lastupdate->format("Ymd H:i:s"));
|
||||
}
|
||||
}
|
||||
return new JsonResponse(false);
|
||||
@@ -159,10 +176,10 @@ class ScrumissueController extends AbstractController
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
|
||||
$id=$request->get('id');
|
||||
$lastupdate=new \DateTime($request->get('lastupdate'));
|
||||
|
||||
|
||||
$scrum=$em->getRepository("App:Scrum")->find($id);
|
||||
if(!$scrum) return new JsonResponse(['message' => 'No Scrum'], 403);
|
||||
$lastupdate=$scrum->getUpdatedate();
|
||||
|
||||
$giteaissues=$this->giteaservice->getIssues($scrum->getGiteajson()["owner"]["login"],$scrum->getGiteajson()["name"]);
|
||||
if(!is_array($giteaissues)) die("Probleme de connexion avec gitea veuillez vous <a href='/ninegitea/logout'>reconnecter</a>");
|
||||
@@ -174,12 +191,15 @@ class ScrumissueController extends AbstractController
|
||||
|
||||
$scrumissue=$em->getRepository("App:Scrumissue")->findOneBy(["scrum"=>$scrum,"giteaid"=>$giteaissue->id]);
|
||||
|
||||
if(!$scrumissue)
|
||||
if(!$scrumissue) {
|
||||
return new JsonResponse(true);
|
||||
}
|
||||
|
||||
$fgissueupdated=false;
|
||||
$updatedate=new \DateTime(json_decode(json_encode($giteaissue), true)["updated_at"]);
|
||||
if($updatedate>$lastupdate) {
|
||||
$updateissue=new \DateTime(json_decode(json_encode($giteaissue), true)["updated_at"]);
|
||||
$updateissue->setTimezone(new \DateTimeZone("UTC"));
|
||||
|
||||
if($updateissue>$lastupdate) {
|
||||
$fgissueupdated=true;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user