Пример #1
0
 /**
  * @param $obj InterfaceWeight
  * @return string
  */
 public function html($obj)
 {
     Assert::assert($obj);
     $o = '';
     $o .= '<form style="display: inline;" method="post" action="' . \OLOG\Url::getCurrentUrl() . '">';
     $o .= Operations::operationCodeHiddenField(CRUDTable::OPERATION_SWAP_MODEL_WEIGHT);
     $o .= '<input type="hidden" name="' . self::FORMFIELD_CONTEXT_FIELDS_NAME . '" value="' . Sanitize::sanitizeAttrValue(implode(',', array_keys($this->context_fields_arr))) . '">';
     foreach ($this->context_fields_arr as $context_field_name => $context_field_value) {
         $context_field_value = CRUDCompiler::compile($context_field_value, ['this' => $obj]);
         $o .= NullablePostFields::hiddenFieldHtml($context_field_name, $context_field_value);
     }
     $o .= '<input type="hidden" name="_class_name" value="' . Sanitize::sanitizeAttrValue(get_class($obj)) . '">';
     $o .= '<input type="hidden" name="_id" value="' . Sanitize::sanitizeAttrValue(CRUDFieldsAccess::getObjId($obj)) . '">';
     $o .= '<button class="' . $this->button_class_str . '" type="submit">' . $this->button_text . '</button>';
     $o .= '</form>';
     return $o;
 }
Пример #2
0
 protected static function swapModelWeightOperation()
 {
     $model_class_name = POSTAccess::getRequiredPostValue('_class_name');
     // TODO: constant for field name
     \OLOG\CheckClassInterfaces::exceptionIfClassNotImplementsInterface($model_class_name, \OLOG\Model\InterfaceWeight::class);
     $model_id = POSTAccess::getRequiredPostValue('_id');
     // TODO: constant for field name
     $context_fields_names_str = POSTAccess::getRequiredPostValue(CRUDTableWidgetWeight::FORMFIELD_CONTEXT_FIELDS_NAME);
     $context_fields_names_arr = explode(',', $context_fields_names_str);
     $context_arr = [];
     foreach ($context_fields_names_arr as $context_field_name) {
         $context_arr[$context_field_name] = NullablePostFields::optionalFieldValue($context_field_name);
     }
     /** @var InterfaceWeight $obj */
     $obj = CRUDObjectLoader::createAndLoadObject($model_class_name, $model_id);
     $obj->swapWeights($context_arr);
     \OLOG\Redirects::redirectToSelf();
 }