Skip to content

blog admin support eventPublisher for Tab #1507

Closed

Description

@pineportal

i want create plugin for blog .but cant use blog-post-edit tab

Activity

  1. changed the title [-]blog admin support TabbableModel[/-] [+]blog admin support eventPublisher for Tab[/+] on Sep 18, 2018
  2. self-assigned this
    on Sep 18, 2018
  3. added this to the 3.2 milestone on Sep 18, 2018
  4. pineportal commented on Sep 18, 2018

    @pineportal
    Author

    in BlogController

    private readonly IEventPublisher _eventPublisher;

    ` [HttpPost, ParameterBasedOnFormName("save-continue", "continueEditing")]
    public ActionResult Create(BlogPostModel model, bool continueEditing, FormCollection form)
    {
    if (!_permissionService.Authorize(StandardPermissionProvider.ManageBlog))
    return AccessDeniedView();

            if (ModelState.IsValid)
            {
                var blogPost = model.ToEntity();
                blogPost.CreatedOnUtc = model.CreatedOnUtc;
                blogPost.StartDateUtc = model.StartDate;
                blogPost.EndDateUtc = model.EndDate;
                blogPost.CreatedOnUtc = DateTime.UtcNow;
                _blogService.InsertBlogPost(blogPost);
    
    	_eventPublisher.Publish(new ModelBoundEvent(model, blogPost, form));
    			//search engine name
    			var seName = blogPost.ValidateSeName(model.SeName, model.Title, true);
                _urlRecordService.SaveSlug(blogPost, seName, blogPost.LanguageId);
    
    			//Stores
    			_storeMappingService.SaveStoreMappings<BlogPost>(blogPost, model.SelectedStoreIds);
    
                NotifySuccess(_localizationService.GetResource("Admin.ContentManagement.Blog.BlogPosts.Added"));
                return continueEditing ? RedirectToAction("Edit", new { id = blogPost.Id }) : RedirectToAction("List");
            }
    
            //If we got this far, something failed, redisplay form
            ViewBag.AllLanguages = _languageService.GetAllLanguages(true);
    		//Stores
    		PrepareStoresMappingModel(model, null, true);
            return View(model);
        }
    

    `

    [HttpPost, ParameterBasedOnFormName("save-continue", "continueEditing")]
    public ActionResult Edit(BlogPostModel model, bool continueEditing, FormCollection form)
    {
    if (!_permissionService.Authorize(StandardPermissionProvider.ManageBlog))
    return AccessDeniedView();

            var blogPost = _blogService.GetBlogPostById(model.Id);
            if (blogPost == null)
                return RedirectToAction("List");
    
            if (ModelState.IsValid)
            {
                blogPost = model.ToEntity(blogPost);
                blogPost.CreatedOnUtc = model.CreatedOnUtc;
                blogPost.StartDateUtc = model.StartDate;
                blogPost.EndDateUtc = model.EndDate;
                _blogService.UpdateBlogPost(blogPost);
    
                //search engine name
                var seName = blogPost.ValidateSeName(model.SeName, model.Title, true);
                _urlRecordService.SaveSlug(blogPost, seName, blogPost.LanguageId);
    
    			//Stores
    			_storeMappingService.SaveStoreMappings<BlogPost>(blogPost, model.SelectedStoreIds);
    
    			_eventPublisher.Publish(new ModelBoundEvent(model, blogPost, form));
    
    			NotifySuccess(_localizationService.GetResource("Admin.ContentManagement.Blog.BlogPosts.Updated"));
                return continueEditing ? RedirectToAction("Edit", new { id = blogPost.Id }) : RedirectToAction("List");
            }
    
            //If we got this far, something failed, redisplay form
            ViewBag.AllLanguages = _languageService.GetAllLanguages(true);
    		//Store
    		PrepareStoresMappingModel(model, blogPost, true);
            return View(model);
    	}
    
  5. pineportal commented on Sep 18, 2018

    @pineportal
    Author

    add _eventPublisher.Publish(new ModelBoundEvent(model, blogPost, form));

  6. added a commit that references this issue on Sep 19, 2018
  7. added a commit that references this issue on Feb 12, 2025
    0f79325
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions