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

(-)a/C4/Suggestions.pm (-1 / +1 lines)
Lines 655-661 sub MarcRecordFromNewSuggestion { Link Here
655
    }
655
    }
656
    else {
656
    else {
657
        $record->append_fields(
657
        $record->append_fields(
658
            MARC::Field->new($it_tag, ' ', ' ', $it_subfield => $suggestion->{author})
658
            MARC::Field->new($it_tag, ' ', ' ', $it_subfield => $suggestion->{itemtype})
659
        );
659
        );
660
    }
660
    }
661
661
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt (-1 / +31 lines)
Lines 317-322 h4.local_collapse a { font-size : 80%; text-decoration: none; } fieldset.brief o Link Here
317
    <div id="yui-main">
317
    <div id="yui-main">
318
    <div class="yui-b">
318
    <div class="yui-b">
319
[% IF ( op_save ) %]
319
[% IF ( op_save ) %]
320
    [% FOR m IN messages %]
321
        <div class="dialog [% m.type %]">
322
            [% SWITCH m.code %]
323
            [% CASE 'biblio_exists' %]
324
                A similar document already exists: <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% m.id %]">[% m.title %]</a>. Click on "Confirm your suggestion" to ignore this message.
325
            [% CASE %]
326
                [% m.code %]
327
            [% END %]
328
        </div>
329
    [% END %]
320
    <form id="add_edit" action="suggestion.pl" method="post" class="validated">
330
    <form id="add_edit" action="suggestion.pl" method="post" class="validated">
321
    <input type="hidden" name="redirect" id="redirect" value="[% redirect %]" />
331
    <input type="hidden" name="redirect" id="redirect" value="[% redirect %]" />
322
    <input type="hidden" name="borrowernumber" id="borrowernumber" value="[% borrowernumber %]" />
332
    <input type="hidden" name="borrowernumber" id="borrowernumber" value="[% borrowernumber %]" />
Lines 465-471 h4.local_collapse a { font-size : 80%; text-decoration: none; } fieldset.brief o Link Here
465
			<input type="text" readonly="readonly" id="total" name="total" size="10" value="[% total %]"/>
475
			<input type="text" readonly="readonly" id="total" name="total" size="10" value="[% total %]"/>
466
                </li></ol>
476
                </li></ol>
467
    </fieldset><input type="hidden" id="returnsuggested" name="returnsuggested" value="[% IF ( returnsuggestedby ) %][% returnsuggestedby %][% ELSE %]noone[% END %]"/>
477
    </fieldset><input type="hidden" id="returnsuggested" name="returnsuggested" value="[% IF ( returnsuggestedby ) %][% returnsuggestedby %][% ELSE %]noone[% END %]"/>
468
    <fieldset class="action"><input type="hidden" name="op" value="[% op %]" />[% IF ( suggestionid ) %]<input type="submit" value="Save" /> <a class="cancel" href="[% IF ( returnsuggestedby ) %]/cgi-bin/koha/members/moremember.pl?borrowernumber=[% returnsuggestedby %]#suggestions[% ELSE %]suggestion.pl[% END %]">Cancel</a>[% ELSE %]<input type="submit" value="Submit your suggestion" /> <a class="cancel" href="suggestion.pl">Cancel</a>[% END %]
478
    <fieldset class="action">
479
        <input type="hidden" name="op" value="[% op %]" />
480
        [% IF ( suggestionid ) %]
481
            [% IF ( need_confirm ) %]
482
                <input type="hidden" name="save_confirmed" value="1" />
483
                <input onclick="this.form.op.value = 'save'; this.form.submit();" type="submit" value="Confirm your suggestion" />
484
            [% ELSE %]
485
                <input type="submit" value="Save" />
486
            [% END %]
487
            <a class="cancel" href="[% IF ( returnsuggestedby ) %]/cgi-bin/koha/members/moremember.pl?borrowernumber=[% returnsuggestedby %]#suggestions[% ELSE %]suggestion.pl[% END %]">Cancel</a>
488
        [% ELSE %]
489
            [% IF ( need_confirm ) %]
490
                <input type="hidden" name="save_confirmed" value="1" />
491
                <input onclick="this.form.op.value = 'save'; this.form.submit();" type="submit" value="Confirm your suggestion" />
492
            [% ELSE %]
493
                <input type="submit" value="Submit your suggestion" />
494
            [% END %]
495
            <a class="cancel" href="suggestion.pl">Cancel</a>
496
        [% END %]
469
    </fieldset>
497
    </fieldset>
470
    </form>
498
    </form>
471
[% END %]
499
[% END %]
Lines 483-488 h4.local_collapse a { font-size : 80%; text-decoration: none; } fieldset.brief o Link Here
483
        [% SWITCH m.code %]
511
        [% SWITCH m.code %]
484
        [% CASE 'already_exists' %]
512
        [% CASE 'already_exists' %]
485
            The suggestion has not been added. A suggestion with this title already exists (<a href='/cgi-bin/koha/suggestion/suggestion.pl?suggestionid=[% m.id %]&op=show'>suggestion #[% m.id %]</a>)
513
            The suggestion has not been added. A suggestion with this title already exists (<a href='/cgi-bin/koha/suggestion/suggestion.pl?suggestionid=[% m.id %]&op=show'>suggestion #[% m.id %]</a>)
514
        [% CASE 'biblio_exists' %]
515
            A similar document already exists: <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% m.id %]">[% m.title %]</a>. Click on "Confirm your suggestion" to ignore this message.
486
        [% CASE %]
516
        [% CASE %]
487
            [% m.code %]
517
            [% m.code %]
488
        [% END %]
518
        [% END %]
(-)a/suggestion/suggestion.pl (-36 / +53 lines)
Lines 91-96 my $returnsuggested = $input->param('returnsuggested'); Link Here
91
my $managedby       = $input->param('managedby');
91
my $managedby       = $input->param('managedby');
92
my $displayby       = $input->param('displayby') || '';
92
my $displayby       = $input->param('displayby') || '';
93
my $tabcode         = $input->param('tabcode');
93
my $tabcode         = $input->param('tabcode');
94
my $save_confirmed  = $input->param('save_confirmed') || 0;
94
95
95
# filter informations which are not suggestion related.
96
# filter informations which are not suggestion related.
96
my $suggestion_ref  = $input->Vars;
97
my $suggestion_ref  = $input->Vars;
Lines 120-170 $template->param('borrowernumber' => $borrowernumber); Link Here
120
#########################################
121
#########################################
121
##  Operations
122
##  Operations
122
##
123
##
123
if ( $op =~ /save/i ) {
124
    $suggestion_only->{suggesteddate} = dt_from_string( $suggestion_only->{suggesteddate} )
125
        if $suggestion_only->{suggesteddate};
126
124
127
    if ( $suggestion_only->{"STATUS"} ) {
125
if ( $op =~ /save/i ) {
128
        if ( my $tmpstatus = lc( $suggestion_only->{"STATUS"} ) =~ /ACCEPTED|REJECTED/i ) {
126
    my @messages;
129
            $suggestion_only->{ lc( $suggestion_only->{"STATUS"}) . "date" } = dt_from_string;
127
    my $biblio = MarcRecordFromNewSuggestion({
130
            $suggestion_only->{ lc( $suggestion_only->{"STATUS"}) . "by" }   = C4::Context->userenv->{number};
128
            title => $suggestion_only->{title},
131
        }
129
            author => $suggestion_only->{author},
132
        $suggestion_only->{manageddate} = dt_from_string;
130
            itemtype => $suggestion_only->{itemtype},
133
        $suggestion_only->{"managedby"}   = C4::Context->userenv->{number};
131
    });
132
133
    if ( ( my ($duplicatebiblionumber, $duplicatetitle) = FindDuplicate($biblio) ) && !$save_confirmed ) {
134
        push @messages, { type => 'error', code => 'biblio_exists', id => $duplicatebiblionumber, title => $duplicatetitle }; 
135
        $template->param(
136
            messages => \@messages,
137
            need_confirm => 1
138
        );
139
        delete $suggestion_ref->{suggesteddate};
140
        Init($suggestion_ref);
134
    }
141
    }
135
    if ( $suggestion_only->{'suggestionid'} > 0 ) {
142
    else {
136
        &ModSuggestion($suggestion_only);
143
        $suggestion_only->{suggesteddate} = dt_from_string( $suggestion_only->{suggesteddate} )
137
    } else {
144
            if $suggestion_only->{suggesteddate};
138
        ###FIXME:Search here if suggestion already exists.
145
139
        my $suggestions_loop =
146
        if ( $suggestion_only->{"STATUS"} ) {
140
            SearchSuggestion( $suggestion_only );
147
            if ( my $tmpstatus = lc( $suggestion_only->{"STATUS"} ) =~ /ACCEPTED|REJECTED/i ) {
141
        if (@$suggestions_loop>=1){
148
                $suggestion_only->{ lc( $suggestion_only->{"STATUS"}) . "date" } = dt_from_string;
142
            #some suggestion are answering the request Donot Add
149
                $suggestion_only->{ lc( $suggestion_only->{"STATUS"}) . "by" }   = C4::Context->userenv->{number};
143
            my @messages;
144
            for my $suggestion ( @$suggestions_loop ) {
145
                push @messages, { type => 'error', code => 'already_exists', id => $suggestion->{suggestionid} };
146
            }
150
            }
147
            $template->param( messages => \@messages );
151
            $suggestion_only->{manageddate} = dt_from_string;
148
        } 
152
            $suggestion_only->{"managedby"}   = C4::Context->userenv->{number};
149
        else {    
150
            ## Adding some informations related to suggestion
151
            &NewSuggestion($suggestion_only);
152
        }
153
        }
153
        # empty fields, to avoid filter in "SearchSuggestion"
154
        if ( $suggestion_only->{'suggestionid'} > 0 ) {
154
    }  
155
            &ModSuggestion($suggestion_only);
155
    map{delete $$suggestion_ref{$_}} keys %$suggestion_ref;
156
        } else {
156
    $op = 'else';
157
            ###FIXME:Search here if suggestion already exists.
158
            my $suggestions_loop =
159
                SearchSuggestion( $suggestion_only );
160
            if (@$suggestions_loop>=1){
161
                #some suggestion are answering the request Donot Add
162
                for my $suggestion ( @$suggestions_loop ) {
163
                    push @messages, { type => 'error', code => 'already_exists', id => $suggestion->{suggestionid} };
164
                }
165
                $template->param( messages => \@messages );
166
            } 
167
            else {    
168
                ## Adding some informations related to suggestion
169
                &NewSuggestion($suggestion_only);
170
            }
171
            # empty fields, to avoid filter in "SearchSuggestion"
172
        }  
173
        map{delete $$suggestion_ref{$_}} keys %$suggestion_ref;
174
        $op = 'else';
157
175
158
    if( $redirect eq 'purchase_suggestions' ) {
176
        if( $redirect eq 'purchase_suggestions' ) {
159
        print $input->redirect("/cgi-bin/koha/members/purchase-suggestions.pl?borrowernumber=$borrowernumber");
177
            print $input->redirect("/cgi-bin/koha/members/purchase-suggestions.pl?borrowernumber=$borrowernumber");
178
        }
160
    }
179
    }
161
162
}
180
}
163
elsif ($op=~/add/) {
181
elsif ($op=~/add/) {
164
    #Adds suggestion  
182
    #Adds suggestion
165
    Init($suggestion_ref);
183
    Init($suggestion_ref);
166
    $op ='save';
184
    $op ='save';
167
} 
185
}
168
elsif ($op=~/edit/) {
186
elsif ($op=~/edit/) {
169
    #Edit suggestion  
187
    #Edit suggestion  
170
    $suggestion_ref=&GetSuggestion($$suggestion_ref{'suggestionid'});
188
    $suggestion_ref=&GetSuggestion($$suggestion_ref{'suggestionid'});
171
- 

Return to bug 14973