View | Details | Raw Unified | Return to bug 14610
Collapse All | Expand All

(-)a/Koha/Item.pm (-1 / +1 lines)
Lines 112-118 sub article_request_type { Link Here
112
      :                                      undef;
112
      :                                      undef;
113
    my $borrowertype = $borrower->categorycode;
113
    my $borrowertype = $borrower->categorycode;
114
    my $itemtype = $self->effective_itemtype();
114
    my $itemtype = $self->effective_itemtype();
115
    my $rules = GetIssuingRule( $borrowertype, $itemtype, $branchcode );
115
    my $rules = C4::Circulation::GetIssuingRule( $borrowertype, $itemtype, $branchcode );
116
116
117
    return $rules->{article_requests} || q{};
117
    return $rules->{article_requests} || q{};
118
}
118
}
(-)a/admin/smart-rules.pl (+2 lines)
Lines 130-135 elsif ($op eq 'add') { Link Here
130
    my $hardduedatecompare = $input->param('hardduedatecompare');
130
    my $hardduedatecompare = $input->param('hardduedatecompare');
131
    my $rentaldiscount = $input->param('rentaldiscount');
131
    my $rentaldiscount = $input->param('rentaldiscount');
132
    my $opacitemholds = $input->param('opacitemholds') || 0;
132
    my $opacitemholds = $input->param('opacitemholds') || 0;
133
    my $article_requests = $input->param('article_requests') || 'no';
133
    my $overduefinescap = $input->param('overduefinescap') || undef;
134
    my $overduefinescap = $input->param('overduefinescap') || undef;
134
    $debug and warn "Adding $br, $bor, $itemtype, $fine, $maxissueqty, $maxonsiteissueqty";
135
    $debug and warn "Adding $br, $bor, $itemtype, $fine, $maxissueqty, $maxonsiteissueqty";
135
136
Lines 159-164 elsif ($op eq 'add') { Link Here
159
        rentaldiscount     => $rentaldiscount,
160
        rentaldiscount     => $rentaldiscount,
160
        onshelfholds       => $onshelfholds,
161
        onshelfholds       => $onshelfholds,
161
        opacitemholds      => $opacitemholds,
162
        opacitemholds      => $opacitemholds,
163
        article_requests   => $article_requests,
162
        overduefinescap    => $overduefinescap,
164
        overduefinescap    => $overduefinescap,
163
    };
165
    };
164
166
(-)a/circ/article-request-slip.pl (+68 lines)
Line 0 Link Here
1
#!/usr/bin/perl
2
3
# Copyright 2015 ByWater Solutions
4
#
5
# This file is part of Koha.
6
#
7
# Koha is free software; you can redistribute it and/or modify it
8
# under the terms of the GNU General Public License as published by
9
# the Free Software Foundation; either version 3 of the License, or
10
# (at your option) any later version.
11
#
12
# Koha is distributed in the hope that it will be useful, but
13
# WITHOUT ANY WARRANTY; without even the implied warranty of
14
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
# GNU General Public License for more details.
16
#
17
# You should have received a copy of the GNU General Public License
18
# along with Koha; if not, see <http://www.gnu.org/licenses>.
19
20
use Modern::Perl;
21
22
use CGI qw( -utf8 );
23
24
use C4::Context;
25
use C4::Output;
26
use C4::Auth;
27
use Koha::ArticleRequests;
28
29
my $cgi = new CGI;
30
31
my $id = $cgi->param('id');
32
33
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
34
    {
35
        template_name   => "circ/printslip.tt",
36
        query           => $cgi,
37
        type            => "intranet",
38
        authnotrequired => 0,
39
        flagsrequired   => { circulate => "circulate_remaining_permissions" },
40
    }
41
);
42
43
my $ar = Koha::ArticleRequests->find($id);
44
45
$template->param( article_request => $ar );
46
47
my $slip = C4::Letters::GetPreparedLetter(
48
    module                 => 'circulation',
49
    letter_code            => 'AR_PRINT',
50
    message_transport_type => 'print',
51
    tables                 => {
52
        article_requests => $ar->id,
53
        borrowers        => $ar->borrowernumber,
54
        biblio           => $ar->biblionumber,
55
        biblioitems      => $ar->biblionumber,
56
        items            => $ar->itemnumber,
57
        branches         => $ar->branchcode,
58
    },
59
);
60
61
$template->param(
62
    slip   => $slip->{content},
63
    caller => 'article-request',
64
    plain  => !$slip->{is_html},
65
);
66
67
output_html_with_http_headers $cgi, $cookie, $template->output;
68
(-)a/circ/article-requests.pl (+47 lines)
Line 0 Link Here
1
#!/usr/bin/perl
2
3
# Copyright 2015 ByWater Solutions
4
#
5
# This file is part of Koha.
6
#
7
# Koha is free software; you can redistribute it and/or modify it
8
# under the terms of the GNU General Public License as published by
9
# the Free Software Foundation; either version 3 of the License, or
10
# (at your option) any later version.
11
#
12
# Koha is distributed in the hope that it will be useful, but
13
# WITHOUT ANY WARRANTY; without even the implied warranty of
14
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
# GNU General Public License for more details.
16
#
17
# You should have received a copy of the GNU General Public License
18
# along with Koha; if not, see <http://www.gnu.org/licenses>.
19
20
use Modern::Perl;
21
22
use CGI qw ( -utf8 );
23
24
use C4::Auth;
25
use C4::Output;
26
use Koha::ArticleRequests;
27
28
my $query = new CGI;
29
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
30
    {
31
        template_name   => "circ/article-requests.tt",
32
        query           => $query,
33
        type            => "intranet",
34
        authnotrequired => 0,
35
        flagsrequired   => { circulate => "circulate_remaining_permissions" },
36
    }
37
);
38
39
my $branchcode = $query->param('branchcode') || C4::Context->userenv->{'branch'};
40
41
$template->param(
42
    branchcode                  => $branchcode,
43
    article_requests_open       => scalar Koha::ArticleRequests->open($branchcode),
44
    article_requests_processing => scalar Koha::ArticleRequests->processing($branchcode),
45
);
46
47
output_html_with_http_headers $query, $cookie, $template->output;
(-)a/circ/request-article-do.pl (+70 lines)
Line 0 Link Here
1
#!/usr/bin/perl
2
3
# Copyright ByWater Solutions 2015
4
#
5
# This file is part of Koha.
6
#
7
# Koha is free software; you can redistribute it and/or modify it
8
# under the terms of the GNU General Public License as published by
9
# the Free Software Foundation; either version 3 of the License, or
10
# (at your option) any later version.
11
#
12
# Koha is distributed in the hope that it will be useful, but
13
# WITHOUT ANY WARRANTY; without even the implied warranty of
14
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
# GNU General Public License for more details.
16
#
17
# You should have received a copy of the GNU General Public License
18
# along with Koha; if not, see <http://www.gnu.org/licenses>.
19
20
use Modern::Perl;
21
22
use CGI qw ( -utf8 );
23
24
use C4::Auth;
25
use C4::Output;
26
27
use Koha::ArticleRequest;
28
29
my $cgi = new CGI;
30
31
my ( $template, $librarian, $cookie, $flags ) = get_template_and_user(
32
    {
33
        template_name   => "circ/request-article.tt",
34
        query           => $cgi,
35
        type            => "intranet",
36
        authnotrequired => 0,
37
        flagsrequired   => { circulate => 'circulate_remaining_permissions' },
38
    }
39
);
40
41
my $biblionumber   = $cgi->param('biblionumber');
42
my $borrowernumber = $cgi->param('borrowernumber');
43
my $branchcode     = $cgi->param('branchcode');
44
45
my $itemnumber = $cgi->param('itemnumber') || undef;
46
my $title      = $cgi->param('title')      || undef;
47
my $author     = $cgi->param('author')     || undef;
48
my $volume     = $cgi->param('volume')     || undef;
49
my $issue      = $cgi->param('issue')      || undef;
50
my $date       = $cgi->param('date')       || undef;
51
my $pages      = $cgi->param('pages')      || undef;
52
my $chapters   = $cgi->param('chapters')   || undef;
53
54
my $ar = Koha::ArticleRequest->new(
55
    {
56
        borrowernumber => $borrowernumber,
57
        biblionumber   => $biblionumber,
58
        branchcode     => $branchcode,
59
        itemnumber     => $itemnumber,
60
        title          => $title,
61
        author         => $author,
62
        volume         => $volume,
63
        issue          => $issue,
64
        date           => $date,
65
        pages          => $pages,
66
        chapters       => $chapters,
67
    }
68
)->store();
69
70
print $cgi->redirect("/cgi-bin/koha/circ/request-article.pl?biblionumber=$biblionumber");
(-)a/circ/request-article.pl (+53 lines)
Line 0 Link Here
1
#!/usr/bin/perl
2
3
# Copyright 2015 ByWater Solutions
4
# Copyright 2000-2002 Katipo Communications
5
# Copyright 2011 Catalyst IT
6
#
7
# This file is part of Koha.
8
#
9
# Koha is free software; you can redistribute it and/or modify it
10
# under the terms of the GNU General Public License as published by
11
# the Free Software Foundation; either version 3 of the License, or
12
# (at your option) any later version.
13
#
14
# Koha is distributed in the hope that it will be useful, but
15
# WITHOUT ANY WARRANTY; without even the implied warranty of
16
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
# GNU General Public License for more details.
18
#
19
# You should have received a copy of the GNU General Public License
20
# along with Koha; if not, see <http://www.gnu.org/licenses>.
21
22
use Modern::Perl;
23
24
use C4::Output;
25
use C4::Auth;
26
use Koha::Biblios;
27
use Koha::Borrowers;
28
use Koha::ArticleRequests;
29
30
my $input = new CGI;
31
32
my ( $template, $borrowernumber, $cookie, $flags ) = get_template_and_user(
33
    {
34
        template_name   => "circ/request-article.tt",
35
        query           => $input,
36
        type            => "intranet",
37
        authnotrequired => 0,
38
        flagsrequired   => { circulate => 'circulate_remaining_permissions' },
39
    }
40
);
41
42
my $biblionumber      = $input->param('biblionumber');
43
my $patron_cardnumber = $input->param('patron_cardnumber');
44
45
my $biblio = Koha::Biblios->find($biblionumber);
46
my $patron = $patron_cardnumber ? Koha::Borrowers->find( { cardnumber => $patron_cardnumber } ) : undef;
47
48
$template->param(
49
    biblio => $biblio,
50
    patron => $patron,
51
);
52
53
output_html_with_http_headers $input, $cookie, $template->output;
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/biblio-view-menu.inc (+4 lines)
Lines 1-3 Link Here
1
[% USE Koha %]
1
[% USE Biblio %]
2
[% USE Biblio %]
2
[% SET biblio_object_id = object || biblionumber %]
3
[% SET biblio_object_id = object || biblionumber %]
3
<div id="menu">
4
<div id="menu">
Lines 26-31 Link Here
26
    [% IF ( holdsview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% biblio_object_id %]">Holds ([% Biblio.HoldsCount( biblio_object_id ) %])</a></li>
27
    [% IF ( holdsview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% biblio_object_id %]">Holds ([% Biblio.HoldsCount( biblio_object_id ) %])</a></li>
27
    [% END %]
28
    [% END %]
28
    [% IF ( EasyAnalyticalRecords ) %][% IF ( analyze ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblio_object_id %]&amp;analyze=1">Analytics</a></li>[% END %]
29
    [% IF ( EasyAnalyticalRecords ) %][% IF ( analyze ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblio_object_id %]&amp;analyze=1">Analytics</a></li>[% END %]
30
    [% IF Koha.Preference('ArticleRequests') %]
31
        [% IF ( article_requests_view ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/circ/request-article.pl?biblionumber=[% IF ( object ) %][% object %][% ELSE %][% biblionumber %][% END %]">Article requests</a></li>
32
    [% END %]
29
33
30
    [% IF ( subscriptionsnumber ) %]<li><a href="/cgi-bin/koha/serials/serials-search.pl?searched=1&amp;biblionumber=[% biblio_object_id %]">Subscription(s)</a></li>[% END %]
34
    [% IF ( subscriptionsnumber ) %]<li><a href="/cgi-bin/koha/serials/serials-search.pl?searched=1&amp;biblionumber=[% biblio_object_id %]">Subscription(s)</a></li>[% END %]
31
</ul>
35
</ul>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref (+43 lines)
Lines 723-725 Circulation: Link Here
723
            - "Patron categories allowed to checkout in a batch"
723
            - "Patron categories allowed to checkout in a batch"
724
            - pref: BatchCheckoutsValidCategories
724
            - pref: BatchCheckoutsValidCategories
725
            - "(list of patron categories separated with a pipe '|')"
725
            - "(list of patron categories separated with a pipe '|')"
726
    Article Requests:
727
        -
728
            - pref: ArticleRequests
729
              choices:
730
                  yes: Enable
731
                  no: "Don't enable"
732
            - patrons to place article requests.
733
        -
734
            - For records that are record level or item level requestable, make the following fields mandatory 
735
            - pref: ArticleRequestsMandatoryFields
736
              multiple:
737
                title: Title
738
                author: Author
739
                volume: Volume
740
                issue: Issue
741
                date: Date
742
                pages: Pages
743
                chapters: Chapters
744
            -
745
        -
746
            - For records that are only record level requestable, make the following fields mandatory 
747
            - pref: ArticleRequestsMandatoryFieldsRecordOnly
748
              multiple:
749
                title: Title
750
                author: Author
751
                volume: Volume
752
                issue: Issue
753
                date: Date
754
                pages: Pages
755
                chapters: Chapters
756
            -
757
        -
758
            - For records that are only item level requestable, make the following fields mandatory 
759
            - pref: ArticleRequestsMandatoryFieldsItemOnly
760
              multiple:
761
                title: Title
762
                author: Author
763
                volume: Volume
764
                issue: Issue
765
                date: Date
766
                pages: Pages
767
                chapters: Chapters
768
            -
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt (+21 lines)
Lines 159-164 for="tobranch"><strong>Clone these rules to:</strong></label> <input type="hidde Link Here
159
                <th>Holds allowed (count)</th>
159
                <th>Holds allowed (count)</th>
160
                <th>On shelf holds allowed</th>
160
                <th>On shelf holds allowed</th>
161
                <th>Item level holds</th>
161
                <th>Item level holds</th>
162
                <th>Article requests</th>
162
                <th>Rental discount (%)</th>
163
                <th>Rental discount (%)</th>
163
                <th colspan="2">&nbsp;</th>
164
                <th colspan="2">&nbsp;</th>
164
            </tr>
165
            </tr>
Lines 229-234 for="tobranch"><strong>Clone these rules to:</strong></label> <input type="hidde Link Here
229
							<td>[% rule.reservesallowed %]</td>
230
							<td>[% rule.reservesallowed %]</td>
230
                                                        <td>[% IF rule.onshelfholds %]Yes[% ELSE %]No[% END %]</td>
231
                                                        <td>[% IF rule.onshelfholds %]Yes[% ELSE %]No[% END %]</td>
231
                                                        <td>[% IF rule.opacitemholds == 'F'%]Force[% ELSIF rule.opacitemholds == 'Y'%]Allow[% ELSE %]Don't allow[% END %]</td>
232
                                                        <td>[% IF rule.opacitemholds == 'F'%]Force[% ELSIF rule.opacitemholds == 'Y'%]Allow[% ELSE %]Don't allow[% END %]</td>
233
                                                        <td>
234
                                                            [% IF rule.article_requests == 'no' %]
235
                                                                No
236
                                                            [% ELSIF rule.article_requests == 'yes' %]
237
                                                                Yes
238
                                                            [% ELSIF rule.article_requests == 'bib_only' %]
239
                                                                Record only
240
                                                            [% ELSIF rule.article_requests == 'item_only' %]
241
                                                                Item only
242
                                                            [% END %]
243
                                                        </td>
232
							<td>[% rule.rentaldiscount %]</td>
244
							<td>[% rule.rentaldiscount %]</td>
233
                            <td><a href="#" class="editrule">Edit</a></td>
245
                            <td><a href="#" class="editrule">Edit</a></td>
234
							<td>
246
							<td>
Lines 300-305 for="tobranch"><strong>Clone these rules to:</strong></label> <input type="hidde Link Here
300
                            <option value="F">Force</option>
312
                            <option value="F">Force</option>
301
                        </select>
313
                        </select>
302
                    </td>
314
                    </td>
315
                    <td>
316
                        <select id="article_requests" name="article_requests">
317
                            <option value="no">No</option>
318
                            <option value="yes">Yes</option>
319
                            <option value="bib_only">Record only</option>
320
                            <option value="item_only">Item only</option>
321
                        </select>
322
                    </td>
303
                    <td><input type="text" name="rentaldiscount" id="rentaldiscount" size="2" /></td>
323
                    <td><input type="text" name="rentaldiscount" id="rentaldiscount" size="2" /></td>
304
                    <td colspan="2">
324
                    <td colspan="2">
305
                        <input type="hidden" name="branch" value="[% current_branch %]"/>
325
                        <input type="hidden" name="branch" value="[% current_branch %]"/>
Lines 328-333 for="tobranch"><strong>Clone these rules to:</strong></label> <input type="hidde Link Here
328
                      <th>Holds allowed (count)</th>
348
                      <th>Holds allowed (count)</th>
329
                      <th>On shelf holds allowed</th>
349
                      <th>On shelf holds allowed</th>
330
                      <th>Item level holds</th>
350
                      <th>Item level holds</th>
351
                      <th>Article requests</th>
331
                      <th>Rental discount (%)</th>
352
                      <th>Rental discount (%)</th>
332
                      <th colspan="2">&nbsp;</th>
353
                      <th colspan="2">&nbsp;</th>
333
                    </tr>
354
                    </tr>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tt (+3 lines)
Lines 536-541 var holdForPatron = function () { Link Here
536
                                  <a id="reserve_[% SEARCH_RESULT.biblionumber %]" href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% SEARCH_RESULT.biblionumber %]">Holds</a>
536
                                  <a id="reserve_[% SEARCH_RESULT.biblionumber %]" href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% SEARCH_RESULT.biblionumber %]">Holds</a>
537
                                  [% IF ( holdfor ) %] <span class="holdforlink">| <a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% SEARCH_RESULT.biblionumber %]&amp;findborrower=[% holdfor_cardnumber %]">Place hold for [% holdfor_firstname %] [% holdfor_surname %] ([% holdfor_cardnumber %])</a></span>[% END %]
537
                                  [% IF ( holdfor ) %] <span class="holdforlink">| <a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% SEARCH_RESULT.biblionumber %]&amp;findborrower=[% holdfor_cardnumber %]">Place hold for [% holdfor_firstname %] [% holdfor_surname %] ([% holdfor_cardnumber %])</a></span>[% END %]
538
                              [% END %]
538
                              [% END %]
539
                              [% IF Koha.Preference('ArticleRequests') %]
540
                                  | <a id="requst_article_[% SEARCH_RESULT.biblionumber %]" href="/cgi-bin/koha/circ/request-article.pl?biblionumber=[% SEARCH_RESULT.biblionumber %]">Request article</a>
541
                              [% END %]
539
                          [% IF ( CAN_user_editcatalogue_edit_catalogue ) %]
542
                          [% IF ( CAN_user_editcatalogue_edit_catalogue ) %]
540
                          | <a href="/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=[% SEARCH_RESULT.biblionumber %]">Edit record</a>
543
                          | <a href="/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=[% SEARCH_RESULT.biblionumber %]">Edit record</a>
541
                          [% END %]
544
                          [% END %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/article-requests.tt (+365 lines)
Line 0 Link Here
1
[% USE KohaDates %]
2
[% USE ItemTypes %]
3
[% USE Branches %]
4
[% USE AuthorisedValues %]
5
6
[% INCLUDE 'doc-head-open.inc' %]
7
<title>Koha &rsaquo; Circulation &rsaquo; Article requests</title>
8
[% INCLUDE 'doc-head-close.inc' %]
9
<style type="text/css"> p { margin-top: 0; }</style>
10
</head>
11
12
<body id="circ_view_holdsqueue" class="circ">
13
    [% INCLUDE 'header.inc' %]
14
    [% INCLUDE 'cat-search.inc' %]
15
16
    <script type="text/javascript">//<![CDATA[
17
        $(document).ready(function() {
18
            $('#article-request-tabs').tabs();
19
        });
20
21
        function PrintSlip(link) {
22
            window.open(link, 'popup', 'width=600,height=400,resizable=1,toolbar=0,scrollbars=1,top');
23
        }
24
25
        function Cancel( id, a ) {
26
            notes = prompt("Reason for cancelation:");
27
            if ( notes == null ) {
28
                return;
29
            }
30
31
            a.closest('td').prepend('<img src="[% interface %]/[% theme %]/img/loading-small.gif"/>');
32
            a.closest('div').hide();
33
            $.ajax({
34
                type: "POST",
35
                url: '/cgi-bin/koha/svc/article_request',
36
                data: {
37
                    action: 'cancel',
38
                    id: id,
39
                    notes: notes
40
                },
41
                success: function( data ) {
42
                    a.closest('tr').remove();
43
                },
44
                dataType: 'json'
45
            });
46
        }
47
48
        function Process( id, a ) {
49
            a.closest('td').prepend('<img src="[% interface %]/[% theme %]/img/loading-small.gif"/>');
50
            a.closest('div').hide();
51
            $.ajax({
52
                type: "POST",
53
                url: '/cgi-bin/koha/svc/article_request',
54
                data: {
55
                    action: 'process',
56
                    id: id,
57
                },
58
                success: function( data ) {
59
                    a.closest('tr').remove();
60
                },
61
                dataType: 'json'
62
            });
63
        }
64
65
        function Complete( id, a ) {
66
            a.closest('td').prepend('<img src="[% interface %]/[% theme %]/img/loading-small.gif"/>');
67
            a.closest('div').hide();
68
            $.ajax({
69
                type: "POST",
70
                url: '/cgi-bin/koha/svc/article_request',
71
                data: {
72
                    action: 'complete',
73
                    id: id,
74
                },
75
                success: function( data ) {
76
                    a.closest('tr').remove();
77
                },
78
                dataType: 'json'
79
            });
80
        }
81
    //]]></script>
82
83
    <div id="breadcrumbs">
84
        <a href="/cgi-bin/koha/mainpage.pl">Home</a>
85
        &rsaquo;
86
        <a href="/cgi-bin/koha/circ/circulation-home.pl">Circulation</a>
87
        &rsaquo;
88
        <a href="/cgi-bin/koha/circ/article-requests.pl">Article requests</a>
89
    </div>
90
91
<div id="doc" class="yui-t7">
92
    <div id="bd">
93
        <div id="yui-main">
94
            <div class="yui-g">
95
96
                <h1>Article requests</h1>
97
98
                <form id="ar-branchcode-form" method="post">
99
                    <select name="branchcode" id="branchcode">
100
                        [% FOREACH b IN Branches.all %]
101
                            [% IF b.branchcode == branchcode %]
102
                                <option value="[% b.branchcode %]" selected="selected">[% b.branchname %]</option>
103
                            [% ELSE %]
104
                                <option value="[% b.branchcode %]">[% b.branchname %]</option>
105
                            [% END %]
106
                        [% END %]
107
                    </select>
108
                    <input class="btn btn-small" type="submit" value="Update" />
109
                </form>
110
111
                <div id="article-request-tabs" class="toptabs">
112
                    <ul>
113
                        <li><a href="#article-requests-open">Open ([% article_requests_open.count %])</a></li>
114
                        <li><a href="#article-requests-processing">Processing ([% article_requests_processing.count %])</a></li>
115
                    </ul>
116
117
                    <div id="article-requests-open">
118
                        [% IF article_requests_open.count %]
119
                            <table id="article-requests-processing-open-table">
120
                                <thead>
121
                                    <tr>
122
                                        <th class="ar-title">Title</th>
123
                                        <th class="ar-request">Requested article</th>
124
                                        <th class="ar-collection">Collection</th>
125
                                        <th class="ar-itemtype">Item type</th>
126
                                        <th class="ar-callnumber">Call number</th>
127
                                        <th class="ar-copynumber">Copy number</th>
128
                                        <th class="ar-enumchron">Enumeration</th>
129
                                        <th class="ar-barcode">Barcode</th>
130
                                        <th class="ar-patron">Patron</th>
131
                                        <th class="ar-date">Date</th>
132
                                        <th class="ar-actions">Actions</th>
133
                                    </tr>
134
                                </thead>
135
136
                                 <tbody>
137
                                    [% FOREACH ar IN article_requests_open %]
138
                                        <tr>
139
                                            <td class="ar-title">
140
                                                <p>
141
                                                    <a href="/cgi-bin/koha/circ/request-article.pl?biblionumber=[% ar.biblionumber %]">
142
                                                        <strong>[% ar.biblio.title | html %]</strong>
143
                                                        [% FOREACH s IN itemsloo.subtitle %] [% s %][% END %]
144
                                                    </a>
145
                                                </p>
146
147
                                                <p>
148
                                                    <div class="ar-biblionumber content_hidden">[% ar.biblionumber %]</div>
149
                                                    <div class="ar-author">[% ar.biblio.author %]</div>
150
                                                    <div class="ar-pubdata">
151
                                                        [% ar.biblio.biblioitem.publishercode %]
152
153
                                                        [% IF ar.biblio.biblioitem.publicationyear %]
154
                                                            , [% ar.biblio.biblioitem.publicationyear %]
155
                                                        [% ELSIF ar.biblio.copyrightdate %]
156
                                                            , [% ar.biblio.copyrightdate %]
157
                                                        [% END %]
158
159
                                                        [% IF ar.biblio.biblioitem.pages %]
160
                                                            : [% ar.biblio.biblioitem.pages %]
161
                                                        [% END %]
162
163
                                                        [%  r.biblio.biblioitem.size %]
164
165
                                                        [% IF ar.biblio.biblioitem.isbn %]
166
                                                            ISBN: [% ar.biblio.biblioitem.isbn %]
167
                                                        [% END %]
168
                                                    </div>
169
                                                </p>
170
                                            </td>
171
                                            <td class="ar-request">
172
                                                [% IF ar.title %]    <p><strong>Title:</strong>    [% ar.title %]    </p> [% END %]
173
                                                [% IF ar.author %]   <p><strong>Author:</strong>   [% ar.author %]   </p> [% END %]
174
                                                [% IF ar.volume %]   <p><strong>Volume:</strong>   [% ar.volume %]   </p> [% END %]
175
                                                [% IF ar.issue %]    <p><strong>Issue:</strong>    [% ar.issue %]    </p> [% END %]
176
                                                [% IF ar.date %]     <p><strong>Date:</strong>     [% ar.date %]     </p> [% END %]
177
                                                [% IF ar.pages %]    <p><strong>Pages:</strong>    [% ar.pages %]    </p> [% END %]
178
                                                [% IF ar.chapters %] <p><strong>Chapters:</strong> [% ar.chapters %] </p> [% END %]
179
                                            </td>
180
                                            <td class="ar-collection">[% AuthorisedValues.GetByCode( 'CCODE', ar.item.ccode ) %]</td>
181
                                            <td class="ar-itemtype">[% ItemTypes.GetDescription( ar.item.effective_itemtype ) %]</td>
182
                                            <td class="ar-callnumber">
183
                                                [% IF ar.item.location %]
184
                                                    <em>[% AuthorisedValues.GetByCode( 'LOC', ar.item.location ) %]</em>
185
                                                [% END %]
186
187
                                                [% ar.item.itemcallnumber %]
188
                                            </td>
189
                                            <td class="ar-copynumber">[% ar.item.copynumber %]</td>
190
                                            <td class="ar-enumchron">[% ar.item.enumchron %]</td>
191
                                            <td class="ar-barcode">[% ar.item.barcode %]</td>
192
                                            <td class="ar-patron">
193
                                                <p>
194
                                                    <a href="/cgi-bin/koha/circ/circulation.pl?findborrower=[% ar.borrower.cardnumber %]">
195
                                                        [% ar.borrower.surname %], [% ar.borrower.firstname %] ([% ar.borrower.cardnumber %])
196
                                                    </a>
197
                                                </p>
198
199
                                                <p>[% ar.borrower.phone %]</p>
200
                                            </td>
201
                                            <td class="ar-date"><span title="[% ar.created_on %]">[% ar.created_on | $KohaDates %]</span></td>
202
                                            <td class="ar-actions">
203
                                                <div class="dropdown">
204
                                                    <a class="btn btn-mini dropdown-toggle" id="ar-actions" role="button" data-toggle="dropdown" href="#">
205
                                                        Actions <b class="caret"></b>
206
                                                    </a>
207
208
                                                    <ul class="dropdown-menu pull-right" role="menu" aria-labelledby="ar-actions">
209
                                                        <li>
210
                                                            <a href="#" onclick="Process( [% ar.id %], $(this) ); return false;">
211
                                                                <i class="icon-ok-circle"></i>
212
                                                                Process request
213
                                                            </a>
214
215
                                                            <a href="#" onclick="Complete( [% ar.id %], $(this) ); return false;">
216
                                                                <i class="icon-ok-circle"></i>
217
                                                                Complete request
218
                                                            </a>
219
220
                                                            <a href="#" onclick="Cancel( [% ar.id %], $(this) ); return false;">
221
                                                                <i class="icon-remove-circle"></i>
222
                                                                Cancel request
223
                                                            </a>
224
225
                                                            <a href="#" onclick="PrintSlip('article-request-slip.pl?id=[% ar.id %]'); return false;">
226
                                                                <i class="icon-print"></i>
227
                                                                Print slip
228
                                                            </a>
229
                                                        </li>
230
                                                    </ul>
231
                                                </div>
232
                                            </td>
233
                                        </tr>
234
                                    [% END %]
235
                                </tbody>
236
                            </table>
237
                        [% ELSE %]
238
                            There are currently no open article requests.
239
                        [% END %]
240
                    </div>
241
242
                    <div id="article-requests-processing">
243
                        [% IF article_requests_processing.count %]
244
                            <table id="article-requests-processing-table">
245
                                <thead>
246
                                    <tr>
247
                                        <th class="ar-title">Title</th>
248
                                        <th class="ar-request">Requested article</th>
249
                                        <th class="ar-collection">Collection</th>
250
                                        <th class="ar-itemtype">Item type</th>
251
                                        <th class="ar-callnumber">Call number</th>
252
                                        <th class="ar-copynumber">Copy number</th>
253
                                        <th class="ar-enumchron">Enumeration</th>
254
                                        <th class="ar-barcode">Barcode</th>
255
                                        <th class="ar-patron">Patron</th>
256
                                        <th class="ar-date">Date</th>
257
                                        <th class="ar-actions">Actions</th>
258
                                    </tr>
259
                                </thead>
260
261
                                 <tbody>
262
                                    [% FOREACH ar IN article_requests_processing %]
263
                                        <tr>
264
                                            <td class="ar-title">
265
                                                <p>
266
                                                    <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% ar.biblionumber %]">
267
                                                        <strong>[% ar.biblio.title | html %]</strong>
268
                                                        [% FOREACH s IN itemsloo.subtitle %] [% s %][% END %]
269
                                                    </a>
270
                                                </p>
271
272
                                                <p>
273
                                                    <div class="ar-biblionumber content_hidden">[% ar.biblionumber %]</div>
274
                                                    <div class="ar-author">[% ar.biblio.author %]</div>
275
                                                    <div class="ar-pubdata">
276
                                                        [% ar.biblio.biblioitem.publishercode %]
277
278
                                                        [% IF ar.biblio.biblioitem.publicationyear %]
279
                                                            , [% ar.biblio.biblioitem.publicationyear %]
280
                                                        [% ELSIF ar.biblio.copyrightdate %]
281
                                                            , [% ar.biblio.copyrightdate %]
282
                                                        [% END %]
283
284
                                                        [% IF ar.biblio.biblioitem.pages %]
285
                                                            : [% ar.biblio.biblioitem.pages %]
286
                                                        [% END %]
287
288
                                                        [%  r.biblio.biblioitem.size %]
289
290
                                                        [% IF ar.biblio.biblioitem.isbn %]
291
                                                            ISBN: [% ar.biblio.biblioitem.isbn %]
292
                                                        [% END %]
293
                                                    </div>
294
                                                </p>
295
                                            </td>
296
                                            <td class="ar-request">
297
                                                [% IF ar.title %]    <p><strong>Title:</strong>    [% ar.title %]    </p> [% END %]
298
                                                [% IF ar.author %]   <p><strong>Author:</strong>   [% ar.author %]   </p> [% END %]
299
                                                [% IF ar.volume %]   <p><strong>Volume:</strong>   [% ar.volume %]   </p> [% END %]
300
                                                [% IF ar.issue %]    <p><strong>Issue:</strong>    [% ar.issue %]    </p> [% END %]
301
                                                [% IF ar.date %]     <p><strong>Date:</strong>     [% ar.date %]     </p> [% END %]
302
                                                [% IF ar.pages %]    <p><strong>Pages:</strong>    [% ar.pages %]    </p> [% END %]
303
                                                [% IF ar.chapters %] <p><strong>Chapters:</strong> [% ar.chapters %] </p> [% END %]
304
                                            </td>
305
                                            <td class="ar-collection">[% AuthorisedValues.GetByCode( 'CCODE', ar.item.ccode ) %]</td>
306
                                            <td class="ar-itemtype">[% ItemTypes.GetDescription( ar.item.effective_itemtype ) %]</td>
307
                                            <td class="ar-callnumber">
308
                                                [% IF ar.item.location %]
309
                                                    <em>[% AuthorisedValues.GetByCode( 'LOC', ar.item.location ) %]</em>
310
                                                [% END %]
311
312
                                                [% ar.item.itemcallnumber %]
313
                                            </td>
314
                                            <td class="ar-copynumber">[% ar.item.copynumber %]</td>
315
                                            <td class="ar-enumchron">[% ar.item.enumchron %]</td>
316
                                            <td class="ar-barcode">[% ar.item.barcode %]</td>
317
                                            <td class="ar-patron">
318
                                                <p>
319
                                                    <a href="/cgi-bin/koha/circ/circulation.pl?findborrower=[% ar.borrower.cardnumber %]">
320
                                                        [% ar.borrower.surname %], [% ar.borrower.firstname %] ([% ar.borrower.cardnumber %])
321
                                                    </a>
322
                                                </p>
323
324
                                                <p>[% ar.borrower.phone %]</p>
325
                                            </td>
326
                                            <td class="ar-date"><span title="[% ar.created_on %]">[% ar.created_on | $KohaDates %]</span></td>
327
                                            <td class="ar-actions">
328
                                                <div class="dropdown">
329
                                                    <a class="btn btn-mini dropdown-toggle" id="ar-actions" role="button" data-toggle="dropdown" href="#">
330
                                                        Actions <b class="caret"></b>
331
                                                    </a>
332
333
                                                    <ul class="dropdown-menu pull-right" role="menu" aria-labelledby="ar-actions">
334
                                                        <li>
335
                                                            <a href="#" onclick="Complete( [% ar.id %], $(this) ); return false;">
336
                                                                <i class="icon-ok-circle"></i>
337
                                                                Complete request
338
                                                            </a>
339
340
                                                            <a href="#" onclick="Cancel( [% ar.id %], $(this) ); return false;">
341
                                                                <i class="icon-remove-circle"></i>
342
                                                                Cancel request
343
                                                            </a>
344
345
                                                            <a href="#" onclick="PrintSlip('article-request-slip.pl?id=[% ar.id %]'); return false;">
346
                                                                <i class="icon-print"></i>
347
                                                                Print slip
348
                                                            </a>
349
                                                        </li>
350
                                                    </ul>
351
                                                </div>
352
                                            </td>
353
                                        </tr>
354
                                    [% END %]
355
                                </tbody>
356
                            </table>
357
                        [% ELSE %]
358
                            There are currently no article requests being processed.
359
                        [% END %]
360
                    </div>
361
                </div>
362
            </div>
363
        </div>
364
    </div>
365
[% INCLUDE 'intranet-bottom.inc' %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation-home.tt (+5 lines)
Lines 41-46 Link Here
41
	<li>    <a href="/cgi-bin/koha/circ/pendingreserves.pl" title="holds to retrieve off the shelf">Holds to pull</a></li>
41
	<li>    <a href="/cgi-bin/koha/circ/pendingreserves.pl" title="holds to retrieve off the shelf">Holds to pull</a></li>
42
	<li>    <a href="/cgi-bin/koha/circ/waitingreserves.pl" title="holds waiting for patron pickup">Holds awaiting pickup</a></li>
42
	<li>    <a href="/cgi-bin/koha/circ/waitingreserves.pl" title="holds waiting for patron pickup">Holds awaiting pickup</a></li>
43
	<li>    <a href="/cgi-bin/koha/circ/reserveratios.pl">Hold ratios</a></li>
43
	<li>    <a href="/cgi-bin/koha/circ/reserveratios.pl">Hold ratios</a></li>
44
    [% IF Koha.Preference('ArticleRequests') %]
45
        <li>
46
            <a href="/cgi-bin/koha/circ/article-requests.pl" title="Article requests">Article requests</a>
47
        </li>
48
    [% END %]
44
	<li>    <a href="/cgi-bin/koha/circ/transferstoreceive.pl" title="transfers to receive at your library">Transfers to receive</a></li>
49
	<li>    <a href="/cgi-bin/koha/circ/transferstoreceive.pl" title="transfers to receive at your library">Transfers to receive</a></li>
45
     [% IF ( CAN_user_circulate_overdues_report ) %]<li>    <a href="/cgi-bin/koha/circ/overdue.pl">Overdues</a>
50
     [% IF ( CAN_user_circulate_overdues_report ) %]<li>    <a href="/cgi-bin/koha/circ/overdue.pl">Overdues</a>
46
	- <b>Warning:</b> This report is very resource intensive on
51
	- <b>Warning:</b> This report is very resource intensive on
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/request-article.tt (+332 lines)
Line 0 Link Here
1
[% USE KohaDates %]
2
[% USE Branches %]
3
[% SET article_requests_view = 1 %]
4
[% SET biblionumber = biblio.biblionumber %]
5
[% INCLUDE 'doc-head-open.inc' %]
6
<title>Koha &rsaquo; Circulation &rsaquo; Request article</title>
7
[% INCLUDE 'doc-head-close.inc' %]
8
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
9
[% INCLUDE 'datatables.inc' %]
10
11
<script type="text/javascript">
12
// <![CDATA[
13
$('#current-article-requests').ready(function() {
14
    $(".hide").hide();
15
});
16
17
$(document).ready(function() {
18
    $( "#patron" ).autocomplete({
19
        source: "/cgi-bin/koha/circ/ysearch.pl",
20
        minLength: 3,
21
        select: function( event, ui ) {
22
            $( "#patron" ).val( ui.item.cardnumber );
23
            $( "#holds_patronsearch" ).submit();
24
            return false;
25
        }
26
    })
27
    .data( "ui-autocomplete" )._renderItem = function( ul, item ) {
28
        return $( "<li></li>" )
29
        .data( "ui-autocomplete-item", item )
30
        .append( "<a>" + item.surname + ", " + item.firstname +
31
                 " (" + item.cardnumber + ") <small>" + item.address +
32
                 " " + item.city + " " + item.zipcode + " " +
33
                 item.country + "</small></a>" )
34
        .appendTo( ul );
35
    };
36
37
    $( ".ar-update-branchcode" ).on('focus', function(){
38
        previous_branchcode = this.value;
39
    }).on('change', function(){
40
        var branchcode = this.value;
41
        var c = confirm("Are you sure you want to change the pickup library from " + previous_branchcode + " to " + branchcode + " for this request?");
42
43
        if ( c ) {
44
            var id = this.id.split("branchcode-")[1];
45
            $("#update-processing-" + id ).css({opacity: 0, visibility: "visible"}).animate({opacity: 1.0}, 200);
46
47
            $.ajax({
48
                type: "POST",
49
                url: '/cgi-bin/koha/svc/article_request',
50
                data: {
51
                    action: 'update_branchcode',
52
                    id: id,
53
                    branchcode: branchcode,
54
                },
55
                success: function( data ) {
56
                    $("#update-processing-" + id ).css({opacity: 1.0, visibility: "visible"}).animate({opacity: 0}, 200);
57
                },
58
                dataType: 'json'
59
            });
60
61
        } else {
62
            this.value = previous_branchcode;
63
        }
64
    });
65
66
    $(".ar-cancel-request").on("click", function(){
67
        var a = $(this);
68
        var notes = prompt(_("Reason for cancellation:"));
69
70
        if ( notes != null ) {
71
            var id = this.id.split("cancel-")[1];
72
            $("#cancel-processing-" + id ).hide('slow');
73
            $("#cancel-processing-spinner-" + id ).show('slow');
74
75
            $.ajax({
76
                type: "POST",
77
                url: '/cgi-bin/koha/svc/article_request',
78
                data: {
79
                    action: 'cancel',
80
                    id: id,
81
                    notes: notes
82
                },
83
                success: function( data ) {
84
                    a.parents('tr').hide('slow');
85
                },
86
                dataType: 'json'
87
            });
88
        }
89
    });
90
});
91
// ]]>
92
</script>
93
</head>
94
95
<body id="circ_article_request" class="catalog">
96
    [% INCLUDE 'header.inc' %]
97
    [% INCLUDE 'circ-search.inc' %]
98
99
    <div id="breadcrumbs">
100
        <a href="/cgi-bin/koha/mainpage.pl">Home</a>
101
        &rsaquo;
102
        <a href="/cgi-bin/koha/catalogue/search.pl">Catalog</a>
103
        &rsaquo;
104
        <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblionumber %]">[% biblio.title | html %]</a>
105
        &rsaquo;
106
        Request article
107
    </div>
108
109
    <div id="doc3" class="yui-t2">
110
        <div id="bd">
111
            <div id="yui-main">
112
                <div class="yui-b">
113
114
                    <h1>Request article from <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblio.id %]">[% biblio.title | html %]</a></h1>
115
116
                    [% UNLESS patron %]
117
                        <form id="article_requests_patronsearch" action="request-article.pl" method="post">
118
                            <fieldset class="brief">
119
                                <label for="patron">Patron: </label>
120
                                <div class="hint">Enter patron card number or partial name:</div>
121
                                <input type="text" size="40" id="patron" class="focus" name="patron_cardnumber" />
122
                                <input type="submit" value="Search" />
123
                                <input type="hidden" name="biblionumber" value="[% biblio.id %]" />
124
                            </fieldset>
125
                        </form>
126
                    [% ELSE %]
127
                        [% IF biblio.can_article_request( patron ) %]
128
129
                            <form id="place-article-request" method="post" action="/cgi-bin/koha/circ/request-article-do.pl">
130
                                <input type="hidden" name="biblionumber" id="biblionumber" value="[% biblio.biblionumber %]" />
131
                                <input type="hidden" name="borrowernumber" id="borrowernumber" value="[% patron.id %]" />
132
133
                                <fieldset class="rows">
134
                                    <legend>Place article request from [% biblio.title %] for [% patron.firstname %] [% patron.surname %] ( [% patron.cardnumber %] )</legend>
135
                                    <p/>
136
                                    <ul>
137
                                        <li>
138
                                            <label for="title">Title:</label>
139
                                            <input type="text" name="title" id="title" size="50"/>
140
                                        </li>
141
142
                                        <li>
143
                                            <label for="author">Author:</label>
144
                                            <input type="text" name="author" id="author" size="50"/>
145
                                        </li>
146
147
                                        <li>
148
                                            <label for="volume">Volume:</label>
149
                                            <input type="text" name="volume" id="volume" size="50"/>
150
                                        </li>
151
152
                                        <li>
153
                                            <label for="issue">Issue:</label>
154
                                            <input type="text" name="issue" id="issue" size="50"/>
155
                                        </li>
156
157
                                        <li>
158
                                            <label for="date">Date:</label>
159
                                            <input type="text" name="date" id="date" size="50"/>
160
                                        </li>
161
162
                                        <li>
163
                                            <label for="pages">Pages:</label>
164
                                            <input type="text" name="pages" id="pages" size="50"/>
165
                                        </li>
166
167
                                        <li>
168
                                            <label for="chapters">Chapters:</label>
169
                                            <input type="text" name="chapters" id="chapters" size="50"/>
170
                                        </li>
171
172
                                        <li>
173
                                            <label for="branchcode">Pickup library:</label>
174
                                            <select name="branchcode" id="branchcode">
175
                                                [% FOREACH b IN Branches.all %]
176
                                                    [% IF b.branchcode == Branches.GetLoggedInBranchcode %]
177
                                                        <option value="[% b.branchcode %]" selected="selected">[% b.branchname %]</option>
178
                                                    [% ELSE %]
179
                                                        <option value="[% b.branchcode %]">[% b.branchname %]</option>
180
                                                    [% END %]
181
                                                [% END %]
182
                                            </select>
183
                                        </li>
184
                                    </ul>
185
                                </fieldset>
186
187
                                [% SET article_request_type = biblio.article_request_type( patron ) %]
188
                                [% IF article_request_type != 'bib_only' %]
189
                                    <table id="current-requests-table" class="ar-table table table-bordered table-striped">
190
                                        <caption>Select item:</caption>
191
                                        <thead>
192
                                            <tr>
193
                                                <th>&nbsp;</th>
194
                                                <th>Item type</th>
195
                                                <th>Barcode</th>
196
                                                <th>Home library</th>
197
                                                <th>Call number</th>
198
                                            </tr>
199
                                        </thead>
200
201
                                        <tbody>
202
                                            [% FOREACH item IN biblio.items %]
203
                                                [% IF item.can_article_request( patron ) %]
204
                                                    <tr>
205
                                                        <td>
206
                                                            [% IF article_request_type == 'item_only' && !checked %]
207
                                                                [% SET checked = 1 %]
208
                                                                <input type="radio" name="itemnumber" value="[% item.itemnumber %]" checked="checked" />
209
                                                            [% ELSE %]
210
                                                                <input type="radio" name="itemnumber" value="[% item.itemnumber %]" />
211
                                                            [% END %]
212
                                                        </td>
213
                                                        <td>
214
                                                            [% item.itype %]
215
                                                        </td>
216
                                                        <td>
217
                                                            [% item.barcode %]
218
                                                        </td>
219
                                                        <td>
220
                                                            [% item.homebranch %]
221
                                                        </td>
222
                                                        <td>
223
                                                            [% item.itemcallnumber %]
224
                                                        </td>
225
                                                    </tr>
226
                                                [% END %]
227
                                            [% END %]
228
229
                                            [% IF article_request_type != 'item_only' %]
230
                                                <tr>
231
                                                    <td>
232
                                                        <input type="radio" name="itemnumber" value="" checked="checked"/>
233
                                                    </td>
234
                                                    <td colspan="4">
235
                                                        Any item
236
                                                    </td>
237
                                                </tr>
238
                                            [% END %]
239
                                        </tbody>
240
                                    </table>
241
                                [% END %]
242
243
                                <p>
244
                                    <input type="submit" class="btn" value="Place request" />
245
                                </p>
246
                            </form>
247
                        [% ELSE %]
248
                            No article requests can be made for this record.
249
                        [% END %]
250
251
                    [% END %]
252
253
                    [% IF biblio.article_requests_current && !patron %]
254
                        <fieldset class="rows left" id="current-article-requests-fieldset">
255
                            <legend>Current article requests</legend>
256
257
                            <table id="current-article-requests-table">
258
                                <tr>
259
                                    <th>Placed on</th>
260
                                    <th>Patron</th>
261
                                    <th>Title</th>
262
                                    <th>Author</th>
263
                                    <th>Volume</th>
264
                                    <th>Issue</th>
265
                                    <th>Date</th>
266
                                    <th>Pages</th>
267
                                    <th>Chapters</th>
268
                                    <th>Item</th>
269
                                    <th>Status</th>
270
                                    <th>Pickup library</th>
271
                                    <th>&nbsp;</th>
272
                                </tr>
273
274
                                [% FOREACH ar IN biblio.article_requests_current %]
275
                                    <tr>
276
                                        <td>[% ar.created_on | $KohaDates %]</td>
277
                                        <td><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% ar.borrowernumber %]">[% ar.borrower.firstname %] [% ar.borrower.surname %]</a></td>
278
                                        <td>[% ar.title %]</td>
279
                                        <td>[% ar.author %]</td>
280
                                        <td>[% ar.volume %]</td>
281
                                        <td>[% ar.issue %]</td>
282
                                        <td>[% ar.date %]</td>
283
                                        <td>[% ar.pages %]</td>
284
                                        <td>[% ar.chapters %]</td>
285
                                        <td>
286
                                            [% IF ar.item %]
287
                                                <a href="/cgi-bin/koha/catalogue/moredetail.pl?itemnumber=[% ar.itemnumber %]&biblionumber=[% ar.biblionumber %]">[% ar.item.barcode %]</a>
288
                                            [% END %]
289
                                        </td>
290
                                        <td>
291
                                            [% IF ar.status == 'OPEN' %]
292
                                                Open
293
                                            [% ELSIF ar.status == 'PROCESSING' %]
294
                                                Processing
295
                                            [% ELSIF ar.status == 'COMPLETED' %]
296
                                                Completed
297
                                            [% ELSIF ar.status == 'CANCELED' %]
298
                                                Canceled
299
                                            [% END %]
300
                                        </td>
301
                                        <td>
302
                                            <i id="update-processing-[% ar.id %]" class="fa fa-cog fa-spin hidden"></i>
303
                                            <select name="branchcode" id="branchcode-[% ar.id %]" class="ar-update-branchcode">
304
                                                [% FOREACH b IN Branches.all %]
305
                                                    [% IF b.branchcode == ar.branchcode %]
306
                                                        <option value="[% b.branchcode %]" selected="selected">[% b.branchname %]</option>
307
                                                    [% ELSE %]
308
                                                        <option value="[% b.branchcode %]">[% b.branchname %]</option>
309
                                                    [% END %]
310
                                                [% END %]
311
                                            </select>
312
                                        </td>
313
                                        <td>
314
                                            <a title="Cancel article request" href="#" id="cancel-[% ar.id %]" class="ar-cancel-request">
315
                                                <i id="cancel-processing-spinner-[% ar.id %]" class="fa fa-cog fa-spin hide"></i>
316
                                                <i id="cancel-processing-[% ar.id %]" class="fa fa-times fa-lg" style="color:red"></i>
317
                                            </a>
318
                                        </td>
319
                                    </tr>
320
                                [% END %]
321
                            </table>
322
                        </fieldset>
323
                    [% END %]
324
                </div>
325
            </div>
326
327
            <div class="yui-b">
328
                [% INCLUDE 'biblio-view-menu.inc' %]
329
            </div>
330
        </div>
331
    </div>
332
[% INCLUDE 'intranet-bottom.inc' %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/intranet-main.tt (+9 lines)
Lines 113-120 Link Here
113
                    || ( CAN_user_borrowers && pending_borrower_modifications )
113
                    || ( CAN_user_borrowers && pending_borrower_modifications )
114
                    || ( CAN_user_acquisition && pendingsuggestions )
114
                    || ( CAN_user_acquisition && pendingsuggestions )
115
                    || ( CAN_user_borrowers && pending_discharge_requests )
115
                    || ( CAN_user_borrowers && pending_discharge_requests )
116
                    || pending_article_requests
116
            ) %]
117
            ) %]
117
                <div id="area-pending">
118
                <div id="area-pending">
119
                    [% IF pending_article_requests %]
120
                    <div class="pending-info" id="article_requests_pending">
121
122
                        <a href="/cgi-bin/koha/circ/article-requests.pl">Article requests</a>:
123
                        <span class="pending-number-link">[% pending_article_requests %]</span>
124
                    </div>
125
                    [% END %]
126
118
                    [% IF ( CAN_user_acquisition && pendingsuggestions ) %]
127
                    [% IF ( CAN_user_acquisition && pendingsuggestions ) %]
119
                    <div class="pending-info" id="suggestions_pending">
128
                    <div class="pending-info" id="suggestions_pending">
120
129
(-)a/koha-tmpl/opac-tmpl/bootstrap/css/opac.css (-1 / +1 lines)
Line 1 Link Here
1
.shadowed{-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,0.2);-moz-box-shadow:0 1px 1px 0 rgba(0,0,0,0.2);box-shadow:0 1px 1px 0 rgba(0,0,0,0.2)}body{background-color:#eaeae6}html,body{height:100%}.no-js .dateformat{display:inline;white-space:nowrap}.no-js .modal-body{padding:0}.no-js .selections-toolbar{display:none}.js .dateformat{display:none}#wrap{min-height:100%;height:auto !important;height:100%}.popup{padding-left:0;padding-right:0}a{color:#0076b2}a.cancel{padding-left:1em}a:visited{color:#0076b2}a.title{font-weight:bold;font-size:108%}a.btn:visited{color:#333}a.btn-primary:visited{color:#fff}.ui-widget-content a,.ui-widget-content a:visited{color:#0076b2}h1{font-size:140%;line-height:150%}h1#libraryname{background:transparent url(../images/logo-koha.png) no-repeat scroll 0;border:0;float:left !important;margin:0;padding:0;width:120px}h1#libraryname a{border:0;cursor:pointer;display:block;height:0 !important;margin:0;overflow:hidden;padding:40px 0 0;text-decoration:none;width:120px}h2{font-size:130%;line-height:150%}h3{font-size:120%;line-height:150%}h4{font-size:110%}h5{font-size:100%}caption{font-size:120%;font-weight:bold;margin:0;text-align:left}input,textarea{width:auto}.input-fluid{width:50%}legend{font-size:110%;font-weight:bold}table,td{background-color:#fff}td .btn{white-space:nowrap}td .btn-link{padding:0}#advsearches label,#booleansearch label{display:inline}#basketcount{display:inline;margin:0;padding:0}#basketcount span{background-color:#ffc;color:#000;display:inline;font-size:80%;font-weight:normal;margin:0 0 0 .9em;padding:0 .3em 0 .3em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}#members{display:block}#members p{color:#eee}#members a{color:#a6d8ed;font-weight:bold}#members a.logout{color:#e8583c;padding:0 .3em 0 .3em}#koha_url p{color:#666;float:right;margin:0}#moresearches{margin:.5em 0;padding:0 .8em}#moresearches li{display:inline;white-space:nowrap}#moresearches li:after{content:" | "}#moresearches ul{margin:0}#moresearches li:last-child:after{content:""}#news{margin:.5em 0}.newscontainer{border:1px solid #ddd;border-bottom-width:0;border-top-left-radius:5px;border-top-right-radius:5px}.newsheader{background-color:#ecede6;border-bottom:1px solid #ddd;margin:0;padding:8px}.newsbody{padding:8px}.newsfooter{border-bottom:1px solid #ddd;font-style:italic;padding:4px 8px}#opacheader{background-color:#ddd}#selections,.selections{font-weight:bold}.actions a{white-space:nowrap}.actions a.hold{background-image:url("../images/sprite.png");background-position:-5px -542px;background-repeat:no-repeat;margin-right:1em;padding-left:21px;text-decoration:none}.actions a.addtocart{background-image:url("../images/sprite.png");background-position:-5px -572px;background-repeat:no-repeat;margin-right:1em;padding-left:20px;text-decoration:none}.actions a.addtoshelf{background-image:url("../images/sprite.png");background-position:-5px -27px;background-repeat:no-repeat;margin-right:1em;padding-left:20px;text-decoration:none}.actions a.addtolist{background-position:-5px -27px;margin-right:1em;padding-left:20px;text-decoration:none}.actions a.tag_add{background-position:-5px -1110px;margin-right:1em;padding-left:20px;text-decoration:none}.actions a.removefromlist{background-position:-8px -690px;margin-right:1em;text-decoration:none;padding-left:15px}.alert{background:#fffbe5;background:-moz-linear-gradient(top, #fffbe5 0, #fff0b2 9%, #fff1a8 89%, #f7e665 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0, #fffbe5), color-stop(9%, #fff0b2), color-stop(89%, #fff1a8), color-stop(100%, #f7e665));background:-webkit-linear-gradient(top, #fffbe5 0, #fff0b2 9%, #fff1a8 89%, #f7e665 100%);background:-o-linear-gradient(top, #fffbe5 0, #fff0b2 9%, #fff1a8 89%, #f7e665 100%);background:-ms-linear-gradient(top, #fffbe5 0, #fff0b2 9%, #fff1a8 89%, #f7e665 100%);background:linear-gradient(to bottom, #fffbe5 0, #fff0b2 9%, #fff1a8 89%, #f7e665 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbe5', endColorstr='#f7e665', GradientType=0);border-color:#d6c43b;color:#333}.alert-info{background:#f4f6fa;background:-moz-linear-gradient(top, #f4f6fa 0, #eaeef5 4%, #e8edf6 96%, #cddbf2 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0, #f4f6fa), color-stop(4%, #eaeef5), color-stop(96%, #e8edf6), color-stop(100%, #cddbf2));background:-webkit-linear-gradient(top, #f4f6fa 0, #eaeef5 4%, #e8edf6 96%, #cddbf2 100%);background:-o-linear-gradient(top, #f4f6fa 0, #eaeef5 4%, #e8edf6 96%, #cddbf2 100%);background:-ms-linear-gradient(top, #f4f6fa 0, #eaeef5 4%, #e8edf6 96%, #cddbf2 100%);background:linear-gradient(to bottom, #f4f6fa 0, #eaeef5 4%, #e8edf6 96%, #cddbf2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f4f6fa', endColorstr='#cddbf2', GradientType=0);border-color:#c5d1e5;color:#333}.alert-success{background:#f8ffe8;background:-moz-linear-gradient(top, #f8ffe8 0, #e3f5ab 4%, #dcf48d 98%, #9ebf28 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0, #f8ffe8), color-stop(4%, #e3f5ab), color-stop(98%, #dcf48d), color-stop(100%, #9ebf28));background:-webkit-linear-gradient(top, #f8ffe8 0, #e3f5ab 4%, #dcf48d 98%, #9ebf28 100%);background:-o-linear-gradient(top, #f8ffe8 0, #e3f5ab 4%, #dcf48d 98%, #9ebf28 100%);background:-ms-linear-gradient(top, #f8ffe8 0, #e3f5ab 4%, #dcf48d 98%, #9ebf28 100%);background:linear-gradient(to bottom, #f8ffe8 0, #e3f5ab 4%, #dcf48d 98%, #9ebf28 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8ffe8', endColorstr='#9ebf28', GradientType=0);border-color:#9fba35;color:#333}.breadcrumb{background-color:#f2f2ef;font-size:85%;list-style:none outside none;margin:10px 20px;padding:5px 10px;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.form-inline{display:inline;padding:0;margin:0}.form-inline fieldset{margin:.3em 0;padding:.3em}.main{background-color:#fff;border:1px solid #d2d2cf;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,0.2);-moz-box-shadow:0 1px 1px 0 rgba(0,0,0,0.2);box-shadow:0 1px 1px 0 rgba(0,0,0,0.2);margin-top:.5em;margin-bottom:.5em}.mastheadsearch{-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px;padding:.8em;margin:.5em 0;background:#c7c7c1;background:-moz-linear-gradient(top, #c7c7c1 38%, #a7a7a2 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(38%, #c7c7c1), color-stop(100%, #a7a7a2));background:-webkit-linear-gradient(top, #c7c7c1 38%, #a7a7a2 100%);background:-o-linear-gradient(top, #c7c7c1 38%, #a7a7a2 100%);background:-ms-linear-gradient(top, #c7c7c1 38%, #a7a7a2 100%);background:linear-gradient(to bottom, #c7c7c1 38%, #a7a7a2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#c7c7c1', endColorstr='#a7a7a2', GradientType=0)}.mastheadsearch label{font-size:115%;font-weight:bold}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#9fe1ff;font-weight:bold}.navbar-fixed-bottom.navbar-static-bottom{margin-top:.5em;position:static}#changelanguage .nav>.active>p{padding:0 15px}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f4f4f4}.ui-tabs-nav .ui-tabs-active a,.ui-tabs-nav a:hover,.ui-tabs-nav a:focus,.ui-tabs-nav a:active,.ui-tabs-nav span.a{background:none repeat scroll 0 0 transparent;outline:0 none}.ui-widget,.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:inherit;font-size:inherit}ul.ui-tabs-nav li{list-style:none}.ui-tabs.ui-widget-content{background:transparent none;border:0}.ui-tabs .ui-tabs-panel{border:1px solid #d8d8d8;margin-bottom:1em}.ui-tabs-nav.ui-widget-header{border:0;background:none}.ui-tabs .ui-tabs-nav li{background:#f3f3f3 none;border-color:#d8d8d8;margin-right:.4em}.ui-tabs .ui-tabs-nav li.ui-tabs-active{background-color:#fff;border:1px solid #d8d8d8;border-bottom:0}.ui-tabs .ui-tabs-nav li.ui-tabs-active a{color:#000;font-weight:bold}.ui-tabs .ui-tabs-nav li.ui-state-default.ui-state-hover{background:#f3f3f3 none}.ui-tabs .ui-tabs-nav li.ui-tabs-active.ui-state-hover{background:#fff none}.ui-tabs .ui-state-default a,.ui-tabs .ui-state-default a:link,.ui-tabs .ui-state-default a:visited{color:#069}.ui-tabs .ui-state-hover a,.ui-tabs .ui-state-hover a:link,.ui-tabs .ui-state-hover a:visited{color:#903}.statictabs ul{background:none repeat scroll 0 0 transparent;border:0 none;margin:0;padding:.2em .2em 0;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-top-right-radius:4px;border-top-left-radius:4px;color:#222;font-weight:bold;font-size:100%;line-height:1.3;list-style:none outside none;outline:0 none;text-decoration:none}.statictabs ul:before{content:"";display:table}.statictabs ul:after{clear:both;content:"";display:table}.statictabs li{background:none repeat scroll 0 0 #e6f0f2;border:1px solid #b9d8d9;border-bottom:0 none !important;border-top-right-radius:4px;border-top-left-radius:4px;float:left;list-style:none outside none;margin-bottom:0;margin-right:.4em;padding:0;position:relative;white-space:nowrap;top:1px;color:#555;font-weight:normal}.statictabs li.active{background-color:#fff;color:#212121;font-weight:normal;padding-bottom:1px}.statictabs li a{color:#004d99;cursor:pointer;float:left;padding:.5em 1em;text-decoration:none}.statictabs li a:hover{background-color:#edf4f5;border-top-right-radius:4px;border-top-left-radius:4px;color:#538200}.statictabs li.active a{color:#000;font-weight:bold;cursor:text;background:none repeat scroll 0 0 transparent;outline:0 none}.statictabs .tabs-container{border:1px solid #b9d8d9;background:none repeat scroll 0 0 transparent;display:block;padding:1em 1.4em;border-bottom-right-radius:4px;border-bottom-left-radius:4px;color:#222}.ui-datepicker table{width:100%;font-size:.9em;border:0;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{background:transparent none;padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker-trigger{vertical-align:middle;margin:0 3px}.ui-datepicker{-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,0.2);-moz-box-shadow:0 1px 1px 0 rgba(0,0,0,0.2);box-shadow:0 1px 1px 0 rgba(0,0,0,0.2)}.ui-widget-content{border:1px solid #aaa;background:#fff none;color:#222}.ui-widget-header{border:1px solid #aaa;background:#e6f0f2 none;color:#222;font-weight:bold}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #aaa;background:#f4f8f9 none;font-weight:normal;color:#555}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #aaa;background:#e6f0f2 none;font-weight:normal;color:#212121}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #aaa;background:#fff none;font-weight:normal;color:#212121}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee;color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec;color:#cd0a0a}.ui-autocomplete{position:absolute;cursor:default;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,0.2);-moz-box-shadow:0 1px 1px 0 rgba(0,0,0,0.2);box-shadow:0 1px 1px 0 rgba(0,0,0,0.2)}.ui-autocomplete.ui-widget-content .ui-state-hover{border:1px solid #aaa;background:#e6f0f2 none;font-weight:normal;color:#212121}.ui-autocomplete-loading{background:#fff url("../../img/loading-small.gif") right center no-repeat}.ui-menu li{list-style:none}th{background-color:#ecede6}.item-thumbnail{max-width:none}.no-image{background-color:#fff;border:1px solid #aaa;color:#979797;display:block;font-size:86%;font-weight:bold;text-align:center;width:75px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}#bookcover .no-image{margin-right:10px;margin-bottom:10px}td.overdue{color:#c33}table{font-size:90%}th.sum{text-align:right}td.sum{background-color:#ffc;font-weight:bold}th[scope=row]{background-color:transparent;text-align:right}.required{color:#c00}.label{background-color:transparent;color:inherit;display:inline;font-weight:normal;padding:0;text-shadow:none}.blabel{background-color:#999;border-radius:3px;color:#fff;display:inline-block;font-weight:bold;padding:2px 4px;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.label-important{background-color:#b94a48}.label-warning{background-color:#f89406}.label-success{background-color:#468847}.label-info{background-color:#3a87ad}.label-inverse{background-color:#333}fieldset.rows{float:left;font-size:90%;clear:left;margin:.9em 0 0 0;padding:0;width:100%}fieldset.rows legend{font-weight:bold;font-size:130%}fieldset.rows label,fieldset.rows .label{float:left;font-weight:bold;width:9em;margin-right:1em;text-align:right}fieldset.rows label.lradio{float:none;margin:inherit;width:auto}fieldset.rows fieldset{margin:0;padding:.3em}fieldset.rows ol{padding:1em 1em 0 1em;list-style-type:none}fieldset.rows ol.lradio label{width:auto;float:none;margin-right:0}fieldset.rows ol.lradio label.lradio{float:left;width:12em;margin-right:1em}fieldset.rows li{float:left;clear:left;padding-bottom:1em;list-style-type:none;width:100%}fieldset.rows li.lradio{padding-left:8.5em;width:auto}fieldset.rows li.lradio label{float:none;width:auto;margin:0 0 0 1em}fieldset.rows .hint{display:block;margin-left:11em}fieldset.action{clear:both;float:none;border:none;margin:0;padding:1em 0 .3em 0;width:auto}fieldset.action p{margin-bottom:1em}fieldset table{font-size:100%}div.rows+div.rows{margin-top:.6em}div.rows{float:left;clear:left;margin:0 0 0 0;padding:0;width:100%}div.rows span.label{float:left;font-weight:bold;width:9em;margin-right:1em;text-align:left}div.rows ol{list-style-type:none;margin-left:0;padding:.5em 1em 0 0}div.rows li{border-bottom:1px solid #eee;float:left;clear:left;padding-bottom:.2em;padding-top:.1em;list-style-type:none;width:100%}div.rows ul li{margin-left:7.3em}div.rows ul li:first-child{float:none;clear:none;margin-left:0}div.rows ol li li{border-bottom:0}.tagweight0{font-size:12px}.tagweight1{font-size:14px}.tagweight2{font-size:16px}.tagweight3{font-size:18px}.tagweight4{font-size:20px}.tagweight5{font-size:22px}.tagweight6{font-size:24px}.tagweight7{font-size:26px}.tagweight8{font-size:28px}.tagweight9{font-size:30px}.toolbar{background-color:#eee;border:1px solid #e8e8e8;font-size:85%;padding:3px 3px 5px 5px;vertical-align:middle}.toolbar a{white-space:nowrap}.toolbar label{display:inline;font-size:100%;font-weight:bold;margin-left:.5em}.toolbar select{font-size:97%;height:auto;line-height:inherit;padding:0;margin:0;width:auto;white-space:nowrap}.toolbar .hold,.toolbar #tagsel_tag{padding-left:28px;font-size:97%;font-weight:bold}.toolbar #tagsel_form{margin-top:.5em}.toolbar li{display:inline;list-style:none}.toolbar li a{border-left:1px solid #e8e8e8}.toolbar li:first-child a{border-left:0}.toolbar ul{padding-left:0}#basket .toolbar{padding:7px 5px 9px 9px}#selections-toolbar,.selections-toolbar{background:-moz-linear-gradient(top, #b2b2b2 0, #e0e0e0 14%, #e8e8e8 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0, #b2b2b2), color-stop(14%, #e0e0e0), color-stop(100%, #e8e8e8));background:-webkit-linear-gradient(top, #b2b2b2 0, #e0e0e0 14%, #e8e8e8 100%);background:-o-linear-gradient(top, #b2b2b2 0, #e0e0e0 14%, #e8e8e8 100%);background:-ms-linear-gradient(top, #b2b2b2 0, #e0e0e0 14%, #e8e8e8 100%);background:linear-gradient(top, #b2b2b2 0, #e0e0e0 14%, #e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e0e0e0', endColorstr='#e8e8e8', GradientType=0);margin:0 0 1em 0;padding-top:.5em;padding-left:10px}.list-actions{display:inline}#tagsel_span input.submit,#tagsel_tag{border:0;background-color:transparent;font-size:100%;color:#0076b2;cursor:pointer;background-image:url("../images/sprite.png");background-position:1px -643px;background-repeat:no-repeat;padding-left:25px;text-decoration:none}#tagsel_tag.disabled{background-position:-1px -667px}#tagsel_span input:hover,#selections-toolbar input.hold:hover{color:#005580;text-decoration:underline}#tagsel_span input.disabled,#tagsel_span input.disabled:hover,#tagsel_span input.hold.disabled,#tagsel_span input.hold.disabled:hover,#selections-toolbar input.hold.disabled,#selections-toolbar input.hold.disabled:hover,#selections-toolbar a.disabled,#selections-toolbar a.disabled:hover,.selections-toolbar a.disabled,.selections-toolbar a.disabled:hover{color:#888;text-decoration:none;padding-left:23px}.results_summary{display:block;font-size:85%;color:#707070;padding:0 0 .5em 0}.results_summary .results_summary{font-size:100%}.results_summary.actions{margin-top:.5em}.results_summary.tagstatus{display:inline}.results_summary .label{color:#202020}.results_summary a{font-weight:normal}#views{border-bottom:1px solid #d6d6d6;margin-bottom:.5em;padding:0 2em .2em .2em;white-space:nowrap}.view{padding:.2em .2em 2px .2em}#bibliodescriptions,#isbdcontents{clear:left;margin-top:.5em}.view a,.view span{background-image:url("../images/sprite.png");background-repeat:no-repeat;font-size:87%;font-weight:normal;padding:.4em .7em 5px 26px;text-decoration:none}span#MARCview,span#ISBDview,span#Normalview,span#Fullhistory,span#Briefhistory{font-weight:bold}a#MARCview,span#MARCview{background-position:-3px -23px}a#MARCviewPop,span#MARCviewPop{background-position:-3px -23px}a#ISBDview,span#ISBDview{background-position:-3px -52px}a#Normalview,span#Normalview{background-position:-1px 6px}.view a{background-color:#f3f3f3;border-left:1px solid #c9c9c9}#bookcover{float:left;margin:0;padding:0}#bookcover .no-image{margin-right:10px;margin-bottom:10px}#bookcover img{margin:0 1em 1em 0}.results-pagination{position:absolute;top:32px;left:-1px;width:100%;height:auto;border:1px solid #d0d0d0;display:none;background-color:#f3f3f3;padding-bottom:10px;z-index:100}.back{float:right}.back input{background:none !important;color:#999 !important}.pagination_list ul{padding-top:40px;padding-left:0}.pagination_list li{list-style:none;float:bottom;padding:4px;color:#999}.pagination_list li.highlight{background-color:#f3f3f3;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.pagination_list li a{padding-left:0}.pagination_list .li_pag_index{color:#999;float:left;font-size:15px;font-weight:bold;padding-right:10px;text-align:right;width:13px}.nav_results{background-color:#f3f3f3;border:1px solid #d0d0d0;font-size:95%;font-weight:bold;margin-top:.5em;position:relative}.nav_results .l_Results a{background:#e1e1e1 url("../images/sprite.png") no-repeat 0 -504px;color:#069;display:block;padding:8px 28px;text-decoration:none}.nav_results .l_Results:hover{background-color:#d9d9d9}.pg_menu{margin:0;border-top:1px solid #d0d0d0;white-space:nowrap}.pg_menu li{color:#b2b2b2;display:inline;list-style:none;margin:0}.pg_menu li.back_results a{border-left:1px solid #d0d0d0;border-right:1px solid #d0d0d0}.pg_menu li a,.pg_menu li span{background-color:#f3f3f3;display:block;float:left;padding:.4em .5em;text-decoration:none;font-weight:normal;text-align:center}.pg_menu li span{color:#b2b2b2}#listResults li{background-color:#999;color:#c5c5c5;font-weight:normal;display:block;margin-right:1px;font-size:80%;padding:0;text-align:center;min-width:18px}#listResults li:hover{background-color:#069}#listResults li a{color:#fff;font-weight:normal}.nav_pages .close_pagination{padding-right:10px;position:absolute;right:3px;top:-25px}.nav_pages .close_pagination a{text-decoration:none !important}.nav_pages ul{padding-top:10px}.nav_pages li{list-style:none;float:left;padding:4px;color:#999}.nav_pages li a{text-decoration:none !important}.nav_pages li a:hover{text-decoration:underline}.nav_pages li ul{float:left}#action{margin:.5em 0 0 0;background-color:#f3f3f3;border:1px solid #e8e8e8;padding-bottom:3px}#action li{list-style:none;margin:.2em;padding:.3em 0}#action a{font-weight:bold;text-decoration:none}#export li,#moresearches_menu li{padding:0;margin:0}#export li a,#moresearches_menu li a{font-weight:normal}#export li a.menu-inactive,#moresearches_menu li a.menu-inactive{font-weight:bold}#format,#furthersearches{padding-left:35px}.highlight_controls{float:left}a.addtocart,a.addtoshelf,a.brief,a.deleteshelf,a.deleteshelf.disabled,a.detail,a.download,a.editshelf,a.empty,a.hide,a.highlight_toggle,a.hold,a.hold.disabled,a.incart,a.new,a.print-small,a.print-large,a.removeitems,a.removeitems.disabled,a.reserve,a.send,a.tag_add,a.removefromlist,input.hold,input.hold.disabled,input.editshelf,.newshelf,.newshelf.disabled,.deleteshelf{background-image:url("../images/sprite.png");background-repeat:no-repeat}a.addtocart{background-position:-5px -265px;padding-left:35px}a.addtoshelf{background-position:-5px -225px;padding-left:35px}a.brief{background-position:-2px -868px;text-decoration:none;padding-left:27px}a.cartRemove{color:#c33;font-size:90%;margin:0;padding:0}a.detail{background-position:-2px -898px;text-decoration:none;padding-left:27px}a.download{background-position:-5px -348px;padding-left:20px;text-decoration:none}a.editshelf{background-position:2px -348px;padding-left:26px;text-decoration:none}a.empty{background-position:2px -598px;text-decoration:none;padding-left:30px}a.hide{background-position:-3px -814px;text-decoration:none;padding-left:26px}a.highlight_toggle{background-position:-5px -841px;display:none;padding-left:35px}a.hold,input.hold{background-position:-2px -453px;text-decoration:none;padding-left:23px}a.hold.disabled,input.hold.disabled{background-position:-5px -621px}a.incart{background-position:-5px -265px;color:#666;padding-left:35px}a.new{background-image:url("../images/sprite.png");background-position:-4px -922px;padding-left:23px;text-decoration:none}a.print-small{background-position:0 -423px;text-decoration:none;padding-left:30px}a.print-large{background-position:-5px -186px;text-decoration:none;padding-left:35px}a.removeitems,a.deleteshelf{background-position:2px -690px;text-decoration:none;padding-left:25px}a.removeitems.disabled,a.deleteshelf.disabled{background-position:2px -712px}a.reserve{background-position:-6px -144px;padding-left:35px}a.send{background-position:2px -386px;text-decoration:none;padding-left:28px}a.tag_add{background-position:3px -1111px;padding-left:27px;text-decoration:none}input.hold{background-color:transparent;border:0;color:#0076b2;font-weight:bold}input.editshelf{background-color:transparent;background-position:2px -736px;border:0;color:#069;cursor:pointer;filter:none;font-size:100%;padding-left:29px;text-decoration:none}.newshelf{background-position:2px -764px;border:0;color:#069;cursor:pointer;filter:none;font-size:100%;padding-left:28px;text-decoration:none}.newshelf.disabled{background-position:-4px -791px}.deleteshelf{background-color:transparent;background-position:2px -690px;border:0;color:#069;cursor:pointer;filter:none;font-size:100%;padding-left:25px;text-decoration:none}.links a{font-weight:bold}.deleteshelf:hover{color:#903}.editshelf:active,.deleteshelf:active{border:0}#tagslist li{display:inline}#login4tags{background-image:url("../images/sprite.png");background-position:-6px -1130px;background-repeat:no-repeat;padding-left:20px;text-decoration:none}.tag_results_input{margin-left:1em;padding:.3em;font-size:12px}.tag_results_input input[type="text"]{font-size:inherit;margin:0;padding:0}.tag_results_input label{display:inline}.tagsinput input[type="text"]{font-size:inherit;margin:0;padding:0}.tagsinput label{display:inline}.branch-info-tooltip{display:none}.ui-tooltip-content p{margin:.3em 0}#social_networks a{background:transparent url("../images/social-sprite.png") no-repeat;display:block;height:20px !important;width:20px;text-indent:-999em}#social_networks span{color:#274d7f;display:block;float:left;font-size:85%;font-weight:bold;line-height:2em;margin:.5em 0 .5em .5em !important}#social_networks div{float:left !important;margin:.5em 0 .5em .2em !important}#social_networks #facebook{background-position:-7px -35px}#social_networks #twitter{background-position:-7px -5px}#social_networks #linkedin{background-position:-7px -95px}#social_networks #delicious{background-position:-7px -66px}#social_networks #email{background-position:-7px -126px}#marc td,#marc th{background-color:transparent;border:0;padding:3px 5px;text-align:left}#marc td:first-child{text-indent:2em}#marc p{padding-bottom:.6em}#marc p .label{font-weight:bold}#marc ul{padding-bottom:.6em}#marc .results_summary{clear:left}#marc .results_summary ul{display:inline;float:none;clear:none;margin:0;padding:0;list-style:none}#marc .results_summary li{display:inline}#items,#items td #items th{border:1px solid #eee;font-size:90%}#plainmarc table{border:0;margin:.7em 0 0 0;font-family:monospace;font-size:95%}#plainmarc th{background-color:#fff;border:0;white-space:nowrap;text-align:left;vertical-align:top;padding:2px}#plainmarc td{border:0;padding:2px;vertical-align:top}#renewcontrols{float:right;font-size:66%}#renewcontrols a{background-repeat:no-repeat;text-decoration:none;padding:.1em .4em;padding-left:18px}#renewselected_link{background-image:url("../images/sprite.png");background-position:-5px -986px;background-repeat:no-repeat}#renewall_link{background-image:url("../images/sprite.png");background-position:-8px -967px;background-repeat:no-repeat}.authref{text-indent:2em}.authref .label{font-style:italic}.authstanza{margin-top:1em}.authstanzaheading{font-weight:bold}.authorizedheading{font-weight:bold}.authstanza li{margin-left:.5em}.authres_notes,.authres_seealso,.authres_otherscript{padding-top:.5em}.authres_notes{font-style:italic}#didyoumean{background-color:#eee;border:1px solid #e8e8e8;margin:0 0 .5em;text-align:left;padding:.5em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.suggestionlabel{font-weight:bold}.searchsuggestion{padding:.2em .5em;white-space:nowrap;display:inline-block}.authlink{padding-left:.25em}#hierarchies a{font-weight:normal;text-decoration:underline;color:#069}#hierarchies a:hover{color:#903}#top-pages{margin:0 0 .5em}.dropdown-menu>li>a{font-size:90%}a.listmenulink:link,a.listmenulink:visited{color:#0076b2;font-weight:bold}a.listmenulink:hover,a.listmenulink:active{color:#fff;font-weight:bold}#cartDetails,#cartUpdate,#holdDetails,#listsDetails{background-color:#fff;border:1px solid rgba(0,0,0,0.2);border-radius:6px 6px 6px 6px;box-shadow:0 5px 10px rgba(0,0,0,0.2);color:black;display:none;font-size:90%;margin:0;padding:8px 20px;text-align:center;width:180px;z-index:2}#cartmenulink{white-space:nowrap}#search-facets,#menu{border:1px solid #d2d2cf;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}#search-facets ul,#menu ul{margin:0;padding:.3em}#search-facets form,#menu form{margin:0}#search-facets h4,#menu h4{font-size:90%;margin:0 0 .6em 0;text-align:center}#search-facets h4 a,#menu h4 a{background-color:#f2f2ef;border-radius:8px 8px 0 0;border-bottom:1px solid #d8d8d8;display:block;font-weight:bold;padding:.7em .2em;text-decoration:none}#search-facets li,#menu li{font-size:90%;font-weight:bold;list-style-type:none}#search-facets li li,#menu li li{font-weight:normal;font-size:95%;line-height:125%;margin-bottom:2px;padding:.1em .2em}#search-facets li.showmore a,#menu li.showmore a{font-weight:bold;text-indent:1em}#search-facets a,#menu a{font-weight:normal;text-decoration:underline}#search-facets .facet-count,#menu .facet-count{display:inline-block}#menu{font-size:94%}#menu li{list-style-type:none}#menu li a{background:#eee;text-decoration:none;display:block;border:1px solid #d8d8d8;border-radius:5px 0 0 5px;border-bottom-color:#999;font-size:111%;padding:.4em .6em;margin:.4em 0;margin-right:-1px}#menu li a:hover{background:#eaeef5}#menu li.active a{background-color:#fff;background-image:none;border-right-width:0;font-weight:bold}#menu li.active a:hover{background-color:#fff}#menu h4{display:none}#addto{max-width:10em}.addto a.addtocart{background-image:url("../images/sprite.png");background-position:-5px -266px;background-repeat:no-repeat;text-decoration:none;padding-left:33px}.searchresults p{margin:0;padding:0 0 .6em 0}.searchresults p.details{color:#979797}.searchresults a.highlight_toggle{background-image:url("../images/sprite.png");background-position:-11px -841px;background-repeat:no-repeat;display:none;font-weight:normal;padding:0 10px 0 21px}.searchresults .commentline{background-color:#ffc;background-color:rgba(255,255,204,0.4);border:1px solid #ccc;display:inline-block;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,0.2);-moz-box-shadow:0 1px 1px 0 rgba(0,0,0,0.2);box-shadow:0 1px 1px 0 rgba(0,0,0,0.2);margin:.3em;padding:.4em}.searchresults .commentline.yours{background-color:#effed5;background-color:rgba(239,254,213,0.4)}.commentline .avatar{float:right;padding-left:.5em}.term{color:#900;background-color:#ffc}.shelvingloc{display:block;font-style:italic}#CheckAll,#CheckNone,.CheckAll,.CheckNone{font-weight:normal;margin:0 .5em;text-decoration:underline}span.sep{color:#888;padding:0 .2em 0 .5em;text-shadow:1px 1px 0 #fff}.pages span:first-child,.pages a:first-child{border-width:1px 1px 1px 1px;border-bottom-left-radius:3px;border-top-left-radius:3px}.pages span:last-child,.pages a:last-child{border-width:1px 1px 1px 0;border-bottom-right-radius:3px;border-top-right-radius:3px}.pages .inactive,.pages .currentPage,.pages a{-moz-border-bottom-colors:none;-moz-border-left-colors:none;-moz-border-right-colors:none;-moz-border-top-colors:none;background-color:#fff;border-color:#ddd;border-image:none;border-style:solid;border-width:1px 1px 1px 0;float:left;font-size:11.9px;line-height:20px;padding:4px 12px;text-decoration:none}.pages .inactive{background-color:#f5f5f5}.pages a[rel='last']{border-bottom-right-radius:3px;border-top-right-radius:3px}.hold-message{background-color:#fff0b1;display:inline-block;margin:.5em;padding:.2em .5em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.reserve_date,.expiration_date{white-space:nowrap}.close{color:#08c;position:inherit;top:auto;right:auto;filter:none;float:none;font-size:inherit;font-weight:normal;opacity:inherit;text-shadow:none}.close:hover{color:#538200;filter:inherit;font-size:inherit;opacity:inherit}.alert .closebtn{position:relative;top:-2px;right:-21px;line-height:20px}.modal-header .closebtn{margin-top:2px}.closebtn{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.closebtn:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.closebtn{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn-group label,.btn-group select{font-size:13px}.span2 select{width:100%}.popup .main{font-size:90%;padding:0 1em}.popup legend{line-height:1.5em;margin-bottom:.5em}.item-status{display:block;font-size:95%;margin-bottom:.5em}.available{color:#060}.waiting,.intransit,.notforloan,.checkedout,.lost,.notonhold{display:block}.notforloan{color:#900}.lost{color:#666}.suggestion{background-color:#eeeeeb;border:1px solid #ddded3;margin:1em auto;padding:.5em;width:35%;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.librarypulldown .transl1{width:auto}.nolibrarypulldown{width:68%}.nolibrarypulldown .transl1{width:87%}#opac-main-search select{width:auto;max-width:12em}#logo{background:transparent url("../images/koha-logo-navbar.png") no-repeat scroll 0;border:0;float:left !important;margin:0;padding:0;width:100px}#logo a{border:0;cursor:pointer;display:block;height:0 !important;margin:0;overflow:hidden;padding:40px 0 0;text-decoration:none;width:100px}#user-menu-trigger{display:none}#user-menu-trigger .icon-user{background:transparent url("../lib/bootstrap/img/glyphicons-halflings-white.png") no-repeat;background-position:-168px 0;background-repeat:no-repeat;height:14px;line-height:14px;margin:12px 0 0;vertical-align:text-top;width:14px}#user-menu-trigger .caret{border-bottom-color:#999;border-top-color:#999;margin-top:18px}.floating{-webkit-box-shadow:0 3px 2px 0 rgba(0,0,0,0.4);box-shadow:0 3px 2px 0 rgba(0,0,0,0.4);margin-top:0}.tdlabel{font-weight:bold;display:none}td img{max-width:none}#ulactioncontainer{min-width:16em}.notesrow label{font-weight:bold}.notesrow span{display:block}.thumbnail-shelfbrowser span{margin:0 auto}.dropdown-menu>li>a.menu-inactive:hover{background:#fff none;color:#000}.table .sorting_asc{padding-right:19px;background:url("../images/asc.gif") no-repeat scroll right center #ecede6}.table .sorting_desc{padding-right:19px;background:url("../images/desc.gif") no-repeat scroll right center #ecede6}.table .sorting{padding-right:19px;background:url("../images/ascdesc.gif") no-repeat scroll right center #ecede6}.table .nosort,.table .nosort.sorting_asc,.table .nosort.sorting_desc,.table .nosort.sorting{padding-right:19px;background:#ecede6 none}.table th,.table td{line-height:135%}.tags ul{display:inline;list-style:none;margin-left:0}.tags ul li{display:inline}.coverimages{float:right}#i18nMenu{margin-left:1em}#i18nMenu li{font-size:85%}#i18nMenu li li{font-size:100%}#i18nMenu li li>a{font-size:100%}#i18nMenu li li>a:hover{color:#fff}#i18nMenu li a{color:#0076b2}#i18nMenu .dropdown-menu li p{clear:both;display:block;font-weight:normal;line-height:20px;padding:3px 20px;white-space:nowrap}#subjectsList label,#authorSearch label{display:inline;vertical-align:middle}#subjectsList ul,#authorSearch ul{border-bottom:1px solid #eee;list-style-type:none;margin:0;padding:.6em 0}#subjectsList li,#authorSearch li{list-style-type:none;margin:0;padding:0}#overdrive-results{font-weight:bold;padding-left:1em}.throbber{vertical-align:middle}#overdrive-results-list .star-rating-control{display:block;overflow:auto}#shelfbrowser table{margin:0}#shelfbrowser table,#shelfbrowser td,#shelfbrowser th{border:0;font-size:90%;text-align:center}#shelfbrowser td,#shelfbrowser th{padding:3px 5px;width:20%}#shelfbrowser a{display:block;font-size:110%;font-weight:bold;text-decoration:none}#shelfbrowser #browser_next,#shelfbrowser #browser_previous{background-image:url("../images/sprite.png");background-repeat:no-repeat;width:16px}#shelfbrowser #browser_next a,#shelfbrowser #browser_previous a{cursor:pointer;display:block;height:0 !important;margin:0;overflow:hidden;padding:50px 0 0;text-decoration:none;width:16px}#shelfbrowser #browser_previous{background-position:-9px -1007px}#shelfbrowser #browser_next{background-position:-9px -1057px}#holds{margin:0 auto;max-width:800px}.holdrow{clear:both;padding:0 1em 1em 1em;border-bottom:1px solid #ccc;margin-bottom:.5em}.holdrow fieldset{border:0;margin:0;float:none}.holdrow fieldset .label{font-size:14px}.holdrow label{display:inline}.hold-options{clear:both}.toggle-hold-options{background-color:#eee;clear:both;display:block;font-weight:bold;margin:1em 0;padding:.5em}.copiesrow{clear:both}#idreambooksreadometer{float:right}a.idreambooksrating{font-size:30px;color:#29ade4;padding-left:85px;line-height:30px;text-decoration:none}.idreambookslegend{font-size:small}a.reviewlink,a.reviewlink:visited{text-decoration:none;color:black;font-weight:normal}.idreambookssummary a{color:#707070;text-decoration:none}.idreambookssummary img,.idbresult img{vertical-align:middle}.idbresult{color:#29ade4;text-align:center;margin:.5em;padding:.5em}.idbresult a,.idbresult a:visited{text-decoration:none;color:#29ade4}.idbresult img{padding-right:6px}.js-show{display:none}.modal-nojs .modal-header,.modal-nojs .modal-footer{display:none}.contents{width:75%}.contentblock{font-size:95%;line-height:135%;position:relative;margin-left:2em}.contents .t:first-child:before{content:"→ "}.contents .t:before{content:"\A → ";white-space:pre}.contents .t{font-weight:bold;display:inline}.contents .r{display:inline}.m880{display:block;text-align:right;float:right;width:50%;padding-left:20px}#memberentry-form input.error{border-color:#c00;box-shadow:0 1px 1px #c00 inset,0 0 8px #c00;color:red;outline:0 none}#memberentry-form input.error:focus{border-color:#c00;box-shadow:0 1px 1px #c00 inset,0 0 8px #c00;color:red;outline:0 none}#memberentry-form label.error{color:#c00;float:none;font-size:90%}@media only screen and (min-width:0) and (max-width:304px){#oh:after{content:"(min-width: 0px) and (max-width: 304px)"}input,select,textarea{width:auto;max-width:11em}}@media only screen and (min-width:0) and (max-width:390px){#oh:after{content:"(min-width: 0px) and (max-width: 390px)"}.ui-tabs .ui-tabs-nav li a,.statictabs li a{padding:.1em .5em}#views{border:0;padding:0;margin:0}.view{padding:0}.view a,.view span{border:1px solid #c9c9c9;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;font-size:80%;padding:.3em .4em 4px 26px}.input-fluid{width:90%}}@media only screen and (min-width:305px) and (max-width:341px){#oh:after{content:"(min-width: 305px) and (max-width: 341px)"}}@media only screen and (min-width:342px) and (max-width:479px){#oh:after{content:"(min-width: 342px) and (max-width: 479px)"}.input-fluid{width:75%}}@media (max-width:979px){.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;margin-left:0;margin-right:0}}@media only screen and (max-width:608px){fieldset.rows label{display:block;float:none;text-align:left}fieldset.rows li{padding-bottom:.5em}fieldset.rows ol{margin-left:0}fieldset.rows .hint{margin-left:0}body{padding:0}.tdlabel{display:inline}.navbar-fixed-top,.navbar-static-top{margin:0}.navbar-inner{padding:0}.checkall,.clearall,.highlight_controls,#selections-toolbar,.selectcol,.list-actions,#remove-selected{display:none}.table td.bibliocol{padding-left:1.3em}.actions{display:block}.actions a,.actions #login4tags{background-color:#f2f2ef;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;font-weight:bold;display:block;font-size:120%;margin:2px 0}.actions .label{display:block;font-weight:bold}.actions #login4tags{margin-right:1em}#opac-main-search button,#opac-main-search input,#opac-main-search select,#opac-main-search .librarypulldown .transl1,#opac-main-search .input-append{display:block;width:97%;max-width:100%;margin:.5em 0;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}#opac-main-search .input-append{margin:0;width:100%}#opac-main-search .librarypulldown .transl1{width:94.5%}#toolbar .resort{font-size:14px;max-width:100%;margin:.5em 0;padding:4px 6px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.mastheadsearch{margin:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.main{margin:.5em 0;padding:15px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.breadcrumb{margin:10px 0}#moresearches{text-align:center}#searchsubmit{font-weight:bold}.ui-tabs-panel .item-thumbnail,.tabs-container .item-thumbnail,#topissues .item-thumbnail,#usertags .item-thumbnail,#usersuggestions .item-thumbnail{margin:.5em 0 0 .5em}.ui-tabs-panel .table-bordered,.tabs-container .table-bordered,#topissues .table-bordered,#usertags .table-bordered,#usersuggestions .table-bordered{border:none}.ui-tabs-panel .table th,.tabs-container .table th,#topissues .table th,#usertags .table th,#usersuggestions .table th,.ui-tabs-panel .table thead,.tabs-container .table thead,#topissues .table thead,#usertags .table thead,#usersuggestions .table thead{display:none}.ui-tabs-panel .table td,.tabs-container .table td,#topissues .table td,#usertags .table td,#usersuggestions .table td{border-right:1px solid #ddd;border-left:1px solid #ddd;border-top:0;display:block;padding:.2em}.ui-tabs-panel .table p,.tabs-container .table p,#topissues .table p,#usertags .table p,#usersuggestions .table p{margin-bottom:2px}.ui-tabs-panel tr,.tabs-container tr,#topissues tr,#usertags tr,#usersuggestions tr{display:block;margin-bottom:.6em}.ui-tabs-panel tr td:first-child,.tabs-container tr td:first-child,#topissues tr td:first-child,#usertags tr td:first-child,#usersuggestions tr td:first-child{border-top:1px solid #ddd;border-radius:5px 5px 0 0}.ui-tabs-panel tr td:last-child,.tabs-container tr td:last-child,#topissues tr td:last-child,#usertags tr td:last-child,#usersuggestions tr td:last-child{border-radius:0 0 5px 5px;border-bottom:2px solid #cacaca}.no-image{display:none}}@media only screen and (max-width:700px){#opac-main-search label{display:none}#logo{background:transparent url("../lib/bootstrap/img/glyphicons-halflings-white.png") no-repeat;background-position:0 -24px;margin:14px 14px 0 14px;width:14px}#logo a{padding:14px 0 0;width:14px}#user-menu-trigger{display:inline;margin-right:12px}#members{display:none;clear:both}#members li{padding-right:20px;text-align:right;border-bottom:1px solid #555}#members li:first-child{border-top:1px solid #555}#members li:last-child{border-bottom:none}#members .nav{float:none}#members .nav.pull-right{float:none}#members .nav>li{float:none}#members .divider-vertical{border:0;height:0;margin:0}}@media only screen and (min-width:480px) and (max-width:608px){#oh:after{content:" Between 480 pixels and 608 pixels. "}.input-fluid{width:75%}}@media only screen and (min-width:608px) and (max-width:767px){#oh:after{content:" Between 608 pixels and 767 pixels. "}.main{padding:.8em 20px}.breadcrumb{margin:10px 0}.navbar-static-bottom{margin-left:-20px;margin-right:-20px}.row-fluid input.span6{width:48.9362%}}@media only screen and (max-width:767px){a.title{font-size:120%}#userresults{margin:0 -20px}.breadcrumb,#top-pages,.menu-collapse{display:none}#search-facets,#menu{margin-bottom:.5em}#search-facets h4,#menu h4{display:block;margin:0;padding:0}#search-facets h4 a,#menu h4 a{-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px;border-bottom:0;font-weight:normal;padding:.7em .2em}#search-facets ul,#menu ul{padding:0}#menu li a{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;border:0;display:block;font-size:120%;text-decoration:none;border-bottom:1px solid #d8d8d8;margin:0}#menu li.active a{border-top:1px solid #d8d8d8;border-right-width:1px}#menu li:last-child a{-webkit-border-radius:0 0 7px 7px;-moz-border-radius:0 0 7px 7px;border-radius:0 0 7px 7px}#search-facets li{padding:.4em}#search-facets h5{margin:.2em}#menu h4 a.menu-open,#search-facets h4 a.menu-open{-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0;border-bottom:1px solid #d8d8d8}}@media only screen and (max-width:800px){.cartlabel,.listslabel{display:none}.navbar .divider-vertical{margin:0 2px}.navbar #members .divider-vertical{margin:0 9px}}@media only screen and (min-width:768px){.main{margin-left:20px;margin-right:20px}#menu{border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;border-right:1px solid #d8d8d8}#menu h4{display:none}#menu ul{padding:1em 0 1em 0}}@media only screen and (min-width:768px) and (max-width:984px){#oh:after{content:" Between 768 and 984 pixels. "}.librarypulldown .transl1{width:38%}}@media only screen and (min-width:984px){#oh:after{content:" Above 984 pixels. "}.librarypulldown .transl1{width:53%}}@media only screen and (max-width:1040px){.pg_menu li a{float:none;text-align:left}.pg_menu li.back_results a{border:1px solid #d0d0d0;border-width:1px 0 1px 0}#ulactioncontainer{min-width:0}}
1
a,a:visited{color:#0076b2}h1,h2,h3{line-height:150%}a.title,caption,legend{font-weight:700}#moresearches,#news{margin:.5em 0}.authref .label,.authres_notes,.newsfooter,.shelvingloc{font-style:italic}.item-thumbnail,td img{max-width:none}#action li,#marc .results_summary ul,.breadcrumb,.nav_pages li,.pagination_list li,.pg_menu li,.statictabs li,.statictabs ul,.tags ul,.ui-menu li,ul.ui-tabs-nav li{list-style:none}#cartmenulink,#i18nMenu .dropdown-menu li p,#moresearches li,#plainmarc th,#views,.actions a,.expiration_date,.no-js .dateformat,.pg_menu,.reserve_date,.searchsuggestion,.statictabs li,.toolbar a,td .btn{white-space:nowrap}#authorSearch li,#menu li,#search-facets li,#subjectsList li,div.rows li,div.rows ol,fieldset.rows li,fieldset.rows ol{list-style-type:none}.shadowed{-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.2);-moz-box-shadow:0 1px 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 1px 0 rgba(0,0,0,.2)}.main,.ui-datepicker{-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.2);-moz-box-shadow:0 1px 1px 0 rgba(0,0,0,.2)}body{background-color:#EAEAE6}body,html{height:100%}.no-js .dateformat{display:inline}.no-js .modal-body{padding:0}.js .dateformat,.no-js .selections-toolbar{display:none}#advsearches label,#basketcount,#booleansearch label{display:inline}#wrap{min-height:100%;height:auto!important;height:100%}.popup{padding-left:0;padding-right:0}a.cancel{padding-left:1em}a.title{font-size:108%}caption,h3{font-size:120%}h4,legend{font-size:110%}a.btn:visited{color:#333}a.btn-primary:visited{color:#FFF}.ui-widget-content a,.ui-widget-content a:visited{color:#0076b2}h1{font-size:140%}h1#libraryname{background:url(../images/logo-koha.png) 0 no-repeat;border:0;float:left!important;margin:0;padding:0;width:90pt}h1#libraryname a{border:0;cursor:pointer;display:block;height:0!important;margin:0;overflow:hidden;padding:40px 0 0;text-decoration:none;width:90pt}h2{font-size:130%}h5{font-size:100%}caption{margin:0;text-align:left}input,textarea{width:auto}.input-fluid{width:50%}table,td{background-color:#FFF}td .btn-link{padding:0}#basketcount{margin:0;padding:0}#basketcount span{background-color:#FFC;color:#000;display:inline;font-size:80%;font-weight:400;margin:0 0 0 .9em;padding:0 .3em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}#members{display:block}#members p{color:#EEE}#members a{color:#A6D8ED;font-weight:700}#members a.logout{color:#E8583C;padding:0 .3em}#koha_url p{color:#666;float:right;margin:0}#moresearches{padding:0 .8em}.newsbody,.newsheader{padding:8px}#moresearches li{display:inline}#moresearches li:after{content:" | "}#moresearches ul{margin:0}#moresearches li:last-child:after{content:""}.newscontainer{border:1px solid #ddd;border-bottom-width:0;border-top-left-radius:5px;border-top-right-radius:5px}.newsfooter,.newsheader{border-bottom:1px solid #ddd}.newsheader{background-color:#ecede6;margin:0}.newsfooter{padding:4px 8px}.actions a.article_request,.actions a.hold{margin-right:1em;padding-left:21px;text-decoration:none;background-image:url(../images/sprite.png);background-repeat:no-repeat}#opacheader{background-color:#DDD}#selections,.selections{font-weight:700}.actions a.hold{background-position:-5px -542px}.actions a.article_request{background-position:-2px -26px}.actions a.addtocart{background-image:url(../images/sprite.png);background-position:-5px -572px;background-repeat:no-repeat;margin-right:1em;padding-left:20px;text-decoration:none}.actions a.addtolist,.actions a.addtoshelf{background-position:-5px -27px;padding-left:20px;margin-right:1em;text-decoration:none}.actions a.addtoshelf{background-image:url(../images/sprite.png);background-repeat:no-repeat}.actions a.tag_add{background-position:-5px -1110px;margin-right:1em;padding-left:20px;text-decoration:none}.actions a.removefromlist{background-position:-8px -690px;margin-right:1em;text-decoration:none;padding-left:15px}.alert{background:#fffbe5;background:-moz-linear-gradient(top,#fffbe5 0,#fff0b2 9%,#fff1a8 89%,#f7e665 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fffbe5),color-stop(9%,#fff0b2),color-stop(89%,#fff1a8),color-stop(100%,#f7e665));background:-webkit-linear-gradient(top,#fffbe5 0,#fff0b2 9%,#fff1a8 89%,#f7e665 100%);background:-o-linear-gradient(top,#fffbe5 0,#fff0b2 9%,#fff1a8 89%,#f7e665 100%);background:-ms-linear-gradient(top,#fffbe5 0,#fff0b2 9%,#fff1a8 89%,#f7e665 100%);background:linear-gradient(to bottom,#fffbe5 0,#fff0b2 9%,#fff1a8 89%,#f7e665 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbe5', endColorstr='#f7e665', GradientType=0);border-color:#D6C43B;color:#333}.alert-info{background:#f4f6fa;background:-moz-linear-gradient(top,#f4f6fa 0,#eaeef5 4%,#e8edf6 96%,#cddbf2 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#f4f6fa),color-stop(4%,#eaeef5),color-stop(96%,#e8edf6),color-stop(100%,#cddbf2));background:-webkit-linear-gradient(top,#f4f6fa 0,#eaeef5 4%,#e8edf6 96%,#cddbf2 100%);background:-o-linear-gradient(top,#f4f6fa 0,#eaeef5 4%,#e8edf6 96%,#cddbf2 100%);background:-ms-linear-gradient(top,#f4f6fa 0,#eaeef5 4%,#e8edf6 96%,#cddbf2 100%);background:linear-gradient(to bottom,#f4f6fa 0,#eaeef5 4%,#e8edf6 96%,#cddbf2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f4f6fa', endColorstr='#cddbf2', GradientType=0);border-color:#C5D1E5;color:#333}.alert-success{background:#f8ffe8;background:-moz-linear-gradient(top,#f8ffe8 0,#e3f5ab 4%,#dcf48d 98%,#9ebf28 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#f8ffe8),color-stop(4%,#e3f5ab),color-stop(98%,#dcf48d),color-stop(100%,#9ebf28));background:-webkit-linear-gradient(top,#f8ffe8 0,#e3f5ab 4%,#dcf48d 98%,#9ebf28 100%);background:-o-linear-gradient(top,#f8ffe8 0,#e3f5ab 4%,#dcf48d 98%,#9ebf28 100%);background:-ms-linear-gradient(top,#f8ffe8 0,#e3f5ab 4%,#dcf48d 98%,#9ebf28 100%);background:linear-gradient(to bottom,#f8ffe8 0,#e3f5ab 4%,#dcf48d 98%,#9ebf28 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8ffe8', endColorstr='#9ebf28', GradientType=0);border-color:#9FBA35;color:#333}.breadcrumb{background-color:#F2F2EF;font-size:85%;margin:10px 20px;padding:5px 10px;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.form-inline{display:inline;padding:0;margin:0}.form-inline fieldset{margin:.3em 0;padding:.3em}.main{background-color:#FFF;border:1px solid #D2D2CF;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px;box-shadow:0 1px 1px 0 rgba(0,0,0,.2);margin-top:.5em;margin-bottom:.5em}.mastheadsearch{-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px;padding:.8em;margin:.5em 0;background:#c7c7c1;background:-moz-linear-gradient(top,#c7c7c1 38%,#a7a7a2 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(38%,#c7c7c1),color-stop(100%,#a7a7a2));background:-webkit-linear-gradient(top,#c7c7c1 38%,#a7a7a2 100%);background:-o-linear-gradient(top,#c7c7c1 38%,#a7a7a2 100%);background:-ms-linear-gradient(top,#c7c7c1 38%,#a7a7a2 100%);background:linear-gradient(to bottom,#c7c7c1 38%,#a7a7a2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#c7c7c1', endColorstr='#a7a7a2', GradientType=0)}.mastheadsearch label{font-size:115%;font-weight:700}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#9FE1FF;font-weight:700}.navbar-fixed-bottom.navbar-static-bottom{margin-top:.5em;position:static}#changelanguage .nav>.active>p{padding:0 15px}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#F4F4F4}.ui-tabs-nav .ui-tabs-active a,.ui-tabs-nav a:active,.ui-tabs-nav a:focus,.ui-tabs-nav a:hover,.ui-tabs-nav span.a{background:none;outline:0}.ui-widget,.ui-widget button,.ui-widget input,.ui-widget select,.ui-widget textarea{font-family:inherit;font-size:inherit}.ui-tabs.ui-widget-content{background:0 0;border:0}.ui-tabs .ui-tabs-panel{border:1px solid #D8D8D8;margin-bottom:1em}.ui-tabs-nav.ui-widget-header{border:0;background:0 0}.ui-tabs .ui-tabs-nav li{background:#F3F3F3;border-color:#D8D8D8;margin-right:.4em}.ui-tabs .ui-tabs-nav li.ui-tabs-active{background-color:#FFF;border:1px solid #D8D8D8;border-bottom:0}.ui-tabs .ui-tabs-nav li.ui-tabs-active a{color:#000;font-weight:700}.ui-tabs .ui-tabs-nav li.ui-state-default.ui-state-hover{background:#F3F3F3}.ui-tabs .ui-tabs-nav li.ui-tabs-active.ui-state-hover{background:#FFF}.ui-tabs .ui-state-default a,.ui-tabs .ui-state-default a:link,.ui-tabs .ui-state-default a:visited{color:#069}.ui-tabs .ui-state-hover a,.ui-tabs .ui-state-hover a:link,.ui-tabs .ui-state-hover a:visited{color:#903}.statictabs ul{background:none;border:0;margin:0;padding:.2em .2em 0;color:#222;font-weight:700;font-size:100%;line-height:1.3;outline:0;text-decoration:none;border-radius:4px}.statictabs ul:before{content:"";display:table}.statictabs ul:after{clear:both;content:"";display:table}.statictabs li{background:#E6F0F2;border:1px solid #B9D8D9;border-bottom:0 none!important;border-top-right-radius:4px;border-top-left-radius:4px;float:left;margin-bottom:0;margin-right:.4em;padding:0;position:relative;top:1px;color:#555;font-weight:400}.statictabs li.active{background-color:#FFF;color:#212121;font-weight:400;padding-bottom:1px}.statictabs li a{color:#004D99;cursor:pointer;float:left;padding:.5em 1em;text-decoration:none}.statictabs li a:hover{background-color:#EDF4F5;border-top-right-radius:4px;border-top-left-radius:4px;color:#538200}.statictabs li.active a{color:#000;font-weight:700;cursor:text;background:none;outline:0}.statictabs .tabs-container{border:1px solid #B9D8D9;background:none;display:block;padding:1em 1.4em;border-bottom-right-radius:4px;border-bottom-left-radius:4px;color:#222}.ui-datepicker table{width:100%;font-size:.9em;border:0;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{background:0 0;padding:.7em .3em;text-align:center;font-weight:700;border:0}.ui-datepicker-trigger{vertical-align:middle;margin:0 3px}.ui-datepicker{box-shadow:0 1px 1px 0 rgba(0,0,0,.2)}.ui-widget-content{border:1px solid #AAA;background:#fff;color:#222}.ui-widget-header{border:1px solid #AAA;background:#E6F0F2;color:#222;font-weight:700}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #AAA;background:#F4F8F9;font-weight:400;color:#555}.ui-state-focus,.ui-state-hover,.ui-widget-content .ui-state-focus,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-focus,.ui-widget-header .ui-state-hover{border:1px solid #AAA;background:#E6F0F2;font-weight:400;color:#212121}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #aaa;background:#fff;font-weight:400;color:#212121}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee;color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec;color:#cd0a0a}.ui-autocomplete{position:absolute;cursor:default;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.2);-moz-box-shadow:0 1px 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 1px 0 rgba(0,0,0,.2)}.ui-autocomplete.ui-widget-content .ui-state-hover{border:1px solid #AAA;background:#E6F0F2;font-weight:400;color:#212121}.ui-autocomplete-loading{background:url(../../img/loading-small.gif) right center no-repeat #fff}th{background-color:#ECEDE6}.no-image{background-color:#FFF;border:1px solid #AAA;color:#979797;display:block;font-size:86%;font-weight:700;text-align:center;width:75px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}fieldset.rows,table{font-size:90%}th.sum,th[scope=row]{text-align:right}td.overdue{color:#c33}td.sum{background-color:#FFC;font-weight:700}.label,th[scope=row]{background-color:transparent}.required{color:#C00}.label{color:inherit;display:inline;font-weight:400;padding:0;text-shadow:none}.blabel{background-color:#999;border-radius:3px;color:#fff;display:inline-block;font-weight:700;padding:2px 4px;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.label-important{background-color:#b94a48}.label-warning{background-color:#f89406}.label-success{background-color:#468847}.label-info{background-color:#3a87ad}.label-inverse{background-color:#333}fieldset.rows{float:left;clear:left;margin:.9em 0 0;padding:0;width:100%}fieldset.rows legend{font-weight:700;font-size:130%}fieldset.rows .label,fieldset.rows label{float:left;font-weight:700;width:9em;margin-right:1em;text-align:right}fieldset.rows label.lradio{float:none;margin:inherit;width:auto}fieldset.rows fieldset{margin:0;padding:.3em}fieldset.rows ol{padding:1em 1em 0}fieldset.rows ol.lradio label{width:auto;float:none;margin-right:0}fieldset.rows ol.lradio label.lradio{float:left;width:12em;margin-right:1em}fieldset.rows li{float:left;clear:left;padding-bottom:1em;width:100%}fieldset.rows li.lradio{padding-left:8.5em;width:auto}fieldset.rows li.lradio label{float:none;width:auto;margin:0 0 0 1em}fieldset.rows .hint{display:block;margin-left:11em}.list-actions,.toolbar label,.toolbar li{display:inline}fieldset.action{clear:both;float:none;border:none;margin:0;padding:1em 0 .3em;width:auto}div.rows,div.rows li{clear:left;float:left}fieldset.action p{margin-bottom:1em}fieldset table{font-size:100%}div.rows+div.rows{margin-top:.6em}div.rows{margin:0;padding:0;width:100%}div.rows span.label{float:left;font-weight:700;width:9em;margin-right:1em;text-align:left}div.rows ol{margin-left:0;padding:.5em 1em 0 0}div.rows li{border-bottom:1px solid #EEE;padding-bottom:.2em;padding-top:.1em;width:100%}div.rows ul li{margin-left:7.3em}div.rows ul li:first-child{float:none;clear:none;margin-left:0}div.rows ol li li{border-bottom:0}.tagweight0{font-size:9pt}.tagweight1{font-size:14px}.tagweight2{font-size:1pc}.tagweight3{font-size:18px}.tagweight4{font-size:20px}.tagweight5{font-size:22px}.tagweight6{font-size:24px}.tagweight7{font-size:26px}.tagweight8{font-size:28px}.tagweight9{font-size:30px}.toolbar{background-color:#EEE;border:1px solid #E8E8E8;font-size:85%;padding:3px 3px 5px 5px;vertical-align:middle}.toolbar label{font-size:100%;font-weight:700;margin-left:.5em}.toolbar select{font-size:97%;height:auto;line-height:inherit;padding:0;margin:0;width:auto;white-space:nowrap}.toolbar #tagsel_tag,.toolbar .hold{padding-left:28px;font-size:97%;font-weight:700}.toolbar #tagsel_form{margin-top:.5em}.toolbar li{list-style:none}.toolbar li a{border-left:1px solid #e8e8e8}.toolbar li:first-child a{border-left:0}.toolbar ul{padding-left:0}#basket .toolbar{padding:7px 5px 9px 9px}#selections-toolbar,.selections-toolbar{background:-moz-linear-gradient(top,#b2b2b2 0,#e0e0e0 14%,#e8e8e8 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#b2b2b2),color-stop(14%,#e0e0e0),color-stop(100%,#e8e8e8));background:-webkit-linear-gradient(top,#b2b2b2 0,#e0e0e0 14%,#e8e8e8 100%);background:-o-linear-gradient(top,#b2b2b2 0,#e0e0e0 14%,#e8e8e8 100%);background:-ms-linear-gradient(top,#b2b2b2 0,#e0e0e0 14%,#e8e8e8 100%);background:linear-gradient(top,#b2b2b2 0,#e0e0e0 14%,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e0e0e0', endColorstr='#e8e8e8', GradientType=0);margin:0 0 1em;padding-top:.5em;padding-left:10px}#tagsel_span input.submit,#tagsel_tag,.view a,.view span{background-image:url(../images/sprite.png);background-repeat:no-repeat}#tagsel_span input.submit,#tagsel_tag{border:0;background-color:transparent;font-size:100%;color:#0076B2;cursor:pointer;background-position:1px -643px;padding-left:25px;text-decoration:none}#tagsel_tag.disabled{background-position:-1px -667px}#selections-toolbar input.hold:hover,#tagsel_span input:hover{color:#005580;text-decoration:underline}#selections-toolbar a.disabled,#selections-toolbar a.disabled:hover,#selections-toolbar input.hold.disabled,#selections-toolbar input.hold.disabled:hover,#tagsel_span input.disabled,#tagsel_span input.disabled:hover,#tagsel_span input.hold.disabled,#tagsel_span input.hold.disabled:hover,.selections-toolbar a.disabled,.selections-toolbar a.disabled:hover{color:#888;text-decoration:none;padding-left:23px}.results_summary{display:block;font-size:85%;color:#707070;padding:0 0 .5em}.results_summary .results_summary{font-size:100%}.results_summary.actions{margin-top:.5em}.results_summary.tagstatus{display:inline}.results_summary .label{color:#202020}.results_summary a{font-weight:400}#views{border-bottom:1px solid #D6D6D6;margin-bottom:.5em;padding:0 2em .2em .2em}.view{padding:.2em .2em 2px}#bibliodescriptions,#isbdcontents{clear:left;margin-top:.5em}.view a,.view span{font-size:87%;font-weight:400;padding:.4em .7em 5px 26px;text-decoration:none}.nav_results,span#Briefhistory,span#Fullhistory,span#ISBDview,span#MARCview,span#Normalview{font-weight:700}a#MARCview,a#MARCviewPop,span#MARCview,span#MARCviewPop{background-position:-3px -23px}a#ISBDview,span#ISBDview{background-position:-3px -52px}a#Normalview,span#Normalview{background-position:-1px 6px}.view a{background-color:#F3F3F3;border-left:1px solid #C9C9C9}#bookcover{float:left;margin:0;padding:0}#bookcover .no-image{margin-right:10px;margin-bottom:10px}#bookcover img{margin:0 1em 1em 0}.results-pagination{position:absolute;top:2pc;left:-1px;width:100%;height:auto;border:1px solid #D0D0D0;display:none;background-color:#F3F3F3;padding-bottom:10px;z-index:100}.back{float:right}.back input{background:0 0!important;color:#999!important}.pagination_list ul{padding-top:40px;padding-left:0}.pagination_list li{float:bottom;padding:4px;color:#999}.pagination_list li.highlight{background-color:#F3F3F3;border-top:1px solid #DDD;border-bottom:1px solid #DDD}.pagination_list li a{padding-left:0}.pagination_list .li_pag_index{color:#999;float:left;font-size:15px;font-weight:700;padding-right:10px;text-align:right;width:13px}.nav_results{background-color:#F3F3F3;border:1px solid #D0D0D0;font-size:95%;margin-top:.5em;position:relative}.nav_results .l_Results a{background:url(../images/sprite.png) 0 -504px no-repeat #e1e1e1;color:#069;display:block;padding:8px 28px;text-decoration:none}#login4tags,#renewall_link,#renewselected_link,a.new{background-image:url(../images/sprite.png)}#login4tags,#renewall_link,#renewcontrols a,#renewselected_link{background-repeat:no-repeat}.pg_menu li,.pg_menu li span{color:#B2B2B2}.nav_results .l_Results:hover{background-color:#D9D9D9}.pg_menu{margin:0;border-top:1px solid #D0D0D0}.pg_menu li{display:inline;margin:0}#listResults li,.pg_menu li a,.pg_menu li span{display:block;text-align:center;font-weight:400}.pg_menu li.back_results a{border-left:1px solid #D0D0D0;border-right:1px solid #D0D0D0}.pg_menu li a,.pg_menu li span{background-color:#F3F3F3;float:left;padding:.4em .5em;text-decoration:none}#marc td,#marc th,.deleteshelf,input.editshelf,input.hold{background-color:transparent}.nav_pages .close_pagination a,.nav_pages li a{text-decoration:none!important}#listResults li{background-color:#999;color:#C5C5C5;margin-right:1px;font-size:80%;padding:0;min-width:18px}#listResults li:hover{background-color:#069}#listResults li a{color:#FFF;font-weight:400}.nav_pages .close_pagination{padding-right:10px;position:absolute;right:3px;top:-25px}.nav_pages ul{padding-top:10px}.nav_pages li{float:left;padding:4px;color:#999}.nav_pages li a:hover{text-decoration:underline}#action a,a.brief,a.deleteshelf,a.detail,a.download,a.editshelf,a.empty,a.hold,a.new,a.print-large,a.print-small,a.removeitems,a.send,a.tag_add,input.hold{text-decoration:none}.nav_pages li ul{float:left}#action{margin:.5em 0 0;background-color:#F3F3F3;border:1px solid #E8E8E8;padding-bottom:3px}#action li{margin:.2em;padding:.3em 0}#action a{font-weight:700}#export li,#moresearches_menu li{padding:0;margin:0}#format,#furthersearches,a.addtocart,a.addtoshelf{padding-left:35px}#export li a,#moresearches_menu li a{font-weight:400}#export li a.menu-inactive,#moresearches_menu li a.menu-inactive{font-weight:700}.highlight_controls{float:left}.deleteshelf,.newshelf,.newshelf.disabled,a.addtocart,a.addtoshelf,a.article_request,a.brief,a.deleteshelf,a.deleteshelf.disabled,a.detail,a.download,a.editshelf,a.empty,a.hide,a.highlight_toggle,a.hold,a.hold.disabled,a.incart,a.new,a.print-large,a.print-small,a.removefromlist,a.removeitems,a.removeitems.disabled,a.reserve,a.send,a.tag_add,input.editshelf,input.hold,input.hold.disabled{background-image:url(../images/sprite.png);background-repeat:no-repeat}a.addtocart{background-position:-5px -265px}a.addtoshelf{background-position:-5px -225px}a.brief{background-position:-2px -868px;padding-left:27px}a.cartRemove{color:#c33;font-size:90%;margin:0;padding:0}a.detail{background-position:-2px -898px;padding-left:27px}a.download{background-position:-5px -348px;padding-left:20px}a.editshelf{background-position:2px -348px;padding-left:26px}a.empty{background-position:2px -598px;padding-left:30px}a.hide{background-position:-3px -814px;text-decoration:none;padding-left:26px}a.highlight_toggle{background-position:-5px -841px;display:none;padding-left:35px}#tagslist li,.tag_results_input label,.tagsinput label{display:inline}a.hold,input.hold{background-position:-2px -453px;padding-left:23px}a.hold.disabled,input.hold.disabled{background-position:-5px -621px}a.incart{background-position:-5px -265px;color:#666;padding-left:35px}a.new{background-position:-4px -922px;padding-left:23px}a.print-small{background-position:0 -423px;padding-left:30px}a.print-large{background-position:-5px -186px;padding-left:35px}a.deleteshelf,a.removeitems{background-position:2px -690px;padding-left:25px}a.deleteshelf.disabled,a.removeitems.disabled{background-position:2px -712px}a.reserve{background-position:-6px -9pc;padding-left:35px}a.article_request{background-position:0 -24px;padding-left:35px}a.send{background-position:2px -386px;padding-left:28px}a.tag_add{background-position:3px -1111px;padding-left:27px}input.hold{border:0;color:#0076B2;font-weight:700}.deleteshelf,.newshelf,input.editshelf{color:#069;font-size:100%;border:0;text-decoration:none;filter:none;cursor:pointer}input.editshelf{background-position:2px -46pc;padding-left:29px}.newshelf{background-position:2px -764px;padding-left:28px}.newshelf.disabled{background-position:-4px -791px}.deleteshelf{background-position:2px -690px;padding-left:25px}#hierarchies a:hover,.deleteshelf:hover{color:#903}.links a{font-weight:700}.deleteshelf:active,.editshelf:active{border:0}#login4tags{background-position:-6px -1130px;padding-left:20px;text-decoration:none}.tag_results_input{margin-left:1em;padding:.3em;font-size:9pt}.tag_results_input input[type=text],.tagsinput input[type=text]{font-size:inherit;margin:0;padding:0}#marc p,#marc ul{padding-bottom:.6em}.branch-info-tooltip{display:none}.ui-tooltip-content p{margin:.3em 0}#social_networks a{background:url(../images/social-sprite.png) no-repeat;display:block;height:20px!important;width:20px;text-indent:-999em}#marc td:first-child,.authref{text-indent:2em}#social_networks span{color:#274D7F;display:block;float:left;font-size:85%;font-weight:700;line-height:2em;margin:.5em 0 .5em .5em!important}#social_networks div{float:left!important;margin:.5em 0 .5em .2em!important}#social_networks #facebook{background-position:-7px -35px}#social_networks #twitter{background-position:-7px -5px}#social_networks #linkedin{background-position:-7px -95px}#social_networks #delicious{background-position:-7px -66px}#social_networks #email{background-position:-7px -126px}#marc td,#marc th{border:0;padding:3px 5px;text-align:left}#marc p .label{font-weight:700}#marc .results_summary{clear:left}#marc .results_summary ul{display:inline;float:none;clear:none;margin:0;padding:0}.copiesrow,.hold-options,.holdrow,.toggle-hold-options{clear:both}#plainmarc td,#plainmarc th{border:0;padding:2px;vertical-align:top}#marc .results_summary li{display:inline}#items,#items td #items th{border:1px solid #EEE;font-size:90%}#plainmarc table{border:0;margin:.7em 0 0;font-family:monospace;font-size:95%}#plainmarc th{background-color:#FFF;text-align:left}#renewcontrols{float:right;font-size:66%}#renewcontrols a{text-decoration:none;padding:.1em .4em .1em 18px}#renewselected_link{background-position:-5px -986px}#renewall_link{background-position:-8px -967px}.authstanza{margin-top:1em}.authorizedheading,.authstanzaheading{font-weight:700}.authstanza li{margin-left:.5em}#didyoumean,#top-pages{margin:0 0 .5em}.authres_notes,.authres_otherscript,.authres_seealso{padding-top:.5em}#didyoumean{background-color:#EEE;border:1px solid #E8E8E8;text-align:left;padding:.5em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.suggestionlabel{font-weight:700}.searchsuggestion{padding:.2em .5em;display:inline-block}.authlink{padding-left:.25em}#hierarchies a{font-weight:400;text-decoration:underline;color:#069}.dropdown-menu>li>a{font-size:90%}a.listmenulink:link,a.listmenulink:visited{color:#0076B2;font-weight:700}a.listmenulink:active,a.listmenulink:hover{color:#FFF;font-weight:700}#cartDetails,#cartUpdate,#holdDetails,#listsDetails{background-color:#FFF;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 5px 10px rgba(0,0,0,.2);color:#000;display:none;font-size:90%;margin:0;padding:8px 20px;text-align:center;width:180px;z-index:2}#menu,#search-facets{border:1px solid #D2D2CF;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}#menu ul,#search-facets ul{margin:0;padding:.3em}#menu form,#search-facets form{margin:0}#menu h4,#search-facets h4{font-size:90%;margin:0 0 .6em;text-align:center}#menu h4 a,#search-facets h4 a{background-color:#F2F2EF;border-radius:8px 8px 0 0;border-bottom:1px solid #D8D8D8;display:block;font-weight:700;padding:.7em .2em;text-decoration:none}#menu li,#search-facets li{font-size:90%;font-weight:700}#menu li li,#search-facets li li{font-weight:400;font-size:95%;line-height:125%;margin-bottom:2px;padding:.1em .2em}#menu li.showmore a,#search-facets li.showmore a{font-weight:700;text-indent:1em}#menu a,#search-facets a{font-weight:400;text-decoration:underline}#menu .facet-count,#search-facets .facet-count{display:inline-block}#menu{font-size:94%}#menu li a{background:#eee;text-decoration:none;display:block;border:1px solid #D8D8D8;border-radius:5px 0 0 5px;border-bottom-color:#999;font-size:111%;padding:.4em .6em;margin:.4em -1px .4em 0}#menu li a:hover{background:#eaeef5}#menu li.active a{background-color:#FFF;background-image:none;border-right-width:0;font-weight:700}.addto a.addtocart,.searchresults a.highlight_toggle{background-image:url(../images/sprite.png);background-repeat:no-repeat}#menu li.active a:hover{background-color:#fff}#menu h4{display:none}#addto{max-width:10em}.addto a.addtocart{background-position:-5px -266px;text-decoration:none;padding-left:33px}.searchresults p{margin:0;padding:0 0 .6em}.searchresults p.details{color:#979797}.searchresults a.highlight_toggle{background-position:-11px -841px;display:none;font-weight:400;padding:0 10px 0 21px}.searchresults .commentline{background-color:#ffc;background-color:rgba(255,255,204,.4);border:1px solid #CCC;display:inline-block;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.2);-moz-box-shadow:0 1px 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 1px 0 rgba(0,0,0,.2);margin:.3em;padding:.4em}.searchresults .commentline.yours{background-color:#effed5;background-color:rgba(239,254,213,.4)}.commentline .avatar{float:right;padding-left:.5em}.term{color:#900;background-color:#FFC}.shelvingloc{display:block}#CheckAll,#CheckNone,.CheckAll,.CheckNone{font-weight:400;margin:0 .5em;text-decoration:underline}span.sep{color:#888;padding:0 .2em 0 .5em;text-shadow:1px 1px 0 #FFF}.pages a:first-child,.pages span:first-child{border-width:1px;border-bottom-left-radius:3px;border-top-left-radius:3px}.pages a:last-child,.pages span:last-child{border-width:1px 1px 1px 0;border-bottom-right-radius:3px;border-top-right-radius:3px}.pages .currentPage,.pages .inactive,.pages a{-moz-border-bottom-colors:none;-moz-border-left-colors:none;-moz-border-right-colors:none;-moz-border-top-colors:none;background-color:#FFF;border-color:#DDD;border-image:none;border-style:solid;border-width:1px 1px 1px 0;float:left;font-size:11.9px;line-height:20px;padding:4px 9pt;text-decoration:none}.close,.close:hover{font-size:inherit;opacity:inherit}.pages .inactive{background-color:#F5F5F5}.pages a[rel=last]{border-bottom-right-radius:3px;border-top-right-radius:3px}.hold-message{background-color:#FFF0B1;display:inline-block;margin:.5em;padding:.2em .5em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}#logo a,.checkedout,.intransit,.item-status,.lost,.notforloan,.notonhold,.waiting{display:block}.close{color:#08C;position:inherit;top:auto;right:auto;filter:none;float:none;font-weight:400;text-shadow:none}.closebtn,.notesrow label,.tdlabel{font-weight:700}.close:hover{color:#538200;filter:inherit}.alert .closebtn{position:relative;top:-2px;right:-21px;line-height:20px}.modal-header .closebtn{margin-top:2px}.closebtn{float:right;font-size:20px;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.closebtn:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.closebtn{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.btn-group label,.btn-group select{font-size:13px}.span2 select{width:100%}.popup .main{font-size:90%;padding:0 1em}.popup legend{line-height:1.5em;margin-bottom:.5em}.item-status{font-size:95%;margin-bottom:.5em}.available{color:#060}.notforloan{color:#900}.lost{color:#666}.suggestion{background-color:#EEEEEB;border:1px solid #DDDED3;margin:1em auto;padding:.5em;width:35%;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.librarypulldown .transl1{width:auto}.nolibrarypulldown{width:68%}.nolibrarypulldown .transl1{width:87%}#logo,#logo a{border:0;margin:0;width:75pt}#opac-main-search select{width:auto;max-width:12em}#logo{background:url(../images/koha-logo-navbar.png) 0 no-repeat;float:left!important;padding:0}#logo a{cursor:pointer;height:0!important;overflow:hidden;padding:40px 0 0;text-decoration:none}#user-menu-trigger,.tdlabel{display:none}#user-menu-trigger .icon-user{background:url(../lib/bootstrap/img/glyphicons-halflings-white.png) -168px 0 no-repeat;height:14px;line-height:14px;margin:9pt 0 0;vertical-align:text-top;width:14px}.idbresult img,.idreambookssummary img,.throbber{vertical-align:middle}#user-menu-trigger .caret{border-bottom-color:#999;border-top-color:#999;margin-top:18px}.floating{-webkit-box-shadow:0 3px 2px 0 rgba(0,0,0,.4);box-shadow:0 3px 2px 0 rgba(0,0,0,.4);margin-top:0}#ulactioncontainer{min-width:16em}.notesrow span{display:block}.tags ul,.tags ul li{display:inline}.thumbnail-shelfbrowser span{margin:0 auto}.dropdown-menu>li>a.menu-inactive:hover{background:#FFF;color:#000}.table .sorting_asc{padding-right:19px;background:url(../images/asc.gif) right center no-repeat #ecede6}.table .sorting_desc{padding-right:19px;background:url(../images/desc.gif) right center no-repeat #ecede6}.table .sorting{padding-right:19px;background:url(../images/ascdesc.gif) right center no-repeat #ecede6}.table .nosort,.table .nosort.sorting,.table .nosort.sorting_asc,.table .nosort.sorting_desc{padding-right:19px;background:#ECEDE6}.table td,.table th{line-height:135%}.tags ul{margin-left:0}.coverimages{float:right}#i18nMenu{margin-left:1em}#i18nMenu li{font-size:85%}#i18nMenu li li,#i18nMenu li li>a{font-size:100%}#i18nMenu li li>a:hover{color:#FFF}#i18nMenu li a{color:#0076b2}#i18nMenu .dropdown-menu li p{clear:both;display:block;font-weight:400;line-height:20px;padding:3px 20px}#authorSearch label,#subjectsList label{display:inline;vertical-align:middle}#authorSearch ul,#subjectsList ul{border-bottom:1px solid #EEE;list-style-type:none;margin:0;padding:.6em 0}#authorSearch li,#subjectsList li{margin:0;padding:0}#overdrive-results{font-weight:700;padding-left:1em}#overdrive-results-list .star-rating-control{display:block;overflow:auto}#shelfbrowser table{margin:0}#shelfbrowser table,#shelfbrowser td,#shelfbrowser th{border:0;font-size:90%;text-align:center}#shelfbrowser td,#shelfbrowser th{padding:3px 5px;width:20%}#shelfbrowser a{display:block;font-size:110%;font-weight:700;text-decoration:none}#shelfbrowser #browser_next,#shelfbrowser #browser_previous{background-image:url(../images/sprite.png);background-repeat:no-repeat;width:1pc}#shelfbrowser #browser_next a,#shelfbrowser #browser_previous a{cursor:pointer;display:block;height:0!important;margin:0;overflow:hidden;padding:50px 0 0;text-decoration:none;width:1pc}#shelfbrowser #browser_previous{background-position:-9px -1007px}#shelfbrowser #browser_next{background-position:-9px -1057px}#holds{margin:0 auto;max-width:50pc}.holdrow{padding:0 1em 1em;border-bottom:1px solid #CCC;margin-bottom:.5em}.holdrow fieldset{border:0;margin:0;float:none}#idreambooksreadometer,.m880{float:right}.holdrow fieldset .label{font-size:14px}.holdrow label{display:inline}.toggle-hold-options{background-color:#eee;display:block;font-weight:700;margin:1em 0;padding:.5em}a.idreambooksrating{font-size:30px;color:#29ADE4;padding-left:85px;line-height:30px;text-decoration:none}.idreambookslegend{font-size:small}a.reviewlink,a.reviewlink:visited{text-decoration:none;color:#000;font-weight:400}.idreambookssummary a{color:#707070;text-decoration:none}.idbresult{color:#29ADE4;text-align:center;margin:.5em;padding:.5em}.idbresult a,.idbresult a:visited{text-decoration:none;color:#29ADE4}.idbresult img{padding-right:6px}.js-show,.modal-nojs .modal-footer,.modal-nojs .modal-header{display:none}.contents .r,.contents .t{display:inline}.contents{width:75%}.contentblock{font-size:95%;line-height:135%;position:relative;margin-left:2em}.contents .t:first-child:before{content:"→ "}.contents .t:before{content:"\A → ";white-space:pre}.contents .t{font-weight:700}.m880{display:block;text-align:right;width:50%;padding-left:20px}#memberentry-form input.error{border-color:#c00;box-shadow:0 1px 1px #c00 inset,0 0 8px #c00;color:red;outline:0}#memberentry-form input.error:focus{border-color:#c00;box-shadow:0 1px 1px #c00 inset,0 0 8px #c00;color:red;outline:0}#memberentry-form label.error{color:#c00;float:none;font-size:90%}.btn-danger{color:#fff!important}@media only screen and (min-width:0px) and (max-width:304px){#oh:after{content:"(min-width: 0px) and (max-width: 304px)"}input,select,textarea{width:auto;max-width:11em}}@media only screen and (min-width:0px) and (max-width:390px){#oh:after{content:"(min-width: 0px) and (max-width: 390px)"}.statictabs li a,.ui-tabs .ui-tabs-nav li a{padding:.1em .5em}#views,.view{padding:0}#views{border:0;margin:0}.view a,.view span{border:1px solid #C9C9C9;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;font-size:80%;padding:.3em .4em 4px 26px}.input-fluid{width:90%}}@media only screen and (min-width:305px) and (max-width:341px){#oh:after{content:"(min-width: 305px) and (max-width: 341px)"}}@media only screen and (min-width:342px) and (max-width:479px){#oh:after{content:"(min-width: 342px) and (max-width: 479px)"}.input-fluid{width:75%}}@media (max-width:979px){.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;margin-left:0;margin-right:0}}@media only screen and (max-width:608px){#searchsubmit,.actions .label{font-weight:700}fieldset.rows label{display:block;float:none;text-align:left}fieldset.rows li{padding-bottom:.5em}.navbar-inner,body{padding:0}fieldset.rows .hint,fieldset.rows ol{margin-left:0}.tdlabel{display:inline}.navbar-fixed-top,.navbar-static-top{margin:0}#remove-selected,#selections-toolbar,.checkall,.clearall,.highlight_controls,.list-actions,.selectcol{display:none}.table td.bibliocol{padding-left:1.3em}.actions{display:block}.actions #login4tags,.actions a{background-color:#F2F2EF;border:1px solid #DDD;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;font-weight:700;display:block;font-size:120%;margin:2px 0}.actions .label{display:block}.actions #login4tags{margin-right:1em}#opac-main-search .input-append,#opac-main-search .librarypulldown .transl1,#opac-main-search button,#opac-main-search input,#opac-main-search select{display:block;width:97%;max-width:100%;margin:.5em 0;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}#opac-main-search .input-append{margin:0;width:100%}#opac-main-search .librarypulldown .transl1{width:94.5%}#toolbar .resort{font-size:14px;max-width:100%;margin:.5em 0;padding:4px 6px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.mastheadsearch{margin:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.main{margin:.5em 0;padding:15px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.breadcrumb{margin:10px 0}#moresearches{text-align:center}#topissues .item-thumbnail,#usersuggestions .item-thumbnail,#usertags .item-thumbnail,.tabs-container .item-thumbnail,.ui-tabs-panel .item-thumbnail{margin:.5em 0 0 .5em}#topissues .table-bordered,#usersuggestions .table-bordered,#usertags .table-bordered,.tabs-container .table-bordered,.ui-tabs-panel .table-bordered{border:none}#topissues .table th,#topissues .table thead,#usersuggestions .table th,#usersuggestions .table thead,#usertags .table th,#usertags .table thead,.tabs-container .table th,.tabs-container .table thead,.ui-tabs-panel .table th,.ui-tabs-panel .table thead{display:none}#topissues .table td,#usersuggestions .table td,#usertags .table td,.tabs-container .table td,.ui-tabs-panel .table td{border-right:1px solid #ddd;border-left:1px solid #ddd;border-top:0;display:block;padding:.2em}#topissues .table p,#usersuggestions .table p,#usertags .table p,.tabs-container .table p,.ui-tabs-panel .table p{margin-bottom:2px}#topissues tr,#usersuggestions tr,#usertags tr,.tabs-container tr,.ui-tabs-panel tr{display:block;margin-bottom:.6em}#topissues tr td:first-child,#usersuggestions tr td:first-child,#usertags tr td:first-child,.tabs-container tr td:first-child,.ui-tabs-panel tr td:first-child{border-top:1px solid #ddd;border-radius:5px 5px 0 0}#topissues tr td:last-child,#usersuggestions tr td:last-child,#usertags tr td:last-child,.tabs-container tr td:last-child,.ui-tabs-panel tr td:last-child{border-radius:0 0 5px 5px;border-bottom:2px solid #CACACA}.no-image{display:none}}@media only screen and (max-width:700px){#members,#opac-main-search label{display:none}#logo{background:url(../lib/bootstrap/img/glyphicons-halflings-white.png) 0 -24px no-repeat;margin:14px 14px 0;width:14px}#logo a{padding:14px 0 0;width:14px}#user-menu-trigger{display:inline;margin-right:9pt}#members{clear:both}#members li{padding-right:20px;text-align:right;border-bottom:1px solid #555}#members li:first-child{border-top:1px solid #555}#members li:last-child{border-bottom:none}#members .nav,#members .nav.pull-right,#members .nav>li{float:none}#members .divider-vertical{border:0;height:0;margin:0}}@media only screen and (min-width:480px) and (max-width:608px){#oh:after{content:" Between 480 pixels and 608 pixels. "}.input-fluid{width:75%}}@media only screen and (min-width:608px) and (max-width:767px){#oh:after{content:" Between 608 pixels and 767 pixels. "}.main{padding:.8em 20px}.breadcrumb{margin:10px 0}.navbar-static-bottom{margin-left:-20px;margin-right:-20px}.row-fluid input.span6{width:48.9362%}}@media only screen and (max-width:767px){#menu li a,a.title{font-size:120%}#userresults{margin:0 -20px}#top-pages,.breadcrumb,.menu-collapse{display:none}#menu,#search-facets{margin-bottom:.5em}#menu h4,#search-facets h4{display:block;margin:0;padding:0}#menu h4 a,#search-facets h4 a{-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px;border-bottom:0;font-weight:400;padding:.7em .2em}#menu ul,#search-facets ul{padding:0}#menu li a{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;border:0;display:block;text-decoration:none;border-bottom:1px solid #D8D8D8;margin:0}#menu li.active a{border-top:1px solid #D8D8D8;border-right-width:1px}#menu li:last-child a{-webkit-border-radius:0 0 7px 7px;-moz-border-radius:0 0 7px 7px;border-radius:0 0 7px 7px}#search-facets li{padding:.4em}#search-facets h5{margin:.2em}#menu h4 a.menu-open,#search-facets h4 a.menu-open{-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0;border-bottom:1px solid #D8D8D8}}@media only screen and (max-width:800px){.cartlabel,.listslabel{display:none}.navbar .divider-vertical{margin:0 2px}.navbar #members .divider-vertical{margin:0 9px}}@media only screen and (min-width:768px){.main{margin-left:20px;margin-right:20px}#menu{border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;border-right:1px solid #D8D8D8}#menu h4{display:none}#menu ul{padding:1em 0}}@media only screen and (min-width:768px) and (max-width:984px){#oh:after{content:" Between 768 and 984 pixels. "}.librarypulldown .transl1{width:38%}}@media only screen and (min-width:984px){#oh:after{content:" Above 984 pixels. "}.librarypulldown .transl1{width:53%}}@media only screen and (max-width:1040px){.pg_menu li a{float:none;text-align:left}.pg_menu li.back_results a{border:1px solid #D0D0D0;border-width:1px 0}#ulactioncontainer{min-width:0}}
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-detail-sidebar.inc (+10 lines)
Lines 1-3 Link Here
1
[% USE Biblio %]
1
<ul id="action">
2
<ul id="action">
2
    [% UNLESS ( norequests ) %]
3
    [% UNLESS ( norequests ) %]
3
        [% IF Koha.Preference( 'opacuserlogin' ) == 1 %]
4
        [% IF Koha.Preference( 'opacuserlogin' ) == 1 %]
Lines 8-13 Link Here
8
            [% END %]
9
            [% END %]
9
        [% END %]
10
        [% END %]
10
    [% END %]
11
    [% END %]
12
13
    [% IF Koha.Preference( 'opacuserlogin' ) == 1 %]
14
        [% IF Koha.Preference('ArticleRequests') %]
15
            [% IF Biblio.CanArticleRequest( biblionumber, borrowernumber ) %]
16
                <li><a class="article_request" href="/cgi-bin/koha/opac-request-article.pl?biblionumber=[% biblionumber %]">Request article</a></li>
17
            [% END %]
18
        [% END %]
19
    [% END %]
20
11
    <li><a class="print-large" href="#" onclick="window.print();">Print</a></li>
21
    <li><a class="print-large" href="#" onclick="window.print();">Print</a></li>
12
    [% IF Koha.Preference( 'virtualshelves' ) == 1 %]
22
    [% IF Koha.Preference( 'virtualshelves' ) == 1 %]
13
        [% IF ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) && loggedinusername ) %]
23
        [% IF ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) && loggedinusername ) %]
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-request-article.tt (+213 lines)
Line 0 Link Here
1
[% USE Koha %]
2
[% USE Branches %]
3
[% INCLUDE 'doc-head-open.inc' %]
4
<title>[% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] catalog &rsaquo; Request article</title>
5
[% INCLUDE 'doc-head-close.inc' %]
6
[% BLOCK cssinclude %][% END %]
7
</head>
8
9
[% INCLUDE 'bodytag.inc' bodyid='opac-holds' %]
10
[% INCLUDE 'masthead.inc' %]
11
12
<div class="main">
13
    <ul class="breadcrumb">
14
        <li><a href="/cgi-bin/koha/opac-main.pl">Home</a> <span class="divider">&rsaquo;</span></li>
15
        <li><a href="#">Request article</a></li>
16
    </ul>
17
18
    <div class="container">
19
        [% IF biblio.can_article_request( patron ) %]
20
            [% SET article_request_type = biblio.article_request_type( patron ) %]
21
22
            [% IF article_request_type == 'yes' %]       [% SET mandatory_fields = Koha.Preference('ArticleRequestsMandatoryFields') %]           [% END %]
23
            [% IF article_request_type == 'bib_only' %]  [% SET mandatory_fields = Koha.Preference('ArticleRequestsMandatoryFieldsRecordOnly') %] [% END %]
24
            [% IF article_request_type == 'item_only' %] [% SET mandatory_fields = Koha.Preference('ArticleRequestsMandatoryFieldsItemOnly') %]   [% END %]
25
26
            <h3>Place article request for [% biblio.title %]</h3>
27
28
            <form id="place-article-request" method="post" action="/cgi-bin/koha/opac-request-article-do.pl">
29
                <input type="hidden" name="biblionumber" id="biblionumber" value="[% biblio.biblionumber %]" />
30
31
                <fieldset class="rows">
32
                    <ul>
33
                        <li>
34
                            [% IF mandatory_fields.search('title') %]
35
                                <label for="title" class="required">Title:</label>
36
                            [% ELSE %]
37
                                <label for="title">Title:</label>
38
                            [% END %]
39
                            <input type="text" name="title" id="title" size="50"/>
40
                        </li>
41
42
                        <li>
43
                            [% IF mandatory_fields.search('author') %]
44
                                <label for="author" class="required">Author:</label>
45
                            [% ELSE %]
46
                                <label for="author">Author:</label>
47
                            [% END %]
48
                            <input type="text" name="author" id="author" size="50"/>
49
                        </li>
50
51
                        <li>
52
                            [% IF mandatory_fields.search('volume') %]
53
                                <label for="volume" class="required">Volume:</label>
54
                            [% ELSE %]
55
                                <label for="volume">Volume:</label>
56
                            [% END %]
57
                            <input type="text" name="volume" id="volume" size="50"/>
58
                        </li>
59
60
                        <li>
61
                            [% IF mandatory_fields.search('issue') %]
62
                                <label for="issue" class="required">Issue:</label>
63
                            [% ELSE %]
64
                                <label for="issue">Issue:</label>
65
                            [% END %]
66
                            <input type="text" name="issue" id="issue" size="50"/>
67
                        </li>
68
69
                        <li>
70
                            [% IF mandatory_fields.search('date') %]
71
                                <label for="date" class="required">Date:</label>
72
                            [% ELSE %]
73
                                <label for="date">Date:</label>
74
                            [% END %]
75
                            <input type="text" name="date" id="date" size="50"/>
76
                        </li>
77
78
                        <li>
79
                            [% IF mandatory_fields.search('pages') %]
80
                                <label for="pages" class="required">Pages:</label>
81
                            [% ELSE %]
82
                                <label for="pages">Pages:</label>
83
                            [% END %]
84
                            <input type="text" name="pages" id="pages" size="50"/>
85
                        </li>
86
87
                        <li>
88
                            [% IF mandatory_fields.search('chapters') %]
89
                                <label for="chapters" class="required">Chapters:</label>
90
                            [% ELSE %]
91
                                <label for="chapters">Chapters:</label>
92
                            [% END %]
93
                            <input type="text" name="chapters" id="chapters" size="50"/>
94
                        </li>
95
96
                        <li>
97
                            <label for="branchcode">Pickup library:</label>
98
                            <select name="branchcode" id="branchcode">
99
                                [% FOREACH b IN Branches.all %]
100
                                    [% IF b.branchcode == Branches.GetLoggedInBranchcode %]
101
                                        <option value="[% b.branchcode %]" selected="selected">[% b.branchname %]</option>
102
                                    [% ELSE %]
103
                                        <option value="[% b.branchcode %]">[% b.branchname %]</option>
104
                                    [% END %]
105
                                [% END %]
106
                            </select>
107
                        </li>
108
                    </ul>
109
                </fieldset>
110
111
                [% IF article_request_type != 'bib_only' %]
112
                    <table class="copiesrow table table-bordered table-striped">
113
                        <caption>Select a specific item:</caption>
114
                        <thead>
115
                            <tr>
116
                                <th>&nbsp;</th>
117
                                <th>Item type</th>
118
                                <th>Barcode</th>
119
                                <th>Home library</th>
120
                                <th>Call number</th>
121
                            </tr>
122
                        </thead>
123
124
                        <tbody>
125
                            [% FOREACH item IN biblio.items %]
126
                                [% IF item.can_article_request( patron ) %]
127
                                    <tr>
128
                                        <td>
129
                                            [% IF article_request_type == 'item_only' && !checked %]
130
                                                [% SET checked = 1 %]
131
                                                <input type="radio" name="itemnumber" value="[% item.itemnumber %]" checked="checked" />
132
                                            [% ELSE %]
133
                                                <input type="radio" name="itemnumber" value="[% item.itemnumber %]" />
134
                                            [% END %]
135
                                        </td>
136
                                        <td>
137
                                            [% item.itype %]
138
                                        </td>
139
                                        <td>
140
                                            [% item.barcode %]
141
                                        </td>
142
                                        <td>
143
                                            [% item.homebranch %]
144
                                        </td>
145
                                        <td>
146
                                            [% item.itemcallnumber %]
147
                                        </td>
148
                                    </tr>
149
                                [% END %]
150
                            [% END %]
151
152
                            [% IF article_request_type != 'item_only' %]
153
                                <tr>
154
                                    <td>
155
                                        <input type="radio" name="itemnumber" value="" checked="checked"/>
156
                                    </td>
157
                                    <td colspan="4">
158
                                        Any item
159
                                    </td>
160
                                </tr>
161
                            [% END %]
162
                        </tbody>
163
                    </table>
164
                [% END %]
165
166
                <input type="submit" class="btn" value="Place request" />
167
            </form>
168
        [% ELSE %]
169
            No article requests can be made for this record.
170
        [% END %]
171
172
    </div> <!-- / .container -->
173
</div> <!-- / .main -->
174
175
[% INCLUDE 'opac-bottom.inc' %]
176
177
[% BLOCK jsinclude %]
178
<script type="text/javascript">
179
// <![CDATA[
180
    allow_submit = false;
181
    $('#place-article-request').on('submit', function( event ){
182
        if ( ! allow_submit ) {
183
            event.preventDefault();
184
185
            [% IF article_request_type == 'item_only' %]
186
                if ( ! $("input:radio[name='itemnumber']").is(":checked") ) {
187
                    alert( _("Please select a specific item for this article request.") );
188
                    return 0;
189
                }
190
            [% END %]
191
192
            var mandatory_fields = "[% mandatory_fields %]";
193
            var m = mandatory_fields.split(",");
194
            var f = new Array();
195
196
            for (i = 0; i < m.length; i++) {
197
                if ( ! $("#" + m[i]).val() ) {
198
                    f.push( m[i] );
199
                }
200
            }
201
202
            if ( f.length ) {
203
                alert( _("The following fields are required and not filled in: ") + f.join(", ") );
204
                return 0;
205
            }
206
207
            allow_submit = true;
208
            $('#place-article-request').submit();
209
        }
210
    });
211
// ]]>
212
</script>
213
[% END %]
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results.tt (+6 lines)
Lines 511-516 Link Here
511
                                                            [% END # UNLESS SEARCH_RESULT.norequests %]
511
                                                            [% END # UNLESS SEARCH_RESULT.norequests %]
512
                                                        [% END # IF RequestOnOpac %]
512
                                                        [% END # IF RequestOnOpac %]
513
513
514
                                                        [% IF ( Koha.Preference( 'opacuserlogin' ) == 1 ) %]
515
                                                            [% IF Koha.Preference('ArticleRequests') %]
516
                                                                <span class="actions"><a class="article_request" href="/cgi-bin/koha/opac-request-article.pl?biblionumber=[% SEARCH_RESULT.biblionumber %]">Request article</a></span>
517
                                                            [% END %]
518
                                                        [% END %]
519
514
                                                        [% IF ( TagsInputEnabled ) %]
520
                                                        [% IF ( TagsInputEnabled ) %]
515
                                                            [% IF ( loggedinusername ) %]
521
                                                            [% IF ( loggedinusername ) %]
516
                                                                <span class="actions"><a class="tag_add" id="tag_add[% SEARCH_RESULT.biblionumber %]" href="#">Add tag</a></span>
522
                                                                <span class="actions"><a class="tag_add" id="tag_add[% SEARCH_RESULT.biblionumber %]" href="#">Add tag</a></span>
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt (+95 lines)
Lines 119-124 Link Here
119
                            [% END %]
119
                            [% END %]
120
                            [% IF ( waiting_count ) %][% IF ( BORROWER_INF.atdestination ) %]<li><a href="#opac-user-waiting">Waiting ([% waiting_count %])</a></li>[% END %][% END %]
120
                            [% IF ( waiting_count ) %][% IF ( BORROWER_INF.atdestination ) %]<li><a href="#opac-user-waiting">Waiting ([% waiting_count %])</a></li>[% END %][% END %]
121
                            [% IF ( reserves_count ) %]<li><a href="#opac-user-holds">Holds ([% reserves_count %])</a></li>[% END %]
121
                            [% IF ( reserves_count ) %]<li><a href="#opac-user-holds">Holds ([% reserves_count %])</a></li>[% END %]
122
                            [% IF Koha.Preference('ArticleRequests') && borrower.article_requests_current %]<li><a href="#opac-user-article-requests">Article requests ([% borrower.article_requests_current.count %])</a></li>[% END %]
122
                        </ul>
123
                        </ul>
123
124
124
                        <div id="opac-user-checkouts">
125
                        <div id="opac-user-checkouts">
Lines 680-685 Link Here
680
                            [% END %]
681
                            [% END %]
681
                        </div> <!-- / #opac-user-holds -->
682
                        </div> <!-- / #opac-user-holds -->
682
                        [% END # / #reserves_count %]
683
                        [% END # / #reserves_count %]
684
685
                        [% IF Koha.Preference('ArticleRequests') && borrower.article_requests_current.count %]
686
                            <div id="opac-user-article-requests">
687
                                <table id="article-requests-table" class="table table-bordered table-striped">
688
                                    <caption>Article requests <span class="count">([% borrower.article_requests_current.count %] total)</span></caption>
689
                                    <!-- RESERVES TABLE ROWS -->
690
                                    <thead>
691
                                        <tr>
692
                                            <th class="anti-the">Record title</th>
693
                                            <th class="psort">Placed on</th>
694
                                            <th class="anti-the">Title</th>
695
                                            <th>Author</th>
696
                                            <th>Volume</th>
697
                                            <th>Issue</th>
698
                                            <th>Date</th>
699
                                            <th>Pages</th>
700
                                            <th>Chapters</th>
701
                                            <th>Status</th>
702
                                            <th>Pickup library</th>
703
                                            <th class="nosort">&nbsp;</th>
704
                                        </tr>
705
                                    </thead>
706
707
                                    <tbody>
708
                                    [% FOREACH ar IN borrower.article_requests_current %]
709
                                            <td class="article-request-title">
710
                                                <a class="article-request-title" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% ar.biblionumber %]">
711
                                                    [% ar.biblio.title %]
712
                                                    [% ar.item.enumchron %]
713
                                                </a>
714
                                                [% ar.biblio.author %]
715
                                                [% IF ar.itemnumber %] <i>(only [% ar.item.barcode %])</i>[% END %]
716
                                            </td>
717
718
                                            <td class="article-request-created_on">
719
                                                [% ar.created_on | $KohaDates %]
720
                                            </td>
721
722
                                            <td class="article-request-title">
723
                                                [% ar.title %]
724
                                            </td>
725
726
                                            <td class="article-request-author">
727
                                                [% ar.author %]
728
                                            </td>
729
730
                                            <td class="article-request-volume">
731
                                                [% ar.volume %]
732
                                            </td>
733
734
                                            <td class="article-request-issue">
735
                                                [% ar.issue %]
736
                                            </td>
737
738
                                            <td class="article-request-date">
739
                                                [% ar.date %]
740
                                            </td>
741
742
                                            <td class="article-request-pages">
743
                                                [% ar.pages %]
744
                                            </td>
745
746
                                            <td class="article-request-chapters">
747
                                                [% ar.chapters %]
748
                                            </td>
749
750
                                            <td class="article-request-status">
751
                                                [% IF ar.status == 'OPEN' %]
752
                                                    Open
753
                                                [% ELSIF ar.status == 'PROCESSING' %]
754
                                                    Processing
755
                                                [% ELSIF ar.status == 'COMPLETED' %]
756
                                                    Completed
757
                                                [% ELSIF ar.status == 'CANCELED' %]
758
                                                    Canceled
759
                                                [% END %]
760
                                            </td>
761
762
                                            <td class="article-request-branchcode">
763
                                                [% ar.branch.branchname %]
764
                                            </td>
765
766
                                            <td class="article-request-cancel">
767
                                                <span class="tdlabel">Cancel:</span>
768
                                                <a class="btn btn-mini btn-danger" href="opac-article-request-cancel.pl?id=[% ar.id %]" onclick="return confirmDelete(MSG_CONFIRM_DELETE_HOLD);"><i class="icon-remove icon-white"></i> Cancel</a>
769
                                                <!-- TODO: replace MSG_CONFIRM_DELETE_HOLD with correct message -->
770
                                            </td>
771
                                        </tr>
772
                                    [% END %]
773
                                </tbody>
774
                            </table>
775
                        </div> <!-- / #opac-user-article-requests -->
776
                    [% END %]
777
683
                    </div> <!-- /#opac-user-views -->
778
                    </div> <!-- /#opac-user-views -->
684
                </div> <!-- /#userdetails -->
779
                </div> <!-- /#userdetails -->
685
            </div> <!-- /.span10 -->
780
            </div> <!-- /.span10 -->
(-)a/koha-tmpl/opac-tmpl/bootstrap/less/opac.less (+18 lines)
Lines 266-271 td { Link Here
266
            padding-left : 21px;
266
            padding-left : 21px;
267
            text-decoration : none;
267
            text-decoration : none;
268
        }
268
        }
269
        &.article_request {
270
            background-image : url("../images/sprite.png"); /* Place hold small */
271
            background-position : -2px -26px;
272
            background-repeat: no-repeat;
273
            margin-right : 1em;
274
            padding-left : 21px;
275
            text-decoration : none;
276
        }
269
        &.addtocart {
277
        &.addtocart {
270
            background-image : url("../images/sprite.png"); /* Cart small */
278
            background-image : url("../images/sprite.png"); /* Cart small */
271
            background-position : -5px -572px;
279
            background-position : -5px -572px;
Lines 1345-1350 a.print-large, Link Here
1345
a.removeitems,
1353
a.removeitems,
1346
a.removeitems.disabled,
1354
a.removeitems.disabled,
1347
a.reserve,
1355
a.reserve,
1356
a.article_request,
1348
a.send,
1357
a.send,
1349
a.tag_add,
1358
a.tag_add,
1350
a.removefromlist,
1359
a.removefromlist,
Lines 1473-1478 a.reserve { Link Here
1473
    padding-left : 35px;
1482
    padding-left : 35px;
1474
}
1483
}
1475
1484
1485
a.article_request {
1486
    background-position: 0px -24px; /* Place article request */
1487
    padding-left : 35px;
1488
}
1489
1476
a.send {
1490
a.send {
1477
    background-position : 2px -386px; /* Email */
1491
    background-position : 2px -386px; /* Email */
1478
    text-decoration : none;
1492
    text-decoration : none;
Lines 2490-2493 a.reviewlink:visited { Link Here
2490
    font-size: 90%;
2504
    font-size: 90%;
2491
}
2505
}
2492
2506
2507
.btn-danger {
2508
    color: white !important;
2509
}
2510
2493
@import "responsive.less";
2511
@import "responsive.less";
(-)a/mainpage.pl (+3 lines)
Lines 30-35 use C4::Suggestions qw/CountSuggestion/; Link Here
30
use C4::Tags qw/get_count_by_tag_status/;
30
use C4::Tags qw/get_count_by_tag_status/;
31
use Koha::Borrower::Modifications;
31
use Koha::Borrower::Modifications;
32
use Koha::Borrower::Discharge;
32
use Koha::Borrower::Discharge;
33
use Koha::ArticleRequests;
33
34
34
my $query = new CGI;
35
my $query = new CGI;
35
36
Lines 67-72 my $pendingsuggestions = CountSuggestion("ASKED"); Link Here
67
my $pending_borrower_modifications =
68
my $pending_borrower_modifications =
68
  Koha::Borrower::Modifications->GetPendingModificationsCount( $branch );
69
  Koha::Borrower::Modifications->GetPendingModificationsCount( $branch );
69
my $pending_discharge_requests = Koha::Borrower::Discharge::count({ pending => 1 });
70
my $pending_discharge_requests = Koha::Borrower::Discharge::count({ pending => 1 });
71
my $pending_article_requests = Koha::ArticleRequests->count();
70
72
71
$template->param(
73
$template->param(
72
    pendingcomments                => $pendingcomments,
74
    pendingcomments                => $pendingcomments,
Lines 74-79 $template->param( Link Here
74
    pendingsuggestions             => $pendingsuggestions,
76
    pendingsuggestions             => $pendingsuggestions,
75
    pending_borrower_modifications => $pending_borrower_modifications,
77
    pending_borrower_modifications => $pending_borrower_modifications,
76
    pending_discharge_requests     => $pending_discharge_requests,
78
    pending_discharge_requests     => $pending_discharge_requests,
79
    pending_article_requests       => $pending_article_requests,
77
);
80
);
78
81
79
#
82
#
(-)a/opac/opac-article-request-cancel.pl (+47 lines)
Line 0 Link Here
1
#!/usr/bin/perl
2
3
# Copyright 2015
4
#
5
# This file is part of Koha.
6
#
7
# Koha is free software; you can redistribute it and/or modify it
8
# under the terms of the GNU General Public License as published by
9
# the Free Software Foundation; either version 3 of the License, or
10
# (at your option) any later version.
11
#
12
# Koha is distributed in the hope that it will be useful, but
13
# WITHOUT ANY WARRANTY; without even the implied warranty of
14
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
# GNU General Public License for more details.
16
#
17
# You should have received a copy of the GNU General Public License
18
# along with Koha; if not, see <http://www.gnu.org/licenses>.
19
20
use Modern::Perl;
21
22
use CGI qw ( -utf8 );
23
24
use C4::Output;
25
use C4::Auth;
26
use Koha::ArticleRequests;
27
28
my $query = new CGI;
29
30
my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
31
    {
32
        template_name   => "opac-account.tt",
33
        query           => $query,
34
        type            => "opac",
35
        authnotrequired => 0,
36
        debug           => 1,
37
    }
38
);
39
40
my $id = $query->param('id');
41
42
if ( $id && $borrowernumber ) {
43
    my $ar = Koha::ArticleRequests->find( $id );
44
    $ar->cancel() if $ar;
45
}
46
47
print $query->redirect("/cgi-bin/koha/opac-user.pl#opac-user-article-requests");
(-)a/opac/opac-request-article-do.pl (+69 lines)
Line 0 Link Here
1
#!/usr/bin/perl
2
3
# Copyright ByWater Solutions 2015
4
#
5
# This file is part of Koha.
6
#
7
# Koha is free software; you can redistribute it and/or modify it
8
# under the terms of the GNU General Public License as published by
9
# the Free Software Foundation; either version 3 of the License, or
10
# (at your option) any later version.
11
#
12
# Koha is distributed in the hope that it will be useful, but
13
# WITHOUT ANY WARRANTY; without even the implied warranty of
14
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
# GNU General Public License for more details.
16
#
17
# You should have received a copy of the GNU General Public License
18
# along with Koha; if not, see <http://www.gnu.org/licenses>.
19
20
use Modern::Perl;
21
22
use CGI qw ( -utf8 );
23
24
use C4::Auth;
25
use C4::Output;
26
27
use Koha::ArticleRequest;
28
29
my $cgi = new CGI;
30
31
my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
32
    {
33
        template_name   => "opac-request-article.tt",
34
        query           => $cgi,
35
        type            => "opac",
36
        authnotrequired => 0,
37
        debug           => 1,
38
    }
39
);
40
41
my $biblionumber = $cgi->param('biblionumber');
42
my $branchcode   = $cgi->param('branchcode');
43
44
my $itemnumber = $cgi->param('itemnumber') || undef;
45
my $title      = $cgi->param('title')      || undef;
46
my $author     = $cgi->param('author')     || undef;
47
my $volume     = $cgi->param('volume')     || undef;
48
my $issue      = $cgi->param('issue')      || undef;
49
my $date       = $cgi->param('date')       || undef;
50
my $pages      = $cgi->param('pages')      || undef;
51
my $chapters   = $cgi->param('chapters')   || undef;
52
53
my $ar = Koha::ArticleRequest->new(
54
    {
55
        borrowernumber => $borrowernumber,
56
        biblionumber   => $biblionumber,
57
        branchcode     => $branchcode,
58
        itemnumber     => $itemnumber,
59
        title          => $title,
60
        author         => $author,
61
        volume         => $volume,
62
        issue          => $issue,
63
        date           => $date,
64
        pages          => $pages,
65
        chapters       => $chapters,
66
    }
67
)->store();
68
69
print $cgi->redirect("/cgi-bin/koha/opac-user.pl#opac-user-article-requests");
(-)a/opac/opac-request-article.pl (+53 lines)
Line 0 Link Here
1
#!/usr/bin/perl
2
3
# Copyright ByWater Solutions 2015
4
#
5
# This file is part of Koha.
6
#
7
# Koha is free software; you can redistribute it and/or modify it
8
# under the terms of the GNU General Public License as published by
9
# the Free Software Foundation; either version 3 of the License, or
10
# (at your option) any later version.
11
#
12
# Koha is distributed in the hope that it will be useful, but
13
# WITHOUT ANY WARRANTY; without even the implied warranty of
14
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
# GNU General Public License for more details.
16
#
17
# You should have received a copy of the GNU General Public License
18
# along with Koha; if not, see <http://www.gnu.org/licenses>.
19
20
use Modern::Perl;
21
22
use CGI qw ( -utf8 );
23
24
use C4::Auth;
25
use C4::Output;
26
27
use Koha::Biblios;
28
use Koha::Borrowers;
29
30
my $cgi = new CGI;
31
32
my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
33
    {
34
        template_name   => "opac-request-article.tt",
35
        query           => $cgi,
36
        type            => "opac",
37
        authnotrequired => 0,
38
        debug           => 1,
39
    }
40
);
41
42
my $biblionumber = $cgi->param('biblionumber');
43
44
my $biblio = Koha::Biblios->find($biblionumber);
45
my $patron = Koha::Borrowers->find($borrowernumber);
46
47
$template->param(
48
    biblio => $biblio,
49
    patron => $patron,
50
);
51
52
output_html_with_http_headers $cgi, $cookie, $template->output;
53
(-)a/opac/opac-user.pl (+2 lines)
Lines 36-41 use C4::Letters; Link Here
36
use C4::Branch; # GetBranches
36
use C4::Branch; # GetBranches
37
use Koha::DateUtils;
37
use Koha::DateUtils;
38
use Koha::Borrower::Debarments qw(IsDebarred);
38
use Koha::Borrower::Debarments qw(IsDebarred);
39
use Koha::Borrowers;
39
40
40
use constant ATTRIBUTE_SHOW_BARCODE => 'SHOW_BCODE';
41
use constant ATTRIBUTE_SHOW_BARCODE => 'SHOW_BCODE';
41
42
Lines 388-393 if ( $borr->{'opacnote'} ) { Link Here
388
}
389
}
389
390
390
$template->param(
391
$template->param(
392
    borrower                 => Koha::Borrowers->find($borrowernumber),
391
    bor_messages_loop        => GetMessages( $borrowernumber, 'B', 'NONE' ),
393
    bor_messages_loop        => GetMessages( $borrowernumber, 'B', 'NONE' ),
392
    waiting_count            => $wcount,
394
    waiting_count            => $wcount,
393
    patronupdate             => $patronupdate,
395
    patronupdate             => $patronupdate,
(-)a/svc/article_request (-1 / +63 lines)
Line 0 Link Here
0
- 
1
#!/usr/bin/perl
2
3
# Copyright 2015 ByWater Solutions
4
#
5
# This file is part of Koha.
6
#
7
# Koha is free software; you can redistribute it and/or modify it under the
8
# terms of the GNU General Public License as published by the Free Software
9
# Foundation; either version 2 of the License, or (at your option) any later
10
# version.
11
#
12
# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
13
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
14
# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
15
#
16
# You should have received a copy of the GNU General Public License along
17
# with Koha; if not, write to the Free Software Foundation, Inc.,
18
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19
#
20
21
use Modern::Perl;
22
23
use CGI;
24
use JSON qw(to_json);
25
26
use C4::Auth qw(check_cookie_auth);
27
use Koha::ArticleRequests;
28
29
my $cgi = new CGI;
30
31
my ( $auth_status, $sessionID ) =
32
  check_cookie_auth( $cgi->cookie('CGISESSID'), { circulate => 'circulate_remaining_permissions' } );
33
if ( $auth_status ne "ok" ) {
34
    exit 0;
35
}
36
37
binmode STDOUT, ':encoding(UTF-8)';
38
print $cgi->header( -type => 'text/plain', -charset => 'UTF-8' );
39
40
my $id = $cgi->param('id');
41
my $action = $cgi->param('action') || q{};
42
my $notes = $cgi->param('notes');
43
44
my $ar = Koha::ArticleRequests->find($id);
45
46
if ($ar) {
47
    if ( $action eq 'cancel' ) {
48
        $ar = $ar->cancel( $notes );
49
    }
50
    elsif ( $action eq 'process' ) {
51
        $ar = $ar->process();
52
    }
53
    elsif ( $action eq 'complete' ) {
54
        $ar = $ar->complete();
55
    }
56
    elsif ( $action eq 'update_branchcode' ) {
57
        my $branchcode = $cgi->param('branchcode');
58
        $ar->branchcode( $branchcode ) if $branchcode;
59
        $ar = $ar->store();
60
    }
61
}
62
63
print to_json( { success => $ar ? 1 : 0 } );

Return to bug 14610