<?php

class bandActions extends sfActions
{
  public function 
executeIndex(sfWebRequest $request)
  {
    
$this->band_list Doctrine::getTable('Band')
      ->
createQuery('a')
      ->
execute();
  }

  public function 
executeNew(sfWebRequest $request)
  {
    
$this->form = new BandForm();
  }

  public function 
executeCreate(sfWebRequest $request)
  {
    
$this->forward404Unless($request->isMethod('post'));

    
$this->form = new BandForm();

    
$this->processForm($request$this->form);

    
$this->setTemplate('new');
  }

  public function 
executeEdit(sfWebRequest $request)
  {
    
$this->forward404Unless($band Doctrine::getTable('Band')->find(array($request->getParameter('id'))), sprintf('Object band does not exist (%s).'$request->getParameter('id')));
    
$this->form = new BandForm($band);
  }

  public function 
executeUpdate(sfWebRequest $request)
  {
    
$this->forward404Unless($request->isMethod('post') || $request->isMethod('put'));
    
$this->forward404Unless($band Doctrine::getTable('Band')->find(array($request->getParameter('id'))), sprintf('Object band does not exist (%s).'$request->getParameter('id')));
    
$this->form = new BandForm($band);

    
$this->processForm($request$this->form);

    
$this->setTemplate('edit');
  }

  public function 
executeDelete(sfWebRequest $request)
  {
    
$request->checkCSRFProtection();

    
$this->forward404Unless($band Doctrine::getTable('Band')->find(array($request->getParameter('id'))), sprintf('Object band does not exist (%s).'$request->getParameter('id')));
    
$band->delete();

    
$this->redirect('band/index');
  }

  protected function 
processForm(sfWebRequest $requestsfForm $form)
  {
    
$form->bind($request->getParameter($form->getName()));
    if (
$form->isValid())
    {
      
$band $form->save();

      
$this->redirect('band/edit?id='.$band->getId());
    }
  }

  public function 
executeMemberForm(sfWebRequest $request)
  {
    
$this->forward404Unless($request->isXmlHttpRequest());

    
$count $request->getParameter('count'0);

    
$form = new BandForm();
    
$form->setNumMembers($count 1);
    
$this->member $form['members'][$count];

    
$this->setLayout(false);
  }
}