Bug 468358

Summary: Printer details (e.g. location) can first be changed after hitting "apply" and then "ok"
Product: [Applications] systemsettings Reporter: postix <postix>
Component: kcm_printer_managerAssignee: Daniel Nicoletti <dantti12>
Status: RESOLVED FIXED    
Severity: normal CC: noeerover, plasma-bugs-null
Priority: NOR Keywords: usability
Version First Reported In: 5.27.3   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In: 6.0.0
Sentry Crash Report:

Description postix 2023-04-10 16:29:44 UTC
SUMMARY
Printer details (e.g. location) can first be changed after hitting "apply" and then "ok"

STEPS TO REPRODUCE
1.  Open the printer kcm
2.  Select any printer and click on config
3.  Change the location string

4.1 Click on "OK"
It says permission denied w/o stating any reasons. No dialog appears to enter administrator credentials.
```
configure-printer[22893]: pm.configure.printer: QHash(("printer-location", QVariant(QString, "Local3")))
configure-printer[22893]: pm.configure.printer: ""
configure-printer[22893]: libkcups: CUPS-Add-Modify-Printer last error: 1025 Verboten
configure-printer[22893]: libkcups: Calling cupsDoAuthentication() password_retries: 0
configure-printer[22893]: libkcups: Called cupsDoAuthentication(), success: false
```

4.2 Click on "Apply"
It says permission denied w/o stating any reasons. No dialog appears to enter administrator credentials.
```
configure-printer[22944]: void ConfigureDialog::enableButtonApply(bool) true ModifyPrinter(0x555e3c697ce0, name = "ModifyPrinter")
configure-printer[22944]: pm.configure.printer: QHash(("printer-location", QVariant(QString, "Local2")))
configure-printer[22944]: pm.configure.printer: ""
configure-printer[22944]: libkcups: CUPS-Add-Modify-Printer last error: 1025 Verboten
configure-printer[22944]: libkcups: Calling cupsDoAuthentication() password_retries: 0
configure-printer[22944]: libkcups: Called cupsDoAuthentication(), success: false
```

4.3 Click on "OK" after having clicked on "Apply"
The dialog to enter the root credentials shows up.
```
configure-printer[22944]: pm.configure.printer: QHash(("printer-location", QVariant(QString, "Local2")))
configure-printer[22944]: pm.configure.printer: ""
configure-printer[22944]: libkcups: 1
```
Enter the right credentials
```
configure-printer[22944]: libkcups: true
configure-printer[22944]: libkcups: CUPS-Add-Modify-Printer last error: 0 successful-ok
systemsettings[22666]: libkcups: "Printer \"Kyocera\" modified by \"root\"." "ipp://host/printers/Kyocera" "Kyocera" 3 "none" true
plasmashell[14148]: libkcups: "Printer \"Kyocera\" modified by \"root\"." "ipp://host/printers/Kyocera" "Kyocera" 3 "none" true
configure-printer[22944]: libkcups: Get-Printer-Attributes last error: 0 successful-ok
configure-printer[22944]: void ConfigureDialog::enableButtonApply(bool) false ModifyPrinter(0x555e3c697ce0, name = "ModifyPrinter")
systemsettings[22666]: libkcups: Get-Printer-Attributes last error: 0 successful-ok
plasmashell[14148]: libkcups: Get-Printer-Attributes last error: 0 successful-ok
plasmashell[14148]: libkcups: 3 "Kyocera"
systemsettings[22666]: libkcups: 3 "Kyocera"
plasmashell[14148]: libkcups: Get-Printer-Attributes last error: 0 successful-ok
plasmashell[14148]: libkcups: 3 "Kyocera"
systemsettings[22666]: libkcups: Get-Printer-Attributes last error: 0 successful-ok
systemsettings[22666]: libkcups: 3 "Kyocera"
```
The printer's location is finally changed.



SOFTWARE/OS VERSIONS
Operating System: openSUSE Tumbleweed 20230408
KDE Plasma Version: 5.27.4
KDE Frameworks Version: 5.104.0
Qt Version: 5.15.8
Kernel Version: 6.2.9-1-default (64-bit)
Graphics Platform: Wayland