mirror of
				https://github.com/invoiceninja/invoiceninja.git
				synced 2025-11-04 02:57:33 -05:00 
			
		
		
		
	Fixes for pro rata invoicing
This commit is contained in:
		
							parent
							
								
									afad1245c9
								
							
						
					
					
						commit
						80a5d8a37d
					
				
							
								
								
									
										79
									
								
								app/Notifications/Ninja/RenewalFailureNotification.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										79
									
								
								app/Notifications/Ninja/RenewalFailureNotification.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,79 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Invoice Ninja (https://invoiceninja.com).
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @link https://github.com/invoiceninja/invoiceninja source repository
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @copyright Copyright (c) 2022. Invoice Ninja LLC (https://invoiceninja.com)
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @license https://www.elastic.co/licensing/elastic-license
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace App\Notifications\Ninja;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use Illuminate\Bus\Queueable;
 | 
				
			||||||
 | 
					use Illuminate\Contracts\Queue\ShouldQueue;
 | 
				
			||||||
 | 
					use Illuminate\Foundation\Bus\Dispatchable;
 | 
				
			||||||
 | 
					use Illuminate\Notifications\Messages\MailMessage;
 | 
				
			||||||
 | 
					use Illuminate\Notifications\Messages\SlackMessage;
 | 
				
			||||||
 | 
					use Illuminate\Notifications\Notification;
 | 
				
			||||||
 | 
					use Illuminate\Queue\InteractsWithQueue;
 | 
				
			||||||
 | 
					use Illuminate\Queue\SerializesModels;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class RenewalFailureNotification extends Notification 
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Create a new notification instance.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @return void
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public function __construct(protected string $notification_message){}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Get the notification's delivery channels.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @param  mixed  $notifiable
 | 
				
			||||||
 | 
					     * @return array
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public function via($notifiable)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        return ['slack'];
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Get the mail representation of the notification.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @param  mixed  $notifiable
 | 
				
			||||||
 | 
					     * @return MailMessage
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public function toMail($notifiable)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Get the array representation of the notification.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @param  mixed  $notifiable
 | 
				
			||||||
 | 
					     * @return array
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public function toArray($notifiable)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        return [
 | 
				
			||||||
 | 
					            //
 | 
				
			||||||
 | 
					        ];
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public function toSlack($notifiable)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        $content = "Plan paid, account not updated\n";
 | 
				
			||||||
 | 
					        $content .= "Contact: {$this->notification_message}";
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        return (new SlackMessage)
 | 
				
			||||||
 | 
					                ->success()
 | 
				
			||||||
 | 
					                ->from(ctrans('texts.notification_bot'))
 | 
				
			||||||
 | 
					                ->image('https://app.invoiceninja.com/favicon.png')
 | 
				
			||||||
 | 
					                ->content($content);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -679,8 +679,9 @@ class SubscriptionService
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
        else if($last_invoice->balance > 0)
 | 
					        else if($last_invoice->balance > 0)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            $pro_rata_charge_amount = $this->calculateProRataCharge($last_invoice, $old_subscription);
 | 
					            $last_invoice = null;
 | 
				
			||||||
            nlog("pro rata charge = {$pro_rata_charge_amount}");
 | 
					            // $pro_rata_charge_amount = $this->calculateProRataCharge($last_invoice, $old_subscription);
 | 
				
			||||||
 | 
					            // nlog("pro rata charge = {$pro_rata_charge_amount}");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user