# Copyright 2000-2002 Katipo Communications
+# Copyright 2011 MJ Ray and software.coop
#
# This file is part of Koha.
#
$query .= " AND user = ? ";
push(@parameters,$user);
}
- if(scalar @$modules > 1 or @$modules[0] ne "") {
+ if($modules && scalar(@$modules)) {
$query .= " AND module IN (".join(",",map {"?"} @$modules).") ";
push(@parameters,@$modules);
}
# insert fee in patron debts
manualinvoice($borrower->{'borrowernumber'}, '', '', 'A', $enrolmentfee);
}
+ logaction("MEMBERS", "RENEW", $borrower->{'borrowernumber'}, "Membership renewed")if C4::Context->preference("BorrowersLog");
return $date if ($sth);
return 0;
}
$self->{'opac_display'} = 0;
$self->{'password_allowed'} = 0;
$self->{'staff_searchable'} = 0;
+ $self->{'display_checkout'} = 0;
$self->{'authorised_value_category'} = '';
bless $self, $class;
$self->{'opac_display'} = $row->{'opac_display'};
$self->{'password_allowed'} = $row->{'password_allowed'};
$self->{'staff_searchable'} = $row->{'staff_searchable'};
+ $self->{'display_checkout'} = $row->{'display_checkout'};
$self->{'authorised_value_category'} = $row->{'authorised_value_category'};
bless $self, $class;
opac_display = ?,
password_allowed = ?,
staff_searchable = ?,
- authorised_value_category = ?
+ authorised_value_category = ?,
+ display_checkout = ?
WHERE code = ?");
} else {
$sth = $dbh->prepare_cached("INSERT INTO borrower_attribute_types
(description, repeatable, unique_id, opac_display, password_allowed,
- staff_searchable, authorised_value_category, code)
+ staff_searchable, authorised_value_category, display_checkout, code)
VALUES (?, ?, ?, ?, ?,
- ?, ?, ?)");
+ ?, ?, ?, ?)");
}
$sth->bind_param(1, $self->{'description'});
$sth->bind_param(2, $self->{'repeatable'});
$sth->bind_param(5, $self->{'password_allowed'});
$sth->bind_param(6, $self->{'staff_searchable'});
$sth->bind_param(7, $self->{'authorised_value_category'});
- $sth->bind_param(8, $self->{'code'});
+ $sth->bind_param(8, $self->{'display_checkout'});
+ $sth->bind_param(9, $self->{'code'});
$sth->execute;
}
@_ ? $self->{'staff_searchable'} = ((shift) ? 1 : 0) : $self->{'staff_searchable'};
}
+=head2 display_checkout
+
+=over 4
+
+my $display_checkout = $attr_type->display_checkout();
+$attr_type->display_checkout($display_checkout);
+
+=back
+
+Accessor. The C<$display_checkout> argument
+is interpreted as a Perl boolean.
+
+=cut
+
+sub display_checkout {
+ my $self = shift;
+ @_ ? $self->{'display_checkout'} = ((shift) ? 1 : 0) : $self->{'display_checkout'};
+}
+
=head2 authorised_value_category
my $authorised_value_category = $attr_type->authorised_value_category();
my $opac_only = @_ ? shift : 0;
my $dbh = C4::Context->dbh();
- my $query = "SELECT code, description, attribute, lib, password
+ my $query = "SELECT code, description, attribute, lib, password, display_checkout
FROM borrower_attributes
JOIN borrower_attribute_types USING (code)
LEFT JOIN authorised_values ON (category = authorised_value_category AND attribute = authorised_value)
value => $row->{'attribute'},
value_description => $row->{'lib'},
password => $row->{'password'},
+ display_checkout => $row->{'display_checkout'},
}
}
return \@results;
my ($theme, $lang)= themelanguage( $htdocs, $tmplbase, $interface, $query);
my $template = Template->new(
- {
- EVAL_PERL => 1,
+ { EVAL_PERL => 1,
ABSOLUTE => 1,
- INCLUDE_PATH => "$htdocs/$theme/$lang/includes",
- FILTERS => {},
-
+ INCLUDE_PATH => [
+ "$htdocs/$theme/$lang/includes",
+ "$htdocs/$theme/en/includes"
+ ],
+ FILTERS => {},
}
) or die Template->error();
my $self = {
#if the basket is closed,and the user has the permission to edit basketgroups, display a list of basketgroups
my $basketgroups;
my $member = GetMember(borrowernumber => $loggedinuser);
- if ($basket->{closedate} && haspermission({ flagsrequired => { acquisition => 'group_manage'} })) {
+ if ($basket->{closedate} && haspermission({ acquisition => 'group_manage'} )) {
$basketgroups = GetBasketgroups($basket->{booksellerid});
for my $bg ( @{$basketgroups} ) {
if ($basket->{basketgroupid} && $basket->{basketgroupid} == $bg->{id}){
if (( $basket->{authorisedby}
&& $basket->{authorisedby} eq $loggedinuser
)
- || haspermission( $uid, { flagsrequired => { acquisition => q{*} } } )
+ || haspermission( $uid, { acquisition => q{*} } )
) {
for my $date_field (qw( creationdate closedate)) {
if ( $basket->{$date_field} ) {
if ($input->param('staff_searchable')) {
$template->param(staff_searchable_checked => 1);
}
+ if ($input->param('display_checkout')) {
+ $template->param(display_checkout_checked => 'checked="checked"');
+ }
$template->param(
attribute_type_form => 1,
$attr_type->authorised_value_category($authorised_value_category);
my $password_allowed = $input->param('password_allowed');
$attr_type->password_allowed($password_allowed);
+ my $display_checkout = $input->param('display_checkout');
+ $attr_type->display_checkout($display_checkout);
if ($op eq 'edit') {
$template->param(edited_attribute_type => $attr_type->code());
if ($attr_type->staff_searchable()) {
$template->param(staff_searchable_checked => 1);
}
-
+ if ($attr_type->display_checkout()) {
+ $template->param(display_checkout_checked => 'checked="checked"');
+ }
authorised_value_category_list($template, $attr_type->authorised_value_category());
$template->param(
=cut
-sub build_authorized_values_list ($$$$$$$) {
+sub build_authorized_values_list {
my ( $tag, $subfield, $value, $dbh, $authorised_values_sth,$index_tag,$index_subfield ) = @_;
my @authorised_values;
=cut
-sub CreateKey(){
+sub CreateKey {
return int(rand(1000000));
}
-sub build_tabs ($$$$$) {
+sub build_tabs {
my ( $template, $record, $dbh, $encoding,$input ) = @_;
# fill arrays
}
-sub build_hidden_data () {
+sub build_hidden_data {
# build hidden data =>
# we store everything, even if we show only requested subfields.
our ($tagslib);
-sub build_tabs ($$$$$) {
+sub build_tabs {
my ( $template, $record, $dbh, $encoding,$input ) = @_;
# fill arrays
return ( $field_number, $res );
}
+sub wrapper {
+ my ($char) = @_;
+ return "space" if $char eq " ";
+ return "dblspace" if $char eq " ";
+ return "pipe" if $char eq "|";
+ return $char;
+}
+
sub plugin {
my ($input) = @_;
my $index = $input->param('index');
my @today = Date::Calc::Today();
$f1 = $today[0] . sprintf('%02s',$today[1]) . sprintf('%02s',$today[2]);
}
- my $f2 = substr( $result, 8, 1 );
+ my $f2 = substr( $result, 8, 1 ); $f2 = wrapper( $f2 ) if $f2;
my $f3 = substr( $result, 9, 4 );
$f3='' if $f3 eq ' '; # empty publication year if only spaces, otherwise it's hard to fill the field
my $f4 = substr( $result, 13, 4 );
$f4='' if $f4 eq ' ';
- my $f5 = substr( $result, 17, 1 );
- my $f6 = substr( $result, 18, 1 );
- my $f7 = substr( $result, 19, 1 );
+ my $f5 = substr( $result, 17, 1 ); $f5 = wrapper( $f5 ) if $f5;
+ my $f6 = substr( $result, 18, 1 ); $f6 = wrapper( $f6 ) if $f6;
+ my $f7 = substr( $result, 19, 1 ); $f7 = wrapper( $f7 ) if $f7;
my $f8 = substr( $result, 20, 1 );
my $f9 = substr( $result, 21, 1 );
my $f10 = substr( $result, 22, 3 );
my $f12 = substr( $result, 26, 2 );
my $f13 = substr( $result, 28, 2 );
my $f14 = substr( $result, 30, 4 );
- my $f15 = substr( $result, 34, 2 );
+ my $f15 = substr( $result, 34, 2 ); $f15 = wrapper( $f15 ) if $f15;
$template->param(
index => $index,
return ($field_number,$res);
}
+sub wrapper {
+ my ($char) = @_;
+ return "space" if $char eq " ";
+ return "pipe" if $char eq "|";
+ return $char;
+}
+
sub plugin {
my ($input) = @_;
my $index= $input->param('index');
flagsrequired => {editcatalogue => '*'},
debug => 1,
});
- my $f1 = substr($result,0,1);
- my $f2 = substr($result,1,1);
- my $f3 = substr($result,2,1);
- my $f4 = substr($result,3,1);
-
- my $f5 = substr($result,4,1);
- my $f6 = substr($result,5,1);
- my $f7 = substr($result,6,1);
- my $f8 = substr($result,7,1);
-
- my $f9 = substr($result,8,1);
- my $f10 = substr($result,9,1);
- my $f11 = substr($result,10,1);
- my $f12 = substr($result,11,1);
- my $f13 = substr($result,12,1);
+ my $f1 = substr($result,0,1); $f1 = wrapper( $f1 ) if $f1;
+ my $f2 = substr($result,1,1); $f2 = wrapper( $f2 ) if $f2;
+ my $f3 = substr($result,2,1); $f3 = wrapper( $f3 ) if $f3;
+ my $f4 = substr($result,3,1); $f4 = wrapper( $f4 ) if $f4;
+
+ my $f5 = substr($result,4,1); $f5 = wrapper( $f5 ) if $f5;
+ my $f6 = substr($result,5,1); $f6 = wrapper( $f6 ) if $f6;
+ my $f7 = substr($result,6,1); $f7 = wrapper( $f7 ) if $f7;
+ my $f8 = substr($result,7,1); $f8 = wrapper( $f8 ) if $f8;
+
+ my $f9 = substr($result,8,1); $f9 = wrapper( $f9 ) if $f9;
+ my $f10 = substr($result,9,1); $f10 = wrapper( $f10 ) if $f10;
+ my $f11 = substr($result,10,1); $f11 = wrapper( $f11 ) if $f11;
+ my $f12 = substr($result,11,1); $f12 = wrapper( $f12 ) if $f12;
+ my $f13 = substr($result,12,1); $f13 = wrapper( $f13 ) if $f13;
$template->param(index => $index,
"f1$f1" => 1,
return ($field_number,$res);
}
+
+sub wrapper {
+ my ($char) = @_;
+ return "space" if $char eq " ";
+ return "pipe" if $char eq "|";
+ return $char;
+}
+
sub plugin {
my ($input) = @_;
my $index= $input->param('index');
flagsrequired => {editcatalogue => '*'},
debug => 1,
});
- my $f1 = substr($result,0,1);
- my $f2 = substr($result,1,1);
- my $f3 = substr($result,2,1);
- my $f4 = substr($result,3,1);
+ my $f1 = substr($result,0,1); $f1 = wrapper( $f1 ) if $f1;
+ my $f2 = substr($result,1,1); $f2 = wrapper( $f2 ) if $f2;
+ my $f3 = substr($result,2,1); $f3 = wrapper( $f3 ) if $f3;
+ my $f4 = substr($result,3,1); $f4 = wrapper( $f4 ) if $f4;
my $f5 = substr($result,4,3);
- my $f6 = substr($result,7,1);
- my $f7 = substr($result,8,1);
- my $f8 = substr($result,9,1);
- my $f9 = substr($result,10,1);
+ my $f6 = substr($result,7,1); $f6 = wrapper( $f6 ) if $f6;
+ my $f7 = substr($result,8,1); $f7 = wrapper( $f7 ) if $f7;
+ my $f8 = substr($result,9,1); $f8 = wrapper( $f8 ) if $f8;
+ my $f9 = substr($result,10,1); $f9 = wrapper( $f9 ) if $f9;
$template->param(index => $index,
"f1$f1" => 1,
return ( $field_number, $res );
}
+sub wrapper {
+ my ($char) = @_;
+ return "space" if $char eq " ";
+ return "pipe" if $char eq "|";
+ return $char;
+}
+
sub plugin {
my ($input) = @_;
my $index = $input->param('index');
debug => 1,
}
);
- my $f1 = substr( $result, 0, 1 );
+ my $f1 = substr( $result, 0, 1 ); $f1 = wrapper( $f1 ) if $f1;
my $f2 = substr( $result, 1, 3 );
- my $f3 = substr( $result, 4, 1 );
- my $f4 = substr( $result, 5, 1 );
- my $f5 = substr( $result, 6, 1 );
- my $f6 = substr( $result, 7, 1 );
- my $f7 = substr( $result, 8, 1 );
- my $f8 = substr( $result, 9, 1 );
- my $f9 = substr( $result, 10, 1 );
- my $f10 = substr( $result, 11, 1 );
- my $f11 = substr( $result, 12, 1 );
- my $f12 = substr( $result, 13, 1 );
- my $f13 = substr( $result, 14, 1 );
- my $f14 = substr( $result, 15, 1 );
- my $f15 = substr( $result, 16, 1 );
- my $f16 = substr( $result, 17, 1 );
- my $f17 = substr( $result, 18, 1 );
- my $f18 = substr( $result, 19, 1 );
+ my $f3 = substr( $result, 4, 1 ); $f3 = wrapper( $f3 ) if $f3;
+ my $f4 = substr( $result, 5, 1 ); $f4 = wrapper( $f4 ) if $f4;
+ my $f5 = substr( $result, 6, 1 ); $f5 = wrapper( $f5 ) if $f5;
+ my $f6 = substr( $result, 7, 1 ); $f6 = wrapper( $f6 ) if $f6;
+ my $f7 = substr( $result, 8, 1 ); $f7 = wrapper( $f7 ) if $f7;
+ my $f8 = substr( $result, 9, 1 ); $f8 = wrapper( $f8 ) if $f8;
+ my $f9 = substr( $result, 10, 1 ); $f9 = wrapper( $f9 ) if $f9;
+ my $f10 = substr( $result, 11, 1 ); $f10 = wrapper( $f10 ) if $f10;
+ my $f11 = substr( $result, 12, 1 ); $f11 = wrapper( $f11 ) if $f11;
+ my $f12 = substr( $result, 13, 1 ); $f12 = wrapper( $f12 ) if $f12;
+ my $f13 = substr( $result, 14, 1 ); $f13 = wrapper( $f13 ) if $f13;
+ my $f14 = substr( $result, 15, 1 ); $f14 = wrapper( $f14 ) if $f14;
+ my $f15 = substr( $result, 16, 1 ); $f15 = wrapper( $f15 ) if $f15;
+ my $f16 = substr( $result, 17, 1 ); $f16 = wrapper( $f16 ) if $f16;
+ my $f17 = substr( $result, 18, 1 ); $f17 = wrapper( $f17 ) if $f17;
+ my $f18 = substr( $result, 19, 1 ); $f18 = wrapper( $f18 ) if $f18;
$template->param(
index => $index,
return ( $field_number, $res );
}
+sub wrapper {
+ my ($char) = @_;
+ return "space" if $char eq " ";
+ return "pipe" if $char eq "|";
+ return $char;
+}
+
sub plugin {
my ($input) = @_;
my $index = $input->param('index');
debug => 1,
}
);
- my $f1 = substr( $result, 0, 1 );
- my $f2 = substr( $result, 1, 1 );
- my $f3 = substr( $result, 2, 1 );
- my $f4 = substr( $result, 3, 1 );
- my $f5 = substr( $result, 4, 1 );
- my $f6 = substr( $result, 5, 1 );
- my $f7 = substr( $result, 6, 1 );
- my $f8 = substr( $result, 7, 1 );
- my $f9 = substr( $result, 8, 1 );
+ my $f1 = substr( $result, 0, 1 ); $f1 = wrapper( $f1 ) if $f1;
+ my $f2 = substr( $result, 1, 1 ); $f2 = wrapper( $f2 ) if $f2;
+ my $f3 = substr( $result, 2, 1 ); $f3 = wrapper( $f3 ) if $f3;
+ my $f4 = substr( $result, 3, 1 ); $f4 = wrapper( $f4 ) if $f4;
+ my $f5 = substr( $result, 4, 1 ); $f5 = wrapper( $f5 ) if $f5;
+ my $f6 = substr( $result, 5, 1 ); $f6 = wrapper( $f6 ) if $f6;
+ my $f7 = substr( $result, 6, 1 ); $f7 = wrapper( $f7 ) if $f7;
+ my $f8 = substr( $result, 7, 1 ); $f8 = wrapper( $f8 ) if $f8;
+ my $f9 = substr( $result, 8, 1 ); $f9 = wrapper( $f9 ) if $f9;
my $f10 = substr( $result, 9, 4 );
my $f11 = substr( $result, 13, 2 );
return ( $field_number, $res );
}
+sub wrapper {
+ my ($char) = @_;
+ return "space" if $char eq " ";
+ return "dblspace" if $char eq " ";
+ return "pipe" if $char eq "|";
+ return "dblpipe" if $char eq "||";
+ return $char;
+}
+
sub plugin {
my ($input) = @_;
my $index = $input->param('index');
debug => 1,
}
);
- my $f1 = substr( $result, 0, 1 );
- my $f2 = substr( $result, 1, 1 );
- my $f3 = substr( $result, 2, 1 );
- my $f4 = substr( $result, 3, 1 );
+ my $f1 = substr( $result, 0, 1 ); $f1 = wrapper( $f1 ) if $f1;
+ my $f2 = substr( $result, 1, 1 ); $f2 = wrapper( $f2 ) if $f2;
+ my $f3 = substr( $result, 2, 1 ); $f3 = wrapper( $f3 ) if $f3;
+ my $f4 = substr( $result, 3, 1 ); $f4 = wrapper( $f4 ) if $f4;
- my $f5 = substr( $result, 4, 2 );
- my $f6 = substr( $result, 6, 2 );
- my $f7 = substr( $result, 8, 2 );
+ my $f5 = substr( $result, 4, 2 ); $f5 = wrapper( $f5 ) if $f5;
+ my $f6 = substr( $result, 6, 2 ); $f6 = wrapper( $f6 ) if $f6;
+ my $f7 = substr( $result, 8, 2 ); $f7 = wrapper( $f7 ) if $f7;
- my $f8 = substr( $result, 10, 2 );
- my $f9 = substr( $result, 12, 2 );
- my $f10 = substr( $result, 14, 2 );
+ my $f8 = substr( $result, 10, 2 ); $f8 = wrapper( $f8 ) if $f8;
+ my $f9 = substr( $result, 12, 2 ); $f9 = wrapper( $f9 ) if $f9;
+ my $f10 = substr( $result, 14, 2 ); $f10 = wrapper( $f10 ) if $f10;
- my $f11 = substr( $result, 16, 2 );
+ my $f11 = substr( $result, 16, 2 ); $f11 = wrapper( $f11 ) if $f11;
$template->param(
index => $index,
return ($field_number,$res);
}
+
+sub wrapper {
+ my ($char) = @_;
+ return "space" if $char eq " ";
+ return "dblspace" if $char eq " ";
+ return "pipe" if $char eq "|";
+ return "dblpipe" if $char eq "||";
+ return $char;
+}
+
sub plugin {
my ($input) = @_;
my $index= $input->param('index');
flagsrequired => {editcatalogue => '*'},
debug => 1,
});
- my $f1 = substr($result,0,2);
- my $f2 = substr($result,2,2);
- my $f3 = substr($result,4,2);
- my $f4 = substr($result,6,2);
+ my $f1 = substr($result,0,2); $f1 = wrapper( $f1 ) if $f1;
+ my $f2 = substr($result,2,2); $f2 = wrapper( $f2 ) if $f2;
+ my $f3 = substr($result,4,2); $f3 = wrapper( $f3 ) if $f3;
+ my $f4 = substr($result,6,2); $f4 = wrapper( $f4 ) if $f4;
- my $f5 = substr($result,8,1);
+ my $f5 = substr($result,8,1); $f5 = wrapper( $f5 ) if $f5;
$template->param(index => $index,
"f1$f1" => 1,
return ($function_name,$res);
}
+
+sub wrapper {
+ my ($char) = @_;
+ return "space" if $char eq " ";
+ return "dblspace" if $char eq " ";
+ return "pipe" if $char eq "|";
+ return $char;
+}
+
sub plugin {
my ($input) = @_;
my $index= $input->param('index');
my $f1 = substr($result,0,1);
my $f2 = substr($result,1,1);
my $f3 = substr($result,2,1);
- my $f4 = substr($result,3,1);
- my $f5 = substr($result,4,1);
- my $f6 = substr($result,5,1);
- my $f7 = substr($result,6,1);
+ my $f4 = substr($result,3,1); $f4 = wrapper( $f4 ) if $f4;
+ my $f5 = substr($result,4,1); $f5 = wrapper( $f5 ) if $f5;
+ my $f6 = substr($result,5,1); $f6 = wrapper( $f6 ) if $f6;
+ my $f7 = substr($result,6,1); $f7 = wrapper( $f7 ) if $f7;
my $f8 = substr($result,7,2);
- my $f9 = substr($result,9,2);
- my $f10 = substr($result,11,2);
+ my $f9 = substr($result,9,2); $f9 = wrapper( $f9 ) if $f9;
+ my $f10 = substr($result,11,2); $f10 = wrapper( $f10 ) if $f10;
$template->param(index => $index,
"f1$f1" => 1,
"f2$f2" => 1,
return ($function_name,$res);
}
+
+sub wrapper {
+ my ($char) = @_;
+ return "space" if $char eq " ";
+ return "pipe" if $char eq "|";
+ return $char;
+}
+
sub plugin {
my ($input) = @_;
my $index= $input->param('index');
debug => 1,
});
my $f1 = substr($result,0,1);
- my $f2 = substr($result,1,1);
- my $f3 = substr($result,2,1);
+ my $f2 = substr($result,1,1); $f2 = wrapper( $f2 ) if $f2;
+ my $f3 = substr($result,2,1); $f3 = wrapper( $f3 ) if $f3;
my $f4 = substr($result,3,2);
my $f5 = substr($result,5,1);
my $f6 = substr($result,6,1);
return ($function_name,$res);
}
+
+sub wrapper {
+ my ($char) = @_;
+ return "space" if $char eq " ";
+ return "pipe" if $char eq "|";
+ return $char;
+}
+
sub plugin {
my ($input) = @_;
my $index= $input->param('index');
flagsrequired => {editcatalogue => '*'},
debug => 1,
});
- my $f1 = substr($result,0,1);
+ my $f1 = substr($result,0,1); $f1 = wrapper( $f1 ) if $f1;
$template->param(index => $index,
"f1$f1" => 1);
output_html_with_http_headers $input, $cookie, $template->output;
return ($function_name,$res);
}
+
+sub wrapper {
+ my ($char) = @_;
+ return "space" if $char eq " ";
+ return "pipe" if $char eq "|";
+ return $char;
+}
+
sub plugin {
my ($input) = @_;
my $index= $input->param('index');
my $f5 = substr($result,4,1);
my $f6 = substr($result,5,1);
my $f7 = substr($result,6,1);
- my $f8 = substr($result,7,1);
- my $f9 = substr($result,8,1);
- my $f10 = substr($result,9,1);
- my $f11 = substr($result,10,1);
- my $f12 = substr($result,11,1);
- my $f13 = substr($result,12,1);
+ my $f8 = substr($result,7,1); $f8 = wrapper( $f8 ) if $f8;
+ my $f9 = substr($result,8,1); $f9 = wrapper( $f9 ) if $f9;
+ my $f10 = substr($result,9,1); $f10 = wrapper( $f10 ) if $f10;
+ my $f11 = substr($result,10,1); $f11 = wrapper( $f11 ) if $f11;
+ my $f12 = substr($result,11,1); $f12 = wrapper( $f12 ) if $f12;
+ my $f13 = substr($result,12,1); $f13 = wrapper( $f13 ) if $f13;
my $f14 = substr($result,13,1);
my $f15 = substr($result,14,1);
$template->param(index => $index,
return ($function_name,$res);
}
+
+sub wrapper {
+ my ($char) = @_;
+ return "dblpipe" if $char eq "||";
+ return $char;
+}
+
sub plugin {
my ($input) = @_;
my $index= $input->param('index');
flagsrequired => {editcatalogue => '*'},
debug => 1,
});
- my $f1 = substr($result,0,2);
+ my $f1 = substr($result,0,2); $f1 = wrapper( $f1 ) if $f1;
$template->param(index => $index,
"f1$f1" => 1);
output_html_with_http_headers $input, $cookie, $template->output;
return ($function_name,$res);
}
+
+sub wrapper {
+ my ($char) = @_;
+ return "space" if $char eq " ";
+ return "pipe" if $char eq "|";
+ return $char;
+}
+
sub plugin {
my ($input) = @_;
my $index= $input->param('index');
});
my $f1 = substr($result,0,1);
my $f2 = substr($result,1,1);
- my $f3 = substr($result,2,1);
+ my $f3 = substr($result,2,1); $f3 = wrapper( $f3 ) if $f3;
my $f4 = substr($result,3,1);
my $f5 = substr($result,4,3);
my $f6 = substr($result,7,1);
return ($function_name,$res);
}
+
+sub wrapper {
+ my ($char) = @_;
+ return "space" if $char eq " ";
+ return "pipe" if $char eq "|";
+ return $char;
+}
+
sub plugin {
my ($input) = @_;
my $index= $input->param('index');
flagsrequired => {editcatalogue => '*'},
debug => 1,
});
- my $f1 = substr($result,0,1);
+ my $f1 = substr($result,0,1); $f1 = wrapper( $f1 ) if $f1;
my $f2 = substr($result,1,1);
my $f3 = substr($result,2,1);
my $f4 = substr($result,3,1);
return ($function_name,$res);
}
+
+sub wrapper {
+ my ($char) = @_;
+ return "space" if $char eq " ";
+ return "dblspace" if $char eq " ";
+ return "pipe" if $char eq "|";
+ return $char;
+}
+
sub plugin {
my ($input) = @_;
my $index= $input->param('index');
flagsrequired => {editcatalogue => '*'},
debug => 1,
});
- my $f1 = substr($result,0,1);
- my $f2 = substr($result,1,1);
- my $f3 = substr($result,2,1);
- my $f4 = substr($result,3,1);
- my $f5 = substr($result,4,1);
- my $f6 = substr($result,5,1);
- my $f7 = substr($result,6,1);
- my $f8 = substr($result,7,1);
- my $f9 = substr($result,8,1);
- my $f10 = substr($result,9,2);
- my $f11 = substr($result,11,2);
- my $f12 = substr($result,13,2);
- my $f13 = substr($result,15,2);
- my $f14 = substr($result,17,2);
- my $f15 = substr($result,19,1);
- my $f16 = substr($result,20,1);
- my $f17 = substr($result,21,1);
+ my $f1 = substr($result,0,1); $f1 = wrapper( $f1 ) if $f1;
+ my $f2 = substr($result,1,1); $f2 = wrapper( $f2 ) if $f2;
+ my $f3 = substr($result,2,1); $f3 = wrapper( $f3 ) if $f3;
+ my $f4 = substr($result,3,1); $f4 = wrapper( $f4 ) if $f4;
+ my $f5 = substr($result,4,1); $f5 = wrapper( $f5 ) if $f5;
+ my $f6 = substr($result,5,1); $f6 = wrapper( $f6 ) if $f6;
+ my $f7 = substr($result,6,1); $f7 = wrapper( $f7 ) if $f7;
+ my $f8 = substr($result,7,1); $f8 = wrapper( $f8 ) if $f8;
+ my $f9 = substr($result,8,1); $f9 = wrapper( $f9 ) if $f9;
+ my $f10 = substr($result,9,2); $f10 = wrapper( $f10 ) if $f10;
+ my $f11 = substr($result,11,2); $f11 = wrapper( $f11 ) if $f11;
+ my $f12 = substr($result,13,2); $f12 = wrapper( $f12 ) if $f12;
+ my $f13 = substr($result,15,2); $f13 = wrapper( $f13 ) if $f13;
+ my $f14 = substr($result,17,2); $f14 = wrapper( $f14 ) if $f14;
+ my $f15 = substr($result,19,1); $f15 = wrapper( $f15 ) if $f15;
+ my $f16 = substr($result,20,1); $f16 = wrapper( $f16 ) if $f16;
+ my $f17 = substr($result,21,1); $f17 = wrapper( $f17 ) if $f17;
my $f18 = substr($result,22,1);
my $f19 = substr($result,23,1);
my $f20 = substr($result,24,1);
return ( $function_name, $res );
}
+sub wrapper {
+ my ($char) = @_;
+ return "space" if $char eq " ";
+ return "pipe" if $char eq "|";
+ return $char;
+}
+
sub plugin {
my ($input) = @_;
my $index = $input->param('index');
}
);
$result = " nam 3 " unless $result;
- my $f5 = substr( $result, 5, 1 );
- my $f6 = substr( $result, 6, 1 );
- my $f7 = substr( $result, 7, 1 );
- my $f8 = substr( $result, 8, 1 );
+ my $f5 = substr( $result, 5, 1 ); $f5 = wrapper( $f5 ) if $f5;
+ my $f6 = substr( $result, 6, 1 ); $f6 = wrapper( $f6 ) if $f6;
+ my $f7 = substr( $result, 7, 1 ); $f7 = wrapper( $f7 ) if $f7;
+ my $f8 = substr( $result, 8, 1 ); $f8 = wrapper( $f8 ) if $f8;
my $f9 = substr( $result, 9, 1 );
- my $f17 = substr( $result, 17, 1 );
- my $f18 = substr( $result, 18, 1 );
+ my $f17 = substr( $result, 17, 1 ); $f17 = wrapper( $f17 ) if $f17;
+ my $f18 = substr( $result, 18, 1 ); $f18 = wrapper( $f18 ) if $f18;
my $f19 = substr( $result, 19, 1 );
$template->param(
use C4::Reserves;
use C4::Context;
use CGI::Session;
+use C4::Members::Attributes qw(GetBorrowerAttributes);
use Date::Calc qw(
Today
if (defined getframeworkinfo('FA')) {
$fast_cataloging = 1
}
+my $attributes = GetBorrowerAttributes($borrowernumber);
$template->param(
lib_messages_loop => $lib_messages_loop,
circview => 1,
soundon => C4::Context->preference("SoundOn"),
fast_cataloging => $fast_cataloging,
+ extendedattributes => $attributes,
);
# save stickyduedate to session
WHERE surname LIKE ?
OR firstname LIKE ?
OR cardnumber LIKE ?
- ORDER BY surname, firstname);
+ ORDER BY surname, firstname
+ LIMIT 10);
my $sth = $dbh->prepare( $sql );
$sth->execute("$query%", "$query%", "$query%");
<refsynopsisdiv>
<cmdsynopsis>
<command>koha-create</command>
- <arg><option>--create-db</option>|<option>--request-db</option>|<option>--populate-db</option></arg>
+ <arg choice="req"><option>--create-db</option>|<option>--request-db</option>|<option>--populate-db</option></arg>
<arg><option>--marcflavor</option> marc21|normarc|unimarc</arg>
<arg><option>--zebralang</option> en|nb|fr</arg>
<arg><option>--defaultsql</option> /path/to/some.sql</arg>
<para>To create a new Koha instance:</para>
- <para><command>koha-create hslibrary</command></para>
+ <para><command>koha-create --create-db hslibrary</command></para>
<para>The public catalog is now at <uri>http://hslibrary/</uri> and the librarian interface at <uri>http://hslibrary:8080/</uri>.</para>
September 1 2011 Maxime Pelletier becomes the 152nd developer to have a patch pushed
September 2 2011 Steven Callender becomes the 153rd developer to have a patch pushed
September 6 2011 Brett Wilkins becomes the 154th developer to have a patch pushed
-September 11 2011 Meenakshi.R becomes the 155th developer to have a patch pushed
\ No newline at end of file
+September 11 2011 Meenakshi.R becomes the 155th developer to have a patch pushed
+September 23 2011 Joy Nelson becomes the 156th developer to have a patch pushed
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
{
- template_name => "help/edithelp.tmpl",
+ template_name => "help/edithelp.tt",
query => $input,
type => "intranet",
authnotrequired => 0,
sub _get_filepath ($;$) {
my $referer = shift;
- $referer =~ /.*koha\/(.+)\.pl.*/;
- my $from = "help/$1.tmpl";
+ $referer =~ /koha\/(.*)\.pl/;
+ my $from = "help/$1.tt";
my $htdocs = C4::Context->config('intrahtdocs');
my ($theme, $lang) = themelanguage( $htdocs, $from, "intranet", $input );
$debug and print STDERR "help filepath: $htdocs/$theme/$lang/modules/$from";
return "$htdocs/$theme/$lang/modules/$from";
}
-if ( $type eq 'addnew' ) {
- $type = 'create';
-}
-elsif ( $type eq 'create' || $type eq 'save' ) {
+$type = 'create' if $type eq 'addnew';
+if ( $type eq 'create' || $type eq 'save' ) {
my $file = _get_filepath($referer);
- unless (open (OUTFILE, ">$file")) {$error = "Cannot write file: '$file'";} else {
- #open (OUTFILE, ">$file") or die "Cannot write file: '$file'"; # unlikely death, since we just checked
+ open my $fh, ">", $file;
+ if ( $fh ) {
# file is open write to it
- print OUTFILE "<!-- TMPL_INCLUDE NAME=\"help-top.inc\" -->\n";
- print OUTFILE ($type eq 'create') ? "<div class=\"main\">\n$help\n</div>" : $help;
- print OUTFILE "\n<!-- TMPL_INCLUDE NAME=\"help-bottom.inc\" -->\n";
- close OUTFILE;
+ print $fh
+ " [% INCLUDE 'help-top.inc' %]\n",
+ $type eq 'create' ? "<div class=\"main\">\n$help\n</div>" : $help,
+ "\n[% INCLUDE 'help-bottom.inc' %]\n";
+ close $fh;
print $input->redirect("/cgi-bin/koha/help.pl?url=$oldreferer");
}
-
+ else {
+ $error = "Cannot write file: '$file'";
+ }
}
elsif ( $type eq 'modify' ) {
# open file load data, kill include calls, pass data to the template
open (INFILE, $file) or die "Cannot read file '$file'"; # unlikely death, since we just checked
my $help = '';
while ( my $inp = <INFILE> ) {
- unless ( $inp =~ /TMPL\_INCLUDE/ ) {
+ unless ( $inp =~ /INCLUDE/ ) {
$help .= $inp;
}
}
my $query = new CGI;
# find the script that called the online help using the CGI referer()
-our $refer = $query->referer();
+our $refer = $query->param('url');
+$refer = $query->referer() if !$refer || $refer eq 'undefined';
$refer =~ /koha\/(.*)\.pl/;
my $from = "modules/help/$1.tt";
( $theme, $lang ) = themelanguage( $htdocs, $from, "intranet", $query );
}
my $template = C4::Templates->new('intranet', "$htdocs/$theme/$lang/$from");
+$template->param( referer => $refer );
output_html_with_http_headers $query, "", $template->output;
--- /dev/null
+#! /usr/bin/perl
+use strict;
+use warnings;
+use C4::Context;
+my $dbh=C4::Context->dbh;
+$dbh->do("ALTER TABLE borrower_attribute_types ADD COLUMN `display_checkout` TINYINT(1) NOT NULL DEFAULT '0';");
+print "Upgrade done (Added a display_checkout field in borrower_attribute_types table)\n";
`password_allowed` tinyint(1) NOT NULL default 0, -- defines if it is possible to associate a password with this custom field (1 for yes, 0 for no)
`staff_searchable` tinyint(1) NOT NULL default 0, -- defines if this field is searchable via the patron search in the staff client (1 for yes, 0 for no)
`authorised_value_category` varchar(10) default NULL, -- foreign key from authorised_values that links this custom field to an authorized value category
+ `display_checkout` tinyint(1) NOT NULL default 0,-- defines if this field displays in checkout screens
PRIMARY KEY (`code`),
KEY `auth_val_cat_idx` (`authorised_value_category`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
padding-bottom: 10px;
}
+.m880 {
+ display:block;
+ text-align:right;
+ float:right;
+ width:50%;
+ padding-left:20px
+}
+
#advanced-search fieldset {
border : 1px solid #EEE;
-moz-border-radius : 3px;
--- /dev/null
+body, td, pre {
+ font-family: Arial,Helvetica,sans-serif;
+ font-size: 13px;
+}
\ No newline at end of file
<li> <span class="empty">No email stored.</span> </li>
[% END %]
[% END %]
+ [% FOREACH extendedattribute IN extendedattributes %]
+ [% IF ( extendedattribute.display_checkout ) %]
+ [% IF ( extendedattribute.value ) %]
+ <li>[% extendedattribute.description %] : [% IF ( extendedattribute.value_description ) %][% extendedattribute.value_description %][% ELSE %][% extendedattribute.value %][% END %]</li>
+ [% END %]
+ [% END %]
+ [% END %]
<li>Category: [% categoryname %] ([% categorycode %])</li>
<li>Home Library: [% IF ( branchname ) %][% branchname %][% ELSE %][% branch %][% END %]</li>
</ul></div>
[% IF ( intranetreadinghistory ) %][% IF ( readingrecordview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/readingrec.pl?borrowernumber=[% borrowernumber %]">Circulation History</a></li>[% END %]
[% IF ( CAN_user_parameters ) %][% IF ( logview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/tools/viewlog.pl?do_it=1&modules=MEMBERS&modules=circulation&object=[% borrowernumber %]&src=circ">Modification Log</a></li>[% END %]
[% IF ( EnhancedMessagingPreferences ) %]
- [% IF ( messagingview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/messaging.pl?borrowernumber=[% borrowernumber %]">Messaging</a></li>
[% END %]
[% IF ( sentnotices ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/notices.pl?borrowernumber=[% borrowernumber %]">Notices</a></li>
</ul></div>
<li> <span class="empty">No email stored.</span> </li>
[% END %]
[% END %]
+ [% FOREACH extendedattribute IN borrower.extendedattributes %]
+ [% IF ( extendedattribute.display_checkout ) %]
+ [% IF ( extendedattribute.value ) %]
+ <li>[% extendedattribute.description %] : [% IF ( extendedattribute.value_description ) %][% extendedattribute.value_description %][% ELSE %][% extendedattribute.value %][% END %]</li>
+ [% END %]
+ [% END %]
+ [% END %]
<li>Category: [% borrower.description %] ([% borrower.categorycode %])</li>
<li>Home Library: [% IF ( borrower.branchname ) %][% borrower.branchname %][% ELSE %][% borrower.branch %][% END %]</li>
</ul></div>
[% IF ( intranetreadinghistory ) %][% IF ( readingrecordview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/readingrec.pl?borrowernumber=[% borrower.borrowernumber %]">Circulation History</a></li>[% END %]
[% IF ( CAN_user_parameters ) %][% IF ( logview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/tools/viewlog.pl?do_it=1&modules=MEMBERS&modules=circulation&object=[% borrower.borrowernumber %]&src=circ">Modification Log</a></li>[% END %]
[% IF ( EnhancedMessagingPreferences ) %]
- [% IF ( messagingview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/messaging.pl?borrowernumber=[% borrower.borrowernumber %]">Messaging</a></li>
[% END %]
[% IF ( sentnotices ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/notices.pl?borrowernumber=[% borrower.borrowernumber %]">Notices</a></li>
</ul></div>
<ul>
<li><a href="/cgi-bin/koha/reports/dictionary.pl?phase=View%20Dictionary">View Dictionary</a></li>
</ul>
+<h5>Useful Resources</h5>
+<ul>
+<li><a href="http://wiki.koha-community.org/wiki/SQL_Reports_Library" target="blank">Koha Report Library</a></li>
+<li><a href="http://schema.koha-community.org/" target="blank">Koha Database Schema</a></li>
+</ul>
[% IF ( intranetreadinghistory ) %][% IF ( readingrecordview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/readingrec.pl?borrowernumber=[% borrowernumber %]">Circulation History</a></li>[% END %]
[% IF ( CAN_user_parameters ) %][% IF ( logview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/tools/viewlog.pl?do_it=1&modules=MEMBERS&action=MODIFY&object=[% borrowernumber %]">Modification Log</a></li>[% END %]
[% IF ( EnhancedMessagingPreferences ) %]
- [% IF ( messagingview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/messaging.pl?borrowernumber=[% borrowernumber %]">Messaging</a></li>
[% END %]
[% IF ( sentnotices ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/notices.pl?borrowernumber=[% borrowernumber %]">Notices</a></li>
</ul></div>
<li>Sharon Moreland</li>
<li>Nicolas Morin</li>
<li>Mike Mylonas</li>
+ <li>Joy Nelson</li>
<li><a href="https://www.ohloh.net/accounts/cnighswonger">Chris Nighswonger</a></li>
<li>Eric Olsen</li>
<li>H. Passini</li>
<div class="yui-b">
[% IF ( WARNING_extended_attributes_off ) %]
-<div class="dialog message">Because the 'ExtendedPatronAttributes` system preference is currently not enabled, extended patron attributes cannot be given to patron records. Go <a href="/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=ExtendedPatronAttributes">here</a> if you wish to enable this feature.</div>
+<div class="dialog message">Because the 'ExtendedPatronAttributes` system preference is currently not enabled, extended patron attributes cannot be given to patron records. Go <a href="/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=ExtendedPatronAttributes">here</a> if you wish to enable this feature.</div>
[% END %]
[% IF ( attribute_type_form ) %]
[% END %]
<span>Check to make this attribute staff_searchable in the staff patron search.</span>
</li>
+ <li><label for="display_checkout">Display in check-out: </label>
+ [% IF display_checkout_checked %]
+ <input type="checkbox" id="display_checkout" name="display_checkout" checked="checked" />
+ [% ELSE %]
+ <input type="checkbox" id="display_checkout" name="display_checkout" />
+ [% END %]
+ <span>Check to show this attribute in patron check-out.</span>
+ </li>
+
<li><label for="authorised_value_category">Authorized value category: </label>
<select name="authorised_value_category" id="authorised_value_category">
<option value=""></option>
yes: Try
no: "Don't try"
- to guess the patron being entered while typing a patron search on the circulation screen.
+ - Only returns the first 10 results at a time.
-
- pref: itemBarcodeInputFilter
choices:
[% IF ( itemloo.waitingdate ) %]
Waiting
[% ELSE %]
- On hold
+ Item-level hold
[% END %]
[% IF ( canreservefromotherbranches ) %]for <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% itemloo.ReservedForBorrowernumber %]">
[% IF ( hidepatronname ) %]
[% END %]
</a>[% END %]
[% IF ( itemloo.waitingdate ) %]
- at[% ELSE %]expected at
+ at[% ELSE %]for delivery at
[% END %] [% itemloo.ExpectedAtLibrary %]
- since
- [% IF ( itemloo.waitingdate ) %][% itemloo.waitingdate %]
+ [% IF ( itemloo.waitingdate ) %]
+ since [% itemloo.waitingdate %]
[% ELSE %]
- [% IF ( itemloo.reservedate ) %][% itemloo.reservedate %][% END %]
+ [% IF ( itemloo.reservedate ) %](placed [% itemloo.reservedate %])[% END %]
[% END %]
[% END %]
[% UNLESS ( itemloo.itemnotforloan ) %][% UNLESS ( itemloo.onloan ) %][% UNLESS ( itemloo.itemlost ) %][% UNLESS ( itemloo.wthdrawn ) %][% UNLESS ( itemloo.damaged ) %][% UNLESS ( itemloo.transfertwhen ) %][% UNLESS ( itemloo.reservedate ) %]
<td><label for="f2">Type of Publication Date: Publication Dates 1 and 2</label></td>
<td>
<select name="f2" id="f2" size="1">
- [% IF ( f2 ) %]
+ [% IF ( f2space ) %]
<option value=" " selected="selected">Non required value</option>
[% ELSE %]
<option value=" ">Non required value</option>
<td>
<select name="f13" id="f13" size="1">
- [% IF ( f13 ) %]
+ [% IF ( f13dblspace ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td><label for="f15">Script of Title</label></td>
<td>
<select name="f15" id="f15" size="1">
- [% IF ( f15 ) %]
- <option value=" " selected="selected">Non required value</option>
+ [% IF ( f15dblspace ) %]
+ <option value=" " selected="selected">Non required value</option>
[% ELSE %]
- <option value=" ">Non required value</option>
+ <option value=" ">Non required value</option>
[% END %]
[% IF ( f15ba ) %]
<option value="|">|- Filling character</option>
[% END %]
- [% IF ( f1 ) %]
+ [% IF ( f1space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<option value="|">|- Filling character</option>
[% END %]
- [% IF ( f2 ) %]
+ [% IF ( f2space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<option value="|">|- Filling character</option>
[% END %]
- [% IF ( f3 ) %]
+ [% IF ( f3space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<option value="|">|- Filling character</option>
[% END %]
- [% IF ( f4 ) %]
+ [% IF ( f4space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<option value="|">|- Filling character</option>
[% END %]
- [% IF ( f5 ) %]
+ [% IF ( f5space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<option value="|">|- Filling character</option>
[% END %]
- [% IF ( f6 ) %]
+ [% IF ( f6space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<option value="|">|- Filling character</option>
[% END %]
- [% IF ( f7 ) %]
+ [% IF ( f7space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<option value="|">|- Filling character</option>
[% END %]
- [% IF ( f8 ) %]
+ [% IF ( f8space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td><label for="f9">Conference or meeting code:</label></td>
<td>
<select name="f9" id="f9" size="1">
- [% IF ( f1pipe ) %]
+ [% IF ( f9pipe ) %]
<option value="|" selected="selected">|- Filling character</option>
[% ELSE %]
<option value="|">|- Filling character</option>
<option value="|">|- Filling character</option>
[% END %]
- [% IF ( f4 ) %]
+ [% IF ( f4space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td><label for="f3">Colour indicator</label></td>
<td>
<select name="f3" id="f3" size="1">
- [% IF ( f1pipe ) %]
+ [% IF ( f3pipe ) %]
<option value="|" selected="selected">|- Filling character</option>
[% ELSE %]
<option value="|">|- Filling character</option>
<td><label for="f5">Techniques (Drawings, Paintings) 1</label></td>
<td>
<select name="f5" id="f5" size="1">
- [% IF ( f5pipe ) %]
- <option value="|" selected="selected">|- Filling character</option>
+ [% IF ( f5dblpipe ) %]
+ <option value="||" selected="selected">|- Filling character</option>
[% ELSE %]
- <option value="|">|- Filling character</option>
+ <option value="||">||- Filling characters</option>
[% END %]
- [% IF ( f5 ) %]
+ [% IF ( f5dblspace ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td><label for="f6">Techniques (Drawings, Paintings) 2</label></td>
<td>
<select name="f6" id="f6" size="1">
- [% IF ( f6pipe ) %]
- <option value="|" selected="selected">|- Filling character</option>
+ [% IF ( f6dblpipe ) %]
+ <option value="||" selected="selected">||- Filling characters</option>
[% ELSE %]
- <option value="|">|- Filling character</option>
+ <option value="||">||- Filling characters</option>
[% END %]
- [% IF ( f6 ) %]
+ [% IF ( f6dblspace ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td><label for="f7">Techniques (Drawings, Paintings) 3</label></td>
<td>
<select name="f7" id="f7" size="1">
- [% IF ( f7pipe ) %]
- <option value="|" selected="selected">|- Filling character</option>
+ [% IF ( f7dblpipe ) %]
+ <option value="||" selected="selected">||- Filling characters</option>
[% ELSE %]
- <option value="|">|- Filling character</option>
+ <option value="||">||- Filling characters</option>
[% END %]
- [% IF ( f7 ) %]
+ [% IF ( f7dblspace ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td><label for="f8">Technique (Prints) 1</label></td>
<td>
<select name="f8" id="f8" size="1">
- [% IF ( f8pipe ) %]
- <option value="|" selected="selected">|- Filling character</option>
+ [% IF ( f8dblpipe ) %]
+ <option value="||" selected="selected">||- Filling characters</option>
[% ELSE %]
- <option value="|">|- Filling character</option>
+ <option value="||">||- Filling character</option>
[% END %]
- [% IF ( f8 ) %]
+ [% IF ( f8dblspace ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td><label for="f9">Technique (Prints) 2</label></td>
<td>
<select name="f9" id="f9" size="1">
- [% IF ( f9pipe ) %]
- <option value="|" selected="selected">|- Filling character</option>
+ [% IF ( f9dblpipe ) %]
+ <option value="||" selected="selected">||- Filling characters</option>
[% ELSE %]
- <option value="|">|- Filling character</option>
+ <option value="||">||- Filling characters</option>
[% END %]
- [% IF ( f9 ) %]
+ [% IF ( f9dblspace ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td><label for="f10">Technique (Prints) 3</label></td>
<td>
<select name="f10" id="f10" size="1">
- [% IF ( f10pipe ) %]
- <option value="|" selected="selected">|- Filling character</option>
+ [% IF ( f10dblpipe ) %]
+ <option value="||" selected="selected">||- Filling characters</option>
[% ELSE %]
- <option value="|">|- Filling character</option>
+ <option value="||">||- Filling characters</option>
[% END %]
- [% IF ( f10 ) %]
+ [% IF ( f10dblspace ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td><label for="f11">Functional Designation</label></td>
<td>
<select name="f11" id="f11" size="1">
- [% IF ( f11pipe ) %]
- <option value="|" selected="selected">|- Filling character</option>
+ [% IF ( f11dblpipe ) %]
+ <option value="||" selected="selected">||- Filling characters</option>
[% ELSE %]
- <option value="|">|- Filling character</option>
+ <option value="||">||- Filling characters</option>
[% END %]
[% IF ( f11aa ) %]
<td><label for="f1">Specific Material Designation</label></td>
<td>
<select name="f1" id="f1" size="1">
- [% IF ( f1pipe ) %]
- <option value="|" selected="selected">|- Filling character</option>
+ [% IF ( f1dblpipe ) %]
+ <option value="||" selected="selected">||- Filling characters</option>
[% ELSE %]
- <option value="|">|- Filling character</option>
+ <option value="||">||- Filling characters</option>
[% END %]
[% IF ( f1aa ) %]
<td><label for="f2">Material 1</label></td>
<td>
<select name="f2" id="f2" size="1">
- [% IF ( f2pipe ) %]
- <option value="|" selected="selected">|- Filling character</option>
+ [% IF ( f2dblpipe ) %]
+ <option value="||" selected="selected">||- Filling characters</option>
[% ELSE %]
- <option value="|">|- Filling character</option>
+ <option value="||">||- Filling characters</option>
[% END %]
- [% IF ( f2 ) %]
+ [% IF ( f2dblspace ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td><label for="f3">Material 2</label></td>
<td>
<select name="f3" id="f3" size="1">
- [% IF ( f3pipe ) %]
- <option value="|" selected="selected">|- Filling character</option>
+ [% IF ( f3dblpipe ) %]
+ <option value="||" selected="selected">||- Filling characters</option>
[% ELSE %]
- <option value="|">|- Filling character</option>
+ <option value="||">||- Filling characters</option>
[% END %]
- [% IF ( f3 ) %]
+ [% IF ( f3dblspace ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td><label for="f4">Material 3</label></td>
<td>
<select name="f4" id="f4" size="1">
- [% IF ( f4pipe ) %]
- <option value="|" selected="selected">|- Filling character</option>
+ [% IF ( f4dblpipe ) %]
+ <option value="||" selected="selected">||- Filling characters</option>
[% ELSE %]
- <option value="|">|- Filling character</option>
+ <option value="||">||- Filling characters</option>
[% END %]
- [% IF ( f4 ) %]
+ [% IF ( f4dblspace ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td><label for="f4">Relief codes 1:</label></td>
<td>
<select name="f4" id="f4" size="1">
- [% IF ( f4 ) %]
+ [% IF ( f4space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td><label for="f5">Relief codes 2:</label></td>
<td>
<select name="f5" id="f5" size="1">
- [% IF ( f5 ) %]
+ [% IF ( f5space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td>
<select name="f6" id="f6" size="1">
- [% IF ( f6 ) %]
+ [% IF ( f6space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td><label for="f7">Relief codes 4:</label></td>
<td>
<select name="f7" id="f7" size="1">
- [% IF ( f7 ) %]
+ [% IF ( f7space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
</td></tr><tr><td><label for="f9">Prime meridian 1:</label></td>
<td>
<select name="f9" id="f9" size="1">
- [% IF ( f9 ) %]
+ [% IF ( f9dblspace ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td>
<select name="f10" id="f10" size="1">
- [% IF ( f10 ) %]
+ [% IF ( f10dblspace ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
- <option value=" ">non required value</option>
+ <option value=" ">non required value</option>
[% END %]
[% IF ( f10aa ) %]
<td>
<select name="f2" id="f2" size="1">
- [% IF ( f2 ) %]
+ [% IF ( f2space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td><label for="f3">Primary cartographic image 2:</label></td>
<td>
<select name="f3" id="f3" size="1">
- [% IF ( f3 ) %]
+ [% IF ( f3space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td><label for="f1">Literary Text Indicator:</label></td>
<td>
<select name="f1" id="f1" size="1">
- [% IF ( f1 ) %]
+ [% IF ( f1space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td><label for="f8">Accompanying textual material 1:</label></td>
<td>
<select name="f8" id="f8" size="1">
- [% IF ( f8 ) %]
+ [% IF ( f8space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td>
<select name="f9" id="f9" size="1">
- [% IF ( f9 ) %]
+ [% IF ( f9space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td>
<select name="f10" id="f10" size="1">
- [% IF ( f10 ) %]
+ [% IF ( f10space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td>
<select name="f11" id="f11" size="1">
- [% IF ( f11 ) %]
+ [% IF ( f11space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td><label for="f12">Accompanying textual material 5:</label></td>
<td>
<select name="f12" id="f12" size="1">
- [% IF ( f12 ) %]
+ [% IF ( f12space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td><label for="f13">Accompanying textual material 6:</label></td>
<td>
<select name="f13" id="f13" size="1">
- [% IF ( f13 ) %]
+ [% IF ( f13space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
//]]>
</script>
-[% INCLUDE 'popup-bottom.inc' %]
\ No newline at end of file
+[% INCLUDE 'popup-bottom.inc' %]
<td><label for="f1">Instruments ou voix dans un ensemble:</label></td>
<td>
<select name="f1" id="f1" size="1">
- [% IF ( f1pipe ) %]
- <option value="|" selected="selected">|- Caractère de remplissage</option>
+ [% IF ( f1dblpipe ) %]
+ <option value="||" selected="selected">||- Caractères de remplissage</option>
[% ELSE %]
- <option value="|">|- Caractère de remplissage</option>
+ <option value="||">||- Caractères de remplissage</option>
[% END %]
[% IF ( f1ba ) %]
<td>
<select name="f3" id="f3" size="1">
- [% IF ( f3 ) %]
+ [% IF ( f3space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td>
<select name="f1" id="f1" size="1">
- [% IF ( f1 ) %]
+ [% IF ( f1space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td><label for="f1">Illustration - Book 1:</label></td>
<td>
<select name="f1" id="f1" size="1">
- [% IF ( f1 ) %]
+ [% IF ( f1space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td><label for="f2">Illustration - Book 2:</label></td>
<td>
<select name="f2" id="f2" size="1">
- [% IF ( f2 ) %]
+ [% IF ( f2space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td><label for="f3">Illustration - Book 3:</label></td>
<td>
<select name="f3" id="f3" size="1">
- [% IF ( f3 ) %]
+ [% IF ( f3space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td>
<select name="f4" id="f4" size="1">
- [% IF ( f4 ) %]
+ [% IF ( f4space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td>
<select name="f5" id="f5" size="1">
- [% IF ( f5 ) %]
+ [% IF ( f5space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td>
<select name="f6" id="f6" size="1">
- [% IF ( f6 ) %]
+ [% IF ( f6space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td>
<select name="f7" id="f7" size="1">
- [% IF ( f7 ) %]
+ [% IF ( f7space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td>
<select name="f8" id="f8" size="1">
- [% IF ( f8 ) %]
+ [% IF ( f8space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td>
<select name="f9" id="f9" size="1">
- [% IF ( f9 ) %]
+ [% IF ( f9space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td>
<select name="f10" id="f10" size="1">
- [% IF ( f10 ) %]
+ [% IF ( f10dblspace ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td>
<select name="f11" id="f11" size="1">
- [% IF ( f11 ) %]
+ [% IF ( f11dblspace ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td>
<select name="f12" id="f12" size="1">
- [% IF ( f12 ) %]
+ [% IF ( f12dblspace ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td>
<select name="f13" id="f13" size="1">
- [% IF ( f13 ) %]
+ [% IF ( f13dblspace ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td>
<select name="f14" id="f14" size="1">
- [% IF ( f14 ) %]
+ [% IF ( f14dblspace ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td>
<select name="f15" id="f15" size="1">
- [% IF ( f15 ) %]
+ [% IF ( f15space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td>
<select name="f16" id="f16" size="1">
- [% IF ( f16 ) %]
+ [% IF ( f16space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<td>
<select name="f17" id="f17" size="1">
- [% IF ( f17 ) %]
+ [% IF ( f17space ) %]
<option value=" " selected="selected">non required value</option>
[% ELSE %]
<option value=" ">non required value</option>
<option value="|">|- Filling character</option>
[% END %]
- [% IF ( f8 ) %]
+ [% IF ( f8space ) %]
<option value=" " selected="selected"> - Hierarchical relationship undefined</option>
[% ELSE %]
<option value=" "> - Hierarchical relationship undefined</option>
<option value="|">|- Filling character</option>
[% END %]
- [% IF ( f17 ) %]
+ [% IF ( f17space ) %]
<option value=" " selected="selected"> Full level ("item in hand")</option>
[% ELSE %]
<option value=" "> Full level ("item in hand")</option>
<option value="|">|- Filling character</option>
[% END %]
- [% IF ( f18 ) %]
+ [% IF ( f18space ) %]
<option value=" " selected="selected"> - In full ISBD form</option>
[% ELSE %]
<option value=" "> - In full ISBD form</option>
-[% INCLUDE 'help-top.inc' %]
-
+ [% INCLUDE 'help-top.inc' %]
<h1>Circulation</h1>
-
-<p>Circulation functions can be accessed in several different ways. On the main page of the staff client there are some quick links in the center of the page to check items out, in or transfer them. For a complete listing of Circulation functions you can visit the Circulation page which is linked from the top left of every page or from the center of the main page.</p>
-
-<p>Before circulating your collection you will want to set your Global System Preferences, Basic Parameters and Patrons & Circulation Rules.</p>
-
-<p>While in Circulation you can jump between the tabs on the quick search box at the top of the screen by using the following hot keys:</p>
-
+<p>
+Circulation functions can be accessed in several different ways. On the main page of the staff client there are some quick links in the center of the page to check items out, in or transfer them. For a complete listing of Circulation functions you can visit the Circulation page which is linked from the top left of every page or from the center of the main page.
+</p>
+<p>
+Before circulating your collection you will want to set your Global System Preferences, Basic Parameters and Patrons & Circulation Rules.
+</p>
+<p>
+While in Circulation you can jump between the tabs on the quick search box at the top of the screen by using the following hot keys:
+</p>
<ul>
<li>jump to the catalog search with Alt+Q</li>
<li>jump to the checkout with Alt+U
-<ul>
- <li>this will not work for Mac user</li>
-</ul>
-</li>
+ <ul>
+ <li>this will not work for Mac user</li>
+ </ul>
+ </li>
<li>jump to the checkin with Alt+R</li>
</ul>
+<p style="background-color: #ffe599">
+Tip: Mac users use the OPTION button in place of ALT
+</p>
-<p style="background-color: #ffe599">Tip: Mac users use the OPTION button in place of ALT</p>
-
-[% INCLUDE 'help-bottom.inc' %]
\ No newline at end of file
+[% INCLUDE 'help-bottom.inc' %]
tinyMCE.init({
mode : "textareas",
theme : "advanced",
+ content_css : "[% themelang %]/css/tinymce.css",
plugins : "table,save,advhr,advlink,iespell,searchreplace,print,contextmenu",
theme_advanced_disable : "underline,strikethrough,styleselect,image",
- theme_advanced_buttons1_add_before : "save,separator",
- theme_advanced_buttons2_add_before: "cut,copy,paste,separator,search,replace,separator",
- theme_advanced_buttons3_add_before : "tablecontrols,separator",
- theme_advanced_buttons3_add : "iespell,advhr,separator,print",
+ theme_advanced_buttons1_add_before : "save,|",
+ theme_advanced_buttons2_add_before: "cut,copy,paste,|,search,replace,|",
+ theme_advanced_buttons3_add_before : "tablecontrols,|",
+ theme_advanced_buttons3_add : "iespell,advhr,|,print",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_path_location : "bottom",
+++ /dev/null
-[% INCLUDE 'doc-head-open.inc' %]
-<title>Koha › Patrons › [% IF ( unknowuser ) %]Patron does not exist[% ELSE %]Patron Details for [% firstname %] [% surname %] ([% cardnumber %])[% END %]</title>
-[% INCLUDE 'doc-head-close.inc' %]
-</head>
-<body>
-[% INCLUDE 'header.inc' %]
-[% INCLUDE 'patron-search.inc' %]
-
-<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a> › [% IF ( unknowuser ) %]Patron does not exist[% ELSE %]Patron Details for [% firstname %] [% surname %] ([% cardnumber %])[% END %] </div>
-
-<div id="doc3" class="yui-t2">
-
- <div id="bd">
- <div id="yui-main">
- <div class="yui-b">
-[% INCLUDE 'members-toolbar.inc' %]
-[% IF ( error ) %]
-<div class="dialog alert">
-[% IF ( AUTH_UPDATE_FAILED ) %]
-<h3>Userid / Password update failed</h3>
-<strong>Insufficient privileges.</strong>
-<p>Other fields updated.</p>
-[% END %]
-[% IF ( CANT_DELETE_STAFF ) %]
-<h3>Unable to delete staff user</h3>
-<p>Insufficient privileges.</p>
-[% END %]
-[% IF ( CANT_DELETE_OTHERLIBRARY ) %]
-<h3>Unable to delete patrons from other libraries with current settings</h3>
-<p>Insufficient privileges.</p>
-[% END %]
-[% IF ( CANT_DELETE ) %]
-<h3>Unable to delete patron:</h3>
-<p>Insufficient privileges.</p>
-[% END %]
-</div>
-[% END %]
-<div class="yui-g">
-[% IF ( unknowuser ) %]
- <div class="dialog message">
- This patron does not exist.
- </div>
-[% ELSE %]
-
-<table>
- <caption>Message Queue</caption>
- <tr><th>Type</th><th>Subject</th><th>Status</th><th>Time Prepared</th></tr>
-[% IF ( message_queue ) %]
- [% FOREACH message_queu IN message_queue %]
- <tr><td>[% message_queu.message_transport_type %]</td><td>[% message_queu.subject %]</td><td>[% message_queu.status %]</td><td>[% message_queu.time_queued %]</td></tr>
- [% END %]
-[% ELSE %]
- <tr><td colspan="4">There is no record of any messages that have been sent to this patron.</td></tr>
-[% END %]
-</table>
-
-</div>
-
-[% END %] <!-- unknowuser -->
-
-
-</div>
-</div>
-<div class="yui-b">
-[% INCLUDE 'circ-menu.inc' %]
-</div>
-</div>
-[% INCLUDE 'intranet-bottom.inc' %]
dateFormat: 'uk'
[% END %]
});
+
+ $(".message").hide();
+ $(".message-title").click(function(e){
+ $(this).next(".message").toggle();
+ e.preventDefault();
+ });
+
});
//]]>
</script>
-
+<style type="text/css">
+ p.message { display: none; }
+ a.message-title { font-weight: bold; display: block; }
+</style>
</head>
<body>
[% INCLUDE 'header.inc' %]
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a> › Sent notices for [% firstname %] [% surname %]</div>
<div id="doc3" class="yui-t2">
-
- <div id="bd">
- <div id="yui-main">
- <div class="yui-b">
+ <div id="bd">
+ <div id="yui-main">
+ <div class="yui-b">
[% INCLUDE 'circ-toolbar.inc' %]
<h1>Sent notices for [% firstname %] [% surname %]</h1>
+
<table id="noticestable">
<thead>
<tr>
- <th>Subject</th>
- <th>Content</th>
+ <th>Notice</th>
<th>Type</th>
<th>Status</th>
<th>Time</th>
</tr>
</thead>
+[% IF ( QUEUED_MESSAGES ) %]
<tbody>
[% FOREACH QUEUED_MESSAGE IN QUEUED_MESSAGES %]
<tr>
- <td>[% QUEUED_MESSAGE.subject %]</td>
- <td>[% QUEUED_MESSAGE.content %]</td>
- <td>[% QUEUED_MESSAGE.message_transport_type %]</td>
- <td>[% QUEUED_MESSAGE.status %]</td>
+ <td>
+ <a class="message-title" href="#">[% QUEUED_MESSAGE.subject %]</a>
+ <p class="message">
+ [% QUEUED_MESSAGE.content FILTER html_line_break %]
+ </p>
+ </td>
+ <td>
+ [% IF ( QUEUED_MESSAGE.message_transport_type == 'email' ) %]email
+ [% ELSIF ( QUEUED_MESSAGE.message_transport_type == 'print' ) %]print
+ [% ELSIF ( QUEUED_MESSAGE.message_transport_type == 'feed' ) %]feed
+ [% ELSIF ( QUEUED_MESSAGE.message_transport_type == 'sms' ) %]sms
+ [% ELSE %][% QUEUED_MESSAGE.message_transport_type %][% END %]
+ </td>
+ <td>
+ [% IF ( QUEUED_MESSAGE.status == 'sent' ) %]sent
+ [% ELSIF ( QUEUED_MESSAGE.status == 'pending' ) %]pending
+ [% ELSIF ( QUEUED_MESSAGE.status == 'failed' ) %]failed
+ [% ELSIF ( QUEUED_MESSAGE.status == 'deleted' ) %]deleted
+ [% ELSE %][% QUEUED_MESSAGE.status %][% END %]
+ </td>
<td>[% QUEUED_MESSAGE.time_queued %]</td>
</tr>
[% END %]
</tbody>
+ [% ELSE %]
+ <tr><td colspan="4">There is no record of any messages that have been sent to this patron.</td></tr>
+ [% END %]
</table>
</div>
<script language="javascript" type="text/javascript">
tinyMCE.init({
mode : "textareas",
- theme : "advanced",
+ theme : "advanced",
+ content_css : "[% themelang %]/css/tinymce.css",
plugins : "table,save,advhr,advlink,iespell,searchreplace,print,contextmenu",
- theme_advanced_disable : "underline,strikethrough,styleselect,image",
- theme_advanced_buttons1_add_before : "save,separator",
- theme_advanced_buttons2_add_before: "cut,copy,paste,separator,search,replace,separator",
- theme_advanced_buttons3_add_before : "tablecontrols,separator",
- theme_advanced_buttons3_add : "iespell,advhr,separator,print",
+ theme_advanced_buttons1 : "save,|,bold,italic,|,cut,copy,paste,|,search,replace,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,|,link,unlink,anchor,cleanup,help,code,advhr,|,print",
+ theme_advanced_buttons2 : "tablecontrols,|,bullist,numlist,|,outdent,indent,|,undo,redo,|,removeformat,|,visualaid,|,sub,sup,|,charmap",
+ theme_advanced_buttons3 : "",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_path_location : "bottom",
+ theme_advanced_resizing : true,
plugin_insertdate_dateFormat : "%Y-%m-%d",
plugin_insertdate_timeFormat : "%H:%M:%S",
- apply_source_formatting : true
+ apply_source_formatting : true,
+ height : "300",
+ width : "700"
});
</script>
</head>
<label for="action">Action:</label>
<select name="action" id="action">
<option value ="">All</option>
- <option value ="add">Add</option>
- <option value ="del">Delete</option>
- <option value ="mod">Modify</option>
- <option value="issue">Checkout</option>
- <option value="return">Return</option>
+ <option value ="ADD">Add</option>
+ <option value ="DELETE">Delete</option>
+ <option value ="MODIFY">Modify</option>
+ <option value="ISSUE">Checkout</option>
+ <option value="RETURN">Return</option>
</select>
</li>
<li>
<input type="submit" value="Submit" />
<input type="hidden" name="do_it" value="1" />
</fieldset>
- [% IF ( do_it ) %]
- [% IF ( total ) %]
- <h4>[% total %] lines found.</h4>
- <table>
- <tr>
- <th>Date</th>
- <th>Librarian</th>
- <th>Module</th>
- <th>Action</th>
- <th>Object</th>
- <th>Info</th>
- </tr>
- [% FOREACH loopro IN looprow %]
- [% UNLESS ( loop.odd ) %]<tr class="highlight">[% ELSE %]<tr>[% END %]
- <td>[% loopro.timestamp %]</td>
- <td>
- <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% loopro.user %]" title="display detail for this librarian."> [% loopro.user %] </a>
- </td>
- <td>[% loopro.module %]</td>
- <td>[% loopro.action %]</td>
- <td>
- [% IF ( module == 'MEMBERS' ) %]
- <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% loopro.object %]" title="Display member details."> member [% loopro.object %] </a>
- [% ELSE %]
- [% IF ( module == 'CIRCULATION' ) %]
- <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% loopro.object %]" title="Display member details.">
- [% IF ( loopro.object ) %]
- member [% loopro.object %]
- [% END %]
- </a>
- [% ELSE %]
- [% IF ( module == 'CATALOGUING' ) %]
- [% IF ( info == 'item' ) %]
- <a href="/cgi-bin/koha/catalogue/moredetail.pl?item=[% loopro.object %]&biblionumber=[% loopro.biblionumber %]&bi=[% loopro.biblioitemnumber %]#item[% loopro.object %]">Item [% loopro.object %]</a>
- [% ELSE %]
- <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loopro.object %]" title="Display detail for this biblio">biblio [% loopro.object %]</a>
- [% END %]
- [% ELSE %]
- [% IF ( module == 'SERIAL' ) %]
- <a href="/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=[% loopro.object %]"> [% loopro.object %] </a>
- [% ELSE %]
- [% IF ( module == 'AUTHORITIES' ) %]
- <a href="/cgi-bin/koha/authorities/detail.pl?authid=[% loopro.object %]" title="Display detail for this authority">auth [% loopro.object %]</a>
- [% ELSE %]
- [% loopro.object %]
- [% END %]
- [% END %]
- [% END %]
- [% END %]
- [% END %]
- </td>
- <td>
- [% IF ( loopro.CIRCULATION ) %]
- <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loopro.info %]" title="Display detail for this biblio">biblio [% loopro.info |html %]</a>
- [% ELSE %]
- [% loopro.info |html %]
- [% END %]
- </td>
- </tr>
- [% END %]
- </table>
- [% ELSE %]
- <div class="dialog alert">
- No log found
- [% IF ( CATALOGUING ) %]
- for <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% object %]">Bibliographic Record [% object %]</a>
- [% END %]
- [% IF ( MEMBERS ) %]
- for <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% object %]">[% firstname %] [% surname %] ([% cardnumber %])</a>
- [% END %]
- .
- </div>
- [% END %]
- [% END %]
-
</form>
[% END %]
[% IF ( do_it ) %]
<!-- Option: Display Alternate Graphic Representation (MARC 880) -->
<xsl:variable name="display880" select="boolean(marc:datafield[@tag=880])"/>
-
- <xsl:variable name="UseControlNumber" select="marc:sysprefs/marc:syspref[@name='UseControlNumber']"/>
+ <xsl:variable name="UseControlNumber" select="marc:sysprefs/marc:syspref[@name='UseControlNumber']"/>
<xsl:variable name="URLLinkText" select="marc:sysprefs/marc:syspref[@name='URLLinkText']"/>
<xsl:variable name="OPACBaseURL" select="marc:sysprefs/marc:syspref[@name='OPACBaseURL']"/>
<xsl:variable name="SubjectModifier"><xsl:if test="marc:sysprefs/marc:syspref[@name='TraceCompleteSubfields']='1'">,complete-subfield</xsl:if></xsl:variable>
<xsl:with-param name="basetags">100,110,111,700,710,711</xsl:with-param>
<xsl:with-param name="codes">abc</xsl:with-param>
<xsl:with-param name="index">au</xsl:with-param>
+ <xsl:with-param name="UseAuthoritiesForTracings" select="$UseAuthoritiesForTracings"/>
<!-- do not use label 'by ' here, it would be repeated for every occurence of 100,110,111,700,710,711 -->
</xsl:call-template>
</h5>
<xsl:call-template name="showAuthor"><xsl:with-param name="authorfield" select="marc:datafield[@tag=700 or @tag=710 or @tag=711]"/><xsl:with-param name="UseAuthoritiesForTracings" select="$UseAuthoritiesForTracings"/></xsl:call-template>
<xsl:if test="$materialTypeCode!=''">
- <span class="results_summary"><span class="label">Type: </span>
+ <span class="results_summary type"><span class="label">Type: </span>
<xsl:element name="img"><xsl:attribute name="src">/intranet-tmpl/prog/img/famfamfam/<xsl:value-of select="$materialTypeCode"/>.png</xsl:attribute><xsl:attribute name="alt"></xsl:attribute></xsl:element>
<xsl:text> </xsl:text>
<xsl:value-of select="$materialTypeLabel"/>
<xsl:call-template name="m880Select">
<xsl:with-param name="basetags">440,490</xsl:with-param>
<xsl:with-param name="codes">av</xsl:with-param>
- <xsl:with-param name="class">results_summary</xsl:with-param>
+ <xsl:with-param name="class">results_summary series</xsl:with-param>
<xsl:with-param name="label">Series: </xsl:with-param>
<xsl:with-param name="index">se</xsl:with-param>
</xsl:call-template>
<!-- Series -->
<xsl:if test="marc:datafield[@tag=440 or @tag=490]">
- <span class="results_summary"><span class="label">Series: </span>
+ <span class="results_summary series"><span class="label">Series: </span>
<!-- 440 -->
<xsl:for-each select="marc:datafield[@tag=440]">
<a href="/cgi-bin/koha/catalogue/search.pl?q=se:{marc:subfield[@code='a']}">
<!-- Analytics -->
<xsl:if test="$leader7='s'">
- <span class="results_summary"><span class="label">Analytics: </span>
+ <span class="results_summary analytics"><span class="label">Analytics: </span>
<a>
<xsl:choose>
<xsl:when test="$UseControlNumber = '1' and marc:controlfield[@tag=001]">
<!-- Volumes of sets and traced series -->
<xsl:if test="$materialTypeCode='ST' or substring($controlField008,22,1)='m'">
- <span class="results_summary"><span class="label">Volumes: </span>
+ <span class="results_summary volumes"><span class="label">Volumes: </span>
<a>
<xsl:choose>
<xsl:when test="$UseControlNumber = '1' and marc:controlfield[@tag=001]">
<!-- Set -->
<xsl:if test="$leader19='c'">
- <span class="results_summary"><span class="label">Set: </span>
+ <span class="results_summary set"><span class="label">Set: </span>
<xsl:for-each select="marc:datafield[@tag=773]">
<a>
<xsl:choose>
<xsl:call-template name="m880Select">
<xsl:with-param name="basetags">260</xsl:with-param>
<xsl:with-param name="codes">abcg</xsl:with-param>
- <xsl:with-param name="class">results_summary</xsl:with-param>
+ <xsl:with-param name="class">results_summary publisher</xsl:with-param>
<xsl:with-param name="label">Publisher: </xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:if test="marc:datafield[@tag=260]">
- <span class="results_summary"><span class="label">Publisher: </span>
+ <span class="results_summary publisher"><span class="label">Publisher: </span>
<xsl:for-each select="marc:datafield[@tag=260]">
<xsl:if test="marc:subfield[@code='b']">
<a href="/cgi-bin/koha/catalogue/search.pl?q=pb:{marc:subfield[@code='b']}">
<xsl:call-template name="m880Select">
<xsl:with-param name="basetags">250</xsl:with-param>
<xsl:with-param name="codes">ab</xsl:with-param>
- <xsl:with-param name="class">results_summary</xsl:with-param>
+ <xsl:with-param name="class">results_summary edition</xsl:with-param>
<xsl:with-param name="label">Edition: </xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:if test="marc:datafield[@tag=250]">
- <span class="results_summary"><span class="label">Edition: </span>
+ <span class="results_summary edition"><span class="label">Edition: </span>
<xsl:for-each select="marc:datafield[@tag=250]">
<xsl:call-template name="chopPunctuation">
<xsl:with-param name="chopString">
<xsl:call-template name="m880Select">
<xsl:with-param name="basetags">300</xsl:with-param>
<xsl:with-param name="codes">abceg</xsl:with-param>
- <xsl:with-param name="class">results_summary</xsl:with-param>
+ <xsl:with-param name="class">results_summary description</xsl:with-param>
<xsl:with-param name="label">Description: </xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:if test="marc:datafield[@tag=300]">
- <span class="results_summary"><span class="label">Description: </span>
+ <span class="results_summary description"><span class="label">Description: </span>
<xsl:for-each select="marc:datafield[@tag=300]">
<xsl:call-template name="chopPunctuation">
<xsl:with-param name="chopString">
</xsl:if>
<xsl:if test="marc:datafield[@tag=020]">
- <span class="results_summary"><span class="label">ISBN: </span>
+ <span class="results_summary isbn"><span class="label">ISBN: </span>
<xsl:for-each select="marc:datafield[@tag=020]">
<xsl:variable name="isbn" select="marc:subfield[@code='a']"/>
<xsl:value-of select="marc:subfield[@code='a']"/>
</xsl:if>
<xsl:if test="marc:datafield[@tag=022]">
- <span class="results_summary"><span class="label">ISSN: </span>
+ <span class="results_summary issn"><span class="label">ISSN: </span>
<xsl:for-each select="marc:datafield[@tag=022]">
<xsl:value-of select="marc:subfield[@code='a']"/>
<xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
<xsl:call-template name="m880Select">
<xsl:with-param name="basetags">246</xsl:with-param>
<xsl:with-param name="codes">abhfgnp</xsl:with-param>
- <xsl:with-param name="class">results_summary</xsl:with-param>
+ <xsl:with-param name="class">results_summary other_title</xsl:with-param>
<xsl:with-param name="label">Other Title: </xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:if test="marc:datafield[@tag=246]">
- <span class="results_summary"><span class="label">Other Title: </span>
+ <span class="results_summary other_title"><span class="label">Other Title: </span>
<xsl:for-each select="marc:datafield[@tag=246]">
<xsl:call-template name="chopPunctuation">
<xsl:with-param name="chopString">
<xsl:call-template name="m880Select">
<xsl:with-param name="basetags">130,240</xsl:with-param>
<xsl:with-param name="codes">adfklmor</xsl:with-param>
- <xsl:with-param name="class">results_summary</xsl:with-param>
+ <xsl:with-param name="class">results_summary uniform_title</xsl:with-param>
<xsl:with-param name="label">Uniform Title: </xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:if test="marc:datafield[@tag=130]|marc:datafield[@tag=240]|marc:datafield[@tag=730][@ind2!=2]">
- <span class="results_summary"><span class="label">Uniform titles: </span>
+ <span class="results_summary uniform_title"><span class="label">Uniform titles: </span>
<xsl:for-each select="marc:datafield[@tag=130]|marc:datafield[@tag=240]|marc:datafield[@tag=730][@ind2!=2]">
<xsl:variable name="str">
<xsl:for-each select="marc:subfield">
</xsl:if>
<xsl:if test="marc:datafield[substring(@tag, 1, 1) = '6']">
- <span class="results_summary"><span class="label">Subject(s): </span>
+ <span class="results_summary subjects"><span class="label">Subject(s): </span>
<xsl:for-each select="marc:datafield[substring(@tag, 1, 1) = '6']">
<a>
<xsl:choose>
</xsl:if>
<xsl:if test="marc:datafield[@tag=856]">
- <span class="results_summary"><span class="label">Online Resources: </span>
+ <span class="results_summary online_resources"><span class="label">Online Resources: </span>
<xsl:for-each select="marc:datafield[@tag=856]">
<xsl:variable name="SubqText"><xsl:value-of select="marc:subfield[@code='q']"/></xsl:variable>
<a><xsl:attribute name="href"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute>
</xsl:if>
<xsl:if test="marc:datafield[@tag=505]">
<xsl:for-each select="marc:datafield[@tag=505]">
- <span class="results_summary">
+ <span class="results_summary contents">
<xsl:choose>
<xsl:when test="@ind1=0">
<span class="label">Contents:</span>
<xsl:if test="marc:datafield[@tag=773]">
<xsl:for-each select="marc:datafield[@tag=773]">
<xsl:if test="@ind1=0">
- <span class="results_summary"><span class="label">
+ <span class="results_summary in"><span class="label">
<xsl:choose>
<xsl:when test="@ind2=' '">
In:
<!-- 775 Other Edition -->
<xsl:if test="marc:datafield[@tag=775]">
- <span class="results_summary"><span class="label">Other Editions: </span>
+ <span class="results_summary other_editions"><span class="label">Other Editions: </span>
<xsl:for-each select="marc:datafield[@tag=775]">
<xsl:if test="marc:subfield[@code='i']">
<xsl:call-template name="subfieldSelect">
<xsl:if test="marc:datafield[@tag=780]">
<xsl:for-each select="marc:datafield[@tag=780]">
<xsl:if test="@ind1=0">
- <span class="results_summary">
+ <span class="results_summary preceeding_entry">
<xsl:choose>
<xsl:when test="@ind2=0">
<span class="label">Continues:</span>
<!-- 785 -->
<xsl:if test="marc:datafield[@tag=785]">
<xsl:for-each select="marc:datafield[@tag=785]">
- <span class="results_summary">
+ <span class="results_summary succeeding_entry">
<xsl:choose>
<xsl:when test="@ind2=0">
<span class="label">Continued by:</span>
- displays every field on a separate line (to switch between rtl and ltr)
* Pitfalls:
(!) output might be empty
- -->
+ -->
<xsl:template name="m880Select">
<xsl:param name="basetags"/> <!-- e.g. 100,700,110,710 -->
<xsl:param name="codes"/> <!-- e.g. abc -->
<xsl:param name="label"/> <!-- e.g. Edition -->
<xsl:param name="bibno"/>
<xsl:param name="index"/> <!-- e.g. au -->
+ <xsl:param name="UseAuthoritiesForTracings"/>
<xsl:for-each select="marc:datafield[@tag=880]">
<xsl:variable name="code6" select="marc:subfield[@code=6]"/>
<xsl:if test="contains(string($basetags), substring($code6,1,3))">
<span>
- <xsl:if test="boolean($class)">
- <xsl:attribute name="class"><xsl:value-of select="$class"/></xsl:attribute>
- </xsl:if>
<xsl:choose>
- <!-- display right-to-left tags floating right of their left-to-right counterparts -->
- <xsl:when test="substring($code6,string-length($code6)-1,2) ='/r'">
- <xsl:attribute name="style">display:block; text-align:right; float:right; width:50%; padding-left:20px</xsl:attribute>
- <xsl:attribute name="dir">rtl</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="style">display:block; </xsl:attribute>
- </xsl:otherwise>
+ <xsl:when test="boolean($class) and substring($code6,string-length($code6)-1,2) ='/r'">
+ <xsl:attribute name="class"><xsl:value-of select="$class"/> m880</xsl:attribute>
+ <xsl:attribute name="dir">rtl</xsl:attribute>
+ </xsl:when>
+ <xsl:when test="boolean($class)">
+ <xsl:attribute name="class"><xsl:value-of select="$class"/></xsl:attribute>
+ <xsl:attribute name="style">display:block; </xsl:attribute>
+ </xsl:when>
+ <xsl:when test="substring($code6,string-length($code6)-1,2) ='/r'">
+ <xsl:attribute name="class"><xsl:value-of select="$class"/> m880</xsl:attribute>
+ </xsl:when>
</xsl:choose>
<xsl:if test="boolean($label)">
<span class="label">
padding : 0 0 .5em 0;
}
+.m880 {
+ display:block;
+ text-align:right;
+ float:right;
+ width:50%;
+ padding-left:20px
+}
+
.searchresults .tagstatus {
display: block;
color: #707070;
#renewall_link {
background-image : url(../../images/checks.png);
-}
\ No newline at end of file
+}
<xsl:if test="$DisplayOPACiconsXSLT!='0'">
<xsl:if test="$materialTypeCode!=''">
- <span class="results_summary"><span class="label">Type: </span>
+ <span class="results_summary type"><span class="label">Type: </span>
<xsl:element name="img"><xsl:attribute name="src">/opac-tmpl/prog/famfamfam/<xsl:value-of select="$materialTypeCode"/>.png</xsl:attribute><xsl:attribute name="alt">materialTypeLabel</xsl:attribute><xsl:attribute name="class">materialtype</xsl:attribute></xsl:element>
<xsl:value-of select="$materialTypeLabel"/>
</span>
<xsl:call-template name="m880Select">
<xsl:with-param name="basetags">440,490</xsl:with-param>
<xsl:with-param name="codes">av</xsl:with-param>
- <xsl:with-param name="class">results_summary</xsl:with-param>
+ <xsl:with-param name="class">results_summary series</xsl:with-param>
<xsl:with-param name="label">Series: </xsl:with-param>
<xsl:with-param name="index">se</xsl:with-param>
</xsl:call-template>
<!-- Series -->
<xsl:if test="marc:datafield[@tag=440 or @tag=490]">
- <span class="results_summary"><span class="label">Series: </span>
+ <span class="results_summary series"><span class="label">Series: </span>
<!-- 440 -->
<xsl:for-each select="marc:datafield[@tag=440]">
<a href="/cgi-bin/koha/opac-search.pl?q=se:{marc:subfield[@code='a']}">
<!-- Analytics -->
<xsl:if test="$leader7='s'">
- <span class="results_summary"><span class="label">Analytics: </span>
+ <span class="results_summary analytics"><span class="label">Analytics: </span>
<a>
<xsl:choose>
<xsl:when test="$UseControlNumber = '1' and marc:controlfield[@tag=001]">
<!-- Volumes of sets and traced series -->
<xsl:if test="$materialTypeCode='ST' or substring($controlField008,22,1)='m'">
- <span class="results_summary"><span class="label">Volumes: </span>
+ <span class="results_summary volumes"><span class="label">Volumes: </span>
<a>
<xsl:choose>
<xsl:when test="$UseControlNumber = '1' and marc:controlfield[@tag=001]">
<!-- Set -->
<xsl:if test="$leader19='c'">
- <span class="results_summary"><span class="label">Set: </span>
+ <span class="results_summary set"><span class="label">Set: </span>
<xsl:for-each select="marc:datafield[@tag=773]">
<a>
<xsl:choose>
<xsl:call-template name="m880Select">
<xsl:with-param name="basetags">260</xsl:with-param>
<xsl:with-param name="codes">abcg</xsl:with-param>
- <xsl:with-param name="class">results_summary</xsl:with-param>
+ <xsl:with-param name="class">results_summary publisher</xsl:with-param>
<xsl:with-param name="label">Publisher: </xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:if test="marc:datafield[@tag=260]">
- <span class="results_summary"><span class="label">Publisher: </span>
+ <span class="results_summary publisher"><span class="label">Publisher: </span>
<xsl:for-each select="marc:datafield[@tag=260]">
<xsl:if test="marc:subfield[@code='a']">
<xsl:call-template name="subfieldSelect">
<xsl:call-template name="m880Select">
<xsl:with-param name="basetags">250</xsl:with-param>
<xsl:with-param name="codes">ab</xsl:with-param>
- <xsl:with-param name="class">results_summary</xsl:with-param>
+ <xsl:with-param name="class">results_summary edition</xsl:with-param>
<xsl:with-param name="label">Edition: </xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:if test="marc:datafield[@tag=250]">
- <span class="results_summary"><span class="label">Edition: </span>
+ <span class="results_summary edition"><span class="label">Edition: </span>
<xsl:for-each select="marc:datafield[@tag=250]">
<xsl:call-template name="chopPunctuation">
<xsl:with-param name="chopString">
<xsl:call-template name="m880Select">
<xsl:with-param name="basetags">300</xsl:with-param>
<xsl:with-param name="codes">abceg</xsl:with-param>
- <xsl:with-param name="class">results_summary</xsl:with-param>
+ <xsl:with-param name="class">results_summary description</xsl:with-param>
<xsl:with-param name="label">Description: </xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:if test="marc:datafield[@tag=300]">
- <span class="results_summary"><span class="label">Description: </span>
+ <span class="results_summary description"><span class="label">Description: </span>
<xsl:for-each select="marc:datafield[@tag=300]">
<xsl:call-template name="chopPunctuation">
<xsl:with-param name="chopString">
</xsl:if>
<xsl:if test="marc:datafield[@tag=020]">
- <span class="results_summary"><span class="label">ISBN: </span>
+ <span class="results_summary isbn"><span class="label">ISBN: </span>
<xsl:for-each select="marc:datafield[@tag=020]">
<xsl:variable name="isbn" select="marc:subfield[@code='a']"/>
<xsl:value-of select="marc:subfield[@code='a']"/>
</xsl:if>
<xsl:if test="marc:datafield[@tag=022]">
- <span class="results_summary"><span class="label">ISSN: </span>
+ <span class="results_summary issn"><span class="label">ISSN: </span>
<xsl:for-each select="marc:datafield[@tag=022]">
<xsl:value-of select="marc:subfield[@code='a']"/>
<xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
<xsl:call-template name="m880Select">
<xsl:with-param name="basetags">246</xsl:with-param>
<xsl:with-param name="codes">abhfgnp</xsl:with-param>
- <xsl:with-param name="class">results_summary</xsl:with-param>
+ <xsl:with-param name="class">results_summary other_title</xsl:with-param>
<xsl:with-param name="label">Other Title: </xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:if test="marc:datafield[@tag=246]">
- <span class="results_summary"><span class="label">Other Title: </span>
+ <span class="results_summary other_title"><span class="label">Other Title: </span>
<xsl:for-each select="marc:datafield[@tag=246]">
<xsl:call-template name="chopPunctuation">
<xsl:with-param name="chopString">
<xsl:call-template name="m880Select">
<xsl:with-param name="basetags">130,240</xsl:with-param>
<xsl:with-param name="codes">adfklmor</xsl:with-param>
- <xsl:with-param name="class">results_summary</xsl:with-param>
- <xsl:with-param name="label">Uniform Title: </xsl:with-param>
+ <xsl:with-param name="class">results_summary uniform_title</xsl:with-param>
+ <xsl:with-param name="label">Uniform titles: </xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:if test="marc:datafield[@tag=130]|marc:datafield[@tag=240]|marc:datafield[@tag=730][@ind2!=2]">
- <span class="results_summary"><span class="label">Uniform titles: </span>
+ <span class="results_summary uniform_titles"><span class="label">Uniform titles: </span>
<xsl:for-each select="marc:datafield[@tag=130]|marc:datafield[@tag=240]|marc:datafield[@tag=730][@ind2!=2]">
<xsl:variable name="str">
<xsl:for-each select="marc:subfield">
</xsl:if>
<xsl:if test="marc:datafield[substring(@tag, 1, 1) = '6']">
- <span class="results_summary"><span class="label">Subject(s): </span>
+ <span class="results_summary subjects"><span class="label">Subject(s): </span>
<xsl:for-each select="marc:datafield[substring(@tag, 1, 1) = '6']">
<a>
<xsl:choose>
<!-- Image processing code added here, takes precedence over text links including y3z text -->
<xsl:if test="marc:datafield[@tag=856]">
- <span class="results_summary"><span class="label">Online Resources: </span>
+ <span class="results_summary online_resources"><span class="label">Online Resources: </span>
<xsl:for-each select="marc:datafield[@tag=856]">
<xsl:variable name="SubqText"><xsl:value-of select="marc:subfield[@code='q']"/></xsl:variable>
<a><xsl:attribute name="href"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute>
<xsl:if test="marc:datafield[@tag=773]">
<xsl:for-each select="marc:datafield[@tag=773]">
<xsl:if test="@ind1=0">
- <span class="results_summary"><span class="label">
+ <span class="results_summary in"><span class="label">
<xsl:choose>
<xsl:when test="@ind2=' '">
In:
</xsl:if>
<xsl:for-each select="marc:datafield[@tag=520]">
- <span class="results_summary"><span class="label">
+ <span class="results_summary summary"><span class="label">
<xsl:choose>
<xsl:when test="@ind1=0"><xsl:text>Subject: </xsl:text></xsl:when>
<xsl:when test="@ind1=1"><xsl:text>Review: </xsl:text></xsl:when>
<!-- 866 holdings public note -->
<xsl:if test="marc:datafield[@tag=866]">
- <span class="results_summary"><span class="label">Holdings Note: </span>
+ <span class="results_summary holdings_note"><span class="label">Holdings Note: </span>
<xsl:for-each select="marc:datafield[@tag=866]">
<xsl:value-of select="marc:subfield[@code='z']"/>
<xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
<!-- 775 Other Edition -->
<xsl:if test="marc:datafield[@tag=775]">
- <span class="results_summary"><span class="label">Other Editions: </span>
+ <span class="results_summary other_editions"><span class="label">Other Editions: </span>
<xsl:for-each select="marc:datafield[@tag=775]">
<xsl:if test="marc:subfield[@code='i']">
<xsl:call-template name="subfieldSelect">
<xsl:if test="marc:datafield[@tag=780]">
<xsl:for-each select="marc:datafield[@tag=780]">
<xsl:if test="@ind1=0">
- <span class="results_summary">
+ <span class="results_summary preceeding_entry">
<xsl:choose>
<xsl:when test="@ind2=0">
<span class="label">Continues:</span>
<xsl:if test="marc:datafield[@tag=785]">
<xsl:for-each select="marc:datafield[@tag=785]">
<xsl:if test="@ind1=0">
- <span class="results_summary">
+ <span class="results_summary succeeding_entry">
<xsl:choose>
<xsl:when test="@ind2=0">
<span class="label">Continued by:</span>
<xsl:variable name="code6" select="marc:subfield[@code=6]"/>
<xsl:if test="contains(string($basetags), substring($code6,1,3))">
<span>
- <xsl:if test="boolean($class)">
- <xsl:attribute name="class"><xsl:value-of select="$class"/></xsl:attribute>
- </xsl:if>
<xsl:choose>
- <!-- display right-to-left tags floating right of their left-to-right counterparts -->
- <xsl:when test="substring($code6,string-length($code6)-1,2) ='/r'">
- <xsl:attribute name="style">display:block; text-align:right; float:right; width:50%; padding-left:20px</xsl:attribute>
- <xsl:attribute name="dir">rtl</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="style">display:block; </xsl:attribute>
- </xsl:otherwise>
+ <xsl:when test="boolean($class) and substring($code6,string-length($code6)-1,2) ='/r'">
+ <xsl:attribute name="class"><xsl:value-of select="$class"/> m880</xsl:attribute>
+ <xsl:attribute name="dir">rtl</xsl:attribute>
+ </xsl:when>
+ <xsl:when test="boolean($class)">
+ <xsl:attribute name="class"><xsl:value-of select="$class"/></xsl:attribute>
+ <xsl:attribute name="style">display:block; </xsl:attribute>
+ </xsl:when>
+ <xsl:when test="substring($code6,string-length($code6)-1,2) ='/r'">
+ <xsl:attribute name="class"><xsl:value-of select="$class"/> m880</xsl:attribute>
+ </xsl:when>
</xsl:choose>
<xsl:if test="boolean($label)">
<span class="label">
use C4::Members;
use C4::Branch;
use C4::Accounts;
+use C4::Members::Attributes qw(GetBorrowerAttributes);
my $input=new CGI;
my ($picture, $dberror) = GetPatronImage($data->{'cardnumber'});
$template->param( picture => 1 ) if $picture;
+my $attributes = GetBorrowerAttributes($borrowernumber);
$template->param(
finesview => 1,
totalcredit => $totalcredit,
is_child => ($data->{'category_type'} eq 'C'),
reverse_col => $reverse_col,
- accounts => $accts );
+ accounts => $accts,
+ extendedattributes => $attributes,
+);
output_html_with_http_headers $input, $cookie, $template->output;
use C4::Branch;
use C4::Accounts;
use C4::Items;
+use C4::Members::Attributes qw(GetBorrowerAttributes);
my $input=new CGI;
$template->param( adultborrower => 1 ) if ( $data->{category_type} eq 'A' );
my ($picture, $dberror) = GetPatronImage($data->{'cardnumber'});
$template->param( picture => 1 ) if $picture;
+ my $attributes = GetBorrowerAttributes($borrowernumber);
$template->param(
borrowernumber => $borrowernumber,
branchcode => $data->{'branchcode'},
branchname => GetBranchName($data->{'branchcode'}),
is_child => ($data->{'category_type'} eq 'C'),
+ extendedattributes => $attributes,
);
output_html_with_http_headers $input, $cookie, $template->output;
}
use C4::Accounts;
use C4::Items;
use C4::Branch;
+use C4::Members::Attributes qw(GetBorrowerAttributes);
my $input=new CGI;
$template->param( adultborrower => 1 ) if ( $data->{'category_type'} eq 'A' );
my ($picture, $dberror) = GetPatronImage($data->{'cardnumber'});
$template->param( picture => 1 ) if $picture;
+ my $attributes = GetBorrowerAttributes($borrowernumber);
$template->param(
borrowernumber => $borrowernumber,
branchcode => $data->{'branchcode'},
branchname => GetBranchName($data->{'branchcode'}),
is_child => ($data->{'category_type'} eq 'C'),
+ extendedattributes => $attributes,
);
output_html_with_http_headers $input, $cookie, $template->output;
}
use C4::Context;
use C4::Members;
use C4::Branch;
+use C4::Members::Attributes qw(GetBorrowerAttributes);
#use C4::Acquisitions;
use C4::Output;
$template->param( adultborrower => 1 ) if ( $bor->{'category_type'} eq 'A' );
my ($picture, $dberror) = GetPatronImage($bor->{'cardnumber'});
$template->param( picture => 1 ) if $picture;
-
+my $attributes = GetBorrowerAttributes($bor->{'borrowernumber'});
+
$template->param(
borrowernumber => $bor->{'borrowernumber'},
cardnumber => $bor->{'cardnumber'},
branchname => GetBranchName($bor->{'branchcode'}),
loop => \@loop,
is_child => ($bor->{'category_type'} eq 'C'),
+ extendedattributes => $attributes,
);
output_html_with_http_headers $input, $cookie, $template->output;
use C4::Branch;
use C4::Circulation;
use CGI;
+use C4::Members::Attributes qw(GetBorrowerAttributes);
use Digest::MD5 qw(md5_base64);
$template->param( adultborrower => 1 ) if ( $bor->{'category_type'} eq 'A' );
my ($picture, $dberror) = GetPatronImage($bor->{'cardnumber'});
$template->param( picture => 1 ) if $picture;
-
+my $attributes = GetBorrowerAttributes($bor->{'borrowernumber'});
+
$template->param( othernames => $bor->{'othernames'},
surname => $bor->{'surname'},
firstname => $bor->{'firstname'},
userid => $bor->{'userid'},
destination => $destination,
is_child => ($bor->{'category_type'} eq 'C'),
- defaultnewpassword => $defaultnewpassword
+ defaultnewpassword => $defaultnewpassword,
+ extendedattributes => $attributes,
);
+++ /dev/null
-#!/usr/bin/perl
-
-# Copyright 2008 LibLime
-#
-# This file is part of Koha.
-#
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
-#
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with Koha; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-
-use strict;
-use warnings;
-
-use CGI;
-use C4::Context;
-use C4::Auth;
-use C4::Output;
-use C4::Members;
-use C4::Members::Messaging;
-use C4::Dates;
-use C4::Reserves;
-use C4::Circulation;
-use C4::Koha;
-use C4::Letters;
-use C4::Biblio;
-use C4::Reserves;
-use C4::Branch; # GetBranchName
-
-use Data::Dumper;
-
-use vars qw($debug);
-
-BEGIN {
- $debug = $ENV{DEBUG} || 0;
-}
-
-my $dbh = C4::Context->dbh;
-
-my $query = CGI->new();
-
-my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
- {
- template_name => 'members/messaging.tmpl',
- query => $query,
- type => "intranet",
- authnotrequired => 0,
- flagsrequired => { borrowers => 1 },
- debug => 1,
- }
-);
-my $borrowernumber = $query->param('borrowernumber');
-my $borrower = GetMember( 'borrowernumber' => $borrowernumber );
-my $branch = C4::Context->userenv->{'branch'};
-
-$template->param( $borrower );
-
-$borrower = GetMemberDetails( $borrowernumber );
-
-
- if ( $borrower->{'category_type'} eq 'C') {
- my ( $catcodes, $labels ) = GetborCatFromCatType( 'A', 'WHERE category_type = ?' );
- my $cnt = scalar(@$catcodes);
- $template->param( 'CATCODE_MULTI' => 1) if $cnt > 1;
- $template->param( 'catcode' => $catcodes->[0]) if $cnt == 1;
- }
-
-my ($picture, $dberror) = GetPatronImage($borrower->{'cardnumber'});
-$template->param( picture => 1 ) if $picture;
-
-# get some recent messages sent to this borrower for display:
-my $message_queue = C4::Letters::GetQueuedMessages( { borrowernumber => $query->param('borrowernumber') } );
-
-$template->param( messagingview => 1,
- message_queue => $message_queue,
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
- borrowernumber => $borrowernumber,
- branchname => GetBranchName($borrower->{'branchcode'}),
- dateformat => C4::Context->preference("dateformat"),
- categoryname => $borrower->{'description'},
- $borrower->{'categorycode'} => 1,
-);
-
-#$messaging_preferences->{'SMSnumber'}{'value'} = defined $borrower->{'smsalertnumber'}
-# ? $borrower->{'smsalertnumber'} : $borrower->{'mobile'};
-
-$template->param( %{ $borrower } );
-$template->param(
- messagingview => 1,
- is_child => ($borrower->{'category_type'} eq 'C'),
- );
-
-output_html_with_http_headers $query, $cookie, $template->output;
use C4::Form::MessagingPreferences;
use C4::NewsChannels; #get slip news
use List::MoreUtils qw/uniq/;
+use C4::Members::Attributes qw(GetBorrowerAttributes);
#use Smart::Comments;
#use Data::Dumper;
$template->param(SMSSendDriver => C4::Context->preference("SMSSendDriver"));
$template->param(SMSnumber => defined $data->{'smsalertnumber'} ? $data->{'smsalertnumber'} : $data->{'mobile'});
}
+my $attributes = GetBorrowerAttributes($borrowernumber);
$template->param(
detailview => 1,
"dateformat_" . (C4::Context->preference("dateformat") || '') => 1,
samebranch => $samebranch,
quickslip => $quickslip,
+ extendedattributes => $attributes,
);
#Get the slip news items
use C4::Members;
use C4::Branch;
use C4::Letters;
+use C4::Members::Attributes qw(GetBorrowerAttributes);
use C4::Dates qw/format_date/;
my $input=new CGI;
# Getting the messages
my $queued_messages = C4::Letters::GetQueuedMessages({borrowernumber => $borrowernumber});
$template->param( %{$borrower} );
+my $attributes = GetBorrowerAttributes($borrowernumber);
$template->param(
QUEUED_MESSAGES => $queued_messages,
borrowernumber => $borrowernumber,
- sentnotices => 1
- );
+ sentnotices => 1,
+ branchname => GetBranchName($borrower->{'branchcode'}),
+ categoryname => $borrower->{'description'},
+ extendedattributes => $attributes,
+);
output_html_with_http_headers $input, $cookie, $template->output;
use C4::Koha;
use C4::Overdues;
use C4::Branch;
+use C4::Members::Attributes qw(GetBorrowerAttributes);
my $input = CGI->new;
if ($picture) {
$b_ref->{has_picture} = 1;
}
+ $b_ref->{extendedattributes} = GetBorrowerAttributes($borrowernumber);
$b_ref->{branchname} = GetBranchName( $b_ref->{branchcode} );
return;
use List::MoreUtils qw/any/;
use C4::Dates qw/format_date/;
+use C4::Members::Attributes qw(GetBorrowerAttributes);
my $input = CGI->new;
my ($picture, $dberror) = GetPatronImage($data->{'cardnumber'});
$template->param( picture => 1 ) if $picture;
+my $attributes = GetBorrowerAttributes($borrowernumber);
$template->param(
readingrecordview => 1,
is_child => ($data->{'category_type'} eq 'C'),
branchname => GetBranchName($data->{'branchcode'}),
showfulllink => (scalar @loop_reading > 50),
- loop_reading => \@loop_reading);
+ loop_reading => \@loop_reading,
+ extendedattributes => $attributes,
+);
output_html_with_http_headers $input, $cookie, $template->output;
# get borrower information ....
my ( $borr ) = GetMemberDetails( $borrowernumber );
+my ( $patronemail ) = GetFirstValidEmailAddress($borrowernumber);
my $lib = GetBranchDetail($borr->{'branchcode'});
# handle the new information....
exit;
}
+if ( !$patronemail || $patronemail eq '' ) {
+ $patronemail = $updateemailaddress;
+};
+
if ( $query->param('modify') ) {
# get all the fields:
$message .= "\n\nThanks,\nKoha\n\n";
my %mail = (
To => $updateemailaddress,
- From => $updateemailaddress,
+ From => $patronemail,
Subject => "User Request for update of Record.",
Message => $message,
'Content-Type' => 'text/plain; charset="utf8"',
labels members misc offline_circ opac patroncards reports reserve reviews rotating_collections
serials sms suggestion t tags test tools virtualshelves);
-my @dirs = qw( acqui admin basket circ debian errors offline_circ reserve reviews rotating_collections
+my @dirs = qw( acqui admin authorities basket circ debian errors offline_circ reserve reviews rotating_collections
serials sms virtualshelves );
if ( not $ENV{TEST_QA} ) {
--- /dev/null
+#!/usr/bin/perl
+#
+# Copyright 2011 MJ Ray and software.coop
+# This Koha test module is a stub!
+# Add more tests here!!!
+
+use strict;
+use warnings;
+use Test::More tests => 5;
+
+# We need C4::Dates to handle the dates
+use C4::Dates;
+
+BEGIN {
+ use_ok('C4::Log');
+}
+my $success;
+
+eval {
+ # FIXME: are we sure there is an member number 1?
+ # FIXME: can we remove this log entry somehow?
+ logaction("MEMBERS","MODIFY",1,"test operation");
+ $success = 1;
+} or do {
+ diag($@);
+ $success = 0;
+};
+ok($success, "logaction seemed to work");
+
+eval {
+ # FIXME: US formatted date hardcoded into test for now
+ $success = scalar(@{GetLogs("","","",undef,undef,"","")});
+} or do {
+ diag($@);
+ $success = 0;
+};
+ok($success, "GetLogs returns results for an open search");
+
+eval {
+ # FIXME: US formatted date hardcoded into test for now
+ my $date = C4::Dates->new();
+ $success = scalar(@{GetLogs($date->today(),$date->today(),"",undef,undef,"","")});
+} or do {
+ diag($@);
+ $success = 0;
+};
+ok($success, "GetLogs accepts dates in an All-matching search");
+
+eval {
+ $success = scalar(@{GetLogs("","","",["MEMBERS"],["MODIFY"],1,"")});
+} or do {
+ diag($@);
+ $success = 0;
+};
+ok($success, "GetLogs seemed to find ".$success." like our test record in a tighter search");
#!/usr/bin/perl
# Copyright 2010 BibLibre
+# Copyright 2011 MJ Ray and software.coop
#
# This file is part of Koha.
#
if ($do_it) {
my @data;
- my $results = GetLogs($datefrom,$dateto,$user,\@modules,\@action,$object,$info);
+ my ($results,$modules,$action);
+ if ($action[0] ne '') { $action = \@action; } # match All means no limit
+ if ($modules[0] ne '') { $modules = \@modules; } # match All means no limit
+ $results = GetLogs($datefrom,$dateto,$user,$modules,$action,$object,$info);
@data=@$results;
my $total = scalar @data;
foreach my $result (@data){