App-Office-CMS
view release on metacpan or search on metacpan
lib/App/Office/CMS/Controller/Page.pm view on Meta::CPAN
package App::Office::CMS::Controller::Page;
use parent 'App::Office::CMS::Controller';
use strict;
use warnings;
use JSON::XS;
use Try::Tiny;
# We don't use Moo because we isa CGI::Application.
our $VERSION = '0.93';
# -----------------------------------------------
sub add_child
{
my($self) = @_;
$self -> log(debug => 'add_child()');
# These keys are used in the return statement,
# but should only be displayed in case of error.
my($page) =
{
curent_page => 'N/A',
homepage => 'No',
page_name => 'N/A',
};
my($target_div) = 'update_page_message_div';
my($result);
try
{
my($asset);
my($message);
($message, $page, $asset) = $self -> process_page_form('add');
if ($message)
{
$result = $self -> build_error_result($page, $message, $target_div);
}
else
{
# Success.
$message = $self -> param('db') -> page -> add_child($page, $asset);
$result = $self -> build_success_result('add_child', $page, $message, $target_div);
}
}
catch
{
$result = $self -> build_error_result($page, $_, $target_div);
};
# update_page_message_div is on screen (under the Edit Pages tab),
# because we're displaying a page using page.tx.
return JSON::XS -> new -> utf8 -> encode({results => $result});
} # End of add_child.
# -----------------------------------------------
sub add_sibling_above
( run in 0.508 second using v1.01-cache-2.11-cpan-39bf76dae61 )