Order edit saját kézben
This commit is contained in:
parent
6aff0228eb
commit
ffa4e2cc31
|
|
@ -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<IAcLogWriterBase> 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<IAcLogWriterBase> logWriters,
|
||||
IStoreContext storeContext,
|
||||
IWorkContext workContext,
|
||||
IEventPublisher eventPublisher,
|
||||
ILocalizationService localizationService,
|
||||
ICustomerActivityService customerActivityService)
|
||||
{
|
||||
_logger = new Logger<CustomOrderController>(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<IActionResult> 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<IActionResult> 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<OrderListModelExtended> GetOrderListModelByFilter(OrderSearchModel searchModel)
|
||||
{
|
||||
//return _customOrderService.
|
||||
|
|
|
|||
|
|
@ -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 @@
|
|||
|
||||
<nop-cards id="order-cards">
|
||||
@await Component.InvokeAsync(typeof(AdminWidgetViewComponent), new { widgetZone = AdminWidgetZones.OrderDetailsBlock, additionalData = Model })
|
||||
<nop-card asp-name="order-info" asp-icon="fas fa-info" asp-title="@T("Admin.Orders.Info")" asp-hide-block-attribute-name="@hideInfoBlockAttributeName" asp-hide="@hideInfoBlock" asp-advanced="false">@await Html.PartialAsync("_OrderDetails.Info", Model)</nop-card>
|
||||
<nop-card asp-name="order-billing-shipping" asp-icon="fas fa-truck" asp-title="@T("Admin.Orders.BillingShippingInfo")" asp-hide-block-attribute-name="@hideBillingAndShippingBlockAttributeName" asp-hide="@hideBillingAndShippingBlock" asp-advanced="false">@await Html.PartialAsync("_OrderDetails.BillingShipping", Model)</nop-card>
|
||||
<nop-card asp-name="order-info" asp-icon="fas fa-info" asp-title="@T("Admin.Orders.Info")" asp-hide-block-attribute-name="@hideInfoBlockAttributeName" asp-hide="@hideInfoBlock" asp-advanced="false">@await Html.PartialAsync("~/Areas/Admin/Views/Order/_OrderDetails.Info.cshtml", Model)</nop-card>
|
||||
<nop-card asp-name="order-billing-shipping" asp-icon="fas fa-truck" asp-title="@T("Admin.Orders.BillingShippingInfo")" asp-hide-block-attribute-name="@hideBillingAndShippingBlockAttributeName" asp-hide="@hideBillingAndShippingBlock" asp-advanced="false">@await Html.PartialAsync("~/Areas/Admin/Views/Order/_OrderDetails.BillingShipping.cshtml", Model)</nop-card>
|
||||
<nop-card asp-name="order-products" asp-icon="fas fa-table-list" asp-title="@T("Admin.Orders.Products")" asp-hide-block-attribute-name="@hideProductsBlockAttributeName" asp-hide="@hideProductsBlock" asp-advanced="true">@await Html.PartialAsync("~/Plugins/Misc.FruitBankPlugin/Areas/Admin/Views/Order/_CustomOrderDetails.Products.cshtml", Model)</nop-card>
|
||||
|
||||
@if (!Model.IsLoggedInAsVendor)
|
||||
{
|
||||
<nop-card asp-name="order-notes" asp-icon="far fa-sticky-note" asp-title="@T("Admin.Orders.OrderNotes")" asp-hide-block-attribute-name="@hideNotesBlockAttributeName" asp-hide="@hideNotesBlock" asp-advanced="true">@await Html.PartialAsync("_OrderDetails.Notes", Model)</nop-card>
|
||||
<nop-card asp-name="order-notes" asp-icon="far fa-sticky-note" asp-title="@T("Admin.Orders.OrderNotes")" asp-hide-block-attribute-name="@hideNotesBlockAttributeName" asp-hide="@hideNotesBlock" asp-advanced="true">@await Html.PartialAsync("~/Areas/Admin/Views/Order/_OrderDetails.Notes.cshtml", Model)</nop-card>
|
||||
}
|
||||
|
||||
</nop-cards>
|
||||
|
|
|
|||
|
|
@ -23,15 +23,15 @@
|
|||
Fruitbank @T("Admin.Catalog.Products")
|
||||
</h1>
|
||||
<div class="float-right">
|
||||
<a asp-action="Create" class="btn btn-primary">
|
||||
<a asp-controller="Product" asp-action="Create" class="btn btn-primary">
|
||||
<i class="fas fa-square-plus"></i>
|
||||
@T("Admin.Common.AddNew")
|
||||
</a>
|
||||
<a asp-action="BulkEdit" class="btn btn-info">
|
||||
<a asp-controller="Product" asp-action="BulkEdit" class="btn btn-info">
|
||||
<i class="fas fa-pen"></i>
|
||||
@T("Admin.Catalog.Products.BulkEdit")
|
||||
</a>
|
||||
<button asp-action="DownloadCatalogPDF" type="submit" name="download-catalog-pdf" class="btn bg-purple">
|
||||
<button asp-controller="Product" asp-action="DownloadCatalogPDF" type="submit" name="download-catalog-pdf" class="btn bg-purple">
|
||||
<i class="far fa-file-pdf"></i>
|
||||
@T("Admin.Catalog.Products.List.DownloadPDF")
|
||||
</button>
|
||||
|
|
@ -47,7 +47,7 @@
|
|||
<ul class="dropdown-menu" role="menu">
|
||||
<li class="dropdown-item">
|
||||
|
||||
<button asp-action="ExportToXml" type="submit" name="exportxml-all">
|
||||
<button asp-controller="Product" asp-action="ExportToXml" type="submit" name="exportxml-all">
|
||||
<i class="far fa-file-code"></i>
|
||||
@T("Admin.Common.ExportToXml.All")
|
||||
</button>
|
||||
|
|
@ -61,7 +61,7 @@
|
|||
</li>
|
||||
<li class="dropdown-divider"></li>
|
||||
<li class="dropdown-item">
|
||||
<button asp-action="ExportToExcel" type="submit" name="exportexcel-all">
|
||||
<button asp-controller="Product" asp-action="ExportToExcel" type="submit" name="exportexcel-all">
|
||||
<i class="far fa-file-excel"></i>
|
||||
@T("Admin.Common.ExportToExcel.All")
|
||||
</button>
|
||||
|
|
|
|||
|
|
@ -141,10 +141,15 @@ public class RouteProvider : IRouteProvider
|
|||
name: "Plugin.FruitBank.Admin.Invoice.CreateInvoice",
|
||||
pattern: "Admin/Invoice/CreateInvoice",
|
||||
defaults: new { controller = "Invoice", action = "CreateInvoice", area = AreaNames.ADMIN });
|
||||
|
||||
endpointRouteBuilder.MapControllerRoute(
|
||||
name: "Plugin.FruitBank.Admin.Order.Edit",
|
||||
pattern: "Admin/Order/Edit/{id}",
|
||||
defaults: new { controller = "CustomOrder", action = "Edit", area = AreaNames.ADMIN });
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets a priority of route provider
|
||||
/// </summary>
|
||||
public int Priority => 3000;
|
||||
public int Priority => 4000;
|
||||
}
|
||||
Loading…
Reference in New Issue