Giter Site home page Giter Site logo

magento2-order-status-adjust's People

Contributors

dchudycreatuity avatar tszmyt-creatuity avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

magento2-order-status-adjust's Issues

[Feature] Start and End datetime

We need to have a way to activate and deactivate rules basing on dates. Example: we might want to enable rule for one month, during which special "prize" will be added to specific orders by Employee who'll browser for Orders with special status.

AC

  • Start Date optional field with datetime input is created in rule create/edit form
  • End Date optional field with datetime input is created in rule create/edit form
  • Start and End date are displayed on Rules Grid
  • Rules executed after End Date should not be processed
  • Rules executed before Start Date should not be processed
  • Start and End datetime should be validated against store timezone

Unit Tests

AC

  • unit tests are written and all passing

[Feature] New attributes for rules creation

We want to allow more granular way for setting order status than it is now.

We want to cover following scenario: set order status to "suspected fraud" if base_grand_total >= $1000.00, order state is "Processing" and base_total_invoiced is NULL (so no invoice was created yet).

AC

  • following fields from Order entity are eligible to be used in rule conditions and are mentioned in README.md documentation
    • base_total_canceled
    • base_total_invoiced
    • base_total_paid
    • base_total_refunded
    • base_shipping_amount
    • base_shipping_canceled
    • base_shipping_invoiced
    • base_shipping_refunded

[Feature] Allow addition of new rules by other modules via XML

We want to have possibility to add new condition types to rules in a per-project way, to allow f.e. external modifications to module without overwriting core of it.

AC

  • Rule mechanism is refactored to allow plugin with new rules via XML that might be added by custom modules
  • it might be used on per-project basis to create special rules crafted for specific project

Planned Feature List

Planned Feature List

  • Admin
    • new menu in Stores -> Settings -> Order Status Adjust Rules which will open Grid
  • Admin Grid
    • columns: Rule Id, Status, Rule Name, Set Order Status, Action
  • Admin Form
    • fields: Enabled, Rule Name, Condition, Action (Set Order Status)
  • Rules Configurator similar to Sales Rules one
    • used in Form for creation/edit rules
  • Rules based on Order
    • base_subtotal_with_discount
    • base_subtotal_total_incl_tax
    • base_subtotal
    • base_tax_amount
    • base_grand_total
    • base_discount_amount
    • base_gift_cards_amount
    • total_qty_ordered
    • weight
    • payment_method
    • shipping_method
    • order_currency_code
    • store_name/store_id
    • coupon_code
    • total_item_count
    • customer_is_guest
    • customer_group_id
    • customer_taxvat
    • remote_ip

[Feature] Order History entry for applied rule

We want to have a trace that something was automatically done to particlar Order. One way to achieve this is to add information in Order History as new entry.

AC:

  • you can enable/disable (by default: enabled) adding new entry to Order History
  • if any rule is applied and feature is enabled, entry in Order History is added
    • Example: "Order Status was adjusted to XYZ, applied rule ZYX

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.