Bugzilla – Attachment 44102 Details for
Bug 10154
Add collection, location, and callnumber filters to report for most circulated items
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Added functionality for ccode and shelving location
Added-functionality-for-ccode-and-shelving-locatio.patch (text/plain), 7.77 KB, created by
Eivin Giske Skaaren
on 2015-10-28 00:29:18 UTC
(
hide
)
Description:
Added functionality for ccode and shelving location
Filename:
MIME Type:
Creator:
Eivin Giske Skaaren
Created:
2015-10-28 00:29:18 UTC
Size:
7.77 KB
patch
obsolete
>From ec91d9aaf4666101c4a6227d6b24d3cc3dd2f4ec Mon Sep 17 00:00:00 2001 >From: Eivin Giske Skaaren <eivin@sysmystic.com> >Date: Wed, 28 Oct 2015 00:28:28 +0000 >Subject: [PATCH] Added functionality for ccode and shelving location > >http://bugs.koha-community.org/show_bug.cgi?id=10154 >--- > .../prog/en/modules/reports/cat_issues_top.tt | 14 ++++ > reports/cat_issues_top.pl | 68 +++++++++++++++----- > 2 files changed, 67 insertions(+), 15 deletions(-) > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/cat_issues_top.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/reports/cat_issues_top.tt >index c76fba7..afe2e92 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/cat_issues_top.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reports/cat_issues_top.tt >@@ -125,6 +125,20 @@ > </select> > </li> > <li> >+ <label for="ccode">Collection code: </label><select name="Filter" id="ccode"><option value="" > Any collection code</option> >+ [% FOREACH ccodeloo IN ccodeloop %] >+ <option value="[% ccodeloo.value %]" >[% ccodeloo.description %] </option> >+ [% END %] >+ </select> >+ </li> >+ <li> >+ <label for="shelvingloc">Shelving location: </label><select name="Filter" id="shelvingloc"><option value="" > Any shelving location</option> >+ [% FOREACH shelvinglocloo IN shelvinglocloop %] >+ <option value="[% shelvinglocloo.value %]" >[% shelvinglocloo.description %] </option> >+ [% END %] >+ </select> >+ </li> >+ <li> > <label for="patroncategory">Patron category: </label><select name="Filter" id="patroncategory"><option value="" > Any Category code</option> > [% FOREACH borcatloo IN borcatloop %] > <option value="[% borcatloo.value %]" >[% borcatloo.description %] </option> >diff --git a/reports/cat_issues_top.pl b/reports/cat_issues_top.pl >index f88ff47..f624945 100755 >--- a/reports/cat_issues_top.pl >+++ b/reports/cat_issues_top.pl >@@ -129,7 +129,31 @@ if ($do_it) { > ); > push @itemtypeloop, \%row; > } >- >+ >+ #ccode >+ my $ccodes = GetAuthorisedValues('CCODE'); >+ my @ccodeloop; >+ for my $thisccode (@$ccodes) { >+ my %row = (value => $thisccode->{authorised_value}, >+ description => $thisccode->{lib}, >+ ); >+ push @ccodeloop, \%row; >+ } >+ >+ @ccodeloop = sort {$a->{value} cmp $b->{value}} @ccodeloop; >+ >+ #shelvingloc >+ my $shelvinglocs = GetAuthorisedValues('LOC'); >+ my @shelvinglocloop; >+ for my $thisloc (@$shelvinglocs) { >+ my %row = (value => $thisloc->{authorised_value}, >+ description => $thisloc->{lib}, >+ ); >+ push @shelvinglocloop, \%row; >+ } >+ >+ @shelvinglocloop = sort {$a->{value} cmp $b->{value}} @shelvinglocloop; >+ > #borcat > my ($codes,$labels) = GetborCatFromCatType(undef,undef); > my @borcatloop; >@@ -147,6 +171,8 @@ if ($do_it) { > CGIsepChoice => $CGIsepChoice, > branchloop => GetBranchesLoop(C4::Context->userenv->{'branch'}), > itemtypeloop =>\@itemtypeloop, >+ ccodeloop =>\@ccodeloop, >+ shelvinglocloop =>\@shelvinglocloop, > borcatloop =>\@borcatloop, > ); > output_html_with_http_headers $input, $cookie, $template->output; >@@ -171,7 +197,7 @@ sub calculate { > # Checking filters > # > my @loopfilter; >- for (my $i=0;$i<=6;$i++) { >+ for (my $i=0;$i<=11;$i++) { > my %cell; > if ( @$filters[$i] ) { > if (($i==1) and (@$filters[$i-1])) { >@@ -188,10 +214,12 @@ sub calculate { > $cell{crit} .="Return To" if ($i==3); > $cell{crit} .="Branch" if ($i==4); > $cell{crit} .="Doc Type" if ($i==5); >- $cell{crit} .="Bor Cat" if ($i==6); >- $cell{crit} .="Day" if ($i==7); >- $cell{crit} .="Month" if ($i==8); >- $cell{crit} .="Year" if ($i==9); >+ $cell{crit} .="Collection code" if ($i==6); >+ $cell{crit} .="Shelving location" if ($i==7); >+ $cell{crit} .="Bor Cat" if ($i==8); >+ $cell{crit} .="Day" if ($i==9); >+ $cell{crit} .="Month" if ($i==10); >+ $cell{crit} .="Year" if ($i==11); > push @loopfilter, \%cell; > } > } >@@ -210,11 +238,14 @@ sub calculate { > $colfilter[1] = @$filters[3] if ($column =~ /returndate/ ) ; > $colfilter[0] = @$filters[4] if ($column =~ /branch/ ) ; > $colfilter[0] = @$filters[5] if ($column =~ /itemtype/ ) ; >- $colfilter[0] = @$filters[6] if ($column =~ /category/ ) ; >- # $colfilter[0] = @$filters[11] if ($column =~ /sort2/ ) ; >- $colfilter[0] = @$filters[7] if ($column =~ /timestamp/ ) ; >- $colfilter[0] = @$filters[8] if ($column =~ /timestamp/ ) ; >+ $colfilter[0] = @$filters[6] if ($column =~ /ccode/ ) ; >+ $colfilter[0] = @$filters[7] if ($column =~ /loc/ ) ; >+ $colfilter[0] = @$filters[8] if ($column =~ /category/ ) ; >+ # This commented out row (sort2) was not removed when adding new filters for ccode, shelving location and call number >+ # $colfilter[0] = @$filters[11] if ($column =~ /sort2/ ) ; > $colfilter[0] = @$filters[9] if ($column =~ /timestamp/ ) ; >+ $colfilter[0] = @$filters[10] if ($column =~ /timestamp/ ) ; >+ $colfilter[0] = @$filters[11] if ($column =~ /timestamp/ ) ; > #warn "filtre col ".$colfilter[0]." ".$colfilter[1]; > > # loop cols. >@@ -299,6 +330,9 @@ sub calculate { > > # Processing average loanperiods > $strcalc .= "SELECT DISTINCT biblio.title, COUNT(biblio.biblionumber) AS RANK, biblio.biblionumber AS ID"; >+ if (@$filters[6] || @$filters[7]) { >+ $strcalc .= ", ccode as CCODE, location as LOC" >+ } > $strcalc .= " , $colfield " if ($colfield); > $strcalc .= " FROM `old_issues` > LEFT JOIN items USING(itemnumber) >@@ -327,13 +361,17 @@ sub calculate { > $strcalc .= "'" . @$filters[5] ."'" ; > } > @$filters[6]=~ s/\*/%/g if (@$filters[6]); >- $strcalc .= " AND borrowers.categorycode like '" . @$filters[6] ."'" if ( @$filters[6] ); >+ $strcalc .= " AND ccode like '" . @$filters[6] ."'" if ( @$filters[6] ); > @$filters[7]=~ s/\*/%/g if (@$filters[7]); >- $strcalc .= " AND dayname(old_issues.timestamp) like '" . @$filters[7]."'" if (@$filters[7]); >+ $strcalc .= " AND location like '" . @$filters[7] ."'" if ( @$filters[7] ); > @$filters[8]=~ s/\*/%/g if (@$filters[8]); >- $strcalc .= " AND monthname(old_issues.timestamp) like '" . @$filters[8]."'" if (@$filters[8]); >+ $strcalc .= " AND borrowers.categorycode like '" . @$filters[8] ."'" if ( @$filters[8] ); > @$filters[9]=~ s/\*/%/g if (@$filters[9]); >- $strcalc .= " AND year(old_issues.timestamp) like '" . @$filters[9] ."'" if ( @$filters[9] ); >+ $strcalc .= " AND dayname(old_issues.timestamp) like '" . @$filters[9]."'" if (@$filters[9]); >+ @$filters[10]=~ s/\*/%/g if (@$filters[10]); >+ $strcalc .= " AND monthname(old_issues.timestamp) like '" . @$filters[10]."'" if (@$filters[10]); >+ @$filters[11]=~ s/\*/%/g if (@$filters[11]); >+ $strcalc .= " AND year(old_issues.timestamp) like '" . @$filters[11] ."'" if ( @$filters[11] ); > > $strcalc .= " group by biblio.biblionumber"; > $strcalc .= ", $colfield" if ($column); >@@ -345,7 +383,7 @@ sub calculate { > my $previous_col; > my %indice; > while (my @data = $dbcalc->fetchrow) { >- my ($row, $rank, $id, $col )=@data; >+ my ($row, $rank, $id, $ccode, $loc, $col )=@data; > $col = "zzEMPTY" if (!defined($col)); > $indice{$col}=1 if (not($indice{$col})); > $table[$indice{$col}]->{$col}->{'name'}=$row; >-- >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 10154
:
44102
|
44135
|
44879
|
44880
|
44882
|
45246
|
45376
|
45377
|
45378