diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/GroupController.php b/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/GroupController.php index dc4c379d..ce6ed4ea 100644 --- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/GroupController.php +++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/GroupController.php @@ -501,6 +501,13 @@ class GroupController extends Controller if($group->getFgAll()||$group->getFgtemplate()) throw $this->createNotFoundException('Permission denied'); + $usergroup = $em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(array("user"=>$userid,"group"=>$groupid)); + if($usergroup) { + $response = new Response(json_encode($output)); + $response->headers->set('Content-Type', 'application/json'); + return $response; + } + $key = Uuid::uuid4(); $usergroup=new Usergroup; $user=$em->getRepository("CadolesCoreBundle:User")->find($userid); diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/PagewidgetController.php b/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/PagewidgetController.php index 7000cd55..bdbb6e3f 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/PagewidgetController.php +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/PagewidgetController.php @@ -2129,15 +2129,18 @@ class PagewidgetController extends Controller if(!$cansee) throw $this->createNotFoundException('Permission denied'); } $onlyservice = $this->container->get('cadoles.portal.service.only'); - $files=$onlyservice->getDocument($group, $folders, $firstfolder); + $files=$onlyservice->getDocument($group, $folders, $firstfolder, $tasks); + $idonly=$em->getRepository("CadolesCoreBundle:Group")->find($group)->getIdOnlyoffice(); // Render return $this->render($this->labelentity.':viewonlydoc.html.twig', [ 'entity' => $entity, - 'canadd' => $canupdate, - 'canupdate' => $canupdate, + 'canadd' => $cansee, + 'canupdate' => $cansee, 'firstfolder' => $firstfolder, 'folders' => $folders, + 'tasks' => $tasks, + 'urlonly' => $this->getParameter("widonlyoffice_url")."/products/projects/projects.aspx?prjID=".$idonly, 'files' => $files, 'access' => $access, ]); diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewonlydoc.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewonlydoc.html.twig index a49bc642..ca26c873 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewonlydoc.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Pagewidget/viewonlydoc.html.twig @@ -33,7 +33,7 @@ {% endif %} {% if canadd %} - + {% endif %} {% endif %} @@ -51,44 +51,26 @@ {% if files|length >= 1 or canupdate %}
- {% if canupdate %} -
-
- {% endif %} - - {% for file in files|sort %} - {% if loop.index==1 and not canupdate%} -
-
- {% endif %} +
+
+ {% for file in files %}
@@ -96,19 +78,37 @@ {% if canadd %}
- + + {% if not tasks is empty %} +
+

Tâches

+ {% for task in tasks %} +
  • {{ task.title }}
  • + {% if not task.subtasks is empty %} +
      + {% for subtask in task.subtasks %} +
    • {{ subtask.title }}
    • + {% endfor %} +
    + {% endif %} + {% endfor %} +
    + {% endif %}
    {% endif %}
    diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Service/onlyService.php b/src/ninegate-1.0/src/Cadoles/PortalBundle/Service/onlyService.php index 0558b75a..ca9bf072 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Service/onlyService.php +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Service/onlyService.php @@ -4,6 +4,7 @@ namespace Cadoles\PortalBundle\Service; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\HttpFoundation\Session\Session; +use Symfony\Component\HttpFoundation\Response; use Doctrine\ORM\EntityManager; class onlyService @@ -35,28 +36,38 @@ class onlyService } } - public function getDocument($idproject,&$folders,&$firstfolder) { + public function getDocument($idgroup,&$folders,&$firstfolder,&$tasks) { $files=[]; $folders=[]; + $tasks=[]; - if($this->only_activate) { - if($this->authOnly()) { - $response = \Unirest\Request::get($this->only_url.'/project/'.$idproject,$this->headers); - if($this->koresponse($response)) return false; - $firstfolder=$response->body->response->projectFolder;; - - $response = \Unirest\Request::get($this->only_url.'/project/'.$idproject.'/files',$this->headers); - if($this->koresponse($response)) return 0; - foreach($response->body->response->files as $fileonly) { - array_push($files,$fileonly); - } - foreach($response->body->response->folders as $folderonly) { - $folders[$folderonly->id]=$folderonly; - $subfolder=$this->scanfolder($folderonly->id,$folders,$this->headers); - foreach($subfolder as $file) { - array_push($files,$file); + $group=$this->em->getRepository("CadolesCoreBundle:Group")->find($idgroup); + if($group&&$group->getIdonlyoffice()) { + if($this->only_activate) { + if($this->authOnly()) { + $response = \Unirest\Request::get($this->only_url.'/project/'.$group->getIdonlyoffice(),$this->headers); + if(!$this->koresponse($response)) { + $firstfolder=$response->body->response->projectFolder;; + + $response = \Unirest\Request::get($this->only_url.'/project/'.$group->getIdonlyoffice().'/files',$this->headers); + if(!$this->koresponse($response)) { + foreach($response->body->response->files as $fileonly) { + array_push($files,$fileonly); + } + foreach($response->body->response->folders as $folderonly) { + $folders[$folderonly->id]=$folderonly; + $subfolder=$this->scanfolder($folderonly->id,$folders,$this->headers); + foreach($subfolder as $file) { + array_push($files,$file); + } + } + + $response = \Unirest\Request::get($this->only_url.'/project/'.$group->getIdonlyoffice().'/task/open',$this->headers); + error_log($this->only_url.'/project/'.$group->getIdonlyoffice().'/tasks/open'); + if(!$this->koresponse($response)) $tasks=$response->body->response; + } } - } + } } } @@ -103,6 +114,10 @@ class onlyService return false; } + private function mydebug($texte) { + if($this->debug) error_log($texte); + } + private function scanfolder($folderid,&$folders,$headers) { $files=[]; $response = \Unirest\Request::get($this->only_url.'/files/'.$folderid,$headers);