diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/BlogcommentController.php b/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/BlogcommentController.php
index f0e044a3..d034eb18 100644
--- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/BlogcommentController.php
+++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/BlogcommentController.php
@@ -83,6 +83,59 @@ class BlogcommentController extends Controller
]);
}
+ public function replyAction(Request $request,$idarticle,$idcomment,$access="config")
+ {
+ $em = $this->getDoctrine()->getManager();
+
+ $entity = new Blogcomment();
+
+ // Recherche de l'article associé
+ $blogarticle=$em->getRepository("CadolesPortalBundle:Blogarticle")->find($idarticle);
+ if($blogarticle) $entity->setBlogarticle($blogarticle);
+
+ // Recherche du commentaire parent
+ $parent=$em->getRepository("CadolesPortalBundle:Blogcomment")->find($idcomment);
+ if($parent) $entity->setParent($parent);
+
+ $entity->setName("Réponse");
+
+ $form = $this->entityForm($entity,$access);
+ $form->handleRequest($request);
+
+ if ($form->isValid()) {
+ $entity->setUser($this->getUser());
+ $entity->setSubmit(new \Datetime());
+
+ $em->persist($entity);
+ $em->flush();
+
+ foreach($entity->getBlogarticle()->getBlog()->getGroups() as $group) {
+ if($group->getFgcanshare()) {
+ $url=$this->generateUrl('cadoles_core_redirect', ['route'=>'cadoles_portal_user_blogarticle_view','id'=>$entity->getBlogarticle()->getId()], UrlGeneratorInterface::ABSOLUTE_URL);
+ $message="Création commentaire article
".$entity->getName()."";
+ $usergroup=$em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(["group"=>$group,"user"=>$this->getUser()]);
+ if($usergroup) {
+ $key=$usergroup->getKeyvalue();
+ $websocket = $this->container->get('cadoles.websocket.pushmessage')->send($key,$this->getUser()->getId(),$group->getId(),$message);
+ }
+ }
+ }
+
+ return $this->redirect($this->generateUrl('cadoles_portal_'.$access.'_blogarticle_view',["id"=>$entity->getBlogarticle()->getId()]));
+ }
+
+ return $this->render($this->labelentity.':edit.html.twig', [
+ 'useheader' => ($access=="config"),
+ 'usemenu' => false,
+ 'usesidebar' => ($access=="config"),
+ 'maxwidth' => ($access=="user"),
+ 'entity' => $entity,
+ 'mode' => "submit",
+ 'access' => $access,
+ 'form' => $form->createView()
+ ]);
+ }
+
public function updateAction(Request $request, $id,$access="config")
{
$em = $this->getDoctrine()->getManager();
diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Entity/Blogcomment.php b/src/ninegate-1.0/src/Cadoles/PortalBundle/Entity/Blogcomment.php
index 0280a481..84119154 100644
--- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Entity/Blogcomment.php
+++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Entity/Blogcomment.php
@@ -56,7 +56,15 @@ class Blogcomment
*/
private $blogarticle;
+ /**
+ * @ORM\ManyToOne(targetEntity="Cadoles\PortalBundle\Entity\Blogcomment", inversedBy="childs")
+ */
+ private $parent;
+ /**
+ * @ORM\OneToMany(targetEntity="Cadoles\PortalBundle\Entity\Blogcomment", mappedBy="parent", cascade={"persist"}, orphanRemoval=true)
+ */
+ protected $childs;
/**
* Get id
@@ -188,4 +196,69 @@ class Blogcomment
{
return $this->blogarticle;
}
+ /**
+ * Constructor
+ */
+ public function __construct()
+ {
+ $this->childs = new \Doctrine\Common\Collections\ArrayCollection();
+ }
+
+ /**
+ * Set parent
+ *
+ * @param \Cadoles\PortalBundle\Entity\Blogcomment $parent
+ *
+ * @return Blogcomment
+ */
+ public function setParent(\Cadoles\PortalBundle\Entity\Blogcomment $parent = null)
+ {
+ $this->parent = $parent;
+
+ return $this;
+ }
+
+ /**
+ * Get parent
+ *
+ * @return \Cadoles\PortalBundle\Entity\Blogcomment
+ */
+ public function getParent()
+ {
+ return $this->parent;
+ }
+
+ /**
+ * Add child
+ *
+ * @param \Cadoles\PortalBundle\Entity\Blogcomment $child
+ *
+ * @return Blogcomment
+ */
+ public function addChild(\Cadoles\PortalBundle\Entity\Blogcomment $child)
+ {
+ $this->childs[] = $child;
+
+ return $this;
+ }
+
+ /**
+ * Remove child
+ *
+ * @param \Cadoles\PortalBundle\Entity\Blogcomment $child
+ */
+ public function removeChild(\Cadoles\PortalBundle\Entity\Blogcomment $child)
+ {
+ $this->childs->removeElement($child);
+ }
+
+ /**
+ * Get childs
+ *
+ * @return \Doctrine\Common\Collections\Collection
+ */
+ public function getChilds()
+ {
+ return $this->childs;
+ }
}
diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/config/routing.yml b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/config/routing.yml
index b1f73f56..187670a7 100644
--- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/config/routing.yml
+++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/config/routing.yml
@@ -566,6 +566,10 @@ cadoles_portal_config_blogcomment_submit:
path: /config/blogcomment/submit/{idarticle}
defaults: { _controller: CadolesPortalBundle:Blogcomment:submit, access: config}
+cadoles_portal_config_blogcomment_reply:
+ path: /config/blogcomment/reply/{idarticle}/{idcomment}
+ defaults: { _controller: CadolesPortalBundle:Blogcomment:reply, access: config}
+
cadoles_portal_config_blogcomment_update:
path: /config/blogcomment/update/{id}
defaults: { _controller: CadolesPortalBundle:Blogcomment:update, access: config }
@@ -583,6 +587,10 @@ cadoles_portal_user_blogcomment_submit:
path: /user/blogcomment/submit/{idarticle}
defaults: { _controller: CadolesPortalBundle:Blogcomment:submit, access: user }
+cadoles_portal_user_blogcomment_reply:
+ path: /user/blogcomment/reply/{idarticle}/{idcomment}
+ defaults: { _controller: CadolesPortalBundle:Blogcomment:reply, access: user}
+
cadoles_portal_user_blogcomment_update:
path: /user/blogcomment/update/{id}
defaults: { _controller: CadolesPortalBundle:Blogcomment:update, access: user }
diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Blogarticle/view.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Blogarticle/view.html.twig
index 796d5b8e..5297d934 100644
--- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Blogarticle/view.html.twig
+++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Blogarticle/view.html.twig
@@ -78,16 +78,37 @@
{% endif %}
{% if not entity.blogcomments is empty %}
{% for comment in entity.blogcomments|reverse %}
-