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

(-)a/C4/Suggestions.pm (+7 lines)
Lines 482-487 sub ModSuggestion { Link Here
482
            or $suggestion->{$field} eq '' );
482
            or $suggestion->{$field} eq '' );
483
    }
483
    }
484
484
485
    if ($suggestion->{STATUS} and $suggestion->{STATUS} eq 'ORDERED') {
486
        $suggestion->{ordereddate} = dt_from_string;
487
        if (C4::Context->userenv) {
488
            $suggestion->{orderedby} = C4::Context->userenv->{number};
489
        }
490
    }
491
485
    my $rs = Koha::Database->new->schema->resultset('Suggestion')->find($suggestion->{suggestionid});
492
    my $rs = Koha::Database->new->schema->resultset('Suggestion')->find($suggestion->{suggestionid});
486
    my $status_update_table = 1;
493
    my $status_update_table = 1;
487
    eval {
494
    eval {
(-)a/installer/data/mysql/kohastructure.sql (+5 lines)
Lines 2187-2192 CREATE TABLE `suggestions` ( -- purchase suggestions Link Here
2187
   accepteddate date default NULL, -- date the suggestion was marked as accepted
2187
   accepteddate date default NULL, -- date the suggestion was marked as accepted
2188
   rejectedby INT(11) default NULL, -- borrowernumber for the librarian who rejected the suggestion, foreign key linking to the borrowers table
2188
   rejectedby INT(11) default NULL, -- borrowernumber for the librarian who rejected the suggestion, foreign key linking to the borrowers table
2189
   rejecteddate date default NULL, -- date the suggestion was marked as rejected
2189
   rejecteddate date default NULL, -- date the suggestion was marked as rejected
2190
   orderedby INT(11) NULL DEFAULT NULL, -- borrowernumber for the librarian who ordered the suggestion
2191
   ordereddate DATE NULL DEFAULT NULL, -- date the suggestion was marked as ordered
2190
  `STATUS` varchar(10) NOT NULL default '', -- suggestion status (ASKED, CHECKED, ACCEPTED, or REJECTED)
2192
  `STATUS` varchar(10) NOT NULL default '', -- suggestion status (ASKED, CHECKED, ACCEPTED, or REJECTED)
2191
  `note` mediumtext, -- note entered on the suggestion
2193
  `note` mediumtext, -- note entered on the suggestion
2192
  `author` varchar(80) default NULL, -- author of the suggested item
2194
  `author` varchar(80) default NULL, -- author of the suggested item
Lines 2213-2218 CREATE TABLE `suggestions` ( -- purchase suggestions Link Here
2213
  PRIMARY KEY  (`suggestionid`),
2215
  PRIMARY KEY  (`suggestionid`),
2214
  KEY `suggestedby` (`suggestedby`),
2216
  KEY `suggestedby` (`suggestedby`),
2215
  KEY `managedby` (`managedby`)
2217
  KEY `managedby` (`managedby`)
2218
  CONSTRAINT suggestions_orderedby_fk
2219
    FOREIGN KEY (orderedby) REFERENCES borrowers (borrowernumber)
2220
    ON DELETE SET NULL ON UPDATE CASCADE
2216
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2221
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2217
2222
2218
--
2223
--
(-)a/installer/data/mysql/updatedatabase.pl (+14 lines)
Lines 9585-9590 if ( CheckVersion($DBversion) ) { Link Here
9585
    SetVersion ($DBversion);
9585
    SetVersion ($DBversion);
9586
}
9586
}
9587
9587
9588
$DBversion = 'XXX';
9589
if ( CheckVersion($DBversion) ) {
9590
    $dbh->do(q|
9591
        ALTER TABLE suggestions
9592
        ADD COLUMN orderedby INT(11) NULL DEFAULT NULL AFTER rejecteddate,
9593
        ADD COLUMN ordereddate DATE NULL DEFAULT NULL AFTER orderedby,
9594
        ADD CONSTRAINT suggestions_orderedby_fk
9595
            FOREIGN KEY (orderedby) REFERENCES borrowers (borrowernumber)
9596
            ON DELETE SET NULL ON UPDATE CASCADE
9597
    |);
9598
    print "Upgrade to $DBversion done (Bug 13392: Add suggestions.orderedby and suggestions.ordereddate)\n";
9599
    SetVersion($DBversion);
9600
}
9601
9588
=head1 FUNCTIONS
9602
=head1 FUNCTIONS
9589
9603
9590
=head2 TableExists($table)
9604
=head2 TableExists($table)
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt (+5 lines)
Lines 276-281 h4.local_collapse a { font-size : 80%; text-decoration: none; } fieldset.brief o Link Here
276
                <td>[% accepteddate | $KohaDates %]</td>
276
                <td>[% accepteddate | $KohaDates %]</td>
277
                <td>[% IF ( acceptedby_borrowernumber ) %]<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% acceptedby_borrowernumber %]">[% acceptedby_surname %], [% acceptedby_firstname %]</a> [% Branches.GetName( acceptedby_branchcode ) %] ([% acceptedby_description %])[% END %]</td>
277
                <td>[% IF ( acceptedby_borrowernumber ) %]<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% acceptedby_borrowernumber %]">[% acceptedby_surname %], [% acceptedby_firstname %]</a> [% Branches.GetName( acceptedby_branchcode ) %] ([% acceptedby_description %])[% END %]</td>
278
            </tr>
278
            </tr>
279
            <tr>
280
                <th><span class="label">Suggestion ordered</span></th>
281
                <td>[% ordereddate | $KohaDates %]</td>
282
                <td>[% IF ( orderedby_borrowernumber ) %]<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% orderedby_borrowernumber %]">[% orderedby_surname %], [% orderedby_firstname %]</a> [% Branches.GetName( orderedby_branchcode ) %] ([% orderedby_description %])[% END %]</td>
283
            </tr>
279
            </tbody>
284
            </tbody>
280
        </table></li></ol>
285
        </table></li></ol>
281
    </fieldset>
286
    </fieldset>
(-)a/suggestion/suggestion.pl (-2 / +1 lines)
Lines 271-277 if ($op=~/else/) { Link Here
271
    );
271
    );
272
}
272
}
273
273
274
foreach my $element ( qw(managedby suggestedby acceptedby) ) {
274
foreach my $element ( qw(managedby suggestedby acceptedby orderedby) ) {
275
#    $debug || warn $$suggestion_ref{$element};
275
#    $debug || warn $$suggestion_ref{$element};
276
    if ($$suggestion_ref{$element}){
276
    if ($$suggestion_ref{$element}){
277
        my $member=GetMember(borrowernumber=>$$suggestion_ref{$element});
277
        my $member=GetMember(borrowernumber=>$$suggestion_ref{$element});
278
- 

Return to bug 13392