TT#69360 - Fix 500 errors when issuing POST to HeaderRule(Actions|Conditions)

* DBIx could not resolve the relation 'rwr_set'
           when post processing hal resource because,
	   if not 'rwr_set_id', parameter is sent, the
	   field is not set in the DB
	 * Add error message when sending 'rwr_dp' param
	   with no 'rwr_set_id' which was causing error
	   as well

Change-Id: I90c2d5314b9e8a5389cc606bb0be72533614f8d5
changes/56/34756/3
Flaviu Mates 7 years ago
parent 993f9ce7bb
commit 467321e2f3

@ -51,7 +51,7 @@ sub hal_links {
sub post_process_hal_resource {
my ($self, $c, $item, $resource, $form) = @_;
my $dp_id = delete $resource->{rwr_dp_id};
if ($item->rwr_set) {
if ($item->rwr_set_id && $item->rwr_set) {
my %rwr_set_cols = $item->rwr_set->get_inflated_columns;
foreach my $dp_t (qw(callee_in callee_out caller_in caller_out)) {
my $c_dp_id = $rwr_set_cols{$dp_t.'_dpid'} // next;
@ -73,6 +73,11 @@ sub check_resource {
return;
}
if (!defined $resource->{rwr_set_id} && (defined $resource->{rwr_dp} || defined $resource->{rwr_dp_id})) {
$self->error($c, HTTP_UNPROCESSABLE_ENTITY, "Missing 'rwr_set_id' (when rwr_dp is set).");
return;
}
my $reseller_id;
if ($c->user->roles eq "reseller") {
$reseller_id = $c->user->reseller_id;

@ -53,7 +53,7 @@ sub post_process_hal_resource {
my ($self, $c, $item, $resource, $form) = @_;
my $dp_id = delete $resource->{rwr_dp_id};
my @values = ();
if ($item->rwr_set) {
if ($item->rwr_set_id && $item->rwr_set) {
my %rwr_set_cols = $item->rwr_set->get_inflated_columns;
foreach my $dp_t (qw(callee_in callee_out caller_in caller_out)) {
my $c_dp_id = $rwr_set_cols{$dp_t.'_dpid'} // next;
@ -93,6 +93,11 @@ sub check_resource {
return;
}
if (!defined $resource->{rwr_set_id} && (defined $resource->{rwr_dp} || defined $resource->{rwr_dp_id})) {
$self->error($c, HTTP_UNPROCESSABLE_ENTITY, "Missing 'rwr_set_id' (when rwr_dp is set).");
return;
}
my $reseller_id;
if ($c->user->roles eq "reseller") {
$reseller_id = $c->user->reseller_id;

Loading…
Cancel
Save