TT#84254 - Allow patching of rewriterules on /api/rewriterulesets

* The resource was not having the rewriterules before
	   patching the json, because they were added only at
	   the end in the hal resource

Change-Id: I43decadb95b6cf06828969b968c61a4b87062fb6
changes/59/41159/2
Flaviu Mates 5 years ago
parent 4365599a20
commit 321b6965fb

@ -37,27 +37,6 @@ sub get_form {
}
}
sub post_process_hal_resource {
my($self, $c, $item, $resource, $form) = @_;
my $rwr_form = $self->get_form($c, "rules");
my @rewriterules;
for my $rule ( $item->voip_rewrite_rules->search_rs(undef, { order_by => { '-asc' => 'priority' } } )->all ) {
my $rule_resource = { $rule->get_inflated_columns };
return unless $self->validate_form(
c => $c,
form => $rwr_form,
resource => $rule_resource,
run => 0,
);
delete $rule_resource->{set_id};
$rule_resource->{match_pattern} = $rwr_form->inflate_match_pattern($rule_resource->{match_pattern});
$rule_resource->{replace_pattern} = $rwr_form->inflate_replace_pattern($rule_resource->{replace_pattern});
push @rewriterules, $rule_resource;
}
$resource->{rewriterules} = \@rewriterules;
return $resource;
}
sub _item_rs {
my ($self, $c, $type) = @_;
my $item_rs;
@ -77,6 +56,31 @@ sub process_form_resource{
return $resource;
}
sub resource_from_item {
my ($self, $c, $item, $form) = @_;
my %resource = $item->get_inflated_columns;
my $rwr_form = $self->get_form($c, "rules");
my @rewriterules = ();
foreach my $rule ($item->voip_rewrite_rules->search_rs(undef, { order_by => { '-asc' => 'priority' } } )->all) {
my $rule_resource = { $rule->get_inflated_columns };
return unless $self->validate_form(
c => $c,
form => $rwr_form,
resource => $rule_resource,
run => 0,
);
delete $rule_resource->{set_id};
$rule_resource->{match_pattern} = $rwr_form->inflate_match_pattern($rule_resource->{match_pattern});
$rule_resource->{replace_pattern} = $rwr_form->inflate_replace_pattern($rule_resource->{replace_pattern});
push @rewriterules, $rule_resource;
}
$resource{rewriterules} = \@rewriterules;
return \%resource;
}
sub check_resource{
my($self, $c, $item, $old_resource, $resource, $form, $process_extras) = @_;
my $schema = $c->model('DB');

Loading…
Cancel
Save