From 82e69e430009d8b47e45dadd6895af1d71ecd1dd Mon Sep 17 00:00:00 2001 From: Pavel Vomacka Date: Fri, 22 Apr 2016 12:59:30 +0200 Subject: Add new certificates widget to the service details page https://fedorahosted.org/freeipa/ticket/5108 https://fedorahosted.org/freeipa/ticket/5381 Reviewed-By: Petr Vobornik --- install/ui/src/freeipa/service.js | 53 ++++++++++++++++++++++++++++----------- 1 file changed, 38 insertions(+), 15 deletions(-) diff --git a/install/ui/src/freeipa/service.js b/install/ui/src/freeipa/service.js index 6f8e4efbd..4ef233cfe 100644 --- a/install/ui/src/freeipa/service.js +++ b/install/ui/src/freeipa/service.js @@ -21,6 +21,7 @@ define([ 'dojo/_base/declare', './field', + './builder', './ipa', './jquery', './phases', @@ -31,7 +32,7 @@ define([ './search', './association', './entity'], - function(declare, field_mod, IPA, $, phases, reg, rpc, text) { + function(declare, field_mod, builder, IPA, $, phases, reg, rpc, text) { var exp =IPA.service = {}; @@ -154,8 +155,12 @@ return { name: 'certificate', fields: [ { - $type: 'certificate', - name: 'usercertificate' + $type: 'certs', + adapter: { + $type: 'object_adapter', + result_index: 1 + }, + label: '@i18n:objects.cert.certificates' } ] }, @@ -318,7 +323,11 @@ return { ], state: { evaluators: [ - IPA.service.has_keytab_evaluator, + { + $factory: IPA.has_keytab_evaluator, + param: 'has_keytab', + adapter: { $type: 'batch', result_index: 0 } + }, IPA.service.krbprincipalkey_acl_evaluator, IPA.cert.certificate_evaluator ] @@ -388,6 +397,31 @@ IPA.service.details_facet = function(spec, no_init) { that.certificate_loaded = IPA.observer(); that.certificate_updated = IPA.observer(); + that.create_refresh_command = function() { + var pkey = that.get_pkey(); + + var batch = rpc.batch_command({ + name: 'services_details_refresh' + }); + + var service_command = that.details_facet_create_refresh_command(); + batch.add_command(service_command); + + var certificates = rpc.command({ + entity: 'cert', + method: 'find', + retry: false, + options: { + service: [ pkey ], + all: true + } + }); + + batch.add_command(certificates); + + return batch; + }; + if (!no_init) that.init_details_facet(); return that; @@ -600,17 +634,6 @@ IPA.service.krbprincipalkey_acl_evaluator = function(spec) { return that; }; -IPA.service.has_keytab_evaluator = function(spec) { - - spec.name = spec.name || 'has_keytab_evaluator'; - spec.attribute = spec.attribute || 'has_keytab'; - spec.value = spec.value || [true]; - spec.representation = spec.representation || 'has_keytab'; - - var that = IPA.value_state_evaluator(spec); - return that; -}; - IPA.service.certificate_policy = function(spec) { spec = spec || {}; -- cgit