mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Builder and registry for actions
https://fedorahosted.org/freeipa/ticket/3235
This commit is contained in:
parent
5239d3750e
commit
5be709bf9d
@ -1312,12 +1312,19 @@ IPA.register('cert', IPA.cert.entity);
|
|||||||
phases.on('registration', function() {
|
phases.on('registration', function() {
|
||||||
var w = reg.widget;
|
var w = reg.widget;
|
||||||
var f = reg.field;
|
var f = reg.field;
|
||||||
|
var a = reg.action;
|
||||||
|
|
||||||
w.register('certificate_status', IPA.cert.status_widget);
|
w.register('certificate_status', IPA.cert.status_widget);
|
||||||
f.register('certificate_status', IPA.cert.status_field);
|
f.register('certificate_status', IPA.cert.status_field);
|
||||||
|
|
||||||
f.register('revocation_reason', IPA.revocation_reason_field);
|
f.register('revocation_reason', IPA.revocation_reason_field);
|
||||||
w.register('revocation_reason', IPA.text_widget);
|
w.register('revocation_reason', IPA.text_widget);
|
||||||
|
|
||||||
|
a.register('cert_view', IPA.cert.view_action);
|
||||||
|
a.register('cert_get', IPA.cert.get_action);
|
||||||
|
a.register('cert_request', IPA.cert.request_action);
|
||||||
|
a.register('cert_revoke', IPA.cert.revoke_action);
|
||||||
|
a.register('cert_restore', IPA.cert.restore_action);
|
||||||
});
|
});
|
||||||
|
|
||||||
return {};
|
return {};
|
||||||
|
@ -23,7 +23,15 @@
|
|||||||
|
|
||||||
/* IPA Object Details - populating definiton lists from entry data */
|
/* IPA Object Details - populating definiton lists from entry data */
|
||||||
|
|
||||||
define(['./ipa', './jquery', './text', './facet', './add'], function(IPA, $, text) {
|
define([
|
||||||
|
'./ipa',
|
||||||
|
'./jquery',
|
||||||
|
'./phases',
|
||||||
|
'./reg',
|
||||||
|
'./text',
|
||||||
|
'./facet',
|
||||||
|
'./add'],
|
||||||
|
function(IPA, $, phases, reg, text) {
|
||||||
|
|
||||||
var exp = {};
|
var exp = {};
|
||||||
|
|
||||||
@ -1200,5 +1208,20 @@ exp.disabled_summary_cond = IPA.disabled_summary_cond = function() {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
exp.register = function() {
|
||||||
|
var a = reg.action;
|
||||||
|
|
||||||
|
a.register('select', exp.select_action);
|
||||||
|
a.register('refresh', exp.refresh_action);
|
||||||
|
a.register('reset', exp.reset_action);
|
||||||
|
a.register('update', exp.update_action);
|
||||||
|
a.register('object', exp.object_action);
|
||||||
|
a.register('enable', exp.enable_action);
|
||||||
|
a.register('disable', exp.disable_action);
|
||||||
|
a.register('delete', exp.delete_action);
|
||||||
|
};
|
||||||
|
|
||||||
|
phases.on('registration', exp.register);
|
||||||
|
|
||||||
return exp;
|
return exp;
|
||||||
});
|
});
|
@ -2536,6 +2536,7 @@ phases.on('registration', function() {
|
|||||||
var w = reg.widget;
|
var w = reg.widget;
|
||||||
var f = reg.field;
|
var f = reg.field;
|
||||||
var v = reg.validator;
|
var v = reg.validator;
|
||||||
|
var a = reg.action;
|
||||||
|
|
||||||
w.register('dnszone_name', IPA.dnszone_name_widget);
|
w.register('dnszone_name', IPA.dnszone_name_widget);
|
||||||
w.register('force_dnszone_add_checkbox', IPA.force_dnszone_add_checkbox_widget);
|
w.register('force_dnszone_add_checkbox', IPA.force_dnszone_add_checkbox_widget);
|
||||||
@ -2554,6 +2555,9 @@ phases.on('registration', function() {
|
|||||||
v.register('ip_v6_address', IPA.ip_v6_address_validator);
|
v.register('ip_v6_address', IPA.ip_v6_address_validator);
|
||||||
v.register('dnsforwarder', IPA.dnsforwarder_validator);
|
v.register('dnsforwarder', IPA.dnsforwarder_validator);
|
||||||
v.register('network', IPA.network_validator);
|
v.register('network', IPA.network_validator);
|
||||||
|
|
||||||
|
a.register('dns_add_permission', IPA.dns.add_permission_action);
|
||||||
|
a.register('dns_remove_permission', IPA.dns.remove_permission_action);
|
||||||
});
|
});
|
||||||
|
|
||||||
return {};
|
return {};
|
||||||
|
@ -28,19 +28,20 @@ define([
|
|||||||
'dojo/on',
|
'dojo/on',
|
||||||
'dojo/Stateful',
|
'dojo/Stateful',
|
||||||
'dojo/Evented',
|
'dojo/Evented',
|
||||||
'./_base/Builder',
|
'./builder',
|
||||||
'./facets',
|
'./facets',
|
||||||
'./ipa',
|
'./ipa',
|
||||||
'./jquery',
|
'./jquery',
|
||||||
'./navigation',
|
'./navigation',
|
||||||
'./phases',
|
'./phases',
|
||||||
|
'./reg',
|
||||||
'./spec_util',
|
'./spec_util',
|
||||||
'./text',
|
'./text',
|
||||||
'./dialog',
|
'./dialog',
|
||||||
'./field',
|
'./field',
|
||||||
'./widget'
|
'./widget'
|
||||||
], function(declare, lang, construct, on, Stateful, Evented,
|
], function(declare, lang, construct, on, Stateful, Evented,
|
||||||
Builder, facets, IPA, $, navigation, phases, su, text) {
|
builder, facets, IPA, $, navigation, phases, reg, su, text) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Facet represents the content of currently displayed page.
|
* Facet represents the content of currently displayed page.
|
||||||
@ -121,8 +122,8 @@ exp.facet = IPA.facet = function(spec, no_init) {
|
|||||||
that.disable_breadcrumb = spec.disable_breadcrumb;
|
that.disable_breadcrumb = spec.disable_breadcrumb;
|
||||||
that.disable_facet_tabs = spec.disable_facet_tabs;
|
that.disable_facet_tabs = spec.disable_facet_tabs;
|
||||||
|
|
||||||
that.action_state = IPA.build(spec.state || {}, {}, { $factory: exp.state });
|
that.action_state = builder.build('', spec.state || {}, {}, { $factory: exp.state });
|
||||||
that.actions = exp.action_holder_builder.build({ actions: spec.actions });
|
that.actions = builder.build('', { actions: spec.actions }, {}, { $factory: exp.action_holder } );
|
||||||
|
|
||||||
that.header_actions = spec.header_actions;
|
that.header_actions = spec.header_actions;
|
||||||
that.header = spec.header || IPA.facet_header({ facet: that });
|
that.header = spec.header || IPA.facet_header({ facet: that });
|
||||||
@ -1728,7 +1729,7 @@ exp.action_holder = IPA.action_holder = function(spec) {
|
|||||||
var i, action, actions;
|
var i, action, actions;
|
||||||
|
|
||||||
that.facet = facet;
|
that.facet = facet;
|
||||||
actions = exp.action_builder.build(spec.actions) || [];
|
actions = builder.build('action', spec.actions) || [];
|
||||||
|
|
||||||
for (i=0; i<actions.length; i++) {
|
for (i=0; i<actions.length; i++) {
|
||||||
action = actions[i];
|
action = actions[i];
|
||||||
@ -1783,8 +1784,8 @@ exp.state = IPA.state = function(spec) {
|
|||||||
//when state changes. Params: state, Context: this
|
//when state changes. Params: state, Context: this
|
||||||
that.changed = IPA.observer();
|
that.changed = IPA.observer();
|
||||||
|
|
||||||
that.evaluators = exp.state_evaluator_builder.build(spec.evaluators) || [];
|
that.evaluators = builder.build('state_evaluator', spec.evaluators) || [];
|
||||||
that.summary_evaluator = IPA.build(spec.summary_evaluator || IPA.summary_evaluator);
|
that.summary_evaluator = builder.build('', spec.summary_evaluator || IPA.summary_evaluator);
|
||||||
|
|
||||||
that.summary_conditions = spec.summary_conditions || [];
|
that.summary_conditions = spec.summary_conditions || [];
|
||||||
|
|
||||||
@ -2126,7 +2127,8 @@ exp.control_buttons_widget = IPA.control_buttons_widget = function(spec) {
|
|||||||
|
|
||||||
var that = IPA.widget(spec);
|
var that = IPA.widget(spec);
|
||||||
|
|
||||||
that.buttons = IPA.action_button_widget_builder.build(spec.buttons) || [];
|
that.buttons = builder.build('widget', spec.buttons, {},
|
||||||
|
{ $factory: exp.action_button_widget} ) || [];
|
||||||
|
|
||||||
that.init = function(facet) {
|
that.init = function(facet) {
|
||||||
|
|
||||||
@ -2180,7 +2182,6 @@ exp.eval_cond = IPA.eval_cond = function(enable_cond, disable_cond, state) {
|
|||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
exp.action_list_widget = IPA.action_list_widget = function(spec) {
|
exp.action_list_widget = IPA.action_list_widget = function(spec) {
|
||||||
|
|
||||||
spec = spec || {};
|
spec = spec || {};
|
||||||
@ -2379,7 +2380,7 @@ var FacetState = exp.FacetState = declare([Stateful, Evented], {
|
|||||||
return this;
|
return this;
|
||||||
},
|
},
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Set a property
|
* Set a property
|
||||||
*
|
*
|
||||||
* Sets named properties on a stateful object and notifies any watchers of
|
* Sets named properties on a stateful object and notifies any watchers of
|
||||||
@ -2422,25 +2423,26 @@ var FacetState = exp.FacetState = declare([Stateful, Evented], {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
exp.action_builder = IPA.action_builder = new Builder({
|
|
||||||
factory: exp.action
|
|
||||||
});
|
|
||||||
|
|
||||||
exp.action_holder_builder = new Builder({
|
// Action builder and registry
|
||||||
factory: exp.action_holder
|
exp.action_builder = builder.get('action');
|
||||||
});
|
exp.action_builder.factory = exp.action;
|
||||||
|
reg.set('action', exp.action_builder.registry);
|
||||||
|
|
||||||
exp.state_builder = IPA.state_builder = new Builder({
|
// State Evaluator builder and registry
|
||||||
factory: exp.state
|
exp.state_evaluator_builder = builder.get('state_evaluator');
|
||||||
});
|
exp.state_evaluator.factory = exp.action;
|
||||||
|
reg.set('state_evaluator', exp.state_evaluator.registry);
|
||||||
|
|
||||||
exp.state_evaluator_builder = IPA.state_evaluator_builder = new Builder({
|
exp.register = function() {
|
||||||
factory: exp.state
|
var w = reg.widget;
|
||||||
});
|
|
||||||
|
|
||||||
exp.action_button_widget_builder = IPA.action_button_widget_builder = new Builder({
|
w.register('action_button', exp.action_button_widget);
|
||||||
factory: exp.action_button_widget
|
w.register('control_buttons', exp.control_buttons_widget);
|
||||||
});
|
w.register('action_list', exp.action_list_widget);
|
||||||
|
};
|
||||||
|
|
||||||
|
phases.on('registration', exp.register);
|
||||||
|
|
||||||
return exp;
|
return exp;
|
||||||
});
|
});
|
||||||
|
@ -20,10 +20,18 @@
|
|||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
define(['./ipa', './jquery', './details', './search', './association',
|
define([
|
||||||
'./entity'], function(IPA, $) {
|
'./ipa',
|
||||||
|
'./jquery',
|
||||||
|
'./phases',
|
||||||
|
'./reg',
|
||||||
|
'./details',
|
||||||
|
'./search',
|
||||||
|
'./association',
|
||||||
|
'./entity'],
|
||||||
|
function(IPA, $, phases, reg) {
|
||||||
|
|
||||||
IPA.group = {};
|
var exp = IPA.group = {};
|
||||||
|
|
||||||
IPA.group.entity = function(spec) {
|
IPA.group.entity = function(spec) {
|
||||||
|
|
||||||
@ -256,5 +264,14 @@ IPA.group.make_external_action = function(spec) {
|
|||||||
|
|
||||||
IPA.register('group', IPA.group.entity);
|
IPA.register('group', IPA.group.entity);
|
||||||
|
|
||||||
return {};
|
exp.register = function() {
|
||||||
|
var a = reg.action;
|
||||||
|
|
||||||
|
a.register('make_posix', exp.make_posix_action);
|
||||||
|
a.register('make_external', exp.make_external_action);
|
||||||
|
};
|
||||||
|
|
||||||
|
phases.on('registration', exp.register);
|
||||||
|
|
||||||
|
return exp;
|
||||||
});
|
});
|
@ -31,7 +31,7 @@ define(['./ipa',
|
|||||||
'./certificate'],
|
'./certificate'],
|
||||||
function(IPA, $, phases, reg, text) {
|
function(IPA, $, phases, reg, text) {
|
||||||
|
|
||||||
IPA.host = {};
|
var exp = IPA.host = {};
|
||||||
|
|
||||||
IPA.host.entity = function(spec) {
|
IPA.host.entity = function(spec) {
|
||||||
|
|
||||||
@ -965,6 +965,7 @@ IPA.register('host', IPA.host.entity);
|
|||||||
phases.on('registration', function() {
|
phases.on('registration', function() {
|
||||||
var w = reg.widget;
|
var w = reg.widget;
|
||||||
var f = reg.field;
|
var f = reg.field;
|
||||||
|
var a = reg.action;
|
||||||
|
|
||||||
f.register('host_fqdn', IPA.host_fqdn_field);
|
f.register('host_fqdn', IPA.host_fqdn_field);
|
||||||
w.register('host_fqdn', IPA.host_fqdn_widget);
|
w.register('host_fqdn', IPA.host_fqdn_widget);
|
||||||
@ -976,8 +977,11 @@ phases.on('registration', function() {
|
|||||||
w.register('force_host_add_checkbox', IPA.force_host_add_checkbox_widget);
|
w.register('force_host_add_checkbox', IPA.force_host_add_checkbox_widget);
|
||||||
f.register('host_password', IPA.field);
|
f.register('host_password', IPA.field);
|
||||||
w.register('host_password', IPA.host_password_widget);
|
w.register('host_password', IPA.host_password_widget);
|
||||||
|
|
||||||
|
a.register('host_unprovision', exp.unprovision_action);
|
||||||
|
a.register('set_otp', exp.set_otp_action);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
return {};
|
return exp;
|
||||||
});
|
});
|
||||||
|
@ -21,7 +21,16 @@
|
|||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
define(['./ipa', './jquery', './text', './facet'], function(IPA, $, text) {
|
define([
|
||||||
|
'./ipa',
|
||||||
|
'./jquery',
|
||||||
|
'./phases',
|
||||||
|
'./reg',
|
||||||
|
'./text',
|
||||||
|
'./facet'],
|
||||||
|
function(IPA, $, phases, reg, text) {
|
||||||
|
|
||||||
|
var exp = {};
|
||||||
|
|
||||||
IPA.search_facet = function(spec, no_init) {
|
IPA.search_facet = function(spec, no_init) {
|
||||||
|
|
||||||
@ -502,5 +511,18 @@ IPA.batch_enable_action = function(spec) {
|
|||||||
return IPA.batch_items_action(spec);
|
return IPA.batch_items_action(spec);
|
||||||
};
|
};
|
||||||
|
|
||||||
return {};
|
exp.register = function() {
|
||||||
|
|
||||||
|
var a = reg.action;
|
||||||
|
|
||||||
|
a.register('batch_remove', IPA.batch_remove_action);
|
||||||
|
a.register('add', IPA.add_action);
|
||||||
|
a.register('batch_items', IPA.batch_items_action);
|
||||||
|
a.register('batch_disable', IPA.batch_disable_action);
|
||||||
|
a.register('batch_enable', IPA.batch_enable_action);
|
||||||
|
};
|
||||||
|
|
||||||
|
phases.on('registration', exp.register);
|
||||||
|
|
||||||
|
return exp;
|
||||||
});
|
});
|
||||||
|
@ -512,6 +512,7 @@ IPA.register('service', IPA.service.entity);
|
|||||||
phases.on('registration', function() {
|
phases.on('registration', function() {
|
||||||
var w = reg.widget;
|
var w = reg.widget;
|
||||||
var f = reg.field;
|
var f = reg.field;
|
||||||
|
var a = reg.action;
|
||||||
|
|
||||||
f.register('service_name', IPA.service_name_field);
|
f.register('service_name', IPA.service_name_field);
|
||||||
w.register('service_name', IPA.text_widget);
|
w.register('service_name', IPA.text_widget);
|
||||||
@ -519,6 +520,7 @@ phases.on('registration', function() {
|
|||||||
w.register('service_host', IPA.text_widget);
|
w.register('service_host', IPA.text_widget);
|
||||||
f.register('service_provisioning_status', IPA.field);
|
f.register('service_provisioning_status', IPA.field);
|
||||||
w.register('service_provisioning_status', IPA.service_provisioning_status_widget);
|
w.register('service_provisioning_status', IPA.service_provisioning_status_widget);
|
||||||
|
a.register('service_unprovision', IPA.service.unprovision_action);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
@ -21,8 +21,18 @@
|
|||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
define(['./ipa', './jquery', './text', './details', './search', './association',
|
define([
|
||||||
'./entity', './certificate'], function(IPA, $, text) {
|
'./ipa',
|
||||||
|
'./jquery',
|
||||||
|
'./phases',
|
||||||
|
'./reg',
|
||||||
|
'./text',
|
||||||
|
'./details',
|
||||||
|
'./search',
|
||||||
|
'./association',
|
||||||
|
'./entity',
|
||||||
|
'./certificate'],
|
||||||
|
function(IPA, $, phases, reg, text) {
|
||||||
|
|
||||||
var exp = IPA.user = {};
|
var exp = IPA.user = {};
|
||||||
|
|
||||||
@ -668,5 +678,12 @@ IPA.user.reset_password_acl_evaluator = function(spec) {
|
|||||||
|
|
||||||
IPA.register('user', IPA.user.entity);
|
IPA.register('user', IPA.user.entity);
|
||||||
|
|
||||||
|
exp.register = function() {
|
||||||
|
var a = reg.action;
|
||||||
|
a.register('reset_password', IPA.user.reset_password_action);
|
||||||
|
};
|
||||||
|
|
||||||
|
phases.on('registration', exp.register);
|
||||||
|
|
||||||
return exp;
|
return exp;
|
||||||
});
|
});
|
||||||
|
@ -20,13 +20,15 @@
|
|||||||
|
|
||||||
define([
|
define([
|
||||||
'freeipa/aci',
|
'freeipa/aci',
|
||||||
|
'freeipa/details',
|
||||||
|
'freeipa/facet',
|
||||||
'freeipa/field',
|
'freeipa/field',
|
||||||
'freeipa/ipa',
|
'freeipa/ipa',
|
||||||
'freeipa/jquery',
|
'freeipa/jquery',
|
||||||
'freeipa/reg',
|
'freeipa/reg',
|
||||||
'freeipa/widget'
|
'freeipa/widget'
|
||||||
],
|
],
|
||||||
function(aci, fields, IPA, $, reg, widgets) {
|
function(aci, mod_details, mod_facet, fields, IPA, $, reg, widgets) {
|
||||||
return function() {
|
return function() {
|
||||||
|
|
||||||
var target_container;
|
var target_container;
|
||||||
@ -41,6 +43,8 @@ module('aci', {
|
|||||||
fields.register();
|
fields.register();
|
||||||
widgets.register();
|
widgets.register();
|
||||||
aci.register();
|
aci.register();
|
||||||
|
mod_facet.register();
|
||||||
|
mod_details.register();
|
||||||
|
|
||||||
IPA.ajax_options.async = false;
|
IPA.ajax_options.async = false;
|
||||||
IPA.init({
|
IPA.init({
|
||||||
|
@ -21,14 +21,14 @@
|
|||||||
define([
|
define([
|
||||||
'freeipa/ipa',
|
'freeipa/ipa',
|
||||||
'freeipa/jquery',
|
'freeipa/jquery',
|
||||||
|
'freeipa/details',
|
||||||
'freeipa/facet',
|
'freeipa/facet',
|
||||||
'freeipa/facets',
|
'freeipa/facets',
|
||||||
'freeipa/reg',
|
'freeipa/reg',
|
||||||
'freeipa/details',
|
|
||||||
'freeipa/entity',
|
'freeipa/entity',
|
||||||
'freeipa/field',
|
'freeipa/field',
|
||||||
'freeipa/widget'],
|
'freeipa/widget'],
|
||||||
function(IPA, $, mod_facet, facets, reg) {
|
function(IPA, $, mod_details, mod_facet, facets, reg) {
|
||||||
return function() {
|
return function() {
|
||||||
|
|
||||||
var details_container;
|
var details_container;
|
||||||
@ -46,6 +46,9 @@ module('details', {
|
|||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|
||||||
|
mod_facet.register();
|
||||||
|
mod_details.register();
|
||||||
|
|
||||||
IPA.init({
|
IPA.init({
|
||||||
url: 'data',
|
url: 'data',
|
||||||
on_error: function(xhr, text_status, error_thrown) {
|
on_error: function(xhr, text_status, error_thrown) {
|
||||||
|
@ -19,10 +19,16 @@
|
|||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
define(['freeipa/ipa', 'freeipa/jquery','freeipa/facet', 'freeipa/facets',
|
define([
|
||||||
'freeipa/entity', 'freeipa/search',
|
'freeipa/ipa',
|
||||||
'freeipa/details'], function(IPA, $, mod_facet, facets) {
|
'freeipa/jquery',
|
||||||
return function() {
|
'freeipa/facet',
|
||||||
|
'freeipa/facets',
|
||||||
|
'freeipa/search',
|
||||||
|
'freeipa/entity',
|
||||||
|
'freeipa/details'],
|
||||||
|
function(IPA, $, mod_facet, facets, mod_search) {
|
||||||
|
return function() {
|
||||||
|
|
||||||
var container;
|
var container;
|
||||||
|
|
||||||
@ -31,6 +37,8 @@ module('entity',{
|
|||||||
|
|
||||||
IPA.ajax_options.async = false;
|
IPA.ajax_options.async = false;
|
||||||
|
|
||||||
|
mod_search.register();
|
||||||
|
|
||||||
facets.register({
|
facets.register({
|
||||||
type: 'search',
|
type: 'search',
|
||||||
factory: IPA.search_facet,
|
factory: IPA.search_facet,
|
||||||
|
Loading…
Reference in New Issue
Block a user