Re: [Freeipa-devel] [PATCH] 744 webui: switch associators if default doesn't work
On 4.9.2014 20:33, Endi Sukma Dewata wrote: On 8/22/2014 11:29 AM, Petr Vobornik wrote: Ticket: https://fedorahosted.org/freeipa/ticket/4507 Support for delegating RBAC roles to service principals added new attribute members. [1][2] Most of Web UI was automatically extended but the defaults chose wrong associator for service's memberof_role facet traditionally it would be solved by { $type: 'association', name: 'memberof_role', associator: IPA.serial_associator } This patch tries to make the auto-magic functionality little bit less stupid to eliminate a need for ^^ patches. It's far from perfect - doesn't support things like: { $type: 'association', name: 'memberof_sudorule', associator: IPA.serial_associator, add_method: 'add_user', remove_method: 'remove_user' } [1] https://git.fedorahosted.org/cgit/freeipa.git/commit/?id=8fabd6dde152fc394bd4f093d93c8a46e5b2851b [2] https://fedorahosted.org/freeipa/ticket/3164 ACK. Pushed to: master: f70eafaedbdc4a511338979198f9459ee5b47807 ipa-4-1: cb2dc9c5efaee6344daa32a9717336345a22f022 -- Petr Vobornik ___ Freeipa-devel mailing list Freeipa-devel@redhat.com https://www.redhat.com/mailman/listinfo/freeipa-devel
Re: [Freeipa-devel] [PATCH] 744 webui: switch associators if default doesn't work
On 8/22/2014 11:29 AM, Petr Vobornik wrote: Ticket: https://fedorahosted.org/freeipa/ticket/4507 Support for delegating RBAC roles to service principals added new attribute members. [1][2] Most of Web UI was automatically extended but the defaults chose wrong associator for service's memberof_role facet traditionally it would be solved by { $type: 'association', name: 'memberof_role', associator: IPA.serial_associator } This patch tries to make the auto-magic functionality little bit less stupid to eliminate a need for ^^ patches. It's far from perfect - doesn't support things like: { $type: 'association', name: 'memberof_sudorule', associator: IPA.serial_associator, add_method: 'add_user', remove_method: 'remove_user' } [1] https://git.fedorahosted.org/cgit/freeipa.git/commit/?id=8fabd6dde152fc394bd4f093d93c8a46e5b2851b [2] https://fedorahosted.org/freeipa/ticket/3164 ACK. -- Endi S. Dewata ___ Freeipa-devel mailing list Freeipa-devel@redhat.com https://www.redhat.com/mailman/listinfo/freeipa-devel
[Freeipa-devel] [PATCH] 744 webui: switch associators if default doesn't work
Ticket: https://fedorahosted.org/freeipa/ticket/4507 Support for delegating RBAC roles to service principals added new attribute members. [1][2] Most of Web UI was automatically extended but the defaults chose wrong associator for service's memberof_role facet traditionally it would be solved by { $type: 'association', name: 'memberof_role', associator: IPA.serial_associator } This patch tries to make the auto-magic functionality little bit less stupid to eliminate a need for ^^ patches. It's far from perfect - doesn't support things like: { $type: 'association', name: 'memberof_sudorule', associator: IPA.serial_associator, add_method: 'add_user', remove_method: 'remove_user' } [1] https://git.fedorahosted.org/cgit/freeipa.git/commit/?id=8fabd6dde152fc394bd4f093d93c8a46e5b2851b [2] https://fedorahosted.org/freeipa/ticket/3164 -- Petr Vobornik From 21d2df52e89f4e6fb3576f9e81e6e7e3c094fee1 Mon Sep 17 00:00:00 2001 From: Petr Vobornik Date: Fri, 22 Aug 2014 17:58:48 +0200 Subject: [PATCH] webui: switch associators if default doesn't work Make association auto-magic little bit less stupid. Now it supports adding of new attribute member with add_member and remove_member methods only on one side of the relationship. https://fedorahosted.org/freeipa/ticket/4507 --- install/ui/src/freeipa/association.js | 10 ++ 1 file changed, 10 insertions(+) diff --git a/install/ui/src/freeipa/association.js b/install/ui/src/freeipa/association.js index b78903ad734af6488cd9902bc5af2885f99c6bb3..8fe612e913c3fc8bb8c2fa86423eb4b46f224ddc 100644 --- a/install/ui/src/freeipa/association.js +++ b/install/ui/src/freeipa/association.js @@ -826,6 +826,16 @@ exp.association_facet_pre_op = function(spec, context) { spec.other_entity = spec.other_entity || spec.name.substring(index+1); +if (!spec.associator) { +// batch associator (default) calls entity_command, serial associator +// calls other_entity_command --> if entity doesn't support the command, +// switch associators to try the other_entity +var add_command = spec.add_command || 'add_member'; +if (!metadata_provider.get('@mc:'+entity.name+'_'+add_command)) { +spec.associator = IPA.serial_associator; +} +} + spec.add_title = '@i18n:association.add.'+spec.attribute_member; spec.remove_title = '@i18n:association.remove.'+spec.attribute_member; -- 1.9.3 ___ Freeipa-devel mailing list Freeipa-devel@redhat.com https://www.redhat.com/mailman/listinfo/freeipa-devel