Completed requested changes to Host Summary page.

This commit is contained in:
chouseknecht 2013-05-24 13:21:55 -04:00
parent 007db3435d
commit aa9b4741dc
5 changed files with 39 additions and 30 deletions

View File

@ -53,7 +53,7 @@ angular.module('CredentialFormDefinition', [])
associated: 'ssh_password'
},
"ssh_key_data": {
label: 'SSH Key',
label: 'SSH Private Key',
type: 'textarea',
addRequired: false,
editRequired: false,

View File

@ -53,11 +53,14 @@ angular.module('SearchHelper', ['RestServices', 'Utilities', 'RefreshHelper'])
if (list.fields[f].searchType && ( list.fields[f].searchType == 'boolean'
|| list.fields[f].searchType == 'select')) {
scope[iterator + 'SelectShow'] = true;
scope[iterator + 'SearchSelectOpts'] = list.fields[fld].searchOptions;
scope[iterator + 'SearchSelectOpts'] = list.fields[f].searchOptions;
}
if (list.fields[f].searchType && list.fields[f].searchType == 'int') {
scope[iterator + 'HideSearchType'] = true;
}
if (list.fields[f].searchType && list.fields[f].searchType == 'gtzero') {
scope[iterator + "InputHide"] = true;
}
// Functions to handle search widget changes
scope.setSearchField = function(iterator, fld, label) {
@ -66,7 +69,11 @@ angular.module('SearchHelper', ['RestServices', 'Utilities', 'RefreshHelper'])
scope[iterator + 'SearchValue'] = '';
scope[iterator + 'SelectShow'] = false;
scope[iterator + 'HideSearchType'] = false;
scope[iterator + 'InputHide'] = false;
if (list.fields[fld].searchType && list.fields[fld].searchType == 'gtzero') {
scope[iterator + "InputHide"] = true;
}
if (list.fields[fld].searchType && (list.fields[fld].searchType == 'boolean'
|| list.fields[fld].searchType == 'select')) {
scope[iterator + 'SelectShow'] = true;
@ -93,7 +100,8 @@ angular.module('SearchHelper', ['RestServices', 'Utilities', 'RefreshHelper'])
scope[iterator + 'SearchParms'] = '';
var url = defaultUrl;
if ( (scope[iterator + 'SelectShow'] == false && scope[iterator + 'SearchValue'] != '' && scope[iterator + 'SearchValue'] != undefined) ||
(scope[iterator + 'SelectShow'] && scope[iterator + 'SearchSelectValue']) ) {
(scope[iterator + 'SelectShow'] && scope[iterator + 'SearchSelectValue']) ||
(list.fields[scope[iterator + 'SearchField']].searchType && list.fields[scope[iterator + 'SearchField']].searchType == 'gtzero') ) {
if (list.fields[scope[iterator + 'SearchField']].sourceModel) {
// handle fields whose source is a related model e.g. inventories.organization
scope[iterator + 'SearchParams'] = '?' + list.fields[scope[iterator + 'SearchField']].sourceModel + '__' +
@ -108,9 +116,13 @@ angular.module('SearchHelper', ['RestServices', 'Utilities', 'RefreshHelper'])
if ( list.fields[scope[iterator + 'SearchField']].searchType &&
(list.fields[scope[iterator + 'SearchField']].searchType == 'int' ||
list.fields[scope[iterator + 'SearchField']].searchType == 'boolean') ) {
list.fields[scope[iterator + 'SearchField']].searchType == 'boolean' ) ) {
scope[iterator + 'SearchParams'] += 'int=';
}
else if ( list.fields[scope[iterator + 'SearchField']].searchType &&
list.fields[scope[iterator + 'SearchField']].searchType == 'gtzero' ) {
scope[iterator + 'SearchParams'] += 'gt=0';
}
else {
scope[iterator + 'SearchParams'] += scope[iterator + 'SearchType'] + '=';
}
@ -120,7 +132,8 @@ angular.module('SearchHelper', ['RestServices', 'Utilities', 'RefreshHelper'])
|| list.fields[scope[iterator + 'SearchField']].searchType == 'select') ) {
scope[iterator + 'SearchParams'] += scope[iterator + 'SearchSelectValue'].value;
}
else {
else if ( list.fields[scope[iterator + 'SearchField']].searchType == undefined ||
list.fields[scope[iterator + 'SearchField']].searchType == 'gtzero' ) {
scope[iterator + 'SearchParams'] += escape(scope[iterator + 'SearchValue']);
}
scope[iterator + 'SearchParams'] += (default_order) ? '&order_by=' + escape(default_order) : '';

View File

@ -26,29 +26,25 @@ angular.module('JobHostDefinition', [])
//linkTo: '/hosts/\{\{ jobhost.host \}\}'
ngClick:"viewHost(\{\{ jobhost.host \}\})"
},
ok: {
label: 'Success',
notSearchable: true
},
changed: {
label: 'Changed',
searchType: 'math'
},
dark: {
label: 'Dark',
searchType: 'math'
notSearchable: true
},
failures: {
label: 'Failures',
searchType: 'math'
label: 'Failure',
searchType: 'gtzero'
},
ok: {
label: 'OK',
searchType: 'math'
},
processed: {
label: 'Processed',
searchType: 'math'
dark: {
label: 'Unreachable',
notSearchable: true
},
skipped: {
label: 'Skipped',
searchType: 'math'
notSearchable: true
}
},

View File

@ -32,11 +32,11 @@ angular.module('GeneratorHelpers', [])
html += "<ul class=\"dropdown-menu\">\n";
for ( var fld in form.fields) {
html += "<li><a href=\"\" ng-click=\"setSearchField('" + iterator + "','";
//html += (form.fields[fld].desc) ? '-' : '';
//html += (form.fields[fld].searchField) ? form.fields[fld].searchField : fld;
html += fld + "','" + form.fields[fld].label + "')\">"
+ form.fields[fld].label + "</a></li>\n";
if (form.fields[fld].notSearchable == undefined || form.fields[fld].notSearchable == false) {
html += "<li><a href=\"\" ng-click=\"setSearchField('" + iterator + "','";
html += fld + "','" + form.fields[fld].label + "')\">"
+ form.fields[fld].label + "</a></li>\n";
}
}
html += "</ul>\n";
html += "</div>\n";
@ -44,13 +44,13 @@ angular.module('GeneratorHelpers', [])
html += "<select ng-show=\"" + iterator + "SelectShow\" ng-model=\""+ iterator + "SearchSelectValue\" ng-change=\"search('" + iterator + "')\" ";
html += "ng-options=\"c.name for c in " + iterator + "SearchSelectOpts\" class=\"search-select\"></select>\n";
html += "<input ng-hide=\"" + iterator + "SelectShow\" class=\"input-medium";
html += "<input ng-hide=\"" + iterator + "SelectShow || " + iterator + "InputHide\" class=\"input-medium";
html += (useMini) ? " field-mini-height" : "";
html += "\" ng-model=\"" + iterator + "SearchValue\" ng-change=\"search('" + iterator +
"')\" placeholder=\"Search\" type=\"text\" >\n";
html += "<div class=\"btn-group\">\n";
html += "<button ng-hide=\"" + iterator + "SelectShow || " + iterator + "HideSearchType\" class=\"btn ";
html += "<button ng-hide=\"" + iterator + "SelectShow || " + iterator + "HideSearchType || " + iterator + "InputHide\" class=\"btn ";
html += (useMini) ? "btn-mini " : "btn-small";
html += "dropdown-toggle\" data-toggle=\"dropdown\">\n";
html += "<span ng-bind=\"" + iterator + "SearchTypeLabel\"></span>\n";

View File

@ -107,11 +107,11 @@
<div class="span12">
<ul class="nav nav-tabs">
<li class="active"><a href="#organizations" data-toggle="tab">Organizations</a></li>
<li><a href="#projects" data-toggle="tab">Projects</a></li>
<li><a href="#teams" data-toggle="tab">Teams</a></li>
<li><a href="#users" data-toggle="tab">Users</a></li>
<li><a href="#credentials" data-toggle="tab">Credentials</a></li>
<li><a href="#teams" data-toggle="tab">Teams</a></li>
<li><a href="#projects" data-toggle="tab">Projects</a></li>
<li><a href="#inventories" data-toggle="tab">Inventories</a></li>
<li><a href="#credentials" data-toggle="tab">Credentials</a></li>
<li><a href="#job_templates" data-toggle="tab">Job Templates</a></li>
<li><a href="#jobs" data-toggle="tab">Jobs</a></li>
</ul>