summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2009-02-12 22:38:10 +0100
committerYorhel <git@yorhel.nl>2009-02-12 22:38:40 +0100
commit6089007c7b57c3ff158d6169ec22ad6d9325a7ec (patch)
treec3873079c244e7297119238862e61b08ca4f4e83
parent6ac34b06eb6d999ef77f47dd6b857856dc80a524 (diff)
Catalog number field to release entries
-rw-r--r--ChangeLog1
-rw-r--r--lib/VNDB/DB/Releases.pm7
-rw-r--r--lib/VNDB/Handler/Releases.pm14
-rw-r--r--util/dump.sql3
-rw-r--r--util/updates/update_2.3.sql4
5 files changed, 23 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 18c972ad..164d96b5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,7 @@
- Fixed case-sensitivity for BBCode
- Homepage shows platform icons for releases
- Don't show deleted items on /u+ recent changes
+ - Catalog number field to release entries
2.2 - 2009-01-16
- Additional custom CSS field to user profile
diff --git a/lib/VNDB/DB/Releases.pm b/lib/VNDB/DB/Releases.pm
index 52fea2b0..e35ef722 100644
--- a/lib/VNDB/DB/Releases.pm
+++ b/lib/VNDB/DB/Releases.pm
@@ -41,7 +41,8 @@ sub dbReleaseGet {
);
my @select = (
- qw|r.id r.locked r.hidden rr.title rr.original rr.gtin rr.language rr.website rr.released rr.notes rr.minage rr.type rr.patch|, 'rr.id AS cid',
+ qw|r.id r.locked r.hidden rr.title rr.original rr.gtin rr.catalog rr.language|,
+ qw|rr.website rr.released rr.notes rr.minage rr.type rr.patch|, 'rr.id AS cid',
$o{what} =~ /changes/ ? qw|c.added c.requester c.comments r.latest u.username c.rev| : (),
);
@@ -136,9 +137,9 @@ sub insert_rev {
my($self, $cid, $rid, $o) = @_;
$self->dbExec(q|
- INSERT INTO releases_rev (id, rid, title, original, gtin, language, website, released, notes, minage, type, patch)
+ INSERT INTO releases_rev (id, rid, title, original, gtin, catalog, language, website, released, notes, minage, type, patch)
VALUES (!l)|,
- [ $cid, $rid, @$o{qw| title original gtin language website released notes minage type patch|} ]);
+ [ $cid, $rid, @$o{qw| title original gtin catalog language website released notes minage type patch|} ]);
$self->dbExec(q|
INSERT INTO releases_producers (rid, pid)
diff --git a/lib/VNDB/Handler/Releases.pm b/lib/VNDB/Handler/Releases.pm
index 80208078..7a77772d 100644
--- a/lib/VNDB/Handler/Releases.pm
+++ b/lib/VNDB/Handler/Releases.pm
@@ -44,6 +44,7 @@ sub page {
[ title => 'Title (romaji)', diff => 1 ],
[ original => 'Original title', diff => 1 ],
[ gtin => 'JAN/UPC/EAN', serialize => sub { $_[0]||'[none]' } ],
+ [ catalog => 'Catalog number', serialize => sub { $_[0]||'[none]' } ],
[ language => 'Language', serialize => sub { $self->{languages}{$_[0]} } ],
[ website => 'Website', ],
[ released => 'Release date', htmlize => sub { datestr $_[0] } ],
@@ -181,6 +182,13 @@ sub _infotable {
end;
}
+ if($r->{catalog}) {
+ Tr ++$i % 2 ? (class => 'odd') : ();
+ td 'Catalog no.';
+ td $r->{catalog};
+ end;
+ }
+
if($r->{website}) {
Tr ++$i % 2 ? (class => 'odd') : ();
td 'Links';
@@ -239,7 +247,7 @@ sub edit {
my $vn = $rid ? $r->{vn} : [{ vid => $vid, title => $v->{title} }];
my %b4 = !$rid ? () : (
- (map { $_ => $r->{$_} } qw|type title original gtin language website notes minage platforms patch|),
+ (map { $_ => $r->{$_} } qw|type title original gtin catalog language website notes minage platforms patch|),
released => $r->{released} =~ /^([0-9]{4})([0-9]{2})([0-9]{2})$/ ? [ $1, $2, $3 ] : [ 0, 0, 0 ],
media => join(',', sort map "$_->{medium} $_->{qty}", @{$r->{media}}),
producers => join('|||', map "$_->{id},$_->{name}", sort { $a->{id} <=> $b->{id} } @{$r->{producers}}),
@@ -255,6 +263,7 @@ sub edit {
{ name => 'original', required => 0, default => '', maxlength => 250 },
{ name => 'gtin', required => 0, default => '0',
func => [ \&gtintype, 'Not a valid JAN/UPC/EAN code' ] },
+ { name => 'catalog', required => 0, default => '', maxlength => 50 },
{ name => 'language', enum => [ keys %{$self->{languages}} ] },
{ name => 'website', required => 0, default => '', template => 'url' },
{ name => 'released', required => 0, default => 0, multi => 1, template => 'int' },
@@ -284,7 +293,7 @@ sub edit {
!grep !/^(released|platforms|producers|vn)$/ && $frm->{$_} ne $b4{$_}, keys %b4;
my %opts = (
- (map { $_ => $frm->{$_} } qw| type title original gtin language website notes minage platforms editsum patch|),
+ (map { $_ => $frm->{$_} } qw| type title original gtin catalog language website notes minage platforms editsum patch|),
vn => $new_vn,
producers => $producers,
media => $media,
@@ -329,6 +338,7 @@ sub _form {
[ select => short => 'language', name => 'Language',
options => [ map [ $_, "$_ ($self->{languages}{$_})" ], sort keys %{$self->{languages}} ] ],
[ input => short => 'gtin', name => 'JAN/UPC/EAN' ],
+ [ input => short => 'catalog', name => 'Catalog number' ],
[ input => short => 'website', name => 'Official website' ],
[ static => label => 'Release date', content => sub {
Select id => 'released', name => 'released';
diff --git a/util/dump.sql b/util/dump.sql
index 3d937832..470a8aeb 100644
--- a/util/dump.sql
+++ b/util/dump.sql
@@ -113,7 +113,8 @@ CREATE TABLE releases_rev (
notes text NOT NULL DEFAULT '',
minage smallint NOT NULL DEFAULT -1,
gtin bigint NOT NULL DEFAULT 0,
- patch boolean NOT NULL DEFAULT FALSE
+ patch boolean NOT NULL DEFAULT FALSE,
+ catalog varchar(50) NOT NULL DEFAULT ''
);
-- releases_vn
diff --git a/util/updates/update_2.3.sql b/util/updates/update_2.3.sql
index 4faeba5a..d43718c9 100644
--- a/util/updates/update_2.3.sql
+++ b/util/updates/update_2.3.sql
@@ -1,7 +1,11 @@
+-- some random VN quotes
CREATE TABLE quotes (
vid integer NOT NULL REFERENCES vn (id),
quote varchar(250) NOT NULL,
PRIMARY KEY(vid, quote)
) WITHOUT OIDS;
+
+-- catalog numbers for releases
+ALTER TABLE releases_rev ADD COLUMN catalog varchar(50) NOT NULL DEFAULT '';