web/modules/sniglets/Sniglets/ListView/SystemList.pm | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+)
New commits: commit 8a6eb6ae2d076436acc1adb445299efaaafbc434 Author: Jan Pazdziora jpazdziora@redhat.com Date: Wed Nov 21 10:35:25 2012 +0100
Revert "removed dead query"
This reverts part of commit 719a2c75fdb8c31f16011a17aa9923a23abf6d63.
The provisioning_systems_in_set_with_tag mode is still used.
diff --git a/web/modules/sniglets/Sniglets/ListView/SystemList.pm b/web/modules/sniglets/Sniglets/ListView/SystemList.pm index f9ec15a..d0f46e4 100644 --- a/web/modules/sniglets/Sniglets/ListView/SystemList.pm +++ b/web/modules/sniglets/Sniglets/ListView/SystemList.pm @@ -62,6 +62,10 @@ sub _register_modes { -datasource => RHN::DataSource::System->new, -action_callback => &ssm_remote_command_action_cb);
+ Sniglets::ListView::List->add_mode(-mode => "provisioning_systems_in_set_with_tag", + -datasource => RHN::DataSource::System->new, + -action_callback => &ssm_rollback_by_tag_action_cb); + Sniglets::ListView::List->add_mode(-mode => "visible_to_user", -datasource => RHN::DataSource::System->new);
commit 5bba7e3272762466e021a03e556d7e587c2888fd Author: Jan Pazdziora jpazdziora@redhat.com Date: Wed Nov 21 10:33:12 2012 +0100
Revert "The ssm_rollback_by_tag_action_cb method no longer referenced, removing."
This reverts commit dc0fa1edb36499117ad68d36e3de2ea7c9a5f59a since we will be reverting 719a2c75fdb8c31f16011a17aa9923a23abf6d63 as well.
diff --git a/web/modules/sniglets/Sniglets/ListView/SystemList.pm b/web/modules/sniglets/Sniglets/ListView/SystemList.pm index b23cf9a..f9ec15a 100644 --- a/web/modules/sniglets/Sniglets/ListView/SystemList.pm +++ b/web/modules/sniglets/Sniglets/ListView/SystemList.pm @@ -391,6 +391,51 @@ sub ssm_remote_command_action_cb { return 1; }
+sub ssm_rollback_by_tag_action_cb { + my $self = shift; + my $pxt = shift; + + my %action = @_; + + my $label = ''; + + if (exists $action{label} and $action{label} eq 'rollback_systems') { + + my $tag_id = $pxt->param('tag_id'); + my $ds = new RHN::DataSource::System (-mode => 'provisioning_systems_in_set_with_tag'); + my $data = $ds->execute_query(-user_id => $pxt->user->id, -tag_id => $tag_id); + + my $transaction = RHN::DB->connect(); + + eval { + foreach my $server_data (@{$data}) { + + my $sid = $server_data->{ID}; + my $snapshot_id = $server_data->{SNAPSHOT_ID}; + + my %results = RHN::SystemSnapshot->rollback_to_snapshot(user_id => $pxt->user->id, + org_id => $pxt->user->org_id, + server_id => $sid, + snapshot_id => $snapshot_id, + transaction => $transaction, + ); + $transaction = $results{transaction}; + } + }; + + if ($@) { + my $E = $@; + $transaction->rollback(); + die $E; + } + else { + $pxt->push_message(site_info => "Rollbacks scheduled."); + $pxt->redirect("/network/systems/ssm/provisioning/rollback.pxt"); + } + } + + return 1; +}
sub selected_systems_installed_package_provider { my $self = shift;
spacewalk-commits@lists.fedorahosted.org