use C4::Output;
use DBIx::Class::ResultClass::HashRefInflator;
use Koha::Database;
+use Koha::MarcSubfieldStructures;
my $input = CGI->new;
# Needed information for cataloging plugins
$template->{VARS}->{DefaultLanguageField008} = pack( 'A3', C4::Context->preference('DefaultLanguageField008') || 'eng' );
+my $authtags = Koha::MarcSubfieldStructures->search({ authtypecode => { '!=' => '' }, 'frameworkcode' => '' });
+$template->{VARS}->{authtags} = $authtags;
+
# Z39.50 servers
my $dbh = C4::Context->dbh;
$template->{VARS}->{z3950_servers} = $dbh->selectall_arrayref( q{
*/
define( [ 'marc-record', 'koha-backend', 'preferences', 'text-marc', 'widget' ], function( MARC, KohaBackend, Preferences, TextMARC, Widget ) {
+
var NOTIFY_TIMEOUT = 250;
function editorCursorActivity( cm ) {
cm.execCommand('deleteLine');
},
+ 'Ctrl-L': function( cm ) {
+ // Launch the auth search popup
+ var field = cm.marceditor.getCurrentField();
+
+ if ( !field ) return;
+ if ( authInfo[field.tag] == undefined ) return;
+ authtype = authInfo[field.tag].authtypecode;
+ index = 'rancor';//+field.line+'|'+field.tag;
+ var mainmainstring = '';
+ if( field.getSubfields( authInfo[field.tag].subfield ).length != 0 ){
+ mainmainstring += field.getSubfields( authInfo[field.tag].subfield )[0].text;
+ }
+
+ var subfields = field.getSubfields();
+ var mainstring= '';
+ for(i=0;i < subfields.length ;i++){
+ if ( authInfo[field.tag].subfield == subfields[i].code ) continue;
+ mainstring += subfields[i].text+' ';
+ }
+ newin=window.open("../authorities/auth_finder.pl?source=biblio&authtypecode="+authtype+"&index="+index+"&value_mainstr="+encodeURI(mainmainstring)+"&value_main="+encodeURI(mainstring), "_blank",'width=700,height=550,toolbar=false,scrollbars=yes');
+
+ },
+
'Shift-Ctrl-X': function( cm ) {
// Delete subfield
var field = cm.marceditor.getCurrentField();
<script src="[% interface %]/lib/koha/cateditor/marc-mode.js"></script>
<script src="[% interface %]/lib/require.js"></script>
<script>
+ var authInfo = {
+ [%- FOREACH authtag = authtags -%]
+ [% authtag.tagfield %]: {
+ subfield: '[% authtag.tagsubfield %]',
+ authtypecode: '[% authtag.authtypecode %]',
+ },
+ [%- END -%]
+ };
require.config( {
baseUrl: '[% interface %]/lib/koha/cateditor/',
config: {
[% MACRO jsinclude BLOCK %]
<script type="text/javascript">
$(document).ready(function(){
+ [% IF tag_number == 'rancor' %]
+ function RancorReplaceField( new_text ){
+ var cur_field = opener.opener.jQuery(".CodeMirror")[0].CodeMirror.marceditor.getCurrentField();
+ cur_field.setText(new_text);
+ return true;
+ }
+ [% IF ( clear ) %]
+ var new_line = "";
+ [% ELSE %]
+ var new_line = "
+ [%- FOREACH SUBFIELD_LOO IN SUBFIELD_LOOP -%]‡
+ [%- SUBFIELD_LOO.marc_subfield |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r ') -%]
+ [%- FOREACH marc_value IN SUBFIELD_LOO.marc_values -%]
+ [%- marc_value |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') -%]
+ [%- END -%]
+ [%- END -%]‡9[% authid %]";
+ [% END %]
+ RancorReplaceField( new_line );
+ [% ELSE %]
var index_start = "[% index %]";
var whichfield;
try {
}
[% UNLESS ( clear ) %]
- [% FOREACH SUBFIELD_LOO IN SUBFIELD_LOOP %]
- SetSubfieldValues(
- "[% tag_number |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %][% SUBFIELD_LOO.marc_subfield |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]"
- [% FOREACH marc_value IN SUBFIELD_LOO.marc_values %]
- ,"[% marc_value |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]"
+ [% FOREACH SUBFIELD_LOO IN SUBFIELD_LOOP %]
+ SetSubfieldValues(
+ "[% tag_number |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %][% SUBFIELD_LOO.marc_subfield |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]"
+ [% FOREACH marc_value IN SUBFIELD_LOO.marc_values %]
+ ,"[% marc_value |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]"
+ [% END %]
+ );
[% END %]
- );
[% END %]
var indicators = field_start.getElementsByClassName('indicator flat');
[% IF update_ind1 %]
[% END %]
}
}
+ [% END %]
opener.close();
window.close();
<link rel="stylesheet" href="[% interface %]/lib/codemirror/codemirror_[% KOHA_VERSION %].css" />
<link rel="stylesheet" href="[% interface %]/[% theme %]/css/humanmsg_[% KOHA_VERSION %].css" />
<script src="[% interface %]/lib/jquery/plugins/humanmsg.js" type="text/javascript"></script>
+<script src="/intranet-tmpl/prog/js/cataloging.js" type="text/javascript"></script>
[% IF ( bidi ) %]
<link rel="stylesheet" type="text/css" href="[% interface %]/[% theme %]/css/right-to-left_[% KOHA_VERSION %].css" />
[% END %]
<td>Get help on current subfield</td>
</tr>
<tr>
+ <td>Ctrl-L</td>
+ <td>Link field to authorities</td>
+ </tr>
+ <tr>
<td>Ctrl-S</td>
<td>Save record</td>
</tr>