format('Ym'); return $prefix.$invoice_number; } public static function getInvoiceStorageDir($invoice_date){ return "/invoice/".\Carbon::parse($invoice_date)->format('Y/m/'); } public static function getDeliveryStorageDir($invoice_date){ return "/delivery/".\Carbon::parse($invoice_date)->format('Y/m/'); } public static function makeInvoiceFilename($invoice_number){ return "Rechnung-".$invoice_number.".pdf"; } public static function makeDeliveryFilename($invoice_number){ return "Lieferschein-".$invoice_number.".pdf"; } //invoice public static function isInvoice(ShoppingOrder $shopping_order){ return isset($shopping_order->invoice['filename']) ? true : false; } public static function getFilename($shopping_order){ return isset($shopping_order->invoice['filename']) ? $shopping_order->invoice['filename'] : false; } public static function getDir($shopping_order){ return isset($shopping_order->invoice['dir']) ? $shopping_order->invoice['dir'] : false; } public static function getDate($shopping_order){ return isset($shopping_order->invoice['invoice_date']) ? $shopping_order->invoice['invoice_date'] : false; } public static function getNumber($shopping_order){ return isset($shopping_order->invoice['invoice_number']) ? $shopping_order->invoice['invoice_number'] : false; } //delivery public static function isDelivery(ShoppingOrder $shopping_order){ return isset($shopping_order->delivery['filename']) ? true : false; } public static function getDeliveryFilename($shopping_order){ return isset($shopping_order->delivery['filename']) ? $shopping_order->delivery['filename'] : self::makeDeliveryFilename(self::getDeliveryNumber($shopping_order)); } public static function getDeliveryDir($shopping_order){ return isset($shopping_order->delivery['dir']) ? $shopping_order->delivery['dir'] : self::getDeliveryStorageDir(self::getDeliveryDate($shopping_order)); } public static function getDeliveryDate($shopping_order){ return isset($shopping_order->delivery['date']) ? $shopping_order->delivery['date'] : self::getDate($shopping_order); } public static function getDeliveryNumber($shopping_order){ return isset($shopping_order->delivery['number']) ? $shopping_order->delivery['number'] : self::getNumber($shopping_order); } public static function getDownloadPath(ShoppingOrder $shopping_order, $full = false){ $dir = self::getDir($shopping_order); $filename = self::getFilename($shopping_order); if(!$full){ return $dir.$filename; } return \Storage::disk('public')->path($dir.$filename); } public static function getDownloadPathDelivery(ShoppingOrder $shopping_order, $full = false){ $dir = self::getDeliveryDir($shopping_order); $filename = self::getDeliveryFilename($shopping_order); if(!$full){ return $dir.$filename; } return \Storage::disk('public')->path($dir.$filename); } public static function sendInvoiceMail($shopping_order){ $bcc = []; $billing_email = $shopping_order->shopping_user->billing_email; if(!$billing_email){ if($shopping_order->mode === 'test'){ $billing_email = config('app.checkout_test_mail'); }else{ $billing_email = config('app.checkout_mail'); } } if($shopping_order->mode === 'test'){ $bcc[] = config('app.checkout_test_mail'); }else{ $bcc[] = config('app.checkout_mail'); } Mail::to($billing_email)->bcc($bcc)->send(new MailInvoice($shopping_order)); } public static function sendLogisticMail(ShoppingOrder $shopping_order){ $to = [config('app.logistic_mail')]; //['versand@aloe-vera.bio']; Mail::to($to)->send(new MailLogistic($shopping_order)); } }