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

(-)a/installer/data/mysql/atomicupdate/mana_03-add_mana_autoshare.sql (-1 / +1 lines)
Lines 1-2 Link Here
1
INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `type` ) VALUES
1
INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `type` ) VALUES
2
('AutoShareWithMana','subscription','','defines datas automatically shared with mana','multiple');
2
('AutoShareWithMana','','','defines datas automatically shared with mana','multiple');
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/mana/mana-report-search-result.inc (-1 / +1 lines)
Lines 30-36 Link Here
30
                    [% END %]
30
                    [% END %]
31
                    <input hidden class="rowid" value="[% report.id %]">
31
                    <input hidden class="rowid" value="[% report.id %]">
32
                    <td>[% IF ( report.report_name ) %][% report.report_name %][% END %]</td>
32
                    <td>[% IF ( report.report_name ) %][% report.report_name %][% END %]</td>
33
                    <td title="[% report.savedsql %]"><div>
33
                    <td title="[% report.savedsql |html %]"><div>
34
                        [% IF report.notes.length > 200 %]
34
                        [% IF report.notes.length > 200 %]
35
                            [% report.notes.substr(0,200) %]<a class="showbutton">Show More</a></div><div hidden>
35
                            [% report.notes.substr(0,200) %]<a class="showbutton">Show More</a></div><div hidden>
36
                        [% END %]
36
                        [% END %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/reports-toolbar.inc (-1 / +147 lines)
Lines 5-10 Link Here
5
            <ul class="dropdown-menu">
5
            <ul class="dropdown-menu">
6
                <li id="newmenuc"><a href="/cgi-bin/koha/reports/guided_reports.pl?phase=Build%20new">New guided report</a> </li>
6
                <li id="newmenuc"><a href="/cgi-bin/koha/reports/guided_reports.pl?phase=Build%20new">New guided report</a> </li>
7
                <li id="newsql"><a href="/cgi-bin/koha/reports/guided_reports.pl?phase=Create%20report%20from%20SQL">New SQL report</a> </li>
7
                <li id="newsql"><a href="/cgi-bin/koha/reports/guided_reports.pl?phase=Create%20report%20from%20SQL">New SQL report</a> </li>
8
                [% IF Koha.Preference('Mana')==1 %]
9
                <li id="newsql"><a href="" data-toggle="modal" data-target="#mana_search_result">New SQL from Mana</a> </li>
10
                [% END %]
8
            </ul>
11
            </ul>
9
        </div>
12
        </div>
10
    [% END %]
13
    [% END %]
Lines 64-75 Link Here
64
    [% END %]
67
    [% END %]
65
</div>
68
</div>
66
69
70
71
[% IF Koha.Preference('Mana')==1 %]
72
    <div id="mana_search_result" class="modal fade container-fluid" tabindex="-1" role="dialog" aria-labelledby="mana_search_result_label" style="width: 100%; left:0%; margin-left: auto; display: none;">
73
        <div class="modal-dialog modal-lg">
74
            <div class="modal-content">
75
                <div class="modal-header">
76
                    <button type="button" class="closebtn" data-dismiss="modal" aria-hidden="true">×</button>
77
                    <h3 id="mana_search_result_label"> Mana Search</h3>
78
                </div>
79
                <div>
80
                    <form id="search_form" style="margin-left: 5%">
81
                        Please enter a few key words:
82
                        <input type=text id=mana_search_field>
83
                        <input type=button class="mana_search_button" value="Search">
84
                    </form>
85
                    <div class="modal-body">
86
                    </div>
87
                </div>
88
            </div>
89
        </div>
90
    </div>
91
[% END %]
92
93
94
67
<script type="text/javascript">
95
<script type="text/javascript">
68
var MSG_CONFIRM_DELETE = _("Are you sure you want to delete this report? This cannot be undone.");
96
var MSG_CONFIRM_DELETE = _("Are you sure you want to delete this report? This cannot be undone.");
69
70
$(document).ready(function(){
97
$(document).ready(function(){
71
    $(".delete").on("click",function(){
98
    $(".delete").on("click",function(){
72
        return confirmDelete(MSG_CONFIRM_DELETE);
99
        return confirmDelete(MSG_CONFIRM_DELETE);
73
    });
100
    });
74
});
101
});
75
</script>
102
</script>
103
104
<script type="text/javascript">
105
    $(document).ready( function(){
106
        $(".mana_search_button").on("click",function(){
107
            mana_search($("#mana_search_field").val());
108
        });
109
    });
110
111
    $('#search_form').on( "submit", function(event) {
112
        event.preventDefault();
113
        mana_search($(this).children("#mana_search_field").val());
114
    });
115
116
    function mana_increment(mana_id, resourcename, fieldvalue, stepvalue = 1){
117
        $.ajax( {
118
            type: "POST",
119
            url: "/cgi-bin/koha/svc/mana/addvaluetofield",
120
            data: {id: mana_id, field: fieldvalue, resource: resourcename, step: stepvalue},
121
            datatype: "json",
122
        }).done( function() {
123
        }).fail( function(){ alert("") });
124
    }
125
126
    function mana_use( mana_id ){
127
        $.ajax( {
128
            type:"POST",
129
            url: "/cgi-bin/koha/svc/mana/use",
130
            data: {id:mana_id, resource: 'report', saveinbase: 1},
131
            dataType: "json",
132
        })
133
        .done( function (result){
134
            if ( result.errmsg ){
135
                alert( result.errmsg );
136
            }
137
            else{
138
                window.location = ("/cgi-bin/koha/reports/guided_reports.pl?reports=").concat(result.id).concat("&amp;phase=Show%20SQL&mana_success=1");
139
            }
140
        })
141
        .fail( function ( foo, msg, longmsg, bla ){
142
        });
143
    }
144
145
    function mana_search( textquery ){
146
        $.ajax({
147
            type: "POST",
148
            url: "/cgi-bin/koha/svc/mana/search",
149
            data: {biblionumber: $("#biblionumber").val(), resource: 'report', id: textquery, usecomments: 1},
150
            dataType: "html",
151
        })
152
        .done( function( result ) {
153
            $("#mana_search_result .modal-body").html(result);
154
            $("#mana_search_result_label").text("Results from Mana Knowledge Base");
155
            $("#mana_results_datatable").dataTable($.extend(true, {}, dataTablesDefaults,{
156
                "sPaginationType":"four_button",
157
                "autoWidth": false,
158
                "columnDefs": [
159
                    { "width": "35%", "targets": 1 }
160
                ],
161
                "aoColumnDefs": [
162
                    { 'bSortable': false, "bSearchable": false, 'aTargets': [ 'NoSort' ] },
163
                    { "sType": "title-string", "aTargets" : [ "title-string" ] },
164
                    { 'sType': "anti-the", 'aTargets' : [ 'anti-the'] }
165
                ]
166
            }));
167
            if($("td.dataTables_empty").length == 0){
168
                 $("#mana_search").show();
169
            }
170
171
            $( "select[class='actionreport1']" ).show();
172
            $( "button[class='actionreport2']" ).hide();
173
            $("#CommentButton").on("click", function(){
174
                var resource_type = "report";
175
                var target_id = $("#selected_id").val();
176
                var manamsg = $("#manamsg").val();
177
                mana_comment(target_id, manamsg, resource_type);
178
                $("#comment_box").modal("hide");
179
            });
180
181
            $(".showbutton").on("click", function(){
182
                $(this).parent().hide();
183
                $(this).parent().next().show();
184
            });
185
186
            $("a[class='hidebutton']").on("click", function(){
187
                $(this).parent().hide();
188
                $(this).parent().prev().show();
189
            });
190
191
            $("#commentCloseButton").on("click", function(){
192
                $("#comment_box").modal("hide");
193
            });
194
195
            $(".actionreport1").on("click", function(){
196
                $("#selectedcomment").val($(this).val());
197
                $(this).parent("select").hide();
198
                $(this).parent("select").next().show();
199
            });
200
201
            $(".actionreport2").on("click", function(){
202
                $(this).hide();
203
                $(this).prev().show();
204
                mana_increment($("#selectedcomment").val(), 'resource_comment', 'nb', -1);
205
            });
206
        }).fail( function( result ){
207
        });
208
    }
209
210
    function mana_comment( target_id, manamsg, resource_type ){
211
        $.ajax( {
212
            type: "POST",
213
            url: "/cgi-bin/koha/svc/mana/share",
214
            data: {message: manamsg, resource: resource_type , resource_id: target_id},
215
            datatype: "json",
216
        })
217
    }
218
219
220
221
</script>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/guided_reports_start.tt (-112 / +13 lines)
Lines 81-90 $(".goback").on("click",function(e){ Link Here
81
    window.history.back();
81
    window.history.back();
82
});
82
});
83
83
84
$(".mana_search_button").on("click",function(){
85
    mana_search($(this).prev().val());
86
});
87
88
$(".ShareButton").on("click", function(){
84
$(".ShareButton").on("click", function(){
89
    if($(this).closest("tr").find(".report_notes").text().length < 20 || $(this).closest("tr").find(".report_name").text().length < 20){
85
    if($(this).closest("tr").find(".report_notes").text().length < 20 || $(this).closest("tr").find(".report_name").text().length < 20){
90
        $("#shared_infos").hide();
86
        $("#shared_infos").hide();
Lines 101-109 $(".ShareButton").on("click", function(){ Link Here
101
    }
97
    }
102
});
98
});
103
99
104
$('#search_form').submit(function () {
105
    return false;
106
});
107
100
108
$("#addColumn").on("click",function(){
101
$("#addColumn").on("click",function(){
109
    addColumn();
102
    addColumn();
Lines 283-386 $("#delColumn").on("click",function(){ Link Here
283
[% END %]
276
[% END %]
284
});
277
});
285
278
286
function mana_increment(mana_id, resourcename, fieldvalue, stepvalue = 1){
287
    $.ajax( {
288
        type: "POST",
289
        url: "/cgi-bin/koha/svc/mana/addvaluetofield",
290
        data: {id: mana_id, field: fieldvalue, resource: resourcename, step: stepvalue},
291
        datatype: "json",
292
    }).done( function() {
293
    }).fail( function(){ });
294
}
295
296
function mana_use( mana_id ){
297
    $.ajax( {
298
        type:"POST",
299
        url: "/cgi-bin/koha/svc/mana/use",
300
        data: {id:mana_id, resource: 'report', saveinbase: 1},
301
        dataType: "json",
302
    })
303
    .done( function (result){
304
        window.location = ("/cgi-bin/koha/reports/guided_reports.pl?reports=").concat(result.id).concat("&amp;phase=Show%20SQL");
305
    })
306
    .fail( function ( foo, msg, longmsg){
307
    });
308
}
309
310
function mana_search( textquery ){
311
    $.ajax({
312
        type: "POST",
313
        url: "/cgi-bin/koha/svc/mana/search",
314
        data: {biblionumber: $("#biblionumber").val(), resource: 'report', id: textquery, usecomments: 1},
315
        dataType: "html",
316
    })
317
    .done( function( result ) {
318
        $("#mana_search_result .modal-body").html(result);
319
        $("#mana_search_result_label").text("Results from Mana Knowledge Base");
320
        $("#mana_results_datatable").dataTable($.extend(true, {}, dataTablesDefaults,{
321
            "sPaginationType":"four_button",
322
            "autoWidth": false,
323
            "columnDefs": [
324
                { "width": "35%", "targets": 1 }
325
            ],
326
            "aoColumnDefs": [
327
                { 'bSortable': false, "bSearchable": false, 'aTargets': [ 'NoSort' ] },
328
                { "sType": "title-string", "aTargets" : [ "title-string" ] },
329
                { 'sType': "anti-the", 'aTargets' : [ 'anti-the'] }
330
            ]
331
        }));
332
        if($("td.dataTables_empty").length == 0){
333
             $("#mana_search").show();
334
        }
335
336
        $( "select[class='actionreport1']" ).show();
337
        $( "button[class='actionreport2']" ).hide();
338
        $("#CommentButton").on("click", function(){
339
            var resource_type = "report";
340
            var target_id = $("#selected_id").val();
341
            var manamsg = $("#manamsg").val();
342
            mana_comment(target_id, manamsg, resource_type);
343
            $("#comment_box").modal("hide");
344
        });
345
346
        $(".showbutton").on("click", function(){
347
            $(this).parent().hide();
348
            $(this).parent().next().show();
349
        });
350
351
        $("a[class='hidebutton']").on("click", function(){
352
            $(this).parent().hide();
353
            $(this).parent().prev().show();
354
        });
355
356
        $("#commentCloseButton").on("click", function(){
357
            $("#comment_box").modal("hide");
358
        });
359
360
        $(".actionreport1").on("click", function(){
361
            $("#selectedcomment").val($(this).val());
362
            $(this).parent("select").hide();
363
            $(this).parent("select").next().show();
364
        });
365
366
        $(".actionreport2").on("click", function(){
367
            $(this).hide();
368
            $(this).prev().show();
369
            mana_increment($("#selectedcomment").val(), 'resource_comment', 'nb', -1);
370
        });
371
    }).fail( function( result ){
372
    });
373
}
374
375
function mana_comment( target_id, manamsg, resource_type ){
376
    $.ajax( {
377
        type: "POST",
378
        url: "/cgi-bin/koha/svc/mana/share",
379
        data: {message: manamsg, resource: resource_type , resource_id: target_id},
380
        datatype: "json",
381
    })
382
}
383
384
279
385
280
386
</script>
281
</script>
Lines 492-497 canned reports and writing custom SQL reports.</p> Link Here
492
    </div>
387
    </div>
493
</div>
388
</div>
494
389
390
[% IF report_converted %]
391
    <div class="dialog message">
392
        The report "[% report_converted %]" has been converted.
393
    </div>
394
[% END %]
395
396
495
[% IF ( saved1 ) %]
397
[% IF ( saved1 ) %]
496
[% IF ( savedreports ) %]<h1>Saved reports</h1>
398
[% IF ( savedreports ) %]<h1>Saved reports</h1>
497
399
Lines 516-529 canned reports and writing custom SQL reports.</p> Link Here
516
    </div>
418
    </div>
517
    [% END %]
419
    [% END %]
518
420
519
   [% IF (Koha.Preference('Mana') == 1) %]
520
    <div id="mana_search" class="dialog message">
521
        <p> You want more reports? Check the Mana Knowledge Base <p> <a style="cursor:pointer" data-toggle="modal" data-target="#mana_search_result">Quick Search</a></p>
522
    </div>
523
    [% END %]
524
525
</script>
421
</script>
526
<h1> [% savedreport.sql %]</h1>
422
527
<form action="/cgi-bin/koha/reports/guided_reports.pl" id="reports_form" method="post">
423
<form action="/cgi-bin/koha/reports/guided_reports.pl" id="reports_form" method="post">
528
<input type="hidden" name="phase" value="Delete Multiple" />
424
<input type="hidden" name="phase" value="Delete Multiple" />
529
        <table id="table_reports">
425
        <table id="table_reports">
Lines 1280-1285 Sub report:<select name="subreport"> Link Here
1280
[% END %]
1176
[% END %]
1281
1177
1282
[% IF ( showsql ) %]
1178
[% IF ( showsql ) %]
1179
    [% IF mana_success %]
1180
        <fieldset>
1181
            Shared Successfully, thanks for your contribution!
1182
        </fieldset>
1183
    [% END %]
1283
<fieldset class="rows">
1184
<fieldset class="rows">
1284
    <legend>[% reportname %]</legend>
1185
    <legend>[% reportname %]</legend>
1285
    <ol>
1186
    <ol>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-add.tt (-6 / +15 lines)
Lines 406-411 function show_page_2() { Link Here
406
}
406
}
407
407
408
function mana_search() {
408
function mana_search() {
409
    $("#mana_search").html("<p>Mana kb is being asked for your subscription..</p>");
410
    $("#mana_search").show();
411
409
    $.ajax({
412
    $.ajax({
410
        type: "POST",
413
        type: "POST",
411
        url: "/cgi-bin/koha/svc/mana/search",
414
        url: "/cgi-bin/koha/svc/mana/search",
Lines 415-420 function mana_search() { Link Here
415
    .done( function( result ) {
418
    .done( function( result ) {
416
console.log(result);
419
console.log(result);
417
        $("#mana_search_result .modal-body").html(result);
420
        $("#mana_search_result .modal-body").html(result);
421
debugger;
418
        $("#mana_search_result_label").text("Results from Mana Knowledge Base");
422
        $("#mana_search_result_label").text("Results from Mana Knowledge Base");
419
        $("#mana_results_datatable").dataTable($.extend(true, {}, dataTablesDefaults, {
423
        $("#mana_results_datatable").dataTable($.extend(true, {}, dataTablesDefaults, {
420
            "sPaginationType": "four_button",
424
            "sPaginationType": "four_button",
Lines 430-437 console.log(result); Link Here
430
            ]
434
            ]
431
        }));
435
        }));
432
        if( $("#mana_results_datatable").length && $("td.dataTables_empty").length == 0){
436
        if( $("#mana_results_datatable").length && $("td.dataTables_empty").length == 0){
433
            $("#mana_search").show();
437
            $("#mana_search").html("<p>Subscription found on Mana Knowledge Base:</p><p> <a style='cursor:pointer' data-toggle='modal' data-target='#mana_search_result'>Quick fill</a></p>");
438
        }
439
        else if ( $("#mana_results_datatable").length ){
440
            $("#mana_search").html("<p>No subscription found on Mana Knowledge Base :(</p><p> Please feel free to share you pattern with all others librarians once you are done</p>");
434
        }
441
        }
442
        else{
443
            $("#mana_search").html( result );
444
        }
445
        $("#mana_search").show();
435
        $( "select[class='actionreport1']" ).show();
446
        $( "select[class='actionreport1']" ).show();
436
        $( "button[class='actionreport2']" ).hide();
447
        $( "button[class='actionreport2']" ).hide();
437
448
Lines 459-465 console.log(result); Link Here
459
            mana_increment($("#selectedcomment").val(), 'resource_comment', 'nb', -1);
470
            mana_increment($("#selectedcomment").val(), 'resource_comment', 'nb', -1);
460
        });
471
        });
461
472
462
    }).fail(function(result){
473
    }).fail(function(result, msg, longmsg){
474
        console.log( msg );
475
        console.log( longmsg );
463
    });
476
    });
464
}
477
}
465
478
Lines 567-575 $(document).ready(function() { Link Here
567
580
568
581
569
    mana_search();
582
    mana_search();
570
    $("#myid").on("click", function(){
571
        debugger;
572
    })
573
    $("#displayexample").hide();
583
    $("#displayexample").hide();
574
    $("#mana_search_result").modal("hide");
584
    $("#mana_search_result").modal("hide");
575
    $("#aqbooksellerid").on('keypress', function(e) {
585
    $("#aqbooksellerid").on('keypress', function(e) {
Lines 915-921 $(document).ready(function() { Link Here
915
                [% END %]
925
                [% END %]
916
926
917
                        <div hidden id="mana_search" class="dialog message">
927
                        <div hidden id="mana_search" class="dialog message">
918
                            <p>Subscription found on Mana Knowledge Base:</p><p> <a style="cursor:pointer" data-toggle="modal" data-target="#mana_search_result">Quick fill</a></p>
919
                        </div>
928
                        </div>
920
                        <div id="subscription_form_planning">
929
                        <div id="subscription_form_planning">
921
                            <fieldset class="rows">
930
                            <fieldset class="rows">
(-)a/reports/guided_reports.pl (+1 lines)
Lines 181-186 elsif ( $phase eq 'Show SQL'){ Link Here
181
        'notes'      => $report->{notes},
181
        'notes'      => $report->{notes},
182
	'sql'     => $report->{savedsql},
182
	'sql'     => $report->{savedsql},
183
	'showsql' => 1,
183
	'showsql' => 1,
184
        'mana_success' => $input->param('mana_success'),
184
    );
185
    );
185
}
186
}
186
187
(-)a/svc/mana/share (-1 / +19 lines)
Lines 45-47 $content->{resource_id} = $input->param("resource_id"); Link Here
45
$content->{resource_type} = $input->param("resource");
45
$content->{resource_type} = $input->param("resource");
46
$content->{message} = $input->param("message");
46
$content->{message} = $input->param("message");
47
Koha::SharedContent::manaPostRequest('resource_comment', $content);
47
Koha::SharedContent::manaPostRequest('resource_comment', $content);
48
- 
48
    my $package = "Koha::".ucfirst($input->param('resource'));
49
    my $resource;
50
    my $result;
51
eval{
52
    $result = Koha::SharedContent::manaGetRequestWithId($input->param('resource'), $input->param('id') );
53
};
54
if ( $@ or $result->{code} == 500 ){
55
    $resource->{errmsg} =  "Error: mana access got broken, please try again later\n\n ( error: $@ )";
56
}
57
else{
58
    if ( $input->param( 'saveinbase' )) {
59
        $resource = { id => $package->new_from_mana($result->{data})->id };
60
    }
61
    else{
62
        $resource = $result->{data};
63
    }
64
}
65
66
print(to_json($resource));

Return to bug 17047