private void UpdateLocales(ForumGroupModel model, ForumGroup forumGroup)
		{
			foreach (var localized in model.Locales)
			{
				_localizedEntityService.SaveLocalizedValue(forumGroup, x => x.Name, localized.Name, localized.LanguageId);
				_localizedEntityService.SaveLocalizedValue(forumGroup, x => x.Description, localized.Description, localized.LanguageId);

				var seName = forumGroup.ValidateSeName(localized.SeName, localized.Name, false, localized.LanguageId);
				_urlRecordService.SaveSlug(forumGroup, seName, localized.LanguageId);
			}
		}
        public ActionResult CreateForumGroup(ForumGroupModel model, bool continueEditing)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageForums))
                return AccessDeniedView();

            if (ModelState.IsValid)
            {
                var forumGroup = model.ToEntity();
                forumGroup.CreatedOnUtc = DateTime.UtcNow;
                forumGroup.UpdatedOnUtc = DateTime.UtcNow;
                _forumService.InsertForumGroup(forumGroup);

                NotifySuccess(_localizationService.GetResource("Admin.ContentManagement.Forums.ForumGroup.Added"));
                return continueEditing ? RedirectToAction("EditForumGroup", new { forumGroup.Id }) : RedirectToAction("List");
            }

            //If we got this far, something failed, redisplay form
            return View(model);
        }
		private void PrepareForumGroupModel(ForumGroupModel model, ForumGroup forumGroup, bool excludeProperties)
		{
			if (model == null)
				throw new ArgumentNullException("model");

			var allStores = _commonServices.StoreService.GetAllStores();

			model.AvailableStores = allStores.Select(s => s.ToModel()).ToList();

			if (forumGroup != null)
			{
				model.CreatedOn = _dateTimeHelper.ConvertToUserTime(forumGroup.CreatedOnUtc, DateTimeKind.Utc);
			}

			if (!excludeProperties)
			{
				if (forumGroup != null)
					model.SelectedStoreIds = _storeMappingService.GetStoresIdsWithAccess(forumGroup);
				else
					model.SelectedStoreIds = new int[0];
			}

			ViewBag.StoreCount = allStores.Count;
		}
Beispiel #4
0
        public ActionResult EditForumGroup(ForumGroupModel model, bool continueEditing)
        {
            if (!_services.Permissions.Authorize(StandardPermissionProvider.ManageForums))
                return AccessDeniedView();

            var forumGroup = _forumService.GetForumGroupById(model.Id);
            if (forumGroup == null)
                return RedirectToAction("List");

            if (ModelState.IsValid)
            {
                forumGroup = model.ToEntity(forumGroup);
                forumGroup.UpdatedOnUtc = DateTime.UtcNow;

                _forumService.UpdateForumGroup(forumGroup);

                model.SeName = forumGroup.ValidateSeName(model.SeName, forumGroup.Name, true);
                _urlRecordService.SaveSlug(forumGroup, model.SeName, 0);

                UpdateLocales(model, forumGroup);

                _storeMappingService.SaveStoreMappings<ForumGroup>(forumGroup, model.SelectedStoreIds);

                NotifySuccess(_services.Localization.GetResource("Admin.ContentManagement.Forums.ForumGroup.Updated"));

                return continueEditing ? RedirectToAction("EditForumGroup", forumGroup.Id) : RedirectToAction("List");
            }

            //If we got this far, something failed, redisplay form

            PrepareForumGroupModel(model, forumGroup, true);

            return View(model);
        }
Beispiel #5
0
        public ActionResult CreateForumGroup()
        {
            if (!_services.Permissions.Authorize(StandardPermissionProvider.ManageForums))
                return AccessDeniedView();

            var model = new ForumGroupModel { DisplayOrder = 1 };

            AddLocales(_languageService, model.Locales);

            PrepareForumGroupModel(model, null, false);

            return View(model);
        }