Multi Store Support fro Nop 2.0

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
12 years ago
OK.  Thank you so much for working on this.
12 years ago
HI Hezyz,
How's it going?  How is the Multi store developement going?  Are you close to have it ready for testing?  
Just curious and anxious.  Let us know.

Thanks.
12 years ago
few more days and i will publish a full support multi store
12 years ago
PEFECT! can't wait.  Thank you.
12 years ago
Fantastic work,
I'm still looking through it but here is my feedback so far.  

Bug Identified;
I've created an order (from customer '[email protected]' with several items on it including a couple items which were not cleared out after the previous checkout.  The order contained two items from two different stores and multiple purchase quantities.
On inspection with the store admin ([email protected]), the order appears twice in the orders list grid with identical order ID's (10) and identical contents.  I've verified that the same order had identical results on the other store ([email protected]) with the next order ID (11).  [This was tested on your demo site].
My previous order only had 1 item from 2 stores and did not have the same results.  It appears that with more than one item from a store, it may cause duplication of orders within that store.  


I also have some suggestions;

1. I'd like to see the registration process be more automated.  I have considered adding a checkbox to the registration page which allows customers to identify themselves as wanting to be a seller.  The way store creation is right now, it depends on the admin to create the original store and assign it to users.  I wonder if it would be possible to allow the customer to login to create and assign their own store or alternately create a new store with default values automatically on registration given the checkbox value is true?  

2. The order page and associated reports do not currently contain the store name.  Unless each product is named with the store name included, it will be confusing to customers to have split orders.  I think it will be necessary to have the store id and name at the top of order reports.


Overall, the project is looking great.  Keep up the good work and let me know if there's anything more I can do to help.
12 years ago
Found a missing security reference in one of your controllers.  It's preventing store managers from creating new products for their store.  

Location: Nop.Admin.Controllers > ProductController.cs
ActionResult Create...

public ActionResult Create()
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageCatalog)
                && !_permissionService.Authorize(StandardPermissionProvider.ManageStore) //add by hz
                )
                return AccessDeniedView();
12 years ago
Same thing on the Store Edit page

Currently Store Managers cannot create or edit their store.  I added the following security reference to allow store managers to edit their own store.  They still cannot create their own store but I think we will need something to prevent them from creating more than one store before we allow that.

[HttpPost, FormValueExists("save", "save-continue", "continueEditing")]
        public ActionResult Edit(StoreModel model, bool continueEditing)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageCatalog)
                && !_permissionService.Authorize(StandardPermissionProvider.ManageStore) //add by hz
                )
                return AccessDeniedView();
12 years ago
Not really a bug fix but it should be easy to get this to work with the new restricted admin menus.  

Simply add the ManageStore Permission to each node within the SiteMap.xml where it makes sense.

<siteMapNode title="Home" controller="Home" action="Overview">
        <siteMapNode title="Dashboard" nopResource="Admin.Dashboard" controller="Home" action="Index" ImageUrl="~/Administration/Content/images/ico-dashboard.png" />
        <siteMapNode title="Catalog" nopResource="Admin.Catalog" PermissionNames="ManageCatalog, ManageStore" ImageUrl="~/Administration/Content/images/ico-catalog.png" >
            <siteMapNode title="Categories" nopResource="Admin.Catalog.Categories">
                <siteMapNode title="List" nopResource="Admin.Common.List" controller="Category" action="List"/>
                <siteMapNode title="Tree view" nopResource="Admin.Common.Treeview" controller="Category" action="Tree"/>
            </siteMapNode>
            <siteMapNode title="Manufacturers" nopResource="Admin.Catalog.Manufacturers" controller="Manufacturer" action="List"/>
            <siteMapNode title="Stores" nopResource="Admin.Catalog.Stores" controller="Store" action="List"/>
            <siteMapNode title="Products" nopResource="Admin.Catalog.Products">
              <siteMapNode title="Manage products" nopResource="Admin.Catalog.Products.Manage" controller="Product" action="List"/>
        <siteMapNode title="Bulk edit product variants" nopResource="Admin.Catalog.BulkEdit" controller="ProductVariant" action="BulkEdit"/>
              <siteMapNode title="Product reviews" nopResource="Admin.Catalog.ProductReviews" controller="ProductReview" action="List"/>
              <siteMapNode title="Product tags" nopResource="Admin.Catalog.ProductTags" controller="Product" action="ProductTags"/>
              <siteMapNode title="Low stock report" nopResource="Admin.Catalog.LowStockReport" controller="ProductVariant" action="LowStockReport"/>
            </siteMapNode>
            <siteMapNode title="Attributes" nopResource="Admin.Catalog.Attributes">
              <siteMapNode title="Products attributes" nopResource="Admin.Catalog.Attributes.ProductAttributes" controller="ProductAttribute" action="List"/>
              <siteMapNode title="Specification attributes" nopResource="Admin.Catalog.Attributes.SpecificationAttributes" controller="SpecificationAttribute" action="List"/>
              <siteMapNode title="Checkout attributes" nopResource="Admin.Catalog.Attributes.CheckoutAttributes" controller="CheckoutAttribute" action="List"/>
            </siteMapNode>
        </siteMapNode>
        <siteMapNode title="Sales" nopResource="Admin.Sales" PermissionNames="ManageOrders, ManageReturnRequests, ManageGiftCards, ManageStore" ImageUrl="~/Administration/Content/images/ico-sales.png">
          <siteMapNode title="Orders" nopResource="Admin.Orders" PermissionNames="ManageOrders" controller="Order" action="List" />
          <siteMapNode title="Recurring payments" nopResource="Admin.RecurringPayments" PermissionNames="ManageOrders" controller="RecurringPayment" action="List" />
          <siteMapNode title="Return requests" nopResource="Admin.ReturnRequests" PermissionNames="ManageReturnRequests" controller="ReturnRequest" action="List" />
          <siteMapNode title="Gift cards" nopResource="Admin.GiftCards" PermissionNames="ManageGiftCards" controller="GiftCard" action="List" />
          <siteMapNode title="Current shopping carts" nopResource="Admin.CurrentCarts" PermissionNames="ManageOrders" controller="ShoppingCart" action="CurrentCarts" />
      <siteMapNode title="Current wishlists" nopResource="Admin.CurrentWishlists" PermissionNames="ManageOrders" controller="ShoppingCart" action="CurrentWishlists" />
          <siteMapNode title="Bestsellers" nopResource="Admin.SalesReport.Bestsellers" PermissionNames="ManageOrders" controller="Order" action="BestsellersReport" />
        </siteMapNode>
        <siteMapNode title="Customers" nopResource="Admin.Customers" PermissionNames="ManageCustomers, ManageCustomerRoles" ImageUrl="~/Administration/Content/images/ico-customers.png" >
          <siteMapNode title="Customers" nopResource="Admin.Customers.Customers" PermissionNames="ManageCustomers, ManageStore" controller="Customer" action="List" />
          <siteMapNode title="Customer roles" nopResource="Admin.Customers.CustomerRoles" PermissionNames="ManageCustomerRoles" controller="CustomerRole" action="List" />
          <siteMapNode title="Online customers" nopResource="Admin.Customers.OnlineCustomers" PermissionNames="ManageCustomers" controller="OnlineCustomer" action="List" />
          <siteMapNode title="Customer reports" nopResource="Admin.Customers.Reports" PermissionNames="ManageCustomers, ManageStore" controller="Customer" action="Reports" />
        </siteMapNode>
12 years ago
thank u eric for helping me with this one.
fix the above bugs and the order service (need to add DISTINCT to the query) and added many other options.

I have extended the store model added branches to the store (same as address in customer), banner upload, minimum sub and total order for every store.

I will upload a full working solution in the few days

still to do: gift cards per store and check the external paying methods (google, pay pal)
** google will not work for the moment the plug in needs to be fixed since i have changed the orderPlace method

if u have any last minutes ideas u thing i should include please write !!!

thanks again
12 years ago
last minute things?

okay   ;)


hehe, I'm sure this won't make on there(hehe) but how about setting up a way so if something is bought from store 3, store 3 gets 70% of the monye, and the MAIN store(that houses the other stores) gets 30%.

I know I talked to you about this before, and I think we both were gona do the dual payment thing.  ex, you buy something form store 3, you will have 2 charges, one going to store 3, and one goin to the head store.

Have you found a way to do this without using 2 charges?

That seems to be my largest problem as of yet.  And your multi store is perfect for my project, but that is the only thing holding me back and I cant figure it out.

Thanx again for what you have done so far, and for sharing it with everyone.

Tom
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.