From ffa4e2cc31c159acf1b1bfcadd74fc49186521d6 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 24 Oct 2025 19:33:21 +0200 Subject: [PATCH] =?UTF-8?q?Order=20edit=20saj=C3=A1t=20k=C3=A9zben?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/CustomOrderController.cs | 64 ++++++++++++++++++- .../Areas/Admin/Views/Order/Edit.cshtml | 8 +-- .../Areas/Admin/Views/Product/List.cshtml | 10 +-- .../Infrastructure/RouteProvider.cs | 7 +- 4 files changed, 77 insertions(+), 12 deletions(-) diff --git a/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Controllers/CustomOrderController.cs b/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Controllers/CustomOrderController.cs index 9522741..5c54ff8 100644 --- a/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Controllers/CustomOrderController.cs +++ b/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Controllers/CustomOrderController.cs @@ -15,20 +15,25 @@ using Nop.Core.Domain.Orders; using Nop.Core.Domain.Payments; using Nop.Core.Domain.Shipping; using Nop.Core.Domain.Tax; +using Nop.Core.Events; using Nop.Plugin.Misc.FruitBankPlugin.Domains.DataLayer; using Nop.Plugin.Misc.FruitBankPlugin.Factories; using Nop.Plugin.Misc.FruitBankPlugin.Models.Orders; using Nop.Services.Catalog; using Nop.Services.Common; using Nop.Services.Customers; +using Nop.Services.Localization; +using Nop.Services.Logging; using Nop.Services.Messages; using Nop.Services.Orders; using Nop.Services.Payments; +using Nop.Services.Plugins; using Nop.Services.Security; using Nop.Web.Areas.Admin.Controllers; using Nop.Web.Areas.Admin.Factories; using Nop.Web.Areas.Admin.Models.Orders; using Nop.Web.Framework; +using Nop.Web.Framework.Controllers; using Nop.Web.Framework.Mvc.Filters; using System.Text.Json.Serialization; using System.Xml; @@ -53,11 +58,29 @@ namespace Nop.Plugin.Misc.FruitBankPlugin.Areas.Admin.Controllers private readonly IStoreContext _storeContext; private readonly IWorkContext _workContext; private readonly IPriceCalculationService _priceCalculationService; + protected readonly IEventPublisher _eventPublisher; + protected readonly ILocalizationService _localizationService; + protected readonly ICustomerActivityService _customerActivityService; // ... other dependencies - private readonly ILogger _logger; + private readonly Mango.Nop.Core.Loggers.ILogger _logger; - public CustomOrderController(FruitBankDbContext fruitBankDbContext, IOrderService orderService,IPriceCalculationService priceCalculationService, IOrderModelFactory orderModelFactory, ICustomOrderSignalREndpointServer customOrderSignalREndpoint, IPermissionService permissionService, IGenericAttributeService genericAttributeService, INotificationService notificationService, ICustomerService customerService, IProductService productService, IEnumerable logWriters, IStoreContext storeContext, IWorkContext workContext) + public CustomOrderController(FruitBankDbContext fruitBankDbContext, + IOrderService orderService, + IPriceCalculationService priceCalculationService, + IOrderModelFactory orderModelFactory, + ICustomOrderSignalREndpointServer customOrderSignalREndpoint, + IPermissionService permissionService, + IGenericAttributeService genericAttributeService, + INotificationService notificationService, + ICustomerService customerService, + IProductService productService, + IEnumerable logWriters, + IStoreContext storeContext, + IWorkContext workContext, + IEventPublisher eventPublisher, + ILocalizationService localizationService, + ICustomerActivityService customerActivityService) { _logger = new Logger(logWriters.ToArray()); @@ -73,6 +96,9 @@ namespace Nop.Plugin.Misc.FruitBankPlugin.Areas.Admin.Controllers _storeContext = storeContext; _workContext = workContext; _priceCalculationService = priceCalculationService; + _eventPublisher = eventPublisher; + _localizationService = localizationService; + _customerActivityService = customerActivityService; // ... initialize other deps } @@ -114,6 +140,40 @@ namespace Nop.Plugin.Misc.FruitBankPlugin.Areas.Admin.Controllers return valami; } + [HttpPost, ActionName("List")] + [FormValueRequired("go-to-order-by-number")] + [CheckPermission(StandardPermission.Orders.ORDERS_VIEW)] + public virtual async Task GoToOrderId(OrderSearchModel model) + { + var order = await _orderService.GetOrderByCustomOrderNumberAsync(model.GoDirectlyToCustomOrderNumber); + + if (order == null) + return await List(); + + return RedirectToAction("Edit", new { id = order.Id }); + } + + [HttpGet] + //[Route("Edit/{id}")] + [CheckPermission(StandardPermission.Orders.ORDERS_VIEW)] + public virtual async Task Edit(int id) + { + //try to get an order with the specified id + var order = await _orderService.GetOrderByIdAsync(id); + if (order == null || order.Deleted) + return RedirectToAction("List"); + + //a vendor does not have access to this functionality + if (await _workContext.GetCurrentVendorAsync() != null) + return RedirectToAction("List"); + + //prepare model + var model = await _orderModelFactory.PrepareOrderModelAsync(null, order); + + return View("~/Plugins/Misc.FruitBankPlugin/Areas/Admin/Views/Order/Edit.cshtml", model); + } + + public async Task GetOrderListModelByFilter(OrderSearchModel searchModel) { //return _customOrderService. diff --git a/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Views/Order/Edit.cshtml b/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Views/Order/Edit.cshtml index 1464356..1b02812 100644 --- a/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Views/Order/Edit.cshtml +++ b/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Views/Order/Edit.cshtml @@ -3,7 +3,7 @@ @{ //page title - ViewBag.PageTitle = T("Admin.Orders.EditOrderDetails").Text + "ANYÁD"; + ViewBag.PageTitle = T("Admin.Orders.EditOrderDetails").Text; //active menu item (system name) NopHtml.SetActiveMenuItemSystemName("Orders"); } @@ -65,13 +65,13 @@ @await Component.InvokeAsync(typeof(AdminWidgetViewComponent), new { widgetZone = AdminWidgetZones.OrderDetailsBlock, additionalData = Model }) - @await Html.PartialAsync("_OrderDetails.Info", Model) - @await Html.PartialAsync("_OrderDetails.BillingShipping", Model) + @await Html.PartialAsync("~/Areas/Admin/Views/Order/_OrderDetails.Info.cshtml", Model) + @await Html.PartialAsync("~/Areas/Admin/Views/Order/_OrderDetails.BillingShipping.cshtml", Model) @await Html.PartialAsync("~/Plugins/Misc.FruitBankPlugin/Areas/Admin/Views/Order/_CustomOrderDetails.Products.cshtml", Model) @if (!Model.IsLoggedInAsVendor) { - @await Html.PartialAsync("_OrderDetails.Notes", Model) + @await Html.PartialAsync("~/Areas/Admin/Views/Order/_OrderDetails.Notes.cshtml", Model) } diff --git a/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Views/Product/List.cshtml b/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Views/Product/List.cshtml index fd5fed1..daea847 100644 --- a/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Views/Product/List.cshtml +++ b/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Views/Product/List.cshtml @@ -23,15 +23,15 @@ Fruitbank @T("Admin.Catalog.Products")
- + @T("Admin.Common.AddNew") - + @T("Admin.Catalog.Products.BulkEdit") - @@ -47,7 +47,7 @@