Giter Site home page Giter Site logo

megahack-magento's Introduction

Magento Warehouse Module

  • challenge e-commerce MegaHack Cluj-Napoca 11-13 November 2016
  • by MagentoCrew:

Problem scope (Romanian Description):

Background:

  • datorită sistemului de licitații publice, ANAF nu poate decide fără licitații un curier anume care să facă expedițiile, deci pentru început produsele se vor rezerva și ridica din depozit. Challenge:
  • trebuie realizat un modul de Magento (1.9.2.4 sau 1.9.3.1 dacă se lansează până atunci), care să facă următoarele: tracking de stoc multi-warehouse la nivel de produs
  • afișare în pagina de produs a depozitelor în care produsul respectiv este disponibil
  • filtrare în pagina de categorie doar după produse disponibile într-o anumită locație
  • afișare în checkout la livrare a metodei “Ridicare din depozit” cu menționarea depozitului (sau depozitelor) în care sunt produsele
  • (bonus) afișare în mail-ul de confirmare a comenzii a depozitului pentru fiecare produs
  • (bonus) forțare la nivel de Ship pe order la alegerea doar a produselor dintr-un anume depozit (astfel, personalul va face o fișă de “expediție” pentru produsele din depozitul Galați și o va trimite prin mail acestora pentru a pregăti produsele)

Modulul trebuie să fie realizat cu modman și să includă un fișier readme.md. Orice resurse (blocuri statice, atribute etc.) pe care le necesită modulul trebuiesc create prin script-urile de sql/install din modul. Modulul trebuie să includă traduceri de ro_RO și en_US.

Problem scope (English Description):

Background:

  • Thanks to public tenders, auctions ANAF can not decide without a specific courier to make shipments, so initially it will book and pick up products from the warehouse. Challenge:
  • develope a Magento module (1.9.2.4 or 1.9.3.1 if it launches before) to do the following: multi-warehouse inventory tracking at the product level
  • Display product page warehouses where the product is available
  • Filtration category page just after the products available in a particular location
  • Display in checkout delivery method "Lifting the deposit" mentioning the deposit (or deposits) are products
  • (Bonus) display in mail order confirmation deposit for each product
  • (Bonus) forcing at the Ship in order to just choosing products from a particular warehouse (thus, the staff will make a record of "expedition" for goods in warehouse Galati and send by mail them to prepare products)

The module must be done with modman and include a file readme.md. Any resources (static blocks, attributes, etc.) that you require module must be created through SQL scripts / install mode. The module should include translations ro_RO and en_US.

Install Module

  • Install module using modman:
modman clone https://github.com/razvanpojar1/megahack-magento.git

Module Usage

  • Login to Magento admin interface of the website
  • Check if module installed System->Configuration, left section Advanced->Advanced check if the module name "MagentoCrew_Warehouse" is enabled
  • Add new warehouse in admin Catalog->Manage Warehouse, click button "Add warehouse". There you add information about warehouse and products for that warehouse and the stock quantity for each selected products

Module Future improvements

  • Email information about product and warehouse relation and show warehouse selected on shipment emails.

  • Stock rules for multiwarehouse on the same product

  • Product warehouse import CSV and SOAP

  • Multiselect on filters

  • Magento enterprise support

Warnings

  • Diffecences from sum of qty on wrehouse level does not match the product stock level. This is not a bug, it is an undocumanded feature This is because, when you make an order the qty is reserved, substracted from product level stock qty. The warehouse stock level is updated/substracted when the shipment is made.
  • When implementing import from csv make sure you support stock qty update on product as well. The qty difference from new/olv values should be added to the product stock qty.
  • The frontend theme module implemantations is based on rwd theme and base theme. In case of custom themes, you need to have a look if the block name "catalog.leftnav" and "catalogsearch.leftnav" is used in custom theme implementations. Those names are replaced with "catalog.leftnav.extend" and "catalogsearch.leftnav.extend"
  • It will not work with custom modules on layer navigations
  • It will not work with custom modules on admin shipment page

Uninstall

  • disable module from etc/modules/MagentoCrew_Warehouse.xml
  • Delete the following files:
 app/code/community/MagentoCrew/*
 app/design/frontend/base/default/layout/magentocrew/*   
 app/design/frontend/base/default/template/magentocrew/* 
 app/design/adminhtml/default/default/layout/magentocrew/warehouse.xml
 app/design/adminhtml/default/default/layout/magentocrew/warehouse.xml
 app/design/adminhtml/default/default/template/magentocrew/warehouse*    
 app/locale/ro_RO/MagentoCrew_Warehouse.csv                                     
 app/locale/en_US/MagentoCrew_Warehouse.csv                                         
 app/etc/modules/MagentoCrew_Warehouse.xml
  • Remove custom theme implemenations from theme if it's the case
  • Drop the following tables from SQL
warehouse
warehouse_product
  • Remove column warehouse_id from table sales_flat_order_shipment

megahack-magento's People

Contributors

claudiu-marginean avatar razvanpojar1 avatar mariuscris avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.