]> ruin.nu Git - ndwebbie.git/blobdiff - database/functions/user_password.sql
Show target coords as soon as they are released
[ndwebbie.git] / database / functions / user_password.sql
index 889e49ebb233790592400e7978bd7ef92bda6e01..0e86be8d03bcd988d4b2d12836c1768be782a48d 100644 (file)
@@ -1,8 +1,13 @@
 CREATE OR REPLACE FUNCTION user_password() RETURNS trigger
     AS $_X$
 DECLARE
+       old_password TEXT;
 BEGIN
-       IF COALESCE(NEW.password <> OLD.password,TRUE) AND
+       IF TG_OP = 'UPDATE'
+       THEN
+               old_password := OLD.password;
+       END IF;
+       IF COALESCE(NEW.password <> old_password,TRUE) AND
                NOT NEW.password SIMILAR TO '$2a$\d+$[a-zA-Z0-9./]+'
        THEN
                NEW.password := crypt(NEW.password,gen_salt('bf',10));
@@ -13,5 +18,6 @@ $_X$ LANGUAGE plpgsql;
 
 /*
 alter table users alter COLUMN password drop not null ;
-CREATE TRIGGER user_password BEFORE UPDATE OR INSERT ON users FOR EACH ROW EXECUTE PROCEDURE user_password()
+DROP TRIGGER user_password ON users;
+CREATE TRIGGER user_password BEFORE INSERT OR UPDATE OF password ON users FOR EACH ROW EXECUTE PROCEDURE user_password();
 */