Commit Graph

39 Commits

Author SHA1 Message Date
Jan Zeleny
6cca48cb59 Add flags to enforce asking for object attribute
So far the only flag to enforce asking in interactive mode was the
alwaysask attribute, which is not sufficient any more. This patch adds
the ability to control for which actions the atrribute shall be asked
for.
2011-01-26 09:29:39 -05:00
Rob Crittenden
c69d8084c1 Add API version and have server reject incompatible clients.
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
2011-01-14 14:26:22 -05:00
Pavel Zuna
1af89d0daa Retype (when cloning) Flag parameters to Bool for search commands.
Flag parameters are always autofill by definition, causing unexpected
search results. This patch retypes them to Bool for search commands,
so that users have to/can enter the desired value manually.

Ticket #689
Ticket #701
2011-01-10 12:07:19 -05:00
Jakub Hrozek
7493d781df Change FreeIPA license to GPLv3+
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
2010-12-20 17:19:53 -05:00
Jason Gerard DeRose
47f2e618f9 Fix non XML-RPC tests 2010-02-19 18:10:37 -05:00
Jason Gerard DeRose
c43b69e77c Add support for the 'no_create', 'no_update', and 'no_search' Param flags 2010-02-05 14:32:04 -05:00
Jason Gerard DeRose
b6e4972e7f Take 2: Extensible return values and validation; steps toward a single output_for_cli(); enable more webUI stuff 2009-12-10 08:29:15 -07:00
Rob Crittenden
97dfa586de Make primary_key optional.
The pwpolicy plugin doesn't have a primary key but can still take advantage
of other parts of the framework.
2009-10-05 13:28:24 -06:00
Pavel Zuna
6f37d139cb Remove obsolete CRUD base classes as they aren't used anymore. 2009-09-08 13:43:33 -04:00
Pavel Zuna
8edaff5266 Generate crud.Search arguments with get_args. 2009-06-10 11:53:20 -04:00
Pavel Zuna
a92e440218 Clone options of crud.Update and crud.Search with autofill=False. 2009-05-26 13:36:58 -04:00
Pavel Zuna
016b82250e Add ipalib.frontend.Command method to build an entry from params with 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.
2009-02-23 13:49:21 -05:00
Jason Gerard DeRose
92a150b4f1 Some tweaks in user plugins, ported to new crud base classes 2009-02-03 15:29:05 -05:00
Jason Gerard DeRose
db0168f7af Started reworking CLI class into cli plugin 2009-02-03 15:29:03 -05:00
Jason Gerard DeRose
6aadeb9aea Added Object.params_minus() method; various small tweaks 2009-02-03 15:29:00 -05:00
Jason Gerard DeRose
4febb4dd14 Started roughing out new crud base classes 2009-02-03 15:28:59 -05:00
Jason Gerard DeRose
cd3508bace New Param: added Param.query kwarg for crud operations like Retrieve and Search where criteria should not be validated 2009-01-14 14:04:05 -07:00
Jason Gerard DeRose
79422d0489 All unit tests now working (except for doctests and Rob's xmlrpc tests) 2009-01-14 13:51:37 -07:00
Rob Crittenden
f18c84444d Partially revert back change. Del shouldn't provide default options.
It can provide custom ones though, if defined with takes_params() in the class.
2008-11-03 13:14:46 -05:00
Rob Crittenden
62876ccee3 Initial implementation of automount support
Add argument handling to crud.Del
Make get_list handle LDAP scope
2008-10-30 17:29:22 -04:00
Rob Crittenden
d2b46f176e Use common display function for user-show and user-find.
Add --all option to user-find
Fix command-line help to make sense on searches as well
2008-10-23 14:36:24 -04:00
Rob Crittenden
e7937f2944 Add missing * to *kw to make it pass named arguments instead of positional 2008-10-15 09:57:49 -04:00
Rob Crittenden
cfc8450efd Port user-show to new CrudBackend framework 2008-10-14 22:22:01 -04:00
Jason Gerard DeRose
225e2b0c93 Added CrudBackend abstract class defining generic CRUD API 2008-10-13 09:50:29 -06:00
Jason Gerard DeRose
87390665f6 crud.Add.get_args() and get_options() now yield static values in takes_args, takes_options after the automagic ones 2008-10-09 11:33:35 -06:00
Jason Gerard DeRose
7ee0ccd90d Fixed unit tests; changed example.py so it doesn't import servercore 2008-09-30 20:27:52 -06:00
Rob Crittenden
b965e558b5 Rebase XML-RPC client and server
Fix error handling in server to return exceptions generated in library code
2008-09-30 19:37:35 -06:00
Jason Gerard DeRose
55ba8e9d0b 365: Implemented find.get_args(), find.get_options(); added corresponding unit tests 2008-09-25 03:47:22 +00:00
Jason Gerard DeRose
ddbe3ae934 364: Implemented Mod.get_args, Mod.get_options(); added corresponding unit tests 2008-09-25 03:42:38 +00:00
Jason Gerard DeRose
c303a06a94 362: Implemented Get.get_args() and Del.get_args(); added corresponding unit tests 2008-09-25 03:14:12 +00:00
Jason Gerard DeRose
023f612921 361: Implemented crud.Add.get_options() method; added corresponding unit tests 2008-09-25 02:13:16 +00:00
Jason Gerard DeRose
5479a349a8 346: Added skeleton framework for crud.py module and corresponding test_crud.py module 2008-09-24 20:17:53 +00:00
Jason Gerard DeRose
293b31ac75 60: Remeved depreciated base.py, crud.py; remeved corresponding test_base.py, test_crud.py 2008-08-06 14:30:21 +00:00
Jason Gerard DeRose
48c7da47c7 25: Updated plugin examples, ipa script 2008-07-20 23:43:16 +00:00
Jason Gerard DeRose
9b3e2f5cec 18: Moved base2 stuff into base 2008-07-20 18:10:08 +00:00
Jason Gerard DeRose
700d58ac1e 11: Added submodules needed to triger the plugin loading, etc., so I can start work on the cli demo 2008-07-20 02:03:15 +00:00
Jason Gerard DeRose
7acf12e988 10: Updated base.API to reflect the fact that base.Object is now the new unit of plugin functionality; updated corresponding unit tests 2008-07-20 01:29:59 +00:00
Jason Gerard DeRose
ccd8eb3373 9: Reorganized new work and unit tests based around base.Object being the plugin definining unit 2008-07-19 23:40:23 +00:00
Jason Gerard DeRose
e76160b01d 8: Experimental work on more OO definition of what gets pluged into API.commands 2008-07-19 21:51:07 +00:00