patch from Lebbeous Fogle-Weekley to make address clipboard copying come from a strin...
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 9 Nov 2009 18:30:11 +0000 (18:30 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 9 Nov 2009 18:30:11 +0000 (18:30 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@14843 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/xul/staff_client/server/locale/en-US/patron.properties
Open-ILS/xul/staff_client/server/patron/summary.xul

index 123a0f5..69a2680 100644 (file)
@@ -348,6 +348,9 @@ staff.patron.field.hidden=<Hidden>
 # The < and > highlight that the value is not set; translate Unset and change the delimiters as needed
 staff.patron.field.unset=<Unset>
 
+# Unused by default but available: %7 is county; %10 is country.
+staff.patron.mailable_address_format=%1$s %2$s %3$s\n%4$s\n%5$s\n%6$s %8$s, %9$s
+
 web.staff.patron.ue.session_no_defined=User session is not defined
 web.staff.patron.ue.uedit_show_search.search_would_be=Search would be:\n%1$s
 web.staff.patron.ue.uedit_show_addr_replacement=<div>Replaces address <b>%1$s</b><br/> %2$s %3$s<br/> %4$s, %5$s %6$s</div>
index 0167270..d77ac66 100644 (file)
             }
         }
 
+        function copy_address(a) {
+            var p = g.summary.patron;
+            var s = $("patronStrings").getFormattedString(
+                'staff.patron.mailable_address_format',
+                [p.first_given_name(), p.second_given_name(), p.family_name(),
+                    a.street1(), a.street2(), a.city(), a.county(),
+                    a.state(), a.post_code(), a.country()]
+            );
+            // Without the following call to replace(), you get
+            // literal instances of '\n' in the string.
+            copy_to_clipboard(s.replace(/(\\n)+/g, "\n"));
+        }
+
         function copy_mailing_address() {
             var a = g.summary.patron.mailing_address();
             if (!a) return;
-            copy_to_clipboard(
-                (a.street1() ? a.street1() : "") + "\t" + 
-                (a.street2() ? a.street2() : "") + "\t" +  
-                (a.county() ? a.county() : "") + "\t" + 
-                (a.city() ? a.city() : "") + "\t" +  
-                (a.post_code() ? a.post_code() : "") + "\t" + 
-                (a.country() ? a.country() : "")
-            );
+            copy_address(a);
         }
-        
+
         function copy_billing_address() {
             var a = g.summary.patron.billing_address();
             if (!a) return;
-            copy_to_clipboard(
-                (a.street1() ? a.street1() : "") + "\t" + 
-                (a.street2() ? a.street2() : "") + "\t" +  
-                (a.county() ? a.county() : "") + "\t" + 
-                (a.city() ? a.city() : "") + "\t" +  
-                (a.post_code() ? a.post_code() : "") + "\t" + 
-                (a.country() ? a.country() : "")
-            );
+            copy_address(a);
         }
     
         function post_overlay() {