BaseKataoMemberGroupForm.class.php 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. /**
  3. * KataoMemberGroup form base class.
  4. *
  5. * @package form
  6. * @subpackage katao_member_group
  7. * @version SVN: $Id: sfPropelFormGeneratedTemplate.php 15484 2009-02-13 13:13:51Z fabien $
  8. */
  9. class BaseKataoMemberGroupForm extends BaseFormPropel
  10. {
  11. public function setup()
  12. {
  13. $this->setWidgets(array(
  14. 'id' => new sfWidgetFormInputHidden(),
  15. 'katao_member_group_name' => new sfWidgetFormInput(),
  16. 'katao_assoc_member_group_list' => new sfWidgetFormPropelSelectMany(array('model' => 'KataoMember')),
  17. ));
  18. $this->setValidators(array(
  19. 'id' => new sfValidatorPropelChoice(array('model' => 'KataoMemberGroup', 'column' => 'id', 'required' => false)),
  20. 'katao_member_group_name' => new sfValidatorString(array('max_length' => 255, 'required' => false)),
  21. 'katao_assoc_member_group_list' => new sfValidatorPropelChoiceMany(array('model' => 'KataoMember', 'required' => false)),
  22. ));
  23. $this->widgetSchema->setNameFormat('katao_member_group[%s]');
  24. $this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema);
  25. parent::setup();
  26. }
  27. public function getModelName()
  28. {
  29. return 'KataoMemberGroup';
  30. }
  31. public function updateDefaultsFromObject()
  32. {
  33. parent::updateDefaultsFromObject();
  34. if (isset($this->widgetSchema['katao_assoc_member_group_list']))
  35. {
  36. $values = array();
  37. foreach ($this->object->getKataoAssocMemberGroups() as $obj)
  38. {
  39. $values[] = $obj->getMemberId();
  40. }
  41. $this->setDefault('katao_assoc_member_group_list', $values);
  42. }
  43. }
  44. protected function doSave($con = null)
  45. {
  46. parent::doSave($con);
  47. $this->saveKataoAssocMemberGroupList($con);
  48. }
  49. public function saveKataoAssocMemberGroupList($con = null)
  50. {
  51. if (!$this->isValid())
  52. {
  53. throw $this->getErrorSchema();
  54. }
  55. if (!isset($this->widgetSchema['katao_assoc_member_group_list']))
  56. {
  57. // somebody has unset this widget
  58. return;
  59. }
  60. if (is_null($con))
  61. {
  62. $con = $this->getConnection();
  63. }
  64. $c = new Criteria();
  65. $c->add(KataoAssocMemberGroupPeer::GROUP_ID, $this->object->getPrimaryKey());
  66. KataoAssocMemberGroupPeer::doDelete($c, $con);
  67. $values = $this->getValue('katao_assoc_member_group_list');
  68. if (is_array($values))
  69. {
  70. foreach ($values as $value)
  71. {
  72. $obj = new KataoAssocMemberGroup();
  73. $obj->setGroupId($this->object->getPrimaryKey());
  74. $obj->setMemberId($value);
  75. $obj->save();
  76. }
  77. }
  78. }
  79. }