pj sur projecttask (ref #19)
This commit is contained in:
parent
a74fb27773
commit
6ffa8a20bf
|
@ -180,6 +180,18 @@ class FileController extends Controller
|
||||||
$em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate);
|
$em->getRepository("CadolesPortalBundle:Page")->getPermission($this->getUser(),$page,$cansee,$canupdate);
|
||||||
if(!$cansee) throw $this->createNotFoundException('Permission denied');
|
if(!$cansee) throw $this->createNotFoundException('Permission denied');
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case "taskproject":
|
||||||
|
// Récupération de la tache
|
||||||
|
$projecttask=$em->getRepository("CadolesPortalBundle:Projecttask")->find($id);
|
||||||
|
if (!$projecttask) throw $this->createNotFoundException('Unable to find entity.');
|
||||||
|
|
||||||
|
// On s'assure que l'utilisateur à la permission de voir
|
||||||
|
$project=$projecttask->getProject();
|
||||||
|
$user=$this->getUser();
|
||||||
|
$em->getRepository("CadolesPortalBundle:Project")->getPermission($user,$project,$cansee,$canupdate,$canadd);
|
||||||
|
if(!$cansee) throw $this->createNotFoundException('Permission denied');
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,8 @@ use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
use Doctrine\Common\Collections\ArrayCollection;
|
use Doctrine\Common\Collections\ArrayCollection;
|
||||||
use Symfony\Component\Filesystem\Filesystem;
|
use Symfony\Component\Filesystem\Filesystem;
|
||||||
|
use Symfony\Component\Finder\Finder;
|
||||||
|
use Symfony\Component\HttpFoundation\File\File;
|
||||||
|
|
||||||
use Cadoles\PortalBundle\Entity\Projecttask;
|
use Cadoles\PortalBundle\Entity\Projecttask;
|
||||||
use Cadoles\PortalBundle\Form\ProjecttaskType;
|
use Cadoles\PortalBundle\Form\ProjecttaskType;
|
||||||
|
@ -206,6 +208,54 @@ class ProjecttaskController extends Controller
|
||||||
|
|
||||||
$em->getRepository("CadolesPortalBundle:Projecttask")->getProjectsTasks($projects,0,10,$count,$projecttasks);
|
$em->getRepository("CadolesPortalBundle:Projecttask")->getProjectsTasks($projects,0,10,$count,$projecttasks);
|
||||||
|
|
||||||
|
// Récupérer les fichiers de la tache
|
||||||
|
$directory=$this->get('kernel')->getRootDir()."/../uploads/file/taskproject-".$id;
|
||||||
|
$files=[];
|
||||||
|
$fs = new Filesystem();
|
||||||
|
|
||||||
|
if($fs->exists($directory)) {
|
||||||
|
$finder = new Finder();
|
||||||
|
$finder->sortByName()->in($directory)->exclude('thumb')->exclude('thumbmini');
|
||||||
|
|
||||||
|
foreach ($finder as $file) {
|
||||||
|
$tmp=[];
|
||||||
|
$tmp["name"]=$file->getRelativePathname();
|
||||||
|
$tmp["extension"]=$file->getExtension();
|
||||||
|
$fileinfo = new file($file->getPathname());
|
||||||
|
$tmp["minetype"]=$fileinfo->getMimeType();
|
||||||
|
$tmp["minefamily"]=explode("/",$tmp["minetype"])[0];
|
||||||
|
|
||||||
|
$tmp["thumb"]="";
|
||||||
|
if($tmp["extension"]=="pdf") {
|
||||||
|
$tmp["thumb"]="/".$this->getParameter('alias')."/bundles/cadolescore/images/files/".$tmp["extension"].".png";
|
||||||
|
|
||||||
|
if($fs->exists($directory."/thumbmini/".$tmp["name"])) {
|
||||||
|
$data = file_get_contents($directory."/thumbmini/".$tmp["name"]);
|
||||||
|
$tmp["thumb"]="data:image/jpg;base64," . base64_encode($data);
|
||||||
|
}
|
||||||
|
elseif($fs->exists($directory."/thumb/".$tmp["name"])) {
|
||||||
|
$data = file_get_contents($directory."/thumb/".$tmp["name"]);
|
||||||
|
$tmp["thumb"]="data:image/jpg;base64," . base64_encode($data);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
elseif($fs->exists($directory."/thumbmini/".$tmp["name"])) {
|
||||||
|
$data = file_get_contents($directory."/thumbmini/".$tmp["name"]);
|
||||||
|
$tmp["thumb"]="data:image/" . $tmp["extension"] . ";base64," . base64_encode($data);
|
||||||
|
}
|
||||||
|
elseif($fs->exists($directory."/thumb/".$tmp["name"])) {
|
||||||
|
$data = file_get_contents($directory."/thumb/".$tmp["name"]);
|
||||||
|
$tmp["thumb"]="data:image/" . $tmp["extension"] . ";base64," . base64_encode($data);
|
||||||
|
}
|
||||||
|
elseif($fs->exists($this->get('kernel')->getRootDir()."/../web/bundles/cadolescore/images/files/".$tmp["extension"].".png")) {
|
||||||
|
$tmp["thumb"]="/".$this->getParameter('alias')."/bundles/cadolescore/images/files/".$tmp["extension"].".png";
|
||||||
|
}
|
||||||
|
|
||||||
|
array_push($files,$tmp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return $this->render($this->labelentity.':view.html.twig', [
|
return $this->render($this->labelentity.':view.html.twig', [
|
||||||
'useheader' => ($access=="config"),
|
'useheader' => ($access=="config"),
|
||||||
'usemenu' => false,
|
'usemenu' => false,
|
||||||
|
@ -216,7 +266,8 @@ class ProjecttaskController extends Controller
|
||||||
'canupdate' => $canupdate,
|
'canupdate' => $canupdate,
|
||||||
'canadd' => $canadd,
|
'canadd' => $canadd,
|
||||||
'projects' => $projects,
|
'projects' => $projects,
|
||||||
'projecttasks' => $projecttasks
|
'projecttasks' => $projecttasks,
|
||||||
|
'files' => $files
|
||||||
]);
|
]);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -311,7 +362,7 @@ class ProjecttaskController extends Controller
|
||||||
$idproject=$entity->getProject()->getId();
|
$idproject=$entity->getProject()->getId();
|
||||||
$oldpercentage=$entity->getPercentage();
|
$oldpercentage=$entity->getPercentage();
|
||||||
|
|
||||||
// On s'assure que l'utilisateur à la permission de supprimer
|
// On s'assure que l'utilisateur à la permission de modifier
|
||||||
if($access=="user") {
|
if($access=="user") {
|
||||||
$user=$this->getUser();
|
$user=$this->getUser();
|
||||||
$em->getRepository("CadolesPortalBundle:Project")->getPermission($user,$entity->getProject(),$cansee,$canupdate,$canadd);
|
$em->getRepository("CadolesPortalBundle:Project")->getPermission($user,$entity->getProject(),$cansee,$canupdate,$canadd);
|
||||||
|
|
|
@ -101,14 +101,53 @@
|
||||||
Réalisé à<br>
|
Réalisé à<br>
|
||||||
<span id="percentage" style="font-size:60px">{{ entity.percentage}}</span><small>%</small>
|
<span id="percentage" style="font-size:60px">{{ entity.percentage}}</span><small>%</small>
|
||||||
{% if canadd %}
|
{% if canadd %}
|
||||||
<br>
|
<br>
|
||||||
<div id="slider"></div>
|
<div id="slider"></div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div data-toggle="modal" data-target="#mymodal" onclick="ModalLoad('mymodal','Fichiers','/ninegate/user/config/file/upload/projecttask-{{entity.id}}');" title="Ajouter des fichiers" class="grid-item-content" style="cursor:pointer;margin-top:20px;">
|
{% if files|length >= 1 %}
|
||||||
<img class="grid-item-img imageshadow" height="60" src="/ninegate/uploads/icon/icon_add.png">
|
<br>
|
||||||
<br>Ajouter un fichier
|
<div class="grid clearfix">
|
||||||
</div>
|
<div class="grid-sizer grid-small"></div>
|
||||||
|
<div class="grid-gutter-sizer"></div>
|
||||||
|
|
||||||
|
{% for file in files|sort %}
|
||||||
|
<div class="grid-item grid-small">
|
||||||
|
<div class="grid-item-content" style="background-color: #{{ color["main"]}}">
|
||||||
|
{% if canadd %}
|
||||||
|
<a style="cursor:pointer;color: #{{color['fontcolorhover']}}" onClick="delFile('taskproject-{{ entity.id}}','{{file.name|e('js')|raw }}')" class="item-delete">
|
||||||
|
<i class="fa fa-trash" title="Supprimer le fichier"></i>
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<a style="cursor:pointer" href="{{ path('cadoles_core_'~access~'_file_download',{'directory':'taskproject-'~entity.id,'filename':file.name }) }}">
|
||||||
|
|
||||||
|
<div class="item-link clearfix">
|
||||||
|
<div class="grid-item-logo">
|
||||||
|
{% if file.thumb is not empty %}
|
||||||
|
<img class="grid-item-img" height="110" src="{{ file.thumb }}">
|
||||||
|
{% else %}
|
||||||
|
<img class="grid-item-img" height="110" src="/{{ alias }}/bundles/cadolescore/images/files/_blank.png">
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="grid-item-title">
|
||||||
|
<h2>{{ file.name }}</h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if canadd %}
|
||||||
|
<div data-toggle="modal" data-target="#mymodal" onClick="ModalLoad('mymodal','Fichiers','{{ path('cadoles_core_'~access~'_file_upload',{'id': 'taskproject-'~entity.id,'type':'all'}) }}');" title="Ajouter des fichiers" class="grid-item-content" style="cursor:pointer;margin-top:20px;">
|
||||||
|
<img class="grid-item-img imageshadow" height="60" src="/ninegate/uploads/icon/icon_add.png">
|
||||||
|
<br>Ajouter un fichier
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -138,6 +177,11 @@
|
||||||
showProject(0, {{ canupdate }});
|
showProject(0, {{ canupdate }});
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
var optiongrid={columnWidth: '.grid-sizer',itemSelector: '.grid-item', gutter: '.grid-gutter-sizer'};
|
||||||
|
// Création des grilles d'items
|
||||||
|
$('body').imagesLoaded(function() {
|
||||||
|
var grid = $('.grid').masonry(optiongrid);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
{% if canadd %}
|
{% if canadd %}
|
||||||
|
@ -163,6 +207,22 @@
|
||||||
$("#menuproject-"+id).addClass("active");
|
$("#menuproject-"+id).addClass("active");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Supprimer un fichier
|
||||||
|
function delFile(directory,filename) {
|
||||||
|
var r = confirm("Confirmez-vous la suppression de ce fichier ?");
|
||||||
|
if (r == true) {
|
||||||
|
$.ajax({
|
||||||
|
method: "POST",
|
||||||
|
url: "{{ path('cadoles_core_'~access~'_file_delete') }}",
|
||||||
|
data: {
|
||||||
|
directory:directory,
|
||||||
|
filename:filename
|
||||||
|
},
|
||||||
|
success: function() {
|
||||||
|
location.reload();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
Loading…
Reference in New Issue