Blame SOURCES/0004-baseuser-fix-ipanthomedirectorydrive-option-name_rhbz#1851411.patch

2ff659
From a090b429fda35c5a9c3cfb672ab42a5985d00ff9 Mon Sep 17 00:00:00 2001
2ff659
From: Petr Vobornik <pvoborni@redhat.com>
2ff659
Date: Mon, 8 Jun 2020 19:27:30 +0200
2ff659
Subject: [PATCH] baseuser: fix ipanthomedirectorydrive option name
2ff659
2ff659
It should be ipanthomedirectorydrive and not ipanthomedirectoryrive.
2ff659
2ff659
This fixes showing the field in Web UI and also should fix CLI as it
2ff659
probably never worked.
2ff659
2ff659
Signed-off-by: Petr Vobornik <pvoborni@redhat.com>
2ff659
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
2ff659
---
2ff659
 API.txt                       | 8 ++++----
2ff659
 ipaserver/plugins/baseuser.py | 2 +-
2ff659
 2 files changed, 5 insertions(+), 5 deletions(-)
2ff659
2ff659
diff --git a/API.txt b/API.txt
2ff659
index 5354a33a0..300b3d9b1 100644
2ff659
--- a/API.txt
2ff659
+++ b/API.txt
2ff659
@@ -5085,7 +5085,7 @@ option: Str('in_role*', cli_name='in_roles')
2ff659
 option: Str('in_sudorule*', cli_name='in_sudorules')
2ff659
 option: Str('initials?', autofill=False)
2ff659
 option: Str('ipanthomedirectory?', autofill=False, cli_name='smb_home_dir')
2ff659
-option: StrEnum('ipanthomedirectoryrive?', autofill=False, cli_name='smb_home_drive', values=[u'A:', u'B:', u'C:', u'D:', u'E:', u'F:', u'G:', u'H:', u'I:', u'J:', u'K:', u'L:', u'M:', u'N:', u'O:', u'P:', u'Q:', u'R:', u'S:', u'T:', u'U:', u'V:', u'W:', u'X:', u'Y:', u'Z:'])
2ff659
+option: StrEnum('ipanthomedirectorydrive?', autofill=False, cli_name='smb_home_drive', values=[u'A:', u'B:', u'C:', u'D:', u'E:', u'F:', u'G:', u'H:', u'I:', u'J:', u'K:', u'L:', u'M:', u'N:', u'O:', u'P:', u'Q:', u'R:', u'S:', u'T:', u'U:', u'V:', u'W:', u'X:', u'Y:', u'Z:'])
2ff659
 option: Str('ipantlogonscript?', autofill=False, cli_name='smb_logon_script')
2ff659
 option: Str('ipantprofilepath?', autofill=False, cli_name='smb_profile_path')
2ff659
 option: Str('ipatokenradiusconfiglink?', autofill=False, cli_name='radius')
2ff659
@@ -5147,7 +5147,7 @@ option: Str('givenname?', autofill=False, cli_name='first')
2ff659
 option: Str('homedirectory?', autofill=False, cli_name='homedir')
2ff659
 option: Str('initials?', autofill=False)
2ff659
 option: Str('ipanthomedirectory?', autofill=False, cli_name='smb_home_dir')
2ff659
-option: StrEnum('ipanthomedirectoryrive?', autofill=False, cli_name='smb_home_drive', values=[u'A:', u'B:', u'C:', u'D:', u'E:', u'F:', u'G:', u'H:', u'I:', u'J:', u'K:', u'L:', u'M:', u'N:', u'O:', u'P:', u'Q:', u'R:', u'S:', u'T:', u'U:', u'V:', u'W:', u'X:', u'Y:', u'Z:'])
2ff659
+option: StrEnum('ipanthomedirectorydrive?', autofill=False, cli_name='smb_home_drive', values=[u'A:', u'B:', u'C:', u'D:', u'E:', u'F:', u'G:', u'H:', u'I:', u'J:', u'K:', u'L:', u'M:', u'N:', u'O:', u'P:', u'Q:', u'R:', u'S:', u'T:', u'U:', u'V:', u'W:', u'X:', u'Y:', u'Z:'])
2ff659
 option: Str('ipantlogonscript?', autofill=False, cli_name='smb_logon_script')
2ff659
 option: Str('ipantprofilepath?', autofill=False, cli_name='smb_profile_path')
2ff659
 option: Str('ipasshpubkey*', autofill=False, cli_name='sshpubkey')
2ff659
@@ -6185,7 +6185,7 @@ option: Str('in_role*', cli_name='in_roles')
2ff659
 option: Str('in_sudorule*', cli_name='in_sudorules')
2ff659
 option: Str('initials?', autofill=False)
2ff659
 option: Str('ipanthomedirectory?', autofill=False, cli_name='smb_home_dir')
2ff659
-option: StrEnum('ipanthomedirectoryrive?', autofill=False, cli_name='smb_home_drive', values=[u'A:', u'B:', u'C:', u'D:', u'E:', u'F:', u'G:', u'H:', u'I:', u'J:', u'K:', u'L:', u'M:', u'N:', u'O:', u'P:', u'Q:', u'R:', u'S:', u'T:', u'U:', u'V:', u'W:', u'X:', u'Y:', u'Z:'])
2ff659
+option: StrEnum('ipanthomedirectorydrive?', autofill=False, cli_name='smb_home_drive', values=[u'A:', u'B:', u'C:', u'D:', u'E:', u'F:', u'G:', u'H:', u'I:', u'J:', u'K:', u'L:', u'M:', u'N:', u'O:', u'P:', u'Q:', u'R:', u'S:', u'T:', u'U:', u'V:', u'W:', u'X:', u'Y:', u'Z:'])
2ff659
 option: Str('ipantlogonscript?', autofill=False, cli_name='smb_logon_script')
2ff659
 option: Str('ipantprofilepath?', autofill=False, cli_name='smb_profile_path')
2ff659
 option: Str('ipatokenradiusconfiglink?', autofill=False, cli_name='radius')
2ff659
@@ -6250,7 +6250,7 @@ option: Str('givenname?', autofill=False, cli_name='first')
2ff659
 option: Str('homedirectory?', autofill=False, cli_name='homedir')
2ff659
 option: Str('initials?', autofill=False)
2ff659
 option: Str('ipanthomedirectory?', autofill=False, cli_name='smb_home_dir')
2ff659
-option: StrEnum('ipanthomedirectoryrive?', autofill=False, cli_name='smb_home_drive', values=[u'A:', u'B:', u'C:', u'D:', u'E:', u'F:', u'G:', u'H:', u'I:', u'J:', u'K:', u'L:', u'M:', u'N:', u'O:', u'P:', u'Q:', u'R:', u'S:', u'T:', u'U:', u'V:', u'W:', u'X:', u'Y:', u'Z:'])
2ff659
+option: StrEnum('ipanthomedirectorydrive?', autofill=False, cli_name='smb_home_drive', values=[u'A:', u'B:', u'C:', u'D:', u'E:', u'F:', u'G:', u'H:', u'I:', u'J:', u'K:', u'L:', u'M:', u'N:', u'O:', u'P:', u'Q:', u'R:', u'S:', u'T:', u'U:', u'V:', u'W:', u'X:', u'Y:', u'Z:'])
2ff659
 option: Str('ipantlogonscript?', autofill=False, cli_name='smb_logon_script')
2ff659
 option: Str('ipantprofilepath?', autofill=False, cli_name='smb_profile_path')
2ff659
 option: Str('ipasshpubkey*', autofill=False, cli_name='sshpubkey')
2ff659
diff --git a/ipaserver/plugins/baseuser.py b/ipaserver/plugins/baseuser.py
2ff659
index a0ed65874..e1b7763f0 100644
2ff659
--- a/ipaserver/plugins/baseuser.py
2ff659
+++ b/ipaserver/plugins/baseuser.py
2ff659
@@ -420,7 +420,7 @@ class baseuser(LDAPObject):
2ff659
             label=_('SMB Home Directory'),
2ff659
             flags=['no_create'],
2ff659
             ),
2ff659
-        StrEnum('ipanthomedirectoryrive?',
2ff659
+        StrEnum('ipanthomedirectorydrive?',
2ff659
                 cli_name='smb_home_drive',
2ff659
                 label=_('SMB Home Directory Drive'),
2ff659
                 flags=['no_create'],
2ff659
-- 
2ff659
2.26.2
2ff659
2ff659
From 691b3cddb275821630f443f22706fa75e7c7a5c8 Mon Sep 17 00:00:00 2001
2ff659
From: Petr Vobornik <pvoborni@redhat.com>
2ff659
Date: Mon, 8 Jun 2020 19:11:33 +0200
2ff659
Subject: [PATCH] webui: hide user attributes for SMB services section if empty
2ff659
2ff659
This section should be hidded if user object hasn't ipantuserattrs
2ff659
object class. I.e. when trusts are not enabled.
2ff659
2ff659
Web UI framework already supports hidding of sections if the
2ff659
section contains no visible field. So to achieve it we simply needs
2ff659
to hide the fields. Given that attributelevelrights
2ff659
contains rights only for attributes of current object classes, all
2ff659
of these are regarded as not writable.
2ff659
2ff659
We can leverage feature of input_widget that it gets hidden
2ff659
when the attribute is not writable and has no value and widget's
2ff659
"hidden_if_empty" is set to true. Thus doing it here.
2ff659
2ff659
For this to work, it is also required to fix an issue with
2ff659
"ipanthomedirectorydrive" which is optional (in API) but Web UI
2ff659
doesn't offer "empty" ("") value. Adding it here.
2ff659
2ff659
fixes: https://pagure.io/freeipa/issue/8336
2ff659
2ff659
Signed-off-by: Petr Vobornik <pvoborni@redhat.com>
2ff659
Reviewed-By: Serhii Tsymbaliuk <stsymbal@redhat.com>
2ff659
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
2ff659
---
2ff659
 install/ui/src/freeipa/user.js | 20 +++++++++++---------
2ff659
 1 file changed, 11 insertions(+), 9 deletions(-)
2ff659
2ff659
diff --git a/install/ui/src/freeipa/user.js b/install/ui/src/freeipa/user.js
2ff659
index fb626f2a1..8f1f5cd85 100644
2ff659
--- a/install/ui/src/freeipa/user.js
2ff659
+++ b/install/ui/src/freeipa/user.js
2ff659
@@ -367,36 +367,39 @@ return {
2ff659
                 {
2ff659
                     name: 'smb_attributes',
2ff659
                     label: '@i18n:objects.smb_attributes.title',
2ff659
-                    show_cond: ['oc_ipantuserattrs'],
2ff659
                     fields: [{
2ff659
                             name: 'ipantlogonscript',
2ff659
                             tooltip: {
2ff659
                                 title: '@i18n:objects.smb_attributes.ipantlogonscript_tooltip'
2ff659
-                            }
2ff659
+                            },
2ff659
+                            hidden_if_empty: true
2ff659
                         },
2ff659
                         {
2ff659
                             name: 'ipantprofilepath',
2ff659
                             tooltip: {
2ff659
                                 title: '@i18n:objects.smb_attributes.ipantprofilepath_tooltip'
2ff659
-                            }
2ff659
+                            },
2ff659
+                            hidden_if_empty: true
2ff659
                         },
2ff659
                         {
2ff659
                             name: 'ipanthomedirectory',
2ff659
                             tooltip: {
2ff659
                                 title: '@i18n:objects.smb_attributes.ipanthomedirectory_tooltip'
2ff659
-                            }
2ff659
+                            },
2ff659
+                            hidden_if_empty: true
2ff659
                         },
2ff659
                         {
2ff659
                             name: 'ipanthomedirectorydrive',
2ff659
                             $type: 'select',
2ff659
                             options: IPA.create_options([
2ff659
-                                'A:', 'B:', 'C:', 'D:', 'E:', 'F:', 'G:', 'H:', 'I:',
2ff659
-                                'J:', 'K:', 'L:', 'M:', 'N:', 'O:', 'P:', 'Q:', 'R:',
2ff659
-                                'S:', 'T:', 'U:', 'V:', 'W:', 'X:', 'Y:', 'Z:'
2ff659
+                                '', 'A:', 'B:', 'C:', 'D:', 'E:', 'F:', 'G:', 'H:',
2ff659
+                                'I:', 'J:', 'K:', 'L:', 'M:', 'N:', 'O:', 'P:', 'Q:',
2ff659
+                                'R:', 'S:', 'T:', 'U:', 'V:', 'W:', 'X:', 'Y:', 'Z:'
2ff659
                             ]),
2ff659
                             tooltip: {
2ff659
                                 title: '@i18n:objects.smb_attributes.ipanthomedirectorydrive_tooltip'
2ff659
-                            }
2ff659
+                            },
2ff659
+                            hidden_if_empty: true
2ff659
                         }
2ff659
                     ]
2ff659
                 }
2ff659
@@ -482,7 +485,6 @@ return {
2ff659
                     IPA.user.self_service_other_user_evaluator,
2ff659
                     IPA.user.preserved_user_evaluator,
2ff659
                     IPA.user.is_locked_evaluator,
2ff659
-                    IPA.object_class_evaluator,
2ff659
                     IPA.cert.certificate_evaluator
2ff659
                 ],
2ff659
                 summary_conditions: [
2ff659
-- 
2ff659
2.26.2
2ff659