mirror of
				https://github.com/invoiceninja/invoiceninja.git
				synced 2025-11-03 23:27:31 -05:00 
			
		
		
		
	Fixes for invoice invitation creation (#3370)
* Working on invoice invitations * Fixes for invitation creation
This commit is contained in:
		
							parent
							
								
									8121a0166d
								
							
						
					
					
						commit
						08b4c4f4e1
					
				@ -61,6 +61,25 @@ class StoreInvoiceRequest extends Request
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if(isset($input['invitations']))
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          foreach($input['invitations'] as $key => $value)
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if(isset($input['invitations'][$key]['id']) && is_numeric($input['invitations'][$key]['id']))
 | 
				
			||||||
 | 
					              unset($input['invitations'][$key]['id']);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if(isset($input['invitations'][$key]['id']) && is_string($input['invitations'][$key]['id']))
 | 
				
			||||||
 | 
					              $input['invitations'][$key]['id'] = $this->decodePrimaryKey($input['invitations'][$key]['id']);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if(is_string($input['invitations'][$key]['client_contact_id']))
 | 
				
			||||||
 | 
					              $input['invitations'][$key]['client_contact_id'] = $this->decodePrimaryKey($input['invitations'][$key]['client_contact_id']);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $input['line_items'] = isset($input['line_items']) ? $this->cleanItems($input['line_items']) : [];
 | 
					        $input['line_items'] = isset($input['line_items']) ? $this->cleanItems($input['line_items']) : [];
 | 
				
			||||||
        //$input['line_items'] = json_encode($input['line_items']);
 | 
					        //$input['line_items'] = json_encode($input['line_items']);
 | 
				
			||||||
        $this->replace($input);
 | 
					        $this->replace($input);
 | 
				
			||||||
 | 
				
			|||||||
@ -53,6 +53,25 @@ class UpdateInvoiceRequest extends Request
 | 
				
			|||||||
            $input['client_id'] = $this->decodePrimaryKey($input['client_id']);
 | 
					            $input['client_id'] = $this->decodePrimaryKey($input['client_id']);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if(isset($input['invitations']))
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          foreach($input['invitations'] as $key => $value)
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if(is_numeric($input['invitations'][$key]['id']))
 | 
				
			||||||
 | 
					              unset($input['invitations'][$key]['id']);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if(is_string($input['invitations'][$key]['id']))
 | 
				
			||||||
 | 
					              $input['invitations'][$key]['id'] = $this->decodePrimaryKey($input['invitations'][$key]['id']);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if(is_string($input['invitations'][$key]['client_contact_id']))
 | 
				
			||||||
 | 
					              $input['invitations'][$key]['client_contact_id'] = $this->decodePrimaryKey($input['invitations'][$key]['client_contact_id']);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
        $input['line_items'] = isset($input['line_items']) ? $this->cleanItems($input['line_items']) : [];
 | 
					        $input['line_items'] = isset($input['line_items']) ? $this->cleanItems($input['line_items']) : [];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $this->replace($input);
 | 
					        $this->replace($input);
 | 
				
			||||||
 | 
				
			|||||||
@ -91,15 +91,19 @@ class InvoiceRepository extends BaseRepository {
 | 
				
			|||||||
					$new_invitation = InvoiceInvitationFactory::create($invoice->company_id, $invoice->user_id);
 | 
										$new_invitation = InvoiceInvitationFactory::create($invoice->company_id, $invoice->user_id);
 | 
				
			||||||
					//$new_invitation->fill($invitation);
 | 
										//$new_invitation->fill($invitation);
 | 
				
			||||||
					$new_invitation->invoice_id        = $invoice->id;
 | 
										$new_invitation->invoice_id        = $invoice->id;
 | 
				
			||||||
					$new_invitation->client_contact_id = $this->decodePrimaryKey($invitation['client_contact_id']);
 | 
										$new_invitation->client_contact_id = $invitation['client_contact_id'];
 | 
				
			||||||
					$new_invitation->save();
 | 
										$new_invitation->save();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							$invoice->load('invitations');
 | 
				
			||||||
 | 
							
 | 
				
			||||||
		/* If no invitations have been created, this is our fail safe to maintain state*/
 | 
							/* If no invitations have been created, this is our fail safe to maintain state*/
 | 
				
			||||||
		if ($invoice->invitations->count() == 0) {
 | 
							if ($invoice->invitations->count() == 0) {
 | 
				
			||||||
 | 
								\Log::error('making invitations');
 | 
				
			||||||
			$invoice->service()->createInvitations();
 | 
								$invoice->service()->createInvitations();
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user