Mailing List Archive

[svn] r880 - in RTx-Atom: . html/Atom html/Atom/0.3 html/Atom/0.3/Elements
Author: autrijus
Date: Wed May 12 10:59:18 2004
New Revision: 880

Modified:
RTx-Atom/ (props changed)
RTx-Atom/html/Atom/0.3/Elements/SetProperty
RTx-Atom/html/Atom/0.3/dhandler
RTx-Atom/html/Atom/dhandler
Log:
----------------------------------------------------------------------
r4819@not: autrijus | 2004-05-12T14:59:03.195644Z

* Support for nonutf8 encodings in Put.
* Stop special-casing for MembersObj.
----------------------------------------------------------------------


Modified: RTx-Atom/html/Atom/0.3/Elements/SetProperty
==============================================================================
--- RTx-Atom/html/Atom/0.3/Elements/SetProperty (original)
+++ RTx-Atom/html/Atom/0.3/Elements/SetProperty Wed May 12 10:59:18 2004
@@ -3,6 +3,8 @@
$Object->_ClassAccessible->{$Property}{read} or return(404, undef);
$Object->_ClassAccessible->{$Property}{write} or return(403, undef);

+$m->notes('ToUTF8')->($Value);
+
my $method = "Set$Property";
my ($rv, $new_value) = ($Object->$method( $Value ))[0, -1];


Modified: RTx-Atom/html/Atom/0.3/dhandler
==============================================================================
--- RTx-Atom/html/Atom/0.3/dhandler (original)
+++ RTx-Atom/html/Atom/0.3/dhandler Wed May 12 10:59:18 2004
@@ -265,8 +265,13 @@
$property = $3;

if ($1) {
- $list->GotoItem($1);
- $obj = $list->Next;
+ if ($2 > 0) {
+ $list->GotoItem($2-1);
+ $obj = $list->Next;
+ }
+ else {
+ undef $obj;
+ }
}
else {
$obj = $list->NewItem;
@@ -277,14 +282,10 @@
}
elsif ($part =~ /^([A-Z]\w*)(?:\.(\w+))?$/) {
$list = $obj->$1;
- if (ref($list) eq 'RT::Group') {
- $list = $list->UserMembersObj;
- }
- else {
- $list->UnLimit;
- }
- if ( ($property = $2) ) {
+
+ if ( ($property = $2) or !$list->can('UnLimit') ) {
$obj = $list;
+ undef $list;
}
else {
$property = $obj = undef;
@@ -293,11 +294,15 @@
# Can't allow cache to happen at all
eval { $obj->_expire( $obj->_gen_primary_cache_key()) };
}
+
my $resource = ($obj ? $property ? 'Property' : 'Object' : 'Container');
-$obj ||= $list->NewItem;

# Can't allow cache to happen at all
-eval { $obj->_expire( $obj->_gen_primary_cache_key()) };
+eval {
+ $obj ||= $list->NewItem;
+ $obj->_expire( $obj->_gen_primary_cache_key());
+ $list->UnLimit unless $list->_isLimited;
+};

if ($resource eq 'Container') {
# FeedURI on collection
@@ -308,6 +313,16 @@
$verb = 'Update' if $verb eq 'Add';
}

+if (my $encoding = $m->notes('encoding')) {
+ $m->notes(ToUTF8 => sub {
+ Encode::_utf8_off($_[0]);
+ Encode::from_to($_[0], $encoding, 'utf-8');
+ });
+}
+else {
+ $m->notes(ToUTF8 => sub { 1 });
+}
+
$m->comp(
"$verb/index", %ARGS,
Type => $type,

Modified: RTx-Atom/html/Atom/dhandler
==============================================================================
--- RTx-Atom/html/Atom/dhandler (original)
+++ RTx-Atom/html/Atom/dhandler Wed May 12 10:59:18 2004
@@ -1,4 +1,4 @@
-%# The main dispatcher for RT/REST 2.0
+%# The main dispatcher for RT/Atom 0.3
<%INIT>
$r->content_type('text/html');
$r->header_out(Location => "$RT::WebPath/Atom/0.3/");
_______________________________________________
Rt-commit mailing list
Rt-commit@lists.bestpractical.com
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-commit