mirror of
				https://github.com/invoiceninja/invoiceninja.git
				synced 2025-10-31 17:37:31 -04:00 
			
		
		
		
	Merge pull request #7065 from maksimstojkovic/delivery-note-product-custom-fields
Added custom product fields to delivery notes
This commit is contained in:
		
						commit
						04da3baaf4
					
				| @ -286,12 +286,33 @@ class Design extends BaseDesign | |||||||
|             return []; |             return []; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |         $thead = [ | ||||||
|  |             ['element' => 'th', 'content' => '$item_label', 'properties' => ['data-ref' => 'delivery_note-item_label']], | ||||||
|  |             ['element' => 'th', 'content' => '$description_label', 'properties' => ['data-ref' => 'delivery_note-description_label']], | ||||||
|  |             ['element' => 'th', 'content' => '$product.quantity_label', 'properties' => ['data-ref' => 'delivery_note-product.quantity_label']], | ||||||
|  |         ]; | ||||||
|  | 
 | ||||||
|  |         $items = $this->transformLineItems($this->entity->line_items, $this->type); | ||||||
|  | 
 | ||||||
|  |         $this->processNewLines($items); | ||||||
|  |         $product_customs = [false, false, false, false]; | ||||||
|  | 
 | ||||||
|  |         foreach ($items as $row) { | ||||||
|  |             for ($i = 0; $i < count($product_customs); $i++) { | ||||||
|  |                 if (!empty($row['delivery_note.delivery_note' . ($i + 1)])) { | ||||||
|  |                     $product_customs[$i] = true; | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         for ($i = 0; $i < count($product_customs); $i++) { | ||||||
|  |             if ($product_customs[$i]) { | ||||||
|  |                 array_push($thead, ['element' => 'th', 'content' => '$product.product' . ($i + 1) . '_label', 'properties' => ['data-ref' => 'delivery_note-product.product' . ($i + 1) . '_label']]); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         return [ |         return [ | ||||||
|             ['element' => 'thead', 'elements' => [ |             ['element' => 'thead', 'elements' => $thead], | ||||||
|                 ['element' => 'th', 'content' => '$item_label', 'properties' => ['data-ref' => 'delivery_note-item_label']], |  | ||||||
|                 ['element' => 'th', 'content' => '$description_label', 'properties' => ['data-ref' => 'delivery_note-description_label']], |  | ||||||
|                 ['element' => 'th', 'content' => '$product.quantity_label', 'properties' => ['data-ref' => 'delivery_note-product.quantity_label']], |  | ||||||
|             ]], |  | ||||||
|             ['element' => 'tbody', 'elements' => $this->buildTableBody(self::DELIVERY_NOTE)], |             ['element' => 'tbody', 'elements' => $this->buildTableBody(self::DELIVERY_NOTE)], | ||||||
|         ]; |         ]; | ||||||
|     } |     } | ||||||
| @ -528,6 +549,16 @@ class Design extends BaseDesign | |||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         if ($type == self::DELIVERY_NOTE) { |         if ($type == self::DELIVERY_NOTE) { | ||||||
|  |             $product_customs = [false, false, false, false]; | ||||||
|  | 
 | ||||||
|  |             foreach ($items as $row) { | ||||||
|  |                 for ($i = 0; $i < count($product_customs); $i++) { | ||||||
|  |                     if (!empty($row['delivery_note.delivery_note' . ($i + 1)])) { | ||||||
|  |                         $product_customs[$i] = true; | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|             foreach ($items as $row) { |             foreach ($items as $row) { | ||||||
|                 $element = ['element' => 'tr', 'elements' => []]; |                 $element = ['element' => 'tr', 'elements' => []]; | ||||||
| 
 | 
 | ||||||
| @ -535,6 +566,12 @@ class Design extends BaseDesign | |||||||
|                 $element['elements'][] = ['element' => 'td', 'content' => $row['delivery_note.notes'], 'properties' => ['data-ref' => 'delivery_note_table.notes-td']]; |                 $element['elements'][] = ['element' => 'td', 'content' => $row['delivery_note.notes'], 'properties' => ['data-ref' => 'delivery_note_table.notes-td']]; | ||||||
|                 $element['elements'][] = ['element' => 'td', 'content' => $row['delivery_note.quantity'], 'properties' => ['data-ref' => 'delivery_note_table.quantity-td']]; |                 $element['elements'][] = ['element' => 'td', 'content' => $row['delivery_note.quantity'], 'properties' => ['data-ref' => 'delivery_note_table.quantity-td']]; | ||||||
| 
 | 
 | ||||||
|  |                 for ($i = 0; $i < count($product_customs); $i++) { | ||||||
|  |                     if ($product_customs[$i]) { | ||||||
|  |                         $element['elements'][] = ['element' => 'td', 'content' => $row['delivery_note.delivery_note' . ($i + 1)], 'properties' => ['data-ref' => 'delivery_note_table.product' . ($i + 1) . '-td']]; | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  | 
 | ||||||
|                 $elements[] = $element; |                 $elements[] = $element; | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user