Issue #3321688 by jsacksick, nicer, z3cka: Add line item field data when adding to cart
2 unresolved threads
Closes #3321688
Merge request reports
Activity
added 1 commit
- 4e33b5bb - Remove hard coded field names and add required field validation
added 1 commit
- d1c1a39e - Adjust invalid field processing and remove checking required fields
added 1 commit
- 0a378286 - Remove "field.manager" dependency and get field definitions from created order item
added 1 commit
- fea735d5 - Adjust process logic to always validate purchased entity and remove "arity" from the invalid fields
added 1 commit
- 417a7bd1 - Remove .gitlab-ci.yml and add type hint for tests to run
added 17 commits
-
417a7bd1...55f65a1c - 2 commits from branch
project:8.x-1.x
- 55f65a1c...e6583505 - 5 earlier commits
- c9289df8 - Adjust invalid field processing and remove checking required fields
- 9e06dd06 - Inject "entity_field.manager"
- 80fb0be2 - Remove unused use statement
- 645f02f4 - Remove "field.manager" dependency and get field definitions from created order item
- be2f1ac8 - Remove unused use statement
- e7bfae5c - Adjust process logic to always validate purchased entity and remove "arity" from the invalid fields
- 7df0f209 - Add new tests
- 75cf5666 - Add class doc for tests to run
- 5a6ca262 - Add .gitlab-ci.yml
- d25ba4d1 - Remove .gitlab-ci.yml and add type hint for tests to run
Toggle commit list-
417a7bd1...55f65a1c - 2 commits from branch
140 // Calculate invalid fields by checking, whether the provided meta 141 // fields actually exist on the order item entity: 142 $invalid_fields = array_diff_key($meta, $field_definitions); 143 // "combine" and "arity" are special meta properties that are not field 144 // definitions. 145 // Remove them from the list of invalid fields: 146 unset($invalid_fields['combine'], $invalid_fields['arity']); 147 if (!empty($invalid_fields)) { 148 $fields_string = implode(', ', array_keys($invalid_fields)); 149 throw new UnprocessableEntityHttpException(strip_tags("The given meta fields '$fields_string' are not valid entity fields.")); 150 } 151 152 // Check meta for any base fields. We shouldn't allow to modify these: 153 $matched_field_definitions = array_intersect_key($field_definitions, $meta); 154 foreach ($matched_field_definitions as $field_definition) { 155 if ($field_definition instanceof BaseFieldDefinition && $field_definition->getName() !== 'quantity') { 130 133 // @todo https://www.drupal.org/project/commerce/issues/3101651 131 134 $cart = $this->getCartForOrderItem($order_item, $store); 132 135 $order_item->set('order_id', $cart); 133 static::validate($order_item, ['quantity', 'purchased_entity']); 136 137 // Get order item field definitions: 138 $field_definitions = $order_item->getFieldDefinitions(); 139 140 // Calculate invalid fields by checking, whether the provided meta
Please register or sign in to reply