Skip to content

Commit f499102

Browse files
committed
Hide password protected row on product visibility screen for user authenticated without wpcom
1 parent 0394ed4 commit f499102

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

WooCommerce/Classes/ViewRelated/Products/Edit Product/Product Settings/ProductSettingsRows.swift

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,13 +102,18 @@ enum ProductSettingsRows {
102102
}
103103

104104
func handleTap(sourceViewController: UIViewController, onCompletion: @escaping (ProductSettings) -> Void) {
105-
// If the password was not fetched, the cell is not selectable
106-
guard settings.password != nil else {
105+
let passwordProtectedAvailable = ServiceLocator.stores.isAuthenticatedWithoutWPCom == false
106+
/// If the password was not fetched for user authenticated with WPCom,
107+
/// the cell is not selectable
108+
if settings.password == nil && passwordProtectedAvailable {
107109
return
108110
}
109111

110112
ServiceLocator.analytics.track(.productSettingsVisibilityTapped)
111-
let viewController = ProductVisibilityViewController(settings: settings) { (productSettings) in
113+
let viewController = ProductVisibilityViewController(
114+
settings: settings,
115+
showsPasswordProtectedVisibility: passwordProtectedAvailable
116+
) { (productSettings) in
112117
self.settings.password = productSettings.password
113118
self.settings.status = productSettings.status
114119
onCompletion(self.settings)

WooCommerce/Classes/ViewRelated/Products/Edit Product/Product Settings/Visibility/ProductVisibilityViewController.swift

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ final class ProductVisibilityViewController: UIViewController {
1313
private let onCompletion: Completion
1414

1515
private let productSettings: ProductSettings
16+
private let showsPasswordProtectedVisibility: Bool
1617

1718
private var visibility: ProductVisibility = .public
1819

@@ -25,9 +26,10 @@ final class ProductVisibilityViewController: UIViewController {
2526

2627
/// Init
2728
///
28-
init(settings: ProductSettings, completion: @escaping Completion) {
29+
init(settings: ProductSettings, showsPasswordProtectedVisibility: Bool, completion: @escaping Completion) {
2930
productSettings = settings
3031
onCompletion = completion
32+
self.showsPasswordProtectedVisibility = showsPasswordProtectedVisibility
3133
super.init(nibName: nil, bundle: nil)
3234
}
3335

@@ -65,7 +67,7 @@ final class ProductVisibilityViewController: UIViewController {
6567
private func reloadSections() {
6668
if visibility == .passwordProtected {
6769
sections = [Section(rows: [.publicVisibility, .passwordVisibility, .passwordField, .privateVisibility])]
68-
} else if productSettings.password != nil {
70+
} else if showsPasswordProtectedVisibility {
6971
sections = [Section(rows: [.publicVisibility, .passwordVisibility, .privateVisibility])]
7072
} else {
7173
sections = [Section(rows: [.publicVisibility, .privateVisibility])]

0 commit comments

Comments
 (0)