mirror of
https://gitlab.com/davical-project/davical.git
synced 2026-05-30 03:24:47 +00:00
Add a function to assist with renaming users.
This commit is contained in:
parent
c61d3edac6
commit
113fb6a40f
@ -339,3 +339,28 @@ BEGIN
|
|||||||
RETURN rlist;
|
RETURN rlist;
|
||||||
END;
|
END;
|
||||||
' LANGUAGE 'plpgsql';
|
' LANGUAGE 'plpgsql';
|
||||||
|
|
||||||
|
|
||||||
|
CREATE or REPLACE FUNCTION rename_davical_user( TEXT, TEXT ) RETURNS TEXT AS $$
|
||||||
|
DECLARE
|
||||||
|
oldname ALIAS FOR $1;
|
||||||
|
newname ALIAS FOR $2;
|
||||||
|
oldpath TEXT;
|
||||||
|
newpath TEXT;
|
||||||
|
BEGIN
|
||||||
|
UPDATE usr SET username = newname WHERE username = oldname;
|
||||||
|
oldpath := '/' || oldname | '/';
|
||||||
|
newpath := '/' || newname | '/';
|
||||||
|
|
||||||
|
UPDATE collection
|
||||||
|
SET parent_container = replace( parent_container, oldpath, newpath),
|
||||||
|
dav_name = replace( dav_name, oldpath, newpath)
|
||||||
|
WHERE substring(dav_name from 1 for char_length(oldpath)) = oldpath;
|
||||||
|
|
||||||
|
UPDATE caldav_data
|
||||||
|
SET dav_name = replace( dav_name, oldpath, newpath)
|
||||||
|
WHERE substring(dav_name from 1 for char_length(oldpath)) = oldpath;
|
||||||
|
|
||||||
|
RETURN newname;
|
||||||
|
END;
|
||||||
|
$$ LANGUAGE plpgsql;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user