sub new {
my $class = shift;
my $dbh = shift;
- my $bugid = shift;
+ my %args = @_;
my $self = { dbh => $dbh,
- id => $bugid,
- #msgid => ... ,
+ id => $args{ID},
+ title => $args{Title}
};
bless $self, $class;
my $dbh = shift;
my $msgid = shift;
my $subj = shift;
- #my %args = @_;
my $sth = $dbh->prepare(q{
INSERT INTO bugs (title) VALUES (?)
my $bugid = $dbh->sqlite_last_insert_rowid();
- my $self = { dbh => $dbh,
- id => $bugid,
- msgid => $msgid,
- };
-
- bless $self, $class;
- return $self;
+ return $class->new($dbh, ID => $bugid, Title=>$subj);
}
sub messages {
}
}
+sub listall ($$) {
+ my $class = shift;
+ my $dbh = shift;
+
+ my $sth = $dbh->prepare(q{
+ SELECT id,title FROM bugs ORDER BY id
+ });
+ $sth->execute;
+ my @r;
+ while (my @row = $sth->fetchrow_array) {
+ push @r, $class->new($dbh, ID => $row[0], Title => $row[1]);
+ }
+ return @r;
+}
+
1;
--- /dev/null
+#!/usr/bin/perl -I/home/ijc/devel/bugs
+
+use strict;
+use warnings;
+
+use CGI qw/:standard/;
+use CGI::Carp qw(fatalsToBrowser);
+
+use Bugs::Bug;
+use Bugs::Common;
+
+require 'common.pl';
+
+readconfig;
+my $dbh = opendb;
+
+print header,
+ start_html($c{TrackerName}.": All Bugs");
+
+my @bugs = Bugs::Bug->listall($dbh);
+
+print table(Tr([
+ th(['Bug #', 'Title']),
+ map { td([$_->{id}, buglink($_)]) } @bugs,
+ ],
+ )
+ );
+print end_html;
+
+
$c{DB} = "/tmp/bugs.sqlite";
$c{RawMailBase} = "/tmp/bugs.raw";
+
+$c{TrackerName} = "Bug Tracker";