mirror of
https://github.com/Karaka-Management/oms-Attribute.git
synced 2026-02-16 17:38:41 +00:00
todos fixed
This commit is contained in:
parent
b763ef96c6
commit
39ed9367a6
|
|
@ -53,21 +53,24 @@ trait ApiAttributeTraitController
|
||||||
if ($request->hasData('value_id')) {
|
if ($request->hasData('value_id')) {
|
||||||
$new->value = new NullAttributeValue((int) $request->getData('value_id'));
|
$new->value = new NullAttributeValue((int) $request->getData('value_id'));
|
||||||
} else {
|
} else {
|
||||||
// @todo: consider to check if custom value already exist and just reference the id? Problematic if content of id gets changed.
|
|
||||||
$new->value = new AttributeValue();
|
$new->value = new AttributeValue();
|
||||||
$new->value->setValue($request->getData('value'), $new->type->datatype);
|
$new->value->setValue($request->getData('value'), $new->type->datatype);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// @todo: fix by only accepting the value id to be used
|
if ($request->hasData('value_id')) {
|
||||||
// this is a workaround for now because the front end doesn't allow to dynamically show default values.
|
if (!$new->type->hasDefaultId((int) $request->getData('value_id'))) {
|
||||||
$value = new NullAttributeValue((int) $request->getData('value_id'));
|
return $new;
|
||||||
|
}
|
||||||
|
|
||||||
// Couldn't find matching default value
|
$value = new NullAttributeValue((int) $request->getData('value_id'));
|
||||||
/*
|
} else {
|
||||||
if ($value->id === 0) {
|
$value = $new->type->getDefaultByValue($request->getData('value'));
|
||||||
return $new;
|
|
||||||
|
// Couldn't find matching default value
|
||||||
|
if ($value->id === 0) {
|
||||||
|
return $new;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
$new->value = $value;
|
$new->value = $value;
|
||||||
}
|
}
|
||||||
|
|
@ -283,13 +286,15 @@ trait ApiAttributeTraitController
|
||||||
if ($request->hasData('value_id')) {
|
if ($request->hasData('value_id')) {
|
||||||
$new->value = new NullAttributeValue((int) $request->getData('value_id'));
|
$new->value = new NullAttributeValue((int) $request->getData('value_id'));
|
||||||
} else {
|
} else {
|
||||||
// @todo: consider to check if custom value already exist and just reference the id? Problematic if content of id gets changed.
|
|
||||||
$new->value = new AttributeValue();
|
$new->value = new AttributeValue();
|
||||||
$new->value->setValue($request->getData('value'), $new->type->datatype);
|
$new->value->setValue($request->getData('value'), $new->type->datatype);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ($request->hasData('value_id')) {
|
if ($request->hasData('value_id')) {
|
||||||
// @todo: check if value_id part of default values
|
if (!$new->type->hasDefaultId((int) $request->getData('value_id'))) {
|
||||||
|
return $new;
|
||||||
|
}
|
||||||
|
|
||||||
$value = new NullAttributeValue((int) $request->getData('value_id'));
|
$value = new NullAttributeValue((int) $request->getData('value_id'));
|
||||||
} else {
|
} else {
|
||||||
$value = $new->type->getDefaultByValue($request->getData('value'));
|
$value = $new->type->getDefaultByValue($request->getData('value'));
|
||||||
|
|
|
||||||
|
|
@ -89,13 +89,15 @@ final class ApiController extends Controller
|
||||||
if ($request->hasData('value_id')) {
|
if ($request->hasData('value_id')) {
|
||||||
$new->value = new NullAttributeValue((int) $request->getData('value_id'));
|
$new->value = new NullAttributeValue((int) $request->getData('value_id'));
|
||||||
} else {
|
} else {
|
||||||
// @todo: consider to check if custom value already exist and just reference the id? Problematic if content of id gets changed.
|
|
||||||
$new->value = new AttributeValue();
|
$new->value = new AttributeValue();
|
||||||
$new->value->setValue($request->getData('value'), $new->type->datatype);
|
$new->value->setValue($request->getData('value'), $new->type->datatype);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ($request->hasData('value_id')) {
|
if ($request->hasData('value_id')) {
|
||||||
// @todo: check if value_id part of default values
|
if (!$new->type->hasDefaultId((int) $request->getData('value_id'))) {
|
||||||
|
return $new;
|
||||||
|
}
|
||||||
|
|
||||||
$value = new NullAttributeValue((int) $request->getData('value_id'));
|
$value = new NullAttributeValue((int) $request->getData('value_id'));
|
||||||
} else {
|
} else {
|
||||||
$value = $new->type->getDefaultByValue($request->getData('value'));
|
$value = $new->type->getDefaultByValue($request->getData('value'));
|
||||||
|
|
|
||||||
|
|
@ -79,6 +79,17 @@ trait AttributeHolderTrait
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function hasAttributeType(string $attrName) : bool
|
||||||
|
{
|
||||||
|
foreach ($this->attributes as $attribute) {
|
||||||
|
if ($attribute->type->name === $attrName && !empty($attribute->value->getValue())) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get attribute
|
* Get attribute
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -203,6 +203,26 @@ class AttributeType implements \JsonSerializable
|
||||||
return $this->defaults;
|
return $this->defaults;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if an attribute type has a certain default id
|
||||||
|
*
|
||||||
|
* @param int $id Default object id
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
|
public function hasDefaultId(int $id) : bool
|
||||||
|
{
|
||||||
|
foreach ($this->defaults as $default) {
|
||||||
|
if ($default->id === $id) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user