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 <pvoborni@redhat.com>
This commit is contained in:
Pavel Vomacka
2016-06-29 15:41:58 +02:00
committed by Petr Vobornik
parent 79ec965a96
commit 82e69e4300
+38 -15
View File
@@ -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 || {};