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

(-)a/catalogue/detail.pl (+9 lines)
Lines 98-103 unless ( $biblio ) { Link Here
98
    exit;
98
    exit;
99
}
99
}
100
100
101
102
if ( $query->param('set_record_source') eq '1' ) {
103
    $biblio->metadata->set( { record_source_id => $query->param('record_source_id') } )->store;
104
    my $indexer = Koha::SearchEngine::Indexer->new( { index => $Koha::SearchEngine::BIBLIOS_INDEX } );
105
    $indexer->index_records( $biblionumber, "specialUpdate", "biblioserver" );
106
}
107
108
$template->param( record_sources => Koha::RecordSources->search() );
109
101
my $marc_record = eval { $biblio->metadata->record };
110
my $marc_record = eval { $biblio->metadata->record };
102
my $invalid_marc_record = $@ || !$marc_record;
111
my $invalid_marc_record = $@ || !$marc_record;
103
if ($invalid_marc_record) {
112
if ($invalid_marc_record) {
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/cat-toolbar.inc (-1 / +8 lines)
Lines 35-41 Link Here
35
    </div>
35
    </div>
36
[% END %]
36
[% END %]
37
37
38
[% IF ( CAN_user_editcatalogue_edit_catalogue || CAN_user_editcatalogue_edit_items || CAN_user_tools_items_batchmod || CAN_user_tools_items_batchdel ) or ( frameworkcode == 'FA' and CAN_user_editcatalogue_fast_cataloging ) %]
38
[% IF ( CAN_user_editcatalogue_edit_catalogue || CAN_user_editcatalogue_edit_items || CAN_user_tools_items_batchmod || CAN_user_tools_items_batchdel || CAN_user_editcatalogue_set_record_sources ) or ( frameworkcode == 'FA' and CAN_user_editcatalogue_fast_cataloging ) %]
39
    <div class="btn-group">
39
    <div class="btn-group">
40
    <button class="btn btn-default dropdown-toggle" data-toggle="dropdown"><i class="fa-solid fa-pencil" aria-hidden="true"></i> Edit <span class="caret"></span></button>
40
    <button class="btn btn-default dropdown-toggle" data-toggle="dropdown"><i class="fa-solid fa-pencil" aria-hidden="true"></i> Edit <span class="caret"></span></button>
41
        <ul class="dropdown-menu">
41
        <ul class="dropdown-menu">
Lines 47-52 Link Here
47
                [% END %]
47
                [% END %]
48
            [% END %]
48
            [% END %]
49
49
50
            [% IF CAN_user_editcatalogue_set_record_sources %]
51
               <li><a class="dropdown-item" id="setrecordsource" href="#" data-toggle="modal" data-target="#setRecordSourceModal">Set record source</a></li>
52
            [% ELSE %]
53
               <li class="disabled"><a id="setrecordsource" href="#">Set record source</a></li>
54
            [% END %]
55
50
            [% IF CAN_user_tools_records_batchmod %]
56
            [% IF CAN_user_tools_records_batchmod %]
51
                <li>
57
                <li>
52
                    <form action="/cgi-bin/koha/tools/batch_record_modification.pl" method="post">
58
                    <form action="/cgi-bin/koha/tools/batch_record_modification.pl" method="post">
Lines 300-302 Link Here
300
    </div>
306
    </div>
301
307
302
    [% INCLUDE modals/place_booking.inc %]
308
    [% INCLUDE modals/place_booking.inc %]
309
    [% INCLUDE modals/record_source.inc %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/modals/record_source.inc (+34 lines)
Line 0 Link Here
1
<!-- Set record source -->
2
<div class="modal" id="setRecordSourceModal" tabindex="-1" role="dialog" aria-labelledby="setRecordSourceLabel">
3
  <div class="modal-dialog">
4
    <div class="modal-content">
5
      <div class="modal-header">
6
7
        <h1 class="modal-title" id="setRecordSourceModal_">Set the record source [% IF ( biblio.title ) %] for [% INCLUDE 'biblio-title.inc' %][% END %]</h1>
8
9
      </div>
10
      <form method="post" action="/cgi-bin/koha/catalogue/detail.pl">
11
        <div class="modal-body">
12
          [% INCLUDE 'csrf-token.inc' %]
13
          <input type="hidden" name="biblionumber" value="[% biblio.biblionumber | html_entity %]" />
14
          <input type="hidden" name="set_record_source" value="1" />
15
          <select id="record_source_id" name="record_source_id">
16
            <option value=''>No specified source</option>
17
            [% FOREACH source IN record_sources %]
18
            [% IF ( source.record_source_id == current_source.record_source_id ) %]
19
            <option value="[% source.record_source_id | html_entity %]" selected="selected">[% source.name | html_entity %]</option>
20
            [% ELSE %]
21
            <option value="[% source.record_source_id | html_entity %]">[% source.name | html_entity %]</option>
22
            [% END %]
23
            [% END %]
24
          </select>
25
          <a class="btn btn-secondary" href="/cgi-bin/koha/admin/record_sources">Configure record sources</a>
26
        </div>
27
        <div class="modal-footer">
28
          <button type="submit" class="btn btn-primary">Set record source</button>
29
          <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
30
        </div>
31
      </form>
32
    </div>
33
  </div>
34
</div>
(-)a/t/cypress/integration/Catalogue/Detail_spec.ts (-4 / +3 lines)
Lines 19-27 describe("Set record_source button is present", () => { Link Here
19
        cy.get("#record_source_id").select("No specified source");
19
        cy.get("#record_source_id").select("No specified source");
20
        cy.get("button").contains("Set record source").click();
20
        cy.get("button").contains("Set record source").click();
21
21
22
        cy.intercept("GET", '/api/v1/record_sources*').as('listSources')
22
        cy.intercept("GET", "/api/v1/record_sources*").as("listSources");
23
        cy.visit("/cgi-bin/koha/admin/record_sources");
23
        cy.visit("/cgi-bin/koha/admin/record_sources");
24
        cy.wait('@listSources')
24
        cy.wait("@listSources");
25
        cy.get("tr:last-child a.delete").click();
25
        cy.get("tr:last-child a.delete").click();
26
        cy.contains("Poop");
26
        cy.contains("Poop");
27
        cy.get("button.approve").click();
27
        cy.get("button.approve").click();
Lines 36-39 describe("Set record_source button is present", () => { Link Here
36
        cy.visit("/cgi-bin/koha/catalogue/detail.pl?biblionumber=51");
36
        cy.visit("/cgi-bin/koha/catalogue/detail.pl?biblionumber=51");
37
        cy.get("#catalogue_detail_record_source").contains("Poop");
37
        cy.get("#catalogue_detail_record_source").contains("Poop");
38
    });
38
    });
39
});
39
});
40
- 

Return to bug 36372