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

(-)a/installer/data/mysql/mandatory/auth_val_cat.sql (-1 / +2 lines)
Lines 44-50 INSERT IGNORE INTO authorised_value_categories( category_name ) Link Here
44
    ('HINGS_C'),
44
    ('HINGS_C'),
45
    ('HINGS_AS'),
45
    ('HINGS_AS'),
46
    ('HINGS_RD'),
46
    ('HINGS_RD'),
47
    ('STACK');
47
    ('STACK')
48
    ('CONTROL_NUM_SEQUENCE');
48
49
49
-- UNIMARC specific?
50
-- UNIMARC specific?
50
INSERT IGNORE INTO authorised_value_categories( category_name ) VALUES
51
INSERT IGNORE INTO authorised_value_categories( category_name ) VALUES
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/cateditor-widgets-marc21.inc (-50 / +57 lines)
Lines 113-168 require( [ 'koha-backend', 'widget' ], function( KohaBackend, Widget ) { Link Here
113
        },
113
        },
114
    } );
114
    } );
115
115
116
    Widget.Register( '001@', {
116
    /* Check to see if there are any Control Number entries
117
        init: function() {
117
     *  in the authorised values table.
118
            var $result = $(
118
     * If not, let's not show the widget
119
                '<span class="subfield-widget">'
119
     */
120
                + _("Control number: ")
120
    var reg001 = KohaBackend.GetAuthorisedValues( 'CONTROL_NUM_SEQUENCE');
121
                + '<span class="control-number-widget-contents"></span>'
121
    if(reg001) {
122
                + '<button class="control-number-widget-assign">' + _("Assign next") + '</button>'
122
123
                + '<select class="control-number-widget-sequence"></select>'
123
        Widget.Register( '001@', {
124
                + '<button class="control-number-widget-override">Override</button>'
124
            init: function() {
125
                + '</span>'
125
                var $result = $(
126
            );
126
                    '<span class="subfield-widget">'
127
                    + _("Control number: ")
128
                    + '<span class="control-number-widget-contents"></span>'
129
                    + '<button class="control-number-widget-assign">' + _("Assign next") + '</button>'
130
                    + '<select class="control-number-widget-sequence"></select>'
131
                    + '<button class="control-number-widget-override">Override</button>'
132
                    + '</span>'
133
                );
127
134
128
            return $result[0];
135
                return $result[0];
129
        },
136
            },
130
        setControlNumber: function( text ) {
137
            setControlNumber: function( text ) {
131
            if ( text ) this.setText( text );
138
                if ( text ) this.setText( text );
132
            $( this.node ).find('.control-number-widget-contents')
139
                $( this.node ).find('.control-number-widget-contents')
133
                .html( text == '<empty>' ? ( '<span class="hint">' + _("unset") + '</span>' ) : text );
140
                    .html( text == '<empty>' ? ( '<span class="hint">' + _("unset") + '</span>' ) : text );
134
            this.mark.changed();
141
                this.mark.changed();
135
        },
142
            },
136
        postCreate: function( node, mark ) {
143
            postCreate: function( node, mark ) {
137
            var widget = this;
144
                var widget = this;
138
            this.setControlNumber( this.text );
145
                this.setControlNumber( this.text );
139
            $( this.node )
146
                $( this.node )
140
                .find('.control-number-widget-assign').click( function() {
147
                    .find('.control-number-widget-assign').click( function() {
141
                    var sequence = $( widget.node ).find('.control-number-widget-sequence').val();
148
                        var sequence = $( widget.node ).find('.control-number-widget-sequence').val();
142
                    $.post(
149
                        $.post(
143
                        '/cgi-bin/koha/svc/cataloguing/control_num_sequences/' + sequence
150
                            '/cgi-bin/koha/svc/cataloguing/control_num_sequences/' + sequence
144
                    ).done( function( result ) {
151
                        ).done( function( result ) {
145
                        if ( result.next_value ) widget.setControlNumber( result.next_value );
152
                            if ( result.next_value ) widget.setControlNumber( result.next_value );
146
                    } );
153
                        } );
147
                } ).end()
154
                    } ).end()
148
                .find('.control-number-widget-override').click( function() {
155
                    .find('.control-number-widget-override').click( function() {
149
                    var result = prompt( _("Enter new control number") );
156
                        var result = prompt( _("Enter new control number") );
150
157
151
                    if ( result ) widget.setControlNumber( result );
158
                        if ( result ) widget.setControlNumber( result );
152
                } ).end();
159
                    } ).end();
153
160
154
            var sequence_list = $.map( KohaBackend.GetAuthorisedValues( 'CONTROL_NUM_SEQUENCE' ), function( authval ) {
161
                var sequence_list = $.map( KohaBackend.GetAuthorisedValues( 'CONTROL_NUM_SEQUENCE' ), function( authval ) {
155
                return authval.lib;
162
                    return authval.lib;
156
            } );
163
                } );
157
            sequence_list.sort();
164
                sequence_list.sort();
158
165
159
            $.each( sequence_list, function( undef, sequence ) {
166
                $.each( sequence_list, function( undef, sequence ) {
160
                $( widget.node ).find('.control-number-widget-sequence').append( '<option>' + sequence + '</option>' );
167
                    $( widget.node ).find('.control-number-widget-sequence').append( '<option>' + sequence + '</option>' );
161
            } );
168
                } );
162
169
163
            // TODO: Make Enter on select click "Assign"
170
                // TODO: Make Enter on select click "Assign"
164
        }
171
            }
165
    } );
172
        } );
173
        };
166
174
167
    Widget.Register( '005@', {
175
    Widget.Register( '005@', {
168
        init: function() {
176
        init: function() {
169
- 

Return to bug 19263