mirror of
https://github.com/ansible/awx.git
synced 2026-01-19 13:41:28 -03:30
Latest Job Events changes
This commit is contained in:
parent
2438bdd698
commit
e3f99c9e13
74
awx/ui/static/js/awx-min.js
vendored
74
awx/ui/static/js/awx-min.js
vendored
@ -4,7 +4,7 @@
|
||||
*
|
||||
* awx-min.js
|
||||
*
|
||||
* master-09cebfc, Tue Jul 9 00:09:37 2013 -0400
|
||||
* master-aa780ad, Tue Jul 9 14:48:58 2013 -0400
|
||||
*
|
||||
*/
|
||||
var urlPrefix="/static/";
|
||||
@ -53,10 +53,10 @@ action:function(a){q({inventory_id:I,group_id:$(a).attr("group_id")})}},edit:{la
|
||||
!1,y.groupDeleteHide=!1,y.createButtonShow=!0,y.group_id=d.attr("group_id"),y.groupName=b.data,y.groupTitle=b.data,y.groupTitle+=d.attr("description")?" -"+d.attr("description"):""):"inventory"==c&&(e=d.attr("hosts"),y.groupAddHide=!1,y.groupEditHide=!0,y.groupDeleteHide=!0,y.createButtonShow=!1,y.groupName="All Hosts",y.groupTitle="All Hosts",y.group_id=null);y.relatedSets.hosts={url:e,iterator:"host"};z({scope:y,form:f,relatedSets:y.relatedSets});w({scope:y,relatedSets:y.relatedSets});y.search("host");
|
||||
y.$$phase||y.$digest()});y.addGroup=function(){q({inventory_id:I,group_id:y.group_id})};y.editGroup=function(){v({inventory_id:I,group_id:y.group_id})};y.deleteGroup=function(){E({scope:y,inventory_id:I,group_id:y.group_id})};y.selectHost=function(){F({scope:y,inventory_id:I,group_id:y.group_id})};y.createHost=function(){D({scope:y,inventory_id:I,group_id:y.group_id})};y.editHost=function(a,b){r({scope:y,inventory_id:I,group_id:y.group_id,host_id:a,host_name:b})};y.deleteHost=function(a,b){K({scope:y,
|
||||
inventory_id:I,group_id:y.group_id,host_id:a,host_name:b})};y.showEvents=function(a,c){l.setUrl(c);l.get().success(function(d,c,f,e){b({path:"/jobs/"+d.id,title:d.name});g.url("/jobs/"+d.id+"/job_events/?host="+escape(a))}).error(function(a,b,e,l){d(y,a,b,f,{hdr:"Error!",msg:"Failed to lookup last job: "+c+". GET status: "+b})})}}InventoriesEdit.$inject="$scope $rootScope $compile $location $log $routeParams InventoryForm GenerateForm Rest Alert ProcessErrors LoadBreadCrumbs RelatedSearchInit RelatedPaginateInit ReturnToCaller ClearScope LookUpInit Prompt OrganizationList TreeInit GetBasePath GroupsList GroupsEdit LoadInventory GroupsDelete HostsList HostsAdd HostsEdit HostsDelete RefreshTree ParseTypeChange".split(" ");function JobEventsList(h,m,k,g,c,p,f,e,l,a,d,b,z,w,B,u,x,t,s,n,C){B("htmlTemplate");e.base=k.path();h=x("jobs")+c.id+"/job_events/";k.path().replace(/^\//,"").split("/");var q=l.inject(e,{mode:"edit"});m.flashMessage=null;q.selected=[];q.expand=!0;q.parentNode="parent-event";q.childNode="child-event";q.RemovePostRefresh&&q.RemovePostRefresh();q.RemovePostRefresh=q.$on("PostRefresh",function(){for(var a=q[e.name],b,d=0;d<a.length;d++){a[d].event_display=a[d].event_display.replace(/^\u00a0*/g,"");if(3>
|
||||
a[d].event_level)a[d].ngclick="toggleChildren("+a[d].id+', "'+a[d].related.children+'")',a[d].ngicon="icon-collapse-alt",a[d]["class"]="parentNode";else{a[d]["class"]="childNode";b=a[d];var c=a[d].event_data,f="";if(c.res){var l=!1,n=void 0,n=void 0;if("string"==typeof c.res)n=(n=c.res.match(/\n/g))?n.length:1,l=!0,f+="<label>Traceback:</label>\n",f+='<textarea readonly class="input-xxlarge" rows="'+n+'">'+c.res+"</textarea>\n";else{var k=void 0;for(k in c.res)if(("msg"==k||"stdout"==k||"stderr"==
|
||||
k)&&null!==c.res[k]&&""!==c.res[k]){f+="<label>";switch(k){case "msg":case "stdout":f+="Output:";break;case "stderr":f+="Error:"}f+="</label>\n";n=(n=c.res[k].match(/\n/g))?n.length:1;f+='<textarea readonly class="input-xxlarge" rows="'+n+'">'+c.res[k]+"</textarea>\n";l=!0}}f=l?'<form class="event-detail">\n'+f+"</form>\n":""}f=""==f?null:f;b.event_detail=f}a[d].show=!0;a[d].spaces=24*a[d].event_level;q.jobevents[d].status=q.jobevents[d].failed?"error":q.jobevents[d].changed?"changed":"success";b=
|
||||
new Date(a[d].created);a[d].created=C(b)}});b({scope:q,set:"jobevents",list:e,url:h});z({scope:q,list:e,url:h});c.host&&(q[e.iterator+"SearchField"]="host",q[e.iterator+"SearchValue"]=c.host,q[e.iterator+"SearchFieldLabel"]=e.fields.host.label);q.search(e.iterator);q.toggleChildren=function(a,b){s({scope:q,list:e,id:a,children:b})};a();q.viewJobEvent=function(a){n({event_id:a})};q.refresh=function(){q.expand=!0;q.search(e.iterator)};q.jobDetails=function(){k.path("/jobs/"+c.id)};q.jobSummary=function(){k.path("/jobs/"+
|
||||
c.id+"/job_host_summaries")}}JobEventsList.$inject="$scope $rootScope $location $log $routeParams Rest Alert JobEventList GenerateList LoadBreadCrumbs Prompt SearchInit PaginateInit ReturnToCaller ClearScope ProcessErrors GetBasePath LookUpInit ToggleChildren EventView FormatDate".split(" ");
|
||||
a[d].event_level)a[d].ngclick="toggleChildren("+a[d].id+', "'+a[d].related.children+'")',a[d].ngicon="icon-collapse-alt",a[d]["class"]="parentNode";else{a[d]["class"]="childNode";b=a[d];var c=a[d].event_data,f="";if(c.res){var l=!1,n=void 0,n=void 0;if("string"==typeof c.res)n=(n=c.res.match(/\n/g))?n.length:1,l=!0,f+="<label>Traceback:</label>\n",f+='<textarea readonly class="input-xxlarge" rows="'+n+'">'+c.res+"</textarea>\n";else{var k=void 0;for(k in c.res){if(("msg"==k||"stdout"==k||"stderr"==
|
||||
k)&&null!==c.res[k]&&""!==c.res[k]){f+="<label>";switch(k){case "msg":case "stdout":f+="Output:";break;case "stderr":f+="Error:"}f+="</label>\n";n=(n=c.res[k].match(/\n/g))?n.length:1;f+='<textarea readonly class="input-xxlarge" rows="'+n+'">'+c.res[k]+"</textarea>\n";l=!0}if("results"==k&&Array.isArray(c.res[k])&&0<c.res[k].length){f+="<label>Results:</label>\n";l="";for(n=0;n<c.res[k].length;n++)l+=c.res[k][n];f+='<textarea readonly class="input-xxlarge" rows="'+n+'">'+l+"</textarea>\n";l=!0}"rc"==
|
||||
k&&0!=c.res[k]&&(f+="<label>Return Code:</label>\n",f+='<input type="text" value="'+c.res[k]+'" readonly >\n',l=!0)}}f=l?'<form class="event-detail">\n'+f+"</form>\n":""}f=""==f?null:f;b.event_detail=f}a[d].show=!0;a[d].spaces=24*a[d].event_level;q.jobevents[d].status=q.jobevents[d].failed?"error":q.jobevents[d].changed?"changed":"success";b=new Date(a[d].created);a[d].created=C(b)}});b({scope:q,set:"jobevents",list:e,url:h});z({scope:q,list:e,url:h});c.host&&(q[e.iterator+"SearchField"]="host",q[e.iterator+
|
||||
"SearchValue"]=c.host,q[e.iterator+"SearchFieldLabel"]=e.fields.host.label);q.search(e.iterator);q.toggleChildren=function(a,b){s({scope:q,list:e,id:a,children:b})};a();q.viewJobEvent=function(a){n({event_id:a})};q.refresh=function(){q.expand=!0;q.search(e.iterator)};q.jobDetails=function(){k.path("/jobs/"+c.id)};q.jobSummary=function(){k.path("/jobs/"+c.id+"/job_host_summaries")}}JobEventsList.$inject="$scope $rootScope $location $log $routeParams Rest Alert JobEventList GenerateList LoadBreadCrumbs Prompt SearchInit PaginateInit ReturnToCaller ClearScope ProcessErrors GetBasePath LookUpInit ToggleChildren EventView FormatDate".split(" ");
|
||||
function JobEventsEdit(h,m,k,g,c,p,f,e,l,a,d,b,z,w,B){z("htmlTemplate");var u=e.inject(f,{mode:"edit",related:!0});e.reset();h=w("base")+"job_events/"+p.event_id+"/";g.path().replace(/^\//,"").split("/");l.setUrl(h);l.get().success(function(a,d,c,e){b({path:"/job_events/"+p.event_id,title:a.event});for(var l in f.fields)"status"==l?u.status=a.failed?"error":"success":"event_data"==l?u.event_data=JSON.stringify(a.event_data,void 0,"\t"):"created"==l?u.created=B(new Date(a.created)):a[l]&&(u[l]=a[l])}).error(function(a,
|
||||
b,c,e){d(u,a,b,f,{hdr:"Error!",msg:"Failed to retrieve event detail: "+p.event_id+". GET status: "+b})})}JobEventsEdit.$inject="$scope $rootScope $compile $location $log $routeParams JobEventForm GenerateForm Rest Alert ProcessErrors LoadBreadCrumbs ClearScope GetBasePath FormatDate".split(" ");function JobHostSummaryList(h,m,k,g,c,p,f,e,l,a,d,b,z,w,B,u,x){B("htmlTemplate");h=x("jobs")+c.id+"/job_host_summaries/";k.path().replace(/^\//,"").split("/");var t=l.inject(e,{mode:"edit"});t.selected=[];t.PostRefreshRemove&&t.PostRefreshRemove();t.PostRefershRemove=t.$on("PostRefresh",function(){for(var a=0;a<t.jobhosts.length;a++)t.jobhosts[a].host_name=t.jobhosts[a].summary_fields.host.name,t.jobhosts[a].status=t.jobhosts[a].failed?"error":"success"});b({scope:t,set:"jobhosts",list:e,url:h});
|
||||
z({scope:t,list:e,url:h});t.search(e.iterator);a();t.showEvents=function(b,d){p.setUrl(d);p.get().success(function(d,c,f,e){a({path:"/jobs/"+d.id,title:d.name});k.url("/jobs/"+d.id+"/job_events/?host="+escape(b))}).error(function(a,b,c,f){u(t,a,b,form,{hdr:"Error!",msg:"Failed to lookup last job: "+d+". GET status: "+b})})};t.refresh=function(){t.search(e.iterator)};t.jobDetails=function(){k.path("/jobs/"+c.id)};t.jobEvents=function(){k.path("/jobs/"+c.id+"/job_events")}}
|
||||
@ -71,11 +71,11 @@ l.setUrl(r.template_url);l.get().success(function(a,b,d,c){b=a.host_config_key?"
|
||||
[{value:"0",label:"Default"},{value:"1",label:"Verbose"},{value:"3",label:"Debug"}];r.playbook_options=null;r.playbook=null;l.setUrl(F+":id/");l.get({params:{id:J}}).success(function(a,d,c,f){b({path:"/job_templates/"+J,title:a.name});for(var e in D.fields){if(null!==a[e]&&void 0!==a[e]){if("select"==D.fields[e].type)if(r[e+"_options"]&&0<r[e+"_options"].length)for(d=0;d<r[e+"_options"].length;d++)a[e]==r[e+"_options"][d].value&&(r[e]=r[e+"_options"][d]);else r[e]=a[e];else r[e]=a[e];G[e]=r[e]}"lookup"==
|
||||
D.fields[e].type&&a.summary_fields[D.fields[e].sourceModel]&&(r[D.fields[e].sourceModel+"_"+D.fields[e].sourceField]=a.summary_fields[D.fields[e].sourceModel][D.fields[e].sourceField],G[D.fields[e].sourceModel+"_"+D.fields[e].sourceField]=r[D.fields[e].sourceModel+"_"+D.fields[e].sourceField])}for(e in D.statusFields)null!==a[e]&&void 0!==a[e]&&("created"==e?r.created=A(new Date(a.created)):r[e]=a[e]);$('form[name="jobs_form"] input[type="text"], form[name="jobs_form"] jobs_form textarea').attr("readonly",
|
||||
"readonly");$('form[name="jobs_form"] select').prop("disabled","disabled");$('form[name="jobs_form"] .lookup-btn').prop("disabled","disabled");$('form[name="jobs_form"] .buttons, form[name="jobs_form"] hr').hide();r.url=a.url;e=a.related;for(var l in D.related)e[l]&&(H[l]={url:e[l],iterator:D.related[l].iterator});n({scope:r,form:D,current_item:a.inventory,list:x,field:"inventory"});n({scope:r,form:D,current_item:a.credential,list:t,field:"credential"});n({scope:r,form:D,current_item:a.project,list:s,
|
||||
field:"project"});z({scope:r,form:D,relatedSets:H});w({scope:r,relatedSets:H});r.template_url=a.related.job_template;r.$emit("jobLoaded")}).error(function(a,b,c,e){d(r,a,b,D,{hdr:"Error!",msg:"Failed to retrieve job: "+p.id+". GET status: "+b})});r.formSave=function(){l.setUrl(F+p.id+"/");var a={},b;for(b in D.fields)a[b]="select"==D.fields[b].type&&"playbook"!=b?r[b].value:r[b];l.put(a).success(function(a,b,d,c){"job_templates"==g.path().replace(/^\//,"").split("/")[0]?B():B(1)}).error(function(a,
|
||||
b,c,e){d(r,a,b,D,{hdr:"Error!",msg:"Failed to update job "+p.id+". PUT returned status: "+b})})};r.formReset=function(){e.reset();for(var a in G)r[a]=G[a];$("#forks-slider").slider("option","value",r.forks)};r.add=function(a){m.flashMessage=null;g.path("/"+K+"/"+p.id+"/"+a)};r.edit=function(a,b,d){m.flashMessage=null;g.path("/"+K+"/"+p.id+"/"+a+"/"+b)};r["delete"]=function(a,b,c,e){m.flashMessage=null;Prompt({hdr:"Delete",body:"Are you sure you want to remove "+c+" from "+r.name+" "+e+"?",action:function(){var c=
|
||||
F+J+"/"+a+"/";l.setUrl(c);l.post({id:b,disassociate:1}).success(function(b,d,c,e){$("#prompt-modal").modal("hide");r.search(D.related[a].iterator)}).error(function(a,b,e,f){$("#prompt-modal").modal("hide");d(r,a,b,null,{hdr:"Error!",msg:"Call to "+c+" failed. POST returned status: "+b})})}})};r.refresh=function(){r.statusSearchSpin=!0;l.setUrl(F+J+"/");l.get().success(function(a,b,d,c){r.status=a.status;r.result_stdout=a.result_stdout;r.result_traceback=a.result_traceback;r.statusSearchSpin=!1}).error(function(a,
|
||||
b,c,e){d(r,a,b,null,{hdr:"Error!",msg:"Attempt to load job failed. GET returned status: "+b})})};r.jobSummary=function(){g.path("/jobs/"+J+"/job_host_summaries")};r.jobEvents=function(){g.path("/jobs/"+J+"/job_events")}}JobsEdit.$inject="$scope $rootScope $compile $location $log $routeParams JobForm GenerateForm Rest Alert ProcessErrors LoadBreadCrumbs RelatedSearchInit RelatedPaginateInit ReturnToCaller ClearScope InventoryList CredentialList ProjectList LookUpInit PromptPasswords GetBasePath md5Setup FormatDate".split(" ");function JobTemplatesList(h,m,k,g,c,p,f,e,l,a,d,b,z,w,B,u,x,t,s,n,C,q){B("htmlTemplate");var v=x("job_templates");h="job_templates"==k.path().replace(/^\//,"").split("/")[0]?"edit":"select";var A=l.inject(e,{mode:h});m.flashMessage=null;A.selected=[];A.PostRefreshRemove&&A.PostRefreshRemove();A.PostRefreshRemove=A.$on("PostRefresh",function(){$("tr.success").each(function(a){a=$(this).attr("ng-class");A[a]=""})});b({scope:A,set:"job_templates",list:e,url:v});z({scope:A,list:e,url:v});A.search(e.iterator);
|
||||
a();A.addJobTemplate=function(){k.path(k.path()+"/add")};A.editJobTemplate=function(a){k.path(k.path()+"/"+a)};A.deleteJobTemplate=function(a,b){d({hdr:"Delete",body:"Are you sure you want to delete "+b+"?",action:function(){var b=v+a+"/";p.setUrl(b);p.destroy().success(function(a,b,d,c){$("#prompt-modal").modal("hide");A.search(e.iterator)}).error(function(a,d,c,e){$("#prompt-modal").modal("hide");u(A,a,d,null,{hdr:"Error!",msg:"Call to "+b+" failed. DELETE returned status: "+d})})}})};A.finishSelection=
|
||||
field:"project"});z({scope:r,form:D,relatedSets:H});w({scope:r,relatedSets:H});r.template_url=a.related.job_template;r.$emit("jobLoaded")}).error(function(a,b,c,f){d(r,a,b,D,{hdr:"Error!",msg:"Failed to retrieve job: "+p.id+". GET status: "+b})});r.formSave=function(){l.setUrl(F+p.id+"/");var a={},b;for(b in D.fields)a[b]="select"==D.fields[b].type&&"playbook"!=b?r[b].value:r[b];l.put(a).success(function(a,b,d,c){"job_templates"==g.path().replace(/^\//,"").split("/")[0]?B():B(1)}).error(function(a,
|
||||
b,c,f){d(r,a,b,D,{hdr:"Error!",msg:"Failed to update job "+p.id+". PUT returned status: "+b})})};r.formReset=function(){e.reset();for(var a in G)r[a]=G[a];$("#forks-slider").slider("option","value",r.forks)};r.add=function(a){m.flashMessage=null;g.path("/"+K+"/"+p.id+"/"+a)};r.edit=function(a,b,d){m.flashMessage=null;g.path("/"+K+"/"+p.id+"/"+a+"/"+b)};r["delete"]=function(a,b,c,f){m.flashMessage=null;Prompt({hdr:"Delete",body:"Are you sure you want to remove "+c+" from "+r.name+" "+f+"?",action:function(){var c=
|
||||
F+J+"/"+a+"/";l.setUrl(c);l.post({id:b,disassociate:1}).success(function(b,d,c,f){$("#prompt-modal").modal("hide");r.search(D.related[a].iterator)}).error(function(a,b,f,e){$("#prompt-modal").modal("hide");d(r,a,b,null,{hdr:"Error!",msg:"Call to "+c+" failed. POST returned status: "+b})})}})};r.refresh=function(){r.statusSearchSpin=!0;l.setUrl(F+J+"/");l.get().success(function(a,b,d,c){r.status=a.status;r.result_stdout=a.result_stdout;r.result_traceback=a.result_traceback;r.statusSearchSpin=!1}).error(function(a,
|
||||
b,c,f){d(r,a,b,null,{hdr:"Error!",msg:"Attempt to load job failed. GET returned status: "+b})})};r.jobSummary=function(){g.path("/jobs/"+J+"/job_host_summaries")};r.jobEvents=function(){g.path("/jobs/"+J+"/job_events")}}JobsEdit.$inject="$scope $rootScope $compile $location $log $routeParams JobForm GenerateForm Rest Alert ProcessErrors LoadBreadCrumbs RelatedSearchInit RelatedPaginateInit ReturnToCaller ClearScope InventoryList CredentialList ProjectList LookUpInit PromptPasswords GetBasePath md5Setup FormatDate".split(" ");function JobTemplatesList(h,m,k,g,c,p,f,e,l,a,d,b,z,w,B,u,x,t,s,n,C,q){B("htmlTemplate");var v=x("job_templates");h="job_templates"==k.path().replace(/^\//,"").split("/")[0]?"edit":"select";var A=l.inject(e,{mode:h});m.flashMessage=null;A.selected=[];A.PostRefreshRemove&&A.PostRefreshRemove();A.PostRefreshRemove=A.$on("PostRefresh",function(){$("tr.success").each(function(a){a=$(this).attr("ng-class");A[a]=""})});b({scope:A,set:"job_templates",list:e,url:v});z({scope:A,list:e,url:v});A.search(e.iterator);
|
||||
a();A.addJobTemplate=function(){k.path(k.path()+"/add")};A.editJobTemplate=function(a){k.path(k.path()+"/"+a)};A.deleteJobTemplate=function(a,b){d({hdr:"Delete",body:"Are you sure you want to delete "+b+"?",action:function(){var b=v+a+"/";p.setUrl(b);p.destroy().success(function(a,b,d,c){$("#prompt-modal").modal("hide");A.search(e.iterator)}).error(function(a,d,c,f){$("#prompt-modal").modal("hide");u(A,a,d,null,{hdr:"Error!",msg:"Call to "+b+" failed. DELETE returned status: "+d})})}})};A.finishSelection=
|
||||
function(){p.setUrl(v);A.queue=[];A.callFinishedRemove&&A.callFinishedRemove();A.callFinishedRemove=A.$on("callFinished",function(){if(A.queue.length==A.selected.length){$('input[type="checkbox"]').prop("checked",!1);A.selected=[];for(var a=0,b=0;b<A.queue.length;b++)"error"==A.queue[b].result&&a++;0<a?f("Error","There was an error while adding one or more of the selected templates."):w(1)}});if(0<A.selected.length)for(var a=null,b=0;b<A.selected.length;b++){for(var d=0;d<A.job_templates.length;d++)A.job_templates[d].id==
|
||||
A.selected[b]&&(a=A.job_templates[d]);null!==a&&p.post(a).success(function(a,b,d,c){A.queue.push({result:"success",data:a,status:b});A.$emit("callFinished")}).error(function(a,b,d,c){A.queue.push({result:"error",data:a,status:b,headers:d});A.$emit("callFinished")})}else w(1)};A.toggle_job_template=function(a){"success"==A[e.iterator+"_"+a+"_class"]?(A[e.iterator+"_"+a+"_class"]="",document.getElementById("check_"+a).checked=!1,-1<A.selected.indexOf(a)&&A.selected.splice(A.selected.indexOf(a),1)):
|
||||
(A[e.iterator+"_"+a+"_class"]="success",document.getElementById("check_"+a).checked=!0,-1==A.selected.indexOf(a)&&A.selected.push(a))};A.submitJob=function(a){q({scope:A,id:a})}}JobTemplatesList.$inject="$scope $rootScope $location $log $routeParams Rest Alert JobTemplateList GenerateList LoadBreadCrumbs Prompt SearchInit PaginateInit ReturnToCaller ClearScope ProcessErrors GetBasePath PromptPasswords JobTemplateForm CredentialList LookUpInit SubmitJob".split(" ");
|
||||
@ -83,29 +83,29 @@ function JobTemplatesAdd(h,m,k,g,c,p,f,e,l,a,d,b,z,w,B,u,x,t,s,n,C){w("htmlTempl
|
||||
current_item:null,list:u,field:"inventory"});s({scope:v,form:f,current_item:null,list:x,field:"credential"});v.selectPlaybookUnregister&&v.selectPlaybookUnregister();v.selectPlaybookUnregister=v.$watch("project_name",function(a,b){if(a!=b&&v.project){var c=B("projects")+v.project+"/playbooks/";l.setUrl(c);l.get().success(function(a,b,d,c){b=[];for(d=0;d<a.length;d++)b.push(a[d]);v.playbook_options=b}).error(function(a,b,e,l){d(v,a,b,f,{hdr:"Error!",msg:"Failed to get playbook list for "+c+". GET returned status: "+
|
||||
b})})}});s({scope:v,form:f,current_item:null,list:t,field:"project"});v.formSave=function(){var b={};try{if("json"==v.parseType){JSON.parse(v.variables);var c=v.variables}else c=jsyaml.load(v.variables);for(var e in f.fields)"select"==f.fields[e].type&&"playbook"!=e?b[e]=v[e].value:"variables"!=e&&(b[e]=v[e]);b.extra_vars=JSON.stringify(c,void 0,"\t");l.setUrl(q);l.post(b).success(function(a,b,d,c){"job_templates"==g.path().replace(/^\//,"").split("/")[0]?z():z(1)}).error(function(a,b,c,e){d(v,a,
|
||||
b,f,{hdr:"Error!",msg:"Failed to add new job template. POST returned status: "+b})})}catch(n){a("Error","Error parsing extra variables. Parser returned: "+n)}};v.formReset=function(){e.reset();$("#forks-slider").slider("option","value",v.forks);for(var a in A)v[a]=A[a]}}JobTemplatesAdd.$inject="$scope $rootScope $compile $location $log $routeParams JobTemplateForm GenerateForm Rest Alert ProcessErrors LoadBreadCrumbs ReturnToCaller ClearScope GetBasePath InventoryList CredentialList ProjectList LookUpInit md5Setup ParseTypeChange".split(" ");
|
||||
function JobTemplatesEdit(h,m,k,g,c,p,f,e,l,a,d,b,z,w,B,u,x,t,s,n,C,q,v,A){function E(a){if(null!==a&&""!==a&&void 0!==a){var b=q("projects")+a+"/playbooks/";l.setUrl(b);l.get().success(function(a,b,d,c){r.playbook_options=[];for(b=0;b<a.length;b++)r.playbook_options.push(a[b])}).error(function(a,c,e,f){d(r,a,c,D,{hdr:"Error!",msg:"Failed to get playbook list for "+b+". GET returned status: "+c})})}}u("htmlTemplate");var F=q("job_templates"),D=f,r=e.inject(D,{mode:"edit",related:!0});r.parseType=
|
||||
function JobTemplatesEdit(h,m,k,g,c,p,f,e,l,a,d,b,z,w,B,u,x,t,s,n,C,q,v,A){function E(a){if(null!==a&&""!==a&&void 0!==a){var b=q("projects")+a+"/playbooks/";l.setUrl(b);l.get().success(function(a,b,d,c){r.playbook_options=[];for(b=0;b<a.length;b++)r.playbook_options.push(a[b])}).error(function(a,c,f,e){d(r,a,c,D,{hdr:"Error!",msg:"Failed to get playbook list for "+b+". GET returned status: "+c})})}}u("htmlTemplate");var F=q("job_templates"),D=f,r=e.inject(D,{mode:"edit",related:!0});r.parseType=
|
||||
"yaml";A(r);r.job_type_options=[{value:"run",label:"Run"},{value:"check",label:"Check"}];r.verbosity_options=[{value:"0",label:"Default"},{value:"1",label:"Verbose"},{value:"3",label:"Debug"}];r.playbook_options=null;r.playbook=null;e.reset();var K=g.path().replace(/^\//,"").split("/")[0],G={},J=p.id,H={};r.selectPlaybookUnregister&&r.selectPlaybookUnregister();r.selectPlaybookUnregister=r.$watch("project_name",function(a,b){a!==b&&(""!==b&&null!==b&&void 0!==b)&&(r.playbook=null,E(r.project))});
|
||||
r.jobTemplateLoadedRemove&&r.jobTemplateLoadedRemove();r.jobTemplateLoadedRemove=r.$on("jobTemplateLoaded",function(){for(var a in H)r.search(H[a].iterator);E(r.project);$("#forks-slider").slider("value",r.forks);v({scope:r,master:G,check_field:"allow_callbacks",default_val:r.host_config_key?"true":"false"})});l.setUrl(F+":id/");l.get({params:{id:J}}).success(function(a,d,c,e){b({path:"/job_templates/"+J,title:a.name});for(var f in D.fields){if("variables"!=f&&null!==a[f]&&void 0!==a[f]){if("select"==
|
||||
D.fields[f].type)if(r[f+"_options"]&&0<r[f+"_options"].length)for(d=0;d<r[f+"_options"].length;d++)a[f]==r[f+"_options"][d].value&&(r[f]=r[f+"_options"][d]);else r[f]=a[f];else r[f]=a[f];G[f]=r[f]}"variables"==f&&($.isEmptyObject(a.extra_vars)||"{}"==a.extra_vars||"null"==a.extra_vars?r.variables="---":(d=JSON.parse(a.extra_vars),r.variables=jsyaml.safeDump(d)),G.variables=r.variables);"lookup"==D.fields[f].type&&a.summary_fields[D.fields[f].sourceModel]&&(r[D.fields[f].sourceModel+"_"+D.fields[f].sourceField]=
|
||||
a.summary_fields[D.fields[f].sourceModel][D.fields[f].sourceField],G[D.fields[f].sourceModel+"_"+D.fields[f].sourceField]=r[D.fields[f].sourceModel+"_"+D.fields[f].sourceField])}r.url=a.url;f=a.related;for(var l in D.related)f[l]&&(H[l]={url:f[l],iterator:D.related[l].iterator});n({scope:r,form:D,current_item:a.inventory,list:x,field:"inventory"});n({scope:r,form:D,current_item:a.credential,list:t,field:"credential"});n({scope:r,form:D,current_item:a.project,list:s,field:"project"});z({scope:r,form:D,
|
||||
relatedSets:H});w({scope:r,relatedSets:H});r.$emit("jobTemplateLoaded")}).error(function(a,b,c,f){d(r,a,b,D,{hdr:"Error!",msg:"Failed to retrieve job template: "+p.id+". GET status: "+b})});r.formSave=function(){var b={};try{var c="json"==r.parseType?JSON.parse(r.variables):jsyaml.load(r.variables),f;for(f in D.fields)"select"==D.fields[f].type&&"playbook"!=f?b[f]=r[f].value:"variables"!=f&&(b[f]=r[f]);b.extra_vars=JSON.stringify(c,void 0,"\t");l.setUrl(F+J+"/");l.put(b).success(function(a,b,d,c){"job_templates"==
|
||||
g.path().replace(/^\//,"").split("/")[0]?B():B(1)}).error(function(a,b,c,f){d(r,a,b,D,{hdr:"Error!",msg:"Failed to update job template. PUT returned status: "+b})})}catch(e){a("Error","Error parsing extra variables. Parser returned: "+e)}};r.formReset=function(){e.reset();for(var a in G)r[a]=G[a];r.parseType="yaml";$("#forks-slider").slider("option","value",r.forks)};r.add=function(a){m.flashMessage=null;g.path("/"+K+"/"+p.id+"/"+a)};r.edit=function(a,b,d){m.flashMessage=null;g.path("/"+a+"/"+b)};
|
||||
r["delete"]=function(a,b,c,f){m.flashMessage=null;Prompt({hdr:"Delete",body:"Are you sure you want to remove "+c+" from "+r.name+" "+f+"?",action:function(){var c=F+J+"/"+a+"/";l.setUrl(c);l.post({id:b,disassociate:1}).success(function(b,d,c,f){$("#prompt-modal").modal("hide");r.search(D.related[a].iterator)}).error(function(a,b,f,e){$("#prompt-modal").modal("hide");d(r,a,b,null,{hdr:"Error!",msg:"Call to "+c+" failed. POST returned status: "+b})})}})}}JobTemplatesEdit.$inject="$scope $rootScope $compile $location $log $routeParams JobTemplateForm GenerateForm Rest Alert ProcessErrors LoadBreadCrumbs RelatedSearchInit RelatedPaginateInit ReturnToCaller ClearScope InventoryList CredentialList ProjectList LookUpInit PromptPasswords GetBasePath md5Setup ParseTypeChange".split(" ");function OrganizationsList(h,m,k,g,c,p,f,e,l,a,d,b,z,w,B){z("htmlTemplate");h="organizations"==k.path().replace(/^\//,"").split("/")[0]?"edit":"select";var u=l.inject(a,{mode:h}),x=B("organizations");m.flashMessage=null;f();u.PostRefreshRemove&&u.PostRefreshRemove();u.PostRefreshRemove=u.$on("PostRefresh",function(){$("tr.success").each(function(a){a=$(this).attr("ng-class");u[a]=""})});d({scope:u,set:a.name,list:a,url:x});b({scope:u,list:a,url:x});u.search(a.iterator);u.addOrganization=function(){k.path(k.path()+
|
||||
"/add")};u.editOrganization=function(a){k.path(k.path()+"/"+a)};u.deleteOrganization=function(b,d){e({hdr:"Delete",body:"Are you sure you want to delete "+d+"?",action:function(){var d=x+b+"/";c.setUrl(d);c.destroy().success(function(b,d,c,f){$("#prompt-modal").modal("hide");u.search(a.iterator)}).error(function(a,b,c,f){$("#prompt-modal").modal("hide");w(u,a,b,null,{hdr:"Error!",msg:"Call to "+d+" failed. DELETE returned status: "+b})})}})};u.toggle_organization=function(b){"success"==u[a.iterator+
|
||||
r.jobTemplateLoadedRemove&&r.jobTemplateLoadedRemove();r.jobTemplateLoadedRemove=r.$on("jobTemplateLoaded",function(){for(var a in H)r.search(H[a].iterator);E(r.project);$("#forks-slider").slider("value",r.forks);v({scope:r,master:G,check_field:"allow_callbacks",default_val:r.host_config_key?"true":"false"})});l.setUrl(F+":id/");l.get({params:{id:J}}).success(function(a,d,c,f){b({path:"/job_templates/"+J,title:a.name});for(var e in D.fields){if("variables"!=e&&null!==a[e]&&void 0!==a[e]){if("select"==
|
||||
D.fields[e].type)if(r[e+"_options"]&&0<r[e+"_options"].length)for(d=0;d<r[e+"_options"].length;d++)a[e]==r[e+"_options"][d].value&&(r[e]=r[e+"_options"][d]);else r[e]=a[e];else r[e]=a[e];G[e]=r[e]}"variables"==e&&($.isEmptyObject(a.extra_vars)||"{}"==a.extra_vars||"null"==a.extra_vars?r.variables="---":(d=JSON.parse(a.extra_vars),r.variables=jsyaml.safeDump(d)),G.variables=r.variables);"lookup"==D.fields[e].type&&a.summary_fields[D.fields[e].sourceModel]&&(r[D.fields[e].sourceModel+"_"+D.fields[e].sourceField]=
|
||||
a.summary_fields[D.fields[e].sourceModel][D.fields[e].sourceField],G[D.fields[e].sourceModel+"_"+D.fields[e].sourceField]=r[D.fields[e].sourceModel+"_"+D.fields[e].sourceField])}r.url=a.url;e=a.related;for(var l in D.related)e[l]&&(H[l]={url:e[l],iterator:D.related[l].iterator});n({scope:r,form:D,current_item:a.inventory,list:x,field:"inventory"});n({scope:r,form:D,current_item:a.credential,list:t,field:"credential"});n({scope:r,form:D,current_item:a.project,list:s,field:"project"});z({scope:r,form:D,
|
||||
relatedSets:H});w({scope:r,relatedSets:H});r.$emit("jobTemplateLoaded")}).error(function(a,b,c,e){d(r,a,b,D,{hdr:"Error!",msg:"Failed to retrieve job template: "+p.id+". GET status: "+b})});r.formSave=function(){var b={};try{var c="json"==r.parseType?JSON.parse(r.variables):jsyaml.load(r.variables),e;for(e in D.fields)"select"==D.fields[e].type&&"playbook"!=e?b[e]=r[e].value:"variables"!=e&&(b[e]=r[e]);b.extra_vars=JSON.stringify(c,void 0,"\t");l.setUrl(F+J+"/");l.put(b).success(function(a,b,d,c){"job_templates"==
|
||||
g.path().replace(/^\//,"").split("/")[0]?B():B(1)}).error(function(a,b,c,e){d(r,a,b,D,{hdr:"Error!",msg:"Failed to update job template. PUT returned status: "+b})})}catch(f){a("Error","Error parsing extra variables. Parser returned: "+f)}};r.formReset=function(){e.reset();for(var a in G)r[a]=G[a];r.parseType="yaml";$("#forks-slider").slider("option","value",r.forks)};r.add=function(a){m.flashMessage=null;g.path("/"+K+"/"+p.id+"/"+a)};r.edit=function(a,b,d){m.flashMessage=null;g.path("/"+a+"/"+b)};
|
||||
r["delete"]=function(a,b,c,e){m.flashMessage=null;Prompt({hdr:"Delete",body:"Are you sure you want to remove "+c+" from "+r.name+" "+e+"?",action:function(){var c=F+J+"/"+a+"/";l.setUrl(c);l.post({id:b,disassociate:1}).success(function(b,d,c,e){$("#prompt-modal").modal("hide");r.search(D.related[a].iterator)}).error(function(a,b,e,f){$("#prompt-modal").modal("hide");d(r,a,b,null,{hdr:"Error!",msg:"Call to "+c+" failed. POST returned status: "+b})})}})}}JobTemplatesEdit.$inject="$scope $rootScope $compile $location $log $routeParams JobTemplateForm GenerateForm Rest Alert ProcessErrors LoadBreadCrumbs RelatedSearchInit RelatedPaginateInit ReturnToCaller ClearScope InventoryList CredentialList ProjectList LookUpInit PromptPasswords GetBasePath md5Setup ParseTypeChange".split(" ");function OrganizationsList(h,m,k,g,c,p,f,e,l,a,d,b,z,w,B){z("htmlTemplate");h="organizations"==k.path().replace(/^\//,"").split("/")[0]?"edit":"select";var u=l.inject(a,{mode:h}),x=B("organizations");m.flashMessage=null;f();u.PostRefreshRemove&&u.PostRefreshRemove();u.PostRefreshRemove=u.$on("PostRefresh",function(){$("tr.success").each(function(a){a=$(this).attr("ng-class");u[a]=""})});d({scope:u,set:a.name,list:a,url:x});b({scope:u,list:a,url:x});u.search(a.iterator);u.addOrganization=function(){k.path(k.path()+
|
||||
"/add")};u.editOrganization=function(a){k.path(k.path()+"/"+a)};u.deleteOrganization=function(b,d){e({hdr:"Delete",body:"Are you sure you want to delete "+d+"?",action:function(){var d=x+b+"/";c.setUrl(d);c.destroy().success(function(b,d,c,e){$("#prompt-modal").modal("hide");u.search(a.iterator)}).error(function(a,b,c,e){$("#prompt-modal").modal("hide");w(u,a,b,null,{hdr:"Error!",msg:"Call to "+d+" failed. DELETE returned status: "+b})})}})};u.toggle_organization=function(b){"success"==u[a.iterator+
|
||||
"_"+b+"_class"]?(u[a.iterator+"_"+b+"_class"]="",document.getElementById("check_"+b).checked=!1,-1<u.selected.indexOf(b)&&u.selected.splice(u.selected.indexOf(b),1)):(u[a.iterator+"_"+b+"_class"]="success",document.getElementById("check_"+b).checked=!0,-1==u.selected.indexOf(b)&&u.selected.push(b))}}OrganizationsList.$inject="$scope $rootScope $location $log Rest Alert LoadBreadCrumbs Prompt GenerateList OrganizationList SearchInit PaginateInit ClearScope ProcessErrors GetBasePath".split(" ");
|
||||
function OrganizationsAdd(h,m,k,g,c,p,f,e,l,a,d,b,z,w,B){z("htmlTemplate");var u=e.inject(f,{mode:"add",related:!1}),x=w("organizations");e.reset();b();u.formSave=function(){l.setUrl(x);l.post({name:h.name,description:h.description}).success(function(a,b,d,c){m.flashMessage="New organization successfully created!";g.path("/organizations/"+a.id)}).error(function(a,b,c,e){d(u,a,b,f,{hdr:"Error!",msg:"Failed to add new organization. Post returned status: "+b})})};u.formReset=function(){m.flashMessage=
|
||||
null;e.reset()}}OrganizationsAdd.$inject="$scope $rootScope $compile $location $log $routeParams OrganizationForm GenerateForm Rest Alert ProcessErrors LoadBreadCrumbs ClearScope GetBasePath ReturnToCaller".split(" ");
|
||||
function OrganizationsEdit(h,m,k,g,c,p,f,e,l,a,d,b,z,w,B,u,x){u("htmlTemplate");var t=e.inject(f,{mode:"edit",related:!0});e.reset();var s=x("organizations"),n=g.path().replace(/^\//,"").split("/")[0],C={},q=p.organization_id,v={};t.organizationLoadedRemove&&t.organizationLoadedRemove();t.organizationLoadedRemove=t.$on("organizationLoaded",function(){for(var a in v)t.search(v[a].iterator)});l.setUrl(s+q+"/");l.get().success(function(a,d,c,e){b({path:"/organizations/"+q,title:a.name});for(var l in f.fields)a[l]&&
|
||||
(t[l]=a[l],C[l]=a[l]);a=a.related;for(var n in f.related)a[n]&&(v[n]={url:a[n],iterator:f.related[n].iterator});z({scope:t,form:f,relatedSets:v});w({scope:t,relatedSets:v});t.$emit("organizationLoaded")}).error(function(a,b,c,e){d(t,a,b,f,{hdr:"Error!",msg:"Failed to retrieve organization: "+p.id+". GET status: "+b})});t.formSave=function(){var a={},b;for(b in f.fields)a[b]=t[b];l.setUrl(s+q+"/");l.put(a).success(function(b,d,c,f){C=a;m.flashMessage="Your changes were successfully saved!"}).error(function(a,
|
||||
(t[l]=a[l],C[l]=a[l]);a=a.related;for(var n in f.related)a[n]&&(v[n]={url:a[n],iterator:f.related[n].iterator});z({scope:t,form:f,relatedSets:v});w({scope:t,relatedSets:v});t.$emit("organizationLoaded")}).error(function(a,b,c,e){d(t,a,b,f,{hdr:"Error!",msg:"Failed to retrieve organization: "+p.id+". GET status: "+b})});t.formSave=function(){var a={},b;for(b in f.fields)a[b]=t[b];l.setUrl(s+q+"/");l.put(a).success(function(b,d,c,e){C=a;m.flashMessage="Your changes were successfully saved!"}).error(function(a,
|
||||
b,c,e){d(t,a,b,f,{hdr:"Error!",msg:"Failed to update organization: "+q+". PUT status: "+b})})};t.formReset=function(){m.flashMessage=null;f.reset();for(var a in C)t[a]=C[a]};t.add=function(a){m.flashMessage=null;g.path("/"+n+"/"+p.organization_id+"/"+a)};t.edit=function(a,b,d){m.flashMessage=null;g.path("/"+a+"/"+b)};t["delete"]=function(a,b,c,e){m.flashMessage=null;B({hdr:"Delete",body:"Are you sure you want to remove "+c+" from "+t.name+" "+e+"?",action:function(){var c=s+p.organization_id+"/"+
|
||||
a+"/";l.setUrl(c);l.post({id:b,disassociate:1}).success(function(b,d,c,e){$("#prompt-modal").modal("hide");t.search(f.related[a].iterator)}).error(function(a,b,f,e){$("#prompt-modal").modal("hide");d(t,a,b,null,{hdr:"Error!",msg:"Call to "+c+" failed. POST returned status: "+b})})}})}}OrganizationsEdit.$inject="$scope $rootScope $compile $location $log $routeParams OrganizationForm GenerateForm Rest Alert ProcessErrors LoadBreadCrumbs RelatedSearchInit RelatedPaginateInit Prompt ClearScope GetBasePath".split(" ");function PermissionsList(h,m,k,g,c,p,f,e,l,a,d,b,z,w,B,u,x,t){B("htmlTemplate");h=k.path().replace(/^\//,"").split("/")[0];h=x(h);h+=void 0!==c.user_id?c.user_id:c.team_id;h+="/permissions/";var s=l.inject(e,{mode:"edit"});s.selected=[];b({scope:s,set:"permissions",list:e,url:h});z({scope:s,list:e,url:h});s.search(e.iterator);a();s.addPermission=function(){t()&&k.path(k.path()+"/add")};s.editPermission=function(a){t()&&k.path(k.path()+"/"+a)};s.deletePermission=function(a,b){var c=function(){var b=
|
||||
x("base")+"permissions/"+a+"/";p.setUrl(b);p.destroy().success(function(a,b,d,c){$("#prompt-modal").modal("hide");s.search(e.iterator)}).error(function(a,d,c,f){$("#prompt-modal").modal("hide");u(s,a,d,null,{hdr:"Error!",msg:"Call to "+b+" failed. DELETE returned status: "+d})})};checkAccess()&&d({hdr:"Delete",body:"Are you sure you want to delete "+b+"?",action:c})}}PermissionsList.$inject="$scope $rootScope $location $log $routeParams Rest Alert PermissionList GenerateList LoadBreadCrumbs Prompt SearchInit PaginateInit ReturnToCaller ClearScope ProcessErrors GetBasePath CheckAccess".split(" ");
|
||||
a+"/";l.setUrl(c);l.post({id:b,disassociate:1}).success(function(b,d,c,e){$("#prompt-modal").modal("hide");t.search(f.related[a].iterator)}).error(function(a,b,e,f){$("#prompt-modal").modal("hide");d(t,a,b,null,{hdr:"Error!",msg:"Call to "+c+" failed. POST returned status: "+b})})}})}}OrganizationsEdit.$inject="$scope $rootScope $compile $location $log $routeParams OrganizationForm GenerateForm Rest Alert ProcessErrors LoadBreadCrumbs RelatedSearchInit RelatedPaginateInit Prompt ClearScope GetBasePath".split(" ");function PermissionsList(h,m,k,g,c,p,f,e,l,a,d,b,z,w,B,u,x,t){B("htmlTemplate");h=k.path().replace(/^\//,"").split("/")[0];h=x(h);h+=void 0!==c.user_id?c.user_id:c.team_id;h+="/permissions/";var s=l.inject(e,{mode:"edit"});s.selected=[];b({scope:s,set:"permissions",list:e,url:h});z({scope:s,list:e,url:h});s.search(e.iterator);a();s.addPermission=function(){t()&&k.path(k.path()+"/add")};s.editPermission=function(a){t()&&k.path(k.path()+"/"+a)};s.deletePermission=function(a,b){var c=function(){var b=
|
||||
x("base")+"permissions/"+a+"/";p.setUrl(b);p.destroy().success(function(a,b,d,c){$("#prompt-modal").modal("hide");s.search(e.iterator)}).error(function(a,d,c,e){$("#prompt-modal").modal("hide");u(s,a,d,null,{hdr:"Error!",msg:"Call to "+b+" failed. DELETE returned status: "+d})})};checkAccess()&&d({hdr:"Delete",body:"Are you sure you want to delete "+b+"?",action:c})}}PermissionsList.$inject="$scope $rootScope $location $log $routeParams Rest Alert PermissionList GenerateList LoadBreadCrumbs Prompt SearchInit PaginateInit ReturnToCaller ClearScope ProcessErrors GetBasePath CheckAccess".split(" ");
|
||||
function PermissionsAdd(h,m,k,g,c,p,f,e,l,a,d,b,z,w,B,u,x,t){z("htmlTemplate");var s=void 0!==p.user_id?p.user_id:p.team_id,n=g.path().replace(/^\//,"").split("/")[0];w(n);var C=e.inject(f,{mode:"add",related:!1}),q={};e.reset();b();C.inventoryrequired=!0;C.projectrequired=!1;C.category="Inventory";q.category="Inventory";q.inventoryrequired=!0;q.projectrequired=!1;t({scope:C,form:f,current_item:null,list:u,field:"inventory"});t({scope:C,form:f,current_item:null,list:x,field:"project"});C.formSave=
|
||||
function(){var a={},b;for(b in f.fields)a[b]=C[b];b="teams"==n?w("teams")+s+"/permissions/":w("users")+s+"/permissions/";l.setUrl(b);l.post(a).success(function(a,b,d,c){B(1)}).error(function(a,b,c,e){d(C,a,b,f,{hdr:"Error!",msg:"Failed to create new permission. Post returned status: "+b})})};C.formReset=function(){m.flashMessage=null;e.reset();for(var a in q)C[a]=q[a]};C.selectCategory=function(){C.projectrequired="Inventory"==C.category?!1:!0;C.permission_type=null}}PermissionsAdd.$inject="$scope $rootScope $compile $location $log $routeParams PermissionsForm GenerateForm Rest Alert ProcessErrors LoadBreadCrumbs ClearScope GetBasePath ReturnToCaller InventoryList ProjectList LookUpInit".split(" ");
|
||||
function PermissionsEdit(h,m,k,g,c,p,f,e,l,a,d,b,z,w,B,u,x,t,s){w("htmlTemplate");var n=e.inject(f,{mode:"edit",related:!0}),C=void 0!==p.user_id?p.user_id:p.team_id;g.path().replace(/^\//,"").split("/");var q=p.permission_id,v=u("base")+"permissions/"+q+"/";e.reset();var A={};l.setUrl(v);l.get().success(function(a,d,c,e){b({path:"/users/"+C+"/permissions/"+q,title:a.name});for(var l in f.fields)a[l]&&(f.fields[l].sourceModel&&(d=f.fields[l].sourceModel,c=f.fields[l].sourceField,n[d+"_"+c]=a.summary_fields[d][c],
|
||||
A[d+"_"+c]=a.summary_fields[d][c]),n[l]=a[l],A[l]=n[l]);n.category="Deploy";"run"!=a.permission_type&&"check"!=a.permission_type?(n.category="Inventory",n.projectrequired=!1):n.projectrequired=!0;A.category=n.category;s({scope:n,form:f,current_item:a.inventory,list:x,field:"inventory"});s({scope:n,form:f,current_item:a.project,list:t,field:"project"})}).error(function(a,b,c,e){d(n,a,b,f,{hdr:"Error!",msg:"Failed to retrieve Permission: "+q+". GET status: "+b})});n.formSave=function(){var a={},b;for(b in f.fields)a[b]=
|
||||
n[b];l.setUrl(v);l.put(a).success(function(a,b,d,c){z(1)}).error(function(a,b,c,e){d(n,a,b,f,{hdr:"Error!",msg:"Failed to update Permission: "+p.id+". PUT status: "+b})})};n.formReset=function(){e.reset();for(var a in A)n[a]=A[a]};n.selectCategory=function(){n.projectrequired="Inventory"==n.category?!1:!0;n.permission_type=null}}PermissionsEdit.$inject="$scope $rootScope $compile $location $log $routeParams PermissionsForm GenerateForm Rest Alert ProcessErrors LoadBreadCrumbs ReturnToCaller ClearScope Prompt GetBasePath InventoryList ProjectList LookUpInit".split(" ");function ProjectsList(h,m,k,g,c,p,f,e,l,a,d,b,z,w,B,u,x){B("htmlTemplate");var t=x("projects"),s=k.path().replace(/^\//,"").split("/")[0],n=l.inject(e,{mode:"projects"==s?"edit":"select"});n.selected=[];m.flashMessage=null;n.PostRefreshRemove&&n.PostRefreshRemove();n.PostRefreshRemove=n.$on("PostRefresh",function(){$("tr.success").each(function(a){a=$(this).attr("ng-class");n[a]=""})});b({scope:n,set:"projects",list:e,url:t});z({scope:n,list:e,url:t});n.search(e.iterator);a();n.addProject=function(){k.path(k.path()+
|
||||
"/add")};n.editProject=function(a){k.path(k.path()+"/"+a)};n.deleteProject=function(a,b){d({hdr:"Delete",body:"Are you sure you want to delete "+b+"?",action:function(){var b=t+a+"/";p.setUrl(b);p.destroy().success(function(a,b,d,c){$("#prompt-modal").modal("hide");n.search(e.iterator)}).error(function(a,d,c,f){$("#prompt-modal").modal("hide");u(n,a,d,null,{hdr:"Error!",msg:"Call to "+b+" failed. DELETE returned status: "+d})})}})};n.finishSelection=function(){var a="teams"==s?x("teams")+c.team_id+
|
||||
"/add")};n.editProject=function(a){k.path(k.path()+"/"+a)};n.deleteProject=function(a,b){d({hdr:"Delete",body:"Are you sure you want to delete "+b+"?",action:function(){var b=t+a+"/";p.setUrl(b);p.destroy().success(function(a,b,d,c){$("#prompt-modal").modal("hide");n.search(e.iterator)}).error(function(a,d,c,e){$("#prompt-modal").modal("hide");u(n,a,d,null,{hdr:"Error!",msg:"Call to "+b+" failed. DELETE returned status: "+d})})}})};n.finishSelection=function(){var a="teams"==s?x("teams")+c.team_id+
|
||||
"/projects/":t;p.setUrl(a);n.queue=[];n.callFinishedRemove&&n.callFinishedRemove();n.callFinishedRemoved=n.$on("callFinished",function(){if(n.queue.length==n.selected.length){$('input[type="checkbox"]').prop("checked",!1);n.selected=[];for(var a=0,b=0;b<n.queue.length;b++)"error"==n.queue[b].result&&a++;0<a?f("Error","There was an error while adding one or more of the selected Pojects."):w(1)}});if(0<n.selected.length)for(var a=null,b=0;b<n.selected.length;b++){for(var d=0;d<n.projects.length;d++)n.projects[d].id==
|
||||
n.selected[b]&&(a=n.projects[d]);null!==a&&p.post(a).success(function(a,b,d,c){n.queue.push({result:"success",data:a,status:b});n.$emit("callFinished")}).error(function(a,b,d,c){n.queue.push({result:"error",data:a,status:b,headers:d});n.$emit("callFinished")})}else w(1)};n.toggle_project=function(a){"success"==n[e.iterator+"_"+a+"_class"]?(n[e.iterator+"_"+a+"_class"]="",document.getElementById("check_"+a).checked=!1,-1<n.selected.indexOf(a)&&n.selected.splice(n.selected.indexOf(a),1)):(n[e.iterator+
|
||||
"_"+a+"_class"]="success",document.getElementById("check_"+a).checked=!0,-1==n.selected.indexOf(a)&&n.selected.push(a))}}ProjectsList.$inject="$scope $rootScope $location $log $routeParams Rest Alert ProjectList GenerateList LoadBreadCrumbs Prompt SearchInit PaginateInit ReturnToCaller ClearScope ProcessErrors GetBasePath".split(" ");
|
||||
@ -114,19 +114,19 @@ b})})};s.formReset=function(){m.flashMessage=null;e.reset();for(var a in n)s[a]=
|
||||
function ProjectsEdit(h,m,k,g,c,p,f,e,l,a,d,b,z,w,B,u,x,t,s){u("htmlTemplate");var n=e.inject(f,{mode:"edit",related:!0});e.reset();var C=x("projects")+p.id+"/",q=g.path().replace(/^\//,"").split("/")[0],v={},A=p.id,E={};n.project_local_paths=[];n.base_dir="";n.projectLoadedRemove&&n.projectLoadedRemove();n.projectLoadedRemove=n.$on("projectLoaded",function(){for(var a in E)n.search(E[a].iterator);s({scope:n,master:v})});l.setUrl(C);l.get({params:{id:A}}).success(function(a,d,c,e){b({path:"/projects/"+
|
||||
A,title:a.name});for(var l in f.fields)a[l]&&(n[l]=a[l],v[l]=a[l]);a=a.related;for(var k in f.related)a[k]&&(E[k]={url:a[k],iterator:f.related[k].iterator});z({scope:n,form:f,relatedSets:E});w({scope:n,relatedSets:E});n.$emit("projectLoaded")}).error(function(a,b,c,e){d(n,a,b,f,{hdr:"Error!",msg:"Failed to retrieve project: "+A+". GET status: "+b})});n.formSave=function(){m.flashMessage=null;var a={},b;for(b in f.fields)a[b]=n[b];l.setUrl(C);l.put(a).success(function(a,b,d,c){t()}).error(function(a,
|
||||
b,c,e){d(n,a,b,f,{hdr:"Error!",msg:"Failed to update project: "+A+". PUT status: "+b})})};n.formReset=function(){m.flashMessage=null;e.reset();for(var a in v)n[a]=v[a]};n.add=function(a){m.flashMessage=null;g.path("/"+q+"/"+p.id+"/"+a)};n.edit=function(a,b,d){m.flashMessage=null;g.path("/"+q+"/"+p.id+"/"+a+"/"+b)};n["delete"]=function(a,b,c,e){B({hdr:"Delete",body:"Are you sure you want to remove "+c+" from "+n.name+" "+e+"?",action:function(){var c=x("projects")+A+"/"+a+"/";m.flashMessage=null;l.setUrl(c);
|
||||
l.post({id:b,disassociate:1}).success(function(b,d,c,e){$("#prompt-modal").modal("hide");n.search(f.related[a].iterator)}).error(function(a,b,f,e){$("#prompt-modal").modal("hide");d(n,a,b,null,{hdr:"Error!",msg:"Call to "+c+" failed. POST returned status: "+b})})}})}}ProjectsEdit.$inject="$scope $rootScope $compile $location $log $routeParams ProjectsForm GenerateForm Rest Alert ProcessErrors LoadBreadCrumbs RelatedSearchInit RelatedPaginateInit Prompt ClearScope GetBasePath ReturnToCaller GetProjectPath".split(" ");function TeamsList(h,m,k,g,c,p,f,e,l,a,d,b,z,w,B,u,x,t){B("htmlTemplate");var s=t("teams");h="teams"==k.path().replace(/^\//,"").split("/")[0]?"edit":"select";var n=l.inject(e,{mode:h});n.selected=[];n.PostRefreshRemove&&n.PostRefreshRemove();n.PostRefershRemove=n.$on("PostRefresh",function(){for(var a=0;a<n.teams.length;a++)n.teams[a].organization_name=n.teams[a].summary_fields.organization.name;$("tr.success").each(function(a){a=$(this).attr("ng-class");n[a]=""})});b({scope:n,set:"teams",list:e,
|
||||
url:s});z({scope:n,list:e,url:s});n.search(e.iterator);a();n.addTeam=function(){k.path(k.path()+"/add")};n.editTeam=function(a){k.path(k.path()+"/"+a)};n.deleteTeam=function(a,b){d({hdr:"Delete",body:"Are you sure you want to delete "+b+"?",action:function(){var b=s+a+"/";p.setUrl(b);p.destroy().success(function(a,b,d,c){$("#prompt-modal").modal("hide");n.search(e.iterator)}).error(function(a,d,c,f){$("#prompt-modal").modal("hide");u(n,a,d,null,{hdr:"Error!",msg:"Call to "+b+" failed. DELETE returned status: "+
|
||||
l.post({id:b,disassociate:1}).success(function(b,d,c,e){$("#prompt-modal").modal("hide");n.search(f.related[a].iterator)}).error(function(a,b,e,f){$("#prompt-modal").modal("hide");d(n,a,b,null,{hdr:"Error!",msg:"Call to "+c+" failed. POST returned status: "+b})})}})}}ProjectsEdit.$inject="$scope $rootScope $compile $location $log $routeParams ProjectsForm GenerateForm Rest Alert ProcessErrors LoadBreadCrumbs RelatedSearchInit RelatedPaginateInit Prompt ClearScope GetBasePath ReturnToCaller GetProjectPath".split(" ");function TeamsList(h,m,k,g,c,p,f,e,l,a,d,b,z,w,B,u,x,t){B("htmlTemplate");var s=t("teams");h="teams"==k.path().replace(/^\//,"").split("/")[0]?"edit":"select";var n=l.inject(e,{mode:h});n.selected=[];n.PostRefreshRemove&&n.PostRefreshRemove();n.PostRefershRemove=n.$on("PostRefresh",function(){for(var a=0;a<n.teams.length;a++)n.teams[a].organization_name=n.teams[a].summary_fields.organization.name;$("tr.success").each(function(a){a=$(this).attr("ng-class");n[a]=""})});b({scope:n,set:"teams",list:e,
|
||||
url:s});z({scope:n,list:e,url:s});n.search(e.iterator);a();n.addTeam=function(){k.path(k.path()+"/add")};n.editTeam=function(a){k.path(k.path()+"/"+a)};n.deleteTeam=function(a,b){d({hdr:"Delete",body:"Are you sure you want to delete "+b+"?",action:function(){var b=s+a+"/";p.setUrl(b);p.destroy().success(function(a,b,d,c){$("#prompt-modal").modal("hide");n.search(e.iterator)}).error(function(a,d,c,e){$("#prompt-modal").modal("hide");u(n,a,d,null,{hdr:"Error!",msg:"Call to "+b+" failed. DELETE returned status: "+
|
||||
d})})}})};n.lookupOrganization=function(a){p.setUrl(t("organizations")+a+"/");p.get().success(function(a,b,d,c){return a.name})};n.finishSelection=function(){p.setUrl(t("base")+k.path()+"/");n.queue=[];n.$on("callFinished",function(){if(n.queue.length==n.selected.length){$('input[type="checkbox"]').prop("checked",!1);n.selected=[];for(var a=0,b=0;b<n.queue.length;b++)"error"==n.queue[b].result&&a++;0<a?f("Error","There was an error while adding one or more of the selected teams."):w(1)}});if(0<n.selected.length)for(var a=
|
||||
null,b=0;b<n.selected.length;b++){for(var d=0;d<n.teams.length;d++)n.teams[d].id==n.selected[b]&&(a=n.teams[d]);null!==a&&p.post(a).success(function(a,b,d,c){n.queue.push({result:"success",data:a,status:b});n.$emit("callFinished")}).error(function(a,b,d,c){n.queue.push({result:"error",data:a,status:b,headers:d});n.$emit("callFinished")})}else w()};n.toggle_team=function(a){"success"==n[e.iterator+"_"+a+"_class"]?(n[e.iterator+"_"+a+"_class"]="",document.getElementById("check_"+a).checked=!1,-1<n.selected.indexOf(a)&&
|
||||
n.selected.splice(n.selected.indexOf(a),1)):(n[e.iterator+"_"+a+"_class"]="success",document.getElementById("check_"+a).checked=!0,-1==n.selected.indexOf(a)&&n.selected.push(a))}}TeamsList.$inject="$scope $rootScope $location $log $routeParams Rest Alert TeamList GenerateList LoadBreadCrumbs Prompt SearchInit PaginateInit ReturnToCaller ClearScope ProcessErrors SetTeamListeners GetBasePath".split(" ");
|
||||
function TeamsAdd(h,m,k,g,c,p,f,e,l,a,d,b,z,w,B,u,x,t,s,n){w("htmlTemplate");var C=n("teams"),q=e.inject(f,{mode:"add",related:!1});m.flashMessage=null;e.reset();b();s({scope:q});q.formSave=function(){l.setUrl(C);var a={},b;for(b in f.fields)a[b]=q[b];l.post(a).success(function(a,b,d,c){m.flashMessage="New team successfully created!";g.path("/teams/"+a.id)}).error(function(a,b,c,e){d(q,a,b,f,{hdr:"Error!",msg:"Failed to add new inventory. Post returned status: "+b})})};q.formReset=function(){e.reset()}}
|
||||
TeamsAdd.$inject="$scope $rootScope $compile $location $log $routeParams TeamForm GenerateForm Rest Alert ProcessErrors LoadBreadCrumbs ReturnToCaller ClearScope GenerateList OrganizationList SearchInit PaginateInit TeamLookUpOrganizationInit GetBasePath".split(" ");
|
||||
function TeamsEdit(h,m,k,g,c,p,f,e,l,a,d,b,z,w,B,u,x,t,s,n){u("htmlTemplate");var C=s("teams"),q=e.inject(f,{mode:"edit",related:!0});e.reset();var v=g.path().replace(/^\//,"").split("/")[0],A={},E=p.team_id,F={};x({scope:q});q.teamLoadedRemove&&q.teamLoadedRemove();q.teamLoadedRemove=q.$on("teamLoaded",function(){l.setUrl(q.organization_url);l.get().success(function(a,b,d,c){q.organization_name=a.name;A.organization_name=a.name}).error(function(a,b,c,f){d(q,a,b,null,{hdr:"Error!",msg:"Failed to retrieve: "+
|
||||
function TeamsEdit(h,m,k,g,c,p,f,e,l,a,d,b,z,w,B,u,x,t,s,n){u("htmlTemplate");var C=s("teams"),q=e.inject(f,{mode:"edit",related:!0});e.reset();var v=g.path().replace(/^\//,"").split("/")[0],A={},E=p.team_id,F={};x({scope:q});q.teamLoadedRemove&&q.teamLoadedRemove();q.teamLoadedRemove=q.$on("teamLoaded",function(){l.setUrl(q.organization_url);l.get().success(function(a,b,d,c){q.organization_name=a.name;A.organization_name=a.name}).error(function(a,b,c,e){d(q,a,b,null,{hdr:"Error!",msg:"Failed to retrieve: "+
|
||||
q.orgnization_url+". GET status: "+b})});for(var a in F)q.search(F[a].iterator)});l.setUrl(C+":id/");l.get({params:{id:E}}).success(function(a,d,c,e){b({path:"/teams/"+E,title:a.name});for(var l in f.fields)a[l]&&(q[l]=a[l],A[l]=q[l]);d=a.related;for(var n in f.related)d[n]&&(F[n]={url:d[n],iterator:f.related[n].iterator});z({scope:q,form:f,relatedSets:F});w({scope:q,relatedSets:F});q.organization_url=a.related.organization;q.$emit("teamLoaded")}).error(function(a,b,c,e){d(q,a,b,f,{hdr:"Error!",msg:"Failed to retrieve team: "+
|
||||
p.id+". GET status: "+b})});q.formSave=function(){m.flashMessage=null;l.setUrl(C+p.id+"/");var a={},b;for(b in f.fields)a[b]=q[b];l.put(a).success(function(a,b,d,c){"teams"==g.path().replace(/^\//,"").split("/")[0]?B():B(1)}).error(function(a,b,c,e){d(q,a,b,f,{hdr:"Error!",msg:"Failed to update team: "+p.id+". PUT status: "+b})})};q.formReset=function(){m.flashMessage=null;e.reset();for(var a in A)q[a]=A[a]};q.add=function(a){m.flashMessage=null;"permissions"==a?n()&&g.path("/"+v+"/"+p.team_id+"/"+
|
||||
a+"/add"):g.path("/"+v+"/"+p.team_id+"/"+a)};q.edit=function(a,b,d){m.flashMessage=null;"permissions"==a?n()&&g.path("/"+v+"/"+p.team_id+"/"+a+"/"+b):g.path("/"+a+"/"+b)};q["delete"]=function(a,b,c,e){m.flashMessage=null;t({hdr:"Delete",body:"Are you sure you want to remove "+c+" from "+q.name+" "+e+"?",action:function(){var c;"permissions"==a?n()&&(c=s("base")+"permissions/"+b+"/",l.setUrl(c),l.destroy().success(function(b,d,c,e){$("#prompt-modal").modal("hide");q.search(f.related[a].iterator)}).error(function(a,
|
||||
b,f,e){$("#prompt-modal").modal("hide");d(q,a,b,null,{hdr:"Error!",msg:"Call to "+c+" failed. DELETE returned status: "+b})})):(c=C+p.team_id+"/"+a+"/",l.setUrl(c),l.post({id:b,disassociate:1}).success(function(b,d,c,e){$("#prompt-modal").modal("hide");q.search(f.related[a].iterator)}).error(function(a,b,f,e){$("#prompt-modal").modal("hide");d(q,a,b,null,{hdr:"Error!",msg:"Call to "+c+" failed. POST returned status: "+b})}))}})}}TeamsEdit.$inject="$scope $rootScope $compile $location $log $routeParams TeamForm GenerateForm Rest Alert ProcessErrors LoadBreadCrumbs RelatedSearchInit RelatedPaginateInit ReturnToCaller ClearScope TeamLookUpOrganizationInit Prompt GetBasePath CheckAccess".split(" ");function UsersList(h,m,k,g,c,p,f,e,l,a,d,b,z,w,B,u){B("htmlTemplate");h="users"==k.path().replace(/^\//,"").split("/")[0]?"edit":"select";var x=l.inject(e,{mode:h});x.selected=[];m.flashMessage=null;b({scope:x,set:"users",list:e,url:"/api/v1/users/"});z({scope:x,list:e,url:"/api/v1/users/"});x.search(e.iterator);a();x.addUser=function(){k.path(k.path()+"/add")};x.editUser=function(a){k.path(k.path()+"/"+a)};x.deleteUser=function(a,b){d({hdr:"Delete",body:"Are you sure you want to delete "+b+"?",action:function(){var b=
|
||||
"/api/v1/users/"+a+"/";p.setUrl(b);p.destroy().success(function(a,b,d,c){$("#prompt-modal").modal("hide");x.search(e.iterator)}).error(function(a,d,c,f){$("#prompt-modal").modal("hide");u(x,a,d,null,{hdr:"Error!",msg:"Call to "+b+" failed. DELETE returned status: "+d})})}})};x.finishSelection=function(){p.setUrl("/api/v1"+k.path()+"/");x.queue=[];x.$on("callFinished",function(){if(x.queue.length==x.selected.length){$('input[type="checkbox"]').prop("checked",!1);x.selected=[];for(var a=0,b=0;b<x.queue.length;b++)"error"==
|
||||
b,e,f){$("#prompt-modal").modal("hide");d(q,a,b,null,{hdr:"Error!",msg:"Call to "+c+" failed. DELETE returned status: "+b})})):(c=C+p.team_id+"/"+a+"/",l.setUrl(c),l.post({id:b,disassociate:1}).success(function(b,d,c,e){$("#prompt-modal").modal("hide");q.search(f.related[a].iterator)}).error(function(a,b,e,f){$("#prompt-modal").modal("hide");d(q,a,b,null,{hdr:"Error!",msg:"Call to "+c+" failed. POST returned status: "+b})}))}})}}TeamsEdit.$inject="$scope $rootScope $compile $location $log $routeParams TeamForm GenerateForm Rest Alert ProcessErrors LoadBreadCrumbs RelatedSearchInit RelatedPaginateInit ReturnToCaller ClearScope TeamLookUpOrganizationInit Prompt GetBasePath CheckAccess".split(" ");function UsersList(h,m,k,g,c,p,f,e,l,a,d,b,z,w,B,u){B("htmlTemplate");h="users"==k.path().replace(/^\//,"").split("/")[0]?"edit":"select";var x=l.inject(e,{mode:h});x.selected=[];m.flashMessage=null;b({scope:x,set:"users",list:e,url:"/api/v1/users/"});z({scope:x,list:e,url:"/api/v1/users/"});x.search(e.iterator);a();x.addUser=function(){k.path(k.path()+"/add")};x.editUser=function(a){k.path(k.path()+"/"+a)};x.deleteUser=function(a,b){d({hdr:"Delete",body:"Are you sure you want to delete "+b+"?",action:function(){var b=
|
||||
"/api/v1/users/"+a+"/";p.setUrl(b);p.destroy().success(function(a,b,d,c){$("#prompt-modal").modal("hide");x.search(e.iterator)}).error(function(a,d,c,e){$("#prompt-modal").modal("hide");u(x,a,d,null,{hdr:"Error!",msg:"Call to "+b+" failed. DELETE returned status: "+d})})}})};x.finishSelection=function(){p.setUrl("/api/v1"+k.path()+"/");x.queue=[];x.$on("callFinished",function(){if(x.queue.length==x.selected.length){$('input[type="checkbox"]').prop("checked",!1);x.selected=[];for(var a=0,b=0;b<x.queue.length;b++)"error"==
|
||||
x.queue[b].result&&a++;0<a?f("Error","There was an error while adding one or more of the selected users."):w(1)}});if(0<x.selected.length)for(var a,b=0;b<x.selected.length;b++){a=null;for(var d=0;d<x.users.length;d++)x.users[d].id==x.selected[b]&&(a=x.users[d]);null!==a&&p.post(a).success(function(a,b,d,c){x.queue.push({result:"success",data:a,status:b});x.$emit("callFinished")}).error(function(a,b,d,c){x.queue.push({result:"error",data:a,status:b,headers:d});x.$emit("callFinished")})}else w()};x.toggle_user=
|
||||
function(a){"success"==x[e.iterator+"_"+a+"_class"]?(x[e.iterator+"_"+a+"_class"]="",document.getElementById("check_"+a).checked=!1,-1<x.selected.indexOf(a)&&x.selected.splice(x.selected.indexOf(a),1)):(x[e.iterator+"_"+a+"_class"]="success",document.getElementById("check_"+a).checked=!0,-1==x.selected.indexOf(a)&&x.selected.push(a))}}UsersList.$inject="$scope $rootScope $location $log $routeParams Rest Alert UserList GenerateList LoadBreadCrumbs Prompt SearchInit PaginateInit ReturnToCaller ClearScope ProcessErrors".split(" ");
|
||||
function UsersAdd(h,m,k,g,c,p,f,e,l,a,d,b,z,w,B,u,x){w("htmlTemplate");var t=B("organizations"),s=e.inject(f,{mode:"add",related:!1});e.reset();b();u({scope:s,form:f,current_item:void 0!==p.organization_id?p.organization_id:null,list:x,field:"organization"});p.organization_id&&(s.organization=p.organization_id,l.setUrl(B("organizations")+p.organization_id+"/"),l.get().success(function(a,b,d,c){s.organization_name=a.name}).error(function(a,b,c,e){d(s,a,b,f,{hdr:"Error!",msg:"Failed to lookup Organization: "+
|
||||
@ -216,7 +216,7 @@ b,d,c){$.isEmptyObject(a)?m.variables="---":m.variables=jsyaml.safeDump(a)}).err
|
||||
id+". GET returned status: "+d})});m.$$phase||m.$digest();m.formModalAction=function(){try{if("json"==m.parseType){JSON.parse(m.variables);var b=m.variables}else b=jsyaml.load(m.variables);var e={},l;for(l in f.fields)e[l]=m[l];e.inventory=h;c.setUrl(k);c.put(e).success(function(e,l,g,h){m.variables?(c.setUrl(d("hosts")+e.id+"/variable_data/"),c.put(b).success(function(a,b,d,c){$("#form-modal").modal("hide")}).error(function(b,d,c,e){a(m,b,d,f,{hdr:"Error!",msg:"Failed to update host varaibles. PUT returned status: "+
|
||||
d})})):$("#form-modal").modal("hide")}).error(function(b,d,c,e){a(m,b,d,f,{hdr:"Error!",msg:"Failed to update host: "+g+". PUT returned status: "+d})})}catch(z){p("Error","Error parsing host variables. Parser returned: "+z)}};m.formReset=function(){e.reset();for(var a in s)m[a]=s[a];m.parseType="yaml"}}}]).factory("HostsDelete",["$rootScope","$location","$log","$routeParams","Rest","Alert","Prompt","ProcessErrors","GetBasePath","HostsReload",function(h,m,k,g,c,p,f,e,l,a){return function(d){var b=
|
||||
d.scope,f=d.inventory_id,g=d.host_id,h=d.host_name,k=null!==b.group_id?l("groups")+b.group_id+"/hosts/":l("inventory")+f+"/hosts/";null!==b.group_id?($("#prompt-header").text("Remove Host from Group"),$("#prompt-body").text("Are you sure you want to remove host "+h+" from the group?")):($("#prompt-header").text("Delete Host"),$("#prompt-body").text("Are you sure you want to permenantly remove host "+h+"?"));$("#prompt-action-btn").addClass("btn-danger");b.promptAction=function(){b.removeHostsReload&&
|
||||
b.removeHostsReload();b.removeHostsReload=b.$on("hostsReload",function(){a(d)});c.setUrl(k);c.post({id:g,disassociate:1}).success(function(a,d,c,e){$("#prompt-modal").modal("hide");b.$emit("hostsReload")}).error(function(a,d,c,f){$("#prompt-modal").modal("hide");b.$emit("hostsReload");e(b,a,d,null,{hdr:"Error!",msg:"Call to "+k+" failed. DELETE returned status: "+d})})};$("#prompt-modal").modal({backdrop:"static",keyboard:!0,show:!0})}}]).factory("HostsReload",["RelatedSearchInit","RelatedPaginateInit",
|
||||
b.removeHostsReload();b.removeHostsReload=b.$on("hostsReload",function(){a(d)});c.setUrl(k);c.post({id:g,disassociate:1}).success(function(a,d,c,e){$("#prompt-modal").modal("hide");b.$emit("hostsReload")}).error(function(a,d,c,l){$("#prompt-modal").modal("hide");b.$emit("hostsReload");e(b,a,d,null,{hdr:"Error!",msg:"Call to "+k+" failed. DELETE returned status: "+d})})};$("#prompt-modal").modal({backdrop:"static",keyboard:!0,show:!0})}}]).factory("HostsReload",["RelatedSearchInit","RelatedPaginateInit",
|
||||
"InventoryForm","GetBasePath",function(h,m,k,g){return function(c){scope=c.scope;var p={hosts:{url:null!==scope.group_id?g("groups")+scope.group_id+"/hosts/":g("inventory")+c.inventory_id+"/hosts/",iterator:"host"}};h({scope:c.scope,form:k,relatedSets:p});m({scope:c.scope,relatedSets:p});c.scope.search("host");c.scope.$$phase||c.scope.$digest()}}]);angular.module("InventoryHelper","RestServices Utilities OrganizationListDefinition SearchHelper PaginateHelper ListGenerator AuthService InventoryHelper RelatedSearchHelper RelatedPaginateHelper InventoryFormDefinition".split(" ")).factory("LoadTreeData",["Alert","Rest","Authorization","$http",function(h,m,k,g){return function(c){var g=c.scope,f=c.inventory,e=f.related.root_groups,l=f.related.hosts,a=f.name,d=f.url,b=f.id,k=f.description,w=0,B=[];g.HostLoadedRemove&&g.HostLoadedRemove();g.HostLoadedRemove=
|
||||
g.$on("hostsLoaded",function(){m.setUrl(e+"?"+(g.inventoryFailureFilter?"has_active_failures__int=1&":"")+"order_by=name");m.get().success(function(a,b,d,c){for(b=0;b<a.results.length;b++)B[0].children.push({data:{title:a.results[b].name},attr:{id:w,group_id:a.results[b].id,type:"group",name:a.results[b].name,description:a.results[b].description,inventory:a.results[b].inventory,all:a.results[b].related.all_hosts,children:a.results[b].related.children,hosts:a.results[b].related.hosts,variable:a.results[b].related.variable_data,
|
||||
"data-failures":a.results[b].has_active_failures},state:"closed"}),w++;g.$emit("buildTree",B,w)}).error(function(a,b,d,c){h("Error","Failed to laod tree data. Url: "+e+" GET status: "+b)})});m.setUrl(l+"?order_by=name");m.get().success(function(c,e,h,m){B=[{data:{title:a},attr:{type:"inventory",id:"inventory-node",url:d,inventory_id:b,hosts:l,name:a,description:k,"data-failures":f.has_active_failures},state:"open",children:[]}];g.$emit("hostsLoaded")}).error(function(a,b,d,c){h("Error","Failed to laod tree data. Url: "+
|
||||
@ -224,11 +224,11 @@ l+" GET status: "+b)})}}]).factory("TreeInit",["Alert","Rest","Authorization","$
|
||||
a;return $(a).attr("children")},headers:{Authorization:"Token "+k.getToken()},success:function(a){for(var c=[],e=f.inventoryFailureFilter?"has_active_failures__int=1&":"",l=0;l<a.results.length;l++)c.push({data:{title:a.results[l].name},attr:{id:d,group_id:a.results[l].id,type:"group",name:a.results[l].name,description:a.results[l].description,inventory:a.results[l].inventory,all:a.results[l].related.all_hosts,children:a.results[l].related.children+"?"+e+"order_by=name",hosts:a.results[l].related.hosts,
|
||||
variable:a.results[l].related.variable_data,"data-failures":a.results[l].has_active_failures},state:"closed"}),d++;return c}}},contextmenu:{items:f.treeController}});$("#tree-view").bind("loaded.jstree",function(){f.$emit("treeLoaded")});$("#tree-view").bind("select_node.jstree",function(a,d){f.$emit("NodeSelect",d.inst.get_json()[0])})});c(g)}}]).factory("LoadInventory",["$routeParams","Alert","Rest","Authorization","$http","ProcessErrors","RelatedSearchInit","RelatedPaginateInit","GetBasePath",
|
||||
"LoadBreadCrumbs","InventoryForm",function(h,m,k,g,c,p,f,e,l,a,d){return function(b){var c=b.scope;c.relatedSets=[];c.master={};k.setUrl(l("inventory")+h.id+"/");k.get().success(function(b,l,g,k){a({path:"/inventories/"+h.id,title:b.name});for(var m in d.fields)d.fields[m].realName?b[d.fields[m].realName]&&(c[m]=b[d.fields[m].realName],c.master[m]=c[m]):b[m]&&(c[m]=b[m],c.master[m]=c[m]),"lookup"==d.fields[m].type&&b.summary_fields[d.fields[m].sourceModel]&&(c[d.fields[m].sourceModel+"_"+d.fields[m].sourceField]=
|
||||
b.summary_fields[d.fields[m].sourceModel][d.fields[m].sourceField],c.master[d.fields[m].sourceModel+"_"+d.fields[m].sourceField]=c[d.fields[m].sourceModel+"_"+d.fields[m].sourceField]);c.TreeParams={scope:c,inventory:b};c.variable_url=b.related.variable_data;c.relatedSets.hosts={url:b.related.hosts,iterator:"host"};f({scope:c,form:d,relatedSets:c.relatedSets});e({scope:c,relatedSets:c.relatedSets});c.$emit("inventoryLoaded")}).error(function(a,b,e,f){p(c,a,b,d,{hdr:"Error!",msg:"Failed to retrieve inventory: "+
|
||||
b.summary_fields[d.fields[m].sourceModel][d.fields[m].sourceField],c.master[d.fields[m].sourceModel+"_"+d.fields[m].sourceField]=c[d.fields[m].sourceModel+"_"+d.fields[m].sourceField]);c.TreeParams={scope:c,inventory:b};c.variable_url=b.related.variable_data;c.relatedSets.hosts={url:b.related.hosts,iterator:"host"};f({scope:c,form:d,relatedSets:c.relatedSets});e({scope:c,relatedSets:c.relatedSets});c.$emit("inventoryLoaded")}).error(function(a,b,e,l){p(c,a,b,d,{hdr:"Error!",msg:"Failed to retrieve inventory: "+
|
||||
h.id+". GET status: "+b})})}}]).factory("RefreshTree",["Alert","Rest","Authorization","$http","TreeInit","LoadInventory",function(h,m,k,g,c,p){return function(f){var e=f.scope,l=[],a;e.treeLoadedRemove&&e.treeLoadedRemove();e.treeLoadedRemove=e.$on("treeLoaded",function(){var d;0<l.length?(d=l.pop(),d=$('#tree-view li[id="'+d+'"]'),$.jstree._reference("#tree-view").open_node(d,function(){e.$emit("treeLoaded")},!0)):null!==a&&void 0!==a&&$('#tree-view li[id="'+a+'"] a').first().click()});e.inventoryLoadedRemove&&
|
||||
e.inventoryLoadedRemove();e.inventoryLoadedRemove=e.$on("inventoryLoaded",function(){function d(a){"inventory-node"!=a.attr("id")&&("LI"==a.prop("tagName")&&(a.hasClass("jstree-open")||a.find(".jstree-clicked"))&&l.push(a.attr("id")),d(a.parent()))}a=e.selectedNode.attr("id");d(e.selectedNode);$("#tree-view").jstree("destroy");c(e.TreeParams)});p({scope:e})}}]);angular.module("JobTemplateHelper","RestServices Utilities CredentialFormDefinition CredentialsListDefinition LookUpHelper JobTemplateFormDefinition".split(" ")).factory("PromptPasswords",["CredentialForm","$compile","Rest","$location","ProcessErrors","GetBasePath",function(h,m,k,g,c,p){return function(f){function e(b){!b&&"jobs"==B?a.refreshJob():g.path("/"+B)}function l(){var b=p("jobs")+a.job_id+"/";k.setUrl(b);k.destroy().success(function(a,b,d,c){e(!0)}).error(function(d,e,f,l){c(a,d,e,null,
|
||||
{hdr:"Error!",msg:"Call to "+b+" failed. DELETE returned status: "+e})})}var a=f.scope,d=f.passwords,b=f.start_url;f="";var z,w,B=g.path().replace(/^\//,"").split("/")[0];a.cancelJob=function(){$("#password-modal").modal("hide");l()};a.startJob=function(){$("#password-modal").modal("hide");var d={},f=!1;$(".password-field").each(function(a){d[$(this).attr("name")]=$(this).val();""!=$(this).val()&&null!==$(this).val()&&(f=!0)});f?(k.setUrl(b),k.post(d).success(function(a,b,d,c){e(!1)}).error(function(b,
|
||||
d,e,f){c(a,b,d,null,{hdr:"Error!",msg:"Failed to start job. POST returned status: "+d})})):a.cancelJob()};f+=f+='<form class="form-horizontal" name="password_form" novalidate>\n';for(var u=0;u<d.length;u++)z=h.fields[d[u]],w=d[u],a[w]="",f+='<div class="control-group">\n',f+='<label class="control-label" for="'+w+'">'+z.label+"</label>\n",f+='<div class="controls">\n',f+='<input type="password" ',f+='ng-model="'+w+'" ',f+='name="'+w+'" ',f+='class="password-field" ',f+="required ",f+="/>",f+="<br />\n",
|
||||
e.inventoryLoadedRemove();e.inventoryLoadedRemove=e.$on("inventoryLoaded",function(){function d(a){"inventory-node"!=a.attr("id")&&("LI"==a.prop("tagName")&&(a.hasClass("jstree-open")||a.find(".jstree-clicked"))&&l.push(a.attr("id")),d(a.parent()))}a=e.selectedNode.attr("id");d(e.selectedNode);$("#tree-view").jstree("destroy");c(e.TreeParams)});p({scope:e})}}]);angular.module("JobTemplateHelper","RestServices Utilities CredentialFormDefinition CredentialsListDefinition LookUpHelper JobTemplateFormDefinition".split(" ")).factory("PromptPasswords",["CredentialForm","$compile","Rest","$location","ProcessErrors","GetBasePath",function(h,m,k,g,c,p){return function(f){function e(b){!b&&"jobs"==B?a.refreshJob():g.path("/"+B)}function l(){var b=p("jobs")+a.job_id+"/";k.setUrl(b);k.destroy().success(function(a,b,d,c){e(!0)}).error(function(d,e,l,f){c(a,d,e,null,
|
||||
{hdr:"Error!",msg:"Call to "+b+" failed. DELETE returned status: "+e})})}var a=f.scope,d=f.passwords,b=f.start_url;f="";var z,w,B=g.path().replace(/^\//,"").split("/")[0];a.cancelJob=function(){$("#password-modal").modal("hide");l()};a.startJob=function(){$("#password-modal").modal("hide");var d={},l=!1;$(".password-field").each(function(a){d[$(this).attr("name")]=$(this).val();""!=$(this).val()&&null!==$(this).val()&&(l=!0)});l?(k.setUrl(b),k.post(d).success(function(a,b,d,c){e(!1)}).error(function(b,
|
||||
d,e,l){c(a,b,d,null,{hdr:"Error!",msg:"Failed to start job. POST returned status: "+d})})):a.cancelJob()};f+=f+='<form class="form-horizontal" name="password_form" novalidate>\n';for(var u=0;u<d.length;u++)z=h.fields[d[u]],w=d[u],a[w]="",f+='<div class="control-group">\n',f+='<label class="control-label" for="'+w+'">'+z.label+"</label>\n",f+='<div class="controls">\n',f+='<input type="password" ',f+='ng-model="'+w+'" ',f+='name="'+w+'" ',f+='class="password-field" ',f+="required ",f+="/>",f+="<br />\n",
|
||||
f+='<span class="error" ng-show="password_form.'+w+".$dirty && password_form."+w+'.$error.required">A value is required!</span>\n',f+='<span class="error api-error" ng-bind="'+w+'_api_error"></span>\n',f+="</div>\n",f+="</div>\n",w=z.associated,z=h.fields[z.associated],a[w]="",f+='<div class="control-group">\n',f+='<label class="control-label" for="'+w+'">'+z.label+"</label>\n",f+='<div class="controls">\n',f+='<input type="password" ',f+='ng-model="'+w+'" ',f+='name="'+w+'" ',f+="required ",f+=z.awPassMatch?
|
||||
'awpassmatch="'+z.associated+'" ':"",f+="/>",f+="<br />\n",f+='<span class="error" ng-show="password_form.'+w+".$dirty && password_form."+w+'.$error.required">A value is required!</span>\n',z.awPassMatch&&(f+='<span class="error" ng-show="password_form.'+w+'.$error.awpassmatch">Must match Password value</span>\n'),f+='<span class="error api-error" ng-bind="'+w+'_api_error"></span>\n',f+="</div>\n",f+="</div>\n";f+="</form>\n";d=angular.element(document.getElementById("password-body"));d.html(f);m(d.contents())(a);
|
||||
$("#password-modal").modal({})}}]).factory("SubmitJob",["PromptPasswords","$compile","Rest","$location","GetBasePath","CredentialList","LookUpInit","JobTemplateForm","ProcessErrors",function(h,m,k,g,c,p,f,e,l){return function(a){function d(a){b.credentialWatchRemove&&b.credentialWatchRemove();var d=(new Date).toISOString(),c=w?w:a.name;k.setUrl(a.related.jobs?a.related.jobs:a.related.job_template+"jobs/");k.post({name:c+" "+d,description:a.description,job_template:a.id,inventory:a.inventory,project:a.project,
|
||||
@ -240,7 +240,7 @@ f[d.name][c][l.fields[b].sourceField],e[l.name+"_form"][l.fields[b].sourceModel+
|
||||
"_"+f[d.name][b].id+"_class"]="";null!=a&&void 0!=a&&(f[d.iterator+"_"+a+"_class"]="success")};g({scope:f,set:d.name,list:d,url:B});c({scope:f,list:d,url:B,mode:"lookup"});f.search(d.iterator);if(a)f["toggle_"+d.iterator](a)}}}]);angular.module("md5Helper",["RestServices","Utilities"]).factory("md5Setup",["Alert","Rest","GetBasePath","ProcessErrors",function(h,m,k,g){return function(c){var g=c.scope,f=c.master,e=c.check_field;c=c.default_val;g[e]=c;f[e]=c;g.genMD5=function(c){g[c]=$.md5("AnsibleWorks"+(new Date).getTime())};g.toggleCallback=function(c){"false"==g.allow_callbacks&&(g[c]=null)};g.selectAll=function(c){$('input[name="'+c+'"]').focus().select()}}}]);angular.module("PaginateHelper",["RefreshHelper"]).factory("PaginateInit",["Refresh",function(h){return function(m){var k=m.scope,g=m.list,g=m.iterator?m.iterator:g.iterator,c=m.url,p=m.mode?m.mode:null;k[g+"Page"]=0;k[g+"PageSize"]=m.pageSize?m.pageSize:"lookup"==p?5:20;k.nextSet=function(c,e){k[e+"NextUrl"]&&(k[e+"Page"]++,h({scope:k,set:c,iterator:e,url:k[e+"NextUrl"]}))};k.prevSet=function(c,e){k[e+"PrevUrl"]&&(k[e+"Page"]--,h({scope:k,set:c,iterator:e,url:k[e+"PrevUrl"]}))};k.changePageSize=
|
||||
function(f,e){k[e+"Page"]=0;var l=c.replace(/\?page_size\=\d+/,""),a=/\/$/.test(l)?"?":"&",l=l+(k[e+"SearchParams"]?a+k[e+"SearchParams"]+"&page_size="+k[e+"PageSize"]:+a+"page_size="+k[e+"PageSize"]);h({scope:k,set:f,iterator:e,url:l})}}}]);angular.module("ParseHelper",[]).factory("ParseTypeChange",[function(){return function(h){h.blockParseTypeWatch=!1;h.blockVariableDataWatch=!1;h.removeParseTypeWatch&&h.removeParseTypeWatch();h.removeParseTypeWatch=h.$watch("parseType",function(m,k){if(m!==k)if("json"==m)if(h.variables&&!/^---$/.test(h.variables))try{var g=jsyaml.load(h.variables);h.variables=JSON.stringify(g,null," ")}catch(c){}else h.variables="{}";else if(h.variables&&!/^\{\}$/.test(h.variables))try{g=JSON.parse(h.variables),h.variables=
|
||||
jsyaml.safeDump(g)}catch(p){}else h.variables="---"})}}]);angular.module("ProjectPathHelper",["RestServices","Utilities"]).factory("GetProjectPath",["Alert","Rest","GetBasePath","ProcessErrors",function(h,m,k,g){return function(c){var p=c.scope,f=c.master;m.setUrl(k("config"));m.get().success(function(c,l,a,d){l=[];for(a=0;a<c.project_local_paths.length;a++)l.push(c.project_local_paths[a]);p.local_path&&l.push(p.local_path);p.project_local_paths=l;p.base_dir=c.project_base_dir;f.base_dir=p.base_dir;0==l.length&&h("Missing project path","All of the project paths have been assigned to existing projects, or there are no directories found in the base path. You will need to add a project path before creating a new project.",
|
||||
"alert-info")}).error(function(c,f,a,d){g(p,c,f,null,{hdr:"Error!",msg:"Failed to access API config. GET status: "+f})})}}]);angular.module("RefreshRelatedHelper",["RestServices","Utilities"]).factory("RefreshRelated",["Alert","Rest",function(h,m){return function(k){var g=k.scope,c=k.set,p=k.iterator;m.setUrl(k.url);m.get().success(function(f,e,l,a){g[c]=f.results;g[p+"NextUrl"]=f.next;g[p+"PrevUrl"]=f.previous;g[p+"Count"]=f.count;g[p+"PageCount"]=Math.ceil(f.count/g[p+"PageSize"]);g[p+"SearchSpin"]=!1;g[p+"Loading"]=!1}).error(function(f,e,l,a){g[p+"SearchSpin"]=!0;h("Error!","Failed to retrieve related set: "+c+". GET returned status: "+
|
||||
"alert-info")}).error(function(c,l,a,d){g(p,c,l,null,{hdr:"Error!",msg:"Failed to access API config. GET status: "+l})})}}]);angular.module("RefreshRelatedHelper",["RestServices","Utilities"]).factory("RefreshRelated",["Alert","Rest",function(h,m){return function(k){var g=k.scope,c=k.set,p=k.iterator;m.setUrl(k.url);m.get().success(function(f,e,l,a){g[c]=f.results;g[p+"NextUrl"]=f.next;g[p+"PrevUrl"]=f.previous;g[p+"Count"]=f.count;g[p+"PageCount"]=Math.ceil(f.count/g[p+"PageSize"]);g[p+"SearchSpin"]=!1;g[p+"Loading"]=!1}).error(function(f,e,l,a){g[p+"SearchSpin"]=!0;h("Error!","Failed to retrieve related set: "+c+". GET returned status: "+
|
||||
e)})}}]);angular.module("RefreshHelper",["RestServices","Utilities"]).factory("Refresh",["Alert","Rest",function(h,m){return function(k){var g=k.scope,c=k.set,p=k.iterator;m.setUrl(k.url);m.get().success(function(f,e,l,a){g[p+"NextUrl"]=f.next;g[p+"PrevUrl"]=f.previous;g[p+"Count"]=f.count;g[p+"PageCount"]=Math.ceil(f.count/g[p+"PageSize"]);g[p+"SearchSpin"]=!1;g[p+"Loading"]=!1;g[c]=f.results;g.$emit("PostRefresh")}).error(function(f,e,l,a){g[p+"SearchSpin"]=!1;h("Error!","Failed to retrieve "+c+". GET returned status: "+
|
||||
e)})}}]);angular.module("RelatedPaginateHelper",["RefreshRelatedHelper"]).factory("RelatedPaginateInit",["RefreshRelated",function(h){return function(m){var k=m.scope,g=m.relatedSets,c;for(c in g)k[g[c].iterator+"Page"]=0,k[g[c].iterator+"PageSize"]=10;k.nextSet=function(c,f){k[f+"Page"]++;h({scope:k,set:c,iterator:f,url:k[f+"NextUrl"]})};k.prevSet=function(c,f){k[f+"Page"]--;h({scope:k,set:c,iterator:f,url:k[f+"PrevUrl"]})};k.changePageSize=function(c,f){var e;k[f+"Page"]=0;for(var l in g)if(l==c){e=g[l].url;
|
||||
break}e=e.replace(/\/\?.*$/,"/");e+=k[f+"SearchParams"]?k[f+"SearchParams"]+"&page_size="+k[f+"PageSize"]:"?page_size="+k[f+"PageSize"];h({scope:k,set:c,iterator:f,url:e})}}}]);angular.module("RelatedSearchHelper",["RestServices","Utilities","RefreshRelatedHelper"]).factory("RelatedSearchInit",["Alert","Rest","RefreshRelated",function(h,m,k){return function(g){var c=g.scope,h=g.relatedSets,f=g.form,e,l;for(l in f.related)if("tree"!=f.related[l].type){g=f.related[l].iterator;for(var a in f.related[l].fields)if(f.related[l].fields[a].key){c[g+"SearchField"]=a;c[g+"SearchFieldLabel"]=f.related[l].fields[a].label;break}c[g+"SortOrder"]=null;c[g+"SearchType"]="contains";c[g+
|
||||
@ -252,15 +252,15 @@ g.searchType))c[a+"SearchParams"]+=c[a+"SearchSelectValue"].value;else if(void 0
|
||||
a+"-"+b+"-header"&&$(this).find("i").attr("class","icon-sort")});var l=$("#"+a+"-"+b+"-header i"),g="";l.hasClass("icon-sort")?(l.removeClass("icon-sort"),l.addClass("icon-sort-up")):l.hasClass("icon-sort-up")?(l.removeClass("icon-sort-up"),l.addClass("icon-sort-down"),g="-"):l.hasClass("icon-sort-down")&&(l.removeClass("icon-sort-down"),l.addClass("icon-sort-up"));for(var h in f.related)f.related[h].iterator==a&&(e=f.related[h].fields[b].sourceModel?g+f.related[h].fields[b].sourceModel+"__"+f.related[h].fields[b].sourceModel:
|
||||
g+b);c[a+"SortOrder"]=e;c.search(a)}}}]);angular.module("SearchHelper",["RestServices","Utilities","RefreshHelper"]).factory("SearchInit",["Alert","Rest","Refresh",function(h,m,k){return function(g){var c=g.scope,h=g.set,f=g.url,e=g.list;g=g.iterator?g.iterator:e.iterator;var l;for(fld in e.fields)if(e.fields[fld].key){if(e.fields[fld].sourceModel){var a=e.fields[fld].sourceModel+"__"+e.fields[fld].sourceField;l=e.fields[fld].desc?"-"+a:a}else l=e.fields[fld].desc?"-"+fld:fld;if(void 0==e.fields[fld].searchable||!0==e.fields[fld].searchable)c[g+
|
||||
"SearchField"]=fld,c[g+"SearchFieldLabel"]=e.fields[fld].label;break}if(!c[g+"SearchField"])for(fld in e.fields)if(void 0==e.fields[fld].searchable||!0==e.fields[fld].searchable){c[g+"SearchField"]=fld;c[g+"SearchFieldLabel"]=e.fields[fld].label;break}c[g+"SearchType"]="icontains";c[g+"SearchTypeLabel"]="Contains";c[g+"SearchParams"]="";c[g+"SearchValue"]="";c[g+"SelectShow"]=!1;c[g+"HideSearchType"]=!1;a=c[g+"SearchField"];if(e.fields[a].searchType&&("boolean"==e.fields[a].searchType||"select"==
|
||||
e.fields[a].searchType))c[g+"SelectShow"]=!0,c[g+"SearchSelectOpts"]=e.fields[a].searchOptions;e.fields[a].searchType&&"int"==e.fields[a].searchType&&(c[g+"HideSearchType"]=!0);e.fields[a].searchType&&"gtzero"==e.fields[a].searchType&&(c[g+"InputHide"]=!0);c.setSearchField=function(a,b,f){c[a+"SearchFieldLabel"]=f;c[a+"SearchField"]=b;c[a+"SearchValue"]="";c[a+"SelectShow"]=!1;c[a+"HideSearchType"]=!1;c[a+"InputHide"]=!1;e.fields[b].searchType&&"gtzero"==e.fields[b].searchType&&(c[a+"InputHide"]=
|
||||
e.fields[a].searchType))c[g+"SelectShow"]=!0,c[g+"SearchSelectOpts"]=e.fields[a].searchOptions;e.fields[a].searchType&&"int"==e.fields[a].searchType&&(c[g+"HideSearchType"]=!0);e.fields[a].searchType&&"gtzero"==e.fields[a].searchType&&(c[g+"InputHide"]=!0);c.setSearchField=function(a,b,l){c[a+"SearchFieldLabel"]=l;c[a+"SearchField"]=b;c[a+"SearchValue"]="";c[a+"SelectShow"]=!1;c[a+"HideSearchType"]=!1;c[a+"InputHide"]=!1;e.fields[b].searchType&&"gtzero"==e.fields[b].searchType&&(c[a+"InputHide"]=
|
||||
!0);if(e.fields[b].searchType&&("boolean"==e.fields[b].searchType||"select"==e.fields[b].searchType))c[a+"SelectShow"]=!0,c[a+"SearchSelectOpts"]=e.fields[b].searchOptions;e.fields[b].searchType&&"int"==e.fields[b].searchType&&(c[a+"HideSearchType"]=!0);c.search(a)};c.setSearchType=function(a,b,e){c[a+"SearchTypeLabel"]=e;c[a+"SearchType"]=b;c.search(a)};c.search=function(a){c[a+"SearchSpin"]=!0;c[a+"Loading"]=!0;c[a+"SearchParms"]="";var b=f;!1==c[a+"SelectShow"]&&""!=c[a+"SearchValue"]&&void 0!=
|
||||
c[a+"SearchValue"]||c[a+"SelectShow"]&&c[a+"SearchSelectValue"]||e.fields[c[a+"SearchField"]].searchType&&"gtzero"==e.fields[c[a+"SearchField"]].searchType?(c[a+"SearchParams"]=e.fields[c[a+"SearchField"]].searchField?e.fields[c[a+"SearchField"]].searchField+"__":e.fields[c[a+"SearchField"]].sourceModel?e.fields[c[a+"SearchField"]].sourceModel+"__"+e.fields[c[a+"SearchField"]].sourceField+"__":c[a+"SearchField"]+"__",c[a+"SearchParams"]=e.fields[c[a+"SearchField"]].searchType&&("int"==e.fields[c[a+
|
||||
"SearchField"]].searchType||"boolean"==e.fields[c[a+"SearchField"]].searchType)?c[a+"SearchParams"]+"int=":e.fields[c[a+"SearchField"]].searchType&&"gtzero"==e.fields[c[a+"SearchField"]].searchType?c[a+"SearchParams"]+"gt=0":c[a+"SearchParams"]+(c[a+"SearchType"]+"="),c[a+"SearchParams"]=e.fields[c[a+"SearchField"]].searchType&&("boolean"==e.fields[c[a+"SearchField"]].searchType||"select"==e.fields[c[a+"SearchField"]].searchType)?c[a+"SearchParams"]+c[a+"SearchSelectValue"].value:c[a+"SearchParams"]+
|
||||
escape(c[a+"SearchValue"]),c[a+"SearchParams"]+=l?"&order_by="+escape(l):""):c[a+"SearchParams"]=l?"order_by="+escape(l):"";c[a+"Page"]=0;b=/\/$/.test(b)?b+("?"+c[a+"SearchParams"]):b+("&"+c[a+"SearchParams"]);b=b.replace(/\&\&/,"&");b+=c[a+"PageSize"]?"&page_size="+c[a+"PageSize"]:"";k({scope:c,set:h,iterator:a,url:b})};c.sort=function(a){$(".list-header").each(function(b){$(this).attr("id")!=a+"-header"&&$(this).find("i").attr("class","icon-sort")});var b=$("#"+a+"-header i"),f="";b.hasClass("icon-sort")?
|
||||
(b.removeClass("icon-sort"),b.addClass("icon-sort-up")):b.hasClass("icon-sort-up")?(b.removeClass("icon-sort-up"),b.addClass("icon-sort-down"),f="-"):b.hasClass("icon-sort-down")&&(b.removeClass("icon-sort-down"),b.addClass("icon-sort-up"));l=e.fields[a].searchField?f+e.fields[a].searchField:e.fields[a].sourceModel?f+e.fields[a].sourceModel+"__"+e.fields[a].sourceField:f+a;c.search(e.iterator)}}}]);angular.module("TeamHelper","RestServices Utilities OrganizationListDefinition SearchHelper PaginateHelper ListGenerator".split(" ")).factory("SetTeamListeners",["Alert","Rest",function(h,m){return function(h){var g=h.scope,c=h.set,p=h.iterator;g.$on("TeamResultFound",function(f,e,l){if(l.length==e.length){key="organization";property="organization_name";for(f=0;f<e.length;f++)for(var a=0;a<l.length;a++)e[f][key]==l[a].id&&(e[f][property]=l[a].value);g[p+"SearchSpin"]=!1;g[c]=e}});g.$on("TeamRefreshFinished",
|
||||
function(c,e){for(var l=[],a=0;a<e.length;a++)m.setUrl("/api/v1/organizations/"+e[a].organization+"/"),m.get().success(function(a,b,c,f){l.push({id:a.id,value:a.name});g.$emit("TeamResultFound",e,l)}).error(function(a,b,c,f){l.push({id:"error"});g.$emit("TeamResultFound",e,l)})})}}]).factory("TeamLookUpOrganizationInit",["Alert","Rest","OrganizationList","GenerateList","SearchInit","PaginateInit",function(h,m,k,g,c,p){return function(f){var e=f.scope;e.lookUpOrganization=function(){var f=g.inject(k,
|
||||
{mode:"lookup",hdr:"Select Organization"});f.selectAction=function(){for(var a=!1,c=0;c<f[k.name].length;c++)"success"==f[k.iterator+"_"+f[k.name][c].id+"_class"]&&(a=!0,e.organization=f[k.name][c].id,e.organization_name=f[k.name][c].name,e.team_form.$setDirty(),g.hide());!1==a&&h("No Selection","Click on a row to select an Organization before clicking the Select button.")};f.toggle_organization=function(a){if(f[k.name])for(var c=0;c<f[k.name].length;c++)f[k.iterator+"_"+f[k.name][c].id+"_class"]=
|
||||
"";null!=a&&void 0!=a&&(f[k.iterator+"_"+a+"_class"]="success")};c({scope:f,set:k.name,list:k,url:"/api/v1/organizations/"});p({scope:f,list:k,url:"/api/v1/organizations/",mode:"lookup"});e.search(k.iterator);f.toggle_organization(e.organization)}}}]);angular.module("AdminListDefinition",[]).value("AdminList",{name:"admins",iterator:"admin",selectTitle:"Add Administrators",editTitle:"Admins",selectInstructions:"Click on a row to select it. Click the Finished button when done.",base:"users",index:!0,fields:{username:{key:!0,label:"Username"},first_name:{label:"First Name"},last_name:{label:"Last Name"}},actions:{},fieldActions:{}});angular.module("CredentialsListDefinition",[]).value("CredentialList",{name:"credentials",iterator:"credential",selectTitle:"Add Credentials",editTitle:"Credentials",selectInstructions:'Check the Select checkbox next to each credential to be added, and click Finished when done. Use the green <i class="icon-plus"></i> button to create a new user.',editInstructions:"Create a new credential from either the Teams tab or the Users tab. Teams and Users each have an associated set of Credentials.",index:!0,
|
||||
function(c,e){for(var l=[],a=0;a<e.length;a++)m.setUrl("/api/v1/organizations/"+e[a].organization+"/"),m.get().success(function(a,b,c,f){l.push({id:a.id,value:a.name});g.$emit("TeamResultFound",e,l)}).error(function(a,b,c,f){l.push({id:"error"});g.$emit("TeamResultFound",e,l)})})}}]).factory("TeamLookUpOrganizationInit",["Alert","Rest","OrganizationList","GenerateList","SearchInit","PaginateInit",function(h,m,k,g,c,p){return function(f){var e=f.scope;e.lookUpOrganization=function(){var l=g.inject(k,
|
||||
{mode:"lookup",hdr:"Select Organization"});l.selectAction=function(){for(var a=!1,c=0;c<l[k.name].length;c++)"success"==l[k.iterator+"_"+l[k.name][c].id+"_class"]&&(a=!0,e.organization=l[k.name][c].id,e.organization_name=l[k.name][c].name,e.team_form.$setDirty(),g.hide());!1==a&&h("No Selection","Click on a row to select an Organization before clicking the Select button.")};l.toggle_organization=function(a){if(l[k.name])for(var c=0;c<l[k.name].length;c++)l[k.iterator+"_"+l[k.name][c].id+"_class"]=
|
||||
"";null!=a&&void 0!=a&&(l[k.iterator+"_"+a+"_class"]="success")};c({scope:l,set:k.name,list:k,url:"/api/v1/organizations/"});p({scope:l,list:k,url:"/api/v1/organizations/",mode:"lookup"});e.search(k.iterator);l.toggle_organization(e.organization)}}}]);angular.module("AdminListDefinition",[]).value("AdminList",{name:"admins",iterator:"admin",selectTitle:"Add Administrators",editTitle:"Admins",selectInstructions:"Click on a row to select it. Click the Finished button when done.",base:"users",index:!0,fields:{username:{key:!0,label:"Username"},first_name:{label:"First Name"},last_name:{label:"Last Name"}},actions:{},fieldActions:{}});angular.module("CredentialsListDefinition",[]).value("CredentialList",{name:"credentials",iterator:"credential",selectTitle:"Add Credentials",editTitle:"Credentials",selectInstructions:'Check the Select checkbox next to each credential to be added, and click Finished when done. Use the green <i class="icon-plus"></i> button to create a new user.',editInstructions:"Create a new credential from either the Teams tab or the Users tab. Teams and Users each have an associated set of Credentials.",index:!0,
|
||||
hover:!0,fields:{name:{key:!0,label:"Name"},description:{label:"Description"},team:{label:"Team",ngBind:"credential.summary_fields.team.name",sourceModel:"team",sourceField:"name"},user:{label:"User",ngBind:"credential.summary_fields.user.usename",sourceModel:"user",sourceField:"username"}},actions:{add:{icon:"icon-plus",label:"Add",mode:"all",ngClick:"addCredential()",basePaths:["teams","users"],"class":"btn-success btn-small",awToolTip:"Create a new credential"}},fieldActions:{edit:{ngClick:"editCredential({{ credential.id }})",
|
||||
icon:"icon-edit",label:"Edit","class":"btn-small btn-success",awToolTip:"View/Edit credential"},"delete":{ngClick:"deleteCredential({{ credential.id }},'{{ credential.name }}')",icon:"icon-remove",label:"Delete","class":"btn-small btn-danger",awToolTip:"Delete credential"}}});angular.module("GroupListDefinition",[]).value("GroupList",{name:"groups",iterator:"group",selectTitle:"Add Group",editTitle:"Groups",index:!0,well:!1,fields:{name:{key:!0,label:"Name"},description:{label:"Description"}},actions:{add:{label:"Create New Group",icon:"icon-plus",mode:"all",ngClick:"createGroup()","class":"btn-success btn-small",awToolTip:"Create a new group"}},fieldActions:{edit:{label:"Edit",ngClick:"editGroup({{ group.id }})",icon:"icon-edit","class":"btn-small btn-success",awToolTip:"View/Edit group"},
|
||||
"delete":{label:"Delete",ngClick:"deleteGroup({{ group.id }},'{{ group.name }}')",icon:"icon-remove","class":"btn-small btn-danger",awToolTip:"Delete group"}}});angular.module("HostListDefinition",[]).value("HostList",{name:"hosts",iterator:"host",selectTitle:"Select Host",editTitle:"Hosts",index:!0,well:!0,fields:{name:{key:!0,label:"Host Name",linkTo:"/inventories/{{ inventory_id }}/hosts/{{ host.id }}"},description:{label:"Description"}},actions:{},fieldActions:{edit:{label:"Edit",ngClick:"editHost({{ host.id }})",icon:"icon-edit","class":"btn-small btn-success",awToolTip:"View/Edit host"},"delete":{label:"Delete",ngClick:"deleteHost({{ host.id }},'{{ host.name }}')",
|
||||
|
||||
@ -65,6 +65,21 @@ function JobEventsList ($scope, $rootScope, $location, $log, $routeParams, Rest,
|
||||
html += "<textarea readonly class=\"input-xxlarge\" rows=\"" + rows + "\">" + eventData.res[fld] + "</textarea>\n";
|
||||
found = true;
|
||||
}
|
||||
if ( fld == "results" && Array.isArray(eventData.res[fld]) && eventData.res[fld].length > 0 ) {
|
||||
html += "<label>Results:</label>\n";
|
||||
//html += "<textarea readonly class="
|
||||
var txt = '';
|
||||
for (var i=0; i < eventData.res[fld].length; i++) {
|
||||
txt += eventData.res[fld][i];
|
||||
}
|
||||
html += "<textarea readonly class=\"input-xxlarge\" rows=\"" + i + "\">" + txt + "</textarea>\n";
|
||||
found = true;
|
||||
}
|
||||
if (fld == "rc" && eventData.res[fld] != 0) {
|
||||
html += "<label>Return Code:</label>\n";
|
||||
html += "<input type=\"text\" value=\"" + eventData.res[fld] + "\" readonly >\n";
|
||||
found = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
html = (found) ? "<form class=\"event-detail\">\n" + html + "</form>\n" : '';
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user