Am Sonntag 05 April 2009 22:56:33 schrieb Moritz Onken: > On a second thought, I'm not quite sure if it works. > > The end method looks like this: > > sub end : ActionClass('Serialize') { > my ( $self, $c ) = @_; > $self->next::method($c); > if ( $self->is_extjs_upload($c) ) { > # SNIP > } > } > > I didn't write a test or anything but I think that $self- > > >next::method($c); sets the body already. > > So my upload specific code will never be run if we add " and not > length( $c->response->body )".
The ActionClass Serialize does itself check (in execute method) if the body is already set: return 1 if length( $c->response->body ); But to be sure it might be a solution to bypass even 'self->next::method($c);' of the end method and checking 'length( $c->response->body )' right at the beginning. Greets, Mario Minati > Am 05.04.2009 um 21:57 schrieb Mario Minati: > > Hello Moritz, > > > > the end method has a problem. > > If it is a file upload it overwrites the output no matter what. > > Usually > > Serialize only writes output/body if it has no length. > > > > Would you mind if we use the following in line 55: > > > > if ( $self->is_extjs_upload($c) and not length( $c->response- > > > > >body )) { > > > > I need this for my custom extension which needs a TT renderer in a > > inherited > > class of CatalystX::Controller::ExtJS::REST. > > > > > > Greets, > > > > Mario Minati > > > > ---------- Weitergeleitete Nachricht ---------- > > > > Betreff: Re: [html-formfu] Re: Multiple inheritence with FormFu > > Catalyst > > Controllers > > Datum: Samstag 04 April 2009 > > Von: Mario Minati <mario.min...@googlemail.com> > > An: "HTML Form Creation, Rendering and Validation Framework" > > <html-formfu@lists.scsys.co.uk> > > > > Hi Moritz, > > > > I was also on the go since thursday, so not much time yet. > > > > Am Mittwoch 01 April 2009 07:43:08 schrieb Moritz Onken: > >> Am 01.04.2009 um 00:50 schrieb Mario Minati: > >>> Hi Moritz, > >>> > >>> I like your Controller very much. > >>> > >>> Just some questions: > >>> > >>> Do you know if it can handle uploads with the Ext ux SwfUpload? > >>> Probably no as the code of handle_uploads suggests. > >> > >> I have no Idea how SwfUpload works. AFAIK it allows to upload > >> multiple files. Does it submit the form data as well? If not, > >> this uploading thing should be an extra controller. > >> > >> As I did with ImageChooser I would suggest > >> CatalystX::Controller::ExtJS::SwfUpload > > > > Forget about SwfUpload, I found out that it has unsolved problems > > with firefox > > on linux, so not a way I will follow any longer. There are other > > Upload > > controllers, which can upload files via a POST request, but not > > integrated > > with a more complex form. > > > > I'll look at this later on, may be extending one of those solutions. > > > >>> Line 134 is: > >>> $object = $object->$self->config->{default_rs_method}; > >>> Is that correct? It looks a bit to perlish, but I'm not sure. > >> > >> Yes, that line is totally wrong, shold look like: > >> > >> my $rs = $self->config->{default_rs_method} > >> $object = $object->$rs; > >> > >>> How do you handle the usual controller logic, do you put it into the > >>> model and > >>> let the update die on problems or do you overwrite the PUT/PUSH > >>> methods? > >> > >> What kind of logic are we talking about? I put A LOT of logic in the > >> model. > >> This helps me with testing and I have currently a daemon process who > >> needs > >> to access the model. So I have everything there. Most of the logic is > >> handled by formfu. > > > > Model, ok. > > > >>> Do you plan to put that module into the formfu repository? > >> > >> Yes I do. Just wanted to write some more documentation and ask Carl > >> if > >> I can > >> upload it there. I'm off until sunday and don't have internet access. > >> But here is the latest and greatest latest version of this > >> controller. > >> I fixed the bug you mentioned and dropped the requirement for so many > >> files. > >> If one of the put/get/post/list files cannot be found it falls back > >> to the base file root/forms/???.yml > >> > >> You are welcome to patch and write on. Or even upload it to the > >> formfu > >> repo. I already have my bags packed and will leave in a few minutes. > > > > As you changed the code, you better put the latest code into the > > repo ;-) > > > >> One more thing, there are no tests yet. The module lives currently > >> in my > >> app's lib directory. So we need a module::install environment or > >> something. > > > > I'm willing to help with tests, but am not (yet) familiar with that > > module::install environment, so this may you can take care of that. > > > >> See you next monday! > > > > Have a nice weekend, > > > > Mario Minati > > > >> Am 01.04.2009 um 00:50 schrieb Mario Minati: > >>> Hi Moritz, > >>> > >>> I like your Controller very much. > >>> > >>> Just some questions: > >>> > >>> Do you know if it can handle uploads with the Ext ux SwfUpload? > >>> Probably no as the code of handle_uploads suggests. > >>> > >>> Line 134 is: > >>> $object = $object->$self->config->{default_rs_method}; > >>> Is that correct? It looks a bit to perlish, but I'm not sure. > >>> > >>> How do you handle the usual controller logic, do you put it into the > >>> model and > >>> let the update die on problems or do you overwrite the PUT/PUSH > >>> methods? > >>> > >>> Do you plan to put that module into the formfu repository? > >>> > >>> > >>> Greets, > >>> > >>> Mario Minati > >>> > >>> Am Dienstag 31 März 2009 13:13:09 schrieb Moritz Onken: > >>>> Hi Mario, > >>>> > >>>> I wrote a Catalyst controller which might be worth looking at for > >>>> you. > >>>> > >>>> It handles all kind of REST requests using formfu config files. For > >>>> each kind of request there is an extra file. > >>>> > >>>> I added a few bits of documentation to it. It's currently in > >>>> development for a new project I'm working on. > >>>> > >>>> My Controllers look currently something like this: > >>>> > >>>> package MyApp::Controller::User; > >>>> use strict; > >>>> use warnings; > >>>> > >>>> use base 'CatalystX::Controller::ExtJS::REST'; > >>>> > >>>> > >>>> 1; > >>>> > >>>> > >>>> This will create two chained actions: /user and /users, where you > >>>> can > >>>> post,put, delete and get whatever you want. > >>>> > >>>> You can read the documentation I wrote and try it. > >>> > >>> _______________________________________________ > >>> HTML-FormFu mailing list > >>> HTML-FormFu@lists.scsys.co.uk > >>> http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/html-formfu > >> > >> _______________________________________________ > >> HTML-FormFu mailing list > >> HTML-FormFu@lists.scsys.co.uk > >> http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/html-formfu > > > > ------------------------------------------------------- > > > > _______________________________________________ > > HTML-FormFu mailing list > > HTML-FormFu@lists.scsys.co.uk > > http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/html-formfu > > _______________________________________________ > HTML-FormFu mailing list > HTML-FormFu@lists.scsys.co.uk > http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/html-formfu _______________________________________________ HTML-FormFu mailing list HTML-FormFu@lists.scsys.co.uk http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/html-formfu