Commits
Marek Vsechovsky committed 323f6a48bc5
Session 90, Step 1: PricingAdmin: form save UX improvements (parent)
- AIM-1483 PricingAdmin: form save UX improvements (parent)
- AIM-1484 PricingAdmin: re-select last selected row after list re-renders on form save
- AIM-1485 PricingAdmin: Features DnD child order is not saved after drag-and-drop
- AIM-1486 Tiers list: display improvements (parent)
- AIM-1487 Tiers list: show '+N' in Features column when 'All from previous tier' is checked
- AIM-1488 Tiers list: yearly column — show X/Y or Z%=X/Y depending on sign
- AIM-1489 PricingAdmin: discount codes feature (parent)
- AIM-1490 PricingAdmin: add 'Discount codes' and 'Resellers' top-level tabs with separator
- AIM-1491 PricingAdmin: discount codes list (active / show-expired toggle)
- AIM-1492 PricingAdmin: discount code add/edit form
- AIM-1493 PricingAdmin: discount code generator — random 10-char code, server uniqueness check
- AIM-1494 SQL: unique index on PriceDiscountCode.PDCode
- AIM-1495 PricingAdmin: resellers administration (parent)
- AIM-1496 PricingAdmin: resellers list — email lookup, max discount, disabled filter
- AIM-1497 PricingAdmin: reseller detail — user details & sales summary tab
- AIM-1498 PricingAdmin: reseller detail — generated codes tab
- AIM-1499 PricingAdmin: reseller detail — ledger tab with currency filter
- AIM-1500 PricingAdmin: resellers payout mode — list requested payouts with totals
- AIM-1501 PricingAdmin: reseller payout detail form — bank details, currency breakdown
- AIM-1502 Pricing page — promotions & discount code enhancements (parent)
- AIM-1503 Pricing page: apply yearly price X/Y or Z%=X/Y calculation logic
- AIM-1504 Pricing page: promotions section with referrer support
- AIM-1505 Pricing page: discount code entry at checkout — verify, apply, recalculate
- AIM-1506 Pricing page: rate-limit failed discount code attempts (3 per 20 min)
- AIM-1507 SQL: trigger to keep RDCIsDefault unique per reseller in ResellerDiscountCode
- AIM-1508 Reseller page — new page for resellers (parent)
- AIM-1509 Reseller page: create page and add to user menu for active resellers
- AIM-1510 Reseller page: Details tab — nickname, earnings summary, request payment
- AIM-1511 Reseller page: Discount codes tab
- AIM-1512 Reseller page: Ledger tab
- AIM-1513 Issues list: show inlineAlert('note') when filtered by session
- AIM-1514 Issues list: keyboard shortcuts for navigation (parent)
- AIM-1515 Issues list: Alt+Enter — scroll selected into view or advance pre-selection cursor
- AIM-1516 Issues list: Alt+Shift+Enter — move pre-selection cursor backward
- AIM-1517 Issues list: Ctrl+Enter — select next item and load detail
- AIM-1518 Issues list: Ctrl+Shift+Enter — select previous item and load detail
- AIM-1519 Issues list: Enter — confirm pre-selected item as fully selected
- AIM-1520 Wf S2: Sessions icon button in toolbar for executed stories
- AIM-1521 Replace TotalIssues DB trigger with code-side update
- AIM-1522 Session step: 'Show in stories...' reverse link from 'Original input text' tab
- AIM-1523 Fix: '(Has the agent actually finished processing?)' link causes jQuery inlineAlert error