Beispiel #1
0
 protected function Form_Create()
 {
     $this->mctAttribute = AttributeMetaControl::Create($this, QApplication::PathInfo(0));
     $this->strPageTitle = 'Administration - ' . ($this->mctAttribute->EditMode ? 'Edit' : 'Create New') . ' Attribute';
     $this->txtName = $this->mctAttribute->txtName_Create();
     $this->txtName->Required = true;
     $this->lstAttributeDataType = $this->mctAttribute->lstAttributeDataType_Create();
     if ($this->mctAttribute->EditMode) {
         $this->lstAttributeDataType->Enabled = false;
     }
     $this->btnSave = new QButton($this);
     $this->btnSave->Text = $this->mctAttribute->EditMode ? 'Update' : 'Create';
     $this->btnSave->CssClass = 'primary';
     $this->btnSave->AddAction(new QClickEvent(), new QAjaxAction('btnSave_Click'));
     $this->btnSave->CausesValidation = true;
     $this->btnCancel = new QLinkButton($this);
     $this->btnCancel->Text = 'Cancel';
     $this->btnCancel->CssClass = 'cancel';
     $this->btnCancel->AddAction(new QClickEvent(), new QAjaxAction('btnCancel_Click'));
     $this->btnCancel->AddAction(new QClickEvent(), new QTerminateAction());
     switch ($this->mctAttribute->Attribute->AttributeDataTypeId) {
         case AttributeDataType::ImmutableMultipleDropdown:
         case AttributeDataType::ImmutableSingleDropdown:
         case AttributeDataType::MutableMultipleDropdown:
         case AttributeDataType::MutableSingleDropdown:
             $this->pnlAttributeOptions = new QPanel($this);
             $this->pnlAttributeOptions->AutoRenderChildren = true;
             $this->btnAddMore = new QLinkButton($this);
             $this->btnAddMore->Name = ' ';
             $this->btnAddMore->Text = 'Add More Dropbox Values';
             $this->btnAddMore->ForeColor = '#999';
             $this->btnAddMore->AddAction(new QClickEvent(), new QAjaxAction('btnAddMore_Click'));
             $this->btnAddMore->AddAction(new QClickEvent(), new QTerminateAction());
             break;
     }
     if ($this->mctAttribute->EditMode) {
         $this->btnDelete = new QLinkButton($this);
         $this->btnDelete->Text = 'Delete';
         $this->btnDelete->CssClass = 'delete';
         $intCount = $this->mctAttribute->Attribute->CountAttributeValues();
         $strConfirmText = sprintf('Are you SURE you want to permanently DELETE this Attribute?  There are %s individual%s that have a value for this attribute which would be removed.', $intCount, $intCount == 1 ? '' : 's');
         $this->btnDelete->AddAction(new QClickEvent(), new QConfirmAction($strConfirmText));
         $this->btnDelete->AddAction(new QClickEvent(), new QAjaxAction('btnDelete_Click'));
         $this->btnDelete->AddAction(new QClickEvent(), new QTerminateAction());
         if ($this->pnlAttributeOptions) {
             foreach ($this->mctAttribute->Attribute->GetAttributeOptionArray(QQ::OrderBy(QQN::AttributeOption()->Name)) as $objAttributeOption) {
                 $this->pnlAttributeOptions_AddOption($objAttributeOption);
             }
         }
     }
     if ($this->pnlAttributeOptions) {
         $this->pnlAttributeOptions_AddOption(null);
         $this->pnlAttributeOptions_AddOption(null);
     }
 }
 /**
  * Static Helper Method to Create using QueryString arguments
  *
  * @param mixed $objParentObject QForm or QPanel which will be using this AttributeMetaControl
  * @param QMetaControlCreateType $intCreateType rules governing Attribute object creation - defaults to CreateOrEdit
  * @return AttributeMetaControl
  */
 public static function CreateFromQueryString($objParentObject, $intCreateType = QMetaControlCreateType::CreateOrEdit)
 {
     $intId = QApplication::QueryString('intId');
     return AttributeMetaControl::Create($objParentObject, $intId, $intCreateType);
 }