Merge remote-tracking branch 'kc/new/bug_6755' into kcmaster
authorChris Cormack <chrisc@catalyst.net.nz>
Mon, 26 Sep 2011 10:14:36 +0000 (23:14 +1300)
committerChris Cormack <chrisc@catalyst.net.nz>
Mon, 26 Sep 2011 10:14:36 +0000 (23:14 +1300)
84 files changed:
C4/Log.pm
C4/Members.pm
C4/Members/AttributeTypes.pm
C4/Members/Attributes.pm
C4/Templates.pm
acqui/basket.pl
acqui/booksellers.pl
admin/patron-attr-types.pl
authorities/authorities.pl
authorities/detail.pl
cataloguing/value_builder/unimarc_field_100.pl
cataloguing/value_builder/unimarc_field_105.pl
cataloguing/value_builder/unimarc_field_110.pl
cataloguing/value_builder/unimarc_field_115a.pl
cataloguing/value_builder/unimarc_field_115b.pl
cataloguing/value_builder/unimarc_field_116.pl
cataloguing/value_builder/unimarc_field_117.pl
cataloguing/value_builder/unimarc_field_120.pl
cataloguing/value_builder/unimarc_field_121a.pl
cataloguing/value_builder/unimarc_field_125b.pl
cataloguing/value_builder/unimarc_field_126a.pl
cataloguing/value_builder/unimarc_field_128b.pl
cataloguing/value_builder/unimarc_field_130.pl
cataloguing/value_builder/unimarc_field_135a.pl
cataloguing/value_builder/unimarc_field_140.pl
cataloguing/value_builder/unimarc_leader.pl
circ/circulation.pl
circ/ysearch.pl
debian/docs/koha-create.xml
docs/history.txt
edithelp.pl
help.pl
installer/data/mysql/atomicupdate/0009-patron-attr-display-checkout.pl [new file with mode: 0644]
installer/data/mysql/kohastructure.sql
koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css
koha-tmpl/intranet-tmpl/prog/en/css/tinymce.css [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/includes/circ-menu.inc
koha-tmpl/intranet-tmpl/prog/en/includes/circ-menu.tt
koha-tmpl/intranet-tmpl/prog/en/includes/guided-reports-view.inc
koha-tmpl/intranet-tmpl/prog/en/includes/members-menu.inc
koha-tmpl/intranet-tmpl/prog/en/modules/about.tt
koha-tmpl/intranet-tmpl/prog/en/modules/admin/patron-attr-types.tt
koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref
koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt
koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_100.tt
koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_105.tt
koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_110.tt
koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_115a.tt
koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_116.tt
koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_117.tt
koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_120.tt
koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_121a.tt
koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_125b.tt
koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_126a.tt
koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_128b.tt
koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_130.tt
koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_135a.tt
koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_140.tt
koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_leader.tt
koha-tmpl/intranet-tmpl/prog/en/modules/help/circ/circulation-home.tt
koha-tmpl/intranet-tmpl/prog/en/modules/help/edithelp.tt
koha-tmpl/intranet-tmpl/prog/en/modules/members/messaging.tt [deleted file]
koha-tmpl/intranet-tmpl/prog/en/modules/members/notices.tt
koha-tmpl/intranet-tmpl/prog/en/modules/tools/koha-news.tt
koha-tmpl/intranet-tmpl/prog/en/modules/tools/viewlog.tt
koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetDetail.xsl
koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slimUtils.xsl
koha-tmpl/opac-tmpl/prog/en/css/opac.css
koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACDetail.xsl
koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slimUtils.xsl
members/boraccount.pl
members/mancredit.pl
members/maninvoice.pl
members/member-flags.pl
members/member-password.pl
members/messaging.pl [deleted file]
members/moremember.pl
members/notices.pl
members/pay.pl
members/readingrec.pl
opac/opac-userupdate.pl
t/00-testcritic.t
t/db_dependent/Log.t [new file with mode: 0644]
tools/viewlog.pl

index 98cd8d5..6b8ff17 100644 (file)
--- a/C4/Log.pm
+++ b/C4/Log.pm
@@ -4,6 +4,7 @@ package C4::Log;
 
 
 # Copyright 2000-2002 Katipo Communications
+# Copyright 2011 MJ Ray and software.coop
 #
 # This file is part of Koha.
 #
@@ -217,7 +218,7 @@ sub GetLogs {
        $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);
     }
index 8d4a6c5..a8fec65 100644 (file)
@@ -1765,6 +1765,7 @@ EOF
         # 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;
 }
index 3a05268..e36557b 100644 (file)
@@ -118,6 +118,7 @@ sub new {
     $self->{'opac_display'} = 0;
     $self->{'password_allowed'} = 0;
     $self->{'staff_searchable'} = 0;
+    $self->{'display_checkout'} = 0;
     $self->{'authorised_value_category'} = '';
 
     bless $self, $class;
@@ -152,6 +153,7 @@ sub fetch {
     $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;
@@ -182,14 +184,15 @@ sub store {
                                          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'});
@@ -198,7 +201,8 @@ sub store {
     $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;
 
 }
@@ -304,6 +308,25 @@ sub staff_searchable {
     @_ ? $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();
index 35d6702..29a31e6 100644 (file)
@@ -72,7 +72,7 @@ sub GetBorrowerAttributes {
     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)
@@ -89,6 +89,7 @@ sub GetBorrowerAttributes {
             value             => $row->{'attribute'},  
             value_description => $row->{'lib'},  
             password          => $row->{'password'},
+            display_checkout  => $row->{'display_checkout'},
         }
     }
     return \@results;
index 37e8932..812f3dc 100644 (file)
@@ -55,12 +55,13 @@ sub new {
 
     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 = {
index dfc9447..70fb39c 100755 (executable)
@@ -197,7 +197,7 @@ if ( $op eq 'delete_confirm' ) {
 #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}){
index cc5c084..fb6b2f1 100755 (executable)
@@ -106,7 +106,7 @@ for my $vendor (@suppliers) {
         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} ) {
index 227213c..29a0d90 100755 (executable)
@@ -106,6 +106,9 @@ sub error_add_attribute_type_form {
     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,
@@ -147,6 +150,8 @@ sub add_update_attribute_type {
     $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());
@@ -222,7 +227,9 @@ sub edit_attribute_type_form {
     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(
index 2e18332..2f82f5a 100755 (executable)
@@ -47,7 +47,7 @@ builds list, depending on authorised value...
 
 =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;
@@ -321,11 +321,11 @@ Create a random value to set it into the input name
 
 =cut
 
-sub CreateKey(){
+sub CreateKey {
     return int(rand(1000000));
 }
 
-sub build_tabs ($$$$$) {
+sub build_tabs {
     my ( $template, $record, $dbh, $encoding,$input ) = @_;
 
     # fill arrays
@@ -499,7 +499,7 @@ sub build_tabs ($$$$$) {
 }
 
 
-sub build_hidden_data () {
+sub build_hidden_data {
     # build hidden data =>
     # we store everything, even if we show only requested subfields.
 
index 57e0737..d4f2c67 100755 (executable)
@@ -50,7 +50,7 @@ use C4::Koha;
 
 our ($tagslib);
 
-sub build_tabs ($$$$$) {
+sub build_tabs {
     my ( $template, $record, $dbh, $encoding,$input ) = @_;
 
     # fill arrays
index c49b956..0d01554 100755 (executable)
@@ -67,6 +67,14 @@ sub plugin_javascript {
     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');
@@ -90,14 +98,14 @@ sub plugin {
         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 );
@@ -105,7 +113,7 @@ sub plugin {
     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,
index 8d44a82..c84e826 100755 (executable)
@@ -63,6 +63,13 @@ sub plugin_javascript {
     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');
@@ -78,21 +85,21 @@ sub plugin {
                             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,
index 848a53a..2c301ae 100755 (executable)
@@ -62,6 +62,14 @@ sub plugin_javascript {
 
     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');
@@ -76,15 +84,15 @@ my ($template, $loggedinuser, $cookie)
                             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,
index 6144771..2cd6806 100755 (executable)
@@ -69,6 +69,13 @@ sub plugin_javascript {
     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');
@@ -86,24 +93,24 @@ sub plugin {
             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,
index 7582e74..919b1fa 100755 (executable)
@@ -63,6 +63,13 @@ function Clic$field_number() {
     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');
@@ -80,15 +87,15 @@ sub plugin {
             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 );
 
index 21e2368..67f6875 100755 (executable)
@@ -63,6 +63,15 @@ function Clic$field_number(i) {
     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');
@@ -79,20 +88,20 @@ sub plugin {
             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,
index ff206f7..fcbb18f 100755 (executable)
@@ -62,6 +62,16 @@ function Clic$field_number(i) {
 
 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');
@@ -76,12 +86,12 @@ my ($template, $loggedinuser, $cookie)
                             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,
index 3f72c85..f140fce 100755 (executable)
@@ -63,6 +63,15 @@ function Clic$function_name(i) {
 
 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');
@@ -82,13 +91,13 @@ my ($template, $loggedinuser, $cookie)
        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,
index a855332..d40f49c 100755 (executable)
@@ -63,6 +63,14 @@ function Clic$function_name(i) {
 
 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');
@@ -80,8 +88,8 @@ my ($template, $loggedinuser, $cookie)
                             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);
index b356956..8c66161 100755 (executable)
@@ -60,6 +60,14 @@ function Clic$function_name(i) {
 
 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');
@@ -76,7 +84,7 @@ my ($template, $loggedinuser, $cookie)
                             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;
index 2f85f9e..e3d47b5 100755 (executable)
@@ -60,6 +60,14 @@ function Clic$function_name(i) {
 
 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');
@@ -83,12 +91,12 @@ my ($template, $loggedinuser, $cookie)
        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,
index b44bd21..1f196ac 100755 (executable)
@@ -60,6 +60,13 @@ function Clic$function_name(i) {
 
 return ($function_name,$res);
 }
+
+sub wrapper {
+    my ($char) = @_;
+    return "dblpipe" if $char eq "||";
+    return $char;
+}
+
 sub plugin {
 my ($input) = @_;
        my $index= $input->param('index');
@@ -76,7 +83,7 @@ my ($template, $loggedinuser, $cookie)
                             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;
index caf6ba3..d0eb5c9 100755 (executable)
@@ -61,6 +61,14 @@ function Clic$function_name(i) {
 
 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');
@@ -79,7 +87,7 @@ my ($template, $loggedinuser, $cookie)
                             });
        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);
index de631c2..93454aa 100755 (executable)
@@ -60,6 +60,14 @@ function Clic$function_name(i) {
 
 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');
@@ -76,7 +84,7 @@ my ($template, $loggedinuser, $cookie)
                             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);
index ac50f32..201e31a 100755 (executable)
@@ -60,6 +60,15 @@ function Clic$function_name(i) {
 
 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');
@@ -76,23 +85,23 @@ my ($template, $loggedinuser, $cookie)
                             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);
index 05748a2..af4d808 100755 (executable)
@@ -66,6 +66,13 @@ function Clic$function_name(i) {
     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');
@@ -83,13 +90,13 @@ sub plugin {
         }
     );
     $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(
index fff32a2..ffb76bf 100755 (executable)
@@ -35,6 +35,7 @@ use C4::Biblio;
 use C4::Reserves;
 use C4::Context;
 use CGI::Session;
+use C4::Members::Attributes qw(GetBorrowerAttributes);
 
 use Date::Calc qw(
   Today
@@ -635,6 +636,7 @@ my $fast_cataloging = 0;
     if (defined getframeworkinfo('FA')) {
     $fast_cataloging = 1 
     }
+my $attributes = GetBorrowerAttributes($borrowernumber);
 
 $template->param(
     lib_messages_loop => $lib_messages_loop,
@@ -684,6 +686,7 @@ $template->param(
     circview => 1,
     soundon           => C4::Context->preference("SoundOn"),
     fast_cataloging   => $fast_cataloging,
+    extendedattributes => $attributes,
 );
 
 # save stickyduedate to session
index 549a547..ce890f5 100755 (executable)
@@ -47,7 +47,8 @@ my $sql = qq(SELECT surname, firstname, cardnumber, address, city, zipcode, coun
              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%");
 
index 32cdec3..a3e1520 100644 (file)
@@ -24,7 +24,7 @@
   <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>
 
index 849fcf7..b57d482 100644 (file)
@@ -572,4 +572,5 @@ August 27 2011  Ulrich Kleiber becomes the 151st developer to have a patch pushe
 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
index d1975ba..4d7e0c0 100755 (executable)
@@ -41,7 +41,7 @@ my $error;
 
 my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
     {
-        template_name   => "help/edithelp.tmpl",
+        template_name   => "help/edithelp.tt",
         query           => $input,
         type            => "intranet",
         authnotrequired => 0,
@@ -63,29 +63,30 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
 
 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
@@ -98,7 +99,7 @@ elsif ( $type eq 'modify' ) {
        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;
                        }
                }
diff --git a/help.pl b/help.pl
index 58354b0..7208a8a 100755 (executable)
--- a/help.pl
+++ b/help.pl
@@ -28,7 +28,8 @@ use CGI;
 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";
@@ -40,6 +41,7 @@ unless ( -e "$htdocs/$theme/$lang/$from" ) {
     ( $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;
 
diff --git a/installer/data/mysql/atomicupdate/0009-patron-attr-display-checkout.pl b/installer/data/mysql/atomicupdate/0009-patron-attr-display-checkout.pl
new file mode 100644 (file)
index 0000000..44cfcfa
--- /dev/null
@@ -0,0 +1,7 @@
+#! /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";
index aef59ce..3a51df5 100644 (file)
@@ -284,6 +284,7 @@ CREATE TABLE `borrower_attribute_types` ( -- definitions for custom patron field
   `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;
index 8b2b8f5..c52c252 100644 (file)
@@ -1978,6 +1978,14 @@ fieldset.rows+h3 {clear:both;padding-top:.5em;}
     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;
diff --git a/koha-tmpl/intranet-tmpl/prog/en/css/tinymce.css b/koha-tmpl/intranet-tmpl/prog/en/css/tinymce.css
new file mode 100644 (file)
index 0000000..57fec75
--- /dev/null
@@ -0,0 +1,4 @@
+body, td, pre {
+    font-family: Arial,Helvetica,sans-serif;
+    font-size: 13px;
+}
\ No newline at end of file
index 129bd66..a9fd453 100644 (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>
@@ -63,7 +70,6 @@
        [% 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&amp;modules=MEMBERS&amp;modules=circulation&amp;object=[% borrowernumber %]&amp;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>
index 39be1be..47c1290 100644 (file)
@@ -50,6 +50,13 @@ in the global namespace %]
             <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>
@@ -65,7 +72,6 @@ in the global namespace %]
        [% 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&amp;modules=MEMBERS&amp;modules=circulation&amp;object=[% borrower.borrowernumber %]&amp;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>
index d0101e6..d354170 100644 (file)
@@ -8,3 +8,8 @@
 <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>
index a7b77e2..cadd1cb 100644 (file)
@@ -8,7 +8,6 @@
        [% 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&amp;modules=MEMBERS&amp;action=MODIFY&amp;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>
index b8593e3..cd50690 100644 (file)
                 <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>
index c42d7b3..b8a8e3e 100644 (file)
@@ -68,7 +68,7 @@ function CheckAttributeTypeForm(f) {
     <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&amp;searchfield=ExtendedPatronAttributes">here</a> if you wish to enable this feature.</div>
 [% END %]
 
 [% IF ( attribute_type_form ) %]
@@ -158,6 +158,15 @@ function CheckAttributeTypeForm(f) {
           [% 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>
index dc821a8..f6324e3 100644 (file)
@@ -7,6 +7,7 @@ Circulation:
                   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:
index e723781..8903ce1 100644 (file)
@@ -328,7 +328,7 @@ function verify_images() {
                     [% 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 ) %]
@@ -338,12 +338,12 @@ function verify_images() {
                        [% 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 ) %]
index d186dfa..4686148 100644 (file)
@@ -14,7 +14,7 @@
         <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>
@@ -494,7 +494,7 @@ languages and obsolete typography)
         <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>
@@ -578,10 +578,10 @@ languages and obsolete typography)</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 ) %]
index 18f652f..f7e5884 100644 (file)
@@ -16,7 +16,7 @@
                           <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>
index ccb7624..b661898 100644 (file)
                             <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>
index 03a94e1..8a7b2eb 100644 (file)
@@ -48,7 +48,7 @@
                <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>
index acb0695..70cd050 100644 (file)
                <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 ) %]
index b42650f..376641a 100644 (file)
                <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>
index d072701..09ac0df 100644 (file)
@@ -71,7 +71,7 @@
                <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 ) %]
index f43bea8..827c506 100644 (file)
@@ -27,7 +27,7 @@
                <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>
@@ -64,7 +64,7 @@
                <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>
index c8612de..7bee0bf 100644 (file)
@@ -10,7 +10,7 @@
                <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>
index e212a05..959e4a8 100644 (file)
                <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' %]
index 7aad5b3..5751b2d 100644 (file)
                <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 ) %]
index 8e66d82..6edba01 100644 (file)
@@ -89,7 +89,7 @@
                <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>
index 29b46e4..152c6f5 100644 (file)
@@ -11,7 +11,7 @@
                <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>
index 0201d04..689e775 100644 (file)
@@ -10,7 +10,7 @@
                <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>
index 24ffc74..6e53881 100644 (file)
                <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>
index 2bae339..1f069b7 100644 (file)
@@ -1,23 +1,25 @@
-[% 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 &amp; 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' %]
index 3a40f2d..ad4b4a1 100644 (file)
@@ -5,12 +5,13 @@
 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",
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/messaging.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/messaging.tt
deleted file mode 100644 (file)
index 2980a53..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-[% INCLUDE 'doc-head-open.inc' %]
-<title>Koha &rsaquo; Patrons &rsaquo; [% 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> &rsaquo; <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a>  &rsaquo; [% 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' %]
index 2bce08a..4a6753e 100644 (file)
                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> &rsaquo; <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a>  &rsaquo; 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>
index 313701b..dfee834 100644 (file)
@@ -17,19 +17,21 @@ $(document).ready(function() {
 <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>
index c109744..f20569d 100644 (file)
                                                                <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 %]&amp;biblionumber=[% loopro.biblionumber %]&amp;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 ) %]
index 4af47bd..112a809 100644 (file)
@@ -15,8 +15,7 @@
 
         <!-- 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>
index 05a1d83..cfc434e 100644 (file)
             - 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">
index 60afea7..09ed022 100644 (file)
@@ -1275,6 +1275,14 @@ padding-left : .4em;
        padding : 0 0 .5em 0;
 }
 
+.m880 {
+    display:block; 
+    text-align:right; 
+    float:right; 
+    width:50%; 
+    padding-left:20px
+}
+
 .searchresults .tagstatus {
        display: block;
        color: #707070;
@@ -2038,4 +2046,4 @@ div.bibmessage { background-color : #ffffb0; border-radius : 5px; padding : 3px;
 
 #renewall_link {
        background-image : url(../../images/checks.png);
-}
\ No newline at end of file
+}
index d4f763f..404293f 100755 (executable)
 
    <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>
index 4ffc031..27d0891 100644 (file)
             <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">
index 9e7046e..b197b3f 100755 (executable)
@@ -32,6 +32,7 @@ use CGI;
 use C4::Members;
 use C4::Branch;
 use C4::Accounts;
+use C4::Members::Attributes qw(GetBorrowerAttributes);
 
 my $input=new CGI;
 
@@ -93,6 +94,7 @@ $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(
     finesview           => 1,
@@ -117,6 +119,8 @@ $template->param(
     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;
index ae41b57..801fcc2 100755 (executable)
@@ -33,6 +33,7 @@ use C4::Members;
 use C4::Branch;
 use C4::Accounts;
 use C4::Items;
+use C4::Members::Attributes qw(GetBorrowerAttributes);
 
 my $input=new CGI;
 
@@ -77,6 +78,7 @@ if ($add){
     $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,
@@ -97,6 +99,7 @@ if ($add){
                    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;
 }
index 9e8d429..9a040b6 100755 (executable)
@@ -32,6 +32,7 @@ use C4::Members;
 use C4::Accounts;
 use C4::Items;
 use C4::Branch;
+use C4::Members::Attributes qw(GetBorrowerAttributes);
 
 my $input=new CGI;
 
@@ -105,6 +106,7 @@ if ($add){
     $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,
@@ -125,6 +127,7 @@ if ($add){
                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;
 }
index 007b56c..00a3268 100755 (executable)
@@ -13,6 +13,7 @@ use C4::Auth qw(:DEFAULT :EditPermissions);
 use C4::Context;
 use C4::Members;
 use C4::Branch;
+use C4::Members::Attributes qw(GetBorrowerAttributes);
 #use C4::Acquisitions;
 
 use C4::Output;
@@ -161,7 +162,8 @@ if ($input->param('newflags')) {
 $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'},
@@ -182,6 +184,7 @@ $template->param(
                branchname => GetBranchName($bor->{'branchcode'}),
                loop => \@loop,
                is_child        => ($bor->{'category_type'} eq 'C'),
+        extendedattributes => $attributes,
                );
 
     output_html_with_http_headers $input, $cookie, $template->output;
index 0fefe4f..03f5243 100755 (executable)
@@ -14,6 +14,7 @@ use C4::Members;
 use C4::Branch;
 use C4::Circulation;
 use CGI;
+use C4::Members::Attributes qw(GetBorrowerAttributes);
 
 use Digest::MD5 qw(md5_base64);
 
@@ -89,7 +90,8 @@ if ( $newpassword  && ! $errormsg ) {
 $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'},
@@ -111,7 +113,8 @@ $template->param( picture => 1 ) if $picture;
            userid      => $bor->{'userid'},
            destination => $destination,
                is_child        => ($bor->{'category_type'} eq 'C'),
-           defaultnewpassword => $defaultnewpassword 
+           defaultnewpassword => $defaultnewpassword,
+       extendedattributes => $attributes,
        );
 
 
diff --git a/members/messaging.pl b/members/messaging.pl
deleted file mode 100755 (executable)
index 8791dcf..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-#!/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;
index a76652f..10fe20a 100755 (executable)
@@ -52,6 +52,7 @@ use C4::Branch; # GetBranchName
 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;
@@ -442,6 +443,7 @@ if (C4::Context->preference('EnhancedMessagingPreferences')) {
     $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,
@@ -471,6 +473,7 @@ $template->param(
     "dateformat_" . (C4::Context->preference("dateformat") || '') => 1,
     samebranch     => $samebranch,
     quickslip            => $quickslip,
+    extendedattributes => $attributes,
 );
 
 #Get the slip news items
index 088d5a8..a6e65c8 100755 (executable)
@@ -27,6 +27,7 @@ use CGI;
 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;
@@ -52,11 +53,15 @@ $template->param( picture => 1 ) if $picture;
 # 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;
 
index 555cfd9..9389f82 100755 (executable)
@@ -39,6 +39,7 @@ use C4::Stats;
 use C4::Koha;
 use C4::Overdues;
 use C4::Branch;
+use C4::Members::Attributes qw(GetBorrowerAttributes);
 
 my $input = CGI->new;
 
@@ -232,6 +233,7 @@ sub borrower_add_additional_fields {
     if ($picture) {
         $b_ref->{has_picture} = 1;
     }
+    $b_ref->{extendedattributes} = GetBorrowerAttributes($borrowernumber);
 
     $b_ref->{branchname} = GetBranchName( $b_ref->{branchcode} );
     return;
index e7586a0..04414e3 100755 (executable)
@@ -32,6 +32,7 @@ use C4::Branch;
 use List::MoreUtils qw/any/;
 
 use C4::Dates qw/format_date/;
+use C4::Members::Attributes qw(GetBorrowerAttributes);
 
 my $input = CGI->new;
 
@@ -95,6 +96,7 @@ if (! $limit){
 
 my ($picture, $dberror) = GetPatronImage($data->{'cardnumber'});
 $template->param( picture => 1 ) if $picture;
+my $attributes = GetBorrowerAttributes($borrowernumber);
 
 $template->param(
                                                readingrecordview => 1,
@@ -122,7 +124,9 @@ $template->param(
                                                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;
 
 
index aa5858a..f8273ce 100755 (executable)
@@ -48,6 +48,7 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
 
 # get borrower information ....
 my ( $borr ) = GetMemberDetails( $borrowernumber );
+my ( $patronemail ) = GetFirstValidEmailAddress($borrowernumber);
 my $lib = GetBranchDetail($borr->{'branchcode'});
 
 # handle the new information....
@@ -80,6 +81,10 @@ if ( !$updateemailaddress || $updateemailaddress eq '' ) {
     exit;
 }
 
+if ( !$patronemail || $patronemail eq '' ) {
+       $patronemail = $updateemailaddress;
+};
+
 if ( $query->param('modify') ) {
 
     # get all the fields:
@@ -117,7 +122,7 @@ EOF
     $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"',
index bc7a3cd..19e53fb 100755 (executable)
@@ -16,7 +16,7 @@ my @all_koha_dirs = qw( acqui admin authorities basket C4 catalogue cataloguing
 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} ) {
diff --git a/t/db_dependent/Log.t b/t/db_dependent/Log.t
new file mode 100644 (file)
index 0000000..8a25c18
--- /dev/null
@@ -0,0 +1,55 @@
+#!/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");
index d689217..5c43098 100755 (executable)
@@ -1,6 +1,7 @@
 #!/usr/bin/perl
 
 # Copyright 2010 BibLibre
+# Copyright 2011 MJ Ray and software.coop
 #
 # This file is part of Koha.
 #
@@ -105,7 +106,10 @@ $template->param(
 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){