Owen Leonard
679fdaebb1
This patch makes many changes to templates and JavaScript related to the integration of Mana with serials reports: - Many incorrect uses of the raw filter with html - Corrections to Bootstrap modal markup - Untranslatable strings moved out of JavaScript - Removed markup and JavaScript related to reports comments, a feature which doesn't exist in this version. New include file: mana/mana-comment-status.inc This file contains hidden-by-default messages which are shown during the process of submitting a comment on a subscription. New include file: mana/mana-share-report.inc This file contains the "Share report" modal markup formerly in guided_reports_start.tt New JavaScript file: mana.js Previously mana.inc, an include file containing only JavaScript which didn't include any template processing. Changed: mana/mana-report-search-result.inc This include file is now a full template so that jQuery's load() function can be used to pull its contents into the reports search modal. Changed: svc/mana/search This script was returning json-encoded HTML. Now it returns regular HTML. To test you must have Mana configured and enabled. Apply the patch and go to Reports -> Saved reports. - Choose New report -> New SQL from Mana. A "Mana search" modal should appear. - Perform a search which will return results, e.g. "circulation." - A "Loading" indicator should appear while the results are being retrieved. It should disappear when results appear. - Results should appear in the DataTable with sorting, paging, and search options. - In the "Notes" column, notes longer than 200 characters should be truncated with a "Show more" link. Clicking it should expand the comment and reveal a "Show less" link in its place. - Click the "Import" button (previously "Use"). The button icon should change to a loading indicator. - When the import is complete you should be redirected to a view of your new report. Go to Serials and click the "Search on Mana" link in the sidebar. - Perform a search for a serial - Results should appear in a DataTable with sorting, paging, and search options. - Sorting by title should ignore articles "a," "an," and "the." Create a new subscription or edit an existing subscription which will match a record in Mana. - On the second step of adding/editing the subscription a message should appear at the top of the form, "Searching for subscription in Mana Knowledge Base," with a loading icon. - When searching has completed a "Show Mana results" link should appear. - Clicking the link should trigger a modal showing search results which match your subscription, displayed in a DataTable with sorting, paging, and search options. - The last column of the table should contain "Import" and "Report" buttons. - Clicking the "Report" button should trigger a menu. Any existing comments will be listed as well as a "New comment" item. - Clicking an existing comment should cause the menu to close and a "Submitting comment" message to appear. It should be shortly replaced with a "Your comment has been submitted" message. - Clicking "New comment" should reveal a comment form. - It should not be possible to submit an empty comment. - Clicking the "cancel" link should redisplay the search results. - Submitting a new comment should trigger a "Submitting comment" message followed by a "Your comment has been submitted" message. - In the table of search results, click the "Import" button (previously "Use"). The button icon should change to a loading indicator. - The modal should close and the data from Mana should be loaded into the subscription entry form. View the detail page of a subscription which has saved with Mana data. - There should be a "Report mistake" button in the toolbar. Clicking it should reveal a menu of comments like the one you saw previously. - Clicking an existing comment should cause the menu to close and a "Submitting comment" message to appear. It should be shortly replaced with a "Your comment has been submitted" message. - Clicking "New comment" should reveal a comment form modal. - It should not be possible to submit an empty comment. - Clicking the "cancel" link should hide the modal. - Submitting a new comment should trigger a "Submitting comment" message followed by a "Your comment has been submitted" message. Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
82 lines
No EOL
2.5 KiB
Perl
Executable file
82 lines
No EOL
2.5 KiB
Perl
Executable file
#!/usr/bin/perl
|
|
|
|
# Copyright 2016 BibLibre Morgane Alonso
|
|
#
|
|
# This file is part of Koha.
|
|
#
|
|
# Koha is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# Koha is distributed in the hope that it will be useful, but
|
|
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with Koha; if not, see <http://www.gnu.org/licenses>.
|
|
#
|
|
|
|
use Modern::Perl;
|
|
|
|
use Koha::SharedContent;
|
|
use Koha::Subscription;
|
|
use C4::Auth qw(check_cookie_auth), qw(get_template_and_user);
|
|
use C4::Output qw( output_html_with_http_headers );
|
|
|
|
use CGI;
|
|
|
|
my $input = new CGI;
|
|
|
|
my ( $auth_status, $sessionID ) =
|
|
check_cookie_auth( $input->cookie('CGISESSID'),
|
|
{ serials => 'create_subscription' } );
|
|
|
|
if ( $auth_status ne "ok" ) {
|
|
exit 0;
|
|
}
|
|
|
|
my $templatename;
|
|
if ($input->param( "resource" ) eq 'report') {
|
|
$templatename = "mana/mana-report-search-result.tt";
|
|
} else {
|
|
$templatename = "mana/mana-subscription-search-result.tt";
|
|
}
|
|
|
|
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
|
|
{
|
|
template_name => $templatename,
|
|
query => $input,
|
|
type => "intranet",
|
|
authnotrequired => 0,
|
|
|
|
# flagsrequired => { serials => $permission },
|
|
flagsrequired => { serials => 'create_subscription' },
|
|
debug => 1,
|
|
}
|
|
);
|
|
|
|
my ($identifier, $sub_mana_info);
|
|
$identifier = $input->param('id');
|
|
$template->param( lowWarned => 5, warned => 10, highWarned => 20);
|
|
my $package = "Koha::".ucfirst($input->param( 'resource' ));
|
|
$sub_mana_info = $package->get_search_info($identifier);
|
|
|
|
$sub_mana_info->{ usecomments } = $input->param('usecomments');
|
|
my $resourcename = $input->param('resource');
|
|
my $result = Koha::SharedContent::search_entities( $resourcename, $sub_mana_info);
|
|
my $nbofcomment;
|
|
foreach my $resource (@{ $result->{data} }){
|
|
$nbofcomment = 0;
|
|
foreach my $comment (@{ $resource->{comments} }){
|
|
$nbofcomment += $comment->{nb};
|
|
}
|
|
$resource->{nbofcomment} = $nbofcomment;
|
|
}
|
|
|
|
$template->param( $input->param('resource')."s" => $result->{data} );
|
|
$template->param( statuscode => $result->{code} );
|
|
$template->param( msg => $result->{msg} );
|
|
|
|
output_html_with_http_headers $input, $cookie, $template->output; |