diff --git a/src/Orchard.Web/Modules/Orchard.Packaging/Controllers/GalleryController.cs b/src/Orchard.Web/Modules/Orchard.Packaging/Controllers/GalleryController.cs index 806806ad5..930a279cc 100644 --- a/src/Orchard.Web/Modules/Orchard.Packaging/Controllers/GalleryController.cs +++ b/src/Orchard.Web/Modules/Orchard.Packaging/Controllers/GalleryController.cs @@ -55,10 +55,6 @@ namespace Orchard.Packaging.Controllers { return View(new PackagingAddSourceViewModel()); } - public ActionResult AddSourceViewResult(PackagingAddSourceViewModel model) { - return View("AddSource", model); - } - [HttpPost] public ActionResult AddSource(string url) { try { @@ -90,7 +86,7 @@ namespace Orchard.Packaging.Controllers { } if ( !ModelState.IsValid ) - return AddSourceViewResult(new PackagingAddSourceViewModel(){ Url = url }); + return View(new PackagingAddSourceViewModel { Url = url }); _packagingSourceManager.AddSource(new PackagingSource { Id = Guid.NewGuid(), FeedUrl = url, FeedTitle = title }); _notifier.Information(T("The feed has been added successfully.")); @@ -99,14 +95,14 @@ namespace Orchard.Packaging.Controllers { } catch ( Exception exception ) { _notifier.Error(T("Adding feed failed: {0}", exception.Message)); - return AddSourceViewResult(new PackagingAddSourceViewModel() { Url = url }); + return View(new PackagingAddSourceViewModel { Url = url }); } } public ActionResult Modules(Guid? sourceId) { var selectedSource = _packagingSourceManager.GetSources().Where(s => s.Id == sourceId).FirstOrDefault(); - + return View("Modules", new PackagingModulesViewModel { Modules = _packagingSourceManager.GetModuleList(selectedSource), Sources = _packagingSourceManager.GetSources().OrderBy(s => s.FeedTitle), diff --git a/src/Orchard.Web/Modules/Orchard.Tags/Controllers/AdminController.cs b/src/Orchard.Web/Modules/Orchard.Tags/Controllers/AdminController.cs index eac7aaea5..f739d7a8e 100644 --- a/src/Orchard.Web/Modules/Orchard.Tags/Controllers/AdminController.cs +++ b/src/Orchard.Web/Modules/Orchard.Tags/Controllers/AdminController.cs @@ -9,7 +9,6 @@ using Orchard.Settings; using Orchard.Tags.Models; using Orchard.Tags.ViewModels; using Orchard.Tags.Services; -using Orchard.UI.Notify; namespace Orchard.Tags.Controllers { [ValidateInput(false)] @@ -22,52 +21,41 @@ namespace Orchard.Tags.Controllers { T = NullLocalizer.Instance; } - public IOrchardServices Services { get; set; } protected virtual ISite CurrentSite { get; [UsedImplicitly] private set; } public Localizer T { get; set; } public ActionResult Index() { - try { - IEnumerable tags = _tagService.GetTags(); - var entries = tags.Select(tag => CreateTagEntry(tag)).ToList(); - var model = new TagsAdminIndexViewModel { Tags = entries }; - return View(model); - } - catch (Exception exception) { - Services.Notifier.Error(T("Listing tags failed: " + exception.Message)); - return Index(); - } + IEnumerable tags = _tagService.GetTags(); + var entries = tags.Select(CreateTagEntry).ToList(); + var model = new TagsAdminIndexViewModel { Tags = entries }; + return View(model); } - [HttpPost] public ActionResult Index(FormCollection input) { - var viewModel = new TagsAdminIndexViewModel { Tags = new List(), BulkAction = new TagAdminIndexBulkAction() }; - UpdateModel(viewModel); - - try { - IEnumerable checkedEntries = viewModel.Tags.Where(t => t.IsChecked); - switch (viewModel.BulkAction) { - case TagAdminIndexBulkAction.None: - break; - case TagAdminIndexBulkAction.Delete: - if (!Services.Authorizer.Authorize(Permissions.ManageTags, T("Couldn't delete tag"))) - return new HttpUnauthorizedResult(); - - foreach (TagEntry entry in checkedEntries) { - _tagService.DeleteTag(entry.Tag.Id); - } - break; - - default: - throw new ArgumentOutOfRangeException(); - } + var viewModel = new TagsAdminIndexViewModel {Tags = new List(), BulkAction = new TagAdminIndexBulkAction()}; + + if ( !TryUpdateModel(viewModel) ) { + return View(viewModel); } - catch (Exception exception) { - Services.Notifier.Error(T("Editing tags failed: " + exception.Message)); - return Index(); + + IEnumerable checkedEntries = viewModel.Tags.Where(t => t.IsChecked); + switch (viewModel.BulkAction) { + case TagAdminIndexBulkAction.None: + break; + case TagAdminIndexBulkAction.Delete: + if (!Services.Authorizer.Authorize(Permissions.ManageTags, T("Couldn't delete tag"))) + return new HttpUnauthorizedResult(); + + foreach (TagEntry entry in checkedEntries) { + _tagService.DeleteTag(entry.Tag.Id); + } + break; + + default: + throw new ArgumentOutOfRangeException(); } return RedirectToAction("Index"); @@ -80,67 +68,62 @@ namespace Orchard.Tags.Controllers { [HttpPost] public ActionResult Create(FormCollection input) { var viewModel = new TagsAdminCreateViewModel(); - try { - UpdateModel(viewModel); - if (!Services.Authorizer.Authorize(Permissions.CreateTag, T("Couldn't create tag"))) - return new HttpUnauthorizedResult(); - _tagService.CreateTag(viewModel.TagName); - return RedirectToAction("Index"); - } - catch (Exception exception) { - Services.Notifier.Error(T("Creating tag failed: " + exception.Message)); + + if (!TryUpdateModel(viewModel)) { return View(viewModel); } + + if (!Services.Authorizer.Authorize(Permissions.CreateTag, T("Couldn't create tag"))) + return new HttpUnauthorizedResult(); + + _tagService.CreateTag(viewModel.TagName); + + return RedirectToAction("Index"); } public ActionResult Edit(int id) { - try { - Tag tag = _tagService.GetTag(id); - var viewModel = new TagsAdminEditViewModel { - Id = tag.Id, - TagName = tag.TagName, - }; - return View(viewModel); + Tag tag = _tagService.GetTag(id); + if(tag == null) { + return RedirectToAction("Index"); } - catch (Exception exception) { - Services.Notifier.Error(T("Retrieving tag information failed: " + exception.Message)); - return Index(); - } + + var viewModel = new TagsAdminEditViewModel { + Id = tag.Id, + TagName = tag.TagName, + }; + + return View(viewModel); } [HttpPost] public ActionResult Edit(FormCollection input) { var viewModel = new TagsAdminEditViewModel(); - try { - UpdateModel(viewModel); - if (!Services.Authorizer.Authorize(Permissions.ManageTags, T("Couldn't edit tag"))) - return new HttpUnauthorizedResult(); - _tagService.UpdateTag(viewModel.Id, viewModel.TagName); - return RedirectToAction("Index"); - } - catch (Exception exception) { - Services.Notifier.Error(T("Editing tag failed: " + exception.Message)); + if ( !TryUpdateModel(viewModel) ) { return View(viewModel); } + + if (!Services.Authorizer.Authorize(Permissions.ManageTags, T("Couldn't edit tag"))) + return new HttpUnauthorizedResult(); + + _tagService.UpdateTag(viewModel.Id, viewModel.TagName); + return RedirectToAction("Index"); } public ActionResult Search(int id) { - try { - Tag tag = _tagService.GetTag(id); - IEnumerable contents = _tagService.GetTaggedContentItems(id).ToList(); - var viewModel = new TagsAdminSearchViewModel { - TagName = tag.TagName, - Contents = contents, - }; - return View(viewModel); + Tag tag = _tagService.GetTag(id); + if (tag == null) { + return RedirectToAction("Index"); } - catch (Exception exception) { - Services.Notifier.Error(T("Retrieving tagged items failed: " + exception.Message)); - return Index(); - } + + IEnumerable contents = _tagService.GetTaggedContentItems(id).ToList(); + var viewModel = new TagsAdminSearchViewModel { + TagName = tag.TagName, + Contents = contents, + }; + return View(viewModel); } private static TagEntry CreateTagEntry(Tag tag) { diff --git a/src/Orchard.Web/Modules/Orchard.Tags/Controllers/HomeController.cs b/src/Orchard.Web/Modules/Orchard.Tags/Controllers/HomeController.cs index d1ea5c696..a97d51561 100644 --- a/src/Orchard.Web/Modules/Orchard.Tags/Controllers/HomeController.cs +++ b/src/Orchard.Web/Modules/Orchard.Tags/Controllers/HomeController.cs @@ -1,5 +1,3 @@ -using System; -using System.Collections.Generic; using System.Linq; using System.Web.Mvc; using JetBrains.Annotations; @@ -8,23 +6,17 @@ using Orchard.Localization; using Orchard.Logging; using Orchard.Security; using Orchard.Settings; -using Orchard.Tags.Helpers; using Orchard.Tags.Services; using Orchard.Tags.ViewModels; -using Orchard.UI.Notify; namespace Orchard.Tags.Controllers { [ValidateInput(false)] public class HomeController : Controller { private readonly ITagService _tagService; private readonly IContentManager _contentManager; - private readonly INotifier _notifier; - private readonly IAuthorizer _authorizer; - public HomeController(ITagService tagService, IAuthorizer authorizer, INotifier notifier, IContentManager contentManager) { + public HomeController(ITagService tagService, IContentManager contentManager) { _tagService = tagService; - _authorizer = authorizer; - _notifier = notifier; _contentManager = contentManager; T = NullLocalizer.Instance; } @@ -35,82 +27,28 @@ namespace Orchard.Tags.Controllers { public Localizer T { get; set; } public ActionResult Index() { - try { - var tags = _tagService.GetTags(); - var model = new TagsIndexViewModel { Tags = tags.ToList() }; - return View(model); - } - catch (Exception exception) { - _notifier.Error(T("Listing tags failed: " + exception.Message)); - return Index(); - } - } - - [HttpPost] - public ActionResult Edit(FormCollection input, int taggedContentId, string returnUrl, string newTagName) { - try { - if (!_authorizer.Authorize(Permissions.CreateTag, T("Couldn't create tag"))) - return new HttpUnauthorizedResult(); - if (!String.IsNullOrEmpty(newTagName)) { - foreach (var tagName in TagHelpers.ParseCommaSeparatedTagNames(newTagName)) { - if (_tagService.GetTagByName(tagName) == null) { - _tagService.CreateTag(tagName); - } - _tagService.TagContentItem(taggedContentId, tagName); - } - } - if (!String.IsNullOrEmpty(returnUrl)) { - return Redirect(returnUrl); - } - return RedirectToAction("Index"); - } - catch (Exception exception) { - _notifier.Error(T("Editing tags failed: " + exception.Message)); - if (!String.IsNullOrEmpty(returnUrl)) { - return Redirect(returnUrl); - } - return RedirectToAction("Index"); - } - } - - [HttpPost] - public ActionResult Update(string tags, int taggedContentId, string returnUrl) { - try { - if (!_authorizer.Authorize(Permissions.CreateTag, T("Couldn't create tag"))) - return new HttpUnauthorizedResult(); - List tagNames = TagHelpers.ParseCommaSeparatedTagNames(tags); - _tagService.UpdateTagsForContentItem(taggedContentId, tagNames); - if (!String.IsNullOrEmpty(returnUrl)) { - return Redirect(returnUrl); - } - return RedirectToAction("Index"); - } - catch (Exception exception) { - _notifier.Error(T("Updating tags failed: " + exception.Message)); - if (!String.IsNullOrEmpty(returnUrl)) { - return Redirect(returnUrl); - } - return RedirectToAction("Index"); - } + var tags = _tagService.GetTags(); + var model = new TagsIndexViewModel { Tags = tags.ToList() }; + return View(model); } public ActionResult Search(string tagName) { - try { - var tag = _tagService.GetTagByName(tagName); - var items = - _tagService.GetTaggedContentItems(tag.Id).Select( - ic => _contentManager.BuildDisplayModel(ic, "SummaryForSearch")); + var tag = _tagService.GetTagByName(tagName); - var viewModel = new TagsSearchViewModel { - TagName = tag.TagName, - Items = items.ToList() - }; - return View(viewModel); - - } - catch (Exception exception) { + if (tag == null) { return RedirectToAction("Index"); } + + var items = + _tagService.GetTaggedContentItems(tag.Id).Select( + ic => _contentManager.BuildDisplayModel(ic, "SummaryForSearch")); + + var viewModel = new TagsSearchViewModel { + TagName = tag.TagName, + Items = items.ToList() + }; + + return View(viewModel); } } } diff --git a/src/Orchard.Web/Modules/Orchard.Tags/Orchard.Tags.csproj b/src/Orchard.Web/Modules/Orchard.Tags/Orchard.Tags.csproj index 618828ff0..f6b8542a1 100644 --- a/src/Orchard.Web/Modules/Orchard.Tags/Orchard.Tags.csproj +++ b/src/Orchard.Web/Modules/Orchard.Tags/Orchard.Tags.csproj @@ -90,7 +90,7 @@ - + diff --git a/src/Orchard.Web/Modules/Orchard.Tags/Services/TagService.cs b/src/Orchard.Web/Modules/Orchard.Tags/Services/TagService.cs index edae1aa46..f1650e418 100644 --- a/src/Orchard.Web/Modules/Orchard.Tags/Services/TagService.cs +++ b/src/Orchard.Web/Modules/Orchard.Tags/Services/TagService.cs @@ -40,7 +40,7 @@ namespace Orchard.Tags.Services { public Localizer T { get; set; } public IEnumerable GetTags() { - return from tags in _tagRepository.Table.ToList() select tags; + return _tagRepository.Table.ToList(); } public Tag GetTag(int id) { @@ -59,7 +59,7 @@ namespace Orchard.Tags.Services { _tagRepository.Create(tag); } else { - _notifier.Warning(T("Couldn't create tag: " + tagName + "it already exixts")); + _notifier.Warning(T("The tag {0} already exists", tagName)); } } diff --git a/src/Orchard.Web/Modules/Orchard.Tags/ViewModels/TagsAdminCreateViewModel.cs b/src/Orchard.Web/Modules/Orchard.Tags/ViewModels/TagsAdminCreateViewModel.cs index 8d6fb28a6..6fc6b553f 100644 --- a/src/Orchard.Web/Modules/Orchard.Tags/ViewModels/TagsAdminCreateViewModel.cs +++ b/src/Orchard.Web/Modules/Orchard.Tags/ViewModels/TagsAdminCreateViewModel.cs @@ -4,7 +4,7 @@ using Orchard.Mvc.ViewModels; namespace Orchard.Tags.ViewModels { public class TagsAdminCreateViewModel : BaseViewModel { - [Required, DisplayName("Name:")] + [Required, DisplayName("Name")] public string TagName { get; set; } } } diff --git a/src/Orchard.Web/Modules/Orchard.Tags/ViewModels/TagsAdminEditViewModel.cs b/src/Orchard.Web/Modules/Orchard.Tags/ViewModels/TagsAdminEditViewModel.cs index f1c907a41..67fe53be5 100644 --- a/src/Orchard.Web/Modules/Orchard.Tags/ViewModels/TagsAdminEditViewModel.cs +++ b/src/Orchard.Web/Modules/Orchard.Tags/ViewModels/TagsAdminEditViewModel.cs @@ -5,7 +5,7 @@ using Orchard.Mvc.ViewModels; namespace Orchard.Tags.ViewModels { public class TagsAdminEditViewModel : BaseViewModel { public int Id { get; set; } - [Required, DisplayName("Name:")] + [Required, DisplayName("Name")] public string TagName { get; set; } } } diff --git a/src/Orchard.Web/Modules/Orchard.Tags/Views/Admin/Create.aspx b/src/Orchard.Web/Modules/Orchard.Tags/Views/Admin/Create.aspx index f9445eb96..2da408be3 100644 --- a/src/Orchard.Web/Modules/Orchard.Tags/Views/Admin/Create.aspx +++ b/src/Orchard.Web/Modules/Orchard.Tags/Views/Admin/Create.aspx @@ -4,8 +4,10 @@ <% using(Html.BeginFormAntiForgeryPost()) { %> <%: Html.ValidationSummary() %>
- - - " /> + <%: Html.LabelFor(m => m.TagName) %> + <%: Html.TextBoxFor(m => m.TagName, new { @class = "text" })%> +
+
+ " />
<% } %> \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Tags/Views/Admin/Edit.aspx b/src/Orchard.Web/Modules/Orchard.Tags/Views/Admin/Edit.aspx index 02e3b6e72..ee921c60c 100644 --- a/src/Orchard.Web/Modules/Orchard.Tags/Views/Admin/Edit.aspx +++ b/src/Orchard.Web/Modules/Orchard.Tags/Views/Admin/Edit.aspx @@ -4,9 +4,11 @@ <% using(Html.BeginFormAntiForgeryPost()) { %> <%: Html.ValidationSummary() %>
- - - - " /> -
+ <%: Html.HiddenFor(m => m.Id) %> + <%: Html.LabelFor(m => m.TagName) %> + <%: Html.TextBoxFor(m => m.TagName, new { @class = "text" })%> + +
+ " /> +
<% } %> \ No newline at end of file