Commit e5d6962e authored by Gavin Williams's avatar Gavin Williams Committed by Commit Bot

Prevent user from saving invalid printer edit

-Same change as
 https://chromium-review.googlesource.com/c/chromium/src/+/1880181
 In original CL we missed fixing edit printer dialog
 as well.

Bug: 950887
Change-Id: I55c4e9cb3fa9c99bc104c660fdc0e555ecf8e860
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1912648
Commit-Queue: Gavin Williams <gavinwill@chromium.org>
Reviewed-by: default avatarBailey Berro <baileyberro@chromium.org>
Reviewed-by: default avatarKyle Horimoto <khorimoto@chromium.org>
Cr-Commit-Position: refs/heads/master@{#714789}
parent 33663fd7
......@@ -106,7 +106,8 @@
id="printerPPDManufacturer"
label="$i18n{printerManufacturer}"
value="{{pendingPrinter_.ppdManufacturer}}"
readonly="[[!isOnline_]]">
readonly="[[!isOnline_]]"
invalid="{{isManufacturerInvalid_}}">
</cr-searchable-drop-down>
</div>
<div class="settings-box two-line">
......@@ -114,7 +115,8 @@
id="printerPPDModel"
label="$i18n{printerModel}"
value="{{pendingPrinter_.ppdModel}}"
readonly="[[!isOnline_]]">
readonly="[[!isOnline_]]"
invalid="{{isModelInvalid_}}">
</cr-searchable-drop-down>
</div>
<div id="ppdLabel" class="cr-form-field-label">
......@@ -145,8 +147,8 @@
$i18n{cancel}
</cr-button>
<cr-button class="action-button" on-click="onSaveTap_"
disabled="[[!canSavePrinter_(pendingPrinter_.*,
printerInfoChanged_, isOnline_)]]">
disabled="[[!canSavePrinter_(pendingPrinter_.*, printerInfoChanged_,
isOnline_, isManufacturerInvalid_, isModelInvalid_)]]">
$i18n{editPrinterButtonText}
</cr-button>
</div>
......
......@@ -117,6 +117,26 @@ Polymer({
type: String,
value: '',
},
/**
* Indicates whether the value in the Manufacturer dropdown is a valid
* printer manufacturer.
* @private
*/
isManufacturerInvalid_: {
type: Boolean,
value: false,
},
/**
* Indicates whether the value in the Model dropdown is a valid printer
* model.
* @private
*/
isModelInvalid_: {
type: Boolean,
value: false,
},
},
observers: [
......@@ -303,7 +323,8 @@ Polymer({
*/
canSavePrinter_: function() {
return this.printerInfoChanged_ &&
(this.isPrinterConfigured_() || !this.isOnline_);
(this.isPrinterConfigured_() || !this.isOnline_) &&
!this.isManufacturerInvalid_ && !this.isModelInvalid_;
},
/**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment