r20434@hades (orig r549): groditi | 2008-01-30 18:09:54 -0300
[catagits/Reaction.git] / lib / Reaction / UI / ViewPort / Field / Mutable / File.pm
1 package Reaction::UI::ViewPort::Field::Mutable::File;
2
3 use Reaction::Class;
4 use Reaction::Types::File;
5
6 class File is 'Reaction::UI::ViewPort::Field', which {
7   does 'Reaction::UI::ViewPort::Field::Role::Mutable';
8
9   has '+value' => (isa => 'Upload');
10
11   override apply_our_events => sub {
12     my ($self, $ctx, $events) = @_;
13     my $value_key = join(':', $self->location, 'value');
14     if (my $upload = $ctx->req->upload($value_key)) {
15       local $events->{$value_key} = $upload;
16       return super();
17     } else {
18       return super();
19     }
20   };
21
22 };
23
24 1;