public ActionResult Edit(Guid?guid)
        {
            var vm = new EditWebhookViewModel();

            vm.Webhook = (guid == null) ? new WebhookPostModel() : new WebhookPostModel(_repo.GetWebhook(guid.Value));

            if (vm.Webhook.ParentId > 0)
            {
                var parentRef = new ContentReference(vm.Webhook.ParentId);
                if (!ContentReference.IsNullOrEmpty(parentRef))
                {
                    var parentContent = _contentLoader.Get <IContent>(parentRef);
                    if (parentContent != null)
                    {
                        vm.CurrentContentName      = parentContent.Name;
                        vm.CurrentContentAncestors = _contentLoader.GetAncestors(parentRef).Select(x => x.ContentLink.ID).ToList();
                    }
                }
            }
            vm.ContentTypes = _typeRepo.List().Select(x => new SelectListItem {
                Text = x.DisplayName ?? x.Name, Value = x.ID.ToString()
            }).ToList();
            vm.EventTypes = new List <SelectListItem>();
            foreach (var eventType in _repo.GetEventTypes())
            {
                vm.EventTypes.Add(new SelectListItem {
                    Value = eventType.Key, Text = _localizationService.GetString("/Webhooks/EventTypes/" + eventType.Key, eventType.Key)
                });
            }
            return(View(vm));
        }
Example #2
0
        public async Task <IActionResult> NewWebhook(string storeId, EditWebhookViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(nameof(ModifyWebhook), viewModel));
            }

            await _Repo.CreateWebhook(CurrentStore.Id, viewModel.CreateBlob());

            TempData[WellKnownTempData.SuccessMessage] = "The webhook has been created";
            return(RedirectToAction(nameof(Webhooks), new { storeId }));
        }
Example #3
0
        public async Task <IActionResult> ModifyWebhook(string webhookId, EditWebhookViewModel viewModel)
        {
            var webhook = await _Repo.GetWebhook(CurrentStore.Id, webhookId);

            if (webhook is null)
            {
                return(NotFound());
            }

            await _Repo.UpdateWebhook(CurrentStore.Id, webhookId, viewModel.CreateBlob());

            TempData[WellKnownTempData.SuccessMessage] = "The webhook has been updated";
            return(RedirectToAction(nameof(Webhooks), new { storeId = CurrentStore.Id }));
        }