From: Dan Scott Date: Wed, 31 Aug 2011 20:08:48 +0000 (-0400) Subject: Break barcode generator into smaller pieces X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=570819935dd2073a42534ea9c734b76eddcb19ca;p=contrib%2FConifer.git Break barcode generator into smaller pieces This should make it easier to expose evergreen.lu_generate_barcode() for manual purposes (e.g. for creating a new user on the fly in the Register Patron UI). Signed-off-by: Dan Scott --- diff --git a/tools/patron-load/ldap_sync b/tools/patron-load/ldap_sync index e2b87ef855..216250f98f 100644 --- a/tools/patron-load/ldap_sync +++ b/tools/patron-load/ldap_sync @@ -178,15 +178,11 @@ def generate_lu_barcode(): print """ CREATE SEQUENCE evergreen.lu_barcode START 200000; -CREATE OR REPLACE FUNCTION evergreen.generate_lu_barcode(usr_id INT) RETURNS TEXT AS $$ +CREATE OR REPLACE FUNCTION evergreen.lu_update_barcode(usr_id INT) RETURNS TEXT AS $$ DECLARE barcode TEXT; - mod TEXT; - bc_serial RECORD; BEGIN - SELECT NEXTVAL('evergreen.lu_barcode') AS bc INTO bc_serial; - barcode := '0000700' || bc_serial.bc::text; - barcode := barcode || evergreen.mod10(barcode); + barcode := evergreen.lu_generate_barcode(); INSERT INTO actor.card (usr, barcode) VALUES (usr_id, barcode); @@ -197,6 +193,20 @@ BEGIN RETURN barcode; END; $$ LANGUAGE PLPGSQL; + +CREATE OR REPLACE FUNCTION evergreen.lu_generate_barcode() RETURNS TEXT AS $$ +DECLARE + barcode TEXT; + mod TEXT; + bc_serial RECORD; +BEGIN + SELECT NEXTVAL('evergreen.lu_barcode') AS bc INTO bc_serial; + barcode := '0000700' || bc_serial.bc::text; + barcode := barcode || evergreen.mod10(barcode); + + RETURN barcode; +END; +$$ LANGUAGE PLPGSQL; """