This approach makes your form untestable.
I'd suggest following scenario instead:
.....
if ($this->getOption('is_backend', false) == false) {
$this->widgetSchema['payment_type_id'] =
new sfWidgetFormSelect(array('choices' => $choices));
} else {
$this->widgetSchema['payment_type_id'] =
new asWidgetFormSelectRadio(array('choices' => $choices));
}
...
On Thu, Oct 7, 2010 at 11:46, Christian <[email protected]> wrote:
>
> if (sfContext::getInstance()->getConfiguration()->getApplication() ==
> 'backend) {
> $this->widgetSchema['payment_type_id'] = new
> sfWidgetFormSelect(array('choices' => $choices));
> } else {
> $this->widgetSchema['payment_type_id'] = new
> asWidgetFormSelectRadio(array('choices' => $choices));
> }
>
>
> hope this help u
>
>
> On 7 Okt., 03:10, Andrei Dziahel <[email protected]> wrote:
> > Hi.
> >
> > So why not to create 2 separate form classes which extend BaseVideoForm
> (or
> > VideoForm — depends of your needs and ), fill their configure()method
> with
> > application-specific code and use both in appropriate applications?
> >
> >
> >
> > On Thu, Oct 7, 2010 at 01:55, Manu SW <[email protected]> wrote:
> > > Hi,
> >
> > > Sorry if this is a n00b question ...
> >
> > > I would like to use the same form in both frontend and backend
> application
> > > but I would need to change some widget types, depending on the
> application I
> > > am using the form.
> >
> > > For example I have the form definition:
> >
> > > class VideoForm extends BaseVideoForm
> > > {
> > > public function configure()
> > > {
> > > parent::setup();//pkWidgetFormInputFilePersistent
> > > //pkValidatorFilePersistent
> > > $this->setWidgets(array(
> > > 'object_id' => new sfWidgetFormInputHidden(),
> > > 'user_id' => new sfWidgetFormInputHidden(),
> > > 'media_file' => new sfWidgetFormInputFile(array(
> > > 'label' => 'Mi Video',
> > > //'file_src' =>
> > > '/uploads/media/'.$this->getObject()->getMediaFile(),
> > > //'is_image' => false,
> > > //'edit_mode' => false,
> > > //'template' => '<div>%input%</div>',
> > > )),
> > > 'is_stream' => new sfWidgetFormInputHidden(),
> > > 'date_created' => new sfWidgetFormInputHidden()
> > > ));
> > > ....
> >
> > > I this definition is fine for the frontend definition but I would like
> to
> > > change the 'object_id' and 'user_id' to be a sfWidgetFormChoice when I
> use
> > > the form in the backend application.
> >
> > > Any idea or pointer someone could give me about the best way to achieve
> > > that?
> >
> > > (that's an app I am maintaining in symfony 1.2.5)
> >
> > > Thanks !
> > > M.
> >
> > > --
> > > If you want to report a vulnerability issue on symfony, please send it
> to
> > > security at symfony-project.com
> >
> > > You received this message because you are subscribed to the Google
> > > Groups "symfony users" group.
> > > To post to this group, send email to [email protected]
> > > To unsubscribe from this group, send email to
> > > [email protected]<symfony-users%[email protected]>
> <symfony-users%[email protected]<symfony-users%[email protected]>
> >
> > > For more options, visit this group at
> > >http://groups.google.com/group/symfony-users?hl=en
> >
> > --
> > With the best regards, Andrei.
>
> --
> If you want to report a vulnerability issue on symfony, please send it to
> security at symfony-project.com
>
> You received this message because you are subscribed to the Google
> Groups "symfony users" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]<symfony-users%[email protected]>
> For more options, visit this group at
> http://groups.google.com/group/symfony-users?hl=en
>
--
With the best regards, Andrei.
--
If you want to report a vulnerability issue on symfony, please send it to
security at symfony-project.com
You received this message because you are subscribed to the Google
Groups "symfony users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/symfony-users?hl=en