Bugzilla – Attachment 35603 Details for
Bug 13014
Sent an email to the fund owner when a suggestion can be treated
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 13014: Notify budget owner on new suggestion - UT
Bug-13014-Notify-budget-owner-on-new-suggestion---.patch (text/plain), 4.72 KB, created by
Jonathan Druart
on 2015-01-29 09:25:09 UTC
(
hide
)
Description:
Bug 13014: Notify budget owner on new suggestion - UT
Filename:
MIME Type:
Creator:
Jonathan Druart
Created:
2015-01-29 09:25:09 UTC
Size:
4.72 KB
patch
obsolete
>From 612264f4e7a2430e99f5aa2c275f74752a4a68a1 Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@biblibre.com> >Date: Tue, 30 Sep 2014 16:56:46 +0200 >Subject: [PATCH] Bug 13014: Notify budget owner on new suggestion - UT > >When a suggestion is created and linked to a fund, a mail will be >generated, using a cronjob, to notify the budget owner. > >A suggestion is considered as "can be treated" if its status is "ASKED". > >Signed-off-by: Frederic Demians <f.demians@tamil.fr> >--- > C4/Suggestions.pm | 18 ++++++++++++++++++ > t/db_dependent/Suggestions.t | 36 ++++++++++++++++++++++++++++++++++-- > 2 files changed, 52 insertions(+), 2 deletions(-) > >diff --git a/C4/Suggestions.pm b/C4/Suggestions.pm >index f3d6348..b804801 100644 >--- a/C4/Suggestions.pm >+++ b/C4/Suggestions.pm >@@ -49,6 +49,7 @@ our @EXPORT = qw( > NewSuggestion > SearchSuggestion > DelSuggestionsOlderThan >+ GetUnprocessedSuggestions > ); > > =head1 NAME >@@ -597,6 +598,23 @@ sub DelSuggestionsOlderThan { > $sth->execute("-$days"); > } > >+sub GetUnprocessedSuggestions { >+ my ( $number_of_days_since_the_last_modification ) = @_; >+ >+ $number_of_days_since_the_last_modification ||= 0; >+ >+ my $dbh = C4::Context->dbh; >+ >+ my $s = $dbh->selectall_arrayref(q| >+ SELECT * >+ FROM suggestions >+ WHERE STATUS = 'ASKED' >+ AND budgetid IS NOT NULL >+ AND CAST(NOW() AS DATE) - CAST(suggesteddate AS DATE) = ? >+ |, { Slice => {} }, $number_of_days_since_the_last_modification ); >+ return $s; >+} >+ > 1; > __END__ > >diff --git a/t/db_dependent/Suggestions.t b/t/db_dependent/Suggestions.t >index 2251196..ed16684 100644 >--- a/t/db_dependent/Suggestions.t >+++ b/t/db_dependent/Suggestions.t >@@ -20,11 +20,12 @@ use Modern::Perl; > use C4::Context; > use C4::Members; > use C4::Letters; >-use C4::Budgets; >+use C4::Budgets qw( AddBudgetPeriod AddBudget ); > > use Koha::DateUtils qw( dt_from_string ); > >-use Test::More tests => 104; >+use DateTime::Duration; >+use Test::More tests => 105; > use Test::Warn; > > BEGIN { >@@ -328,3 +329,34 @@ $my_suggestion->{budgetid} = ''; # If budgetid == '', NULL should be set in DB > ModSuggestion( $my_suggestion ); > $suggestion = GetSuggestion($my_suggestionid_test_budgetid); > is( $suggestion->{budgetid}, undef, 'NewSuggestion Should set budgetid to NULL if equals an empty string' ); >+ >+subtest 'GetUnprocessedSuggestions' => sub { >+ plan tests => 9; >+ $dbh->do(q|DELETE FROM suggestions|); >+ my $my_suggestionid = NewSuggestion($my_suggestion); >+ my $unprocessed_suggestions = C4::Suggestions::GetUnprocessedSuggestions; >+ is( scalar(@$unprocessed_suggestions), 0, 'GetUnprocessedSuggestions should return 0 if a suggestion has been processed but not linked to a fund' ); >+ my $status = ModSuggestion($mod_suggestion1); >+ my $suggestion = GetSuggestion($my_suggestionid); >+ is( $suggestion->{budgetid}, undef, 'ModSuggestion should set budgetid to NULL if not given' ); >+ ModSuggestion( { suggestionid => $my_suggestionid, budgetid => $budget_id } ); >+ $suggestion = GetSuggestion($my_suggestionid); >+ is( $suggestion->{budgetid}, $budget_id, 'ModSuggestion should modify budgetid if given' ); >+ >+ $unprocessed_suggestions = C4::Suggestions::GetUnprocessedSuggestions; >+ is( scalar(@$unprocessed_suggestions), 1, 'GetUnprocessedSuggestions should return the suggestion if the suggestion is linked to a fund and has not been processed yet' ); >+ >+ ModSuggestion( { suggestionid => $my_suggestionid, STATUS => 'REJECTED' } ); >+ $unprocessed_suggestions = C4::Suggestions::GetUnprocessedSuggestions; >+ is( scalar(@$unprocessed_suggestions), 0, 'GetUnprocessedSuggestions should return the suggestion if the suggestion is linked to a fund and has not been processed yet' ); >+ >+ ModSuggestion( { suggestionid => $my_suggestionid, STATUS => 'ASKED', suggesteddate => dt_from_string->add_duration( DateTime::Duration->new( days => -4 ) ) } ); >+ $unprocessed_suggestions = C4::Suggestions::GetUnprocessedSuggestions; >+ is( scalar(@$unprocessed_suggestions), 0, 'GetUnprocessedSuggestions should use 0 as default value for days' ); >+ $unprocessed_suggestions = C4::Suggestions::GetUnprocessedSuggestions(4); >+ is( scalar(@$unprocessed_suggestions), 1, 'GetUnprocessedSuggestions should return the suggestion suggested 4 days ago' ); >+ $unprocessed_suggestions = C4::Suggestions::GetUnprocessedSuggestions(3); >+ is( scalar(@$unprocessed_suggestions), 0, 'GetUnprocessedSuggestions should not return the suggestion, it has not been suggested 3 days ago' ); >+ $unprocessed_suggestions = C4::Suggestions::GetUnprocessedSuggestions(5); >+ is( scalar(@$unprocessed_suggestions), 0, 'GetUnprocessedSuggestions should not return the suggestion, it has not been suggested 5 days ago' ); >+}; >-- >2.1.0
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 13014
:
31950
|
31951
|
31952
|
33247
|
33265
|
33266
|
33267
|
33293
|
33294
|
34792
|
34793
|
34794
|
34795
|
34796
|
35603
|
35604
|
35605
|
35606
|
35607
|
36272
|
36273
|
36275
|
36276
|
36277
|
38006
|
38007
|
38009
|
38012
|
38013
|
38014
|
38015
|
38016
|
38017
|
40597