Raw content of EnsEMBL::Web::Component::Website::Interface::NewsSelectToEdit
package EnsEMBL::Web::Component::Website::Interface::NewsSelectToEdit;
use strict;
use warnings;
no warnings "uninitialized";
use base qw(EnsEMBL::Web::Component);
use EnsEMBL::Web::Data::NewsItem;
sub _init {
my $self = shift;
$self->cacheable( 0 );
$self->ajaxable( 0 );
}
sub caption {
my $self = shift;
return '';
}
sub content {
my $self = shift;
my $object = $self->object;
my $html = 'News Stories
';
my $release_id = $object->param('release_id') || $object->species_defs->ENSEMBL_VERSION;
my @stories = EnsEMBL::Web::Data::NewsItem->search('release_id' => $release_id);
my @sorted = sort {
$a->team cmp $b->team || $a->title cmp $b->title
} @stories;
my @values = ({'name' => '-- Select --', 'value' => ''});
foreach my $story (@sorted) {
next unless $story->declaration;
push @values, {'name' => $story->team.' - '.substr($story->declaration, 0, 50), 'value' => $story->id};
}
my $form = EnsEMBL::Web::Form->new('select_news', '/Website/News/Edit', 'post');
$form->add_element(
'name' => 'id',
'type' => 'DropDown',
'label' => 'Declarations',
'select' => 'select',
'values' => \@values,
);
$form->add_element(
'name' => 'submit',
'type' => 'Submit',
'value' => 'Next',
);
$html .= $form->render;
return $html;
}
1;