and $self->message_type
and $self->branchcode;
+ my $userenv = C4::Context->userenv;
+ $self->manager_id($userenv ? $userenv->{number} : 0);
+
C4::Log::logaction( "MEMBERS", "ADDCIRCMESSAGE", $self->borrowernumber, $self->message )
if C4::Context->preference("BorrowersLog");
$template->param( 'catcode' => $patron_categories->next ) if $patron_categories->count == 1;
}
-my $librarian_messages = Koha::Patron::Messages->search(
+my $all_messages = Koha::Patron::Messages->search(
{
- borrowernumber => $borrowernumber,
- message_type => 'L',
- }
-);
-
-my $patron_messages = Koha::Patron::Messages->search(
+ 'me.borrowernumber' => $borrowernumber,
+ },
{
- borrowernumber => $borrowernumber,
- message_type => 'B',
+ join => 'manager',
+ '+select' => ['manager.surname', 'manager.firstname' ],
+ '+as' => ['manager_surname', 'manager_firstname'],
}
);
+my @messages;
+while ( my $content = $all_messages->next ) {
+ my $this_item;
+
+ $this_item->{borrowernumber} = $content->borrowernumber;
+ $this_item->{message_id} = $content->message_id;
+ $this_item->{branchcode} = $content->branchcode;
+ $this_item->{message_type} = $content->message_type;
+ $this_item->{message_date} = $content->message_date;
+ $this_item->{message} = $content->message;
+ $this_item->{manager_id} = $content->manager_id;
+ $this_item->{name} = $content->_result->get_column('manager_firstname') . ' ' . $content->_result->get_column('manager_surname');
+
+ push @messages, $this_item;
+}
+
my $fast_cataloging = 0;
if ( Koha::BiblioFrameworks->find('FA') ) {
$fast_cataloging = 1
$template->param(
patron => $patron,
- librarian_messages => $librarian_messages,
- patron_messages => $patron_messages,
+ messages => \@messages,
borrower => $borrower,
borrowernumber => $borrowernumber,
categoryname => $borrower->{'description'},
--- /dev/null
+ALTER TABLE `messages`
+ADD `manager_id` int(11) NULL,
+ADD FOREIGN KEY (`manager_id`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL;
`message_type` varchar(1) NOT NULL, -- whether the message is for the librarians (L) or the patron (B)
`message` text NOT NULL, -- the text of the message
`message_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, -- the date and time the message was written
- PRIMARY KEY (`message_id`)
+ `manager_id` int(11) default NULL, -- creator of message
+ PRIMARY KEY (`message_id`),
+ CONSTRAINT `messages_ibfk_1` FOREIGN KEY (`manager_id`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
--
<div id="messages" class="circmessage">
<h4>Messages:</h4>
<ul>
- [% FOREACH message IN librarian_messages %]
+ [% FOREACH message IN messages %]
<li>
- <span class="circ-hlt">
+ [% IF(message.message_type == "L") %]
+ <span class="circ-hlt">
+ [% ELSE %]
+ <span>
+ [% END %]>
[% message.message_date | $KohaDates %]
[% Branches.GetName( message.branchcode ) %]
+ ( <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% message.manager_id %]">[% message.name %]</a> )
<i>"[% message.message %]"</i>
</span>
[% IF message.branchcode == branch OR Koha.Preference('AllowAllMessageDeletion') %]
[% END %]
</li>
[% END %]
- [% FOREACH message IN patron_messages %]
- <li><span class="">[% message.message_date | $KohaDates %] [% Branches.GetName( message.branchcode )%] <i>"[% message.message %]"</i></span>
- [% IF message.branchcode == branch OR Koha.Preference('AllowAllMessageDeletion') %]
- [<a href="/cgi-bin/koha/circ/del_message.pl?message_id=[% message.message_id %]&borrowernumber=[% message.borrowernumber %]"><i class="fa fa-trash"></i> Delete</a>]
- [% END %]</li>
- [% END %]
</ul>
<a id="addnewmessageLabel" href="#add_message_form" data-toggle="modal"><i class="fa fa-plus"></i> Add a new message</a>
</div>