[Koha-patches] [PATCH] Fix for Bug 5030 - Improve handling of duplicate patrons

Owen Leonard oleonard at myacpl.org
Thu Jul 22 20:26:03 CEST 2010


- 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.
---
 .../intranet-tmpl/prog/en/css/staff-global.css     |   17 +++-
 .../prog/en/modules/members/borrowers_details.tmpl |   63 -------------
 .../prog/en/modules/members/memberentrygen.tmpl    |   25 ++---
 .../prog/en/modules/members/moremember-brief.tmpl  |   97 ++++++++++++++++++++
 koha-tmpl/intranet-tmpl/prog/img/pop-up-link.png   |  Bin 0 -> 205 bytes
 members/borrowers_details.pl                       |   75 ---------------
 members/moremember.pl                              |    3 +
 7 files changed, 125 insertions(+), 155 deletions(-)
 delete mode 100644 koha-tmpl/intranet-tmpl/prog/en/modules/members/borrowers_details.tmpl
 create mode 100644 koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember-brief.tmpl
 create mode 100644 koha-tmpl/intranet-tmpl/prog/img/pop-up-link.png
 delete mode 100755 members/borrowers_details.pl

diff --git a/koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css b/koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css
index 13ac2c7..914042e 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css
+++ b/koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css
@@ -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;
@@ -1128,11 +1133,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
index 763cf66..0000000
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/borrowers_details.tmpl
+++ /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" -->
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tmpl
index b21d35a..007dbd7 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tmpl
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tmpl
@@ -83,22 +83,15 @@
 	<!-- /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" -->
@@ -144,7 +137,8 @@
 	<!-- /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" -->" />
@@ -153,7 +147,6 @@
 <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
index 0000000..9dd5ed3
--- /dev/null
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember-brief.tmpl
@@ -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
index 0000000000000000000000000000000000000000..77ffc75e040d8c27f8ba21b010c19a47a1b15792
GIT binary patch
literal 205
zcmeAS at N?(olHy`uVBq!ia0vp^+(699!3-oX?^2ToQY`6?zK#qG>ra at ocD)4hB}-f*
zN`mv#O3D+9QW+dm@{>{(JaZG%Q-e|yQz{EjrrH1%u?6^qxH2%D`Tzg_Os8|nKoO>r
zAiv=M3{STkcma9#o-U3d6}OTSQc_YHm>L+87&b~CY+zJqm~fMUk!3RTMn)!%BMl((
tOdC+TNt+?5fx#(_nMGiei9-V;1J4x(>!kFQJwT%vJYD@<);T3K0Ra1$I)nfK

literal 0
HcmV?d00001

diff --git a/members/borrowers_details.pl b/members/borrowers_details.pl
deleted file mode 100755
index c861ad4..0000000
--- a/members/borrowers_details.pl
+++ /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 at 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:
diff --git a/members/moremember.pl b/members/moremember.pl
index 34a3e09..104670b 100755
--- a/members/moremember.pl
+++ b/members/moremember.pl
@@ -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 };
-- 
1.7.0.4



More information about the Koha-patches mailing list