среда, 25 ноября 2009 г.

Symfony Custom Filter in Admin Generator

Небольшой snippet по расширению Form Filter.
Например есть табличка с заказами Order, табличка с товарами Product и связующая табличка OrderProduct. В backend необходимо добавить возможность фильтрации по id заказа (странно что symfony сама не добавляет в фильтр id) и по названию товара в заказе.

Первым делом изменяем OrderFormFilter:
class OrderFormFilter extends BaseOrderFormFilter
{
  public function configure()
  {
    $this->widgetSchema['id'] = new sfWidgetFormInput();
    $this->validatorSchema['id'] = new sfValidatorInteger(array('required' => false));

    $this->widgetSchema['prodname'] = new sfWidgetFormInput();
    $this->validatorSchema['prodname'] = new sfValidatorString(array('required' => false));
  }

  public function getFields()
  {
    $fields = parent::getFields();
    $fields['id'] = 'Number';
    $fields['prodname'] = 'Text';
    return $fields;
  }


  public function addIdColumnQuery(Doctrine_Query $query, $field, $value)
  {
    $query->andWhere('r.id = ? ', $value);
  }


  public function addProdnameColumnQuery(Doctrine_Query $query, $field, $value)
  {
    $query->leftJoin('r.Products p')->andWhere('p.name LIKE ?', "%$value%");
  }

}

Теперь нужно добавить новые поля в generator.yml:
      filter:
        display: [ id, prodname, ..... ]

среда, 4 ноября 2009 г.

Alt-Tab в NetBeans

В Windows глючит Alt-Tab в NetBeans. Лечится заменой look and feel.
В файле netbeans.conf добавляем в netbeans_default_options:
netbeans_default_options="...... --laf javax.swing.plaf.metal.MetalLookAndFeel"

p.s.
Записи с меткой note пишу в основном для себя, что бы не искать каждый раз одно и то же.