DeeMcCart / CI_PP5_Jeweller

Jewellery website for CI Project 5

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

User Story: FTU_18 Personalisation (Engraving)

DeeMcCart opened this issue · comments

EPIC: #48

FTU_18: As a First-Time User I want to personalise my order to make the product unique to me

Assumptions or Pre-Requisites:

  • Basic Order flow is established and functional (EPIC #16)
  • Ring sizing has been implemented
  • Fields already added to Product model: can_be_engraved (default False), max_char_engrave (default 0).
  • Field already added to OrderDetail model: engrave_text
  • Looking more closely at the Model structure, it seems engraving will need to be captured at the basket stage, as the order line is not saved until AFTER the order is created & paid for (its a bit late then to be asking the customer if they'd like some personalisation).
  • Assumption: Sizing and engraving are mutually exclusive, as per requirements clarification by Jeweller below.

Acceptance Criteria: (Must be completed before task is moved to 'Done')

  • Engraving/ personalisation offered at time of adding to basket for products with can_be_engraved=True

Tasks

  • Task1 Discussed with shop owner to clarify requirments.
  • Some items are also suitable for engraving. (This may be on an item-by-item basis as for example certain pendants, bangles or id bracelets are suitable for engraving. The number of characters may also vary with the type of engraving.) Note that rings are not engravable by this jeweller. can_be_engraved should be set on the product.
  • Task2 Must be available as an input field for engraveable items when adding item to basket (product_detail.html)
  • Task3 Make visible in the basket review screen? (basket.html)
  • Task4 Make /selectable/editable in the basket adjust
  • Task4 Make visible on the checkout screen (checkout.html)
  • Task5 Carry through to order line creation (both in checkout/views and in webhooks)
  • Task6 Make visible on the order confirmation email, order history (checkout_success.html), and order admin (order_maint.html)view.

Before changing task status to 'Review' or 'Done' please provide comment (and screenprints if appropriate) as documentary evidence of task completion

NOTE: Implemented as a secondary data structure for the t=uitem {engrave_test: engrave-text, qty} similar to the sizing data structure
Still an issue with remove - removes item for all engravings (added to issuelog num 123)

Image