From c30a8a56d50970dbe1898c26ac363cba1ca86555 Mon Sep 17 00:00:00 2001 From: erickson Date: Thu, 15 May 2008 15:15:28 +0000 Subject: [PATCH] added li_provider_attr_def delete git-svn-id: svn://svn.open-ils.org/ILS/branches/acq-experiment@9618 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../perlmods/OpenILS/Application/Acq/Provider.pm | 30 +++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Acq/Provider.pm b/Open-ILS/src/perlmods/OpenILS/Application/Acq/Provider.pm index 8749323f01..6f22eb15bb 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Acq/Provider.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Acq/Provider.pm @@ -145,11 +145,39 @@ sub create_provider_attr_def { return $e->die_event unless $e->checkauth; my $provider = $e->retrieve_acq_provider($attr_def->provider) or return $e->die_event; - return $e->event unless $e->allowed('ADMIN_PROVIDER', $provider->owner); + return $e->die_event unless $e->allowed('ADMIN_PROVIDER', $provider->owner); $e->create_acq_lineitem_provider_attr_definition($attr_def) or return $e->die_event; $e->commit; return $attr_def->id; } +__PACKAGE__->register_method( + method => 'delete_provider_attr_def', + api_name => 'open-ils.acq.lineitem_provider_attr_definition.delete', + signature => { + desc => 'Deletes a lineitem_provider_attr_definition', + params => [ + {desc => 'Authentication token', type => 'string'}, + {desc => 'ID', type => 'number'} + ], + return => {desc => '1 on success, event on failure'} + } +); + +sub delete_provider_attr_def { + my($self, $conn, $auth, $id) = @_; + my $e = new_editor(authtoken=>$auth, xact=>1); + return $e->die_event unless $e->checkauth; + my $attr_def = $e->retrieve_acq_lineitem_provider_attr_definition($id) + or return $e->die_event; + my $provider = $e->retrieve_acq_provider($attr_def->provider) + or return $e->die_event; + return $e->die_event unless $e->allowed('ADMIN_PROVIDER', $provider->owner); + $e->delete_acq_lineitem_provider_attr_definition($attr_def) + or return $e->die_event; + $e->commit; + return 1; +} + 1; -- 2.11.0