summaryrefslogtreecommitdiffstats
path: root/ipalib/frontend.py
Commit message (Collapse)AuthorAgeFilesLines
* Display the entries that failed when deleting with --continue.Rob Crittenden2011-01-101-4/+5
| | | | | | | | | | | | We collected the failures but didn't report it back. This changes the API of most delete commands so rather than returning a boolean it returns a dict with the only current key as failed. This also adds a new parameter flag, suppress_empty. This will try to not print values that are empty if included. This makes the output of the delete commands a bit prettier. ticket 687
* Change FreeIPA license to GPLv3+Jakub Hrozek2010-12-201-5/+5
| | | | | | | | | | The changes include: * Change license blobs in source files to mention GPLv3+ not GPLv2 only * Add GPLv3+ license text * Package COPYING not LICENSE as the license blobs (even the old ones) mention COPYING specifically, it is also more common, I think https://fedorahosted.org/freeipa/ticket/239
* Properly handle multi-valued attributes when using setattr/addattr.Rob Crittenden2010-12-101-2/+8
| | | | | | | | | | | | The problem was that the normalizer was returning each value as a tuple which we were then appending to a list, so it looked like [(u'value1',), (u'value2',),...]. If there was a single value we could end up adding a tuple to a list which would fail. Additionally python-ldap doesn't like lists of lists so it was failing later in the process as well. I've added some simple tests for setattr and addattr. ticket 565
* Normalize and convert default params, tooJakub Hrozek2010-12-021-1/+1
| | | | https://fedorahosted.org/freeipa/ticket/555
* Clarify the description of --raw and -allJakub Hrozek2010-11-081-4/+4
| | | | https://fedorahosted.org/freeipa/ticket/244
* Return reason for failure when updating group membership fails.Rob Crittenden2010-10-281-17/+17
| | | | | | | | | | | We used to return a list of dns that failed to be added. We now return a list of tuples instead. The tuple looks like (dn, reason) where reason is the exception that was returned. Also made the label we use for failures to be singular instead of plural since we now print them out individually instead of as comma-separated. ticket 270
* Use context to decide which name to return on RequirementsErrorsRob Crittenden2010-10-281-1/+1
| | | | | | | | | | | | | | When a Requirement fails we throw an exception including the name of the field that is missing. To make the command-line friendlier we have a cli_name defined which may or may not match the LDAP attribute. This can be confusing if you are using ipalib directly because the attribute name missing may not match what is actually required (desc vs description is a good example). If you use the context 'cli' then it will throw exceptions using cli_name. If you use any other context it will use the name of the attribute. ticket 187
* Disallow RDN change and single-value bypass using setattr/addattr.Pavel Zuna2010-10-181-1/+1
| | | | | | | | | | | When setting or adding an attribute wiht setatt/addattr check to see if there is a Param for the attribute and enforce the multi-value. If there is no Param check the LDAP schema for SINGLE-VALUE. Catch RDN mods and try to return a more reasonable error message. Ticket #230 Ticket #246
* Return non-zero when the number of entries from *-find returned is zero.Rob Crittenden2010-10-131-1/+3
| | | | ticket 325
* Return non-zero when group membership change fails, no empty fail list.Rob Crittenden2010-10-081-0/+26
| | | | | | | | | There is no point (and it is confusing) to print an empty list when modifying group membership fails, so suppress it. If any membership change fails we should return non-zero. tickets 271, 273, 274
* Add support for client failover to the ipa command-line.Rob Crittenden2010-08-161-0/+15
| | | | | | | | | | | | This adds a new global option to the ipa command, -f/--no-fallback. If this is included then just the server configured in /etc/ipa/default.conf is used. Otherwise that is tried first then all servers in DNS with the ldap SRV record are tried. Create a new Local() Command class for local-only commands. The help command is one of these. It shouldn't need a remote connection to execute. ticket #15
* Change the behaviour of addattr/setattr parameters.Adam Young2010-08-131-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | setattr and addattr can now be used both to set all values of ANY attribute. the last setattr always resets the attribute to the specified value and all addattr append to it. Examples: user-mod testuser --setattr=title=msc title: msc user-mod testuser --setattr=title=msb title: msb user-mod testuser --addattr=title=msc title: msb, msc user-mod testuser --setattr=title= title: user-mod testuser --setattr=title=msc --addattr=msb title: msc, msb user-mod testuser --setattr=title=ing --addattr=bc title: ing, bc user-mod testuser --setattr=title=doc title: doc It's not very user friendly, but it's going to be used very very rarely in special conditions in the CLI and we can use it to save lots of JSON-RPC roundtrips in the webUI. This version includes calling the validation of Params during the setting of the attrs.
* Include contents of has_output_params in get_output_paramsRob Crittenden2010-07-131-0/+2
|
* Fix output of summary and embedded dictionariesRob Crittenden2010-05-031-3/+3
| | | | | | | Summaries were appearing as "Gettext(...") Embedded dictionaries, such as group membership failures, didn't have labels so were basically just being dumped.
* Fix output for commands that do not return entries.Pavel Zuna2010-03-261-3/+24
| | | | | | | | | | | | I also changed the default value of the print_all argument in textui.print_entry from False to True. It think it makes more sense this way, because: 1) if order is None, it will still print something 2) if order is not None, it will print what's in order first and then the rest 3) commands that care about the print_all argument have to set it in any case, those that don't care usually want to print everything
* Add INTERNAL flag to frontend plugins. If set, the plugin won't show in UI.Pavel Zuna2010-03-221-0/+3
|
* Include params in Method.output_paramsRob Crittenden2010-03-191-0/+9
| | | | | | | | Method overrides the Command get_output_params() method and only returns the object params, not anything defined within the method itself. Return those as well so they are displayed in output. Some care needs to be taken to avoid returning duplicate values. In the case of duplicates the value in obj.params wins.
* localize doc stringsJohn Dennis2010-03-081-3/+3
| | | | | | | | | | | | A number of doc strings were not localized, wrap them in _(). Some messages were not localized, wrap them in _() Fix a couple of failing tests: The method name in RPC should not be unicode. The doc attribute must use the .msg attribute for comparison. Also clean up imports of _() The import should come from ipalib or ipalib.text, not ugettext from request.
* Fix unicode failures in Env tests and dn failures in XML-RPC testsRob Crittenden2010-02-261-1/+1
|
* Translatable Param.label, Param.docJason Gerard DeRose2010-02-241-1/+1
|
* Auto-generate --all and --raw for commands, that return entries.Pavel Zuna2010-02-171-7/+28
|
* Use the Output tuple to determine the order of outputRob Crittenden2010-02-151-9/+20
| | | | | | | | | | | | | | The attributes displayed is now dependant upon their definition in a Param. This enhances that, giving some level of control over how the result is displayed to the user. This also fixes displaying group membership, including failures of adding/removing entries. All tests pass now though there is still one problem. We need to return the dn as well. Once that is fixed we just need to comment out all the dn entries in the tests and they should once again pass.
* Add Object.label class attribute, enable in webUIJason Gerard DeRose2010-02-121-0/+3
|
* Command.output_params not contains params in Command.paramsJason Gerard DeRose2010-02-111-0/+7
|
* Remove __public__ and __proxy__ hold-overs from Plugin classJason Gerard DeRose2010-01-281-35/+0
|
* Take 2: Extensible return values and validation; steps toward a single ↵Jason Gerard DeRose2009-12-101-20/+125
| | | | output_for_cli(); enable more webUI stuff
* Add support for setting/adding arbitrary attributesRob Crittenden2009-11-171-0/+45
| | | | | | | | | | | | | | | | | | | | | | | This introduces 2 new params: --setattr and --addattr Both take a name/value pair, ala: ipa user-mod --setattr=postalcode=20601 jsmith --setattr replaces or sets the current attribute to the value --addattr adds the value to an attribute (or sets a new attribute) OptionsParser allows multiple versions of this, so you can have multiple setattr and addattr, either for the same attribute or for different attributes. ipa user-mod --addattr=postalcode=20601 --addattr=postalcode=30330 jsmith Values are silent dropped if either of these on an existing param: ipa user-mod --setattr=givenname=Jerry jsmith Is a no-op.
* Removed util.add_global_options() and frontend.ApplicationJason Gerard DeRose2009-10-141-41/+0
|
* Giant webui patch take 2Jason Gerard DeRose2009-10-131-0/+1
|
* Fix: Object.params_minus_pk was invalid when there was no primary_key.Pavel Zuna2009-09-091-0/+2
|
* Removed PluginProxy and all its usesJason Gerard DeRose2009-08-051-6/+6
|
* Remove use_ldap2 constant.Pavel Zuna2009-07-021-15/+7
|
* Make get_dn parameter list more generic. Fix Attribute name regex.Pavel Zuna2009-06-101-3/+3
| | | | | The old name regex made it impossible to have Attribute instances with names composed of more than two words separated by underscores.
* Completed Param.use_in_context() functionality, which is now used by Command ↵Jason Gerard DeRose2009-05-211-71/+249
| | | | and Object
* Added Param 'include' and 'exclude' kwargs; added frontend.UsesParams base ↵Jason Gerard DeRose2009-05-191-1/+106
| | | | class with methods implementing the filtering to restrict params to only certain contexts
* Import the RequiresRoot error and make note to replace this at some pointRob Crittenden2009-04-241-1/+1
|
* Rename errors2.py to errors.py. Modify all affected files.Pavel Zuna2009-04-231-2/+2
|
* Add conditional (env.use_ldap2 is True) modifications required by new LDAP ↵Pavel Zuna2009-04-221-6/+15
| | | | backend.
* Add ipalib.frontend.Command method to build an entry from params with ↵Pavel Zuna2009-02-231-0/+15
| | | | | | | | attribute=True. Often plugins need to build LDAP entries from params. This should make things a bit easier. Crud methods (Create, Retrieve, Update, Delete, Search) have attribute=True by default. And it also works for multivalue params.
* Some tweaks in user plugins, ported to new crud base classesJason Gerard DeRose2009-02-031-10/+11
|
* Got new ldap connection working using Connectible.connect()Jason Gerard DeRose2009-02-031-2/+2
|
* Removed depreciated import of errors in frontend.pyJason Gerard DeRose2009-02-031-3/+1
|
* Added ServiceError (KerberosError) and make rpc.KerbTransport raise it if ↵Jason Gerard DeRose2009-02-031-1/+4
| | | | appropriate
* Added some missing parameter unit tests; added docstring about ↵Jason Gerard DeRose2009-02-031-3/+21
| | | | Command._repr_iter() and Param.safe_value()
* More work on xmlrpc stuff, started migrated more code to use errors2 instead ↵Jason Gerard DeRose2009-02-031-7/+15
| | | | of errors
* Further migration toward new xmlrcp code; fixed problem with unicode ↵Jason Gerard DeRose2009-02-031-9/+11
| | | | Fault.faultString; fixed problem where ServerProxy method was not called correctly
* Removed bogus CLI.set_defaults() method that was causing non-required values ↵Jason Gerard DeRose2009-02-031-0/+1
| | | | to get filled in
* Added Object.params_minus() method; various small tweaksJason Gerard DeRose2009-02-031-1/+14
|
* Removed depreciated Command.args_to_kw() method; updated CLI to use ↵Jason Gerard DeRose2009-02-031-47/+9
| | | | Command.args_options_2_params() instead
* Added Command.args_options_2_params() method and its unit testsJason Gerard DeRose2009-02-031-5/+47
|