Coder Social home page Coder Social logo

hotwax / receiving Goto Github PK

View Code? Open in Web Editor NEW
8.0 9.0 36.0 4.71 MB

HotWax Commerce Receiving App

Home Page: https://receiving.hotwax.io/

License: Apache License 2.0

JavaScript 0.58% TypeScript 42.40% HTML 1.33% Vue 51.64% CSS 4.04%
vuejs ionic5 javascript html css hacktoberfest

receiving's Introduction

receiving

HotWax Commerce receiving app

Build Notes

Clone the repository (code)

  • Open a Terminal window
  • Clone app
  • Go to app directory
  • Run following command to download dependencies npm i

Start App

  • To test the app in browser: ionic serve

https://ionicframework.com/docs/intro/cli -To install Ionic CLI, follow instructions in the above link

Upload instance specific build

  • While adding new configuration, make sure to add them in all of three environments file otherwise it will be missing while building the app for prod or qa instance.
  • Improve the environment variables as per the instance before building the app.
  • Version must be updated before building the app.
  • For dev build, improve the environment variables in environment.ts file and for prod build, improve the environment variables in environment.prod.ts file.
  • Run the command gulp config --channelTag=<dev/prod/qa>
  • After running this command we will have updated environment.ts file and config.xml file as per the updated variables.
  • Next we can build the app using ionic cordova build <android/ios>
  • Upload app on test flight, mention the app release version and what to test under Test Details.

Generating artefact documentation

Following command generates the documentation:
npm run compodoc
Documentation is available in the documentation folder and can be viewed by opening the index.html.

Shopify app configuration and installation

  • Add API Key, Redirect URI and Scopes to environment.
  • For development store, navigate to /shopify page and input shopify store URL
  • For demo store, Generate custom link and install

Build Issues

If you face any error while running the app on a local machine, please refer this.

  • Run following commands to fix the issue npm uninstall @agm/core npm i @agm/[email protected] --save

UIWebView Issue while uploading App on testflight:

  • Remove the ios platform using command ionic cordova platform rm ios
  • Check plugin cordova-plugin-ionic-webview in package.json file, If not included then add plugin using command ionic cordova plugin add cordova-plugin-ionic-webview
  • Add the ios platform with version 5.1.0 using command ionic cordova platform add ios@~5.1.0
  • Check following preference in config file . if not present then add it. <preference name="WKWebViewOnly" value="true" />
  • Run following command npm i
  • Build application for IOS ionic cordova build ios

moment-timezone and Truncate

  • If you are getting error Property 'tz' does not exist on type 'typeof moment' npm i [email protected]
  • If you are getting error A rest parameter must be of an array type. npm i @yellowspot/[email protected]

Submodule - Theme

  • If you are getting Sass Error like Undefined variable git submodule update --recursive --remote

Contribution Guideline

Please do all changes and in your local systems branch and make a pull request to hacktoberfest branch not in master branch of remote repo

receiving's People

Contributors

adityasharma7 avatar amansinghbais avatar azkyakhan avatar bashu22tiwari avatar dhiraj1405 avatar disha1202 avatar divyanshugour avatar dixitdeepak avatar dt2patel avatar franciscoemanuel avatar k2maan avatar mayank909 avatar meet-aniket avatar namantech avatar nidbhagwat avatar nihu-sharma avatar r-sourabh avatar rathoreprashant avatar ravilodhi avatar ritika-patel08 avatar sanskar345 avatar shanmukhdutt avatar shashwatbangar avatar sheetalj2205 avatar yashi002 avatar ymaheshwari1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

receiving's Issues

Progress bar on PO receiving doesn't work

Current behavior

Even though partial or all inventory has been received, the progress bar doesn't reflect that.

Expected behavior

If a partial amount or or the entire expected quantity has been received, the progress bar should be full. If more inventory than expected has been received then the progress bar should turn to the danger color.

Steps to reproduce the issue

log into app and view a PO.

Can you handle fixing this bug by yourself?

  • YES
  • [x ] NO

Fix build console warnings

warning: 'emitter' is defined but never used (@typescript-eslint/no-unused-vars) at src/store/modules/order/actions.ts:8:8:
    6 | import { hasError, showToast } from '@/utils'
    7 | import { translate } from '@/i18n'
 >  8 | import emitter from "@/event-bus";
                 ^
    9 | 
   10 | 
   11 | const actions: ActionTree<OrderState, RootState> = {
   
   
warning: 'state' is defined but never used (@typescript-eslint/no-unused-vars) at src/store/modules/order/actions.ts:51:25:
   49 |     commit(types.ORDER_CURRENT_UPDATED, state.current )
   50 | },
 > 51 |   async addOrderItem ({ state, commit }, payload) {
      |                           ^
   52 |     const product = { 
   53 |       ...payload,
   54 |       quantityAccepted: 0,
   
   
 warning: 'commit' is defined but never used (@typescript-eslint/no-unused-vars) at src/store/modules/order/actions.ts:109:34:
  107 |     return resp;
  108 |   },
> 109 |   async createPurchaseShipment({ commit }, payload) {
      |                                    ^
  110 | 
  111 |     let resp;
  112 |     try {
  
  
warning: 'commit' is defined but never used (@typescript-eslint/no-unused-vars) at src/store/modules/product/actions.ts:65:36:
   63 |     return resp;
   64 |   },
 > 65 |   async fetchProductInformation( { commit }, payload) {
      |                                      ^
   66 |     let productIds: any = new Set();
   67 | 
   68 |     payload.order.map((item: any) => {
   
   
 warning: 'commit' is defined but never used (@typescript-eslint/no-unused-vars) at src/store/modules/shipment/actions.ts:65:26:
   63 |     }
   64 |   },
 > 65 |   receiveShipmentItem ({ commit }, data) {
      |                            ^
   66 |     const payload = data.shipment ? {
   67 |       shipmentId: data.shipment.shipmentId,
   68 |       locationSeqId: data.shipment.locationSeqId
   
5 warnings found.

Add a permission check for adding items to shipments

What is the motivation for adding/enhancing this feature?

Adding items to a shipment of any type should be restricted to users with "FULFILL_SHIPMENT_ADMIN" permission which is described as the "shipment admin permission."

If a user doesn't have this, they will be restricted doom using the "add to shipment" function in the ionic receiving app.

When using receive all, prefill should honor already received shipments

Current behavior

When using receive all for purchase order details page, if there are already shipments received for the PO, still value prefilled for quantity is the po item quantity.

Expected behavior

When using receive all for purchase order details page, if there are already shipments received for the PO, the receive all feature should prefill quantity deducting the received shipment

Steps to reproduce the issue

Can you handle fixing this bug by yourself?

  • YES
  • NO

Environment details

  • Browser:
  • OS:
  • Code Version:

Additional information

Toast not being displayed when clicking Load more purchase orders

Current behavior

When clicking Load More Purchase Orders on PO list page and no more jobs found then no toast message being displayed

Expected behavior

When there are no more POs found then a toast with message No more Purchase Orders found

Steps to reproduce the issue

  • Go to PO list page
  • Click Load more Purchase Orders button
  • See that toast is not displayed even when there are no more POs

Can you handle fixing this bug by yourself?

  • YES
  • NO

Environment details

  • Browser:
  • OS:
  • Code Version:

Additional information

External Id should be visible on the shipments page

Current behavior

Even when a shipment Id is present, it shows the HotWax Commerce generated Id on the find shipments page.

Expected behavior

When an external Shipment Id is present, it should be visible on the shipments page.

Steps to reproduce the issue

Can you handle fixing this bug by yourself?

  • YES
  • NO

Environment details

  • Browser:
  • OS:
  • Code Version:

Additional information

Create dedicated empty states

What is the motivation for adding/enhancing this feature?

All find screens should have dedicated empty states that show the user relevant information instead of a load more button when there is no more data to load.

When there are no more shipments to load, the current toast makes it feel like a bug. There should be no toast if there are no more shipments to load, instead it should switch to the empty state

Show user full name on receive history.

Current behavior

Currently we are only showing the user id not the users full name.

Expected behavior

Need to show the user's full name which is more user friendly and readable.

Show the selected route

Current behavior

The user cannot tell which route they're currently on by looking at the menu on the left.

Expected behavior

The current route the user is on should be selected from the menu in the secondary theme color.

No routes shown as selected:
Screenshot 2023-04-14 at 9 36 11 AM

Reference from Job Manager:

Screenshot 2023-04-14 at 9 36 49 AM

Implement product identifier using dxp-component.

What is the motivation for adding/enhancing this feature?

To use dxp-components to implement product Identifier.

What are the acceptance criteria?

  • ...

Can you complete this feature request by yourself?

  • YES
  • NO

Additional information

RangeError: Maximum call stack size exceeded on Shipments page when no Shipments are found

Current behavior

If the No Shipments found toast is displayed and you switch to PO or Settings page, RangeError: Maximum call stack size exceeded is thrown in the console.

Expected behavior

Call stack error should not be there in the console.

Steps to reproduce the issue

  1. Open the app in mobile view and go to the Shipments page, keeping the sidebar menu and console open.
  2. Make sure no shipments are there; hence, the No Shipments found toast is displayed.
  3. From the menu, quickly switch to another page, PO or Settings while the toast is still there.
  4. Errors will be visible in the console.

Can you handle fixing this bug by yourself?

  • YES
  • NO

Environment details

  • Browser:
  • OS:
  • Code Version:

Additional information

Enable auto-focus on actionable content for all the pages

What is the motivation for adding/enhancing this feature?

This feature will help the users to easily navigate through the app

What are the acceptance criteria?

  • The input fields and buttons should be in focus on tab key
  • When searched for specific string, if some data found then the first item in the list should be in focus

Can you complete this feature request by yourself?

  • YES
  • NO

Additional information

Display the Transfer order number on the shipments page

What is the motivation for adding/enhancing this feature?

The client wants to see the Transfer Order number on the shipments Find page and the Shipments detail page. The transfer order number will be saved in the ShipmentAttribute entity.

What are the acceptance criteria?

The transfer order number should be visible on the Shipment Find page and the Shipment Detail page.

  • ...

Can you complete this feature request by yourself?

  • YES
  • NO

Additional information

Unable to login. Screen blinks after entering credentials.

Current behavior

When going to the login screen and entering the correct credentials. The screen flashes and it stays on the same page.

Expected behavior

After entering the correct credentials, users should be able to log in to their accounts.

Steps to reproduce the issue

Can you handle fixing this bug by yourself?

  • YES
  • NO

Environment details

  • Browser:
  • OS:
  • Code Version:

Additional information

Show the most recent record first in the history modal

What is the motivation for adding/enhancing this feature?

Currently, when showing the history for PO, then the most recent action on the PO is displayed at the bottom, but we can sort the po history list on the basis of date to display the most recent action on top, so that it will be more easy to understand.

What are the acceptance criteria?

  • Recent action on PO should be displayed first

Can you complete this feature request by yourself?

  • YES
  • NO

Additional information

Replaced moment by luxon

What is the motivation for adding/enhancing this feature?

As moment is in maintenance mode, replace moment by luxon.

What are the acceptance criteria?

  • ...

Can you complete this feature request by yourself?

  • YES
  • NO

Additional information

Over receiving on all detail pages

Current behavior

The progress bar only turns red when over receiving happens on the PO detail page.

Expected behavior

This should also happen on all pages, including shipments and returns.
Screenshot 2023-04-14 at 11 25 50 AM

PO details not updated after changing qty

Current behavior

When changing the qty value and receiving the PO, qty received not being updated and qty field does not reset.

Expected behavior

PO details should be updated automatically without refreshing the page

Steps to reproduce the issue

  • Go to po details page
  • Update the qty for an item and receive the po
  • Go to the same po again from list page
  • See that the po details (qty received and qty field) not being updated
  • Refresh the page and verify that the po details being updated

Can you handle fixing this bug by yourself?

  • YES
  • NO

Environment details

  • Browser:
  • OS:
  • Code Version:

Additional information

Incorrect information being displayed on PO details page

Current behavior

Information on the PO details page is not displayed correctly like po received qty

Expected behavior

All the information should be displayed correctly.

  • When a po item is not received then 0 received should be displayed.

Steps to reproduce the issue

Select two POs having same product in which one of the POs does not have any received history

  • Go to the PO which is not being received even once and see that only received is getting displayed
  • Now go to the PO having same product as the previous PO and see that it have some received qty for the product
  • Again move to the PO (first one) and see that now the PO has some qty in received field that is same as the second PO

Can you handle fixing this bug by yourself?

  • YES
  • NO

Environment details

  • Browser:
  • OS:
  • Code Version:

Additional information

image

Display toast message when no orders found after clicking on Load more Purchase orders

Current behavior

  • When clicking on Load More Purchase Order button and if no more orders found then there is no message displayed to the users

Expected behavior

  • A message (Purchase Orders not found) should be displayed to the user

Steps to reproduce the issue

  • Go to PO list page
  • Click on Load More Purchase Orders button
  • See that there is no toast being displayed

Can you handle fixing this bug by yourself?

  • YES
  • NO

Environment details

  • Browser:
  • OS:
  • Code Version:

Additional information

Purchase order page not being cleared after changing instance

Current behavior

When logged-in on a particular instance, then on purchase order page, orders gets listed if exist and then after logout and login again with some other instance, and if there are no purchase orders available then the previous PO gets displayed.

Expected behavior

On logout the list of POs, returns and shipments should be cleared.

Steps to reproduce the issue

  • Login into the app
  • Go to Purchase orders page and see that some POs gets listed
  • Logout and login again with on some other instance
  • Go to Purchase orders page and verify that is no purchase orders exists the previous list gets displayed.

Can you handle fixing this bug by yourself?

  • YES
  • NO

Environment details

  • Browser:
  • OS:
  • Code Version:

Additional information

UI for over receiving

What is the motivation for adding/enhancing this feature?

When the user is receiving more than was ordered in a PO, or was expected in a Shipment, the progress bar should turn red/danger so that the user knows they are doing something unexpected.

Pull to refresh on all find screens.

What is the motivation for adding/enhancing this feature?

Once search results have loaded, there is no way to refresh them without switching to another page and coming back. There is should be an option to pull and refresh on all pages.

Shipments should not be visible on the find page after it is received

Current behavior

After receiving the shipment, it is still visible on the shipments page.

Expected behavior

After receiving the shipment, it should not be visible on the find shipment page.

Steps to reproduce the issue

Can you handle fixing this bug by yourself?

  • YES
  • NO

Environment details

  • Browser:
  • OS:
  • Code Version:

Additional information

Add support to alias specific instance URL with environment configuration

What is the motivation for adding/enhancing this feature?

When hosting app, we could provide specific aliases that maps to specific instance baseURL. This will ease accessing app for non hotwax domain instances

What are the acceptance criteria?

  • ...

Can you complete this feature request by yourself?

  • YES
  • NO

Additional information

Add support to alias specific instance URL with environment configuration

What is the motivation for adding/enhancing this feature?

When hosting app, we could provide specific aliases that maps to specific instance baseURL. This will ease accessing app for non hotwax domain instances

What are the acceptance criteria?

  • ...

Can you complete this feature request by yourself?

  • YES
  • NO

Additional information

Copy internal ID

What is the motivation for adding/enhancing this feature?

Clicking on the internal id chip on the detail page for POs should copy the content to the users clipboard.

There should also be an icon in the chip which shows that it can be copied.

Show order and item status on POs

What is the motivation for adding/enhancing this feature?

Only Approved POs can be received. Right now we don't show the status of the PO which makes it hard to know that can and cannot be received.

There should be a badge on the end slot of the find screen with a badge that shows the status.

On the detail page, next to the internal order id badge, there should be an order level status badge.

For items, the receive all button should be replaced with a "completed" badge when the item status has changed to completed.

Allow users to close purchase orders when they receive them

What is the motivation for adding/enhancing this feature?

Users can currently only receive inventory for purchase orders; there is no manual control for users to close the PO. When the promise date arrives, the PO automatically expires. Manually closing a PO communicates to the system that the respective PO's inventory has been received and will not be received again.

What are the acceptance criteria?

Only users with order edit permissions can close a purchase order from the Purchase Order detail page.

Can you complete this feature request by yourself?

  • YES
  • NO

Additional information

Add support to select facility location during receiving

What is the motivation for adding/enhancing this feature?

When receiving at a larger warehouse style location, retailers often need to specify locations within a facility during receiving since it impacts inventory management.

What are the acceptance criteria?

Screen Shot 2022-04-27 at 11 50 52 AM

Can you complete this feature request by yourself?

  • YES
  • [x ] NO

Quantity should not be prefilled with 0 as causing server error

Current behavior

When the quantity is prefilled with 0 and the user has not received the item, the quantity is passed is 0 causing action failure:
Both quantity to accept and quantity to reject cannot be zero.

Expected behavior

Steps to reproduce the issue

Can you handle fixing this bug by yourself?

  • YES
  • NO

Environment details

  • Browser:
  • OS:
  • Code Version:

Additional information

PO find page should display the earliest arrival date and PO detail page should display individual dates of arrival for a PO

What is the motivation for adding/enhancing this feature?

The added arrival dates on the PO find page and the PO detail page will give good information without logging into the OMS.

What are the acceptance criteria?

The PO find page and PO detail page should display the estimated arrival date for the purchase orders. If there are multiple items in a PO, the earliest arrival date amongst all should be visible on the PO find page.

  • ...

Can you complete this feature request by yourself?

  • YES
  • NO

Additional information

Custom theme file

Add a custom theme file like in Clienteling app.

This will allow any brand to customize the look and feel of any app.

Also change heading fonts to Montserrat and body font to Open Sans

Show shipments, returns, and POs that cannot be received.

What is the motivation for adding/enhancing this feature?

Users should be able to go back and view a shipment even after it has been received, canceled, or completed. This helps in reviewing or verifying data incase they need to be reconciled.

What are the acceptance criteria?

On the list page, all results show show up regardless of status. On the detail page, users won't be able to edit these items with clear indications that this shipment has been completed etc.

Additional information

Return list

Return detail received

Upgrade settings page UI

What is the motivation for adding/enhancing this feature?

We have a new settings page UI pattern that should be implemented into the receiving app. Reference for it can be found here:
hotwax/import#60

Use the cards that apply, all may not apply

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.