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

(-)a/cataloguing/value_builder/marc21_field_008.pl (-1 / +55 lines)
Lines 72-78 function Blur$function_name(subfield_managed) { Link Here
72
72
73
function Clic$function_name(i) {
73
function Clic$function_name(i) {
74
	defaultvalue=document.getElementById(\"$field_number\").value;
74
	defaultvalue=document.getElementById(\"$field_number\").value;
75
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=marc21_field_008.pl&index=$field_number&result=\"+defaultvalue,\"tag_editor\",'width=1000,height=600,toolbar=false,scrollbars=yes');
75
    var leader_value = \$(\"input[id^='tag_000']\").val();
76
    var leader_parameter = \"\";
77
    if (leader_value){
78
        leader_parameter = \"&leader=\"+leader_value;
79
    }
80
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=marc21_field_008.pl&index=$field_number&result=\"+defaultvalue+leader_parameter,\"tag_editor\",'width=1000,height=600,toolbar=false,scrollbars=yes');
76
81
77
}
82
}
78
//]]>
83
//]]>
Lines 90-95 sub plugin { Link Here
90
    my ($input) = @_;
95
    my ($input) = @_;
91
    my $index   = $input->param('index');
96
    my $index   = $input->param('index');
92
    my $result  = $input->param('result');
97
    my $result  = $input->param('result');
98
    my $leader  = $input->param('leader');
99
100
    my $material_configuration;
101
    if ($leader && length($leader) == '24') {
102
        #MARC 21 Material Configuration
103
        #Field 008/18-34 Configuration
104
        #If Leader/06 = a and Leader/07 = a, c, d, or m: Books
105
        #If Leader/06 = a and Leader/07 = b, i, or s: Continuing Resources
106
        #If Leader/06 = t: Books
107
        #If Leader/06 = c, d, i, or j: Music
108
        #If Leader/06 = e, or f: Maps
109
        #If Leader/06 = g, k, o, or r: Visual Materials
110
        #If Leader/06 = m: Computer Files
111
        #If Leader/06 = p: Mixed Materials
112
        #http://www.loc.gov/marc/bibliographic/bdleader.html
113
        my $material_configuration_mapping = {
114
            a => {
115
                a => 'BKS',
116
                c => 'BKS',
117
                d => 'BKS',
118
                m => 'BKS',
119
                b => 'CR',
120
                i => 'CR',
121
                s => 'CR',
122
            },
123
            t => 'BKS',
124
            c => 'MU',
125
            d => 'MU',
126
            i => 'MU',
127
            j => 'MU',
128
            e => 'MP',
129
            f => 'MP',
130
            g => 'VM',
131
            k => 'VM',
132
            o => 'VM',
133
            r => 'VM',
134
            m => 'CF',
135
            p => 'MX',
136
        };
137
        my $leader06 = substr($leader, 6, 1);
138
        my $leader07 = substr($leader, 7, 1);
139
        #Retrieve material configuration from the hash using marcflavour and leader06
140
        $material_configuration = $material_configuration_mapping->{$leader06};
141
        #If the value returned is a ref (i.e. leader06 is 'a'), then use leader07 to get the actual configuration
142
        if ( ($material_configuration) && (ref($material_configuration) eq 'HASH') ){
143
            $material_configuration = $material_configuration->{$leader07};
144
        }
145
    }
93
146
94
    my $dbh = C4::Context->dbh;
147
    my $dbh = C4::Context->dbh;
95
148
Lines 123-128 sub plugin { Link Here
123
            index => $index,
176
            index => $index,
124
            result => $result,
177
            result => $result,
125
            errorXml => $errorXml,
178
            errorXml => $errorXml,
179
            material_configuration => $material_configuration,
126
    );
180
    );
127
    output_html_with_http_headers $input, $cookie, $template->output;
181
    output_html_with_http_headers $input, $cookie, $template->output;
128
}
182
}
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_field_008.tt (-1 / +3 lines)
Lines 17-22 Link Here
17
        h4_result = document.getElementById("h4_result");
17
        h4_result = document.getElementById("h4_result");
18
        tr_result = document.getElementById("tr_result");
18
        tr_result = document.getElementById("tr_result");
19
        objXmlControlField = new xmlControlField('[% tagfield %]', 'f_pop', document.getElementById('material_type'), document.getElementById('table_material_types'), 'h4_result', 'tr_result', '', '[% themelang %]', '[% marcflavour %]');
19
        objXmlControlField = new xmlControlField('[% tagfield %]', 'f_pop', document.getElementById('material_type'), document.getElementById('table_material_types'), 'h4_result', 'tr_result', '', '[% themelang %]', '[% marcflavour %]');
20
        [% IF ( material_configuration ) %]
21
        objXmlControlField.idMaterial = "[% material_configuration %]";
22
        [% END %]
20
        objXmlControlField.loadXmlValues();
23
        objXmlControlField.loadXmlValues();
21
        renderResult(tr_result, (form.result.value != "")?form.result.value:returnValueParam("result"));
24
        renderResult(tr_result, (form.result.value != "")?form.result.value:returnValueParam("result"));
22
        [% END %]
25
        [% END %]
23
- 

Return to bug 9093