Commits
Marek Vsechovsky committed a941b3c434c
Session 85, Step 1: PricingAdmin SPA, Pricing page, OrgUserRole and subscription management - AIM-1364 PricingAdmin SPA general improvements - AIM-1365 Add Defaults tab with default currency setting - AIM-1366 Add Close and Delete buttons on all PricingAdmin edit forms - AIM-1367 Price traversal logic — region then currency then general - AIM-1368 Numerical textboxes — no browser spinner, right-align content - AIM-1369 Yearly prices — per-month input, ×12 calculation, total display and tooltip - AIM-1370 Features management improvements - AIM-1371 Hide main list columns except Name when edit form shown — Features - AIM-1372 Yearly price toggle button with percentage icon — Features - AIM-1373 Drag-and-drop sorting and parent-child organization for Features - AIM-1374 Add `FeatureIsAddOn` bool column to Feature table and checkbox in form - AIM-1375 Add `FeatureValue` and `FeatureValueDataTypeId` to Feature table and form - AIM-1376 Fix pricing hint text visibility — same color as background - AIM-1377 Show default currency in Feature pricing labels - AIM-1378 Center Active checkbox in Currency prices tab - AIM-1379 Center checkbox columns in Region prices tab - AIM-1380 Tiers management improvements - AIM-1381 Hide main list columns except Name when edit form shown — Tiers - AIM-1382 Drag-and-drop tier reordering - AIM-1383 Remove Sort order field from Tiers edit form - AIM-1384 Replace Yearly is discount checkbox with toggle button input group — Tiers - AIM-1385 Add Long description field and `SubscrTierLongDescr` DB column - AIM-1386 Add Value column to Included features with data type validation - AIM-1387 Add `TierFeatureValue` column to TierFeature table - AIM-1388 Add `SubscriptionFeatureValue` column to SubscriptionFeature table - AIM-1389 Remove Pricing tab from PricingAdmin UI - AIM-1390 Currencies management improvements - AIM-1391 Sort currencies alphabetically by code - AIM-1392 Remove `PriceCurrencySortOrder` from form and DB - AIM-1393 Remove Edit/Delete icons, open currency form on row click - AIM-1394 Regions management improvements - AIM-1395 Filterable dropdown for auto-recognized regions in New region dialog - AIM-1396 Auto-populate fields and default currency from region selection - AIM-1397 Remove `PriceRegionSortOrder` from form and DB - AIM-1398 Move Auto-fill tax button inline with Active checkbox - AIM-1399 Region matching logic for pricing — country, union, continent - AIM-1400 Pricing page improvements - AIM-1401 Default to Yearly selection on Pricing page - AIM-1402 Calculate and display max percentage discount in saveBadge - AIM-1403 Tier carousel on wide screens — 3 per row with chevrons - AIM-1404 Yearly price display — /mo with total yearly and discount below - AIM-1405 Render current subscription focused, warning if free trial exhausted - AIM-1406 Add-ons section with quantity controls and purchase button - AIM-1407 Add `InvoiceItem` table linking Invoice with Feature - AIM-1408 "More about the tiers" section on Pricing page - AIM-1409 OrgUserRole and subscription management - AIM-1410 Update role guard — allow last admin to switch between admin roles - AIM-1411 Guard non-programmer users from dashboard tabs — client and server - AIM-1412 Add `OrgProgrammerCount` column to Org and trigger on OrgUser - AIM-1413 Dashboard org subscription validation on load - AIM-1414 Content area shows subscription problem info for restricted projects - AIM-1415 Org management seat checking and notification on role changes - AIM-1416 Subscription upgrade flow with Stripe pro-rata