freeipa/ipalib
Petr Vobornik 14ac2193fe Add and remove dns per-domain permission in Web UI
This patch adds support for new per-domain permissions to Web UI.

User with assigned permission (through role,priviledge) can edit DNS zone. These permissions can be added/remove by ipa dnszone-{add/remove}permission $dnszone command.

For adding/removing of this permission in Web UI new actions in DNS zone action list were created. DNS zone object doesn't contain information about existance of related permission. Such information is required for enabling/disabling of new actions. Web UI has to search for the permission to get it. DNS zone facet was modified to use batch command, in a same way as user facet, for loading dnszone and the permission at the same time - on load.

Batch command has a feature to report all errors. Such behavior is unwanted because we expect that permission-show command will fail when the permission doesn't exist. Batch command was therefore modified to not report commands which has retry attribute set to false. This attr was chosen because it has similar purpose in single command execution.

New actions should be enabled only for users with appropriate rights. It is not possible to obtain rights for certain action in advance so an approximation is used: write right for dns zones' managedby attribute.

https://fedorahosted.org/freeipa/ticket/2851
2012-07-11 16:33:10 +02:00
..
plugins Add and remove dns per-domain permission in Web UI 2012-07-11 16:33:10 +02:00
__init__.py Add CLI parsing tests 2012-03-28 15:25:33 +02:00
aci.py Fix uninitialized attributes. 2011-04-21 10:41:29 +02:00
backend.py Add CLI parsing tests 2012-03-28 15:25:33 +02:00
base.py Change FreeIPA license to GPLv3+ 2010-12-20 17:19:53 -05:00
cli.py Rework the CallbackInterface 2012-06-14 11:09:43 +02:00
config.py Finalize plugin initialization on demand. 2011-11-22 00:52:24 -05:00
constants.py Centralize timeout for waiting for servers to start. 2012-07-02 17:08:58 -04:00
crud.py Enforce that required attributes can't be set to None in CRUD Update 2012-03-12 17:16:14 +01:00
dn.py Fix attempted write to attribute of read-only object. 2012-01-02 11:51:26 +03:00
encoder.py Redo boolean value encoding. 2012-05-09 09:43:35 +02:00
errors.py Add support for external group members 2012-06-28 16:53:33 +02:00
frontend.py Improve output validation 2012-06-25 22:04:14 -04:00
krb_utils.py Fix ticket checks when using either s4u2proxy or a delegated krbtgt 2012-03-01 00:56:01 -05:00
output.py Typo fixes 2012-06-25 21:35:11 -04:00
parameters.py Decimal parameter conversion and normalization 2012-06-17 21:59:54 -04:00
pkcs10.py Fix assorted bugs found by pylint 2011-01-25 14:01:36 -05:00
plugable.py Disallow setattr on no_update/no_create params 2012-05-29 09:23:26 +02:00
request.py Remove deprecated i18n code from ipalib/request and all references to it. 2011-03-01 10:31:36 -05:00
rpc.py Store session cookie in ccache for cli users 2012-06-14 14:02:26 +02:00
session.py Implement password based session login 2012-02-27 05:57:43 -05:00
text.py Fix regressions introduced by pylint false positive fixes. 2011-05-11 16:50:01 +02:00
util.py Fill new DNS zone update policy by default 2012-06-05 08:41:46 +02:00
x509.py Fix uses of O=REALM instead of the configured certificate subject base. 2012-03-26 20:29:26 -04:00