From 8cff8e4202ade56cb729b79fb00f37e4f1100c4b Mon Sep 17 00:00:00 2001 From: John Mitchell Date: Tue, 13 Sep 2016 13:46:44 -0400 Subject: [PATCH] remove use of canEdit in favor of user capabilities --- awx/ui/client/src/controllers/Credentials.js | 12 ---- awx/ui/client/src/controllers/Projects.js | 12 ---- awx/ui/client/src/controllers/Teams.js | 12 ---- awx/ui/client/src/controllers/Users.js | 12 ---- awx/ui/client/src/forms/Credentials.js | 62 ++++++++-------- awx/ui/client/src/forms/Groups.js | 28 ++++---- awx/ui/client/src/forms/Hosts.js | 10 +-- awx/ui/client/src/forms/Inventories.js | 16 ++--- awx/ui/client/src/forms/JobTemplates.js | 54 +++++++------- awx/ui/client/src/forms/Organizations.js | 12 ++-- awx/ui/client/src/forms/Projects.js | 34 ++++----- awx/ui/client/src/forms/Teams.js | 14 ++-- awx/ui/client/src/forms/Users.js | 22 +++--- .../edit/inventory-edit.controller.js | 10 --- .../list/inventory-list.controller.js | 2 - .../manage/groups/groups-edit.controller.js | 16 +---- .../manage/hosts/hosts-edit.controller.js | 10 --- .../inventory-scripts/add/add.controller.js | 2 - .../inventory-scripts/edit/edit.controller.js | 13 ---- .../inventory-scripts.form.js | 14 ++-- .../inventory-scripts/list/list.controller.js | 2 - .../edit/job-templates-edit.controller.js | 10 --- .../list/job-templates-list.controller.js | 2 - .../src/notifications/edit/edit.controller.js | 10 --- .../list.controller.js | 2 - .../notificationTemplates.form.js | 70 +++++++++---------- .../edit/organizations-edit.controller.js | 10 --- .../list/organizations-list.controller.js | 2 - .../src/partials/survey-maker-modal.html | 18 ++--- .../src/scheduler/scheduler.controller.js | 2 - 30 files changed, 180 insertions(+), 315 deletions(-) diff --git a/awx/ui/client/src/controllers/Credentials.js b/awx/ui/client/src/controllers/Credentials.js index 53c4c001b4..1696756ed3 100644 --- a/awx/ui/client/src/controllers/Credentials.js +++ b/awx/ui/client/src/controllers/Credentials.js @@ -18,14 +18,12 @@ export function CredentialsList($scope, $rootScope, $location, $log, ClearScope(); $scope.canAdd = false; - $scope.canEdit = false; Rest.setUrl(GetBasePath('credentials')); Rest.options() .success(function(data) { if (data.actions.POST) { $scope.canAdd = true; - $scope.canEdit = true; } }); @@ -367,16 +365,6 @@ export function CredentialsEdit($scope, $rootScope, $compile, $location, $log, id = $stateParams.credential_id, relatedSets = {}; - $scope.canEdit = false; - - Rest.setUrl(GetBasePath('credentials') + id); - Rest.options() - .success(function(data) { - if (data.actions.PUT) { - $scope.canEdit = true; - } - }); - generator.inject(form, { mode: 'edit', related: true, scope: $scope }); generator.reset(); $scope.id = id; diff --git a/awx/ui/client/src/controllers/Projects.js b/awx/ui/client/src/controllers/Projects.js index 5c0803c3ce..2aa6d1ab9a 100644 --- a/awx/ui/client/src/controllers/Projects.js +++ b/awx/ui/client/src/controllers/Projects.js @@ -19,14 +19,12 @@ export function ProjectsList ($scope, $rootScope, $location, $log, $stateParams, ClearScope(); $scope.canAdd = false; - $scope.canEdit = false; Rest.setUrl(GetBasePath('projects')); Rest.options() .success(function(data) { if (data.actions.POST) { $scope.canAdd = true; - $scope.canEdit = true; } }); @@ -588,16 +586,6 @@ export function ProjectsEdit($scope, $rootScope, $compile, $location, $log, id = $stateParams.id, relatedSets = {}; - $scope.canEdit = false; - - Rest.setUrl(GetBasePath('projects') + id); - Rest.options() - .success(function(data) { - if (data.actions.PUT) { - $scope.canEdit = true; - } - }); - // remove "type" field from search options CredentialList = _.cloneDeep(CredentialList); CredentialList.fields.kind.noSearch = true; diff --git a/awx/ui/client/src/controllers/Teams.js b/awx/ui/client/src/controllers/Teams.js index f78a5f13c9..08ed3c5f8f 100644 --- a/awx/ui/client/src/controllers/Teams.js +++ b/awx/ui/client/src/controllers/Teams.js @@ -18,14 +18,12 @@ export function TeamsList($scope, $rootScope, $location, $log, $stateParams, ClearScope(); $scope.canAdd = false; - $scope.canEdit = false; Rest.setUrl(GetBasePath('teams')); Rest.options() .success(function(data) { if (data.actions.POST) { $scope.canAdd = true; - $scope.canEdit = true; } }); @@ -226,16 +224,6 @@ export function TeamsEdit($scope, $rootScope, $location, relatedSets = {}, set; - $scope.canEdit = false; - - Rest.setUrl(GetBasePath('teams') + id); - Rest.options() - .success(function(data) { - if (data.actions.PUT) { - $scope.canEdit = true; - } - }); - $scope.team_id = id; diff --git a/awx/ui/client/src/controllers/Users.js b/awx/ui/client/src/controllers/Users.js index 5e76269983..7033e6333d 100644 --- a/awx/ui/client/src/controllers/Users.js +++ b/awx/ui/client/src/controllers/Users.js @@ -38,14 +38,12 @@ export function UsersList($scope, $rootScope, $location, $log, $stateParams, ClearScope(); $scope.canAdd = false; - $scope.canEdit = false; Rest.setUrl(GetBasePath('users')); Rest.options() .success(function(data) { if (data.actions.POST) { $scope.canAdd = true; - $scope.canEdit = true; } }); @@ -292,16 +290,6 @@ export function UsersEdit($scope, $rootScope, $location, relatedSets = {}, set; - $scope.canEdit = false; - - Rest.setUrl(GetBasePath('users') + id); - Rest.options() - .success(function(data) { - if (data.actions.PUT) { - $scope.canEdit = true; - } - }); - generator.inject(form, { mode: 'edit', related: true, scope: $scope }); generator.reset(); diff --git a/awx/ui/client/src/forms/Credentials.js b/awx/ui/client/src/forms/Credentials.js index 4f2b262359..c75f30c8be 100644 --- a/awx/ui/client/src/forms/Credentials.js +++ b/awx/ui/client/src/forms/Credentials.js @@ -33,14 +33,14 @@ export default addRequired: true, editRequired: true, autocomplete: false, - ngDisabled: '!canEdit' + ngDisabled: '!credential_obj.summary_fields.user_capabilities.edit' }, description: { label: 'Description', type: 'text', addRequired: false, editRequired: false, - ngDisabled: '!canEdit' + ngDisabled: '!credential_obj.summary_fields.user_capabilities.edit' }, organization: { addRequired: false, @@ -55,7 +55,7 @@ export default dataTitle: 'Organization ', dataPlacement: 'bottom', dataContainer: "body", - ngDisabled: '!canEdit' + ngDisabled: '!credential_obj.summary_fields.user_capabilities.edit' }, kind: { label: 'Type', @@ -87,7 +87,7 @@ export default dataPlacement: 'right', dataContainer: "body", hasSubForm: true, - ngDisabled: '!canEdit' + ngDisabled: '!credential_obj.summary_fields.user_capabilities.edit' }, access_key: { label: 'Access Key', @@ -100,13 +100,13 @@ export default autocomplete: false, apiField: 'username', subForm: 'credentialSubForm', - ngDisabled: '!canEdit' + ngDisabled: '!credential_obj.summary_fields.user_capabilities.edit' }, secret_key: { label: 'Secret Key', type: 'sensitive', ngShow: "kind.value == 'aws'", - ngDisabled: "secret_key_ask || !canEdit", + ngDisabled: "secret_key_ask || !credential_obj.summary_fields.user_capabilities.edit", awRequiredWhen: { reqExpression: "aws_required", init: false @@ -129,7 +129,7 @@ export default dataPlacement: 'right', dataContainer: "body", subForm: 'credentialSubForm', - ngDisabled: '!canEdit' + ngDisabled: '!credential_obj.summary_fields.user_capabilities.edit' }, "host": { labelBind: 'hostLabel', @@ -146,7 +146,7 @@ export default init: false }, subForm: 'credentialSubForm', - ngDisabled: '!canEdit' + ngDisabled: '!credential_obj.summary_fields.user_capabilities.edit' }, "subscription": { label: "Subscription ID", @@ -164,7 +164,7 @@ export default dataPlacement: 'right', dataContainer: "body", subForm: 'credentialSubForm', - ngDisabled: '!canEdit' + ngDisabled: '!credential_obj.summary_fields.user_capabilities.edit' }, "username": { labelBind: 'usernameLabel', @@ -177,7 +177,7 @@ export default }, autocomplete: false, subForm: "credentialSubForm", - ngDisabled: '!canEdit' + ngDisabled: '!credential_obj.summary_fields.user_capabilities.edit' }, "email_address": { labelBind: 'usernameLabel', @@ -193,7 +193,7 @@ export default dataPlacement: 'right', dataContainer: "body", subForm: 'credentialSubForm', - ngDisabled: '!canEdit' + ngDisabled: '!credential_obj.summary_fields.user_capabilities.edit' }, "api_key": { label: 'API Key', @@ -207,7 +207,7 @@ export default hasShowInputButton: true, clear: false, subForm: 'credentialSubForm', - ngDisabled: '!canEdit' + ngDisabled: '!credential_obj.summary_fields.user_capabilities.edit' }, "password": { labelBind: 'passwordLabel', @@ -221,13 +221,13 @@ export default init: false }, subForm: "credentialSubForm", - ngDisabled: '!canEdit' + ngDisabled: '!credential_obj.summary_fields.user_capabilities.edit' }, "ssh_password": { label: 'Password', type: 'sensitive', ngShow: "kind.value == 'ssh'", - ngDisabled: "ssh_password_ask || !canEdit", + ngDisabled: "ssh_password_ask || !credential_obj.summary_fields.user_capabilities.edit", addRequired: false, editRequired: false, subCheckbox: { @@ -260,7 +260,7 @@ export default dataPlacement: 'right', dataContainer: "body", subForm: "credentialSubForm", - ngDisabled: '!canEdit' + ngDisabled: '!credential_obj.summary_fields.user_capabilities.edit' }, "ssh_key_unlock": { label: 'Private Key Passphrase', @@ -268,7 +268,7 @@ export default ngShow: "kind.value == 'ssh' || kind.value == 'scm'", addRequired: false, editRequired: false, - ngDisabled: "keyEntered === false || ssh_key_unlock_ask || !canEdit", + ngDisabled: "keyEntered === false || ssh_key_unlock_ask || !credential_obj.summary_fields.user_capabilities.edit", subCheckbox: { variable: 'ssh_key_unlock_ask', ngShow: "kind.value == 'ssh'", @@ -292,7 +292,7 @@ export default dataPlacement: 'right', dataContainer: "body", subForm: 'credentialSubForm', - ngDisabled: '!canEdit' + ngDisabled: '!credential_obj.summary_fields.user_capabilities.edit' }, "become_username": { labelBind: 'becomeUsernameLabel', @@ -302,13 +302,13 @@ export default editRequired: false, autocomplete: false, subForm: 'credentialSubForm', - ngDisabled: '!canEdit' + ngDisabled: '!credential_obj.summary_fields.user_capabilities.edit' }, "become_password": { labelBind: 'becomePasswordLabel', type: 'sensitive', ngShow: "(kind.value == 'ssh' && (become_method && become_method.value)) ", - ngDisabled: "become_password_ask || !canEdit", + ngDisabled: "become_password_ask || !credential_obj.summary_fields.user_capabilities.edit", addRequired: false, editRequired: false, subCheckbox: { @@ -325,7 +325,7 @@ export default label: 'Client ID', subForm: 'credentialSubForm', ngShow: "kind.value === 'azure_rm'", - ngDisabled: '!canEdit' + ngDisabled: '!credential_obj.summary_fields.user_capabilities.edit' }, secret:{ type: 'sensitive', @@ -334,14 +334,14 @@ export default label: 'Client Secret', subForm: 'credentialSubForm', ngShow: "kind.value === 'azure_rm'", - ngDisabled: '!canEdit' + ngDisabled: '!credential_obj.summary_fields.user_capabilities.edit' }, tenant: { type: 'text', label: 'Tenant ID', subForm: 'credentialSubForm', ngShow: "kind.value === 'azure_rm'", - ngDisabled: '!canEdit' + ngDisabled: '!credential_obj.summary_fields.user_capabilities.edit' }, authorize: { label: 'Authorize', @@ -349,7 +349,7 @@ export default ngChange: "toggleCallback('host_config_key')", subForm: 'credentialSubForm', ngShow: "kind.value === 'net'", - ngDisabled: '!canEdit' + ngDisabled: '!credential_obj.summary_fields.user_capabilities.edit' }, authorize_password: { label: 'Authorize Password', @@ -358,7 +358,7 @@ export default autocomplete: false, subForm: 'credentialSubForm', ngShow: "authorize && authorize !== 'false'", - ngDisabled: '!canEdit' + ngDisabled: '!credential_obj.summary_fields.user_capabilities.edit' }, "project": { labelBind: 'projectLabel', @@ -376,7 +376,7 @@ export default init: false }, subForm: 'credentialSubForm', - ngDisabled: '!canEdit' + ngDisabled: '!credential_obj.summary_fields.user_capabilities.edit' }, "domain": { labelBind: 'domainLabel', @@ -393,13 +393,13 @@ export default addRequired: false, editRequired: false, subForm: 'credentialSubForm', - ngDisabled: '!canEdit' + ngDisabled: '!credential_obj.summary_fields.user_capabilities.edit' }, "vault_password": { label: "Vault Password", type: 'sensitive', ngShow: "kind.value == 'ssh'", - ngDisabled: "vault_password_ask || !canEdit", + ngDisabled: "vault_password_ask || !credential_obj.summary_fields.user_capabilities.edit", addRequired: false, editRequired: false, subCheckbox: { @@ -416,17 +416,17 @@ export default buttons: { cancel: { ngClick: 'formCancel()', - ngShow: 'canEdit' + ngShow: 'credential_obj.summary_fields.user_capabilities.edit' }, close: { ngClick: 'formCancel()', - ngShow: '!canEdit' + ngShow: '!credential_obj.summary_fields.user_capabilities.edit' }, save: { label: 'Save', ngClick: 'formSave()', //$scope.function to call on click, optional ngDisabled: true, - ngShow: 'canEdit' //Disable when $pristine or $invalid, optional + ngShow: 'credential_obj.summary_fields.user_capabilities.edit' //Disable when $pristine or $invalid, optional } }, @@ -450,7 +450,7 @@ export default awToolTip: 'Add a permission', actionClass: 'btn List-buttonSubmit', buttonContent: '+ ADD', - ngShow: 'canEdit' + ngShow: 'credential_obj.summary_fields.user_capabilities.edit' } }, diff --git a/awx/ui/client/src/forms/Groups.js b/awx/ui/client/src/forms/Groups.js index ece74417a4..40a5cd3301 100644 --- a/awx/ui/client/src/forms/Groups.js +++ b/awx/ui/client/src/forms/Groups.js @@ -27,7 +27,7 @@ export default addRequired: true, editRequired: true, tab: 'properties', - ngDisabled: '!canEdit' + ngDisabled: '!group_obj.summary_fields.user_capabilities.edit' }, description: { label: 'Description', @@ -35,7 +35,7 @@ export default addRequired: false, editRequired: false, tab: 'properties', - ngDisabled: '!canEdit' + ngDisabled: '!group_obj.summary_fields.user_capabilities.edit' }, variables: { label: 'Variables', @@ -68,7 +68,7 @@ export default addRequired: false, editRequired: false, ngModel: 'source', - ngDisabled: '!canEdit' + ngDisabled: '!group_obj.summary_fields.user_capabilities.edit' }, credential: { label: 'Cloud Credential', @@ -81,7 +81,7 @@ export default reqExpression: "cloudCredentialRequired", init: "false" }, - ngDisabled: '!canEdit' + ngDisabled: '!group_obj.summary_fields.user_capabilities.edit' }, source_regions: { label: 'Regions', @@ -97,7 +97,7 @@ export default "or choose All to include all regions. Tower will only be updated with Hosts associated with the selected regions." + "

", dataContainer: 'body', - ngDisabled: '!canEdit' + ngDisabled: '!group_obj.summary_fields.user_capabilities.edit' }, instance_filters: { label: 'Instance Filters', @@ -118,7 +118,7 @@ export default "

View the Describe Instances documentation " + "for a complete list of supported filters.

", dataContainer: 'body', - ngDisabled: '!canEdit' + ngDisabled: '!group_obj.summary_fields.user_capabilities.edit' }, group_by: { label: 'Only Group By', @@ -144,7 +144,7 @@ export default "
  • Tag None: tags » tag_none
  • " + "

    If blank, all groups above are created except Instance ID.

    ", dataContainer: 'body', - ngDisabled: '!canEdit' + ngDisabled: '!group_obj.summary_fields.user_capabilities.edit' }, inventory_script: { label : "Custom Inventory Script", @@ -156,7 +156,7 @@ export default addRequired: true, editRequired: true, ngRequired: "source && source.value === 'custom'", - ngDisabled: '!canEdit', + ngDisabled: '!group_obj.summary_fields.user_capabilities.edit', }, custom_variables: { id: 'custom_variables', @@ -278,7 +278,7 @@ export default dataContainer: 'body', dataPlacement: 'right', labelClass: 'checkbox-options', - ngDisabled: '!canEdit' + ngDisabled: '!group_obj.summary_fields.user_capabilities.edit' }, { name: 'overwrite_vars', label: 'Overwrite Variables', @@ -293,7 +293,7 @@ export default dataContainer: 'body', dataPlacement: 'right', labelClass: 'checkbox-options', - ngDisabled: '!canEdit' + ngDisabled: '!group_obj.summary_fields.user_capabilities.edit' }, { name: 'update_on_launch', label: 'Update on Launch', @@ -307,7 +307,7 @@ export default dataContainer: 'body', dataPlacement: 'right', labelClass: 'checkbox-options', - ngDisabled: '!canEdit' + ngDisabled: '!group_obj.summary_fields.user_capabilities.edit' }] }, update_cache_timeout: { @@ -333,16 +333,16 @@ export default buttons: { cancel: { ngClick: 'formCancel()', - ngShow: 'canEdit' + ngShow: 'group_obj.summary_fields.user_capabilities.edit' }, close: { ngClick: 'formCancel()', - ngShow: '!canEdit' + ngShow: '!group_obj.summary_fields.user_capabilities.edit' }, save: { ngClick: 'formSave()', ngDisabled: true, - ngShow: 'canEdit' + ngShow: 'group_obj.summary_fields.user_capabilities.edit' } }, diff --git a/awx/ui/client/src/forms/Hosts.js b/awx/ui/client/src/forms/Hosts.js index 99caaa2b6b..3f01a6cf5c 100644 --- a/awx/ui/client/src/forms/Hosts.js +++ b/awx/ui/client/src/forms/Hosts.js @@ -47,14 +47,14 @@ export default dataTitle: 'Host Name', dataPlacement: 'right', dataContainer: 'body', - ngDisabled: '!canEdit' + ngDisabled: '!host.summary_fields.user_capabilities.edit' }, description: { label: 'Description', type: 'text', addRequired: false, editRequired: false, - ngDisabled: '!canEdit' + ngDisabled: '!host.summary_fields.user_capabilities.edit' }, variables: { label: 'Variables', @@ -85,16 +85,16 @@ export default buttons: { cancel: { ngClick: 'formCancel()', - ngShow: 'canEdit' + ngShow: 'host.summary_fields.user_capabilities.edit' }, close: { ngClick: 'formCancel()', - ngShow: '!canEdit' + ngShow: '!host.summary_fields.user_capabilities.edit' }, save: { ngClick: 'formSave()', ngDisabled: true, - ngShow: 'canEdit' + ngShow: 'host.summary_fields.user_capabilities.edit' } }, diff --git a/awx/ui/client/src/forms/Inventories.js b/awx/ui/client/src/forms/Inventories.js index c1d3c172d0..425c4d342d 100644 --- a/awx/ui/client/src/forms/Inventories.js +++ b/awx/ui/client/src/forms/Inventories.js @@ -27,7 +27,7 @@ export default addRequired: true, editRequired: true, capitalize: false, - ngDisabled: '!canEdit' + ngDisabled: '!inventory_obj.summary_fields.user_capabilities.edit' }, inventory_description: { realName: 'description', @@ -35,7 +35,7 @@ export default type: 'text', addRequired: false, editRequired: false, - ngDisabled: '!canEdit' + ngDisabled: '!inventory_obj.summary_fields.user_capabilities.edit' }, organization: { label: 'Organization', @@ -47,7 +47,7 @@ export default reqExpression: "organizationrequired", init: "true" }, - ngDisabled: '!canEdit' + ngDisabled: '!inventory_obj.summary_fields.user_capabilities.edit' }, variables: { label: 'Variables', @@ -67,23 +67,23 @@ export default dataTitle: 'Inventory Variables', dataPlacement: 'right', dataContainer: 'body', - ngDisabled: '!canEdit' // TODO: get working + ngDisabled: '!inventory_obj.summary_fields.user_capabilities.edit' // TODO: get working } }, buttons: { cancel: { ngClick: 'formCancel()', - ngShow: 'canEdit' + ngShow: 'inventory_obj.summary_fields.user_capabilities.edit' }, close: { ngClick: 'formCancel()', - ngHide: 'canEdit' + ngHide: 'inventory_obj.summary_fields.user_capabilities.edit' }, save: { ngClick: 'formSave()', ngDisabled: true, - ngShow: 'canEdit' + ngShow: 'inventory_obj.summary_fields.user_capabilities.edit' } }, @@ -105,7 +105,7 @@ export default awToolTip: 'Add a permission', actionClass: 'btn List-buttonSubmit', buttonContent: '+ ADD', - ngShow: 'canEdit' + ngShow: 'inventory_obj.summary_fields.user_capabilities.edit' } }, diff --git a/awx/ui/client/src/forms/JobTemplates.js b/awx/ui/client/src/forms/JobTemplates.js index d7a6c81bfa..13e826492d 100644 --- a/awx/ui/client/src/forms/JobTemplates.js +++ b/awx/ui/client/src/forms/JobTemplates.js @@ -28,7 +28,7 @@ export default addRequired: true, editRequired: true, column: 1, - ngDisabled: '!canEdit' + ngDisabled: '!job_template_obj.summary_fields.user_capabilities.edit' }, description: { label: 'Description', @@ -36,7 +36,7 @@ export default addRequired: false, editRequired: false, column: 1, - ngDisabled: '!canEdit' + ngDisabled: '!job_template_obj.summary_fields.user_capabilities.edit' }, job_type: { label: 'Job Type', @@ -59,7 +59,7 @@ export default ngShow: "!job_type.value || job_type.value !== 'scan'", text: 'Prompt on launch' }, - ngDisabled: '!canEdit' + ngDisabled: '!job_template_obj.summary_fields.user_capabilities.edit' }, inventory: { label: 'Inventory', @@ -82,7 +82,7 @@ export default ngShow: "!job_type.value || job_type.value !== 'scan'", text: 'Prompt on launch' }, - ngDisabled: '!canEdit' + ngDisabled: '!job_template_obj.summary_fields.user_capabilities.edit' }, project: { label: 'Project', @@ -104,13 +104,13 @@ export default dataTitle: 'Project', dataPlacement: 'right', dataContainer: "body", - ngDisabled: '!canEdit' + ngDisabled: '!job_template_obj.summary_fields.user_capabilities.edit' }, playbook: { label: 'Playbook', type:'select', ngOptions: 'book for book in playbook_options track by book', - ngDisabled: "(job_type.value === 'scan' && project_name === 'Default') || !canEdit", + ngDisabled: "(job_type.value === 'scan' && project_name === 'Default') || !job_template_obj.summary_fields.user_capabilities.edit", id: 'playbook-select', awRequiredWhen: { reqExpression: "playbookrequired", @@ -144,7 +144,7 @@ export default variable: 'ask_credential_on_launch', text: 'Prompt on launch' }, - ngDisabled: '!canEdit' + ngDisabled: '!job_template_obj.summary_fields.user_capabilities.edit' }, cloud_credential: { label: 'Cloud Credential', @@ -160,7 +160,7 @@ export default dataTitle: 'Cloud Credential', dataPlacement: 'right', dataContainer: "body", - ngDisabled: '!canEdit' + ngDisabled: '!job_template_obj.summary_fields.user_capabilities.edit' }, network_credential: { label: 'Network Credential', @@ -175,7 +175,7 @@ export default dataTitle: 'Network Credential', dataPlacement: 'right', dataContainer: "body", - ngDisabled: '!canEdit' + ngDisabled: '!job_template_obj.summary_fields.user_capabilities.edit' }, forks: { label: 'Forks', @@ -195,7 +195,7 @@ export default dataTitle: 'Forks', dataPlacement: 'right', dataContainer: "body", - ngDisabled: '!canEdit' // TODO: get working + ngDisabled: '!job_template_obj.summary_fields.user_capabilities.edit' // TODO: get working }, limit: { label: 'Limit', @@ -213,7 +213,7 @@ export default variable: 'ask_limit_on_launch', text: 'Prompt on launch' }, - ngDisabled: '!canEdit' + ngDisabled: '!job_template_obj.summary_fields.user_capabilities.edit' }, verbosity: { label: 'Verbosity', @@ -227,7 +227,7 @@ export default dataTitle: 'Verbosity', dataPlacement: 'right', dataContainer: "body", - ngDisabled: '!canEdit' + ngDisabled: '!job_template_obj.summary_fields.user_capabilities.edit' }, job_tags: { label: 'Job Tags', @@ -247,7 +247,7 @@ export default variable: 'ask_tags_on_launch', text: 'Prompt on launch' }, - ngDisabled: '!canEdit' + ngDisabled: '!job_template_obj.summary_fields.user_capabilities.edit' }, skip_tags: { label: 'Skip Tags', @@ -267,7 +267,7 @@ export default variable: 'ask_skip_tags_on_launch', text: 'Prompt on launch' }, - ngDisabled: '!canEdit' + ngDisabled: '!job_template_obj.summary_fields.user_capabilities.edit' }, checkbox_group: { label: 'Options', @@ -284,7 +284,7 @@ export default dataTitle: 'Become Privilege Escalation', dataContainer: "body", labelClass: 'stack-inline', - ngDisabled: '!canEdit' + ngDisabled: '!job_template_obj.summary_fields.user_capabilities.edit' }, { name: 'allow_callbacks', label: 'Allow Provisioning Callbacks', @@ -299,7 +299,7 @@ export default dataTitle: 'Allow Provisioning Callbacks', dataContainer: "body", labelClass: 'stack-inline', - ngDisabled: '!canEdit' + ngDisabled: '!job_template_obj.summary_fields.user_capabilities.edit' }] }, callback_url: { @@ -315,7 +315,7 @@ export default dataPlacement: 'top', dataTitle: 'Provisioning Callback URL', dataContainer: "body", - ngDisabled: '!canEdit' + ngDisabled: '!job_template_obj.summary_fields.user_capabilities.edit' }, host_config_key: { label: 'Host Config Key', @@ -329,7 +329,7 @@ export default dataPlacement: 'right', dataTitle: "Host Config Key", dataContainer: "body", - ngDisabled: '!canEdit' + ngDisabled: '!job_template_obj.summary_fields.user_capabilities.edit' }, labels: { label: 'Labels', @@ -343,7 +343,7 @@ export default dataPlacement: 'right', awPopOver: "

    Optional labels that describe this job template, such as 'dev' or 'test'. Labels can be used to group and filter job templates and completed jobs in the Tower display.

    ", dataContainer: 'body', - ngDisabled: '!canEdit' + ngDisabled: '!job_template_obj.summary_fields.user_capabilities.edit' }, variables: { label: 'Extra Variables', @@ -367,14 +367,14 @@ export default variable: 'ask_variables_on_launch', text: 'Prompt on launch' }, - ngDisabled: '!canEdit' // TODO: get working + ngDisabled: '!job_template_obj.summary_fields.user_capabilities.edit' // TODO: get working } }, buttons: { //for now always generates @@ -80,10 +80,10 @@
    - - - - + + + +
    diff --git a/awx/ui/client/src/scheduler/scheduler.controller.js b/awx/ui/client/src/scheduler/scheduler.controller.js index bba15c65b6..16681e1b66 100644 --- a/awx/ui/client/src/scheduler/scheduler.controller.js +++ b/awx/ui/client/src/scheduler/scheduler.controller.js @@ -50,14 +50,12 @@ export default [ url += "schedules/"; $scope.canAdd = false; - $scope.canEdit = false; Rest.setUrl(url); Rest.options() .success(function(data) { if (data.actions.POST) { $scope.canAdd = true; - $scope.canEdit = true; } });