|
67 | 67 |
|
68 | 68 | @code { |
69 | 69 | private IEnumerable<IdentityError>? identityErrors; |
70 | | - private int _organizationCount; |
71 | 70 | private bool _registrationEnabled; |
72 | 71 |
|
73 | 72 | [SupplyParameterFromForm] |
|
81 | 80 | protected override async Task OnInitializedAsync() |
82 | 81 | { |
83 | 82 | _registrationEnabled = await IsRegistrationEnabled(); |
84 | | - _organizationCount = DataService.GetOrganizationCount(); |
85 | 83 | await base.OnInitializedAsync(); |
86 | 84 | } |
87 | | - |
| 85 | + |
88 | 86 | public async Task RegisterUser(EditContext editContext) |
89 | 87 | { |
| 88 | + if (!await IsRegistrationEnabled()) |
| 89 | + { |
| 90 | + return; |
| 91 | + } |
| 92 | + |
90 | 93 | var user = CreateUser(); |
91 | 94 |
|
92 | 95 | await UserStore.SetUserNameAsync(user, Input.Email, CancellationToken.None); |
@@ -124,22 +127,23 @@ else |
124 | 127 |
|
125 | 128 | private RemotelyUser CreateUser() |
126 | 129 | { |
| 130 | + var organizationCount = DataService.GetOrganizationCount(); |
127 | 131 | var user = new RemotelyUser |
128 | 132 | { |
129 | 133 | UserName = Input.Email, |
130 | 134 | Email = Input.Email, |
131 | | - IsServerAdmin = _organizationCount == 0, |
| 135 | + IsServerAdmin = organizationCount == 0, |
132 | 136 | Organization = new Organization() |
133 | 137 | { |
134 | 138 | OrganizationName = string.Empty, |
135 | | - IsDefaultOrganization = _organizationCount == 0 |
| 139 | + IsDefaultOrganization = organizationCount == 0 |
136 | 140 | }, |
137 | 141 | UserOptions = new RemotelyUserOptions(), |
138 | 142 | IsAdministrator = true, |
139 | 143 | LockoutEnabled = true |
140 | 144 | }; |
141 | 145 |
|
142 | | - if (_organizationCount == 0 && HostEnv.IsDevelopment()) |
| 146 | + if (organizationCount == 0 && HostEnv.IsDevelopment()) |
143 | 147 | { |
144 | 148 | user.Organization.ID = AppConstants.DebugOrgId; |
145 | 149 | user.OrganizationID = AppConstants.DebugOrgId; |
|
158 | 162 |
|
159 | 163 | private async Task<bool> IsRegistrationEnabled() |
160 | 164 | { |
| 165 | + var organizationCount = DataService.GetOrganizationCount(); |
161 | 166 | var settings = await DataService.GetSettings(); |
162 | | - return settings.MaxOrganizationCount < 0 || _organizationCount < settings.MaxOrganizationCount; |
| 167 | + return settings.MaxOrganizationCount < 0 || organizationCount < settings.MaxOrganizationCount; |
163 | 168 | } |
164 | 169 |
|
165 | 170 | private sealed class InputModel |
|
0 commit comments