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 @@ ...@@ -106,7 +106,8 @@
id="printerPPDManufacturer" id="printerPPDManufacturer"
label="$i18n{printerManufacturer}" label="$i18n{printerManufacturer}"
value="{{pendingPrinter_.ppdManufacturer}}" value="{{pendingPrinter_.ppdManufacturer}}"
readonly="[[!isOnline_]]"> readonly="[[!isOnline_]]"
invalid="{{isManufacturerInvalid_}}">
</cr-searchable-drop-down> </cr-searchable-drop-down>
</div> </div>
<div class="settings-box two-line"> <div class="settings-box two-line">
...@@ -114,7 +115,8 @@ ...@@ -114,7 +115,8 @@
id="printerPPDModel" id="printerPPDModel"
label="$i18n{printerModel}" label="$i18n{printerModel}"
value="{{pendingPrinter_.ppdModel}}" value="{{pendingPrinter_.ppdModel}}"
readonly="[[!isOnline_]]"> readonly="[[!isOnline_]]"
invalid="{{isModelInvalid_}}">
</cr-searchable-drop-down> </cr-searchable-drop-down>
</div> </div>
<div id="ppdLabel" class="cr-form-field-label"> <div id="ppdLabel" class="cr-form-field-label">
...@@ -145,8 +147,8 @@ ...@@ -145,8 +147,8 @@
$i18n{cancel} $i18n{cancel}
</cr-button> </cr-button>
<cr-button class="action-button" on-click="onSaveTap_" <cr-button class="action-button" on-click="onSaveTap_"
disabled="[[!canSavePrinter_(pendingPrinter_.*, disabled="[[!canSavePrinter_(pendingPrinter_.*, printerInfoChanged_,
printerInfoChanged_, isOnline_)]]"> isOnline_, isManufacturerInvalid_, isModelInvalid_)]]">
$i18n{editPrinterButtonText} $i18n{editPrinterButtonText}
</cr-button> </cr-button>
</div> </div>
......
...@@ -117,6 +117,26 @@ Polymer({ ...@@ -117,6 +117,26 @@ Polymer({
type: String, type: String,
value: '', 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: [ observers: [
...@@ -303,7 +323,8 @@ Polymer({ ...@@ -303,7 +323,8 @@ Polymer({
*/ */
canSavePrinter_: function() { canSavePrinter_: function() {
return this.printerInfoChanged_ && 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