Skip Menu |

This queue is for tickets about the RT-Client-REST CPAN distribution.

Report information
The Basics
Id: 38710
Status: resolved
Priority: 0/
Queue: RT-Client-REST

People
Owner: jpierce [...] cpan.org
Requestors: jpierce [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 0.37
Fixed in: (no value)



Subject: [patch] More featureful User module
Attached are a patch, and patched version of User.pm, allowing one access to nearly every user field except for language, Unix user, custom fields...
Subject: User.pm
# $Id: User.pm 2 Mon Aug 25 12:18 EDT 2008 jpierce $ # # RT::Client::REST::User -- user object representation. package RT::Client::REST::User; use strict; use warnings; use vars qw($VERSION); $VERSION = '0.03'; use Params::Validate qw(:types); use RT::Client::REST 0.14; use RT::Client::REST::Object 0.01; use RT::Client::REST::Object::Exception 0.01; use RT::Client::REST::SearchResult 0.02; use base 'RT::Client::REST::Object'; =head1 NAME RT::Client::REST::User -- user object representation. =head1 SYNOPSIS my $rt = RT::Client::REST->new(server => $ENV{RTSERVER}); my $user = RT::Client::REST::User->new( rt => $rt, id => $id, )->retrieve; =head1 DESCRIPTION B<RT::Client::REST::User> is based on L<RT::Client::REST::Object>. The representation allows to retrieve, edit, comment on, and create users in RT. Note: RT currently does not allow REST client to search users. =cut sub _attributes {{ id => { validation => { type => SCALAR, }, form2value => sub { shift =~ m~^user/(\d+)$~i; return $1; }, value2form => sub { return 'user/' . shift; }, }, priveleged => { validation => { type => SCALAR, }, }, name => { validation => { type => SCALAR, }, }, password => { validation => { type => SCALAR, }, }, email_address => { validation => { type => SCALAR, }, rest_name => 'EmailAddress', }, real_name => { validation => { type => SCALAR, }, rest_name => 'RealName', }, gecos => { validation => { type => SCALAR, }, }, comments => { validation => { type => SCALAR, }, }, organization => { validation => { type => SCALAR, }, }, address_one => { validation => { type => SCALAR, }, rest_name => 'Address1', }, address_two => { validation => { type => SCALAR, }, rest_name => 'Address2', }, city => { validation => { type => SCALAR, }, }, state => { validation => { type => SCALAR, }, }, zip => { validation => { type => SCALAR, }, }, country => { validation => { type => SCALAR, }, }, home_phone => { validation => { type => SCALAR, }, rest_name => 'HomePhone', }, work_phone => { validation => { type => SCALAR, }, rest_name => 'WorkPhone', }, cell_phone => { validation => { type => SCALAR, }, rest_name => 'MobilePhone', }, pager => { validation => { type => SCALAR, }, rest_name => 'PagerPhone', }, }} =head1 ATTRIBUTES =over 2 =item B<id> For retrieval, you can specify either the numeric ID of the user or his username. After the retrieval, however, this attribute will be set to the numeric id. =item B<name> This is the username of the user. =item B<password> User's password. Reading it will only give you a bunch of stars (what else would you expect?). =item B<priveleged> Can the user have special rights? =item B<email_address> E-mail address of the user, EmailAddress. =item B<real_name> Real name of the user, RealName. =item B<gecos> Gecos. =item B<comments> Comments about this user. =item B<organization> =item B<address_one> First line of the street address, Address1. =item B<address_two> Second line of the street address, Address2. =item B<city> City segment of user's address. =item B<zip> ZIP or Postal code segment of user's address. =item B<country> Country segment of user's address. =item B<home_phone> User's home phone number, HomePhone. =item B<work_phone> User's work phone number, WorkPhone. =item B<cell_phone> User's cell phone number, MobilePhone. =item B<pager> User's pager number, PagerPhone. =back =head1 DB METHODS For full explanation of these, please see B<"DB METHODS"> in L<RT::Client::REST::Object> documentation. =over 2 =item B<retrieve> Retrieve RT user from database. =item B<store> Create or update the user. =item B<search> Currently RT does not allow REST clients to search users. =back =head1 INTERNAL METHODS =over 2 =item B<rt_type> Returns 'user'. =cut sub rt_type { 'user' } =back =head1 SEE ALSO L<RT::Client::REST>, L<RT::Client::REST::Object>, L<RT::Client::REST::SearchResult>. =head1 AUTHOR Dmitri Tikhonov <dtikhonov@yahoo.com> =head1 LICENSE Perl license with the exception of L<RT::Client::REST>, which is GPLed. =cut __PACKAGE__->_generate_methods; 1;
Subject: patch
Download patch
application/octet-stream 3.8k

Message body not shown because it is not plain text.

Hi there, great news!! Any chance of getting the custom fields to be included in a future patch? this is possible with tickets (or atleast it claims to be). I tried hacking some code but it didnt work On Mon Aug 25 12:25:45 2008, JPIERCE wrote: Show quoted text
> Attached are a patch, and patched version of User.pm, allowing one > access to nearly every user field except for language, Unix user, custom > fields...
I replaced my copy of User.pm with yours but it doesn't seem to be returning the extra fields; for example, I have WorkPhone set but it isn't being returned. I don't see signature in the list of fields; any way of getting that, too? I tried adding it myself, but like I said, it doesn't seem to be reading the new file. Graham. On Fri Jan 23 05:34:51 2009, bittis wrote: Show quoted text
> Hi there, great news!! > > Any chance of getting the custom fields to be included in a future > patch? this is possible with tickets (or atleast it claims to be). I > tried hacking some code but it didnt work > > > > On Mon Aug 25 12:25:45 2008, JPIERCE wrote:
> > Attached are a patch, and patched version of User.pm, allowing one > > access to nearly every user field except for language, Unix user, custom > > fields...
>
Hello, We've released a new version of RT::Client::REST to CPAN wich should have the issue you reported fixed. Please come back to us if you feel this issue is not solved correctly. You can find the new version at http://search.cpan.org/~jlmartin/RT-Client-REST-0.4/ Thanks, Jose Luis Martinez RT::Client::REST Co-MAINT