5 [% INCLUDE 'doc-head-open.inc' %]
6 <title>Plugins › Tools › Koha </title>
7 [% INCLUDE 'doc-head-close.inc' %]
10 <body id="plugins_plugins_home" class="plugins">
11 [% WRAPPER 'header.inc' %]
12 [% INCLUDE 'prefs-admin-search.inc' %]
15 [% WRAPPER 'sub-header.inc' %]
16 [% WRAPPER breadcrumbs %]
17 [% WRAPPER breadcrumb_item %]
18 [% IF ( method == 'tool' ) %]
19 <a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a>
21 <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a>
24 [% WRAPPER breadcrumb_item bc_active= 1 %]
27 [% END #/ WRAPPER breadcrumbs %]
28 [% END #/ WRAPPER sub-header.inc %]
30 <div class="main container-fluid">
32 <div class="col-sm-10 col-sm-push-2">
38 [% IF ( CAN_user_plugins_manage ) %]
39 <div class="btn-toolbar" id="toolbar">
40 <a href="/cgi-bin/koha/plugins/plugins-upload.pl" id="upload_plugin" class="btn btn-default"><i class="fa fa-upload"></i> Upload plugin</a>
42 <div class="btn-group">
43 <button class="btn btn-default dropdown-toggle" data-toggle="dropdown"><i class="fa-solid fa-eye"></i> View plugins by class <span class="caret"></span></button>
44 <ul class="dropdown-menu">
45 <li><a href="/cgi-bin/koha/plugins/plugins-home.pl">View all plugins</a></li>
46 <li><a href="/cgi-bin/koha/plugins/plugins-home.pl?method=report">View report plugins</a></li>
47 <li><a href="/cgi-bin/koha/plugins/plugins-home.pl?method=tool">View tool plugins</a></li>
48 <li><a href="/cgi-bin/koha/plugins/plugins-home.pl?method=to_marc">View MARC conversion plugins</a></li>
49 <li><a href="/cgi-bin/koha/plugins/plugins-home.pl?method=opac_online_payment">View online payment plugins</a></li>
50 <li><a href="/cgi-bin/koha/plugins/plugins-home.pl?method=intranet_catalog_biblio_enhancements">View bibliographic record enhancement plugins for the staff interface</a></li>
51 <li><a href="/cgi-bin/koha/plugins/plugins-home.pl?method=ill_availability_services">View ILL availability plugins</a></li>
56 <div class="btn-group">
57 <form class="form-inline" id="plugin-search-form">
58 <div class="form-group">
59 <div class="input-group">
60 <input type="text" class="form-control" name="plugin-search" id="plugin-repo-search" placeholder="Search for plugins" value="[% search_term | html %]"/>
61 <div class="input-group-btn">
62 <button class="btn btn-default" type="button" id="plugin-search-button"><i class="fa fa-search"></i></button>
72 [% IF search_results %]
73 <h2>Search results</h2>
74 <div class="page-section">
75 <table class="table table-striped">
81 <th>Latest version</th>
86 [% FOREACH sr IN search_results %]
88 <td><a href="[% sr.result.html_url | url %]" target="_new">[% sr.result.name | html %]</a></td>
89 <td>[% sr.result.description | html %]</td>
90 <td>[% sr.repo.name | html %]</td>
91 <td>[% sr.result.tag_name | html %]</td>
92 <td><a class="btn btn-default btn-sm btn-install-plugin" href="/cgi-bin/koha/plugins/plugins-upload.pl?op=Upload&uploadfile=[% sr.result.install_name | uri %]&uploadlocation=[% sr.result.install_url | uri %]"><i class="fa fa-download"></i> Install</a></td>
96 </div><!-- /.page-section -->
99 [% UNLESS ( plugins ) %]
100 [% UNLESS ( method ) %]
101 <div class="dialog message">No plugins installed</div>
103 [% IF method == 'tool' %]
104 <div class="dialog message">No plugins that can be used as a tool are installed</div>
105 [% ELSIF method == 'report' %]
106 <div class="dialog message">No plugins that can create a report are installed</div>
107 [% ELSIF method == 'to_marc' %]
108 <div class="dialog message">No plugins that can convert files to MARC records are installed</div>
109 [% ELSIF method == 'opac_online_payment' %]
110 <div class="dialog message">No plugins that can process online payments via the public catalog are installed</div>
111 [% ELSIF method == 'intranet_catalog_biblio_enhancements' %]
112 <div class="dialog message">No plugins that can enhance the bibliographic records in the staff interface are installed</div>
114 <div class="dialog message">Unknown plugin type <em>[% method | html %]</em></div>
118 <div class="page-section">
119 <table id="installed_plugins">
125 <th>Plugin version</th>
126 <th>Minimum Koha version</th>
127 <th>Maximum Koha version</th>
128 <th>Last updated</th>
130 [% IF ( CAN_user_plugins_configure || CAN_user_plugins_manage || CAN_user_plugins_report || CAN_user_plugins_tool ) %]
131 <th class="noExport NoSort">Actions</th>
136 [% FOREACH plugin IN plugins %]
137 [% IF plugin.error %]
140 <strong>[% plugin.name | html %]</strong>
141 <span class="label label-warning">ERRORS</span>
143 [% IF ( CAN_user_plugins_configure || CAN_user_plugins_manage || CAN_user_plugins_report || CAN_user_plugins_tool ) %]
144 <td colspan="7">Error found whilst attempting to load plugin</td>
146 <td colspan="6">Error found whilst attempting to load plugin</td>
152 <strong>[% plugin.metadata.name | html %]</strong>
155 [% plugin.metadata.description | html %]
157 [% IF ( plugin.metadata.minimum_version && koha_version < plugin.metadata.minimum_version ) %]
158 <div class="dialog alert">
159 Warning: This plugin was written for a newer version of Koha. Use at your own risk.
163 [% IF ( plugin.metadata.maximum_version && koha_version > plugin.metadata.maximum_version ) %]
164 <div class="dialog alert">
165 Warning: This plugin was written for an older version of Koha. Use at your own risk.
169 <td>[% plugin.metadata.author | html %]</td>
170 <td>[% plugin.metadata.version | html %]</td>
171 <td>[% plugin.metadata.minimum_version | html %]</td>
172 <td>[% plugin.metadata.maximum_version | html %]</td>
173 <td>[% plugin.metadata.date_updated | $KohaDates %]</td>
175 [% IF ( plugin.is_enabled ) %]
176 <span class="bg-success">Enabled</span>
178 <span class="bg-warning">Disabled</span>
181 [% IF ( CAN_user_plugins_configure || CAN_user_plugins_manage || CAN_user_plugins_report || CAN_user_plugins_tool ) %]
183 <div class="btn-group dropup">
184 <a class="btn btn-default btn-xs dropdown-toggle" id="pluginactions[% plugin.class | html %]" role="button" data-toggle="dropdown" href="#">
185 Actions <b class="caret"></b>
187 <ul class="dropdown-menu pull-right" role="menu" aria-labelledby="pluginactions[% plugin.class | html %]">
188 [% IF ( CAN_user_plugins_report ) %]
189 [% IF plugin.can('report') %]
190 <li><a href="/cgi-bin/koha/plugins/run.pl?class=[% plugin.class | uri %]&method=report"><i class="fa fa-table fa-fw"></i> Run report</a></li>
194 [% IF ( CAN_user_plugins_tool ) %]
195 [% IF plugin.can('tool') %]
196 <li><a href="/cgi-bin/koha/plugins/run.pl?class=[% plugin.class | uri %]&method=tool"><i class="fa fa-wrench fa-fw"></i> Run tool</a></li>
200 [% IF ( CAN_user_plugins_configure ) %]
201 [% IF plugin.can('configure') %]
202 <li><a href="/cgi-bin/koha/plugins/run.pl?class=[% plugin.class | uri %]&method=configure"><i class="fa fa-cog fa-fw"></i> Configure</a></li>
205 [% IF ( CAN_user_plugins_manage ) %]
206 <li><a class="uninstall_plugin" data-plugin-name="[% plugin.metadata.name | html %]" href="/cgi-bin/koha/plugins/plugins-uninstall.pl?class=[% plugin.class | html %]"><i class="fa fa-trash-can fa-fw"></i> Uninstall</a></li>
207 [% IF ( plugin.is_enabled ) %]
208 <li><a class="enable_plugin" data-plugin-name="[% plugin.metadata.name | html %]" href="/cgi-bin/koha/plugins/plugins-enable.pl?class=[% plugin.class | html %]&method=disable"><i class="fa fa-pause fa-fw"></i> Disable</a></li>
210 <li><a class="enable_plugin" data-plugin-name="[% plugin.metadata.name | html %]" href="/cgi-bin/koha/plugins/plugins-enable.pl?class=[% plugin.class | html %]&method=enable"><i class="fa fa-play fa-fw"></i> Enable</a></li>
221 </div><!-- /.page-section -->
226 </div> <!-- /.col-sm-10.col-sm-push-2 -->
228 <div class="col-sm-2 col-sm-pull-10">
230 [% IF ( method == 'tool' ) %]
231 [% INCLUDE 'tools-menu.inc' %]
233 [% INCLUDE 'admin-menu.inc' %]
236 </div> <!-- /.col-sm-2.col-sm-pull-10 -->
237 </div> <!-- /.row -->
239 [% MACRO jsinclude BLOCK %]
240 [% Asset.js("js/tools-menu.js") | $raw %]
241 [% INCLUDE 'calendar.inc' %]
242 [% INCLUDE 'datatables.inc' %]
243 [% INCLUDE 'columns_settings.inc' %]
245 $(document).ready(function(){
246 $(".uninstall_plugin").on("click", function(){
247 $(".dropdown").removeClass("open");
248 var plugin_name = $(this).data("plugin-name");
249 return confirmDelete( _("Are you sure you want to uninstall the plugin %s?").format( plugin_name ) );
252 $("#plugin-search-button").on("click", function(){
253 $("#plugin-search-form").submit();
256 KohaTable("installed_plugins", {
263 [% INCLUDE 'intranet-bottom.inc' %]