From d3bdce92619d8c72d6055b3d3fab53636965fbdc Mon Sep 17 00:00:00 2001 From: Andreas Granig Date: Tue, 10 Jun 2014 14:48:56 +0200 Subject: [PATCH] MT#7415 Clear usr_prefs when deleting ncos levels. --- lib/NGCP/Panel/Controller/NCOS.pm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/NGCP/Panel/Controller/NCOS.pm b/lib/NGCP/Panel/Controller/NCOS.pm index 5f8046fa32..9e53ecb219 100644 --- a/lib/NGCP/Panel/Controller/NCOS.pm +++ b/lib/NGCP/Panel/Controller/NCOS.pm @@ -140,7 +140,20 @@ sub delete :Chained('base') :PathPart('delete') { my ($self, $c) = @_; try { - $c->stash->{level_result}->delete; + my $schema = $c->model('DB'); + $schema->txn_do(sub { + for my $pref(qw/adm_ncos_id subadm_ncos_id ncos_id/) { + my $rs = NGCP::Panel::Utils::Preferences::get_usr_preference_rs( + c => $c, attribute => $pref, + ); + next unless($rs); + $rs = $rs->search({ + value => $c->stash->{level_result}->id, + }); + $rs->delete; + } + $c->stash->{level_result}->delete; + }); $c->flash(messages => [{type => 'success', text => $c->loc('NCOS level successfully deleted') }]); } catch ($e) { NGCP::Panel::Utils::Message->error(