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

(-)a/C4/Items.pm (-3 / +45 lines)
Lines 2906-2911 sub columns { Link Here
2906
    return @data;
2906
    return @data;
2907
}
2907
}
2908
2908
2909
=head2 biblioitems_columns
2910
2911
  my @columns = C4::Items::biblioitems_columns();
2912
2913
Returns an array of biblioitems' table columns on success,
2914
and an empty array on failure.
2915
2916
=cut
2917
2918
sub biblioitems_columns {
2919
    # Pure ANSI SQL goodness.
2920
    my $sql = 'SELECT * FROM biblioitems WHERE 1=0;';
2921
2922
    # Get the database handle.
2923
    my $dbh = C4::Context->dbh;
2924
2925
    # Run the SQL statement to load STH's readonly properties.
2926
    my $sth = $dbh->prepare($sql);
2927
    my $rv = $sth->execute();
2928
2929
    # This only fails if the table doesn't exist.
2930
    # This will always be called AFTER an install or upgrade,
2931
    # so borrowers will exist!
2932
    my @data;
2933
    if ($sth->{NUM_OF_FIELDS}>0) {
2934
        @data = @{$sth->{NAME}};
2935
    }
2936
    else {
2937
        @data = ();
2938
    }
2939
    return @data;
2940
}
2941
2909
sub ToggleNewStatus {
2942
sub ToggleNewStatus {
2910
    my ( $params ) = @_;
2943
    my ( $params ) = @_;
2911
    my @rules = @{ $params->{rules} };
2944
    my @rules = @{ $params->{rules} };
Lines 2913-2919 sub ToggleNewStatus { Link Here
2913
2946
2914
    my $dbh = C4::Context->dbh;
2947
    my $dbh = C4::Context->dbh;
2915
    my @errors;
2948
    my @errors;
2916
    my @items_columns = C4::Items::columns;
2949
    my @item_columns = map { "items.$_" } C4::Items::columns;
2950
    my @biblioitem_columns = map { "biblioitems.$_" } C4::Items::biblioitems_columns;
2917
    my $report;
2951
    my $report;
2918
    for my $rule ( @rules ) {
2952
    for my $rule ( @rules ) {
2919
        my $duration = $rule->{duration};
2953
        my $duration = $rule->{duration};
Lines 2921-2929 sub ToggleNewStatus { Link Here
2921
        my $substitutions = $rule->{substitutions};
2955
        my $substitutions = $rule->{substitutions};
2922
        my @params;
2956
        my @params;
2923
2957
2924
        my $query = q|SELECT biblionumber, itemnumber FROM items WHERE 1 |;
2958
        my $query = q|
2959
            SELECT items.biblionumber, items.itemnumber
2960
            FROM items
2961
            LEFT JOIN biblioitems ON items.biblioitemnumber = items.itemnumber
2962
            WHERE 1
2963
        |;
2925
        for my $condition ( @$conditions ) {
2964
        for my $condition ( @$conditions ) {
2926
            if ( grep {/^$condition->{field}$/} @items_columns ) {
2965
            if (
2966
                 grep {/^$condition->{field}$/} @item_columns
2967
              or grep {/^$condition->{field}$/} @biblioitem_columns
2968
            ) {
2927
                if ( $condition->{value} =~ /\|/ ) {
2969
                if ( $condition->{value} =~ /\|/ ) {
2928
                    my @values = split /\|/, $condition->{value};
2970
                    my @values = split /\|/, $condition->{value};
2929
                    $query .= qq| AND $condition->{field} IN (|
2971
                    $query .= qq| AND $condition->{field} IN (|
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/toggle_new_status.tt (-10 / +10 lines)
Lines 155-165 Link Here
155
                        <div class="block">
155
                        <div class="block">
156
                          <select name="condition_field_[% id %]">
156
                          <select name="condition_field_[% id %]">
157
                            <option value="">Choose a field name</option>
157
                            <option value="">Choose a field name</option>
158
                            [% FOR field IN item_fields %]
158
                            [% FOR field IN fields %]
159
                              [% IF condition.field == field %]
159
                              [% IF condition.field == field %]
160
                                <option value="[% field %]" selected="selected">items.[% field %]</option>
160
                                <option value="[% field %]" selected="selected">[% field %]</option>
161
                              [% ELSE %]
161
                              [% ELSE %]
162
                                <option value="[% field %]">items.[% field %]</option>
162
                                <option value="[% field %]">[% field %]</option>
163
                              [% END %]
163
                              [% END %]
164
                            [% END %]
164
                            [% END %]
165
                          </select>
165
                          </select>
Lines 176-186 Link Here
176
                        <div class="block">
176
                        <div class="block">
177
                          <select name="substitution_field_[% id %]">
177
                          <select name="substitution_field_[% id %]">
178
                            <option value="">Choose a field name</option>
178
                            <option value="">Choose a field name</option>
179
                            [% FOR field IN item_fields %]
179
                            [% FOR field IN fields %]
180
                              [% IF substitution.field == field %]
180
                              [% IF substitution.field == field %]
181
                                <option value="[% field %]" selected="selected">items.[% field %]</option>
181
                                <option value="[% field %]" selected="selected">[% field %]</option>
182
                              [% ELSE %]
182
                              [% ELSE %]
183
                                <option value="[% field %]">items.[% field %]</option>
183
                                <option value="[% field %]">[% field %]</option>
184
                              [% END %]
184
                              [% END %]
185
                            [% END %]
185
                            [% END %]
186
                          </select>
186
                          </select>
Lines 217-224 Link Here
217
              <div class="block">
217
              <div class="block">
218
                <select name="condition_field">
218
                <select name="condition_field">
219
                  <option value="">Choose a field name</option>
219
                  <option value="">Choose a field name</option>
220
                  [% FOR field IN item_fields %]
220
                  [% FOR field IN fields %]
221
                    <option value="[% field %]">items.[% field %]</option>
221
                    <option value="[% field %]">[% field %]</option>
222
                  [% END %]
222
                  [% END %]
223
                </select>
223
                </select>
224
                =
224
                =
Lines 232-239 Link Here
232
              <div class="block">
232
              <div class="block">
233
                <select name="substitution_field">
233
                <select name="substitution_field">
234
                  <option value="">Choose a field name</option>
234
                  <option value="">Choose a field name</option>
235
                  [% FOR field IN item_fields %]
235
                  [% FOR field IN fields %]
236
                    <option value="[% field %]">items.[% field %]</option>
236
                    <option value="[% field %]">[% field %]</option>
237
                  [% END %]
237
                  [% END %]
238
                </select>
238
                </select>
239
                =
239
                =
(-)a/tools/toggle_new_status.pl (-2 / +3 lines)
Lines 106-115 if ( $@ ) { Link Here
106
    exit;
106
    exit;
107
}
107
}
108
108
109
my @item_fields = map { "items.$_" } C4::Items::columns;
110
my @biblioitem_fields = map { "biblioitems.$_" } C4::Items::biblioitems_columns;
109
$template->param(
111
$template->param(
110
    op => $op,
112
    op => $op,
111
    messages => \@messages,
113
    messages => \@messages,
112
    item_fields => [ C4::Items::columns ],
114
    fields => [ @item_fields, @biblioitem_fields ],
113
    rules => $rules,
115
    rules => $rules,
114
);
116
);
115
117
116
- 

Return to bug 11023