Hide email controls when no email on file; show SMS hint for quote/job events
- Quotes Create/Edit: hide 'Send via email' checkbox when customer has no email; show badge 'send via SMS from details' or 'SMS consent required' when customer has a mobile number. JS responds to customer dropdown change. - Quotes Details: hide 'Send Quote via Email' button and approval email checkbox; hide SMS button when no mobile; show consent-required note. - Jobs Details (Mark Complete modal): hide email checkbox; show 'SMS notification will be sent' badge or consent-required note. - Jobs Index (status modal): hide email row when customer has no email. - Jobs Edit: hide 'Notify customer if status changes' when no email. - Invoices Details: hide Send/Re-send buttons when no email (vs. disabled). DTOs: added CustomerEmail + CustomerNotifyByEmail to JobDto/JobListDto; added CustomerNotifyByEmail/CustomerMobilePhone/CustomerNotifyBySms to QuoteDto. Mapped in JobProfile and QuotesController customer blocks. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+68
@@ -0,0 +1,68 @@
|
||||
{
|
||||
"name": "playwright",
|
||||
"version": "1.59.1",
|
||||
"description": "A high-level API to automate web browsers",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/microsoft/playwright.git"
|
||||
},
|
||||
"homepage": "https://playwright.dev",
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"main": "index.js",
|
||||
"exports": {
|
||||
".": {
|
||||
"types": "./index.d.ts",
|
||||
"import": "./index.mjs",
|
||||
"require": "./index.js",
|
||||
"default": "./index.js"
|
||||
},
|
||||
"./package.json": "./package.json",
|
||||
"./lib/common/configLoader": "./lib/common/configLoader.js",
|
||||
"./lib/fsWatcher": "./lib/fsWatcher.js",
|
||||
"./lib/mcp/index": "./lib/mcp/index.js",
|
||||
"./lib/program": "./lib/program.js",
|
||||
"./lib/reporters/base": "./lib/reporters/base.js",
|
||||
"./lib/reporters/list": "./lib/reporters/list.js",
|
||||
"./lib/transform/babelBundle": "./lib/transform/babelBundle.js",
|
||||
"./lib/transform/compilationCache": "./lib/transform/compilationCache.js",
|
||||
"./lib/transform/esmLoader": "./lib/transform/esmLoader.js",
|
||||
"./lib/transform/transform": "./lib/transform/transform.js",
|
||||
"./lib/internalsForTest": "./lib/internalsForTest.js",
|
||||
"./lib/plugins": "./lib/plugins/index.js",
|
||||
"./lib/runner/testRunner": "./lib/runner/testRunner.js",
|
||||
"./jsx-runtime": {
|
||||
"import": "./jsx-runtime.mjs",
|
||||
"require": "./jsx-runtime.js",
|
||||
"default": "./jsx-runtime.js"
|
||||
},
|
||||
"./lib/util": "./lib/util.js",
|
||||
"./lib/utilsBundle": "./lib/utilsBundle.js",
|
||||
"./types/test": {
|
||||
"types": "./types/test.d.ts"
|
||||
},
|
||||
"./types/testReporter": {
|
||||
"types": "./types/testReporter.d.ts"
|
||||
},
|
||||
"./test": {
|
||||
"types": "./test.d.ts",
|
||||
"import": "./test.mjs",
|
||||
"require": "./test.js",
|
||||
"default": "./test.js"
|
||||
}
|
||||
},
|
||||
"bin": {
|
||||
"playwright": "cli.js"
|
||||
},
|
||||
"author": {
|
||||
"name": "Microsoft Corporation"
|
||||
},
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"playwright-core": "1.59.1"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"fsevents": "2.3.2"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user