@@ -62,8 +62,8 @@ discard block |
||
| 62 | 62 | ->add('picture', TextColumn::class, [ |
| 63 | 63 | 'label' => '', |
| 64 | 64 | 'className' => 'no-colvis', |
| 65 | - 'render' => function ($value, ProjectBOMEntry $context) { |
|
| 66 | - if($context->getPart() === null) { |
|
| 65 | + 'render' => function($value, ProjectBOMEntry $context) { |
|
| 66 | + if ($context->getPart() === null) { |
|
| 67 | 67 | return ''; |
| 68 | 68 | } |
| 69 | 69 | return $this->partDataTableHelper->renderPicture($context->getPart()); |
@@ -78,7 +78,7 @@ discard block |
||
| 78 | 78 | ->add('quantity', TextColumn::class, [ |
| 79 | 79 | 'label' => $this->translator->trans('project.bom.quantity'), |
| 80 | 80 | 'className' => 'text-center', |
| 81 | - 'render' => function ($value, ProjectBOMEntry $context) { |
|
| 81 | + 'render' => function($value, ProjectBOMEntry $context) { |
|
| 82 | 82 | //If we have a non-part entry, only show the rounded quantity |
| 83 | 83 | if ($context->getPart() === null) { |
| 84 | 84 | return round($context->getQuantity()); |
@@ -91,13 +91,13 @@ discard block |
||
| 91 | 91 | ->add('name', TextColumn::class, [ |
| 92 | 92 | 'label' => $this->translator->trans('part.table.name'), |
| 93 | 93 | 'orderable' => false, |
| 94 | - 'render' => function ($value, ProjectBOMEntry $context) { |
|
| 95 | - if($context->getPart() === null) { |
|
| 94 | + 'render' => function($value, ProjectBOMEntry $context) { |
|
| 95 | + if ($context->getPart() === null) { |
|
| 96 | 96 | return $context->getName(); |
| 97 | 97 | } |
| 98 | - if($context->getPart() !== null) { |
|
| 98 | + if ($context->getPart() !== null) { |
|
| 99 | 99 | $tmp = $this->partDataTableHelper->renderName($context->getPart()); |
| 100 | - if(!empty($context->getName())) { |
|
| 100 | + if (!empty($context->getName())) { |
|
| 101 | 101 | $tmp .= '<br><b>'.htmlspecialchars($context->getName()).'</b>'; |
| 102 | 102 | } |
| 103 | 103 | return $tmp; |
@@ -107,8 +107,8 @@ discard block |
||
| 107 | 107 | |
| 108 | 108 | ->add('description', MarkdownColumn::class, [ |
| 109 | 109 | 'label' => $this->translator->trans('part.table.description'), |
| 110 | - 'data' => function (ProjectBOMEntry $context) { |
|
| 111 | - if($context->getPart() !== null) { |
|
| 110 | + 'data' => function(ProjectBOMEntry $context) { |
|
| 111 | + if ($context->getPart() !== null) { |
|
| 112 | 112 | return $context->getPart()->getDescription(); |
| 113 | 113 | } |
| 114 | 114 | //For non-part BOM entries show the comment field |
@@ -133,7 +133,7 @@ discard block |
||
| 133 | 133 | |
| 134 | 134 | ->add('mountnames', TextColumn::class, [ |
| 135 | 135 | 'label' => 'project.bom.mountnames', |
| 136 | - 'render' => function ($value, ProjectBOMEntry $context) { |
|
| 136 | + 'render' => function($value, ProjectBOMEntry $context) { |
|
| 137 | 137 | $html = ''; |
| 138 | 138 | |
| 139 | 139 | foreach (explode(',', $context->getMountnames()) as $mountname) { |
@@ -156,11 +156,11 @@ discard block |
||
| 156 | 156 | |
| 157 | 157 | $dataTable->createAdapter(ORMAdapter::class, [ |
| 158 | 158 | 'entity' => Attachment::class, |
| 159 | - 'query' => function (QueryBuilder $builder) use ($options): void { |
|
| 159 | + 'query' => function(QueryBuilder $builder) use ($options): void { |
|
| 160 | 160 | $this->getQuery($builder, $options); |
| 161 | 161 | }, |
| 162 | 162 | 'criteria' => [ |
| 163 | - function (QueryBuilder $builder) use ($options): void { |
|
| 163 | + function(QueryBuilder $builder) use ($options): void { |
|
| 164 | 164 | $this->buildCriteria($builder, $options); |
| 165 | 165 | }, |
| 166 | 166 | new SearchCriteriaProvider(), |
@@ -62,9 +62,9 @@ discard block |
||
| 62 | 62 | public function configure(DataTable $dataTable, array $options): void |
| 63 | 63 | { |
| 64 | 64 | $dataTable->add('dont_matter', RowClassColumn::class, [ |
| 65 | - 'render' => function ($value, Attachment $context) { |
|
| 65 | + 'render' => function($value, Attachment $context) { |
|
| 66 | 66 | //Mark attachments with missing files yellow |
| 67 | - if(!$this->attachmentHelper->isFileExisting($context)){ |
|
| 67 | + if (!$this->attachmentHelper->isFileExisting($context)) { |
|
| 68 | 68 | return 'table-warning'; |
| 69 | 69 | } |
| 70 | 70 | |
@@ -75,7 +75,7 @@ discard block |
||
| 75 | 75 | $dataTable->add('picture', TextColumn::class, [ |
| 76 | 76 | 'label' => '', |
| 77 | 77 | 'className' => 'no-colvis', |
| 78 | - 'render' => function ($value, Attachment $context) { |
|
| 78 | + 'render' => function($value, Attachment $context) { |
|
| 79 | 79 | if ($context->isPicture() |
| 80 | 80 | && !$context->isExternal() |
| 81 | 81 | && $this->attachmentHelper->isFileExisting($context)) { |
@@ -100,7 +100,7 @@ discard block |
||
| 100 | 100 | |
| 101 | 101 | $dataTable->add('name', TextColumn::class, [ |
| 102 | 102 | 'label' => 'attachment.edit.name', |
| 103 | - 'render' => function ($value, Attachment $context) { |
|
| 103 | + 'render' => function($value, Attachment $context) { |
|
| 104 | 104 | //Link to external source |
| 105 | 105 | if ($context->isExternal()) { |
| 106 | 106 | return sprintf( |
@@ -125,7 +125,7 @@ discard block |
||
| 125 | 125 | $dataTable->add('attachment_type', TextColumn::class, [ |
| 126 | 126 | 'label' => 'attachment.table.type', |
| 127 | 127 | 'field' => 'attachment_type.name', |
| 128 | - 'render' => function ($value, Attachment $context) { |
|
| 128 | + 'render' => function($value, Attachment $context) { |
|
| 129 | 129 | return sprintf( |
| 130 | 130 | '<a href="%s">%s</a>', |
| 131 | 131 | $this->entityURLGenerator->editURL($context->getAttachmentType()), |
@@ -137,7 +137,7 @@ discard block |
||
| 137 | 137 | $dataTable->add('element', TextColumn::class, [ |
| 138 | 138 | 'label' => 'attachment.table.element', |
| 139 | 139 | //'propertyPath' => 'element.name', |
| 140 | - 'render' => function ($value, Attachment $context) { |
|
| 140 | + 'render' => function($value, Attachment $context) { |
|
| 141 | 141 | return sprintf( |
| 142 | 142 | '<a href="%s">%s</a>', |
| 143 | 143 | $this->entityURLGenerator->infoURL($context->getElement()), |
@@ -153,7 +153,7 @@ discard block |
||
| 153 | 153 | |
| 154 | 154 | $dataTable->add('filesize', TextColumn::class, [ |
| 155 | 155 | 'label' => $this->translator->trans('attachment.table.filesize'), |
| 156 | - 'render' => function ($value, Attachment $context) { |
|
| 156 | + 'render' => function($value, Attachment $context) { |
|
| 157 | 157 | if ($context->isExternal()) { |
| 158 | 158 | return sprintf( |
| 159 | 159 | '<span class="badge bg-primary"> |
@@ -211,11 +211,11 @@ discard block |
||
| 211 | 211 | |
| 212 | 212 | $dataTable->createAdapter(ORMAdapter::class, [ |
| 213 | 213 | 'entity' => Attachment::class, |
| 214 | - 'query' => function (QueryBuilder $builder): void { |
|
| 214 | + 'query' => function(QueryBuilder $builder): void { |
|
| 215 | 215 | $this->getQuery($builder); |
| 216 | 216 | }, |
| 217 | 217 | 'criteria' => [ |
| 218 | - function (QueryBuilder $builder) use ($options): void { |
|
| 218 | + function(QueryBuilder $builder) use ($options): void { |
|
| 219 | 219 | $this->buildCriteria($builder, $options); |
| 220 | 220 | }, |
| 221 | 221 | new SearchCriteriaProvider(), |
@@ -237,7 +237,7 @@ discard block |
||
| 237 | 237 | { |
| 238 | 238 | //We do the most stuff here in the filter class |
| 239 | 239 | if (isset($options['filter'])) { |
| 240 | - if(!$options['filter'] instanceof AttachmentFilter) { |
|
| 240 | + if (!$options['filter'] instanceof AttachmentFilter) { |
|
| 241 | 241 | throw new \Exception('filter must be an instance of AttachmentFilter!'); |
| 242 | 242 | } |
| 243 | 243 | |
@@ -60,12 +60,12 @@ |
||
| 60 | 60 | |
| 61 | 61 | $resolver->setRequired('property'); |
| 62 | 62 | |
| 63 | - $resolver->setDefault('field', static function (Options $option) { |
|
| 63 | + $resolver->setDefault('field', static function(Options $option) { |
|
| 64 | 64 | return $option['property'].'.name'; |
| 65 | 65 | }); |
| 66 | 66 | |
| 67 | - $resolver->setDefault('render', function (Options $options) { |
|
| 68 | - return function ($value, $context) use ($options) { |
|
| 67 | + $resolver->setDefault('render', function(Options $options) { |
|
| 68 | + return function($value, $context) use ($options) { |
|
| 69 | 69 | if ($this->accessor->isReadable($context, $options['property'])) { |
| 70 | 70 | $entity = $this->accessor->getValue($context, $options['property']); |
| 71 | 71 | } else { |
@@ -59,7 +59,7 @@ |
||
| 59 | 59 | } |
| 60 | 60 | if ($context->getBuiltProject() !== null) { |
| 61 | 61 | $icon = sprintf('<i class="fa-solid fa-box-archive fa-fw me-1" title="%s"></i>', |
| 62 | - $this->translator->trans('part.info.projectBuildPart.hint') . ': ' . $context->getBuiltProject()->getName()); |
|
| 62 | + $this->translator->trans('part.info.projectBuildPart.hint').': '.$context->getBuiltProject()->getName()); |
|
| 63 | 63 | } |
| 64 | 64 | |
| 65 | 65 | |
@@ -53,7 +53,7 @@ discard block |
||
| 53 | 53 | //Replace all special characters with underscores |
| 54 | 54 | $property = preg_replace('/[^a-zA-Z0-9_]/', '_', $property); |
| 55 | 55 | //Add a random number to the end of the property name for uniqueness |
| 56 | - return $property . '_' . uniqid("", false); |
|
| 56 | + return $property.'_'.uniqid("", false); |
|
| 57 | 57 | } |
| 58 | 58 | |
| 59 | 59 | /** |
@@ -72,7 +72,7 @@ discard block |
||
| 72 | 72 | $expression = sprintf("%s %s :%s", $property, $comparison_operator, $parameterIdentifier); |
| 73 | 73 | } |
| 74 | 74 | |
| 75 | - if($this->useHaving || $this->isAggregateFunctionString($property)) { //If the property is an aggregate function, we have to use the "having" instead of the "where" |
|
| 75 | + if ($this->useHaving || $this->isAggregateFunctionString($property)) { //If the property is an aggregate function, we have to use the "having" instead of the "where" |
|
| 76 | 76 | $queryBuilder->andHaving($expression); |
| 77 | 77 | } else { |
| 78 | 78 | $queryBuilder->andWhere($expression); |
@@ -62,7 +62,7 @@ |
||
| 62 | 62 | public function apply(QueryBuilder $queryBuilder): void |
| 63 | 63 | { |
| 64 | 64 | //Do not apply a filter if value is null (filter is set to ignore) |
| 65 | - if(!$this->isEnabled()) { |
|
| 65 | + if (!$this->isEnabled()) { |
|
| 66 | 66 | return; |
| 67 | 67 | } |
| 68 | 68 | |
@@ -86,16 +86,16 @@ discard block |
||
| 86 | 86 | |
| 87 | 87 | public function apply(QueryBuilder $queryBuilder): void |
| 88 | 88 | { |
| 89 | - if(!$this->isEnabled()) { |
|
| 89 | + if (!$this->isEnabled()) { |
|
| 90 | 90 | return; |
| 91 | 91 | } |
| 92 | 92 | |
| 93 | - if(!in_array($this->operator, self::ALLOWED_OPERATOR_VALUES, true)) { |
|
| 94 | - throw new \RuntimeException('Invalid operator '. $this->operator . ' provided. Valid operators are '. implode(', ', self::ALLOWED_OPERATOR_VALUES)); |
|
| 93 | + if (!in_array($this->operator, self::ALLOWED_OPERATOR_VALUES, true)) { |
|
| 94 | + throw new \RuntimeException('Invalid operator '.$this->operator.' provided. Valid operators are '.implode(', ', self::ALLOWED_OPERATOR_VALUES)); |
|
| 95 | 95 | } |
| 96 | 96 | |
| 97 | 97 | //Equal and not equal can be handled easily |
| 98 | - if($this->operator === '=' || $this->operator === '!=') { |
|
| 98 | + if ($this->operator === '=' || $this->operator === '!=') { |
|
| 99 | 99 | |
| 100 | 100 | $this->addSimpleAndConstraint($queryBuilder, $this->property, $this->identifier, $this->operator, $this->value); |
| 101 | 101 | return; |
@@ -106,11 +106,11 @@ discard block |
||
| 106 | 106 | if ($this->operator === 'LIKE') { |
| 107 | 107 | $like_value = $this->value; |
| 108 | 108 | } else if ($this->operator === 'STARTS') { |
| 109 | - $like_value = $this->value . '%'; |
|
| 109 | + $like_value = $this->value.'%'; |
|
| 110 | 110 | } else if ($this->operator === 'ENDS') { |
| 111 | - $like_value = '%' . $this->value; |
|
| 111 | + $like_value = '%'.$this->value; |
|
| 112 | 112 | } else if ($this->operator === 'CONTAINS') { |
| 113 | - $like_value = '%' . $this->value . '%'; |
|
| 113 | + $like_value = '%'.$this->value.'%'; |
|
| 114 | 114 | } |
| 115 | 115 | |
| 116 | 116 | if ($like_value !== null) { |
@@ -26,10 +26,10 @@ |
||
| 26 | 26 | { |
| 27 | 27 | public function apply(QueryBuilder $queryBuilder): void |
| 28 | 28 | { |
| 29 | - if($this->value1 !== null) { |
|
| 29 | + if ($this->value1 !== null) { |
|
| 30 | 30 | $this->value1 = (int) $this->value1; |
| 31 | 31 | } |
| 32 | - if($this->value2 !== null) { |
|
| 32 | + if ($this->value2 !== null) { |
|
| 33 | 33 | $this->value2 = (int) $this->value2; |
| 34 | 34 | } |
| 35 | 35 | |
@@ -53,8 +53,8 @@ discard block |
||
| 53 | 53 | //The alias has to be uniq for each subquery, so generate a random one |
| 54 | 54 | $this->alias = uniqid('param_', false); |
| 55 | 55 | |
| 56 | - $this->value_text = new TextConstraint($this->alias . '.value_text'); |
|
| 57 | - $this->value = new ParameterValueConstraint($this->alias ); |
|
| 56 | + $this->value_text = new TextConstraint($this->alias.'.value_text'); |
|
| 57 | + $this->value = new ParameterValueConstraint($this->alias); |
|
| 58 | 58 | } |
| 59 | 59 | |
| 60 | 60 | public function isEnabled(): bool |
@@ -69,26 +69,26 @@ discard block |
||
| 69 | 69 | |
| 70 | 70 | |
| 71 | 71 | |
| 72 | - $subqb->select('COUNT(' . $this->alias . ')') |
|
| 72 | + $subqb->select('COUNT('.$this->alias.')') |
|
| 73 | 73 | ->from(PartParameter::class, $this->alias) |
| 74 | - ->where($this->alias . '.element = part'); |
|
| 74 | + ->where($this->alias.'.element = part'); |
|
| 75 | 75 | |
| 76 | 76 | if (!empty($this->name)) { |
| 77 | 77 | $paramName = $this->generateParameterIdentifier('params.name'); |
| 78 | - $subqb->andWhere($this->alias . '.name = :' . $paramName); |
|
| 79 | - $queryBuilder->setParameter($paramName, $this->name); |
|
| 78 | + $subqb->andWhere($this->alias.'.name = :'.$paramName); |
|
| 79 | + $queryBuilder->setParameter($paramName, $this->name); |
|
| 80 | 80 | } |
| 81 | 81 | |
| 82 | 82 | if (!empty($this->symbol)) { |
| 83 | 83 | $paramName = $this->generateParameterIdentifier('params.symbol'); |
| 84 | - $subqb->andWhere($this->alias . '.symbol = :' . $paramName); |
|
| 85 | - $queryBuilder->setParameter($paramName, $this->symbol); |
|
| 84 | + $subqb->andWhere($this->alias.'.symbol = :'.$paramName); |
|
| 85 | + $queryBuilder->setParameter($paramName, $this->symbol); |
|
| 86 | 86 | } |
| 87 | 87 | |
| 88 | 88 | if (!empty($this->unit)) { |
| 89 | 89 | $paramName = $this->generateParameterIdentifier('params.unit'); |
| 90 | - $subqb->andWhere($this->alias . '.unit = :' . $paramName); |
|
| 91 | - $queryBuilder->setParameter($paramName, $this->unit); |
|
| 90 | + $subqb->andWhere($this->alias.'.unit = :'.$paramName); |
|
| 91 | + $queryBuilder->setParameter($paramName, $this->unit); |
|
| 92 | 92 | } |
| 93 | 93 | |
| 94 | 94 | //Apply all subfilters |
@@ -101,7 +101,7 @@ discard block |
||
| 101 | 101 | $queryBuilder->setParameter($parameter->getName(), $parameter->getValue()); |
| 102 | 102 | } |
| 103 | 103 | |
| 104 | - $queryBuilder->andWhere('(' . $subqb->getDQL() . ') > 0'); |
|
| 104 | + $queryBuilder->andWhere('('.$subqb->getDQL().') > 0'); |
|
| 105 | 105 | } |
| 106 | 106 | |
| 107 | 107 | /** |