From 0d5a5686658774484c47454c5dcbc0fe7c230597 Mon Sep 17 00:00:00 2001
From: gloas <gloas@git-test.afi-sa.fr>
Date: Mon, 30 Sep 2013 15:08:10 +0000
Subject: [PATCH] reponseFormulaire : amelioration fonctionnement envoi et
 sauvegarde du mail

---
 .../admin/controllers/ModoController.php      | 16 +++++++++++---
 .../ZendAfi/Form/ReponseFormulaireMail.php    |  9 +++-----
 .../ZendAfi/View/Helper/ReponseFormulaire.php | 22 +++++++++----------
 public/admin/css/global.css                   | 15 +++++++++----
 4 files changed, 38 insertions(+), 24 deletions(-)

diff --git a/application/modules/admin/controllers/ModoController.php b/application/modules/admin/controllers/ModoController.php
index 862c89e835d..4729cb756a2 100644
--- a/application/modules/admin/controllers/ModoController.php
+++ b/application/modules/admin/controllers/ModoController.php
@@ -657,7 +657,8 @@ class Admin_ModoController extends ZendAfi_Controller_Action {
 
 
 	public function reponseFormulaireSendMailAction() {
-		$this->getHelper('ViewRenderer')->setNoRender();		
+		$this->getHelper('ViewRenderer')->setNoRender();	
+		$formulaire='';
 		xdebug_break();
 		if($this->_request->isPost() && $formulaire = Class_Formulaire::find((int)$this->_getParam('id')) ) {
 			
@@ -673,13 +674,22 @@ class Admin_ModoController extends ZendAfi_Controller_Action {
 			try {
 				$mail->send();
 				$formulaire->setMailAnswer(serialize($mail))->save();
+				$this->_helper->notify($this->view->_('Courriel envoyé à: ').$this->_request->getPost('mail_destinataire'));
 				
 			} catch (Zend_Mail_Exception $e) {
 				$this->_helper->notify($this->view->_('Aucun courriel envoyé, erreur: ').$this->view->_($e->getMessage()));
 			}
+		}	 else {
+			$this->_helper->notify($this->view->_("Aucun courriel envoyé, erreur: le formulaire n'existe plus"));
+			$this->_redirect("admin/modo/formulaires");
 		}
-		
-		return $this->_helper->notify($this->view->_("Aucun courriel envoyé, erreur: le formulaire n'existe plus"));
+			
+		$this->renderPopup($this->view->url(['module' => 'admin',
+																				 'controller' => 'modo',
+																				 'action' => 'visualiser-reponse-ajax',
+																				 'id_article' => $formulaire->getArticle()->getId(),
+																				 'id' => $this->_getParam('id')]));
+
 	}
 
 
diff --git a/library/ZendAfi/Form/ReponseFormulaireMail.php b/library/ZendAfi/Form/ReponseFormulaireMail.php
index c140b58e664..bc953d5ab1d 100644
--- a/library/ZendAfi/Form/ReponseFormulaireMail.php
+++ b/library/ZendAfi/Form/ReponseFormulaireMail.php
@@ -30,20 +30,17 @@ class ZendAfi_Form_ReponseFormulaireMail extends ZendAfi_Form {
 									 'mail_expediteur',
 									 ['label' => $this->_("De"),
 										'allowEmpty' => false,
-										'required' => true,
-										'value' => $this->_attribs['expediteur']])
+										'required' => true])
 			->addElement('text', 
 									 'mail_destinataire', 
 									 ['label' => $this->_("A"),
 										'allowEmpty' => false,
-										'required' => true,
-										'value' => $this->_attribs['destinataire']])
+										'required' => true])
 			->addElement('text', 
 									 'sujet', 
 									 ['label' => $this->_("Sujet"),
 										'allowEmpty' => false,
-										'required' => true,
-										'value' => $this->_attribs['sujet']])
+										'required' => true])
 			->addElement('textarea', 
 									 'reponse', 
 									 ['label'=> $this->_('Réponse: '),
diff --git a/library/ZendAfi/View/Helper/ReponseFormulaire.php b/library/ZendAfi/View/Helper/ReponseFormulaire.php
index 04533bcdfe6..4a492cdcabf 100644
--- a/library/ZendAfi/View/Helper/ReponseFormulaire.php
+++ b/library/ZendAfi/View/Helper/ReponseFormulaire.php
@@ -44,7 +44,7 @@ class ZendAfi_View_Helper_ReponseFormulaire extends Zend_View_Helper_HtmlElement
 	
 
 	public function addActionButton() {
-		$html='<div>';
+		$html='<div class="action-button">';
 		$html.= $this->view->tagAnchor(['action' => 'delete-formulaire',
 																		'id' => $this->_formulaire->getId()], $this->view->boutonIco('type=del'));
 		if (!$this->_formulaire->isValidated())
@@ -71,7 +71,6 @@ class ZendAfi_View_Helper_ReponseFormulaire extends Zend_View_Helper_HtmlElement
 		$html.= ($this->_formulaire->hasMailAnswer()) 
 			? $this->filledMailFormulaire()
 			: $this->emptyMailFormulaire($warning);
-		$html.= $this->emptyMailFormulaire($warning);
 		return $html.='</div>';
 	}
 	
@@ -86,15 +85,16 @@ class ZendAfi_View_Helper_ReponseFormulaire extends Zend_View_Helper_HtmlElement
 		$html = $this->getFormLegend($this->view->_('Rédiger une réponse.'));
 		$html.='<div>';
 		$html.= $this->displayWarning($warning);
-		return $html.=ZendAfi_Form_ReponseFormulaireMail::newWithOptions(
-			['expediteur' => Class_Users::getIdentity()->getMail(),
-			 'destinataire' => ($user = $this->_formulaire->getUser()) ? $user->getMail() : "" ,
-			 'sujet' => $this->_formulaire->getArticle()->getTitre(),
-			 'action' => $this->view->url(['module' => 'admin',
-																		 'controller' => 'modo',
-																		 'action'=> 'reponse-formulaire-send-mail',
-																		 'id_article' => '12',
-																		 'id' => '5'])]).'</div>';
+		$form = new ZendAfi_Form_ReponseFormulaireMail(['action' => $this->view->url(['module' => 'admin',
+																																			'controller' => 'modo',
+																																			'action'=> 'reponse-formulaire-send-mail',
+																																			'id' => $this->_formulaire->getId()])]);
+		$form->populate(['mail_expediteur' => Class_Users::getIdentity()->getMail(),
+										 'mail_destinataire' => ($user = $this->_formulaire->getUser()) ? $user->getMail() : "" ,
+										 'sujet' => $this->_formulaire->getArticle()->getTitre()]);
+
+		$html .= $form->render();
+		return $html.'</div>';
 	}
 
 	
diff --git a/public/admin/css/global.css b/public/admin/css/global.css
index 47fb3684ec1..4d3c630dddc 100644
--- a/public/admin/css/global.css
+++ b/public/admin/css/global.css
@@ -1091,17 +1091,16 @@ div.modules div.pager span {
 
 
 
-#opac-dialog dl + a,
-#opac-dialog dl + a + a {
+#opac-dialog .action-button a {
     display:inline-block;
     padding:10px;
 }
 
-#opac-dialog dl + a {
+#opac-dialog .action-button a {
     margin-left:140px;
 }
 
-#opac-dialog dl + a + a {
+#opac-dialog .action-button a + a {
     margin-left:40px;
 }
 
@@ -1127,4 +1126,12 @@ span.ui-dialog-title {
 
 #opac-dialog dl dd {
     padding-left:45px;
+}
+
+#form_accordion .ui-accordion-content {
+    padding:0px;
+}
+
+#form_accordion h3 {
+    padding:5px 10px;
 }
\ No newline at end of file
-- 
GitLab