Skip to content
Snippets Groups Projects

Rf13038 - Comments editing on admin side

Closed Ghost User requested to merge RF13038 into master
Compare and
+ 801
56
Preferences
Compare changes
Files
@@ -54,20 +54,10 @@ class Admin_ModoController extends ZendAfi_Controller_Action {
$this->_redirect('admin/modo/avisnotice');
return;
}
$form = new ZendAfi_Form(['id' => 'editavisnotice',
'action' => '',
'data-backurl' => $this->view->url(['module' => 'admin',
'controller' => 'modo',
'action' => 'avisnotice'], null, true)]);
$form->addElement('text', 'url', ['label' => 'Permalien de la notice concernée *',
'size' => '100',
'required' => true,
'allowEmpty' => false,
'validators' => ['url']]);
if ($this->_editavisnoticePost($form, $avis)) {
$form = ZendAfi_Form_Admin_EditAvis::newWith($avis,'avisnotice');
if ($this->_editavisnoticePost($form, $avis)) {
$this->_redirect('admin/modo/avisnotice');
return;
}
@@ -84,19 +74,13 @@ class Admin_ModoController extends ZendAfi_Controller_Action {
|| !$form->isValid($this->_request->getPost()))
return false;
// url routing to extract params as if it is a Bokeh url
$request = (new Zend_Controller_Router_Rewrite())
->route(new Zend_Controller_Request_Http($form->url->getValue()));
$avis = $this->_setAvisAndEntete($avis, $form);
if ('viewnotice' != $request->getActionName()
|| !($notice = Class_Notice::find((int)$request->getParam('id')))
|| $notice->getClefAlpha() != $request->getParam('clef')) {
$form->url->addError('L\'url saisie ne correspond pas à un permalien de notice');
return false;
if ($record = $form->url->getRecord()) {
$avis->setClefOeuvre($record->getClefOeuvre())->save();
$this->_helper->notify($this->view->_('Avis rattaché à la notice "%s"', $record->getTitrePrincipal()));
}
$avis->setClefOeuvre($notice->getClefOeuvre())->save();
$this->_helper->notify($this->view->_('Avis rattaché à la notice "%s"', $notice->getTitrePrincipal()));
return true;
}
@@ -190,6 +174,36 @@ class Admin_ModoController extends ZendAfi_Controller_Action {
$this->_redirect('/admin/modo/aviscms');
}
public function editAviscmsAction() {
if (!$avis = Class_Avis::find($this->_getParam('id'))) {
$this->_redirect('admin/modo/aviscms');
return;
}
$form = ZendAfi_Form_Admin_EditAvis::newWith($avis, 'aviscms');
if ($this->_editaviscmsPost($form, $avis)) {
$this->_redirect('admin/modo/aviscms');
return;
}
$this->view->subview = $this->view->partial('modo/edit-aviscms.phtml',
['form' => $form,
'title' => 'Modification de l\'avis "'. $avis->getEntete() .'"']);
$this->_forward('index');
}
protected function _editaviscmsPost($form, $avis) {
if (!$this->_request->isPost()
|| !$form->isValid($this->_request->getPost()))
return false;
$avis = $this->_setAvisAndEntete($avis, $form);
return true;
}
public function membreviewAction() {
$class_user = new Class_Users();
@@ -744,6 +758,27 @@ class Admin_ModoController extends ZendAfi_Controller_Action {
}
protected function _setAvisAndEntete($avis, $form) {
if ($avis->getAvis() != $form->avis->getValue()) {
$avis->setAvis($form->avis->getValue())->save();
$this->_helper->notify($this->view->_('Contenu de l\'avis modifié'));
}
if ($avis->getEntete() != $form->entete->getValue()) {
$avis->setEntete($form->entete->getValue())->save();
$this->_helper->notify($this->view->_('Entête de l\'avis modifié'));
}
return $avis;
}
protected function _buildAvisForm($avis, $back_url='') {
return $form;
}
}