Skip to content
Snippets Groups Projects

Hotline#12780

Merged Patrick Barroca requested to merge hotline#12780 into hotline_6.40
Compare and
+ 206
89
Preferences
Compare changes
Files
@@ -49,6 +49,57 @@ class Admin_ModoController extends ZendAfi_Controller_Action {
$this->_redirect('admin/modo/avisnotice');
}
public function editavisnoticeAction() {
if (!$avis = Class_AvisNotice::find((int)$this->_request->getParam('id'))) {
$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)) {
$this->_redirect('admin/modo/avisnotice');
return;
}
$this->view->subview = $this->view->partial('modo/editavisnotice.phtml',
['form' => $form,
'title' => 'Modification de l\'avis "'. $avis->getEntete() .'"']);
$this->_forward('index');
}
protected function _editavisnoticePost($form, $avis) {
if (!$this->_request->isPost()
|| !$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()));
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;
}
$avis->setClefOeuvre($notice->getClefOeuvre())->save();
$this->_helper->notify($this->view->_('Avis rattaché à la notice "%s"', $notice->getTitrePrincipal()));
return true;
}
public function validateavisnoticeAction() {
$id = $this->_request->getParam('id');