A QCodo powered CMS
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

107 lines
4.4 KiB

  1. <?php
  2. /**
  3. * This is the abstract Panel class for the List All functionality
  4. * of the OrderAddress class. This code-generated class
  5. * contains a datagrid to display an HTML page that can
  6. * list a collection of OrderAddress objects. It includes
  7. * functionality to perform pagination and sorting on columns.
  8. *
  9. * To take advantage of some (or all) of these control objects, you
  10. * must create a new QPanel which extends this OrderAddressListPanelBase
  11. * class.
  12. *
  13. * Any and all changes to this file will be overwritten with any subsequent re-
  14. * code generation.
  15. *
  16. * @package Quinta CMS
  17. * @subpackage AdminUI
  18. *
  19. */
  20. class OrderAddressListPanel extends QPanel {
  21. // Local instance of the Meta DataGrid to list OrderAddresses
  22. public $dtgOrderAddresses;
  23. // Other public QControls in this panel
  24. public $btnCreateNew;
  25. public $pxyEdit;
  26. // Callback Method Names
  27. protected $strSetEditPanelMethod;
  28. protected $strCloseEditPanelMethod;
  29. public function __construct($objParentObject, $strSetEditPanelMethod, $strCloseEditPanelMethod, $strControlId = null) {
  30. // Call the Parent
  31. try {
  32. parent::__construct($objParentObject, $strControlId);
  33. } catch (QCallerException $objExc) {
  34. $objExc->IncrementOffset();
  35. throw $objExc;
  36. }
  37. // Record Method Callbacks
  38. $this->strSetEditPanelMethod = $strSetEditPanelMethod;
  39. $this->strCloseEditPanelMethod = $strCloseEditPanelMethod;
  40. // Setup the Template
  41. $this->Template = 'OrderAddressListPanel.tpl.php';
  42. // Instantiate the Meta DataGrid
  43. $this->dtgOrderAddresses = new OrderAddressDataGrid($this);
  44. // Style the DataGrid (if desired)
  45. $this->dtgOrderAddresses->CssClass = 'datagrid';
  46. $this->dtgOrderAddresses->AlternateRowStyle->CssClass = 'alternate';
  47. // Add Pagination (if desired)
  48. $this->dtgOrderAddresses->Paginator = new QPaginator($this->dtgOrderAddresses);
  49. $this->dtgOrderAddresses->ItemsPerPage = 8;
  50. // Use the MetaDataGrid functionality to add Columns for this datagrid
  51. // Create an Edit Column
  52. $this->pxyEdit = new QControlProxy($this);
  53. $this->pxyEdit->AddAction(new QClickEvent(), new QAjaxControlAction($this, 'pxyEdit_Click'));
  54. $this->dtgOrderAddresses->MetaAddEditProxyColumn($this->pxyEdit, 'Edit', 'Edit');
  55. // Create the Other Columns (note that you can use strings for order_address's properties, or you
  56. // can traverse down QQN::order_address() to display fields that are down the hierarchy)
  57. $this->dtgOrderAddresses->MetaAddColumn('Id');
  58. $this->dtgOrderAddresses->MetaAddColumn(QQN::OrderAddress()->Order);
  59. $this->dtgOrderAddresses->MetaAddColumn('NamePrefix');
  60. $this->dtgOrderAddresses->MetaAddColumn('FirstName');
  61. $this->dtgOrderAddresses->MetaAddColumn('MiddleName');
  62. $this->dtgOrderAddresses->MetaAddColumn('LastName');
  63. $this->dtgOrderAddresses->MetaAddColumn('NameSuffix');
  64. $this->dtgOrderAddresses->MetaAddColumn('Company');
  65. $this->dtgOrderAddresses->MetaAddColumn('Street1');
  66. $this->dtgOrderAddresses->MetaAddColumn('Street2');
  67. $this->dtgOrderAddresses->MetaAddColumn('Suburb');
  68. $this->dtgOrderAddresses->MetaAddColumn('City');
  69. $this->dtgOrderAddresses->MetaAddColumn('County');
  70. $this->dtgOrderAddresses->MetaAddTypeColumn('ZoneId', 'ZoneType');
  71. $this->dtgOrderAddresses->MetaAddTypeColumn('CountryId', 'CountryType');
  72. $this->dtgOrderAddresses->MetaAddColumn('PostalCode');
  73. $this->dtgOrderAddresses->MetaAddTypeColumn('TypeId', 'OrderAddressType');
  74. $this->dtgOrderAddresses->MetaAddColumn('CreationDate');
  75. $this->dtgOrderAddresses->MetaAddColumn('LastModification');
  76. // Setup the Create New button
  77. $this->btnCreateNew = new QButton($this);
  78. $this->btnCreateNew->Text = QApplication::Translate('Create a New') . ' ' . QApplication::Translate('OrderAddress');
  79. $this->btnCreateNew->AddAction(new QClickEvent(), new QAjaxControlAction($this, 'btnCreateNew_Click'));
  80. }
  81. public function pxyEdit_Click($strFormId, $strControlId, $strParameter) {
  82. $strParameterArray = explode(',', $strParameter);
  83. $objEditPanel = new OrderAddressEditPanel($this, $this->strCloseEditPanelMethod, $strParameterArray[0]);
  84. $strMethodName = $this->strSetEditPanelMethod;
  85. $this->objForm->$strMethodName($objEditPanel);
  86. }
  87. public function btnCreateNew_Click($strFormId, $strControlId, $strParameter) {
  88. $objEditPanel = new OrderAddressEditPanel($this, $this->strCloseEditPanelMethod, null);
  89. $strMethodName = $this->strSetEditPanelMethod;
  90. $this->objForm->$strMethodName($objEditPanel);
  91. }
  92. }
  93. ?>