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

(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/koha-news.tt (-1 / +1 lines)
Lines 457-463 Link Here
457
    [% END %]
457
    [% END %]
458
    [% FOREACH lang_lis IN lang_list %]
458
    [% FOREACH lang_lis IN lang_list %]
459
        <optgroup label="[% lang_lis.language | html %]">
459
        <optgroup label="[% lang_lis.language | html %]">
460
            [% FOREACH location IN [ '', 'OpacNavRight', 'opacheader', 'OpacCustomSearch', 'OpacMainUserBlock', 'opaccredits', 'OpacLoginInstructions', 'OpacSuggestionInstructions'] %]
460
            [% FOREACH location IN [ '', 'OpacNavRight', 'opacheader', 'OpacCustomSearch', 'OpacMainUserBlock', 'opaccredits', 'OpacLoginInstructions', 'OpacSuggestionInstructions', 'ArticleRequestsDisclaimerText'] %]
461
                [% IF ( location == '' ) %]
461
                [% IF ( location == '' ) %]
462
                    [% SET location_lang = lang_lis.language %]
462
                    [% SET location_lang = lang_lis.language %]
463
                    [% location = BLOCK %]OPAC news[% END %]
463
                    [% location = BLOCK %]OPAC news[% END %]
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-request-article.tt (-153 / +167 lines)
Lines 1-4 Link Here
1
[% USE Koha %]
1
[% USE Koha %]
2
[% USE raw %]
2
[% USE Branches %]
3
[% USE Branches %]
3
[% USE ItemTypes %]
4
[% USE ItemTypes %]
4
[% INCLUDE 'doc-head-open.inc' %]
5
[% INCLUDE 'doc-head-open.inc' %]
Lines 30-200 Link Here
30
        <div class="row">
31
        <div class="row">
31
            <div class="col">
32
            <div class="col">
32
                [% IF biblio.can_article_request( patron ) %]
33
                [% IF biblio.can_article_request( patron ) %]
33
                    [% SET article_request_type = biblio.article_request_type( patron ) %]
34
                    <h1>Place article request for [% biblio.title | html %]</h1>
35
                    [% IF disclaimer %]
36
                        <div class="alert alert-warning">
37
                            [% FOREACH disc IN disclaimer %]
38
                            <h3>[% disc.title | html %]</h3>
39
                            <p>
40
                                [% disc.content | $raw %]
41
                            </p>
42
                            [% END %]
43
                            <a href="/cgi-bin/koha/opac-request-article.pl?biblionumber=[% biblio.biblionumber | uri %]&amp;action=accept"
44
                            class="btn btn-sm btn-primary"><i class="fa fa-check" aria-hidden="true"></i> Accept</a>
45
                        </div>
46
                    [% ELSE %]
47
                        [% SET article_request_type = biblio.article_request_type( patron ) %]
34
48
35
                    [% IF article_request_type == 'yes' %]       [% SET mandatory_fields = Koha.Preference('ArticleRequestsMandatoryFields') %]           [% END %]
49
                        [% IF article_request_type == 'yes' %]       [% SET mandatory_fields = Koha.Preference('ArticleRequestsMandatoryFields') %]           [% END %]
36
                    [% IF article_request_type == 'bib_only' %]  [% SET mandatory_fields = Koha.Preference('ArticleRequestsMandatoryFieldsRecordOnly') %] [% END %]
50
                        [% IF article_request_type == 'bib_only' %]  [% SET mandatory_fields = Koha.Preference('ArticleRequestsMandatoryFieldsRecordOnly') %] [% END %]
37
                    [% IF article_request_type == 'item_only' %] [% SET mandatory_fields = Koha.Preference('ArticleRequestsMandatoryFieldsItemOnly') %]   [% END %]
51
                        [% IF article_request_type == 'item_only' %] [% SET mandatory_fields = Koha.Preference('ArticleRequestsMandatoryFieldsItemOnly') %]   [% END %]
38
52
39
                    <h1>Place article request for [% biblio.title | html %]</h1>
40
53
41
                    <form id="place-article-request" method="post" action="/cgi-bin/koha/opac-request-article.pl">
54
                        <form id="place-article-request" method="post" action="/cgi-bin/koha/opac-request-article.pl">
42
                        <input type="hidden" name="action" value="create" />
55
                            <input type="hidden" name="action" value="create" />
43
                        <input type="hidden" name="biblionumber" id="biblionumber" value="[% biblio.biblionumber | html %]" />
56
                            <input type="hidden" name="biblionumber" id="biblionumber" value="[% biblio.biblionumber | html %]" />
44
57
45
                        <fieldset class="rows">
58
                            <fieldset class="rows">
46
                            <ul>
59
                                <ul>
47
                                <li>
60
                                    <li>
48
                                    [% IF mandatory_fields.search('title') %]
61
                                        [% IF mandatory_fields.search('title') %]
49
                                        <label for="title" class="required">Title:</label>
62
                                            <label for="title" class="required">Title:</label>
50
                                        <input type="text" required="required" name="title" id="title" size="50"/>
63
                                            <input type="text" required="required" name="title" id="title" size="50"/>
51
                                    [% ELSE %]
64
                                        [% ELSE %]
52
                                        <label for="title">Title:</label>
65
                                            <label for="title">Title:</label>
53
                                        <input type="text" name="title" id="title" size="50"/>
66
                                            <input type="text" name="title" id="title" size="50"/>
54
                                    [% END %]
67
                                        [% END %]
55
                                </li>
68
                                    </li>
56
69
57
                                <li>
70
                                    <li>
58
                                    [% IF mandatory_fields.search('author') %]
71
                                        [% IF mandatory_fields.search('author') %]
59
                                        <label for="author" class="required">Author:</label>
72
                                            <label for="author" class="required">Author:</label>
60
                                        <input type="text" required="required" name="author" id="author" size="50"/>
73
                                            <input type="text" required="required" name="author" id="author" size="50"/>
61
                                    [% ELSE %]
74
                                        [% ELSE %]
62
                                        <label for="author">Author:</label>
75
                                            <label for="author">Author:</label>
63
                                        <input type="text" name="author" id="author" size="50"/>
76
                                            <input type="text" name="author" id="author" size="50"/>
64
                                    [% END %]
77
                                        [% END %]
65
                                </li>
78
                                    </li>
66
79
67
                                <li>
80
                                    <li>
68
                                    [% IF mandatory_fields.search('volume') %]
81
                                        [% IF mandatory_fields.search('volume') %]
69
                                        <label for="volume" class="required">Volume:</label>
82
                                            <label for="volume" class="required">Volume:</label>
70
                                        <input type="text" required="required" name="volume" id="volume" size="50"/>
83
                                            <input type="text" required="required" name="volume" id="volume" size="50"/>
71
                                    [% ELSE %]
84
                                        [% ELSE %]
72
                                        <label for="volume">Volume:</label>
85
                                            <label for="volume">Volume:</label>
73
                                        <input type="text" name="volume" id="volume" size="50"/>
86
                                            <input type="text" name="volume" id="volume" size="50"/>
74
                                    [% END %]
87
                                        [% END %]
75
                                </li>
88
                                    </li>
76
89
77
                                <li>
90
                                    <li>
78
                                    [% IF mandatory_fields.search('issue') %]
91
                                        [% IF mandatory_fields.search('issue') %]
79
                                        <label for="issue" class="required">Issue:</label>
92
                                            <label for="issue" class="required">Issue:</label>
80
                                        <input type="text" required="required" name="issue" id="issue" size="50"/>
93
                                            <input type="text" required="required" name="issue" id="issue" size="50"/>
81
                                    [% ELSE %]
94
                                        [% ELSE %]
82
                                        <label for="issue">Issue:</label>
95
                                            <label for="issue">Issue:</label>
83
                                        <input type="text" name="issue" id="issue" size="50"/>
96
                                            <input type="text" name="issue" id="issue" size="50"/>
84
                                    [% END %]
97
                                        [% END %]
85
                                </li>
98
                                    </li>
86
99
87
                                <li>
100
                                    <li>
88
                                    [% IF mandatory_fields.search('date') %]
101
                                        [% IF mandatory_fields.search('date') %]
89
                                        <label for="date" class="required">Date:</label>
102
                                            <label for="date" class="required">Date:</label>
90
                                        <input type="text" required="required" name="date" id="date" size="50"/>
103
                                            <input type="text" required="required" name="date" id="date" size="50"/>
91
                                    [% ELSE %]
104
                                        [% ELSE %]
92
                                        <label for="date">Date:</label>
105
                                            <label for="date">Date:</label>
93
                                        <input type="text" name="date" id="date" size="50"/>
106
                                            <input type="text" name="date" id="date" size="50"/>
94
                                    [% END %]
107
                                        [% END %]
95
                                </li>
108
                                    </li>
96
109
97
                                <li>
110
                                    <li>
98
                                    [% IF mandatory_fields.search('pages') %]
111
                                        [% IF mandatory_fields.search('pages') %]
99
                                        <label for="pages" class="required">Pages:</label>
112
                                            <label for="pages" class="required">Pages:</label>
100
                                        <input type="text" required="required" name="pages" id="pages" size="50"/>
113
                                            <input type="text" required="required" name="pages" id="pages" size="50"/>
101
                                    [% ELSE %]
114
                                        [% ELSE %]
102
                                        <label for="pages">Pages:</label>
115
                                            <label for="pages">Pages:</label>
103
                                        <input type="text" name="pages" id="pages" size="50"/>
116
                                            <input type="text" name="pages" id="pages" size="50"/>
104
                                    [% END %]
117
                                        [% END %]
105
                                </li>
118
                                    </li>
106
119
107
                                <li>
120
                                    <li>
108
                                    [% IF mandatory_fields.search('chapters') %]
121
                                        [% IF mandatory_fields.search('chapters') %]
109
                                        <label for="chapters" class="required">Chapters:</label>
122
                                            <label for="chapters" class="required">Chapters:</label>
110
                                        <input type="text" required="required" name="chapters" id="chapters" size="50"/>
123
                                            <input type="text" required="required" name="chapters" id="chapters" size="50"/>
111
                                    [% ELSE %]
124
                                        [% ELSE %]
112
                                        <label for="chapters">Chapters:</label>
125
                                            <label for="chapters">Chapters:</label>
113
                                        <input type="text" name="chapters" id="chapters" size="50"/>
126
                                            <input type="text" name="chapters" id="chapters" size="50"/>
114
                                    [% END %]
127
                                        [% END %]
115
                                </li>
128
                                    </li>
116
129
117
                                <li>
130
                                    <li>
118
                                    <label for="patron_notes">Notes:</label>
131
                                        <label for="patron_notes">Notes:</label>
119
                                    <input type="text" name="patron_notes" id="patron_notes" size="50"/>
132
                                        <input type="text" name="patron_notes" id="patron_notes" size="50"/>
120
                                </li>
133
                                    </li>
121
134
122
                                <li>
135
                                    <li>
123
                                    <label for="branchcode">Pickup library:</label>
136
                                        <label for="branchcode">Pickup library:</label>
124
                                    <select name="branchcode" id="branchcode" required="required">
137
                                        <select name="branchcode" id="branchcode" required="required">
125
                                        [% FOREACH b IN Branches.all %]
138
                                            [% FOREACH b IN Branches.all %]
126
                                            [% IF b.branchcode == Branches.GetLoggedInBranchcode %]
139
                                                [% IF b.branchcode == Branches.GetLoggedInBranchcode %]
127
                                                <option value="[% b.branchcode | html %]" selected="selected">[% b.branchname | html %]</option>
140
                                                    <option value="[% b.branchcode | html %]" selected="selected">[% b.branchname | html %]</option>
128
                                            [% ELSE %]
141
                                                [% ELSE %]
129
                                                <option value="[% b.branchcode | html %]">[% b.branchname | html %]</option>
142
                                                    <option value="[% b.branchcode | html %]">[% b.branchname | html %]</option>
143
                                                [% END %]
144
                                            [% END %]
145
                                        </select>
146
                                    </li>
147
                                </ul>
148
                            </fieldset>
149
150
                            [% IF article_request_type != 'bib_only' %]
151
                                <table class="copiesrow table table-bordered table-striped">
152
                                    <caption>Select a specific item:</caption>
153
                                    <thead>
154
                                        <tr>
155
                                            <th>&nbsp;</th>
156
                                            <th>Item type</th>
157
                                            <th>Barcode</th>
158
                                            <th>Home library</th>
159
                                            <th>Call number</th>
160
                                            <th>Enumeration</th>
161
                                        </tr>
162
                                    </thead>
163
164
                                    <tbody>
165
                                        [% FOREACH item IN biblio.items %]
166
                                            [% IF item.can_article_request( patron ) %]
167
                                                <tr>
168
                                                    <td>
169
                                                        [% IF article_request_type == 'item_only' && !checked %]
170
                                                            [% SET checked = 1 %]
171
                                                            <input type="radio" name="itemnumber" value="[% item.itemnumber | html %]" checked="checked" />
172
                                                        [% ELSE %]
173
                                                            <input type="radio" name="itemnumber" value="[% item.itemnumber | html %]" />
174
                                                        [% END %]
175
                                                    </td>
176
                                                    <td>
177
                                                        [% ItemTypes.GetDescription( item.itype ) | html %]
178
                                                    </td>
179
                                                    <td>
180
                                                        [% item.barcode | html %]
181
                                                    </td>
182
                                                    <td>
183
                                                        [% Branches.GetName( item.homebranch ) | html %]
184
                                                    </td>
185
                                                    <td>
186
                                                        [% item.itemcallnumber | html %]
187
                                                    </td>
188
                                                    <td>
189
                                                        [% item.enumchron | html %]
190
                                                    </td>
191
                                                </tr>
130
                                            [% END %]
192
                                            [% END %]
131
                                        [% END %]
193
                                        [% END %]
132
                                    </select>
194
133
                                </li>
195
                                        [% IF article_request_type != 'item_only' %]
134
                            </ul>
135
                        </fieldset>
136
137
                        [% IF article_request_type != 'bib_only' %]
138
                            <table class="copiesrow table table-bordered table-striped">
139
                                <caption>Select a specific item:</caption>
140
                                <thead>
141
                                    <tr>
142
                                        <th>&nbsp;</th>
143
                                        <th>Item type</th>
144
                                        <th>Barcode</th>
145
                                        <th>Home library</th>
146
                                        <th>Call number</th>
147
                                        <th>Enumeration</th>
148
                                    </tr>
149
                                </thead>
150
151
                                <tbody>
152
                                    [% FOREACH item IN biblio.items %]
153
                                        [% IF item.can_article_request( patron ) %]
154
                                            <tr>
196
                                            <tr>
155
                                                <td>
197
                                                <td>
156
                                                    [% IF article_request_type == 'item_only' && !checked %]
198
                                                    <input type="radio" name="itemnumber" value="" checked="checked"/>
157
                                                        [% SET checked = 1 %]
158
                                                        <input type="radio" name="itemnumber" value="[% item.itemnumber | html %]" checked="checked" />
159
                                                    [% ELSE %]
160
                                                        <input type="radio" name="itemnumber" value="[% item.itemnumber | html %]" />
161
                                                    [% END %]
162
                                                </td>
163
                                                <td>
164
                                                    [% ItemTypes.GetDescription( item.itype ) | html %]
165
                                                </td>
166
                                                <td>
167
                                                    [% item.barcode | html %]
168
                                                </td>
199
                                                </td>
169
                                                <td>
200
                                                <td colspan="6">
170
                                                    [% Branches.GetName( item.homebranch ) | html %]
201
                                                    Any item
171
                                                </td>
172
                                                <td>
173
                                                    [% item.itemcallnumber | html %]
174
                                                </td>
175
                                                <td>
176
                                                    [% item.enumchron | html %]
177
                                                </td>
202
                                                </td>
178
                                            </tr>
203
                                            </tr>
179
                                        [% END %]
204
                                        [% END %]
180
                                    [% END %]
205
                                    </tbody>
181
206
                                </table>
182
                                    [% IF article_request_type != 'item_only' %]
207
                            [% END %]
183
                                        <tr>
184
                                            <td>
185
                                                <input type="radio" name="itemnumber" value="" checked="checked"/>
186
                                            </td>
187
                                            <td colspan="6">
188
                                                Any item
189
                                            </td>
190
                                        </tr>
191
                                    [% END %]
192
                                </tbody>
193
                            </table>
194
                        [% END %]
195
208
196
                        <input type="submit" class="btn btn-primary" value="Place request" />
209
                            <input type="submit" class="btn btn-primary" value="Place request" />
197
                    </form>
210
                        </form>
211
                    [% END %]
198
                [% ELSE %]
212
                [% ELSE %]
199
                    <h1 class="title">[% biblio.title | html %]</h1>
213
                    <h1 class="title">[% biblio.title | html %]</h1>
200
                    <div class="alert alert-info">
214
                    <div class="alert alert-info">
(-)a/opac/opac-request-article.pl (-1 / +13 lines)
Lines 23-31 use CGI qw ( -utf8 ); Link Here
23
23
24
use C4::Auth;
24
use C4::Auth;
25
use C4::Output;
25
use C4::Output;
26
use C4::Context;
27
use C4::NewsChannels;
26
28
27
use Koha::Biblios;
29
use Koha::Biblios;
28
use Koha::Patrons;
30
use Koha::Patrons;
31
use Koha::News;
29
32
30
my $cgi = CGI->new;
33
my $cgi = CGI->new;
31
34
Lines 40-45 my ( $template, $borrowernumber, $cookie ) = get_template_and_user( Link Here
40
43
41
my $action = $cgi->param('action') || q{};
44
my $action = $cgi->param('action') || q{};
42
my $biblionumber = $cgi->param('biblionumber');
45
my $biblionumber = $cgi->param('biblionumber');
46
my $homebranch = C4::Context->userenv->{'branch'} || "";
47
my $location   = 'ArticleRequestsDisclaimerText_';
48
my $disclaimer;
49
if ( !action ) {
50
    $disclaimer = GetNewsToDisplay( $location . $template->lang, $homebranch );
51
    $disclaimer = GetNewsToDisplay( $location . "en",            $homebranch )
52
      if !$disclaimer;
53
}
54
43
55
44
if ( $action eq 'create' ) {
56
if ( $action eq 'create' ) {
45
    my $branchcode = $cgi->param('branchcode');
57
    my $branchcode = $cgi->param('branchcode');
Lines 81-86 my $patron = Koha::Patrons->find($borrowernumber); Link Here
81
$template->param(
93
$template->param(
82
    biblio => $biblio,
94
    biblio => $biblio,
83
    patron => $patron,
95
    patron => $patron,
96
    disclaimer => $disclaimer
84
);
97
);
85
98
86
output_html_with_http_headers $cgi, $cookie, $template->output, undef, { force_no_caching => 1 };
99
output_html_with_http_headers $cgi, $cookie, $template->output, undef, { force_no_caching => 1 };
87
- 

Return to bug 27948