diff --git a/app/models/user.rb b/app/models/user.rb index b1190c4..fe6a7aa 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -281,40 +281,42 @@ def self.update_user_permissions - add_orgs = Role.find_by(name: 'add_organisations') - change_org_affiliation = Role.find_by(name: 'change_org_affiliation') - grant_api_to_orgs = Role.find_by(name: 'grant_api_to_orgs') - grant_permissions = Role.find_by(name: 'grant_permissions') - modify_templates = Role.find_by(name: 'modify_templates') - modify_guidance = Role.find_by(name: 'modify_guidance') - change_org_details = Role.find_by(name: 'change_org_detials') - User.all.each do |user| - roles = user.roles - #user.roles.delete_all - logger.debug "#{user.email}" - logger.debug "#{roles}" - roles.each do |role| - if role.blank? - elsif role.name == 'admin' - logger.debug "we found an admin" - #add admin roles - user.roles << add_orgs# unless user.can_add_orgs? - user.roles << change_org_affiliation# unless user.can_change_org? - #user.roles << grant_api_to_orgs# unless user.can_grant_api_to_orgs? - user.roles << grant_permissions# unless user.can_grant_permissions? - logger.debug "#{roles}" - elsif role.name == 'org_admin' - logger.debug "we found an org-admin" - #add org-admin roles - user.roles << grant_permissions# unless user.can_grant_permissions? - user.roles << modify_templates# unless user.can_modify_templates? - user.roles << modify_guidance# unless user.can_modify_guidance? - user.roles << change_org_details# unless user.can_modify_org_details? - logger.debug "#{roles}" + admin = Role.find_by(name: 'admin') + org_admin = Role.find_by(name: 'org_admin') + add_orgs = Role.find_by(name: 'add_organisations') + change_org_affiliation = Role.find_by(name: 'change_org_affiliation') + grant_api_to_orgs = Role.find_by(name: 'grant_api_to_orgs') + grant_permissions = Role.find_by(name: 'grant_permissions') + modify_templates = Role.find_by(name: 'modify_templates') + modify_guidance = Role.find_by(name: 'modify_guidance') + change_org_details = Role.find_by(name: 'change_org_detials') + User.all.each do |user| + roles = user.roles + roles.each do |role| + if role.blank? + elsif role.name == 'admin' + #add admin roles + user.roles << add_orgs unless user.can_add_orgs? + user.roles << change_org_affiliation unless user.can_change_org? + user.roles << grant_api_to_orgs unless user.can_grant_api_to_orgs? + user.roles << grant_permissions unless user.can_grant_permissions? + elsif role.name == 'org_admin' + #add org-admin roles + user.roles << grant_permissions unless user.can_grant_permissions? + user.roles << modify_templates unless user.can_modify_templates? + user.roles << modify_guidance unless user.can_modify_guidance? + user.roles << change_org_details unless user.can_modify_org_details? + end end + #rip roles from user + if user.roles.include?(admin) + user.roles.delete(admin) + end + if user.roles.include?(org_admin) + user.roles.delete(org_admin) + end + user.save! end - user.save! end -end end diff --git a/config/initializers/locale.rb b/config/initializers/locale.rb index 220f920..2ec55a8 100644 --- a/config/initializers/locale.rb +++ b/config/initializers/locale.rb @@ -10,11 +10,11 @@ # set default locale to something other than :en # initializers are run before migrations, languages table might not be present - if ActiveRecord::Base.connection.tables.include?('languages') - config.i18n.default_locale = Language.where(default_language: true).first.abbreviation - else + #if ActiveRecord::Base.connection.tables.include?('languages') + # config.i18n.default_locale = Language.where(default_language: true).first.abbreviation + #else config.i18n.default_locale = 'en-UK' # if this is not set then admin area is not working, which is required to change the default_language - end + #end # set fallback locale config.i18n.fallbacks = true