diff options
| author | Russ Allbery <rra@stanford.edu> | 2007-10-10 21:54:40 +0000 | 
|---|---|---|
| committer | Russ Allbery <rra@stanford.edu> | 2007-10-10 21:54:40 +0000 | 
| commit | 9183b6622eab6a27544af1c6ac1bfb3f1c4fb2e2 (patch) | |
| tree | 85849404e3d251b45d3acbd3946e0c02d2a3bb07 /perl/Wallet | |
| parent | 3b240cd8b2ec081a1806a65c4ea1eb1271d1ddfb (diff) | |
Add the history method (for objects).
Diffstat (limited to 'perl/Wallet')
| -rw-r--r-- | perl/Wallet/Server.pm | 23 | 
1 files changed, 22 insertions, 1 deletions
| diff --git a/perl/Wallet/Server.pm b/perl/Wallet/Server.pm index 172cdf1..2bc6ba1 100644 --- a/perl/Wallet/Server.pm +++ b/perl/Wallet/Server.pm @@ -24,7 +24,7 @@ use Wallet::Schema;  # This version should be increased on any code change to this module.  Always  # use two digits for the minor version with a leading zero if necessary so  # that it will sort properly. -$VERSION = '0.01'; +$VERSION = '0.02';  # This is a mapping of object types to class names, used to determine which  # object implementation should be instantiated for a given object type. @@ -375,6 +375,19 @@ sub show {      return $result;  } +# Return a human-readable description of the object history, or returns undef +# and sets the internal error if the object can't be found or if the user +# isn't authorized. +sub history { +    my ($self, $type, $name) = @_; +    my $object = $self->retrieve ($type, $name); +    return undef unless defined $object; +    return undef unless $self->acl_check ($object, 'show'); +    my $result = $object->history; +    $self->error ($object->error) unless defined $result; +    return $result; +} +  # Destroys the object, or returns undef and sets the internal error if the  # object can't be found or if the user isn't authorized.  sub destroy { @@ -801,6 +814,14 @@ special privileges to get objects.  Returns undef on failure.  The caller should be careful to distinguish  between undef and the empty string, which is valid object data. +=item history(TYPE, NAME) + +Returns (as a string) the human-readable history of the object identified by +TYPE and NAME, or undef on error.  To see the object history, the current +user must be a member of the ADMIN ACL, authorized by the show ACL, or +authorized by the owner ACL; however, if the show ACL is set, the owner ACL +will not be checked. +  =item owner(TYPE, NAME [, OWNER])  Gets or sets the owner for the object identified by TYPE and NAME.  If OWNER | 
