( 560, 'TOTAL_HOLD_COPY_RATIO_EXCEEDED.override', oils_i18n_gettext( 560,
'Override the TOTAL_HOLD_COPY_RATIO_EXCEEDED event', 'ppl', 'description')),
( 561, 'AVAIL_HOLD_COPY_RATIO_EXCEEDED.override', oils_i18n_gettext( 561,
- 'Override the AVAIL_HOLD_COPY_RATIO_EXCEEDED event', 'ppl', 'description'))
+ 'Override the AVAIL_HOLD_COPY_RATIO_EXCEEDED event', 'ppl', 'description')),
+ ( 562, 'ITEM_DEPOSIT_REQUIRED.override', oils_i18n_gettext( 562,
+ 'Allows user to override the item deposits', 'ppl', 'description'))
;
SELECT SETVAL('permission.perm_list_id_seq'::TEXT, 1000);
--- /dev/null
+BEGIN;
+
+SELECT plan(29);
+
+
+-- Create the row in the database
+-- *******************************************
+-- Pop the next in sequence < 1000
+SELECT SETVAL('permission.perm_list_id_seq', (SELECT MAX(id) from permission.perm_list WHERE id<1000));
+
+
+-- Only insert when it doesn't exist already
+INSERT INTO permission.perm_list (CODE,DESCRIPTION)
+SELECT 'ITEM_DEPOSIT_REQUIRED.override','Allows user to override the item deposits'
+WHERE NOT EXISTS (
+ SELECT CODE,DESCRIPTION
+ FROM permission.perm_list
+ WHERE CODE = 'ITEM_DEPOSIT_REQUIRED.override'
+ );
+
+
+-- Now set the sequence back to >=1000
+SELECT SETVAL('permission.perm_list_id_seq'::TEXT, GREATEST( (SELECT MAX(id) FROM permission.perm_list), 1000 ));
+
+
+-- *******************************************
+
+-- Test it
+-- *******************************************
+
+CREATE OR REPLACE FUNCTION test_permission_exists(permcode VARCHAR)
+RETURNS TEXT AS
+$$
+
+BEGIN
+
+RETURN (SELECT COALESCE(code,'') FROM permission.perm_list WHERE CODE=permcode);
+
+END;
+$$ LANGUAGE plpgsql;
+
+-- Test to make sure that the permission exists
+SELECT is( test_permission_exists('ITEM_DEPOSIT_REQUIRED.override'), 'ITEM_DEPOSIT_REQUIRED.override' , 'Permission ITEM_DEPOSIT_REQUIRED.override exists');
+
+DROP FUNCTION test_permission_exists(permcode VARCHAR);
+ROLLBACK;
--- /dev/null
+BEGIN;
+
+-- Pop the next in sequence < 1000
+SELECT SETVAL('permission.perm_list_id_seq', (SELECT MAX(id) from permission.perm_list WHERE id<1000));
+
+
+INSERT INTO permission.perm_list (CODE,DESCRIPTION)
+SELECT 'ITEM_DEPOSIT_REQUIRED.override','Allows user to override the item deposits'
+WHERE NOT EXISTS (
+ SELECT CODE,DESCRIPTION
+ FROM permission.perm_list
+ WHERE CODE = 'ITEM_DEPOSIT_REQUIRED.override'
+ );
+
+
+-- Now set the sequence back to >=1000
+SELECT SETVAL('permission.perm_list_id_seq'::TEXT, GREATEST( (SELECT MAX(id) FROM permission.perm_list), 1000 ));
+
+COMMIT;