# Bug OP-11871 - Setting definitions validations access nonloaded constants

Project: OpenProject
Status: closed
URL: https://community.openproject.org/work_packages/OP-11871

## Open points

_No work packages_

## Details

| Attribute | Value |
| --- | --- |
| Date |  |
| Priority | Medium |
| Module |  |
| Target versions | 12.5.0 |
| Observed in versions |  |
| Sprint | 12.5.0 |
| Backlog bucket |  |
| Bug found in version (deprecated) |  |
| Found in mobile app version |  |
| Follow-up feedback e-mail |  |
| Requires doc change | No |
| Accessibility | No |
| Pull preview |  |
| List |  |
| Labels |  |

## People

| Attribute | Value |
| --- | --- |
| Assignee |  |
| Accountable |  |
| Product manager |  |
| Developers |  |
| Designer |  |
| Ordered by |  |
| Signed off by |  |
| Interest by |  |

## Planning

| Attribute | Value |
| --- | --- |
| Relevance |  |

## Costs

| Attribute | Value |
| --- | --- |
| Votes |  |
| Work |  |
| Labor costs |  |

## Description

### Steps to reproduce

_Please write down the steps to reproduce. Try to write down all necessary preconditions (what permissions do you have, are other users involved?). Example:_

1.  Start a rails console with this ENV set `OPENPROJECT_DEFAULT__PROJECTS__MODULES=foo`

### What is the buggy behavior?

_Please describe the bug with as most details as possible. Example:_

*   Startup fails

```text
/Users/oliver/openproject/dev/config/constants/settings/definitions.rb:321:in `block (2 levels) in <main>': uninitialized constant OpenProject::AccessControl (NameError)

      allowed: -> { OpenProject::AccessControl.available_project_modules.map(&:to_s) }
                               ^^^^^^^^^^^^^^^
	from /Users/oliver/openproject/dev/config/constants/settings/definition.rb:121:in `allowed'
	from /Users/oliver/openproject/dev/config/constants/settings/definition.rb:114:in `valid?'
	from /Users/oliver/openproject/dev/config/constants/settings/definition.rb:106:in `override_value'
	from /Users/oliver/openproject/dev/config/constants/settings/definition.rb:264:in `block in override_config_values'
	from /Users/oliver/openproject/dev/config/constants/settings/definition.rb:321:in `find_env_var_override'
	from /Users/oliver/openproject/dev/config/constants/settings/definition.rb:262:in `override_config_values'
	from /Users/oliver/openproject/dev/config/constants/settings/definition.rb:257:in `override_value_from_env'
	from /Users/oliver/openproject/dev/config/constants/settings/definition.rb:239:in `override_value'
	from /Users/oliver/openproject/dev/config/constants/settings/definition.rb:167:in `add'
	from /Users/oliver/openproject/dev/config/constants/settings/definitions.rb:319:in `block in <main>'
	from /Users/oliver/openproject/dev/config/constants/settings/definition.rb:173:in `instance_exec'
	from /Users/oliver/openproject/dev/config/constants/settings/definition.rb:173:in `define'
	from /Users/oliver/openproject/dev/config/constants/settings/definitions.rb:36:in `<main>'
	from /Users/oliver/openproject/dev/config/constants/settings/definition.rb:193:in `load'
	from /Users/oliver/openproject/dev/config/constants/settings/definition.rb:193:in `all'
	from /Users/oliver/openproject/dev/config/constants/settings/definition.rb:213:in `by_name'
	from /Users/oliver/openproject/dev/config/constants/settings/definition.rb:177:in `[]'
```

###
