cb01b25330
Includes: * code factorization Some code from subscription & Mana-KB has been factorized in order to speed-up next developments * SytemPreferences: Mana Activation: - add a value "no, let me think about it", that is the default value. - as long as this value is selected, messages ask if user want to activate it ( in Administration and Add-subscription(page 2) ) AutoShareWithMana - Add the syspref AutoShareWithMana: user can automatically share infos with Mana-KB (not set by default) * Interface : - On mana-search, rows are now sorted by date of last import, then by number of users - Windows redesigned to improve the user experience * New Feature : report a mistake. - people can now report an invalid data (wrong, obsolete,...) - if a data is reported as invalid many time, it will appear differently - Added few tooltip (to explain the fields last import, nb of users, to explain the new feature) - When reporting a data as invalid, a comment can also be added. Koha will then display comments related to data in result lists * API (svc/mana) - add svc/mana/addvaluetofield: allows to ask mana incrementing a field of a resource - no hardcoding for resources in the code of api (api needs to be called with a ressourcename) * New feature : SQL report sharing - Create Koha::Report.pm and Koha::Reports.pm, objects class for Reports - New feature: share reports with Mana-KB - New feature: search report in Mana-KB with keywords - New feature: load reports from Mana-KB Test plan: 1 - Apply Patch + update database 2 - Copy the three lines about mana config in etc/koha-conf.xml in ../etc/koha-conf.xml (after <backupdir> for example) <!-- URL of the mana KB server --> <!-- alternative value http://mana-test.koha-community.org to query the test server --> <mana_config>https://mana-kb.koha-community.org</mana_config> 3 - Check Mana syspref and AutoShareWithMana syspref are not activated 4 - Search the syspref ManaToken and follow the instructions 5 - subscriptions - Try create a new subscription for a first serial => Mana-KB shouldn't show you anything (except if the base hase been filled) - Share this serial with Mana-KB (on the serial individual's page there must be a Share button) - Try to create a new subscription for serial nr1 => a message should appear when you click on "next", click on "use", the fields should automaticaly appear - Activate AutoShareWithMana => Subscriptions - Create a new subscription for a second serial - There shouldn't be any Share button - Create a second subscription => the message should appear, click again on use 6 - SQL Report - Create a new SQL report, without notes. - On the table with all report (reports > use saved), there should be the action "Share" - If you click on share, you have an error message - Create a new report, with a title and notes longer than 20 characters - You can share it with mana => you will have a success message - On (report > use saved), there must be a message inviting you to search on Mana-KB for more results, enter a few word from title, notes, type of the report you shared, it should appear. You can use it, it will load it into your report list. 7 - Report mistakes. - On any table containing Mana-KB search results, you can report a mistake and add a comment. 8 - For each previous test, try to send wrong data, to delete the security token, to send nothing: it should show a correct warning message. Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Rebased-by: Alex Arnaud <alex.arnaud@biblibre.com> (2018-07-04) Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
83 lines
2.5 KiB
Perl
Executable file
83 lines
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_with_http_headers );
|
|
|
|
use CGI;
|
|
use JSON;
|
|
|
|
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_with_http_headers $input, $cookie, $template->output, 'json';
|