[html-formfu] HTML::FormFu::Element::DBIC::Select for review
mario.minati at googlemail.com
Wed Sep 19 11:43:00 GMT 2007
On Wednesday 19 September 2007 10:59:17 Zbigniew Lukasiak wrote:
> On 9/18/07, Mario Minati <mario.minati at googlemail.com> wrote:
> > When using 'populate' you cannot be sure if something is being changed
> > later on. When 'process' and 'render' are called nothing will be changed
> > anymore. That's why I use these functions.
> OK - so you want to be sure that the options are there - even if
> someone writes some extension that manipulates the element. Hmm ...
When extending DBIC you just call the ancessor (my $process =
$self->next::method...) and do you stuff, or you do your stuff before.
> Let's say that I am overriding render to add some formatting (or to
> use some different templating) - then, I don't know about others but,
> I would expect that the options are there already at that stage. It
> would be unintuitive if after 'populate' the element is not yet ready
I disagree. If you create form elements by perl, not via load_config_file,
than you are working on the elements until you call 'process/render'. So in
my understanding the only function call that tells me that the form is
complete is 'process/render'.
> Or let's say I want to delete some of the generated options - because
> even if they come from the database I don't want them in the form -
> then again I would expect that after the call to populate the element
> is ready and I can delete from it the options that I don't want.
This is only a problem when the solution *must* be found within FormFu. I deal
with this situation by making a user defined search, that's why you can say
which search function to use and give search attributes.
An other possibility would be to define a callback function which preprocesses
the resultset. In my opinion this contradicts the goal to divide M, V and C
as this logic belongs into the model. But you are welcome to create a patch,
that I can include.
> Isn't that what you would expect?
Well, when you could be more concrete on what you would like to realise, it
would be easier to find apropriate, not general, solutions.
More information about the HTML-FormFu