diff options
Diffstat (limited to 'ipalib/plugins/defaultoptions.py')
-rw-r--r-- | ipalib/plugins/defaultoptions.py | 137 |
1 files changed, 0 insertions, 137 deletions
diff --git a/ipalib/plugins/defaultoptions.py b/ipalib/plugins/defaultoptions.py deleted file mode 100644 index ea2af515..00000000 --- a/ipalib/plugins/defaultoptions.py +++ /dev/null @@ -1,137 +0,0 @@ -# Authors: -# Rob Crittenden <rcritten@redhat.com> -# -# Copyright (C) 2008 Red Hat -# see file 'COPYING' for use and warranty information -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; version 2 only -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -""" -Frontend plugin for default options in IPA. -""" - -from ipalib import api -from ipalib import Command # Plugin base classes -from ipalib import Str, Int # Parameter types - - -class defaultoptions_mod(Command): - """ - Options command. - """ - takes_options = ( - Int('ipamaxusernamelength?', - cli_name='maxusername', - doc='Max. Username length', - minvalue=1 - ), - Str('ipahomesrootdir?', - cli_name='homedirectory', - doc='Default location of home directories' - ), - Str('ipadefaultloginshell?', - cli_name='defaultshell', - doc='Default shell for new users' - ), - Str('ipadefaultprimarygroup?', - cli_name='defaultgroup', - doc='Default group for new users' - ), - Str('ipadefaultemaildomain?', - cli_name='emaildomain', - doc='Default e-mail domain new users' - ), - Int('ipasearchtimelimit?', - cli_name='searchtimelimit', - doc='Max. amount of time (sec.) for a search (-1 is unlimited)', - minvalue=-1, - ), - Int('ipasearchrecordslimit?', - cli_name='searchrecordslimit', - doc='Max. number of records to search (-1 is unlimited)', - minvalue=-1, - ), - Str('ipausersearchfields?', - cli_name='usersearch', - doc='A comma-separated list of fields to search when searching for users' - ), - Str('ipagroupsearchfields?', - cli_name='groupsearch', - doc='A comma-separated list of fields to search when searching for groups' - ), - ) - def execute(self, *args, **kw): - """ - Execute the defaultoptions-mod operation. - - The dn should not be passed as a keyword argument as it is constructed - by this method. - - Returns the entry - - :param args: This function takes no positional arguments - :param kw: Keyword arguments for the other LDAP attributes. - """ - assert 'dn' not in kw - ldap = self.api.Backend.ldap - config = ldap.get_ipa_config() - dn = config.get('dn') - - # The LDAP routines want strings, not ints, so convert a few - # things. Otherwise it sees a string -> int conversion as a change. - for k in kw.iterkeys(): - if k.startswith("ipa", 0, 3) and type(kw[k]) is int: - kw[k] = str(kw[k]) - - return ldap.update(dn, **kw) - - def output_for_cli(self, textui, result, *args, **options): - textui.print_plain("Default options modified") - -api.register(defaultoptions_mod) - -class defaultoptions_show(Command): - 'Retrieve current default options' - def execute(self, *args, **kw): - """ - Execute the defaultoptions-show operation. - - The dn should not be passed as a keyword argument as it is constructed - by this method. - - Returns the entry - - :param args: Not used. - :param kw: Not used. - """ - ldap = self.api.Backend.ldap - return ldap.get_ipa_config() - - def output_for_cli(self, textui, result, *args, **options): - textui.print_plain("Search Configuration") - textui.print_plain(" Search Time Limit (sec.): %s" % result.get('ipasearchtimelimit')) - textui.print_plain(" Search Records Limit: %s" % result.get('ipasearchrecordslimit')) - textui.print_plain(" User Search Fields: %s" % result.get('ipausersearchfields')) - textui.print_plain(" Group Search Fields: %s" % result.get('ipagroupsearchfields')) - - textui.print_plain("") - - textui.print_plain("User Settings") - textui.print_plain(" Max. Username Length: %s" % result.get('ipamaxusernamelength')) - textui.print_plain(" Root for Home Directories: %s" % result.get('ipahomesrootdir')) - textui.print_plain(" Default Shell: %s" % result.get('ipadefaultloginshell')) - textui.print_plain(" Default User Group: %s" % result.get('ipadefaultprimarygroup')) - textui.print_plain("Default E-mail Domain: %s" % result.get('ipadefaultemaildomain')) - -api.register(defaultoptions_show) |