Fix the WikiPage title auto fill-in by using a Moose builder method that can be overridden by child classes.
This commit is contained in:
parent
ce15690523
commit
e4de128f76
2 changed files with 15 additions and 1 deletions
|
|
@ -33,8 +33,14 @@ property title => (
|
||||||
label => ['99','Asset'],
|
label => ['99','Asset'],
|
||||||
hoverHelp => ['99 description','Asset'],
|
hoverHelp => ['99 description','Asset'],
|
||||||
fieldType => 'text',
|
fieldType => 'text',
|
||||||
default => 'Untitled',
|
builder => '_default_title',
|
||||||
|
lazy => 1,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
sub _default_title {
|
||||||
|
return 'Untitled';
|
||||||
|
}
|
||||||
|
|
||||||
around title => sub {
|
around title => sub {
|
||||||
my $orig = shift;
|
my $orig = shift;
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
|
|
|
||||||
|
|
@ -51,6 +51,12 @@ property isFeatured => (
|
||||||
noFormPost => 1,
|
noFormPost => 1,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
override _default_title => sub {
|
||||||
|
my $self = shift;
|
||||||
|
my $title = $self->session->form->get('title') || super();
|
||||||
|
return $title;
|
||||||
|
};
|
||||||
|
|
||||||
with 'WebGUI::Role::Asset::AlwaysHidden';
|
with 'WebGUI::Role::Asset::AlwaysHidden';
|
||||||
with 'WebGUI::Role::Asset::Subscribable';
|
with 'WebGUI::Role::Asset::Subscribable';
|
||||||
with 'WebGUI::Role::Asset::Comments';
|
with 'WebGUI::Role::Asset::Comments';
|
||||||
|
|
@ -193,6 +199,8 @@ sub getEditTemplate {
|
||||||
protectQuestionLabel => $i18n->get("protectQuestionLabel"),
|
protectQuestionLabel => $i18n->get("protectQuestionLabel"),
|
||||||
isProtected => $self->isProtected
|
isProtected => $self->isProtected
|
||||||
};
|
};
|
||||||
|
$session->log->warn("title form variable". $form->get('title', 'text'));
|
||||||
|
$session->log->warn("title form element". $var->{formTitle});
|
||||||
my $children = [];
|
my $children = [];
|
||||||
if ($self->getId eq "new") {
|
if ($self->getId eq "new") {
|
||||||
$var->{formHeader} .= WebGUI::Form::hidden($session, { name=>"assetId", value=>"new" })
|
$var->{formHeader} .= WebGUI::Form::hidden($session, { name=>"assetId", value=>"new" })
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue