freeipa/ipalib/plugins
Petr Vobornik 0d05a50e19 webui: field and widget binding refactoring
This is a Web UI wide change. Fields and Widgets binding was refactored
to enable proper two-way binding between them. This should allow to have
one source of truth (field) for multiple consumers - widgets or something
else. One of the goal is to have fields and widget implementations
independent on each other. So that one could use a widget without field
or use one field for multiple widgets, etc..

Basically a fields logic was split into separate components:
- adapters
- parsers & formatters
- binder

Adapters
- extract data from data source (FreeIPA RPC command result)
- prepares them for commands.

Parsers
- parse extracted data to format expected by field
- parse widget value to format expected by field

Formatters
- format field value to format suitable for widgets
- format field value to format suitable for adapter

Binder
- is a communication bridge between field and widget
- listens to field's and widget's events and call appropriate methods

Some side benefits:
- better validation reporting in multivalued widget

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
2014-04-03 12:40:37 +02:00
..
__init__.py Change FreeIPA license to GPLv3+ 2010-12-20 17:19:53 -05:00
aci.py Convert remaining frontend code to LDAPEntry API. 2014-01-24 20:38:15 +01:00
automember.py Convert remaining frontend code to LDAPEntry API. 2014-01-24 20:38:15 +01:00
automount.py Convert remaining frontend code to LDAPEntry API. 2014-01-24 20:38:15 +01:00
baseldap.py Add Object metadata and update plugin for managed permissions 2014-03-25 14:18:12 +01:00
batch.py Add the version option to all Commands 2013-02-21 16:26:09 +01:00
cert.py Remove unused function get_subjectaltname from the cert plugin. 2014-03-25 16:54:55 +01:00
config.py Convert remaining frontend code to LDAPEntry API. 2014-01-24 20:38:15 +01:00
delegation.py Update plugin docstrings (topic help) to reflect dropped CSV support 2013-02-22 17:20:35 +01:00
dns.py Add permission_filter_objectclasses for explicit type filters 2014-02-20 13:11:41 +01:00
group.py Add permission_filter_objectclasses for explicit type filters 2014-02-20 13:11:41 +01:00
hbacrule.py Remove sourcehostcategory from the default HBAC rule. 2014-02-06 16:46:24 +01:00
hbacsvc.py ticket 1669 - improve i18n docstring extraction 2011-08-24 23:13:16 -04:00
hbacsvcgroup.py Improve help text for HBAC service groups 2013-04-18 17:29:07 -04:00
hbactest.py Convert remaining frontend code to LDAPEntry API. 2014-01-24 20:38:15 +01:00
host.py Add permission_filter_objectclasses for explicit type filters 2014-02-20 13:11:41 +01:00
hostgroup.py Add permission_filter_objectclasses for explicit type filters 2014-02-20 13:11:41 +01:00
idrange.py Prohibit deletion of active subdomain range 2014-03-13 18:12:13 +01:00
internal.py webui: field and widget binding refactoring 2014-04-03 12:40:37 +02:00
kerberos.py Use fully qualified CCACHE names 2013-02-01 08:13:50 +01:00
krbtpolicy.py Convert remaining frontend code to LDAPEntry API. 2014-01-24 20:38:15 +01:00
migration.py Migration does not add users to default group 2014-02-05 16:47:37 +01:00
misc.py ticket 1669 - improve i18n docstring extraction 2011-08-24 23:13:16 -04:00
netgroup.py Add Object metadata and update plugin for managed permissions 2014-03-25 14:18:12 +01:00
otptoken.py Fix token secret length RFC compliance 2014-03-05 10:09:16 +01:00
passwd.py Convert remaining frontend code to LDAPEntry API. 2014-01-24 20:38:15 +01:00
permission.py permission plugin: Add 'top' to the list of object classes 2014-03-25 14:18:13 +01:00
ping.py Allow API plugin registration via a decorator 2013-08-14 12:08:27 +02:00
pkinit.py Convert remaining frontend code to LDAPEntry API. 2014-01-24 20:38:15 +01:00
privilege.py Allow anonymous and all permissions 2014-01-07 09:56:41 +01:00
pwpolicy.py Convert remaining frontend code to LDAPEntry API. 2014-01-24 20:38:15 +01:00
radiusproxy.py Add RADIUS proxy support to ipalib CLI 2013-12-03 14:49:10 +01:00
realmdomains.py Convert remaining frontend code to LDAPEntry API. 2014-01-24 20:38:15 +01:00
role.py Only apply validation rules when adding and updating. 2012-02-29 18:00:45 -05:00
rpcclient.py Switch client to JSON-RPC 2013-11-26 16:59:59 +01:00
selfservice.py Update plugin docstrings (topic help) to reflect dropped CSV support 2013-02-22 17:20:35 +01:00
selinuxusermap.py Convert remaining frontend code to LDAPEntry API. 2014-01-24 20:38:15 +01:00
service.py Add permission_filter_objectclasses for explicit type filters 2014-02-20 13:11:41 +01:00
sudocmd.py Convert remaining frontend code to LDAPEntry API. 2014-01-24 20:38:15 +01:00
sudocmdgroup.py Update plugin docstrings (topic help) to reflect dropped CSV support 2013-02-22 17:20:35 +01:00
sudorule.py Convert remaining frontend code to LDAPEntry API. 2014-01-24 20:38:15 +01:00
trust.py trust: do not fetch subdomains in case shared secret was used to set up the trust 2014-03-12 18:16:52 +01:00
user.py Extending user plugin with inetOrgPerson fields 2014-03-28 12:38:50 +01:00
virtual.py Internationalization for public errors 2012-09-03 18:16:12 +02:00