Index: metadata/model/update-to-latest-db.mysqldiff.sql =================================================================== --- metadata/model/update-to-latest-db.mysqldiff.sql (revision 5691) +++ metadata/model/update-to-latest-db.mysqldiff.sql (working copy) @@ -1099,6 +1099,7 @@ #-- If a role can View Patients...add the new View Patient Identifiers privilege to that role insert into role_privilege (role, privilege) select distinct role, 'View Patient Identifiers' from role_privilege rp where privilege = 'View Patients' and not exists (select * from role_privilege where role = rp.role and privilege = 'View Patient Identifiers'); + # THIS IS INCORRECT, BUT DOES NOT GET FIXED UNTIL 1.4.0.18 #-- Convert Manage Encounter Types insert into role_privilege (role, privilege) select distinct role, 'Add Encounter Types' from role_privilege rp where privilege = 'Manage Encounter Types' and not exists (select * from role_privilege where role = rp.role and privilege = 'Add Encounter Types'); insert into role_privilege (role, privilege) select distinct role, 'Edit Encounter Types' from role_privilege rp where privilege = 'Manage Encounter Types' and not exists (select * from role_privilege where role = rp.role and privilege = 'Edit Encounter Types'); @@ -1772,6 +1773,35 @@ call diff_procedure('1.4.0.17'); +#----------------------------------------------------------- +# OpenMRS Datamodel version 1.4.0.18 +# Darius Jazayeri Oct 11th, 2008 +# +# Convert from Add/Edit/Delete Encounter Types to Manage Encounter Types +# (this was done incorrectly in 1.3.0.14) +#----------------------------------------------------------- +DROP PROCEDURE IF EXISTS diff_procedure; +delimiter // +CREATE PROCEDURE diff_procedure (IN new_db_version VARCHAR(10)) +BEGIN + IF (SELECT REPLACE(property_value, '.', '0') < REPLACE(new_db_version, '.', '0') FROM global_property WHERE property = 'database_version') THEN + + #-- Convert Manage Encounter Types + insert into role_privilege (role, privilege) select distinct role, 'Manage Encounter Types' from role_privilege rp where privilege = 'Add Encounter Types' and not exists (select * from role_privilege where role = rp.role and privilege = 'Manage Encounter Types'); + insert into role_privilege (role, privilege) select distinct role, 'Manage Encounter Types' from role_privilege rp where privilege = 'Edit Encounter Types' and not exists (select * from role_privilege where role = rp.role and privilege = 'Manage Encounter Types'); + insert into role_privilege (role, privilege) select distinct role, 'Manage Encounter Types' from role_privilege rp where privilege = 'Delete Encounter Types' and not exists (select * from role_privilege where role = rp.role and privilege = 'Manage Encounter Types'); + delete from role_privilege where privilege = 'Add Encounter Types'; + delete from role_privilege where privilege = 'Edit Encounter Types'; + delete from role_privilege where privilege = 'Delete Encounter Types'; + + UPDATE `global_property` SET property_value=new_db_version WHERE property = 'database_version'; + + END IF; +END; +// +delimiter ; +call diff_procedure('1.4.0.18'); + #----------------------------------- # Clean up - Keep this section at the very bottom of diff script