|
18 | 18 | // CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
19 | 19 | // DEALINGS IN THE SOFTWARE.
|
20 | 20 |
|
| 21 | +using DotNetNuke.Services.Log.EventLog; |
| 22 | + |
21 | 23 | namespace DotNetNuke.Modules.ActiveForums
|
22 | 24 | {
|
23 | 25 | using System;
|
@@ -252,18 +254,22 @@ private void GetControl(string view, string options)
|
252 | 254 | if (string.IsNullOrEmpty(this.ForumIds))
|
253 | 255 | {
|
254 | 256 | RoleInfo role = DotNetNuke.Security.Roles.RoleController.Instance.GetRoleById(portalId: this.PortalId, roleId: this.SocialGroupId);
|
255 |
| - |
256 |
| - // Create new forum |
257 |
| - bool isPrivate = false; |
258 |
| - if (!role.IsPublic) |
| 257 | + Hashtable htSettings = DotNetNuke.Entities.Modules.ModuleController.Instance.GetModule(moduleId: this.ModuleId, tabId: this.TabId, ignoreCache: false).TabModuleSettings; |
| 258 | + if (htSettings == null || htSettings.Count == 0) |
259 | 259 | {
|
260 |
| - isPrivate = true; |
| 260 | + htSettings = DotNetNuke.Entities.Modules.ModuleController.Instance.GetModule(moduleId: this.ModuleId, tabId: this.TabId, ignoreCache: false).ModuleSettings; |
261 | 261 | }
|
262 | 262 |
|
263 |
| - Hashtable htSettings = DotNetNuke.Entities.Modules.ModuleController.Instance.GetModule(moduleId: this.ModuleId, tabId: this.TabId, ignoreCache: false).TabModuleSettings; |
264 |
| - |
265 |
| - DotNetNuke.Modules.ActiveForums.Controllers.ForumController.CreateSocialGroupForum(this.PortalId, this.ModuleId, this.SocialGroupId, Convert.ToInt32(htSettings["ForumGroupTemplate"].ToString()), role.RoleName + " Discussions", role.Description, isPrivate, htSettings["ForumConfig"].ToString()); |
266 |
| - this.ForumIds = DotNetNuke.Modules.ActiveForums.Controllers.ForumController.GetForumIdsBySocialGroup(this.PortalId, this.ForumModuleId, this.SocialGroupId); |
| 263 | + if (htSettings == null || htSettings.Count == 0 || !htSettings.ContainsKey("ForumGroupTemplate")) |
| 264 | + { |
| 265 | + var ex = new Exception($"Unable to configure forum for Social Group: {this.SocialGroupId}"); |
| 266 | + DotNetNuke.Services.Exceptions.Exceptions.ProcessModuleLoadException(this, ex); |
| 267 | + } |
| 268 | + else |
| 269 | + { |
| 270 | + DotNetNuke.Modules.ActiveForums.Controllers.ForumController.CreateSocialGroupForum(this.PortalId, this.ModuleId, this.SocialGroupId, Convert.ToInt32(htSettings["ForumGroupTemplate"].ToString()), role.RoleName + " Discussions", role.Description, !role.IsPublic, htSettings["ForumConfig"].ToString()); |
| 271 | + this.ForumIds = DotNetNuke.Modules.ActiveForums.Controllers.ForumController.GetForumIdsBySocialGroup(this.PortalId, this.ForumModuleId, this.SocialGroupId); |
| 272 | + } |
267 | 273 | }
|
268 | 274 | }
|
269 | 275 |
|
|
0 commit comments