Skip to content

Commit

Permalink
systems - update packages pane to support accessing task details on c…
Browse files Browse the repository at this point in the history
…ompletion

This commit contains changes that will allow the user to see
the results of completed/failed package actions from the Systems
Packages pane without the need to navigate to the Event History.
In order to access the details the user can simply click the link
and a subpanel will be opened showing the same information the
user could see if sitting on the Event History pane.

Note: this only applies while sitting on the pane once an
action is initiated.  Once the action is completed, if the user
navigates to another pane and returns, they can no longer access
the details because at that point it is 'history'....
  • Loading branch information
bbuckingham committed Jun 29, 2012
1 parent bc59785 commit a538005
Showing 1 changed file with 29 additions and 22 deletions.
51 changes: 29 additions & 22 deletions src/public/javascripts/system_packages.js
Original file line number Diff line number Diff line change
Expand Up @@ -244,8 +244,9 @@ KT.system_packages = function() {
updateStatus = function(data) {
// For each action that the user has initiated, update the status.
$.each(data, function(index, status) {
var action = actions_in_progress[status["id"]],
action_row = $('tr[data-pending-action-id="'+status["id"]+'"]'),
var event_id = status["id"],
action = actions_in_progress[event_id],
action_row = $('tr[data-pending-action-id="'+event_id+'"]'),
action_status_col = action_row.find('td.package_action_status');

switch (status["state"]) {
Expand All @@ -256,102 +257,108 @@ KT.system_packages = function() {
case "error":
switch (action) {
case KT.package_action_types.PKG_INSTALL:
action_status_col.html(i18n.adding_package_failed);
action_status_col.html(get_status_block(event_id, i18n.adding_package_failed));
clearAction(status["id"], status["parameters"], KT.package_action_types.PKG);
break;
case KT.package_action_types.PKG_UPDATE:
action_status_col.html(i18n.updating_package_failed);
action_status_col.html(get_status_block(event_id, i18n.updating_package_failed));
clearAction(status["id"], status["parameters"], KT.package_action_types.PKG);
break;
case KT.package_action_types.PKG_REMOVE:
action_status_col.html(i18n.removing_package_failed);
action_status_col.html(get_status_block(event_id, i18n.removing_package_failed));
clearAction(status["id"], status["parameters"], KT.package_action_types.PKG);
break;
case KT.package_action_types.PKG_GRP_INSTALL:
action_status_col.html(i18n.adding_group_failed);
action_status_col.html(get_status_block(event_id, i18n.adding_group_failed));
clearAction(status["id"], status["parameters"], KT.package_action_types.PKG_GRP);
break;
case KT.package_action_types.PKG_GRP_REMOVE:
action_status_col.html(i18n.removing_group_failed);
action_status_col.html(get_status_block(event_id, i18n.removing_group_failed));
clearAction(status["id"], status["parameters"], KT.package_action_types.PKG_GRP);
break;
}
break;
case "finished":
switch (action) {
case KT.package_action_types.PKG_INSTALL:
action_status_col.html(i18n.adding_package_success);
action_status_col.html(get_status_block(event_id, i18n.adding_package_success));
clearAction(status["id"], status["parameters"], KT.package_action_types.PKG);
break;
case KT.package_action_types.PKG_UPDATE:
action_status_col.html(i18n.updating_package_success);
action_status_col.html(get_status_block(event_id, i18n.updating_package_success));
clearAction(status["id"], status["parameters"], KT.package_action_types.PKG);
break;
case KT.package_action_types.PKG_REMOVE:
action_status_col.html(i18n.removing_package_success);
action_status_col.html(get_status_block(event_id, i18n.removing_package_success));
clearAction(status["id"], status["parameters"], KT.package_action_types.PKG);
break;
case KT.package_action_types.PKG_GRP_INSTALL:
action_status_col.html(i18n.adding_group_success);
action_status_col.html(get_status_block(event_id, i18n.adding_group_success));
clearAction(status["id"], status["parameters"], KT.package_action_types.PKG_GRP);
break;
case KT.package_action_types.PKG_GRP_REMOVE:
action_status_col.html(i18n.removing_group_success);
action_status_col.html(get_status_block(event_id, i18n.removing_group_success));
clearAction(status["id"], status["parameters"], KT.package_action_types.PKG_GRP);
break;
}
break;
case "canceled":
switch (action) {
case KT.package_action_types.PKG_INSTALL:
action_status_col.html(i18n.adding_package_canceled);
action_status_col.html(get_status_block(event_id, i18n.adding_package_canceled));
clearAction(status["id"], status["parameters"], KT.package_action_types.PKG);
break;
case KT.package_action_types.PKG_UPDATE:
action_status_col.html(i18n.updating_package_canceled);
action_status_col.html(get_status_block(event_id, i18n.updating_package_canceled));
clearAction(status["id"], status["parameters"], KT.package_action_types.PKG);
break;
case KT.package_action_types.PKG_REMOVE:
action_status_col.html(i18n.removing_package_canceled);
action_status_col.html(get_status_block(event_id, i18n.removing_package_canceled));
clearAction(status["id"], status["parameters"], KT.package_action_types.PKG);
break;
case KT.package_action_types.PKG_GRP_INSTALL:
action_status_col.html(i18n.adding_group_canceled);
action_status_col.html(get_status_block(event_id, i18n.adding_group_canceled));
clearAction(status["id"], status["parameters"], KT.package_action_types.PKG_GRP);
break;
case KT.package_action_types.PKG_GRP_REMOVE:
action_status_col.html(i18n.removing_group_canceled);
action_status_col.html(get_status_block(event_id, i18n.removing_group_canceled));
clearAction(status["id"], status["parameters"], KT.package_action_types.PKG_GRP);
break;
}
break;
case "timed_out":
switch (action) {
case KT.package_action_types.PKG_INSTALL:
action_status_col.html(i18n.adding_package_timeout);
action_status_col.html(get_status_block(event_id, i18n.adding_package_timeout));
clearAction(status["id"], status["parameters"], KT.package_action_types.PKG);
break;
case KT.package_action_types.PKG_UPDATE:
action_status_col.html(i18n.updating_package_timeout);
action_status_col.html(get_status_block(event_id, i18n.updating_package_timeout));
clearAction(status["id"], status["parameters"], KT.package_action_types.PKG);
break;
case KT.package_action_types.PKG_REMOVE:
action_status_col.html(i18n.removing_package_timeout);
action_status_col.html(get_status_block(event_id, i18n.removing_package_timeout));
clearAction(status["id"], status["parameters"], KT.package_action_types.PKG);
break;
case KT.package_action_types.PKG_GRP_INSTALL:
action_status_col.html(i18n.adding_group_timeout);
action_status_col.html(get_status_block(event_id, i18n.adding_group_timeout));
clearAction(status["id"], status["parameters"], KT.package_action_types.PKG_GRP);
break;
case KT.package_action_types.PKG_GRP_REMOVE:
action_status_col.html(i18n.removing_group_timeout);
action_status_col.html(get_status_block(event_id, i18n.removing_group_timeout));
clearAction(status["id"], status["parameters"], KT.package_action_types.PKG_GRP);
break;
}
break;
}
});
},
get_status_block = function(event_id, status){
var event_url = KT.routes.system_event_path(system_id, event_id);

var html = '<a data-url="' + event_url + '" class="subpanel_element">' + status + '</a>';
return html;
},
clearAction = function(action_id, content, content_type) {
// clear/remove the details associated with the action....
noLongerMonitorStatus(action_id);
Expand Down

0 comments on commit a538005

Please sign in to comment.