AnnoCPAN
view release on metacpan or search on metacpan
lib/AnnoCPAN/Control.pm view on Meta::CPAN
}
=item $obj->Show($vars)
Displays one POD page. Uses the pid CGI parameter.
=cut
sub Show {
my ($self, $vars) = @_;
$vars ||= {};
my $podver = $vars->{podver} || $self->param_obj('PodVer');
({
podver => $podver,
%$vars,
}, "show");
}
=item $obj->Show_note
Displays the POD page that is the "main reference" for a given note. Uses the
id CGI parameter.
=cut
sub Show_note {
my ($self) = @_;
my $note = $self->param_obj('Note');
my $podver = $note->section->podver;
my $uri = sprintf "/dist/%s/%s", $podver->distver->distver, $podver->path;
$self->redirect($uri);
#$self->Show({ podver => $podver });
}
sub Show_notepos {
my ($self) = @_;
my $note = $self->param_obj('Note');
({ note => $note }, 'show_notepos');
}
sub Update_notepos {
my ($self) = @_;
my $note = $self->param_obj('Note');
my $vars = { note => $note };
my $user = $self->user;
if ($user && $user->can_hide($note)) {
my %to_hide;
@to_hide{$self->param('hide')} = ();
my $ref = $self->param('ref');
for my $notepos ($note->notepos) {
if ($notepos->id eq $ref) {
$note->section($notepos->section);
$note->update;
}
if (exists $to_hide{$notepos->id}) {
$notepos->hide;
} else {
$notepos->unhide;
}
}
$vars->{message} = "Note bindings updated";
} else {
$vars->{error} = "Edit not authorized";
}
($vars, 'show_notepos');
}
=item $obj->Show_dist($vars)
Displays one distribution (distver) page. Uses the id CGI parameter or
$vars->{distver}.
=cut
sub Show_dist {
my ($self, $vars) = @_;
$vars ||= {};
my $distver = $vars->{distver} || $self->param_obj('DistVer');
({
distver => $distver,
%$vars,
}, "show_dist");
}
=item $obj->Edit
The edit screen (like Show, but includes the edit form).
=cut
sub Edit {
my ($self, $vars) = @_;
$vars ||= {};
my $notepos = $self->param_obj('NotePos');
({
podver => $notepos->podver,
note => $notepos->note,
%$vars,
#message => "here ($section, $podver)" . $podver->pod->name,
}, "edit");
}
sub Raw_note {
my ($self, $vars) = @_;
my $notepos = $self->param_obj('NotePos');
my $text = $notepos->note->note;
({ note => $text }, 'note.txt', 'text/plain');
}
sub Create {
my ($self, $vars) = @_;
$vars ||= {};
# get user, see if can edit
my $user = $self->user
or return $self->error("Not logged in; can't create note");
my $section = $self->param_obj('Section');
my $podver = $section->podver;
({
( run in 1.346 second using v1.01-cache-2.11-cpan-2398b32b56e )