[jifty-devel] Two questions about Actions
Edward Funnekotter
efunneko at gmail.com
Mon Dec 11 11:50:16 EST 2006
Thanks for the answers everyone. Using defer worked perfectly for the
dynamic section set.
On 12/11/06, Nelson Elhage <nelhage at bestpractical.com> wrote:
>
> Isn't the right answer these days supposed to be Scalar::Defer?
>
> param group_name =>
> label is 'Group Name',
> type is 'select',
> valid_values are defer { get_groups(); };
>
> I don't know if it actually works yet, although I did see some commits
> recently that I think were trying to fix it.
>
> - Nelson
>
> On Mon, Dec 11, 2006 at 10:24:49AM -0500, Jesse Vincent wrote:
> >
> >
> >
> > On Mon, Dec 11, 2006 at 04:15:33PM +0100, Agostini yves wrote:
> > > Le lundi 11 d??cembre 2006 ?? 09:41 -0500, Edward Funnekotter a ??crit
> :
> > > > Hi,
> > > >
> > > > I haven't found any documentation to answer these yet (forgive me if
> I
> > > > missed them):
> > > >
> > > > 1. Is it possible to populate an Action's selection field at
> runtime?
> > > > What I am trying to do is have a selection box in a form that has a
> > > > subset of a list of items that is dependent on the user. I tried
> the
> > > > following:
> > > >
> > > > param group_name =>
> > > > label is 'Group Name',
> > > > type is 'select',
> > > > valid_values are sub { get_groups(); };
> > > >
> > > > But it seems that giving a code ref to the valid values is not
> > > > acceptable.
> > >
> > > I don't think it's possible in action
> > > I make this yesterday by making my own html form
> >
> > What we've done in the past is to do this in the arguments sub. (Which,
> > yes, is deprecated, but I haven't yet spent enough time with the param
> > syntax to know the answer with it off the top of my head)
> >
> > sub arguments {
> > my $self = shift;
> > return $self->{__cached_arguments} if (exists
> $self->{__cached_arguments});
> >
> > my $args = $self->__get_cache->{$self->__cache_key($self->record)}
> ||=
> > $self->SUPER::arguments();
> >
> > if (my $owner_id = $record->owner->id) {
> > $args->{'owner_id'}{'default_value'} = $record->owner->email;
> >
> > if ( $owner_id == BTDT::CurrentUser->nobody->id
> > or $owner_id == $self->current_user->id )
> > {
> > $args->{'group_id'}{'valid_values'} = [
> > { display => (($record->group_id ?
> $record->group->name : "Personal" ) . " (Unchanged)"),
> > value => $record->group_id,
> > },
> > { display => 'Personal',
> > value => 0,
> > },
> > { display_from => 'name',
> > value_from => 'id',
> > collection =>
> Jifty->web->current_user->user_object->groups,
> > },
> > ];
> > }
> > }
> >
> > ...
> > return $args;
> > }
> >
> >
> > --
> > _______________________________________________
> > jifty-devel mailing list
> > jifty-devel at lists.jifty.org
> > http://lists.jifty.org/cgi-bin/mailman/listinfo/jifty-devel
> _______________________________________________
> jifty-devel mailing list
> jifty-devel at lists.jifty.org
> http://lists.jifty.org/cgi-bin/mailman/listinfo/jifty-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.bestpractical.com/pipermail/jifty-devel/attachments/20061211/a678ec47/attachment.htm
More information about the jifty-devel
mailing list