BaseKataoSupplierInvoiceForm.class.php 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. <?php
  2. /**
  3. * KataoSupplierInvoice form base class.
  4. *
  5. * @package form
  6. * @subpackage katao_supplier_invoice
  7. * @version SVN: $Id: sfPropelFormGeneratedTemplate.php 15484 2009-02-13 13:13:51Z fabien $
  8. */
  9. class BaseKataoSupplierInvoiceForm extends BaseFormPropel
  10. {
  11. public function setup()
  12. {
  13. $this->setWidgets(array(
  14. 'id' => new sfWidgetFormInputHidden(),
  15. 'katao_supplier_id' => new sfWidgetFormPropelSelect(array('model' => 'KataoSupplier', 'add_empty' => false)),
  16. 'katao_period_id' => new sfWidgetFormPropelSelect(array('model' => 'KataoPeriod', 'add_empty' => false)),
  17. 'status' => new sfWidgetFormInput(),
  18. 'supplier_name' => new sfWidgetFormInput(),
  19. 'supplier_email' => new sfWidgetFormInput(),
  20. 'supplier_address1' => new sfWidgetFormInput(),
  21. 'supplier_address2' => new sfWidgetFormInput(),
  22. 'supplier_zip' => new sfWidgetFormInput(),
  23. 'supplier_city' => new sfWidgetFormInput(),
  24. 'katao_name' => new sfWidgetFormInput(),
  25. 'katao_address' => new sfWidgetFormTextarea(),
  26. 'katao_siret_number' => new sfWidgetFormInput(),
  27. 'katao_rcs_number' => new sfWidgetFormInput(),
  28. 'katao_capital' => new sfWidgetFormInput(),
  29. 'reference' => new sfWidgetFormInput(),
  30. 'invoice_date' => new sfWidgetFormDateTime(),
  31. 'due_date' => new sfWidgetFormDateTime(),
  32. 'payment_date' => new sfWidgetFormDateTime(),
  33. 'payment_mode' => new sfWidgetFormInput(),
  34. 'payment_details' => new sfWidgetFormInput(),
  35. 'payment_amount_euro' => new sfWidgetFormInput(),
  36. 'payment_amount_sol' => new sfWidgetFormInput(),
  37. 'taux0_bases_ht' => new sfWidgetFormInput(),
  38. 'taux0_discount_ht' => new sfWidgetFormInput(),
  39. 'taux0_amount' => new sfWidgetFormInput(),
  40. 'taux1_bases_ht' => new sfWidgetFormInput(),
  41. 'taux1_discount_ht' => new sfWidgetFormInput(),
  42. 'taux1_amount' => new sfWidgetFormInput(),
  43. 'taux2_bases_ht' => new sfWidgetFormInput(),
  44. 'taux2_discount_ht' => new sfWidgetFormInput(),
  45. 'taux2_amount' => new sfWidgetFormInput(),
  46. 'total_ht' => new sfWidgetFormInput(),
  47. 'total_tva' => new sfWidgetFormInput(),
  48. 'comment' => new sfWidgetFormTextarea(),
  49. 'fees_shipping_ht' => new sfWidgetFormInput(),
  50. 'fees_shipping_rate' => new sfWidgetFormInput(),
  51. 'fees_shipping_tva' => new sfWidgetFormInput(),
  52. 'fees_billing_ht' => new sfWidgetFormInput(),
  53. 'fees_billing_rate' => new sfWidgetFormInput(),
  54. 'fees_billing_tva' => new sfWidgetFormInput(),
  55. 'created_at' => new sfWidgetFormDateTime(),
  56. 'updated_at' => new sfWidgetFormDateTime(),
  57. 'katao_supplier_invoice_order_list' => new sfWidgetFormPropelSelectMany(array('model' => 'KataoOrder')),
  58. ));
  59. $this->setValidators(array(
  60. 'id' => new sfValidatorPropelChoice(array('model' => 'KataoSupplierInvoice', 'column' => 'id', 'required' => false)),
  61. 'katao_supplier_id' => new sfValidatorPropelChoice(array('model' => 'KataoSupplier', 'column' => 'id')),
  62. 'katao_period_id' => new sfValidatorPropelChoice(array('model' => 'KataoPeriod', 'column' => 'id')),
  63. 'status' => new sfValidatorInteger(),
  64. 'supplier_name' => new sfValidatorString(array('max_length' => 255)),
  65. 'supplier_email' => new sfValidatorString(array('max_length' => 255)),
  66. 'supplier_address1' => new sfValidatorString(array('max_length' => 255)),
  67. 'supplier_address2' => new sfValidatorString(array('max_length' => 255, 'required' => false)),
  68. 'supplier_zip' => new sfValidatorString(array('max_length' => 255, 'required' => false)),
  69. 'supplier_city' => new sfValidatorString(array('max_length' => 255)),
  70. 'katao_name' => new sfValidatorString(array('max_length' => 255)),
  71. 'katao_address' => new sfValidatorString(array('required' => false)),
  72. 'katao_siret_number' => new sfValidatorString(array('max_length' => 14)),
  73. 'katao_rcs_number' => new sfValidatorString(array('max_length' => 255)),
  74. 'katao_capital' => new sfValidatorInteger(),
  75. 'reference' => new sfValidatorString(array('max_length' => 255, 'required' => false)),
  76. 'invoice_date' => new sfValidatorDateTime(),
  77. 'due_date' => new sfValidatorDateTime(),
  78. 'payment_date' => new sfValidatorDateTime(array('required' => false)),
  79. 'payment_mode' => new sfValidatorInteger(),
  80. 'payment_details' => new sfValidatorString(array('max_length' => 255, 'required' => false)),
  81. 'payment_amount_euro' => new sfValidatorNumber(array('required' => false)),
  82. 'payment_amount_sol' => new sfValidatorNumber(array('required' => false)),
  83. 'taux0_bases_ht' => new sfValidatorNumber(array('required' => false)),
  84. 'taux0_discount_ht' => new sfValidatorNumber(array('required' => false)),
  85. 'taux0_amount' => new sfValidatorNumber(array('required' => false)),
  86. 'taux1_bases_ht' => new sfValidatorNumber(array('required' => false)),
  87. 'taux1_discount_ht' => new sfValidatorNumber(array('required' => false)),
  88. 'taux1_amount' => new sfValidatorNumber(array('required' => false)),
  89. 'taux2_bases_ht' => new sfValidatorNumber(array('required' => false)),
  90. 'taux2_discount_ht' => new sfValidatorNumber(array('required' => false)),
  91. 'taux2_amount' => new sfValidatorNumber(array('required' => false)),
  92. 'total_ht' => new sfValidatorNumber(array('required' => false)),
  93. 'total_tva' => new sfValidatorNumber(array('required' => false)),
  94. 'comment' => new sfValidatorString(array('required' => false)),
  95. 'fees_shipping_ht' => new sfValidatorNumber(array('required' => false)),
  96. 'fees_shipping_rate' => new sfValidatorNumber(array('required' => false)),
  97. 'fees_shipping_tva' => new sfValidatorNumber(array('required' => false)),
  98. 'fees_billing_ht' => new sfValidatorNumber(array('required' => false)),
  99. 'fees_billing_rate' => new sfValidatorNumber(array('required' => false)),
  100. 'fees_billing_tva' => new sfValidatorNumber(array('required' => false)),
  101. 'created_at' => new sfValidatorDateTime(array('required' => false)),
  102. 'updated_at' => new sfValidatorDateTime(array('required' => false)),
  103. 'katao_supplier_invoice_order_list' => new sfValidatorPropelChoiceMany(array('model' => 'KataoOrder', 'required' => false)),
  104. ));
  105. $this->widgetSchema->setNameFormat('katao_supplier_invoice[%s]');
  106. $this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema);
  107. parent::setup();
  108. }
  109. public function getModelName()
  110. {
  111. return 'KataoSupplierInvoice';
  112. }
  113. public function updateDefaultsFromObject()
  114. {
  115. parent::updateDefaultsFromObject();
  116. if (isset($this->widgetSchema['katao_supplier_invoice_order_list']))
  117. {
  118. $values = array();
  119. foreach ($this->object->getKataoSupplierInvoiceOrders() as $obj)
  120. {
  121. $values[] = $obj->getKataoOrderId();
  122. }
  123. $this->setDefault('katao_supplier_invoice_order_list', $values);
  124. }
  125. }
  126. protected function doSave($con = null)
  127. {
  128. parent::doSave($con);
  129. $this->saveKataoSupplierInvoiceOrderList($con);
  130. }
  131. public function saveKataoSupplierInvoiceOrderList($con = null)
  132. {
  133. if (!$this->isValid())
  134. {
  135. throw $this->getErrorSchema();
  136. }
  137. if (!isset($this->widgetSchema['katao_supplier_invoice_order_list']))
  138. {
  139. // somebody has unset this widget
  140. return;
  141. }
  142. if (is_null($con))
  143. {
  144. $con = $this->getConnection();
  145. }
  146. $c = new Criteria();
  147. $c->add(KataoSupplierInvoiceOrderPeer::KATAO_SUPPLIER_INVOICE_ID, $this->object->getPrimaryKey());
  148. KataoSupplierInvoiceOrderPeer::doDelete($c, $con);
  149. $values = $this->getValue('katao_supplier_invoice_order_list');
  150. if (is_array($values))
  151. {
  152. foreach ($values as $value)
  153. {
  154. $obj = new KataoSupplierInvoiceOrder();
  155. $obj->setKataoSupplierInvoiceId($this->object->getPrimaryKey());
  156. $obj->setKataoOrderId($value);
  157. $obj->save();
  158. }
  159. }
  160. }
  161. }