summaryrefslogtreecommitdiffstats
path: root/ipalib/frontend.py
Commit message (Collapse)AuthorAgeFilesLines
* Propagate environment when it is required.Alexander Bokovoy2011-08-171-0/+7
| | | | | https://fedorahosted.org/freeipa/ticket/1549 https://fedorahosted.org/freeipa/ticket/1550
* Add ability to specify DNS reverse zone name by IP network address.Jan Cholasta2011-07-151-1/+5
| | | | | | | In order for this to work, chaining of parameters through default_from is made possible. ticket 1474
* Fix regressions introduced by pylint false positive fixes.Jan Cholasta2011-05-111-14/+14
| | | | ticket 1198
* Fix lint false positives.Jan Cholasta2011-04-131-4/+4
|
* Fix double definition of output_for_cli.Jan Cholasta2011-04-131-1/+0
|
* Fix style and grammatical issues in built-in command help.Rob Crittenden2011-03-041-2/+2
| | | | | | | There is a rather large API.txt change but it is only due to changes in the doc string in parameters. ticket 729
* Add default success/failure output logging.Rob Crittenden2011-02-141-1/+1
| | | | | | | | | | Request logging on the server only happened if you added verbose=True or debug=True to the IPA config file. We should log the basics at least: who, what, result. Move a lot of entries from info to debug logging as well. Related to ticket 873
* Fix test failures caused by the performance patch.Rob Crittenden2011-02-101-2/+2
| | | | | | It isn't safe to assume there is an environment or mode in any given object. Only skip the extra work if the object explicitly has production in it.
* Don't perform some API self-tests in production mode for performance reasonsRob Crittenden2011-01-281-3/+4
| | | | | | | | | | | | The API does a fair number of self tests and locking to assure that the registered commands are consistent and will work. This does not need to be done on a production system and adds additional overhead causing somewhere between a 30 and 50% decrease in performance. Because makeapi is executed when a build is done ensure that it is executed in developer mode to ensure that the framework is ok. ticket 751
* Fix assorted bugs found by pylintJakub Hrozek2011-01-251-1/+1
|
* Rename INTERNAL to NO_CLI for commands we hide from the cli.Rob Crittenden2011-01-211-2/+2
| | | | | | Also make i18n_messages and json_metadata NO_CLI. ticket 821
* Add API version and have server reject incompatible clients.Rob Crittenden2011-01-141-1/+37
| | | | | | | | | | | | | | | | | | | | | | | | This patch contains 2 parts. The first part is a small utility to create and validate the current API. To do this it needs to load ipalib which on a fresh system introduces a few problems, namely that it relies on a python plugin to set the default encoding to utf8. For our purposes we can skip that. It is also important that any optional plugins be loadable so the API can be examined. The second part is a version exchange between the client and server. The version has a major and a minor version. The major verion is updated whenever existing API changes. The minor version is updated when new API is added. A request will be rejected if either the major versions don't match or if the client major version is higher than then server major version (though by implication new API would return a command not found if allowed to proceed). To determine the API version of the server from a client use the ping command. ticket 584
* 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.