DeletenoticeForm is its own class now

This commit is contained in:
Mikael Nordfeldth 2015-07-11 11:16:08 +02:00
parent 9101a1db3d
commit 7d524307d2
3 changed files with 70 additions and 5 deletions

View File

@ -33,15 +33,13 @@ if (!defined('GNUSOCIAL')) { exit(1); }
// @todo FIXME: documentation needed.
class DeletenoticeAction extends FormAction
{
protected $form = 'deletenotice';
protected $notice = null;
protected function doPreparation()
{
$this->notice = Notice::getByID($this->int('notice'));
$this->notice = Notice::getByID($this->trimmed('notice'));
if ($this->notice->profile_id != $this->scoped->getID() &&
if (!$this->scoped->sameAs($this->notice->getProfile()) &&
!$this->scoped->hasRight(Right::DELETEOTHERSNOTICE)) {
// TRANS: Error message displayed trying to delete a notice that was not made by the current user.
$this->clientError(_('Cannot delete this notice.'));

67
lib/deletenoticeform.php Normal file
View File

@ -0,0 +1,67 @@
<?php
if (!defined('GNUSOCIAL')) { exit(1); }
class DeletenoticeForm extends Form
{
protected $notice = null;
function __construct(HTMLOutputter $out=null, array $formOpts=array())
{
if (!array_key_exists('notice', $formOpts) || !$formOpts['notice'] instanceof Notice) {
throw new ServerException('No notice provided to DeletenoticeForm');
}
parent::__construct($out);
$this->notice = $formOpts['notice'];
}
function id()
{
return 'form_notice_delete-' . $this->notice->getID();
}
function formClass()
{
return 'form_settings';
}
function action()
{
return common_local_url('deletenotice', array('notice' => $this->notice->getID()));
}
function formLegend()
{
$this->out->element('legend', null, _('Delete notice'));
}
function formData()
{
$this->out->element('p', null, _('Are you sure you want to delete this notice?'));
}
/**
* Action elements
*
* @return void
*/
function formActions()
{
$this->out->submit('form_action-no',
// TRANS: Button label on the delete notice form.
_m('BUTTON','No'),
'submit form_action-primary',
'no',
// TRANS: Submit button title for 'No' when deleting a notice.
_('Do not delete this notice.'));
$this->out->submit('form_action-yes',
// TRANS: Button label on the delete notice form.
_m('BUTTON','Yes'),
'submit form_action-secondary',
'yes',
// TRANS: Submit button title for 'Yes' when deleting a notice.
_('Delete this notice.'));
}
}

View File

@ -50,7 +50,7 @@ class FormAction extends ManagedAction
protected function prepare(array $args=array()) {
parent::prepare($args);
$this->form = $this->form ?: $this->action;
$this->form = $this->form ?: ucfirst($this->action);
$this->args['form'] = $this->form;
$this->type = !is_null($this->type) ? $this->type : $this->trimmed('type');