Form- and ManagedAction improvements

This commit is contained in:
Mikael Nordfeldth 2014-07-06 12:55:18 +02:00
parent aadc7398dc
commit 9a92b8ba33
3 changed files with 22 additions and 2 deletions

View File

@ -238,7 +238,11 @@ class Action extends HTMLOutputter // lawsuit
$this->element('title', null, _m('TITLE','Notice')); $this->element('title', null, _m('TITLE','Notice'));
$this->elementEnd('head'); $this->elementEnd('head');
$this->elementStart('body'); $this->elementStart('body');
$this->showContent(); if ($this->getError()) {
$this->element('p', array('id'=>'error'), $msg);
} else {
$this->showContent();
}
$this->elementEnd('body'); $this->elementEnd('body');
$this->endHTML(); $this->endHTML();
} }

View File

@ -44,6 +44,7 @@ if (!defined('STATUSNET')) {
class FormAction extends ManagedAction class FormAction extends ManagedAction
{ {
protected $form = null; protected $form = null;
protected $formOpts = array();
protected $type = null; protected $type = null;
protected $needLogin = true; protected $needLogin = true;
protected $canPost = true; protected $canPost = true;
@ -114,7 +115,7 @@ class FormAction extends ManagedAction
protected function getForm() protected function getForm()
{ {
$class = $this->form.'Form'; $class = $this->form.'Form';
$form = new $class($this); $form = new $class($this, $this->formOpts);
return $form; return $form;
} }

View File

@ -32,6 +32,20 @@ if (!defined('GNUSOCIAL')) { exit(1); }
class ManagedAction extends Action class ManagedAction extends Action
{ {
protected function prepare(array $args=array())
{
if (!parent::prepare($args)) {
return false;
}
$this->doPreparation();
return true;
}
protected function doPreparation()
{
// pass by default
}
/** /**
* Handler method * Handler method
*/ */
@ -53,5 +67,6 @@ class ManagedAction extends Action
protected function handlePost() protected function handlePost()
{ {
// This will only be run if the Action has the property canPost==true // This will only be run if the Action has the property canPost==true
assert($this->canPost);
} }
} }