Bugzilla – Attachment 48290 Details for
Bug 15839
Move the reviews related code to Koha::Reviews
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 15839: Koha::Reviews - Remove C4::Review residue
Bug-15839-KohaReviews---Remove-C4Review-residue.patch (text/plain), 20.24 KB, created by
Marc Véron
on 2016-02-22 12:51:04 UTC
(
hide
)
Description:
Bug 15839: Koha::Reviews - Remove C4::Review residue
Filename:
MIME Type:
Creator:
Marc Véron
Created:
2016-02-22 12:51:04 UTC
Size:
20.24 KB
patch
obsolete
>From fcdb03ccb27967564d604584f32e69c969c8e87a Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@bugs.koha-community.org> >Date: Tue, 16 Feb 2016 16:32:15 +0000 >Subject: [PATCH] Bug 15839: Koha::Reviews - Remove C4::Review residue >MIME-Version: 1.0 >Content-Type: text/plain; charset=UTF-8 >Content-Transfer-Encoding: 8bit > >Signed-off-by: Marc Véron <veron@veron.ch> >--- > C4/Review.pm | 76 --------- > opac/opac-detail.pl | 1 - > opac/opac-showreviews.pl | 1 - > reviews/reviewswaiting.pl | 1 - > t/Review.t | 15 -- > t/db_dependent/Review.t | 395 --------------------------------------------- > 6 files changed, 489 deletions(-) > delete mode 100644 C4/Review.pm > delete mode 100755 t/Review.t > delete mode 100644 t/db_dependent/Review.t > >diff --git a/C4/Review.pm b/C4/Review.pm >deleted file mode 100644 >index ebe6a57..0000000 >--- a/C4/Review.pm >+++ /dev/null >@@ -1,76 +0,0 @@ >-package C4::Review; >- >-# Copyright 2000-2002 Katipo Communications >-# >-# This file is part of Koha. >-# >-# Koha is free software; you can redistribute it and/or modify it >-# under the terms of the GNU General Public License as published by >-# the Free Software Foundation; either version 3 of the License, or >-# (at your option) any later version. >-# >-# Koha is distributed in the hope that it will be useful, but >-# WITHOUT ANY WARRANTY; without even the implied warranty of >-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >-# GNU General Public License for more details. >-# >-# You should have received a copy of the GNU General Public License >-# along with Koha; if not, see <http://www.gnu.org/licenses>. >- >-use strict; >-use warnings; >- >-use C4::Context; >- >-use vars qw($VERSION @ISA @EXPORT); >- >-BEGIN { >- # set the version for version checking >- $VERSION = 3.07.00.049; >- require Exporter; >- @ISA = qw(Exporter); >- @EXPORT = qw(savereview numberofreviewsbybiblionumber); >-} >- >-=head1 NAME >- >-C4::Review - Perl Module containing routines for dealing with reviews of items >- >-=head1 SYNOPSIS >- >- use C4::Review; >- >- savereview($biblionumber,$borrowernumber,$review); >- my $count=numberofreviewsbybiblionumber($biblionumber); >- >-=head1 DESCRIPTION >- >-Review.pm provides many routines for manipulating reviews. >- >-=head1 FUNCTIONS >- >-=head2 numberofreviewsbybiblionumber >- >- my $count=numberofreviewsbybiblionumber($biblionumber); >- >-Return the number of reviews approved for a given biblionumber >- >-=cut >- >-sub numberofreviewsbybiblionumber { >- my ($biblionumber) = @_; >- my $dbh = C4::Context->dbh; >- my $query = "SELECT count(*) FROM reviews WHERE biblionumber=? and approved=?"; >- my $sth = $dbh->prepare($query); >- $sth->execute( $biblionumber, 1 ); >- return $sth->fetchrow; >-} >- >-1; >-__END__ >- >-=head1 AUTHOR >- >-Koha Team >- >-=cut >diff --git a/opac/opac-detail.pl b/opac/opac-detail.pl >index 09ce0e0..fb5991f 100755 >--- a/opac/opac-detail.pl >+++ b/opac/opac-detail.pl >@@ -37,7 +37,6 @@ use C4::Tags qw(get_tags); > use C4::XISBN qw(get_xisbns get_biblionumber_from_isbn); > use C4::External::Amazon; > use C4::External::Syndetics qw(get_syndetics_index get_syndetics_summary get_syndetics_toc get_syndetics_excerpt get_syndetics_reviews get_syndetics_anotes ); >-use C4::Review; > use C4::Ratings; > use C4::Members; > use C4::XSLT; >diff --git a/opac/opac-showreviews.pl b/opac/opac-showreviews.pl >index a88a74e..995ad70 100755 >--- a/opac/opac-showreviews.pl >+++ b/opac/opac-showreviews.pl >@@ -26,7 +26,6 @@ use C4::Auth; > use C4::Koha; > use C4::Output; > use C4::Circulation; >-use C4::Review; > use C4::Biblio; > use C4::Members qw/GetMemberDetails/; > use Koha::DateUtils; >diff --git a/reviews/reviewswaiting.pl b/reviews/reviewswaiting.pl >index 017e162..452b54c 100755 >--- a/reviews/reviewswaiting.pl >+++ b/reviews/reviewswaiting.pl >@@ -21,7 +21,6 @@ use CGI qw ( -utf8 ); > use C4::Auth; > use C4::Output; > use C4::Context; >-use C4::Review; > use C4::Members; > use C4::Biblio; > use Koha::Reviews; >diff --git a/t/Review.t b/t/Review.t >deleted file mode 100755 >index 90323bc..0000000 >--- a/t/Review.t >+++ /dev/null >@@ -1,15 +0,0 @@ >-#!/usr/bin/perl >-# >-# >-# This Koha test module is a stub! >-# Add more tests here!!! >- >-use strict; >-use warnings; >- >-use Test::More tests => 1; >- >-BEGIN { >- use_ok('C4::Review'); >-} >- >diff --git a/t/db_dependent/Review.t b/t/db_dependent/Review.t >deleted file mode 100644 >index 381f5e8..0000000 >--- a/t/db_dependent/Review.t >+++ /dev/null >@@ -1,395 +0,0 @@ >-#!/usr/bin/perl >- >-# Copyright 2015 BibLibre >-# >-# This file is part of Koha. >-# >-# Koha is free software; you can redistribute it and/or modify it under the >-# terms of the GNU General Public License as published by the Free Software >-# Foundation; either version 3 of the License, or (at your option) any later >-# version. >-# >-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY >-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR >-# A PARTICULAR PURPOSE. See the GNU General Public License for more details. >-# >-# You should have received a copy of the GNU General Public License along >-# with Koha; if not, see <http://www.gnu.org/licenses>. >- >-use Modern::Perl; >- >-use Test::More tests => 117; >-use t::lib::TestBuilder; >- >-use Koha::Database; >-use Time::Piece; >- >-BEGIN { >- use_ok('C4::Biblio'); >- use_ok('C4::Review'); >- use_ok('Koha::Borrower'); >- use_ok('MARC::Record'); >-} >- >-can_ok( >- 'C4::Review', qw( >- getreview >- savereview >- updatereview >- numberofreviews >- numberofreviewsbybiblionumber >- getreviews >- getallreviews >- approvereview >- unapprovereview >- deletereview ) >-); >- >-my $schema = Koha::Database->new->schema; >-$schema->storage->txn_begin; >-our $dbh = C4::Context->dbh; >- >-$dbh->do('DELETE FROM reviews'); >-$dbh->do('DELETE FROM issues'); >-$dbh->do('DELETE FROM borrowers'); >- >-my $builder = t::lib::TestBuilder->new; >- >-# ---------- Some borrowers for testing ------------------- >-my $categorycode = $builder->build({ source => 'Category' })->{ categorycode }; >-my $branchcode = $builder->build({ source => 'Branch' })->{ branchcode }; >- >-my $b1 = Koha::Borrower->new( >- { surname => 'Borrower 1', >- branchcode => $branchcode, >- categorycode => $categorycode >- } >-); >-$b1->store(); >- >-my $b2 = Koha::Borrower->new( >- { surname => 'Borrower 2', >- branchcode => $branchcode, >- categorycode => $categorycode >- } >-); >-$b2->store(); >- >-my $b3 = Koha::Borrower->new( >- { surname => 'Borrower 3', >- branchcode => $branchcode, >- categorycode => $categorycode >- } >-); >-$b3->store(); >- >-# ---------- Some biblios for testing ------------------- >-my ($biblionumber1) = AddBiblio( MARC::Record->new, '' ); >-my ($biblionumber2) = AddBiblio( MARC::Record->new, '' ); >-my ($biblionumber3) = AddBiblio( MARC::Record->new, '' ); >- >-# ---------- Some reviews for testing ------------------- >-my $rev1 = 'Review 1'; >-my $rev2 = 'Review 2'; >-my $rev3 = 'Review 3'; >- >-# ---------- Testing savereview --------------------------- >-my $date = Time::Piece::localtime->strftime('%F %T'); >- >-savereview( $biblionumber1, $b1->borrowernumber, $rev1 ); >- >-my $query = ' >- SELECT count(*) >- FROM reviews >-'; >-my $count = $dbh->selectrow_array($query); >-is( $count, 1, 'There is 1 review' ); >- >-$query = ' >- SELECT reviewid, borrowernumber, biblionumber, review, approved, datereviewed >- FROM reviews >-'; >-my ( $reviewid, $borrowernumber, $biblionumber, $review, $approved, $datereviewed ) = $dbh->selectrow_array($query); >-is( $borrowernumber, $b1->borrowernumber, 'borrowernumber field is good' ); >-is( $biblionumber, $biblionumber1, 'biblionumber field is good' ); >-is( $review, $rev1, 'review field is good' ); >-is( $approved, 0, 'approved field is 0 by default' ); >-is( $datereviewed, $date, 'datereviewed field is good' ); >- >-# We add some others reviews >-savereview( $biblionumber1, $b2->borrowernumber, $rev2 ); >-savereview( $biblionumber3, $b2->borrowernumber, $rev3 ); >- >-# ---------- Testing getreview ---------------------------- >-my $review1 = getreview( $biblionumber1, $b1->borrowernumber ); >-my $review2 = getreview( $biblionumber1, $b2->borrowernumber ); >-my $review3 = getreview( $biblionumber3, $b2->borrowernumber ); >- >-$query = ' >- SELECT count(*) >- FROM reviews >-'; >-$count = $dbh->selectrow_array($query); >-is( $count, 3, 'There are 3 reviews' ); >- >-isa_ok( $review1, 'HASH', '$review1 is defined as a hash' ); >-is( $review1->{borrowernumber}, $b1->borrowernumber, 'borrowernumber field is good' ); >-is( $review1->{biblionumber}, $biblionumber1, 'biblionumber field is good' ); >-is( $review1->{review}, $rev1, 'review field is good' ); >-is( $review1->{approved}, 0, 'approved field is 0 by default' ); >-cmp_ok( $review1->{datereviewed}, 'ge', $date, 'datereviewed field is good' ); >- >-isa_ok( $review2, 'HASH', '$review2 is defined as a hash' ); >-is( $review2->{borrowernumber}, $b2->borrowernumber, 'borrowernumber field is good' ); >-is( $review2->{biblionumber}, $biblionumber1, 'biblionumber field is good' ); >-is( $review2->{review}, $rev2, 'review field is good' ); >-is( $review2->{approved}, 0, 'approved field is 0 by default' ); >-cmp_ok( $review2->{datereviewed}, 'ge', $date, 'datereviewed field is good' ); >- >-isa_ok( $review3, 'HASH', '$review3 is defined as a hash' ); >-is( $review3->{borrowernumber}, $b2->borrowernumber, 'borrowernumber field is good' ); >-is( $review3->{biblionumber}, $biblionumber3, 'biblionumber field is good' ); >-is( $review3->{review}, $rev3, 'review field is good' ); >-is( $review3->{approved}, 0, 'approved field is 0 by default' ); >-cmp_ok( $review3->{datereviewed}, 'ge', $date, 'datereviewed field is good' ); >- >-# ---------- Testing getreviews --------------------------- >-my $status = 0; >-my $reviews = getreviews( $biblionumber1, $status ); >- >-$query = ' >- SELECT count(*) >- FROM reviews >- WHERE biblionumber = ? >- AND approved = ? >-'; >-$count = $dbh->selectrow_array( $query, {}, $biblionumber1, $status ); >-is( $count, 2, 'There are 2 reviews corresponding' ); >- >-isa_ok( $reviews, 'ARRAY', '$reviews is defined as an array' ); >- >-isa_ok( $reviews->[0], 'HASH', '$reviews->[0] is defined as a hash' ); >-is( $reviews->[0]->{reviewid}, $review1->{reviewid}, 'reviewid field is good' ); >-is( $reviews->[0]->{borrowernumber}, $review1->{borrowernumber}, 'borrowernumber field is good' ); >-is( $reviews->[0]->{biblionumber}, $review1->{biblionumber}, 'biblionumber field is good' ); >-is( $reviews->[0]->{review}, $review1->{review}, 'review field is good' ); >-is( $reviews->[0]->{approved}, $review1->{approved}, 'approved field is 0 by default' ); >-cmp_ok( $reviews->[0]->{datereviewed}, 'ge', $date, 'datereviewed field is good' ); >- >-isa_ok( $reviews->[1], 'HASH', '$reviews->[1] is defined as a hash' ); >-is( $reviews->[1]->{reviewid}, $review2->{reviewid}, 'reviewid field is good' ); >-is( $reviews->[1]->{borrowernumber}, $review2->{borrowernumber}, 'borrowernumber field is good' ); >-is( $reviews->[1]->{biblionumber}, $review2->{biblionumber}, 'biblionumber field is good' ); >-is( $reviews->[1]->{review}, $review2->{review}, 'review field is good' ); >-is( $reviews->[1]->{approved}, $review2->{approved}, 'approved field is 0 by default' ); >-cmp_ok( $reviews->[1]->{datereviewed}, 'ge', $date, 'datereviewed field is good' ); >- >-$status = 1; >-$reviews = getreviews( $biblionumber1, $status ); >-isa_ok( $reviews, 'ARRAY', '$reviews is defined as an array' ); >-is_deeply( $reviews, [], '$reviews is empty, there is no approved review' ); >- >-# ---------- Testing getallreviews ------------------------ >-$status = 1; >-$reviews = getallreviews($status); >-isa_ok( $reviews, 'ARRAY', '$reviews is defined as an array' ); >-is_deeply( $reviews, [], '$reviews is empty, there is no approved review' ); >- >-$status = 0; >-$reviews = getallreviews($status); >- >-$query = ' >- SELECT count(*) >- FROM reviews >- WHERE approved = ? >-'; >-$count = $dbh->selectrow_array( $query, {}, $status ); >-is( $count, 3, 'There are 3 reviews corresponding' ); >- >-my $count2 = numberofreviews($status); >-is( $count2, $count, 'number of reviews returned is good' ); >- >-isa_ok( $reviews, 'ARRAY', '$reviews is defined as an array' ); >- >-isa_ok( $reviews->[0], 'HASH', '$reviews->[0] is defined as a hash' ); >-is( $reviews->[0]->{reviewid}, $review1->{reviewid}, 'reviewid field is good' ); >-is( $reviews->[0]->{borrowernumber}, $review1->{borrowernumber}, 'borrowernumber field is good' ); >-is( $reviews->[0]->{biblionumber}, $review1->{biblionumber}, 'biblionumber field is good' ); >-is( $reviews->[0]->{review}, $review1->{review}, 'review field is good' ); >-is( $reviews->[0]->{approved}, $review1->{approved}, 'approved field is 0 by default' ); >-cmp_ok( $reviews->[0]->{datereviewed}, 'ge', $date, 'datereviewed field is good' ); >- >-isa_ok( $reviews->[1], 'HASH', '$reviews->[1] is defined as a hash' ); >-is( $reviews->[1]->{reviewid}, $review2->{reviewid}, 'reviewid field is good' ); >-is( $reviews->[1]->{borrowernumber}, $review2->{borrowernumber}, 'borrowernumber field is good' ); >-is( $reviews->[1]->{biblionumber}, $review2->{biblionumber}, 'biblionumber field is good' ); >-is( $reviews->[1]->{review}, $review2->{review}, 'review field is good' ); >-is( $reviews->[1]->{approved}, $review2->{approved}, 'approved field is 0 by default' ); >-cmp_ok( $reviews->[1]->{datereviewed}, 'ge', $date, 'datereviewed field is good' ); >- >-isa_ok( $reviews->[2], 'HASH', '$reviews->[2] is defined as a hash' ); >-is( $reviews->[2]->{reviewid}, $review3->{reviewid}, 'reviewid field is good' ); >-is( $reviews->[2]->{borrowernumber}, $review3->{borrowernumber}, 'borrowernumber field is good' ); >-is( $reviews->[2]->{biblionumber}, $review3->{biblionumber}, 'biblionumber field is good' ); >-is( $reviews->[2]->{review}, $review3->{review}, 'review field is good' ); >-is( $reviews->[2]->{approved}, $review3->{approved}, 'approved field is 0 by default' ); >-cmp_ok( $reviews->[2]->{datereviewed}, 'ge', $date, 'datereviewed field is good' ); >- >-my $offset = 1; >-my $row_count = 1; >-$reviews = getallreviews( $status, $offset ); >-is( @$reviews, 2, 'There are only 2 Reviews here' ); >-is_deeply( $reviews->[0], $review2, 'We have Review2...' ); >-is_deeply( $reviews->[1], $review3, '...and Review3' ); >- >-$reviews = getallreviews( $status, $offset, $row_count ); >-is( @$reviews, 1, 'There is only 1 Review here' ); >-is_deeply( $reviews->[0], $review2, 'We have only Review2' ); >- >-# ---------- Testing numberofreviews ---------------------- >-$status = 0; >-$count = numberofreviews($status); >-is( $count, 3, 'There are 3 reviews where approved = 0' ); >- >-$status = 1; >-$count = numberofreviews($status); >-is( $count, 0, 'There is no review where approved = 0' ); >- >-$count = numberofreviews(); >-is( $count, 0, 'There is no review where approved = 0 (Default)' ); >- >-# ---------- Testing approvereview ------------------------ >-is( $review1->{approved}, 0, 'review1 is not approved' ); >-approvereview( $review1->{reviewid} ); >-$review1 = getreview( $biblionumber1, $b1->borrowernumber ); >-is( $review1->{approved}, 1, 'review1 is approved' ); >- >-is( $review2->{approved}, 0, 'review2 is not approved' ); >-approvereview( $review2->{reviewid} ); >-$review2 = getreview( $biblionumber1, $b2->borrowernumber ); >-is( $review2->{approved}, 1, 'review2 is approved' ); >- >-is( $review3->{approved}, 0, 'review3 is not approved' ); >-approvereview( $review3->{reviewid} ); >-$review3 = getreview( $biblionumber3, $b2->borrowernumber ); >-is( $review3->{approved}, 1, 'review3 is approved' ); >- >-$status = 1; >-$reviews = getallreviews($status); >- >-$count = numberofreviews($status); >-is( $count, 3, '3 reviews are approved' ); >- >-$status = 0; >-$count = numberofreviews($status); >-is( $count, 0, 'No review are not approved' ); >- >-# ---------- Testing unapprovereview ---------------------- >-is( $review1->{approved}, 1, 'review1 is approved' ); >-unapprovereview( $review1->{reviewid} ); >-$review1 = getreview( $biblionumber1, $b1->borrowernumber ); >-is( $review1->{approved}, 0, 'review1 is not approved' ); >- >-is( $review2->{approved}, 1, 'review2 is approved' ); >-unapprovereview( $review2->{reviewid} ); >-$review2 = getreview( $biblionumber1, $b2->borrowernumber ); >-is( $review2->{approved}, 0, 'review2 is not approved' ); >- >-is( $review3->{approved}, 1, 'review3 is approved' ); >-unapprovereview( $review3->{reviewid} ); >-$review3 = getreview( $biblionumber3, $b2->borrowernumber ); >-is( $review3->{approved}, 0, 'review3 is not approved' ); >- >-$status = 0; >-$reviews = getallreviews($status); >- >-$count = numberofreviews($status); >-is( $count, 3, '3 reviews are not approved' ); >- >-$status = 1; >-$count = numberofreviews($status); >-is( $count, 0, 'No review are approved' ); >- >-# ---------- Testing numberofreviewsbybiblionumber -------- >-approvereview( $review1->{reviewid} ); >-approvereview( $review2->{reviewid} ); >-approvereview( $review3->{reviewid} ); >- >-$biblionumber = $biblionumber1; >-$count = numberofreviewsbybiblionumber($biblionumber); >-is( $count, 2, 'There are 2 reviews for biblionumber1 and approved = 1' ); >- >-$biblionumber = $biblionumber2; >-$count = numberofreviewsbybiblionumber($biblionumber); >-is( $count, 0, 'There is no review for biblionumber2 and approved = 1' ); >- >-$biblionumber = $biblionumber3; >-$count = numberofreviewsbybiblionumber($biblionumber); >-is( $count, 1, 'There 1 review for biblionumber3 and approved = 1' ); >- >-unapprovereview( $review1->{reviewid} ); >-unapprovereview( $review3->{reviewid} ); >- >-$biblionumber = $biblionumber1; >-$count = numberofreviewsbybiblionumber($biblionumber); >-is( $count, 1, 'There is 1 review for biblionumber1 and approved = 1' ); >- >-$biblionumber = $biblionumber2; >-$count = numberofreviewsbybiblionumber($biblionumber); >-is( $count, 0, 'There is no review for biblionumber2 and approved = 1' ); >- >-$biblionumber = $biblionumber3; >-$count = numberofreviewsbybiblionumber($biblionumber); >-is( $count, 0, 'There is no review for biblionumber3 and approved = 1' ); >- >-# ---------- Testing updatereview ------------------------- >-my $rev1b = 'Review 1 bis'; >-my $rev2b = 'Review 2 bis'; >-my $rev3b = 'Review 3 bis'; >- >-is( $review1->{review}, $rev1, 'review field is "Review 1"' ); >-updatereview( $biblionumber1, $b1->borrowernumber, $rev1b ); >-$review1 = getreview( $biblionumber1, $b1->borrowernumber ); >-is( $review1->{review}, $rev1b, 'review field is "Review 1 bis"' ); >- >-is( $review2->{review}, $rev2, 'review field is "Review 2"' ); >-updatereview( $biblionumber1, $b2->borrowernumber, $rev2b ); >-$review2 = getreview( $biblionumber1, $b2->borrowernumber ); >-is( $review2->{review}, $rev2b, 'review field is "Review 2 bis"' ); >- >-is( $review3->{review}, $rev3, 'review field is "Review 3"' ); >-updatereview( $biblionumber3, $b2->borrowernumber, $rev3b ); >-$review3 = getreview( $biblionumber3, $b2->borrowernumber ); >-is( $review3->{review}, $rev3b, 'review field is "Review 3 bis"' ); >- >-# ---------- Testing deletereview ------------------------- >-my $status0 = 0; >-my $status1 = 1; >- >-my $numberOfReviews = numberofreviews($status0) + numberofreviews($status1); >-is( $numberOfReviews, 3, 'There are 3 reviews in database' ); >- >-deletereview( $review1->{reviewid} ); >-$review1 = getreview( $biblionumber1, $b3->borrowernumber ); >-ok( !defined($review1), 'Review1 is no longer defined' ); >- >-$numberOfReviews = numberofreviews($status0) + numberofreviews($status1); >-is( $numberOfReviews, 2, 'There are 2 reviews left in database' ); >- >-deletereview( $review2->{reviewid} ); >-$review2 = getreview( $biblionumber2, $b2->borrowernumber ); >-ok( !defined($review2), 'Review2 is no longer defined' ); >- >-$numberOfReviews = numberofreviews($status0) + numberofreviews($status1); >-is( $numberOfReviews, 1, 'There is 1 review left in database' ); >- >-deletereview( $review3->{reviewid} ); >-$review3 = getreview( $biblionumber3, $b2->borrowernumber ); >-ok( !defined($review3), 'Review3 is no longer defined' ); >- >-$numberOfReviews = numberofreviews($status0) + numberofreviews($status1); >-is( $numberOfReviews, 0, 'There is no review left in database' ); >- >-$schema->storage->txn_rollback; >- >-1; >-- >1.7.10.4
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 15839
:
48166
|
48167
|
48168
|
48169
|
48170
|
48171
|
48172
|
48173
|
48174
|
48175
|
48176
|
48280
|
48281
|
48282
|
48283
|
48284
|
48285
|
48286
|
48287
|
48288
|
48289
|
48290
|
51197
|
51198
|
51199
|
51200
|
51201
|
51202
|
51203
|
51204
|
51205
|
51206
|
51207
|
53794
|
53795
|
53796
|
53797
|
53798
|
53799
|
53800
|
53801
|
53802
|
53803
|
53804
|
53805
|
53806
|
53807