diff options
-rw-r--r-- | CONTRIBUTORS | 6 | ||||
-rw-r--r-- | sql/modules/admin.sql | 20 |
2 files changed, 24 insertions, 2 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 908be9f4..a6cbcb07 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -12,11 +12,13 @@ Wrote the session handling fix, has begun reformatting the files to fit the current coding standards, and other contributions. Joshua Drake <jd @ commandprompt . com> -Contributed database fixes. +Contributed database fixes, the contact/company/entity schema, and other +db-centric changes. Seneca Cunningham <tentra @ gmail.com> Contributed code fixes and support for advanced tax rules. She has also -re-engineered the localization framework. +re-engineered the localization framework. She has also provided support for +Excel, ODS, and other formats for reports. Jason Rodrigues <jasonjayr+ledgersmb @ gmail.com> provided the logic to force the password change in the admin.pl. He maintains the Gentoo Ebuilds packages. diff --git a/sql/modules/admin.sql b/sql/modules/admin.sql index 6b6aecfb..9423e737 100644 --- a/sql/modules/admin.sql +++ b/sql/modules/admin.sql @@ -402,4 +402,24 @@ comment on function admin_delete_group(text) IS $$ remove a login-capable user. $$; +CREATE OR REPLACE FUNCTION admin_list_roles(in_username text) +RETURNS SETOF text AS +$$ +DECLARE out_rolename RECORD; +BEGIN + FOR out_rolename IN + SELECT rolname FROM pg_authid + WHERE oid IN (SELECT id FROM connectby( + '(SELECT m.member, m.roleid, r.oid FROM pg_authid r + LEFT JOIN pg_auth_members m ON (r.oid = m.roleid)) a', + 'oid', 'member', 'oid', '320461', '0', ',' + ) c(id integer, parent integer, "level" integer, + path text, list_order integer) + ) + LOOP + RETURN NEXT out_rolename.rolname; + END LOOP; +END; +$$ LANGUAGE PLPGSQL; + -- TODO: Add admin user |