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

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