Fix for Bug 5030 - Improve handling of duplicate patrons
authorOwen Leonard <oleonard@myacpl.org>
Sat, 13 Nov 2010 19:34:42 +0000 (14:34 -0500)
committerChris Nighswonger <chris.nighswonger@gmail.com>
Wed, 1 Dec 2010 22:00:28 +0000 (17:00 -0500)
- Making duplicate patron warning dialog simpler but more explicit
- Pointing duplicate patron preview window to new brief version
  of moremember.pl to display more patron details than the previous
  version.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
(cherry picked from commit 9f0495238de31cbdcacabe8f3986081f150ae2cb)

Signed-off-by: Chris Nighswonger <chris.nighswonger@gmail.com>
koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css
koha-tmpl/intranet-tmpl/prog/en/modules/members/borrowers_details.tmpl [deleted file]
koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tmpl
koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember-brief.tmpl [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/img/pop-up-link.png [new file with mode: 0644]
members/borrowers_details.pl [deleted file]
members/moremember.pl

index 7803604..a0d87ef 100644 (file)
@@ -21,6 +21,11 @@ a.overdue,.overdue {
        color : #cc0000;
 }
 
+a.popup {
+       background : transparent url("../../img/pop-up-link.png") center right no-repeat;
+       padding-right : 15px;
+}
+
 body {
        text-align : left;
        padding:0 0 2.5em 0;
@@ -1130,11 +1135,21 @@ td input.approve {
        color:black;
        padding: .4em .4em .4em 34px;
 }
+
 .dialog input.edit {
        background: #fff url(../../img/toolbar-edit.gif) no-repeat 4px center;
        color:black;
+       max-width : 13em;
+       padding: .4em .4em .4em 34px;
+       white-space: normal;
+}
+
+.dialog input.new {
+       background: #fff url(../../img/toolbar-new.gif) no-repeat 4px center;
+       color:black;
+       max-width : 13em;
        padding: .4em .4em .4em 34px;
+       white-space: normal;
 }
 
 .dialog input.print {
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/borrowers_details.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/members/borrowers_details.tmpl
deleted file mode 100644 (file)
index 763cf66..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->
-<title>Patron Details</title>
-<!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
-</head>
-<body>
-
-<div id="doc" class="yui-t7">
-   <div id="bd">
-
-       <h1>Patron Details</h1>
-       
-       <form name="form" method="post" action="/cgi-bin/members/borrowers_details.pl">
-       <!-- TMPL_IF NAME="Institution"-->      
-               
-               <p>
-               
-                       <label for="description">Patron category</label>                
-                       <input  type="text" id="description" name="description" size="20" value="<!-- TMPL_VAR NAME="description" -->" />
-               </p>
-               <p>
-                       
-                       <label for="surname">Organization name</label>
-                       <input style="text-transform:uppercase;" type="text" id="surname" name="surname" size="20" value="<!-- TMPL_VAR NAME="surname" -->" />
-               </p>
-               
-       <!-- TMPL_ELSE -->      
-
-               <p>
-                       <label for="description">Patron category</label>
-                       <input  type="text" name="description" id="description" size="20" value="<!-- TMPL_VAR NAME="description" -->" />
-                       </p>
-               <p>
-                       <label for="title">Title</label>
-                       <input  type="text" name="title" id="title" size="20" value="<!-- TMPL_VAR NAME="title" -->" />
-                       
-               </p>
-               <p>
-                       <label for="surname">Surname</label>
-                       <input  style="text-transform:uppercase;" type="text" id="surname" name="surname" size="20" value="<!-- TMPL_VAR NAME="surname" -->" />
-               </p>
-                       
-               <p>     
-                       
-                       <label for="firstname">Firstname</label>
-                       <input  style="text-transform:capitalize;" type="text" id="firstname" name="firstname" size="20" value="<!-- TMPL_VAR NAME="firstname" -->" />
-               </p>
-               <p>
-                       <label for="dateofbirth">Date of birth </label>
-                       <input  type="text" name="dateofbirth" id="dateofbirth" size="20" value="<!-- TMPL_VAR NAME="dateofbirth" -->" />
-               </p>            
-               
-               
-                       
-               
-       <!-- /TMPL_IF -->
-       <p>
-               <a href="#" onclick="window.close()">Close Window</a>
-       </p>
-       
-       </form>
-
-</div>
-<!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->
index 806b43c..4ecc0cb 100644 (file)
        <!-- /TMPL_IF -->
   
        <!-- TMPL_IF NAME="check_member" -->
-               <p>
-               <form name="form_double" action="/cgi-bin/koha/members/memberentry.pl" method="post">
                        <div class="dialog alert">
-                               <h3>Duplicate suspected</h3>
-                               <a href="javascript:Dopop('borrowers_details.pl?borrowernumber=<!--TMPL_VAR NAME="check_member"-->');" >Detail</a>
-                               Duplicate ?
-                               <a href="/cgi-bin/koha/members/memberentry.pl?op=modify&amp;borrowernumber=<!--TMPL_VAR NAME="check_member"-->&amp;category_type=<!--TMPL_VAR NAME="check_categorytype"-->">Yes</a>
-                               &nbsp;&nbsp;&nbsp; No, it is not
-                               <!-- TMPL_IF NAME="checked"-->
-                                       <input type="checkbox" checked="checked" name="answernodouble" >
-                               <!-- TMPL_ELSE -->
-                                       <input type="checkbox" name="answernodouble" />
-                               <!-- /TMPL_IF -->
+                               <h3>Duplicate patron record?</h3>
+                               <p><a class="popup" href="javascript:Dopop('moremember.pl?print=brief&amp;borrowernumber=<!--TMPL_VAR NAME="check_member"-->');" >View existing record</a></p>
+                               <form action="/cgi-bin/koha/members/memberentry.pl" method="get"><input type="hidden" name="op" value="modify" /><input type="hidden" name="borrowernumber" value="<!--TMPL_VAR NAME="check_member"-->" /><input type="hidden" name="category_type" value="<!--TMPL_VAR NAME="check_categorytype"-->" /><input class="edit" type="submit" value="It is a duplicate. Edit existing record" /></form>
+
+                               <form name="form_double" action="/cgi-bin/koha/members/memberentry.pl" method="post">
+                               <input type="hidden" name="nodouble" value="1" />
+                               <input class="new" type="submit" value="Not a duplicate. Save as new record" />
                        </div>
-               </form>
-               </p>
        <!--/TMPL_IF-->
 
        <!-- TMPL_IF Name="debug" -->
        <!-- /TMPL_IF -->
        
   
-<form name="form" id="entryform"  action="/cgi-bin/koha/members/memberentry.pl" method="post"> 
+<!-- TMPL_UNLESS NAME="check_member" --><form name="form" id="entryform"  action="/cgi-bin/koha/members/memberentry.pl" method="post">
+<input type="hidden" name="nodouble"  value="<!-- TMPL_VAR NAME="nodouble" -->" /> <!-- /TMPL_UNLESS -->
 <!--    field always hidden in different form (1,2,3) -->
 <input type="hidden" name="BorrowerMandatoryField" value="<!--TMPL_VAR NAME="BorrowerMandatoryField"-->" />
 <input type="hidden" name="category_type" value="<!-- TMPL_VAR name="category_type" -->" />
 <input type="hidden" name="destination" value="<!-- TMPL_VAR NAME="destination" -->" />
 <input type="hidden" name="check_member" value="<!-- TMPL_VAR NAME="check_member" -->" />
 <input type="hidden" name="borrowernumber" value="<!-- TMPL_VAR NAME="borrowernumber" -->" />
-<input type="hidden" name="nodouble"  value="<!-- TMPL_VAR NAME="nodouble" -->" />
 <!--TMPL_IF Name="step"--><input type="hidden" name="step"  value="<!-- TMPL_VAR NAME="step" -->" /><!--/TMPL_IF-->
 <!-- TMPL_IF NAME="opadd" --><input type="hidden" name="op" value="insert" /><!-- TMPL_ELSE --><input type="hidden" name="op" value="save" /><!-- /TMPL_IF -->
 
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember-brief.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember-brief.tmpl
new file mode 100644 (file)
index 0000000..9dd5ed3
--- /dev/null
@@ -0,0 +1,97 @@
+<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->
+<title>Koha &rsaquo; Check duplicate patron</title>
+<!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
+       <style type="text/css">
+               #custom-doc { width:44.23em;*width:43.12em;min-width:491px; margin:auto; text-align:left; } 
+       </style>
+</head>
+<body style="padding:.5em;">
+<div id="custom-doc" class="yui-t7">
+   <div id="bd">
+       <h3><!-- TMPL_UNLESS NAME="I" -->
+   <!-- TMPL_VAR NAME="title" --> <!-- TMPL_VAR NAME="firstname" --> <!-- /TMPL_UNLESS --> <!-- TMPL_VAR NAME="surname" --> (<!-- TMPL_VAR NAME="cardnumber" -->)</h3>
+<div class="yui-g">
+<div class="yui-u first">
+       <div id="patron-information" style="padding: .5em;">
+
+     <!-- TMPL_UNLESS NAME="I" --><!-- TMPL_IF NAME="othernames" -->&ldquo;<!-- TMPL_VAR NAME="othernames" -->&rdquo;<!-- /TMPL_IF -->
+
+       <p class="address"><!-- TMPL_VAR NAME="streetnumber" -->
+        <!--TMPL_IF NAME="roaddetails"-->
+         <!-- TMPL_VAR NAME="roaddetails" -->,
+        <!-- /TMPL_IF -->
+        <!-- TMPL_VAR NAME="address" --><br />
+        <!-- TMPL_IF NAME="address2" --><!-- TMPL_VAR NAME="address2"--><br /><!-- /TMPL_IF -->
+        <!-- TMPL_IF NAME="city" --><!-- TMPL_VAR NAME="city" --><!-- /TMPL_IF -->
+        <!-- TMPL_IF NAME="zipcode" --><!-- TMPL_VAR NAME="zipcode" --><br /><!-- /TMPL_IF -->
+        <!-- TMPL_IF NAME="country" --><!-- TMPL_VAR NAME="country" --><!-- /TMPL_IF --></p>
+
+       <div class="rows">
+               <ol>
+        <!-- TMPL_IF NAME="I" -->
+            <!-- TMPL_IF NAME="phonepro" --><li><span class="label">Organization phone: </span><!-- TMPL_VAR NAME="phonepro" --></li><!-- /TMPL_IF -->
+            <!-- TMPL_IF NAME="emailpro" --><li><span class="label">Organization email: </span><!-- TMPL_VAR NAME="emailpro" --></li><!-- /TMPL_IF -->
+        <!-- TMPL_ELSE -->
+            <!-- TMPL_IF NAME="phone"    --><li><span class="label">Home: </span><!-- TMPL_VAR NAME="phone" --></li><!-- /TMPL_IF -->
+            <!-- TMPL_IF NAME="mobile"   --><li><span class="label">Mobile: </span><!-- TMPL_VAR NAME="mobile" --></li><!-- /TMPL_IF -->
+            <!-- TMPL_IF NAME="phonepro" --><li><span class="label">Work: </span><!-- TMPL_VAR NAME="phonepro" --></li><!-- /TMPL_IF -->
+        <!-- /TMPL_IF -->
+
+    <!-- TMPL_IF NAME="P"-->
+        <!-- TMPL_IF NAME="phone"  --><li><span class="label">Professional phone: </span><!-- TMPL_VAR NAME="phone" --></li><!-- /TMPL_IF -->
+        <!-- TMPL_IF NAME="mobile" --><li><span class="label">Professional mobile: </span><!-- TMPL_VAR NAME="mobile" --></li><!-- /TMPL_IF -->
+    <!-- /TMPL_IF -->
+       <!-- TMPL_IF NAME="fax" --><li><span class="label">Fax: </span><!-- TMPL_VAR NAME="fax" --></li><!-- /TMPL_IF -->
+    <!-- TMPL_UNLESS NAME="I"-->
+        <!-- TMPL_IF Name="email" --><li><span class="label">Email (home):</span><a href="mailto:<!-- TMPL_VAR NAME="email" -->"><!-- TMPL_VAR NAME="email" --></a></li><!-- /TMPL_IF -->
+        <!-- TMPL_IF Name="emailpro" --><li><span class="label">Email (work): </span><a href="mailto:<!-- TMPL_VAR NAME="emailpro" -->"><!-- TMPL_VAR NAME="emailpro" --></a></li><!--/TMPL_IF-->
+    <!-- /TMPL_UNLESS -->
+    <li><span class="label">Initials: </span><!-- TMPL_VAR NAME="initials" --></li>
+    <li><span class="label">Date of birth:</span><!-- TMPL_VAR NAME="dateofbirth" --></li>
+    <li><span class="label">Sex:</span><!-- TMPL_VAR NAME="sex" --></li><!-- /TMPL_UNLESS -->
+    <!-- TMPL_IF NAME="printethnicityline" -->
+    <li><span class="label">Ethnicity:</span><!-- TMPL_VAR NAME="ethnicity" --></li>
+    <li><span class="label">Ethnicity notes: </span><!-- TMPL_VAR NAME="ethnotes" --></li>
+    <!-- /TMPL_IF -->
+    <!-- TMPL_IF NAME="isguarantee" -->
+        <!-- TMPL_IF NAME="guaranteeloop" -->
+            <li><span class="label">Guarantees:</span><ul><!-- TMPL_LOOP NAME="guaranteeloop" --><li><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=<!-- TMPL_VAR NAME="borrowernumber" -->"><!-- TMPL_VAR NAME="name" -->  </a></li><!-- /tmpl_loop --></ul></li>
+        <!-- /TMPL_IF -->
+    <!-- TMPL_ELSE -->
+        <!-- TMPL_IF name="guarantorborrowernumber" -->
+            <li><span class="label">Guarantor:</span><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=<!-- TMPL_VAR NAME="guarantorborrowernumber" -->"><!-- TMPL_VAR NAME="guarantorsurname" -->, <!-- TMPL_VAR NAME="guarantorfirstname" --></a></li>
+        <!-- /TMPL_IF -->
+    <!-- /TMPL_IF  -->
+       </ol>
+       </div>
+       </div>
+       </div>
+       <div class="yui-u">
+       <div id="patron-library-details">
+       <h3>Library use</h3>
+       <div class="rows">
+       <ol>
+    <li><span class="label">Card number: </span><!-- TMPL_VAR NAME="cardnumber" --></li>
+       <li><span class="label">Borrowernumber: </span> <!-- TMPL_VAR NAME="borrowernumber" --></li>
+    <li><span class="label">Category: </span><!-- TMPL_VAR NAME="description" --> (<!-- TMPL_VAR NAME="categorycode" -->)</li>
+    <li><span class="label">Registration date: </span><!-- TMPL_VAR NAME="dateenrolled" --></li>
+    <li><span class="label">Expiration date: </span>
+    <!-- TMPL_IF NAME="reregistration" -->
+            <strong class="reregistrinfo"><!-- TMPL_VAR NAME="dateexpiry" --></span>
+    <!-- TMPL_ELSE -->
+            <!-- TMPL_VAR NAME="dateexpiry" -->
+    <!-- /TMPL_IF -->
+    </li>
+    <li><span class="label">Library: </span><!-- TMPL_VAR NAME="branchname" --></li>
+
+    <!-- TMPL_IF NAME="sort1" --><li><span class="label">Sort field 1:</span><!-- TMPL_VAR NAME="lib1" --></li><!-- /TMPL_IF -->
+    <!-- TMPL_IF NAME="sort2" --><li><span class="label">Sort field 2:</span><!-- TMPL_VAR NAME="lib2" --></li><!-- /TMPL_IF -->
+       </ol>
+       </div>
+       </div>
+       <fieldset class="action"><input type="button" class="submit" value="Close window" onclick="window.close();" /></fieldset>
+       </div>
+       </div>
+</div>
+</div>
+<!-- TMPL_INCLUDE NAME="popup-bottom.inc" -->
diff --git a/koha-tmpl/intranet-tmpl/prog/img/pop-up-link.png b/koha-tmpl/intranet-tmpl/prog/img/pop-up-link.png
new file mode 100644 (file)
index 0000000..77ffc75
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/img/pop-up-link.png differ
diff --git a/members/borrowers_details.pl b/members/borrowers_details.pl
deleted file mode 100755 (executable)
index c861ad4..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/usr/bin/perl
-# NOTE: This file uses standard 8-space tabs
-#       DO NOT SET TAB SIZE TO 4
-
-
-#script to set up screen for modification of borrower details
-#written 20/12/99 by chris@katipo.co.nz
-
-
-# Copyright 2000-2002 Katipo Communications
-#
-# 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; FIXME - Bug 2505
-use CGI;
-use C4::Auth;
-use C4::Context;
-use C4::Output;
-use C4::Members;
-use C4::Koha;
-use C4::Dates qw(format_date);
-use C4::Input;
-use C4::Log;
-my $input = new CGI;
-my $dbh = C4::Context->dbh;
-my %data;
-
-my ($template, $loggedinuser, $cookie)
-    = get_template_and_user({template_name => "members/borrowers_details.tmpl",
-                            query => $input,
-                            type => "intranet",
-                            authnotrequired => 0,
-                            flagsrequired => {borrowers => 1},
-                            debug => 1,
-                            });
-
-my $data;
-my $categorycode=$input->param('categorycode');
-my $borrowernumber=$input->param('borrowernumber');
-my $description=$input->param('description');
-my $category_type=$input->param('category_type');
-
-$data=GetMember('borrowernumber' => $borrowernumber);
-
-$template->param(              borrowernumber  => $borrowernumber,#register number
-                               #transform value  in capital or capital for first letter of the word
-                               firstname       => ucfirst($data->{'firstname'}),
-                               surname         => uc($data->{'surname'}),
-                               categorycode    => $data->{'categorycode'},
-                               title           => $data->{'title'},
-                               category_type   => $data->{'category_type'},
-                               "title_".$data->{'title'}           => " SELECTED ",                    
-                               dateofbirth     => format_date($data->{'dateofbirth'}),
-                               description     => $data->{'description'}
-               );
-$template->param(Institution => 1) if ($category_type eq "I");
-output_html_with_http_headers $input, $cookie, $template->output;
-
-# Local Variables:
-# tab-width: 8
-# End:
index 3fffb54..beec293 100755 (executable)
@@ -89,6 +89,9 @@ if ($print eq "page") {
     $template_name = "members/moremember-receipt.tmpl";
     $quickslip = 1;
     $flagsrequired =  { circulate => "circulate_remaining_permissions" };
+} elsif ($print eq "brief") {
+    $template_name = "members/moremember-brief.tmpl";
+    $flagsrequired = { borrowers => 1 };
 } else {
     $template_name = "members/moremember.tmpl";
     $flagsrequired = { borrowers => 1 };