MT#6913 API: fix profile(_set) deletion.

ipeshinskaya/InvoiceTemplate5
Andreas Granig 12 years ago
parent 19d6b47796
commit 84cc7c36c9

@ -193,17 +193,14 @@ sub DELETE :Allow {
my $item = $self->item_by_id($c, $id);
last unless $self->resource_exists($c, subscriberprofileset => $item);
$c->model('DB')->resultset('contracts')->search({
subscriber_email_template_id => $item->id,
$schema->resultset('provisioning_voip_subscribers')->search({
profile_set_id => $item->id,
})->update({
subscriber_email_template_id => undef,
});
$c->model('DB')->resultset('contracts')->search({
passreset_email_template_id => $item->id,
})->update({
passreset_email_template_id => undef,
profile_set_id => undef,
profile_id => undef,
});
$item->voip_subscriber_profiles->delete;
$item->delete;
$guard->commit;

@ -174,17 +174,20 @@ sub DELETE :Allow {
my $item = $self->item_by_id($c, $id);
last unless $self->resource_exists($c, subscriberprofile => $item);
$c->model('DB')->resultset('contracts')->search({
subscriber_email_template_id => $item->id,
$c->model('DB')->resultset('provisioning_voip_subscribers')->search({
profile_id => $item->id,
})->update({
subscriber_email_template_id => undef,
});
$c->model('DB')->resultset('contracts')->search({
passreset_email_template_id => $item->id,
})->update({
passreset_email_template_id => undef,
profile_id => undef,
});
if($item->set_default && $item->profile_set->voip_subscriber_profiles->count > 1) {
$item->profile_set->voip_subscriber_profiles->search({
id => { '!=' => $item->id },
})->first->update({
set_default => 1,
});
}
$item->delete;
$guard->commit;

@ -137,7 +137,7 @@ sub update_item {
set_default => 1,
});
} elsif(!$item->set_default && $resource->{set_default}) {
$set->voip_subscriber_profiles->all->update({
$set->voip_subscriber_profiles->update({
set_default => 0,
});
}

Loading…
Cancel
Save