MT#6909 API Check for existance of email tmpl name

Make sure to not expose internal error on duplicate email template
name/reseller.
ipeshinskaya/InvoiceTemplate5
Andreas Granig 12 years ago
parent f47c7d114f
commit 3ec2d88bfe

@ -161,6 +161,16 @@ sub POST :Allow {
}
my $item;
$item = $c->model('DB')->resultset('email_templates')->find({
reseller_id => $resource->{reseller_id},
name => $resource->{name},
});
if($item) {
$c->log->error("email template with name '$$resource{name}' already exists for reseller_id '$$resource{reseller_id}'"); # TODO: user, message, trace, ...
$self->error($c, HTTP_UNPROCESSABLE_ENTITY, "Email template with this name already exists for this reseller");
last;
}
try {
$item = $c->model('DB')->resultset('email_templates')->create($resource);
} catch($e) {

@ -88,6 +88,16 @@ sub update_item {
$resource->{reseller_id} = $c->user->reseller_id;
}
my $dup_item = $c->model('DB')->resultset('email_templates')->find({
reseller_id => $resource->{reseller_id},
name => $resource->{name},
});
if($dup_item && $dup_item->id != $item->id) {
$c->log->error("email template with name '$$resource{name}' already exists for reseller_id '$$resource{reseller_id}'"); # TODO: user, message, trace, ...
$self->error($c, HTTP_UNPROCESSABLE_ENTITY, "Email template with this name already exists for this reseller");
return;
}
$item->update($resource);
return $item;

Loading…
Cancel
Save