BaseKataoMemberForm.class.php 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. <?php
  2. /**
  3. * KataoMember form base class.
  4. *
  5. * @package form
  6. * @subpackage katao_member
  7. * @version SVN: $Id: sfPropelFormGeneratedTemplate.php 15484 2009-02-13 13:13:51Z fabien $
  8. */
  9. class BaseKataoMemberForm extends BaseFormPropel
  10. {
  11. public function setup()
  12. {
  13. $this->setWidgets(array(
  14. 'id' => new sfWidgetFormInputHidden(),
  15. 'katao_index' => new sfWidgetFormInput(),
  16. 'katao_node_id' => new sfWidgetFormPropelSelect(array('model' => 'KataoNode', 'add_empty' => false)),
  17. 'next_katao_node_id' => new sfWidgetFormPropelSelect(array('model' => 'KataoNode', 'add_empty' => true)),
  18. 'katao_member_id' => new sfWidgetFormPropelSelect(array('model' => 'KataoMember', 'add_empty' => true)),
  19. 'first_name' => new sfWidgetFormInput(),
  20. 'last_name' => new sfWidgetFormInput(),
  21. 'accounting_code' => new sfWidgetFormInput(),
  22. 'accounting_code_sol' => new sfWidgetFormInput(),
  23. 'initial_amount_euro' => new sfWidgetFormInput(),
  24. 'initial_amount_sol' => new sfWidgetFormInput(),
  25. 'is_referer' => new sfWidgetFormInput(),
  26. 'is_delegate' => new sfWidgetFormInput(),
  27. 'is_anonymous' => new sfWidgetFormInput(),
  28. 'is_member' => new sfWidgetFormInput(),
  29. 'card_number_sol' => new sfWidgetFormInput(),
  30. 'user_situation' => new sfWidgetFormInput(),
  31. 'user_birthday' => new sfWidgetFormDate(),
  32. 'parrain_name' => new sfWidgetFormInput(),
  33. 'created_at' => new sfWidgetFormDateTime(),
  34. 'updated_at' => new sfWidgetFormDateTime(),
  35. 'katao_assoc_member_group_list' => new sfWidgetFormPropelSelectMany(array('model' => 'KataoMemberGroup')),
  36. ));
  37. $this->setValidators(array(
  38. 'id' => new sfValidatorPropelChoice(array('model' => 'KataoMember', 'column' => 'id', 'required' => false)),
  39. 'katao_index' => new sfValidatorInteger(),
  40. 'katao_node_id' => new sfValidatorPropelChoice(array('model' => 'KataoNode', 'column' => 'id')),
  41. 'next_katao_node_id' => new sfValidatorPropelChoice(array('model' => 'KataoNode', 'column' => 'id', 'required' => false)),
  42. 'katao_member_id' => new sfValidatorPropelChoice(array('model' => 'KataoMember', 'column' => 'id', 'required' => false)),
  43. 'first_name' => new sfValidatorString(array('max_length' => 255)),
  44. 'last_name' => new sfValidatorString(array('max_length' => 255)),
  45. 'accounting_code' => new sfValidatorString(array('max_length' => 6)),
  46. 'accounting_code_sol' => new sfValidatorString(array('max_length' => 6)),
  47. 'initial_amount_euro' => new sfValidatorNumber(array('required' => false)),
  48. 'initial_amount_sol' => new sfValidatorInteger(array('required' => false)),
  49. 'is_referer' => new sfValidatorInteger(array('required' => false)),
  50. 'is_delegate' => new sfValidatorInteger(array('required' => false)),
  51. 'is_anonymous' => new sfValidatorInteger(array('required' => false)),
  52. 'is_member' => new sfValidatorInteger(array('required' => false)),
  53. 'card_number_sol' => new sfValidatorString(array('max_length' => 8, 'required' => false)),
  54. 'user_situation' => new sfValidatorString(array('max_length' => 255, 'required' => false)),
  55. 'user_birthday' => new sfValidatorDate(array('required' => false)),
  56. 'parrain_name' => new sfValidatorString(array('max_length' => 255, 'required' => false)),
  57. 'created_at' => new sfValidatorDateTime(array('required' => false)),
  58. 'updated_at' => new sfValidatorDateTime(array('required' => false)),
  59. 'katao_assoc_member_group_list' => new sfValidatorPropelChoiceMany(array('model' => 'KataoMemberGroup', 'required' => false)),
  60. ));
  61. $this->widgetSchema->setNameFormat('katao_member[%s]');
  62. $this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema);
  63. parent::setup();
  64. }
  65. public function getModelName()
  66. {
  67. return 'KataoMember';
  68. }
  69. public function updateDefaultsFromObject()
  70. {
  71. parent::updateDefaultsFromObject();
  72. if (isset($this->widgetSchema['katao_assoc_member_group_list']))
  73. {
  74. $values = array();
  75. foreach ($this->object->getKataoAssocMemberGroups() as $obj)
  76. {
  77. $values[] = $obj->getGroupId();
  78. }
  79. $this->setDefault('katao_assoc_member_group_list', $values);
  80. }
  81. }
  82. protected function doSave($con = null)
  83. {
  84. parent::doSave($con);
  85. $this->saveKataoAssocMemberGroupList($con);
  86. }
  87. public function saveKataoAssocMemberGroupList($con = null)
  88. {
  89. if (!$this->isValid())
  90. {
  91. throw $this->getErrorSchema();
  92. }
  93. if (!isset($this->widgetSchema['katao_assoc_member_group_list']))
  94. {
  95. // somebody has unset this widget
  96. return;
  97. }
  98. if (is_null($con))
  99. {
  100. $con = $this->getConnection();
  101. }
  102. $c = new Criteria();
  103. $c->add(KataoAssocMemberGroupPeer::MEMBER_ID, $this->object->getPrimaryKey());
  104. KataoAssocMemberGroupPeer::doDelete($c, $con);
  105. $values = $this->getValue('katao_assoc_member_group_list');
  106. if (is_array($values))
  107. {
  108. foreach ($values as $value)
  109. {
  110. $obj = new KataoAssocMemberGroup();
  111. $obj->setMemberId($this->object->getPrimaryKey());
  112. $obj->setGroupId($value);
  113. $obj->save();
  114. }
  115. }
  116. }
  117. }