Sammelbestellung von Extern

This commit is contained in:
Kevin Adametz 2022-07-18 18:07:31 +02:00
parent d01b4bd560
commit 582ca8299d
33 changed files with 3437 additions and 1466 deletions

View file

@ -59,13 +59,12 @@ class ModalController extends Controller
}
if($data['action'] === 'shop-user-order-detail'){
$user = \Auth::user();
$shopping_order = ShoppingOrder::findOrFail($data['id']);
if($shopping_order->member_id !== $user->id){
if(!$user->isAdmin() || $shopping_order->member_id !== $user->id){
abort(404);
}
$isAdmin = false;
$isAdmin = false ;
$ret = view("user.shop.sales.modal_api_order_detail", compact('shopping_order', 'isAdmin', 'data'))->render();
}

View file

@ -6,13 +6,12 @@ use Request;
use App\User;
use App\Services\Payment;
use App\Models\ShoppingOrder;
use App\Services\UserService;
use App\Models\ShippingCountry;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use App\Repositories\ShopApiRepository;
class ShopApiController extends Controller
{
@ -44,12 +43,6 @@ class ShopApiController extends Controller
switch($data['user_shop_api_orders_action']){
case 'order':
$shopApiOrderCart = $this->shopApiRepository->order($data);
/*$user = User::find(Auth::user()->id);
$shipping_country = ShippingCountry::whereCountryId($user->account->country_id)->first();
UserService::checkUserTaxShippingCountry($user, $shipping_country->id);*/
//card_info = UserService::getYardInfo();
return view('user.shop.sales.api_order_list', compact('shopApiOrderCart', 'data'));
break;
case 'remove':
@ -66,15 +59,8 @@ class ShopApiController extends Controller
public function checkout(){
$data = Request::all();
$shopApiOrderCart = $this->shopApiRepository->checkout($data);
//TODO store in ShopApiOrderCart
//TO checkout
dd($shopApiOrderCart);
return redirect(route('user_shop_api_orders'));
$data = Request::all();
return $this->shopApiRepository->checkout($data);
}
@ -130,6 +116,12 @@ class ShopApiController extends Controller
data-route="'.route('modal_load').'"><span class="far fa-eye"></span></button>';
})
->addColumn('api_status', function (ShoppingOrder $ShoppingOrder) {
if($ShoppingOrder->api_status === 2){
$shopping_oder_id = isset($ShoppingOrder->api_notice['shopping_order_id']) ? $ShoppingOrder->api_notice['shopping_order_id'] : null;
if($shopping_oder_id){
return '<a class="btn btn-sm btn-secondary btn-round" href="'.route('user_order_detail', [$shopping_oder_id]).'"><i class="fa fa-check fa-check-circle-o"> '.$shopping_oder_id.'</a>';
}
}
return '<span class="badge badge-pill badge-'.$ShoppingOrder->getAPIStatusColor().'">'.$ShoppingOrder->getAPIStatusType().'</span>';
})
->addColumn('created_at', function (ShoppingOrder $ShoppingOrder) {
@ -161,7 +153,7 @@ class ShopApiController extends Controller
return '<span class="badge badge-pill badge-'.$ShoppingOrder->getShippedColor().'">'.$ShoppingOrder->getShippedType().'</span>
';
})
->orderColumn('payment_for', 'payment_for $1')
->orderColumn('id', 'id $1')

View file

@ -3,26 +3,27 @@
namespace App\Http\Controllers\Web;
use App\Http\Controllers\Controller;
use App\Http\Controllers\Pay\PayoneController;
use App\Models\Homeparty;
use App\Models\PaymentMethod;
use App\Models\PaymentTransaction;
use App\Models\ShippingCountry;
use App\Models\ShoppingOrder;
use App\Models\ShoppingOrderItem;
use App\Models\ShoppingPayment;
use App\Models\ShoppingUser;
use App\Services\CustomerPriority;
use App\Services\Payment;
use App\Services\Shop;
use App\User;
use Illuminate\Session\SessionManager;
use Illuminate\Support\Collection;
use Validator;
use App\Services\Util;
use Yard;
use Request;
use App\User;
use Validator;
use App\Services\Shop;
use App\Services\Util;
use App\Models\Homeparty;
use App\Services\Payment;
use App\Models\ShoppingUser;
use App\Models\PaymentMethod;
use App\Models\ShoppingOrder;
use App\Models\ShippingCountry;
use App\Models\ShoppingPayment;
use App\Models\ShoppingOrderItem;
use App\Models\PaymentTransaction;
use App\Services\CustomerPriority;
use Illuminate\Support\Collection;
use App\Http\Controllers\Controller;
use App\Models\ShoppingCollectOrder;
use Illuminate\Session\SessionManager;
use App\Http\Controllers\Pay\PayoneController;
class CheckoutController extends Controller
{
@ -67,7 +68,7 @@ class CheckoutController extends Controller
if(!$this->getPayments('shopping_user_id')){
if($shopping_data && $is_from !== 'shopping'){
//can wizard membership user_order
//can wizard membership user_order
//$shopping_user_id = isset($shopping_data['shopping_user_id']) ? $shopping_data['shopping_user_id'] : false;
$shopping_user = $this->shoppingUserAuthData($is_from, $is_for, $shopping_data);
$shopping_user->save();
@ -177,6 +178,7 @@ class CheckoutController extends Controller
$shopping_user->is_for = $is_for;
$shopping_user->is_from = $is_from;
$shopping_user->homeparty_id = isset($data['homeparty_id']) ? $data['homeparty_id'] : null;
$shopping_user->shopping_collect_order_id = isset($data['shopping_collect_order_id']) ? $data['shopping_collect_order_id'] : null;
//Lieferadresse
if($is_from === 'user_order'){
@ -508,6 +510,30 @@ class CheckoutController extends Controller
'txaction' => 'prev',
'mode' => Util::getUserShoppingMode(),
];
}elseif($shopping_user->is_from === 'collection'){
//get data
$ShoppingCollectOrder = ShoppingCollectOrder::find($shopping_user->shopping_collect_order_id);
//set Data!
$total = Yard::instance('shopping')->total(2, '.', ''); //ek_price
$data = [
'shopping_user_id' => $shopping_user->id,
'auth_user_id' => $shopping_user->auth_user_id,
'country_id' => Yard::instance('shopping')->getShippingCountryId(),
'user_shop_id' => $user_shop->id,
'payment_for' => $shopping_user->getOrderPaymentFor(),
'total' => $total,
'subtotal' => $ShoppingCollectOrder->price_total_net,
'shipping' => 0,
'shipping_net' => 0,
'subtotal_ws' => $ShoppingCollectOrder->price_total_net,
'tax' => $ShoppingCollectOrder->tax_total,
'tax_split' => $ShoppingCollectOrder->tax_split,
'total_shipping' => Yard::instance('shopping')->totalWithShipping(2, '.', ''),
'points' => $ShoppingCollectOrder->points,
'weight' => 0,
'txaction' => 'prev',
'mode' => Util::getUserShoppingMode(),
];
}else{
$data = [
'shopping_user_id' => $shopping_user->id,
@ -539,6 +565,10 @@ class CheckoutController extends Controller
}
if(!$shopping_order){
$shopping_order = ShoppingOrder::create($data);
if($shopping_user->is_from === 'collection' && $ShoppingCollectOrder){
$ShoppingCollectOrder->shopping_order_id = $shopping_order->id;
$ShoppingCollectOrder->save();
}
}
$this->putPayments('shopping_order_id', $shopping_order->id);
@ -567,6 +597,10 @@ class CheckoutController extends Controller
$data['homeparty_id'] = (int) $shopping_user->homeparty_id;
$data['product_id'] = null;
}
if($shopping_user->is_from === 'collection'){
$data['shopping_collect_order_id'] = (int) $shopping_user->shopping_collect_order_id;
$data['product_id'] = null;
}
$model->fill($data)->save();
return false;
}
@ -597,14 +631,21 @@ class CheckoutController extends Controller
if($shopping_user->is_from === 'homeparty'){
$data['homeparty_id'] = (int) $shopping_user->homeparty_id;
$data['price_vk_net'] = 0;
$data['product_id'] = null;
}
if($shopping_user->is_from === 'collection'){
$data['price_vk_net'] = 0;
$data['shopping_collect_order_id'] = (int) $shopping_user->shopping_collect_order_id;
$data['product_id'] = null;
}
$shopping_order_item = ShoppingOrderItem::create($data);
}
}
if($shopping_user->is_from === 'homeparty'){
$shopping_order->makeHomepartyTaxSplit();
}elseif($shopping_user->is_from === 'collection'){
//is set on create / filll.
}else{
$shopping_order->makeTaxSplit();
}

View file

@ -0,0 +1,137 @@
<?php
/**
* Created by Reliese Model.
*/
namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Casts\AsArrayObject;
use App\User;
/**
* Class ShoppingCollectOrder
*
* @property int $id
* @property int $user_id
* @property int|null $shopping_order_id
* @property float|null $shipping
* @property float|null $shipping_net
* @property float|null $shipping_tax
* @property float|null $price_total_net
* @property float|null $price_total
* @property float|null $tax_total
* @property int $qty_total
* @property int|null $points
* @property string|null $tax_split
* @property AsArrayObject|null $orders
* @property AsArrayObject|null $shop_items
* @property int $status
* @property Carbon|null $created_at
* @property Carbon|null $updated_at
* @property ShoppingOrder|null $shopping_order
* @property User $user
* @package App\Models
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingCollectOrder newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingCollectOrder newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingCollectOrder query()
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingCollectOrder whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingCollectOrder whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingCollectOrder whereOrders($value)
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingCollectOrder wherePoints($value)
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingCollectOrder wherePriceTotal($value)
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingCollectOrder wherePriceTotalNet($value)
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingCollectOrder whereQtyTotal($value)
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingCollectOrder whereShipping($value)
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingCollectOrder whereShippingNet($value)
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingCollectOrder whereShippingTax($value)
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingCollectOrder whereShopItems($value)
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingCollectOrder whereShoppingOrderId($value)
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingCollectOrder whereStatus($value)
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingCollectOrder whereTaxSplit($value)
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingCollectOrder whereTaxTotal($value)
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingCollectOrder whereUpdatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingCollectOrder whereUserId($value)
* @mixin \Eloquent
*/
class ShoppingCollectOrder extends Model
{
protected $table = 'shopping_collect_orders';
protected $casts = [
'user_id' => 'int',
'shopping_order_id' => 'int',
'shipping' => 'float',
'shipping_net' => 'float',
'shipping_tax' => 'float',
'price_total_net' => 'float',
'price_total' => 'float',
'tax_total' => 'float',
'qty_total' => 'int',
'points' => 'int',
'status' => 'int',
'tax_split' => 'array',
'orders' => AsArrayObject::class,
'shop_items' => AsArrayObject::class,
];
protected $fillable = [
'user_id',
'shopping_order_id',
//'identifier',
'shipping',
'shipping_net',
'shipping_tax',
'price_total_net',
'price_total',
'tax_total',
'qty_total',
'points',
'tax_split',
'orders',
'shop_items',
'status'
];
public static $statusTypes = [
0 => '',
1 => 'store / pre',
2 => 'order',
];
public function shopping_order()
{
return $this->belongsTo(ShoppingOrder::class);
}
public function user()
{
return $this->belongsTo(User::class);
}
public function addTaxToSplit($tax_rate, $add_tax)
{
$tax_split = $this->tax_split;
$tax_split[$tax_rate] = isset($tax_split[$tax_rate]) ? round($tax_split[$tax_rate] += $add_tax, 2) : $add_tax;
$this->tax_split = $tax_split;
}
public function addShopItem($shop_item_id, $shop_item)
{
$this->shop_items[$shop_item_id] = $shop_item;
}
public function addOrder($order)
{
$this->orders[] = $order;
}
public function initShoppingOrder($order)
{
$order['shopping_order'] = ShoppingOrder::findOrFail($order['order_id']);
return $order;
}
}

View file

@ -91,6 +91,9 @@ use Illuminate\Database\Eloquent\SoftDeletes;
* @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\UserSalesVolume[] $user_sales_volume
* @property-read int|null $user_sales_volume_count
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingOrder whereTaxSplit($value)
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingOrder whereApiNotice($value)
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingOrder whereApiStatus($value)
* @property-read \App\Models\ShoppingCollectOrder|null $shopping_collect_order
*/
class ShoppingOrder extends Model
{
@ -148,7 +151,6 @@ class ShoppingOrder extends Model
10 => 'cancel'
];
public static $apiStatusTypes = [
0 => 'offen',
1 => 'offen / pre',
@ -178,6 +180,7 @@ class ShoppingOrder extends Model
5 => 'Homeparty',
6 => 'Shop',
7 => 'extern',
8 => 'Sammelbestellung',
10 => '',
];
@ -242,6 +245,10 @@ class ShoppingOrder extends Model
public function user_invoice(){
return $this->hasOne('App\Models\UserInvoice', 'shopping_order_id', '');
}
public function shopping_collect_order(){
return $this->hasOne('App\Models\ShoppingCollectOrder', 'shopping_order_id', '');
}
public function shopping_order_items(){
return $this->hasMany('App\Models\ShoppingOrderItem', 'shopping_order_id');

View file

@ -56,6 +56,8 @@ use Illuminate\Database\Eloquent\SoftDeletes;
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingOrderItem wherePoints($value)
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingOrderItem wherePriceVkNet($value)
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingOrderItem whereTax($value)
* @property int|null $shopping_collect_order_id
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingOrderItem whereShoppingCollectOrderId($value)
*/
class ShoppingOrderItem extends Model
{
@ -69,6 +71,7 @@ class ShoppingOrderItem extends Model
'row_id',
'product_id',
'homeparty_id',
'shopping_collect_order_id',
'comp',
'qty',
'price',

View file

@ -163,6 +163,7 @@ class ShoppingUser extends Model
'is_from',
'shopping_user_id',
'homeparty_id',
'shopping_collect_order_id',
'wp_order_number',
'wp_order_date',
];
@ -263,6 +264,8 @@ class ShoppingUser extends Model
return 6;
case 'extern':
return 7;
case 'collection':
return 8;
}
return 0;
}

View file

@ -133,13 +133,14 @@ class InvoiceRepository extends BaseRepository {
$pdfMerger->addPDF($path.$this->dir.$this->filename);
$file = $pdfMerger->myMerge('string', $this->filename, 'template_invoice_de');
Storage::disk('public')->put($this->dir.$this->filename, $file);
$pdf_file = new InvoicePDF('pdf.delivery');
$pdf_file->create($data, $this->delivery_filename, 'save', $path.$this->delivery_dir);
$pdfMerger = new MyPDFMerger();
$pdfMerger->addPDF($path.$this->delivery_dir.$this->delivery_filename);
$file = $pdfMerger->myMerge('string', $this->delivery_filename, 'template_invoice_de');
Storage::disk('public')->put($this->delivery_dir.$this->delivery_filename, $file);
if(!$this->model->shopping_collect_order){
$pdf_file = new InvoicePDF('pdf.delivery');
$pdf_file->create($data, $this->delivery_filename, 'save', $path.$this->delivery_dir);
$pdfMerger = new MyPDFMerger();
$pdfMerger->addPDF($path.$this->delivery_dir.$this->delivery_filename);
$file = $pdfMerger->myMerge('string', $this->delivery_filename, 'template_invoice_de');
Storage::disk('public')->put($this->delivery_dir.$this->delivery_filename, $file);
}
}
public function userSalesVolume()

View file

@ -4,6 +4,16 @@ namespace App\Repositories;
use App\Models\ShoppingOrder;
use App\Services\ShopApiOrderCart;
use App\Services\UserService;
use App\Services\Util;
use App\Models\UserHistory;
use App\Models\ShippingCountry;
use App\Models\ShoppingInstance;
use Auth;
use Yard;
use App\User;
class ShopApiRepository extends BaseRepository {
@ -34,12 +44,62 @@ class ShopApiRepository extends BaseRepository {
return true;
}
public function checkout($data){
public function checkout($data)
{
$user = User::find(Auth::user()->id);
$shopApiOrderCart = $this->performCheckout($data);
$time = time();
$date = date('d.m.Y H:i:s', $time);
Yard::instance('shopping')->destroy();
$cartItem = Yard::instance('shopping')->add($shopApiOrderCart->id, 'Sammelbestellung Extern '.$date, 1, $shopApiOrderCart->price_total, false, false, ['image' => "", 'slug' => $time, 'weight' => 0]);
Yard::setTax($cartItem->rowId, 0);
do {
$identifier = Util::getToken();
} while( ShoppingInstance::where('identifier', $identifier)->count() );
$shipping_country = ShippingCountry::whereCountryId($user->account->country_id)->first();
UserService::checkUserTaxShippingCountry($user, $shipping_country->id);
$data = [];
$data['is_from'] = 'collection';
$data['shop_price'] = $shopApiOrderCart->price_total;
$data['shop_price_net'] = $shopApiOrderCart->price_total_net;
$data['shop_price_tax'] = $shopApiOrderCart->tax_total;
$data['user_tax_free'] = false;
$data['shopping_collect_order_id'] = $shopApiOrderCart->id;
$data['is_for'] = 'co'; //colection
$data['user_price_infos'] = UserService::getYardInfo();
ShoppingInstance::create([
'identifier' => $identifier,
'user_shop_id' => 1, //is first faker shop for nuy intern
'auth_user_id' => $user->id,
'payment' => 2, //Berater Shop
'subdomain' => url('/'),
'country_id' => Yard::instance('shopping')->getShippingCountryId(),
'shopping_data' => $data,
'back' => route('user_shop_api_orders'),
]);
Yard::instance('shopping')->store($identifier);
$path = route('checkout.checkout_card', ['identifier'=>$identifier]);
UserHistory::create(['user_id' => $user->id, 'action'=>'payment_collection', 'status'=>1, 'referenz'=>$shopApiOrderCart->id, 'identifier'=>$identifier]);
//$path = str_replace('http', 'https', $path);
return redirect()->secure($path);
}
private function performCheckout($data){
$this->shopApiOrderCart = new ShopApiOrderCart();
$this->performOrderCheckoutList($data, 1);
return $this->shopApiOrderCart;
}
private function performActionList($data, $status){
if(isset($data['api_action_list'])){
foreach($data['api_action_list'] as $orderItemId=>$v){

View file

@ -6,6 +6,7 @@ use App\User;
use App\Mail\MailCheckout;
use App\Models\ShoppingOrder;
use App\Models\ShoppingPayment;
use App\Services\ShopApiOrderCart;
use Illuminate\Support\Facades\Mail;
use App\Repositories\InvoiceRepository;
@ -134,6 +135,12 @@ class Payment
$shopping_order->homeparty->completed = 1;
$shopping_order->homeparty->save();
}
if($shopping_order->shopping_collect_order){
$shopping_order->setUserHistoryValue(['status' => 9]);
ShopApiOrderCart::finishOrder($shopping_order->shopping_collect_order);
}
//make Invoice and
$invoice_repo = new InvoiceRepository($shopping_order);

View file

@ -1,39 +1,31 @@
<?php
namespace App\Services;
use App\Models\ShoppingCollectOrder;
use stdClass;
use App\Models\ShoppingOrder;
use Auth;
class ShopApiOrderCart
{
public $shipping;
public $shipping_net;
public $shipping_tax;
public $points;
public $points_total; //check
public $price_total_net;
public $price_total;
public $tax_total;
public $tax_split;
public $qty_total;
public $orders = [];
public $shop_items = [];
public $shoppingCollectOrder;
public function __construct()
{
$this->shipping = 0;
$this->shipping_net = 0;
$this->shipping_tax = 0;
$this->points_total = 0;
$this->price_total_net = 0;
$this->price_total = 0;
$this->tax_total = 0;
$this->tax_split = [];
$this->qty_total = 0;
$this->shoppingCollectOrder = new ShoppingCollectOrder();
$this->shoppingCollectOrder->shipping = 0;
$this->shoppingCollectOrder->shipping_net = 0;
$this->shoppingCollectOrder->shipping_tax = 0;
$this->shoppingCollectOrder->points = 0;
$this->shoppingCollectOrder->price_total_net = 0;
$this->shoppingCollectOrder->price_total = 0;
$this->shoppingCollectOrder->tax_total = 0;
$this->shoppingCollectOrder->qty_total = 0;
$this->shop_items = [];
$this->shoppingCollectOrder->tax_split = [];
$this->shoppingCollectOrder->orders = [];
$this->shoppingCollectOrder->shop_items = [];
}
@ -46,8 +38,8 @@ class ShopApiOrderCart
$order->shipping_address = $this->setOrderAdress('shipping', $shopping_order->shopping_user);
$order->shopping_order = $shopping_order;
$this->shipping += $shopping_order->shipping;
$this->shipping_net += $shopping_order->shipping_net;
$this->shoppingCollectOrder->shipping += $shopping_order->shipping;
$this->shoppingCollectOrder->shipping_net += $shopping_order->shipping_net;
foreach ($shopping_order->shopping_order_items as $item){
@ -59,65 +51,67 @@ class ShopApiOrderCart
$shop_item_id = $item->product->id.'-'.$item->price;
//set to item
if(isset($this->shop_items[$shop_item_id])){
$shop_item = $this->shop_items[$shop_item_id];
$shop_item->user_price_total_net += $user_price_net_qty;
$shop_item->user_tax_total += $user_tax_qty;
$shop_item->points_total += ($item->points * $item->qty);
$shop_item->qty += $item->qty;
if(isset($this->shoppingCollectOrder->shop_items[$shop_item_id])){
$shop_item = $this->shoppingCollectOrder->shop_items[$shop_item_id];
if ($shop_item instanceof stdClass) {
$shop_item->user_price_total_net += $user_price_net_qty;
$shop_item->user_tax_total += $user_tax_qty;
$shop_item->points_total += ($item->points * $item->qty);
$shop_item->qty += $item->qty;
}
}else{
$shop_item = new stdClass();
$shop_item->pid = $item->product->id;
$shop_item->pid = $item->product->id;
$shop_item->article = $item->product->wp_number;
$shop_item->number = $item->product->number;
$shop_item->name = $item->product->name;
$shop_item->qty = $item->qty;
$shop_item->article = $item->product->wp_number;
$shop_item->number = $item->product->number;
$shop_item->name = $item->product->name;
$shop_item->qty = $item->qty;
$shop_item->tax_rate = $tax_rate;
$shop_item->points = $item->points;
$shop_item->user_price_net = $user_price_net;
$shop_item->user_price_total_net = $user_price_net_qty;
$shop_item->user_tax = $user_tax;
$shop_item->user_tax_total = $user_tax_qty;
$shop_item->points_total = ($item->points * $item->qty);
$shop_item->tax_rate = $tax_rate;
$shop_item->points = $item->points;
$shop_item->user_price_net = $user_price_net;
$shop_item->user_price_total_net = $user_price_net_qty;
$shop_item->user_tax = $user_tax;
$shop_item->user_tax_total = $user_tax_qty;
$shop_item->points_total = ($item->points * $item->qty);
}
//only for tax split / tax and price on calculate function
$tax = isset($this->tax_split[$tax_rate]) ? $this->tax_split[$tax_rate] : 0;
$tax += $user_tax_qty;
$this->tax_split[$tax_rate] = $tax;
$this->tax_total += $user_tax_qty;
$this->shoppingCollectOrder->addTaxToSplit($tax_rate, $user_tax_qty);
$this->shoppingCollectOrder->tax_total += $user_tax_qty;
$this->shoppingCollectOrder->price_total_net += $user_price_net_qty;
$this->shoppingCollectOrder->points += ($item->points * $item->qty);
$this->shoppingCollectOrder->qty_total += $item->qty;
$this->price_total_net += $user_price_net_qty;
$this->points_total += ($item->points * $item->qty);
$this->qty_total += $item->qty;
$this->shop_items[$shop_item_id] = $shop_item;
$this->shoppingCollectOrder->addShopItem($shop_item_id, $shop_item);
}
$this->orders[] = $order;
$this->shoppingCollectOrder->addOrder($order);
}
public function calculate(){
$this->shipping_tax = round($this->shipping - $this->shipping_net, 2);
$this->tax_total += $this->shipping_tax;
$this->shoppingCollectOrder->shipping_tax = round($this->shoppingCollectOrder->shipping - $this->shoppingCollectOrder->shipping_net, 2);
$this->shoppingCollectOrder->tax_total += $this->shoppingCollectOrder->shipping_tax;
//add shipping tax to split
$tax = isset($this->tax_split[config('app.shipping_tax')]) ? $this->tax_split[config('app.shipping_tax')] : 0;
$tax += $this->shipping_tax;
$this->tax_split[config('app.shipping_tax')] = $tax;
$this->shoppingCollectOrder->addTaxToSplit(config('app.shipping_tax'), $this->shoppingCollectOrder->shipping_tax);
$this->price_total_net += $this->shipping_net;
$this->price_total = round($this->tax_total + $this->price_total_net, 2);
//$this->price_total += round($user_price * $item->qty, 2);
$this->shoppingCollectOrder->price_total_net += $this->shoppingCollectOrder->shipping_net;
$this->shoppingCollectOrder->price_total = round($this->shoppingCollectOrder->tax_total + $this->shoppingCollectOrder->price_total_net, 2);
}
public function store(){
//TODO
$this->shoppingCollectOrder->user_id = \Auth::user()->id;
$this->shoppingCollectOrder->status = 1;
//remove shopping_order
$temp = [];
foreach($this->orders as $order){
$order->shopping_order = null;
$temp[] = $order;
}
$this->shoppingCollectOrder->orders = $temp;
$this->shoppingCollectOrder->save();
}
//price brutto calu with
@ -166,26 +160,49 @@ class ShopApiOrderCart
return $ret;
}
public function __get($property) {
if (property_exists($this->shoppingCollectOrder, $property)) {
return $this->shoppingCollectOrder->$property;
}
if (isset($this->shoppingCollectOrder->{$property})) {
return $this->shoppingCollectOrder->{$property};
}
}
public function getTotalTax()
{
return $this->tax_total;
return $this->shoppingCollectOrder->tax_total;
}
public function getTotalPriceNetto()
{
return $this->price_total_net;
return $this->shoppingCollectOrder->price_total_net;
}
public function getTotalPrice()
{
return $this->price_total;
return $this->shoppingCollectOrder->price_total;
}
public function getTaxSplit()
{
return 0;
}
public static function finishOrder(ShoppingCollectOrder $shoppingCollectOrder){
//get orders an set
foreach($shoppingCollectOrder->orders as $order){
$ShoppingOrder = ShoppingOrder::findOrFail($order['order_id']);
$ShoppingOrder->api_status = 2; //bestellt
$api_notice = $ShoppingOrder->api_notice;
$api_notice['shopping_order_id'] = $shoppingCollectOrder->shopping_order_id;
$ShoppingOrder->api_notice = $api_notice;
$ShoppingOrder->save();
}
$shoppingCollectOrder->status = 2; //order
$shoppingCollectOrder->save();
}
}

View file

@ -59,7 +59,8 @@ class CreateShoppingUsersTable extends Migration
$table->text('notice')->default(false);
$table->unsignedInteger('homeparty_id')->nullable();
$table->unsignedInteger('shopping_collect_order_id')->nullable();
$table->char('mode', 4)->nullable();
$table->char('is_for', 2)->nullable();

View file

@ -20,6 +20,8 @@ class CreateShoppingOrderItemsTable extends Migration
$table->string('row_id', 40)->nullable();
$table->unsignedInteger('product_id');
$table->unsignedInteger('homeparty_id')->nullable();
$table->unsignedInteger('shopping_collect_order_id')->nullable();
$table->unsignedTinyInteger('comp')->nullable();

View file

@ -0,0 +1,62 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateShoppingCollectOrdersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('shopping_collect_orders', function (Blueprint $table) {
$table->increments('id');
$table->unsignedInteger('user_id');
$table->unsignedInteger('shopping_order_id')->index()->nullable();
$table->decimal('shipping', 8, 2)->nullable();
$table->decimal('shipping_net', 8, 2)->nullable();
$table->decimal('shipping_tax', 5, 2)->nullable();
$table->decimal('price_total_net', 8, 2)->nullable();
$table->decimal('price_total', 8, 2)->nullable();
$table->decimal('tax_total', 8, 2)->nullable();
$table->unsignedInteger('qty_total');
$table->unsignedInteger('points')->nullable();
$table->string('tax_split')->nullable();
$table->text('orders')->nullable();
$table->text('shop_items')->nullable();
$table->unsignedTinyInteger('status')->index()->default(0);
$table->timestamps();
$table->foreign('user_id')
->references('id')
->on('users');
$table->foreign('shopping_order_id')
->references('id')
->on('shopping_orders');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('shopping_collect_orders');
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,165 @@
<div class="table-responsive">
<table class="table table-product m-0" style="">
<tbody>
<tr class="border-bottom">
<th class="text-left">{{__('Produkt')}}</th>
<th class="text-right">{{__('Points')}}</th>
<th class="text-right">{{__('Netto-Preis')}}</th>
<th class="text-right">{{__('Anzahl')}}</th>
<th class="text-right">{{__('Summe Netto')}}</th>
<th class="text-right" style="max-width: 5%">{{__('%')}}</th>
<th class="text-right" style="max-width: 10%">{{__('MwSt')}}</th>
</tr>
@foreach($shopping_order->shopping_collect_order->shop_items as $key => $shop_item)
<tr>
<td>
<strong>{{$shop_item['name']}}</strong>
<span class="text-muted">#{{ $shop_item['number'] }}</span>
</td>
<td class="text-right">
{{$shop_item['points_total']}}
</td>
<td class="text-right">
{{ formatNumber($shop_item['user_price_net']) }} &euro;
</td>
<td class="text-right">
{{$shop_item['qty']}}
</td>
<td class="text-right">
<strong>{{ formatNumber($shop_item['user_price_total_net']) }} &euro;</strong>
</td>
<td class="text-right">
{{ formatNumber($shop_item['tax_rate'], 0) }}
</td>
<td class="text-right">
{{ formatNumber($shop_item['user_tax_total']) }} &euro;
</td>
</tr>
@endforeach
<tr>
<td>
<strong>Gesamte Versandkosten</strong>
</td>
<td class="text-right">
</td>
<td class="text-right">
1
</td>
<td class="text-right">
</td>
<td class="text-right">
<strong>{{ formatNumber($shopping_order->shopping_collect_order->shipping_net) }} &euro;</strong>
</td>
<td class="text-right">
</td>
<td class="text-right">
{{ formatNumber($shopping_order->shopping_collect_order->shipping_tax) }} &euro;
</td>
</tr>
</tbody>
<tfoot>
<tr>
<tr class="border-bottom">
<td colspan="7">
</td>
</tr>
<tr class="border-bottom">
<td colspan="1">
Summen:
</td>
<td class="text-right" colspan="1">
<strong>{{ $shopping_order->shopping_collect_order->points }} <strong>
</td>
<td class="text-right">
</td>
<td class="text-right">
<strong>{{ $shopping_order->shopping_collect_order->qty_total }}</strong>
</td>
<td class="text-right">
<strong>{{ formatNumber($shopping_order->shopping_collect_order->price_total_net) }} &euro;</strong>
</td>
<td class="text-right">
</td>
<td class="text-right">
<strong>{{ formatNumber($shopping_order->shopping_collect_order->tax_total) }} &euro;</strong>
</td>
</tr>
<tr >
<td colspan="6">
<strong>Gesamte netto</strong>
</td>
<td class="text-right">
<strong>{{ formatNumber($shopping_order->shopping_collect_order->price_total_net) }} &euro;</strong>
</td>
</tr>
<tr class="border-bottom">
<td colspan="5">
zzgl. MwSt:
</td>
<td class="text-right" colspan="2">
@foreach ($shopping_order->shopping_collect_order->tax_split as $rate => $tax )
{{ $rate }}% = {{ formatNumber($tax) }} &euro; <br>
@endforeach
</td>
</tr>
<tr class="border-bottom">
<td colspan="6">
<strong>Gesamtsumme Brutto: </strong>
</td>
<td class="text-right">
<strong>{{ formatNumber($shopping_order->shopping_collect_order->price_total) }} &euro;</strong>
</td>
</tr>
</tr>
</tfoot>
</table>
</div>
<h5 class="mt-4">Sammelbestellung behinhaltet folgende Kundenbestellungen</h5>
<div class="card-datatable table-responsive pt-0">
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>#</th>
<th>{{__('Nummer') }}</th>
<th>{{__('Versand') }}</th>
<th>{{__('First name')}}</th>
<th>{{__('Last name')}}</th>
<th>{{__('E-Mail')}}</th>
<th>{{__('Datum')}}</th>
<th>{{__('Betrag')}}</th>
</tr>
</thead>
<tbody>
@foreach($shopping_order->shopping_collect_order->orders as $order)
@php($order = $shopping_order->shopping_collect_order->initShoppingOrder($order))
<tr>
<td><button type="button" class="btn icon-btn btn-sm btn-secondary" data-toggle="modal" data-target="#modals-load-content"
data-id="{{ $order['order_id'] }}"
data-action="shop-user-order-detail"
data-back=""
data-modal="modal-xl"
data-init_from="admin"
data-route="{{ route('modal_load') }}"><span class="far fa-eye"></span></button>
</td>
<td>{{ $order['order_id'] }}</td>
<td>
<span class="badge badge-pill badge-{{ $order['shopping_order']->getShippedColor() }}">{{ $order['shopping_order']->getShippedType() }}</span>
</td>
<td>{{ $order['shopping_order']->shopping_user->billing_firstname }}</td>
<td>{{ $order['shopping_order']->shopping_user->billing_lastname }}</td>
<td>{{ $order['shopping_order']->shopping_user->billing_email }}</td>
<td>{{ $order['shopping_order']->created_at->format("d.m.Y") }}</td>
<td>{{ $order['shopping_order']->getFormattedTotalShipping() }} &euro;</td>
</tr>
@endforeach
</tbody>
</table>
</div>

View file

@ -1,246 +1,112 @@
@if($homeparty_guest && $homeparty_guest->homeparty_user_order_items->count() || $homeparty_guest->is_host)
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>{{__('Bild')}}</th>
<th>{{__('Produkt')}}</th>
<th>{{__('Anzahl')}}</th>
<th>{{__('Marge')}}</th>
<th class="text-right">{{__('Points')}}</th>
<th class="text-right">{{__('Verdienst')}}</th>
<th class="text-right">{{__('VK-Preis')}}</th>
<th class="text-right">{{__('EK-Preis')}}</th>
</tr>
</thead>
<tbody>
@foreach($homeparty_guest->homeparty_user_order_items as $value)
<tr>
<td>
@if(count($value->product->images))
<img class="img-fluid img-extra" alt="" src="{{ route('product_image', [$value->product->images->first()->slug]) }}">
@endif
</td>
<td class="min-width-80">
<strong>{{ $value->product->name }}</strong>
<div class="text-body">
<div>Inhalt: {{ $value->product->contents }}</div>
<div>Art.-Nr.: {{ $value->product->number }}</div>
</div>
</td>
<td>
{{$value->qty}}
</td>
<td>
{{ $value->margin }}%
</td>
<td class="text-right">
{{ $value->getFormattedTotalPoints() }}
</td>
<td class="text-right">
{{ $value->getFormattedTotalIncomePrice() }} &euro;
</td>
<td class="text-right">
{{ $value->getFormattedTotalPrice() }} &euro;
</td>
<td class="text-right">
{{ $value->getFormattedTotalEKPrice() }} &euro;
</td>
</tr>
@endforeach
<style>
.table-small {
font-size: 0.9em;
width: auto;
}
</tbody>
<tfoot id="insert_show_bonus_host">
@php($user_cart = $homeparty->order['user_carts'][$homeparty_guest->id])
@php($hp_order = $homeparty->order)
.table-small td {
padding: 0.225rem 1rem 0.225rem 0;
}
@if(!$homeparty_guest->is_host)
<tr class="foot-small">
<td colspan="8" class="text-left">
@if($homeparty_guest->getDelivery() === 'host')
Lieferung an Gastgeber
@endif
@if($homeparty_guest->getDelivery() === 'direct')
Lieferung direkt an den Gast
@endif
</td>
</tr>
@if($homeparty_guest->getDelivery() === 'direct')
<tr>
<td colspan="5" class="text-left">Versandkosten</td>
<td>&nbsp;</td>
<td class="text-right">{{ Util::formatNumber($user_cart['shipping_price'])}} &euro;</td>
<td class="text-right">{{ Util::formatNumber($user_cart['shipping_price'])}} &euro;</td>
</tr>
@endif
.btn-md-extra {
padding: 0.3rem 0.6rem;
font-size: 0.8rem;
line-height: 1.5;
border-radius: 0.25rem;
}
<tr>
<td colspan="4" class="border-top"><strong>Gesamt:</strong></td>
<td class="border-top text-right"><strong>{{$user_cart['points']}}</strong></td>
<td class="border-top text-right"><strong>{{Util::formatNumber($user_cart['income_price'])}} &euro;</strong></td>
<td class="border-top text-right"><strong>{{Util::formatNumber($user_cart['price'])}} &euro;</strong></td>
<td class="border-top text-right"><strong>{{Util::formatNumber($user_cart['ek_price'])}} &euro;</strong></td>
</tr>
@else
@if($hp_order['is_bonus'])
<tr class="foot-small">
<td colspan="5" class="text-left">Gutschrift Homeparty Gutschein</td>
<td>&nbsp;</td>
<td class="text-right">- {{ Util::formatNumber($hp_order['bonus_value']) }} &euro;</td>
<td class="text-right">- {{ Util::formatNumber($hp_order['bonus_value']) }} &euro;</td>
</tr>
@endif
@if($hp_order['is_bonus_coupon'])
<tr class="foot-small">
<td colspan="5" class="text-left">Gutschrift Bonus</td>
<td>&nbsp;</td>
<td class="text-right">- {{ Util::formatNumber($hp_order['bonus_coupon']) }} &euro;</td>
<td class="text-right">- {{ Util::formatNumber($hp_order['bonus_coupon']) }} &euro;</td>
</tr>
@endif
@if($hp_order['is_bonus'])
<tr class="foot-small">
<td colspan="4" class="text-left">Abzug Points durch Gutschein</td>
<td class="text-right">- {{ $hp_order['bonus_points_diff'] }} </td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
@endif
<tr class="foot-small">
<td colspan="5" class="text-left">Versandkosten:</td>
<td>&nbsp;</td>
<td class="text-right">&nbsp;</td>
<td class="text-right">{{Util::formatNumber($user_cart['shipping_price'])}} &euro;</td>
</tr>
<tr>
<td colspan="4" class="border-top"><strong>Summen:</strong></td>
<td class="border-top text-right"><strong>{{$user_cart['points']}}</strong></td>
<td class="border-top text-right"><strong>{{Util::formatNumber($user_cart['income_price'])}} &euro;</strong></td>
<td class="border-top text-right"><strong>{{Util::formatNumber($user_cart['price'])}} &euro;</strong></td>
<td class="border-top text-right"><strong>{{Util::formatNumber($user_cart['ek_price'])}} &euro;</strong></td>
.md-btn-extra {
width: calc(1.7rem + 2px) !important;
line-height: 1.5rem;
}
</tr>
@endif
</tfoot>
</table>
</div>
.form-control.input-extra {
padding: 0.28rem 0.6rem;
font-size: 0.8rem;
font-weight: 500;
min-height: calc(1.8rem + 2px);
height: calc(1.8rem + 2px);
width: 44px;
}
@if($homeparty_guest->is_host || $homeparty_guest->getDelivery() === 'direct')
.input-group-min-w {
min-width: 102px;
}
<hr class="m-0">
<div class="card-body" style="background-color: #E5E9EF">
<h6 class="small font-weight-semibold">
Lieferadresse
</h6>
@if($homeparty_guest->same_as_billing)
<div class="row">
@if($homeparty_guest->billing_company)
<div class="col-md-12 mb-3">
<div class="text-muted small">Firma</div>
{{ $homeparty_guest->billing_company }}
</div>
@endif
.img-extra {
min-width: 55px;
max-height: 120px;
}
<div class="col-md-3 mb-3">
<div class="text-muted small">Anrede</div>
{{ \App\Services\HTMLHelper::getSalutationLang($homeparty_guest->billing_salutation) }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">Vorname</div>
{{ $homeparty_guest->billing_firstname }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">Nachname</div>
{{ $homeparty_guest->billing_lastname }}
</div>
</div>
<div class="row">
<div class="col-md-3 mb-3">
<div class="text-muted small">Straße</div>
{{ $homeparty_guest->billing_address }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">Zusatz</div>
{{ $homeparty_guest->billing_address_2 }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">PLZ</div>
{{ $homeparty_guest->billing_zipcode }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">Stadt</div>
{{ $homeparty_guest->billing_city }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">E-Mail</div>
{{ $homeparty_guest->billing_email }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">Telefon</div>
{{ $homeparty_guest->billing_phone }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">Land</div>
{{ $homeparty_guest->billing_country->getLocated() }}
</div>
</div>
@else
<div class="row">
@if($homeparty_guest->shipping_company)
<div class="col-md-12 mb-3">
<div class="text-muted small">Firma</div>
{{ $homeparty_guest->shipping_company }}
</div>
@endif
.table td.border-top {
border: none;
border-top: 1px solid #ccccdb;
}
<div class="col-md-3 mb-3">
<div class="text-muted small">Anrede</div>
{{ \App\Services\HTMLHelper::getSalutationLang($homeparty_guest->shipping_salutation) }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">Vorname</div>
{{ $homeparty_guest->shipping_firstname }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">Nachname</div>
{{ $homeparty_guest->shipping_lastname }}
</div>
</div>
<div class="row">
<div class="col-md-3 mb-3">
<div class="text-muted small">Straße</div>
{{ $homeparty_guest->shipping_address }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">Zusatz</div>
{{ $homeparty_guest->shipping_address_2 }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">PLZ</div>
{{ $homeparty_guest->shipping_zipcode }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">Stadt</div>
{{ $homeparty_guest->shipping_city }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">E-Mail</div>
{{ $homeparty_guest->shipping_email }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">Telefon</div>
{{ $homeparty_guest->shipping_phone }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">Land</div>
{{ $homeparty_guest->shipping_country->getLocated() }}
</div>
</div>
@endif
</div>
@endif
.table td {
border: none;
}
@else
<p>Keine Bestellung</p>
@endif
.table th {
border: none;
border-bottom: 1px solid #c3c3d2;
}
@media (max-width: 767px) {
.default-style:not([dir=rtl]) div.card-datatable table.dataTable thead th:first-child,
.default-style:not([dir=rtl]) div.card-datatable table.dataTable tbody td:first-child,
.default-style:not([dir=rtl]) div.card-datatable table.dataTable tfoot th:first-child {
padding-left: 0.6rem !important;
}
.img-extra {
min-width: 35px;
max-height: 160px;
}
}
.table .foot-small td {
padding: 0.225rem 0.625rem;
}
.table .text-body {
font-size: 0.9em;
}
.table .options a.auto-delete-product {
font-size: 0.7em;
font-weight: bold;
text-transform: uppercase;
}
.table .min-width-80 {
min-width: 160px;
}
</style>
@php($homeparty = $shopping_order->homeparty)
@if ($homeparty->homeparty_host)
<p><strong>Bestellung Gastgeber/in {{ $homeparty->homeparty_host->billing_firstname }}
{{ $homeparty->homeparty_host->billing_lastname }}</strong></p>
@include('admin.sales._detail_homparty_user', [
'homeparty' => $shopping_order->homeparty,
'homeparty_guest' => $homeparty->homeparty_host,
])
@endif
@if ($homeparty->homeparty_guests)
@php($g_count = 1)
@foreach ($homeparty->homeparty_guests as $homeparty_guest)
<hr>
<p><strong>Bestellung {!! $g_count++ !!}. Gast {{ $homeparty_guest->billing_firstname }}
{{ $homeparty_guest->billing_lastname }}</strong></p>
@include('admin.sales._detail_homparty_user', [
'homeparty' => $shopping_order->homeparty,
'homeparty_guest' => $homeparty_guest,
])
@endforeach
@endif
<hr>
@include('admin.sales._detail_homparty_total', ['homeparty' => $homeparty])

View file

@ -0,0 +1,246 @@
@if($homeparty_guest && $homeparty_guest->homeparty_user_order_items->count() || $homeparty_guest->is_host)
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>{{__('Bild')}}</th>
<th>{{__('Produkt')}}</th>
<th>{{__('Anzahl')}}</th>
<th>{{__('Marge')}}</th>
<th class="text-right">{{__('Points')}}</th>
<th class="text-right">{{__('Verdienst')}}</th>
<th class="text-right">{{__('VK-Preis')}}</th>
<th class="text-right">{{__('EK-Preis')}}</th>
</tr>
</thead>
<tbody>
@foreach($homeparty_guest->homeparty_user_order_items as $value)
<tr>
<td>
@if(count($value->product->images))
<img class="img-fluid img-extra" alt="" src="{{ route('product_image', [$value->product->images->first()->slug]) }}">
@endif
</td>
<td class="min-width-80">
<strong>{{ $value->product->name }}</strong>
<div class="text-body">
<div>Inhalt: {{ $value->product->contents }}</div>
<div>Art.-Nr.: {{ $value->product->number }}</div>
</div>
</td>
<td>
{{$value->qty}}
</td>
<td>
{{ $value->margin }}%
</td>
<td class="text-right">
{{ $value->getFormattedTotalPoints() }}
</td>
<td class="text-right">
{{ $value->getFormattedTotalIncomePrice() }} &euro;
</td>
<td class="text-right">
{{ $value->getFormattedTotalPrice() }} &euro;
</td>
<td class="text-right">
{{ $value->getFormattedTotalEKPrice() }} &euro;
</td>
</tr>
@endforeach
</tbody>
<tfoot id="insert_show_bonus_host">
@php($user_cart = $homeparty->order['user_carts'][$homeparty_guest->id])
@php($hp_order = $homeparty->order)
@if(!$homeparty_guest->is_host)
<tr class="foot-small">
<td colspan="8" class="text-left">
@if($homeparty_guest->getDelivery() === 'host')
Lieferung an Gastgeber
@endif
@if($homeparty_guest->getDelivery() === 'direct')
Lieferung direkt an den Gast
@endif
</td>
</tr>
@if($homeparty_guest->getDelivery() === 'direct')
<tr>
<td colspan="5" class="text-left">Versandkosten</td>
<td>&nbsp;</td>
<td class="text-right">{{ Util::formatNumber($user_cart['shipping_price'])}} &euro;</td>
<td class="text-right">{{ Util::formatNumber($user_cart['shipping_price'])}} &euro;</td>
</tr>
@endif
<tr>
<td colspan="4" class="border-top"><strong>Gesamt:</strong></td>
<td class="border-top text-right"><strong>{{$user_cart['points']}}</strong></td>
<td class="border-top text-right"><strong>{{Util::formatNumber($user_cart['income_price'])}} &euro;</strong></td>
<td class="border-top text-right"><strong>{{Util::formatNumber($user_cart['price'])}} &euro;</strong></td>
<td class="border-top text-right"><strong>{{Util::formatNumber($user_cart['ek_price'])}} &euro;</strong></td>
</tr>
@else
@if($hp_order['is_bonus'])
<tr class="foot-small">
<td colspan="5" class="text-left">Gutschrift Homeparty Gutschein</td>
<td>&nbsp;</td>
<td class="text-right">- {{ Util::formatNumber($hp_order['bonus_value']) }} &euro;</td>
<td class="text-right">- {{ Util::formatNumber($hp_order['bonus_value']) }} &euro;</td>
</tr>
@endif
@if($hp_order['is_bonus_coupon'])
<tr class="foot-small">
<td colspan="5" class="text-left">Gutschrift Bonus</td>
<td>&nbsp;</td>
<td class="text-right">- {{ Util::formatNumber($hp_order['bonus_coupon']) }} &euro;</td>
<td class="text-right">- {{ Util::formatNumber($hp_order['bonus_coupon']) }} &euro;</td>
</tr>
@endif
@if($hp_order['is_bonus'])
<tr class="foot-small">
<td colspan="4" class="text-left">Abzug Points durch Gutschein</td>
<td class="text-right">- {{ $hp_order['bonus_points_diff'] }} </td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
@endif
<tr class="foot-small">
<td colspan="5" class="text-left">Versandkosten:</td>
<td>&nbsp;</td>
<td class="text-right">&nbsp;</td>
<td class="text-right">{{Util::formatNumber($user_cart['shipping_price'])}} &euro;</td>
</tr>
<tr>
<td colspan="4" class="border-top"><strong>Summen:</strong></td>
<td class="border-top text-right"><strong>{{$user_cart['points']}}</strong></td>
<td class="border-top text-right"><strong>{{Util::formatNumber($user_cart['income_price'])}} &euro;</strong></td>
<td class="border-top text-right"><strong>{{Util::formatNumber($user_cart['price'])}} &euro;</strong></td>
<td class="border-top text-right"><strong>{{Util::formatNumber($user_cart['ek_price'])}} &euro;</strong></td>
</tr>
@endif
</tfoot>
</table>
</div>
@if($homeparty_guest->is_host || $homeparty_guest->getDelivery() === 'direct')
<hr class="m-0">
<div class="card-body" style="background-color: #E5E9EF">
<h6 class="small font-weight-semibold">
Lieferadresse
</h6>
@if($homeparty_guest->same_as_billing)
<div class="row">
@if($homeparty_guest->billing_company)
<div class="col-md-12 mb-3">
<div class="text-muted small">Firma</div>
{{ $homeparty_guest->billing_company }}
</div>
@endif
<div class="col-md-3 mb-3">
<div class="text-muted small">Anrede</div>
{{ \App\Services\HTMLHelper::getSalutationLang($homeparty_guest->billing_salutation) }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">Vorname</div>
{{ $homeparty_guest->billing_firstname }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">Nachname</div>
{{ $homeparty_guest->billing_lastname }}
</div>
</div>
<div class="row">
<div class="col-md-3 mb-3">
<div class="text-muted small">Straße</div>
{{ $homeparty_guest->billing_address }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">Zusatz</div>
{{ $homeparty_guest->billing_address_2 }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">PLZ</div>
{{ $homeparty_guest->billing_zipcode }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">Stadt</div>
{{ $homeparty_guest->billing_city }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">E-Mail</div>
{{ $homeparty_guest->billing_email }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">Telefon</div>
{{ $homeparty_guest->billing_phone }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">Land</div>
{{ $homeparty_guest->billing_country->getLocated() }}
</div>
</div>
@else
<div class="row">
@if($homeparty_guest->shipping_company)
<div class="col-md-12 mb-3">
<div class="text-muted small">Firma</div>
{{ $homeparty_guest->shipping_company }}
</div>
@endif
<div class="col-md-3 mb-3">
<div class="text-muted small">Anrede</div>
{{ \App\Services\HTMLHelper::getSalutationLang($homeparty_guest->shipping_salutation) }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">Vorname</div>
{{ $homeparty_guest->shipping_firstname }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">Nachname</div>
{{ $homeparty_guest->shipping_lastname }}
</div>
</div>
<div class="row">
<div class="col-md-3 mb-3">
<div class="text-muted small">Straße</div>
{{ $homeparty_guest->shipping_address }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">Zusatz</div>
{{ $homeparty_guest->shipping_address_2 }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">PLZ</div>
{{ $homeparty_guest->shipping_zipcode }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">Stadt</div>
{{ $homeparty_guest->shipping_city }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">E-Mail</div>
{{ $homeparty_guest->shipping_email }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">Telefon</div>
{{ $homeparty_guest->shipping_phone }}
</div>
<div class="col-md-3 mb-3">
<div class="text-muted small">Land</div>
{{ $homeparty_guest->shipping_country->getLocated() }}
</div>
</div>
@endif
</div>
@endif
@else
<p>Keine Bestellung</p>
@endif

View file

@ -0,0 +1,103 @@
<div class="table-responsive">
<table class="table table-product m-0" style="">
<tbody>
<tr class="border-bottom">
<th>Produkt</th>
<th class="text-right">
@if($shopping_order->shopping_user->is_from === 'user_order')
Netto-Preis
@else
Preis
@endif
</th>
<th class="text-right">Anzahl</th>
<th class="text-right">Summe</th>
</tr>
@foreach($shopping_order->shopping_order_items as $shopping_order_item)
<tr class="border-bottom">
<td class="px-3 py-2">
<div class="media align-items-center">
@if($shopping_order_item->product)
@if($shopping_order_item->product->images)
@if($image = $shopping_order_item->product->images->first())
<img src="{{ route('product_image', [$image->slug]) }}" class="d-block ui-w-80 mr-4" alt>
@endif
@endif
<div class="media-body">
<a href="{{route('admin_product_edit', [$shopping_order_item->product->id])}}" class="d-block">{{ $shopping_order_item->product->name }}
<span class="text-muted">#{{ $shopping_order_item->product->number }}</span></a>
<small>
<span class="text-muted">Inhalt: </span> {{ $shopping_order_item->product->contents }}<br>
<span class="text-muted">Gewicht: </span> {{ $shopping_order_item->product->weight }} g<br>
<span class="text-muted">Points: </span> {{ $shopping_order_item->product->points }}
</small>
</div>
@endif
</div>
</td>
<td class="align-middle px-3 py-2 nowrap text-right" style="min-width:100px;">
@if($shopping_order->shopping_user->is_from === 'user_order')
{{ $shopping_order_item->getFormattedPriceNet() }} &euro;
@else
{{ $shopping_order_item->getFormattedPrice() }} &euro;
@endif
</td>
<!-- Set column width -->
<td class="align-middle px-3 py-2 text-right" style="min-width: 60px;">
{{ $shopping_order_item->qty }}
</td>
<!-- Set column width -->
<td class="font-weight-semibold align-middle px-3 py-2 text-right" style="min-width:120px;">
@if($shopping_order->shopping_user->is_from === 'user_order')
{{ $shopping_order_item->getFormattedTotalPriceNet() }} &euro;
@else
{{ $shopping_order_item->getFormattedTotalPrice() }} &euro;
@endif
</td>
</tr>
@endforeach
</tbody>
<tfoot>
<tr class="border-bottom">
<td colspan="3">
{{__('email.checkout_mail_shipping')}}
</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">
@if($shopping_order->tax > 0)
{{ $shopping_order->getFormattedShipping() }} &euro;
@else
{{ $shopping_order->getFormattedShippingNet() }} &euro;
@endif
</td>
</tr>
<tr>
<td colspan="3">
{{__('email.checkout_mail_subtotal_ws')}}
</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">
{{ $shopping_order->getFormattedSubtotalWs() }} &euro;
</td>
</tr>
<tr class="border-bottom">
<td colspan="3">
{{__('email.checkout_mail_tax')}}
</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">
{{ $shopping_order->getFormattedTax() }} &euro;
</td>
</tr>
<tr>
<td colspan="3">
<b>{{__('email.checkout_mail_total')}}</b>
</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">
<b>{{ $shopping_order->getFormattedTotalShipping() }} &euro;</b>
<br>
<span style="font-size: 0.8em">{{__('email.checkout_mail_tax_info')}}</span>
</td>
</tr>
</tfoot>
</table>
</div>

View file

@ -177,110 +177,11 @@
<tr>
<td>
@if($shopping_order->shopping_user->is_from === 'homeparty')
@php($homeparty = $shopping_order->homeparty)
@if($homeparty->homeparty_host)
<p><strong>Bestellung Gastgeber/in {{$homeparty->homeparty_host->billing_firstname}} {{$homeparty->homeparty_host->billing_lastname}}</strong></p>
@include('emails.homeparty_detail', ['homeparty'=>$shopping_order->homeparty, 'homeparty_guest' => $homeparty->homeparty_host])
@endif
@if($homeparty->homeparty_guests)
@php($g_count = 1)
@foreach($homeparty->homeparty_guests as $homeparty_guest)
<hr>
<p><strong>Bestellung {!! $g_count++ !!}. Gast {{$homeparty_guest->billing_firstname}} {{$homeparty_guest->billing_lastname}}</strong></p>
@include('emails.homeparty_detail', ['homeparty'=>$shopping_order->homeparty, 'homeparty_guest' => $homeparty_guest])
@endforeach
@endif
<hr>
@include('emails.homeparty_detail_total', ['homeparty' => $homeparty])
@include('emails.homeparty_detail')
@elseif($shopping_order->shopping_collect_order)
@include('emails.collection_detail')
@else
<table style="padding: 20px; border:1px solid #eee; background-color: #f6fdf5;line-height:1.6em;" cellpadding="2" cellspacing="0" width="100%">
<tr>
<th style="color:#43413f; text-align: left; vertical-align: top;line-height:1.2em;">Produkt</th>
<th style="color:#43413f; text-align: center; vertical-align: top;line-height:1.2em;">
@if($shopping_order->shopping_user->is_from === 'user_order')
Netto-Preis
@else
Preis
@endif
</th>
<th style="color:#43413f; text-align: center; vertical-align: top;line-height:1.2em;">Anzahl</th>
<th style="color:#43413f; text-align: right; vertical-align: top;line-height:1.2em;">Summe</th>
</tr>
@foreach($shopping_order->shopping_order_items as $shopping_order_item)
<tr>
<td style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">
{{ $shopping_order_item->product->name }}
</td>
<td style="color:#37302d; text-align: center; vertical-align: top;line-height:1.6em;">
@if($shopping_order->shopping_user->is_from === 'user_order')
{{ $shopping_order_item->getFormattedPriceNet() }} &euro;
@else
{{ $shopping_order_item->getFormattedPrice() }} &euro;
@endif
</td>
<td style="color:#37302d; text-align: center; vertical-align: top; width: 10%;line-height:1.6em;">
{{ $shopping_order_item->qty }}
</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">
@if($shopping_order->shopping_user->is_from === 'user_order')
{{ $shopping_order_item->getFormattedTotalPriceNet() }} &euro;
@else
{{ $shopping_order_item->getFormattedTotalPrice() }} &euro;
@endif
</td>
</tr>
@endforeach
<tr>
<td colspan="4">
<hr>
</td>
</tr>
<tr>
<td colspan="3" style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">
{{__('email.checkout_mail_shipping')}}
</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">
@if($shopping_order->tax > 0)
{{ $shopping_order->getFormattedShipping() }} &euro;
@else
{{ $shopping_order->getFormattedShippingNet() }} &euro;
@endif
</td>
</tr>
<tr>
<td colspan="4">
<hr>
</td>
</tr>
<tr>
<td colspan="3" style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">
{{__('email.checkout_mail_subtotal_ws')}}
</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">
{{ $shopping_order->getFormattedSubtotalWs() }} &euro;
</td>
</tr>
<tr>
<td colspan="3" style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">
{{__('email.checkout_mail_tax')}}
</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">
{{ $shopping_order->getFormattedTax() }} &euro;
</td>
</tr>
<tr>
<td colspan="3" style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">
<b>{{__('email.checkout_mail_total')}}</b>
</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">
<b>{{ $shopping_order->getFormattedTotalShipping() }} &euro;</b>
<br>
<span style="font-size: 0.8em">{{__('email.checkout_mail_tax_info')}}</span>
</td>
</tr>
</table>
@include('emails.shopping_order_detail')
@endif
</td>
</tr>

View file

@ -220,113 +220,11 @@
<tr>
<td>
@if($shopping_order->shopping_user->is_from === 'homeparty')
@php($homeparty = $shopping_order->homeparty)
@if($homeparty->homeparty_host)
<p><strong>Bestellung Gastgeber/in {{$homeparty->homeparty_host->billing_firstname}} {{$homeparty->homeparty_host->billing_lastname}}</strong></p>
@include('emails.homeparty_detail', ['homeparty'=>$shopping_order->homeparty, 'homeparty_guest' => $homeparty->homeparty_host])
@endif
@if($homeparty->homeparty_guests)
@php($g_count = 1)
@foreach($homeparty->homeparty_guests as $homeparty_guest)
<hr>
<p><strong>Bestellung {!! $g_count++ !!}. Gast {{$homeparty_guest->billing_firstname}} {{$homeparty_guest->billing_lastname}}</strong></p>
@include('emails.homeparty_detail', ['homeparty'=>$shopping_order->homeparty, 'homeparty_guest' => $homeparty_guest])
@endforeach
@endif
<hr>
@include('emails.homeparty_detail_total', ['homeparty' => $homeparty])
@include('emails.homeparty_detail')
@elseif($shopping_order->shopping_collect_order)
@include('emails.collection_detail')
@else
<table style="padding: 20px; border:1px solid #eee; background-color: #f6fdf5;line-height:1.6em;" cellpadding="2" cellspacing="0" width="100%">
<tr>
<th style="color:#43413f; text-align: left; vertical-align: top;line-height:1.2em;">Produkt</th>
<th style="color:#43413f; text-align: center; vertical-align: top;line-height:1.2em;">
@if($shopping_order->shopping_user->is_from === 'user_order')
Netto-Preis
@else
Preis
@endif
</th>
<th style="color:#43413f; text-align: center; vertical-align: top;line-height:1.2em;">Anzahl</th>
<th style="color:#43413f; text-align: right; vertical-align: top;line-height:1.2em;">Summe</th>
</tr>
@foreach($shopping_order->shopping_order_items as $shopping_order_item)
<tr>
<td style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">
{{ $shopping_order_item->product->name }}
</td>
<td style="color:#37302d; text-align: center; vertical-align: top;line-height:1.6em;">
@if($shopping_order->shopping_user->is_from === 'user_order')
{{ $shopping_order_item->getFormattedPriceNet() }} &euro;
@else
{{ $shopping_order_item->getFormattedPrice() }} &euro;
@endif
</td>
<td style="color:#37302d; text-align: center; vertical-align: top; width: 10%;line-height:1.6em;">
{{ $shopping_order_item->qty }}
</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">
@if($shopping_order->shopping_user->is_from === 'user_order')
{{ $shopping_order_item->getFormattedTotalPriceNet() }} &euro;
@else
{{ $shopping_order_item->getFormattedTotalPrice() }} &euro;
@endif
</td>
</tr>
@endforeach
<tr>
<td colspan="4">
<hr>
</td>
</tr>
<tr>
<td colspan="3" style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">
{{__('email.checkout_mail_shipping')}}
</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">
@if($shopping_order->tax > 0)
{{ $shopping_order->getFormattedShipping() }} &euro;
@else
{{ $shopping_order->getFormattedShippingNet() }} &euro;
@endif
</td>
</tr>
<tr>
<td colspan="4">
<hr>
</td>
</tr>
<tr>
<td colspan="3" style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">
{{__('email.checkout_mail_subtotal_ws')}}
</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">
{{ $shopping_order->getFormattedSubtotalWs() }} &euro;
</td>
</tr>
<tr>
<td colspan="3" style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">
{{__('email.checkout_mail_tax')}}
</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">
{{ $shopping_order->getFormattedTax() }} &euro;
</td>
</tr>
<tr>
<td colspan="3" style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">
<b>{{__('email.checkout_mail_total')}}</b>
</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">
<b>{{ $shopping_order->getFormattedTotalShipping() }} &euro;</b>
<br>
<span style="font-size: 0.8em">{{__('email.checkout_mail_tax_info')}}</span>
</td>
</tr>
</table>
@include('emails.shopping_order_detail')
@endif
</td>
</tr>

View file

@ -0,0 +1,69 @@
<table style="padding: 20px; border:1px solid #eee; background-color: #f6fdf5;line-height:1.6em;" cellpadding="2" cellspacing="0" width="100%">
<tr>
<th style="color:#43413f; text-align: left; vertical-align: top;line-height:1.2em;">Produkt</th>
<th style="color:#43413f; text-align: center; vertical-align: top;line-height:1.2em;">Netto-Preis</th>
<th style="color:#43413f; text-align: center; vertical-align: top;line-height:1.2em;">Anzahl</th>
<th style="color:#43413f; text-align: right; vertical-align: top;line-height:1.2em;">Summe</th>
</tr>
@foreach($shopping_order->shopping_collect_order->shop_items as $key => $shop_item)
<tr>
<td style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">
{{$shop_item['name']}}
</td>
<td style="color:#37302d; text-align: center; vertical-align: top;line-height:1.6em;">
{{ formatNumber($shop_item['user_price_total_net']) }} &euro;
</td>
<td style="color:#37302d; text-align: center; vertical-align: top; width: 10%;line-height:1.6em;">
{{$shop_item['qty']}}
</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">
{{ formatNumber($shop_item['user_tax_total']) }} &euro;
</td>
</tr>
@endforeach
<tr>
<td style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">
Gesamte Versandkosten
</td>
<td style="color:#37302d; text-align: center; vertical-align: top;line-height:1.6em;">
</td>
<td style="color:#37302d; text-align: center; vertical-align: top; width: 10%;line-height:1.6em;">
1
</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">
{{ formatNumber($shopping_order->shopping_collect_order->shipping_net) }} &euro;
</td>
</tr>
<tr>
<td colspan="4">
<hr>
</td>
</tr>
<tr>
<td colspan="3" style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">
Summe
</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">
{{ formatNumber($shopping_order->shopping_collect_order->price_total_net) }} &euro;
</td>
</tr>
<tr>
<td colspan="3" style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">
zzgl. MwSt:
</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">
{{ formatNumber($shopping_order->shopping_collect_order->tax_total) }} &euro;
</td>
</tr>
<tr>
<td colspan="3" style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">
<b>Gesamtsumme Brutto:</b>
</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">
<b>{{ formatNumber($shopping_order->shopping_collect_order->price_total) }} &euro;</b>
<br>
<span style="font-size: 0.8em">{{__('email.checkout_mail_tax_info')}}</span>
</td>
</tr>
</table>

View file

@ -1,146 +1,17 @@
@if($homeparty_guest && $homeparty_guest->homeparty_user_order_items->count() || $homeparty_guest->is_host)
<table style="padding: 20px; border:1px solid #eee; background-color: #f6fdf5;line-height:1.6em;" cellpadding="2" cellspacing="0" width="100%">
<tr>
<th>{{__('Produkt')}}</th>
<th style="color:#37302d; text-align: right;">{{__('Anzahl')}}</th>
<th style="color:#37302d; text-align: right;">{{__('VK-Preis')}}</th>
<th style="color:#37302d; text-align: right;">{{__('EK-Preis')}}</th>
</tr>
@foreach($homeparty_guest->homeparty_user_order_items as $value)
<tr>
<td style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">
<strong>{{ $value->product->name }}</strong><br>
Art.-Nr.: {{ $value->product->number }}
</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">
{{$value->qty}}
</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">
{{ $value->getFormattedTotalPrice() }} &euro;
</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">
{{ $value->getFormattedTotalEKPrice() }} &euro;
</td>
</tr>
@endforeach
@php($user_cart = $homeparty->order['user_carts'][$homeparty_guest->id])
@php($hp_order = $homeparty->order)
@if(!$homeparty_guest->is_host)
<tr>
<td colspan="3" style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">
@if($homeparty_guest->getDelivery() === 'host')
Lieferung an Gastgeber
@endif
@if($homeparty_guest->getDelivery() === 'direct')
Lieferung direkt an den Gast
@endif
</td>
</tr>
@if($homeparty_guest->getDelivery() === 'direct')
<tr>
<td colspan="2" style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">Versandkosten</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">{{ Util::formatNumber($user_cart['shipping_price'])}} &euro;</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">{{ Util::formatNumber($user_cart['shipping_price'])}} &euro;</td>
</tr>
@endif
<tr>
<td colspan="2" style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;"><strong>Gesamt:</strong></td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;"><strong>{{Util::formatNumber($user_cart['price'])}} &euro;</strong></td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;"><strong>{{Util::formatNumber($user_cart['ek_price'])}} &euro;</strong></td>
</tr>
@else
@if($hp_order['is_bonus'])
<tr>
<td colspan="2" style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">Gutschrift Homeparty Gutschein</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">- {{ Util::formatNumber($hp_order['bonus_value']) }} &euro;</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">- {{ Util::formatNumber($hp_order['bonus_value']) }} &euro;</td>
</tr>
@endif
@if($hp_order['is_bonus_coupon'])
<tr>
<td colspan="2" style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">Gutschrift Bonus</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">- {{ Util::formatNumber($hp_order['bonus_coupon']) }} &euro;</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">- {{ Util::formatNumber($hp_order['bonus_coupon']) }} &euro;</td>
</tr>
@endif
@if($hp_order['is_bonus'])
@endif
<tr>
<td colspan="3" style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">Versandkosten:</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">{{Util::formatNumber($user_cart['shipping_price'])}} &euro;</td>
</tr>
<tr>
<td colspan="2" style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;"><strong>Summen:</strong></td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;"><strong>{{Util::formatNumber($user_cart['price'])}} &euro;</strong></td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;"><strong>{{Util::formatNumber($user_cart['ek_price'])}} &euro;</strong></td>
</tr>
@endif
</table>
@if($homeparty_guest->is_host || $homeparty_guest->getDelivery() === 'direct')
<table style="padding: 0px; border:1px solid #eee; background-color: #f6fdf5;line-height:1.6em;" cellpadding="2" cellspacing="0" width="100%">
<tr>
<td style="color:#37302d; ">
<table style="padding: 20px; border:1px solid #eee; background-color: #f6fdf5" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="color:#37302d;line-height:1.6em;">
@if($homeparty_guest->same_as_billing)
@if($homeparty_guest->billing_company)
{{ $homeparty_guest->billing_company }}<br>
@endif
{{ $homeparty_guest->billing_firstname }}
{{ $homeparty_guest->billing_lastname }} <br>
<br>
{{ $homeparty_guest->billing_address }} <br>
@if($homeparty_guest->billing_address_2)
{{ $homeparty_guest->billing_address_2 }}<br>
@endif
{{ $homeparty_guest->billing_zipcode }}
{{ $homeparty_guest->billing_city }} <br>
{{ $homeparty_guest->billing_country->getLocated() }} <br>
@if($homeparty_guest->billing_phone)
<br><br> {{ $homeparty_guest->billing_phone }}<br>
@endif
@else
@if($homeparty_guest->shipping_company)
{{ $homeparty_guest->shipping_company }}<br>
@endif
{{ $homeparty_guest->shipping_firstname }}
{{ $homeparty_guest->shipping_lastname }} <br>
<br>
{{ $homeparty_guest->shipping_address }} <br>
@if($homeparty_guest->shipping_address_2)
{{ $homeparty_guest->shipping_address_2 }}<br>
@endif
{{ $homeparty_guest->shipping_zipcode }}
{{ $homeparty_guest->shipping_city }} <br>
{{ $homeparty_guest->shipping_country->getLocated() }} <br>
@if($homeparty_guest->shipping_phone)
<br><br> {{ $homeparty_guest->shipping_phone }}<br>
@endif
@endif
</td>
</tr>
</table>
</td>
</tr>
</table>
@endif
@php($homeparty = $shopping_order->homeparty)
@if($homeparty->homeparty_host)
<p><strong>Bestellung Gastgeber/in {{$homeparty->homeparty_host->billing_firstname}} {{$homeparty->homeparty_host->billing_lastname}}</strong></p>
@include('emails.homeparty_detail_user', ['homeparty'=>$shopping_order->homeparty, 'homeparty_guest' => $homeparty->homeparty_host])
@endif
@if($homeparty->homeparty_guests)
@php($g_count = 1)
@foreach($homeparty->homeparty_guests as $homeparty_guest)
<hr>
<p><strong>Bestellung {!! $g_count++ !!}. Gast {{$homeparty_guest->billing_firstname}} {{$homeparty_guest->billing_lastname}}</strong></p>
@include('emails.homeparty_detail_user', ['homeparty'=>$shopping_order->homeparty, 'homeparty_guest' => $homeparty_guest])
@endforeach
@endif
<hr>
@include('emails.homeparty_detail_total', ['homeparty' => $homeparty])

View file

@ -0,0 +1,146 @@
@if($homeparty_guest && $homeparty_guest->homeparty_user_order_items->count() || $homeparty_guest->is_host)
<table style="padding: 20px; border:1px solid #eee; background-color: #f6fdf5;line-height:1.6em;" cellpadding="2" cellspacing="0" width="100%">
<tr>
<th>{{__('Produkt')}}</th>
<th style="color:#37302d; text-align: right;">{{__('Anzahl')}}</th>
<th style="color:#37302d; text-align: right;">{{__('VK-Preis')}}</th>
<th style="color:#37302d; text-align: right;">{{__('EK-Preis')}}</th>
</tr>
@foreach($homeparty_guest->homeparty_user_order_items as $value)
<tr>
<td style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">
<strong>{{ $value->product->name }}</strong><br>
Art.-Nr.: {{ $value->product->number }}
</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">
{{$value->qty}}
</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">
{{ $value->getFormattedTotalPrice() }} &euro;
</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">
{{ $value->getFormattedTotalEKPrice() }} &euro;
</td>
</tr>
@endforeach
@php($user_cart = $homeparty->order['user_carts'][$homeparty_guest->id])
@php($hp_order = $homeparty->order)
@if(!$homeparty_guest->is_host)
<tr>
<td colspan="3" style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">
@if($homeparty_guest->getDelivery() === 'host')
Lieferung an Gastgeber
@endif
@if($homeparty_guest->getDelivery() === 'direct')
Lieferung direkt an den Gast
@endif
</td>
</tr>
@if($homeparty_guest->getDelivery() === 'direct')
<tr>
<td colspan="2" style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">Versandkosten</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">{{ Util::formatNumber($user_cart['shipping_price'])}} &euro;</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">{{ Util::formatNumber($user_cart['shipping_price'])}} &euro;</td>
</tr>
@endif
<tr>
<td colspan="2" style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;"><strong>Gesamt:</strong></td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;"><strong>{{Util::formatNumber($user_cart['price'])}} &euro;</strong></td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;"><strong>{{Util::formatNumber($user_cart['ek_price'])}} &euro;</strong></td>
</tr>
@else
@if($hp_order['is_bonus'])
<tr>
<td colspan="2" style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">Gutschrift Homeparty Gutschein</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">- {{ Util::formatNumber($hp_order['bonus_value']) }} &euro;</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">- {{ Util::formatNumber($hp_order['bonus_value']) }} &euro;</td>
</tr>
@endif
@if($hp_order['is_bonus_coupon'])
<tr>
<td colspan="2" style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">Gutschrift Bonus</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">- {{ Util::formatNumber($hp_order['bonus_coupon']) }} &euro;</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">- {{ Util::formatNumber($hp_order['bonus_coupon']) }} &euro;</td>
</tr>
@endif
@if($hp_order['is_bonus'])
@endif
<tr>
<td colspan="3" style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">Versandkosten:</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">{{Util::formatNumber($user_cart['shipping_price'])}} &euro;</td>
</tr>
<tr>
<td colspan="2" style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;"><strong>Summen:</strong></td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;"><strong>{{Util::formatNumber($user_cart['price'])}} &euro;</strong></td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;"><strong>{{Util::formatNumber($user_cart['ek_price'])}} &euro;</strong></td>
</tr>
@endif
</table>
@if($homeparty_guest->is_host || $homeparty_guest->getDelivery() === 'direct')
<table style="padding: 0px; border:1px solid #eee; background-color: #f6fdf5;line-height:1.6em;" cellpadding="2" cellspacing="0" width="100%">
<tr>
<td style="color:#37302d; ">
<table style="padding: 20px; border:1px solid #eee; background-color: #f6fdf5" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="color:#37302d;line-height:1.6em;">
@if($homeparty_guest->same_as_billing)
@if($homeparty_guest->billing_company)
{{ $homeparty_guest->billing_company }}<br>
@endif
{{ $homeparty_guest->billing_firstname }}
{{ $homeparty_guest->billing_lastname }} <br>
<br>
{{ $homeparty_guest->billing_address }} <br>
@if($homeparty_guest->billing_address_2)
{{ $homeparty_guest->billing_address_2 }}<br>
@endif
{{ $homeparty_guest->billing_zipcode }}
{{ $homeparty_guest->billing_city }} <br>
{{ $homeparty_guest->billing_country->getLocated() }} <br>
@if($homeparty_guest->billing_phone)
<br><br> {{ $homeparty_guest->billing_phone }}<br>
@endif
@else
@if($homeparty_guest->shipping_company)
{{ $homeparty_guest->shipping_company }}<br>
@endif
{{ $homeparty_guest->shipping_firstname }}
{{ $homeparty_guest->shipping_lastname }} <br>
<br>
{{ $homeparty_guest->shipping_address }} <br>
@if($homeparty_guest->shipping_address_2)
{{ $homeparty_guest->shipping_address_2 }}<br>
@endif
{{ $homeparty_guest->shipping_zipcode }}
{{ $homeparty_guest->shipping_city }} <br>
{{ $homeparty_guest->shipping_country->getLocated() }} <br>
@if($homeparty_guest->shipping_phone)
<br><br> {{ $homeparty_guest->shipping_phone }}<br>
@endif
@endif
</td>
</tr>
</table>
</td>
</tr>
</table>
@endif
@endif

View file

@ -0,0 +1,87 @@
<table style="padding: 20px; border:1px solid #eee; background-color: #f6fdf5;line-height:1.6em;" cellpadding="2" cellspacing="0" width="100%">
<tr>
<th style="color:#43413f; text-align: left; vertical-align: top;line-height:1.2em;">Produkt</th>
<th style="color:#43413f; text-align: center; vertical-align: top;line-height:1.2em;">
@if($shopping_order->shopping_user->is_from === 'user_order')
Netto-Preis
@else
Preis
@endif
</th>
<th style="color:#43413f; text-align: center; vertical-align: top;line-height:1.2em;">Anzahl</th>
<th style="color:#43413f; text-align: right; vertical-align: top;line-height:1.2em;">Summe</th>
</tr>
@foreach($shopping_order->shopping_order_items as $shopping_order_item)
<tr>
<td style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">
{{ $shopping_order_item->product->name }}
</td>
<td style="color:#37302d; text-align: center; vertical-align: top;line-height:1.6em;">
@if($shopping_order->shopping_user->is_from === 'user_order')
{{ $shopping_order_item->getFormattedPriceNet() }} &euro;
@else
{{ $shopping_order_item->getFormattedPrice() }} &euro;
@endif
</td>
<td style="color:#37302d; text-align: center; vertical-align: top; width: 10%;line-height:1.6em;">
{{ $shopping_order_item->qty }}
</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">
@if($shopping_order->shopping_user->is_from === 'user_order')
{{ $shopping_order_item->getFormattedTotalPriceNet() }} &euro;
@else
{{ $shopping_order_item->getFormattedTotalPrice() }} &euro;
@endif
</td>
</tr>
@endforeach
<tr>
<td colspan="4">
<hr>
</td>
</tr>
<tr>
<td colspan="3" style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">
{{__('email.checkout_mail_shipping')}}
</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">
@if($shopping_order->tax > 0)
{{ $shopping_order->getFormattedShipping() }} &euro;
@else
{{ $shopping_order->getFormattedShippingNet() }} &euro;
@endif
</td>
</tr>
<tr>
<td colspan="4">
<hr>
</td>
</tr>
<tr>
<td colspan="3" style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">
{{__('email.checkout_mail_subtotal_ws')}}
</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">
{{ $shopping_order->getFormattedSubtotalWs() }} &euro;
</td>
</tr>
<tr>
<td colspan="3" style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">
{{__('email.checkout_mail_tax')}}
</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">
{{ $shopping_order->getFormattedTax() }} &euro;
</td>
</tr>
<tr>
<td colspan="3" style="color:#37302d; text-align: left; vertical-align: top;line-height:1.6em;">
<b>{{__('email.checkout_mail_total')}}</b>
</td>
<td style="color:#37302d; text-align: right; vertical-align: top;line-height:1.6em;">
<b>{{ $shopping_order->getFormattedTotalShipping() }} &euro;</b>
<br>
<span style="font-size: 0.8em">{{__('email.checkout_mail_tax_info')}}</span>
</td>
</tr>
</table>

View file

@ -0,0 +1,134 @@
<div id="invoice_box">
<table>
<thead>
<tr>
<th class="text-left" style="width: 5%">
<span class="no-line-break">Artikel-Nr.</span>
</th>
<th class="text-left" style="width: 10%">Bezeichnung</th>
<th class="text-right" style="width: 10%">Points</th>
<th class="text-right" style="width: 15%">
<span class="no-line-break">E-Preis*</span>
</th>
<th class="text-right" style="width: 5%">Menge</th>
<th class="text-right" style="max-width: 15%">
<span class="no-line-break">Summe*</span>
</th>
<th class="text-right" style="max-width: 5%">{{__('%')}}</th>
<th class="text-right" style="max-width: 10%">{{__('MwSt')}}</th>
</tr>
</thead>
<tbody>
@foreach($shopping_order->shopping_collect_order->shop_items as $key => $shop_item)
<tr class="item">
<td class="small text-left">
{{ $shop_item['number'] }}
</td>
<td class="small text-left">
{{$shop_item['name']}}
</td>
<td class="text-right small">
{{$shop_item['points_total']}}
</td>
<td class="text-right small">
{{ formatNumber($shop_item['user_price_net']) }} &euro;
</td>
<td class="text-right small">
{{$shop_item['qty']}}
</td>
<td class="text-right small">
{{ formatNumber($shop_item['user_price_total_net']) }} &euro;
</td>
<td class="text-right small">
{{ formatNumber($shop_item['tax_rate'], 0) }}
</td>
<td class="text-right small">
{{ formatNumber($shop_item['user_tax_total']) }} &euro;
</td>
</tr>
@endforeach
<tr>
<td class="">
</td>
<td class="text-left" colspan="3">
Gesamte Versandkosten
</td>
<td class="text-right small">
1
</td>
<td class="text-right small">
{{ formatNumber($shopping_order->shopping_collect_order->shipping_net) }} &euro;
</td>
<td class="text-right small">
</td>
<td class="text-right small">
{{ formatNumber($shopping_order->shopping_collect_order->shipping_tax) }} &euro;
</td>
</tr>
</tbody>
<tfoot>
<tr class="fullline">
<td class="text-right">&nbsp;</td>
<td class="text-left">
<b>Summen</b>
</td>
<td class="text-right">
<strong>{{ $shopping_order->shopping_collect_order->points }} <strong>
</td>
<td class="text-right">
</td>
<td class="text-right">
<strong>{{ $shopping_order->shopping_collect_order->qty_total }}</strong>
</td>
<td class="text-right">
<span class="no-line-break">
<strong>{{ formatNumber($shopping_order->shopping_collect_order->price_total_net) }} &euro;</strong>
</span>
</td>
<td class="text-right">
</td>
<td class="text-right">
<span class="no-line-break">
<strong>{{ formatNumber($shopping_order->shopping_collect_order->tax_total) }} &euro;</strong>
</span>
</td>
</tr>
<tr class="fullline">
<td class="text-right">&nbsp;</td>
<td class="text-left" colspan="5">
{{__('email.checkout_mail_subtotal_ws')}}
</td>
<td class="text-right" colspan="2">
{{ formatNumber($shopping_order->shopping_collect_order->price_total_net) }} &euro;
</td>
</tr>
@foreach ($shopping_order->shopping_collect_order->tax_split as $tax_rate => $tax)
<tr class="">
<td class="text-right">&nbsp;</td>
<td class="text-left" colspan="5">
zzgl. {{ $tax_rate }}% MwSt
</td>
<td class="text-right" colspan="2">
{{ formatNumber($tax) }} &euro;
</td>
</tr>
@endforeach
<tr class="fullline">
<td class="text-right">&nbsp;</td>
<td class="text-left" colspan="5">
<b>Summe inkl. der gesetzlichen MwSt.</b>
</td>
<td class="text-right" colspan="2">
<span class="no-line-break">
<b>{{ formatNumber($shopping_order->shopping_collect_order->price_total) }} &euro;</b>
</span>
</td>
</tr>
</tfoot>
</table>
</div>

View file

@ -0,0 +1,154 @@
<style>
#invoice_journal_box {
position: relative;
padding-top: 0mm;
margin-left: 15mm;
width: 180mm;
line-height: 10pt;
font-size: 8pt;
}
.client_order_box {
position: relative;
padding-bottom: 20px;
}
#invoice_journal_box table {
width: 100%;
border-collapse: collapse;
}
.client_order_box, {
page-break-inside: avoid;
}
#invoice_journal_box table tr td, #invoice_journal_box table tr th {
vertical-align: top;
padding-top: 1mm;
padding-bottom: 1mm;
padding-left: 1.5mm;
padding-right: 1.5mm;
border-top: 0.5pt dotted #1a1a18;
font-size: 8pt;
}
#invoice_journal_box table tfoot tr td {
border-top: none;
}
#invoice_journal_box table tfoot tr.fullline td {
border-top: 0.3pt solid #575755;
}
#invoice_journal_box table tfoot tr td {
padding-top: 0.8mm;
padding-bottom: 0.8mm;
}
#invoice_journal_box table tr.small td, #invoice_journal_box table tfoot tr.small td {
font-size: 7.5pt;
padding-top: 0.5mm;
padding-bottom: 0.5mm;
}
#invoice_journal_box table tr.bg-grey td {
background-color: rgb(195, 195, 195);
}
</style>
<div id="invoice_journal_box">
<h4>Sammelbestellung behinhaltet folgende Kundenbestellungen</h4>
@if($shopping_order->shopping_collect_order)
@foreach($shopping_order->shopping_collect_order->orders as $order)
@php($order = $shopping_order->shopping_collect_order->initShoppingOrder($order))
<div class="client_order_box">
<table>
<thead>
<tr class="bg-grey">
<td colspan="4">
<b>Bestellnummer: {{ $order['order_id'] }}</b> |
WP Number: {{ $order['wp_order_number'] }} |
Points: {{ $order['shopping_order']->points }}
</td>
</tr>
<tr class="bg-grey">
<td colspan="4">
Rechnungsadresse: {{ $order['billing_address'] }}
</td>
</tr>
<tr class="bg-grey">
<td colspan="4">
Lieferadresse: {{ $order['shipping_address'] }}
</td>
</tr>
<tr class="">
<th class="text-left">Produkt</th>
<th class="text-right">VK-Preis brutto</th>
<th class="text-right">Anzahl</th>
<th class="text-right">Summe</th>
</tr>
</thead>
<tbody>
@foreach($order['shopping_order']->shopping_order_items as $shopping_order_item)
<tr class="">
<td class="text-left">
<strong>{{ $shopping_order_item->product->name }}</strong>
<span class="text-muted">#{{ $shopping_order_item->product->number }}</span>
</td>
<td class="text-right">
{{ $shopping_order_item->getFormattedPrice() }} &euro;
</td>
<td class="text-right">
{{ $shopping_order_item->qty }}
</td>
<td class="text-right">
{{ $shopping_order_item->getFormattedTotalPrice() }} &euro;
</td>
</tr>
@endforeach
</tbody>
<tfoot>
<tr class="fullline small">
<td colspan="3">{{__('email.checkout_mail_shipping')}} </td>
<td class="text-right">
{{ $order['shopping_order']->getFormattedShipping() }} &euro;
</td>
</tr>
<tr class="small">
<td colspan="3"> {{__('email.checkout_mail_subtotal_ws')}}</td>
<td class="text-right">
{{ $order['shopping_order']->getFormattedSubtotalWs() }} &euro;
</td>
</tr>
<tr class="small">
<td colspan="3">{{__('email.checkout_mail_tax')}}</td>
<td class="text-right">
{{ $order['shopping_order']->getFormattedTax() }} &euro;
</td>
</tr>
<tr class="fullline">
<td colspan="3"> <b>{{__('email.checkout_mail_total')}}</b></td>
<td class="text-right">
<b>{{ $order['shopping_order']->getFormattedTotalShipping() }} &euro;</b>
</td>
</tr>
</tfoot>
</table>
</div>
@endforeach
@endif
</div>

View file

@ -366,51 +366,58 @@
</div>
@if($shopping_order->homeparty)
@include('pdf.invoice-homeparty')
@elseif($shopping_order->shopping_collect_order)
@include('pdf.invoice-collection')
@else
@include('pdf.invoice-detail')
@endif
<div id="footer_box">
<div class="text">
<p>Zahlungsart: {{ $shopping_order->getLastShoppingPayment('getPaymentType') }} / Status der Rechnung: {{ App\Services\Payment::getFormattedTxaction($shopping_order->txaction) }}<br>
Lieferdatum entspricht dem Rechnungsdatum.
@if($shopping_order->tax == 0)
<br><span class="xsmall">* Preise netto</span>
@endif
</p>
@if($shopping_order->payment_for !== 6 && isset($shopping_order->shopping_user->auth_user))
<p>
@if(isset($shopping_order->shopping_user->auth_user->account->tax_identification_number))
USt-ID des Leistungsempfängers: {{ $shopping_order->shopping_user->auth_user->account->tax_identification_number }}<br>
<div class="text">
<p>Zahlungsart: {{ $shopping_order->getLastShoppingPayment('getPaymentType') }} / Status der Rechnung: {{ App\Services\Payment::getFormattedTxaction($shopping_order->txaction) }}<br>
Lieferdatum entspricht dem Rechnungsdatum.
@if($shopping_order->tax == 0 || $shopping_order->shopping_collect_order)
<br><span class="xsmall">* Preise netto</span>
@endif
</p>
@if($shopping_order->payment_for !== 6 && isset($shopping_order->shopping_user->auth_user))
<p>
@if(isset($shopping_order->shopping_user->auth_user->account->tax_identification_number))
USt-ID des Leistungsempfängers: {{ $shopping_order->shopping_user->auth_user->account->tax_identification_number }}<br>
@else
@if(isset($shopping_order->shopping_user->auth_user->account->tax_number))
USt-Nr. des Leistungsempfängers: {{ $shopping_order->shopping_user->auth_user->account->tax_number }}<br>
@endif
@else
@if(isset($shopping_order->shopping_user->auth_user->account->tax_number))
USt-Nr. des Leistungsempfängers: {{ $shopping_order->shopping_user->auth_user->account->tax_number }}<br>
@endif
@if(isset($user_reverse_charge) && $user_reverse_charge)
<span class="xsmall">Die Rechnung erfolgt ohne Umsatzsteuer, da vorliegend der Wechsel der Steuerschuldnerschaft (Reverse-Charge-Verfahren) greift.<br>
Die Umsatzsteuer ist vom Leistungsempfänger anzumelden und abzuführen.</span>
@endif
@if(isset($user_reverse_charge) && $user_reverse_charge)
<span class="xsmall">Die Rechnung erfolgt ohne Umsatzsteuer, da vorliegend der Wechsel der Steuerschuldnerschaft (Reverse-Charge-Verfahren) greift.<br>
Die Umsatzsteuer ist vom Leistungsempfänger anzumelden und abzuführen.</span>
@endif
</p>
@endif
@if($shopping_order->member)
<div class="dotted-line"></div>
<p>Bei Fragen sind wir jederzeit für Dich da.<br>
@if($shopping_order->member->shop && $shopping_order->member->isActiveShop())
@if($shopping_order->member->shop->title)
<b>{{ $shopping_order->member->shop->title }}</b><br>
@endif
@if($shopping_order->member->shop->contact)
{!! str_replace(array("\r\n", "\r", "\n"), "", $shopping_order->member->shop->contact) !!}<br>
@endif
<a href="{{ $shopping_order->member->shop->getSubdomain(true) }}">{{ $shopping_order->member->shop->getSubdomain(true) }}</a>
@else
Dein Berater: {{$shopping_order->member->getFullName()}}
@endif
</p>
@endif
@if($shopping_order->member)
<div class="dotted-line"></div>
<p>Bei Fragen sind wir jederzeit für Dich da.<br>
@if($shopping_order->member->shop && $shopping_order->member->isActiveShop())
@if($shopping_order->member->shop->title)
<b>{{ $shopping_order->member->shop->title }}</b><br>
@endif
@if($shopping_order->member->shop->contact)
{!! str_replace(array("\r\n", "\r", "\n"), "", $shopping_order->member->shop->contact) !!}<br>
@endif
<a href="{{ $shopping_order->member->shop->getSubdomain(true) }}">{{ $shopping_order->member->shop->getSubdomain(true) }}</a>
@else
Dein Berater: {{$shopping_order->member->getFullName()}}
@endif
</p>
@endif
</div>
@endif
</div>
</div>
@if($shopping_order->shopping_collect_order)
<div style="page-break-after: always"></div>
@include('pdf.invoice-journal-collection')
@endif
</body>
</html>

View file

@ -66,60 +66,57 @@
</tbody>
<tfoot>
<tr>
<tr>
<td colspan="7">
</td>
</tr>
<tr>
<td colspan="1">
Summen:
</td>
<td class="text-right" colspan="1">
<strong>{{ $shopApiOrderCart->points_total }} <strong>
</td>
<td class="text-right">
</td>
<td class="text-right">
<strong>{{ $shopApiOrderCart->qty_total }}</strong>
</td>
<td class="text-right">
<strong>{{ formatNumber($shopApiOrderCart->price_total_net) }} &euro;</strong>
</td>
<td class="text-right">
</td>
<td class="text-right">
<strong>{{ formatNumber($shopApiOrderCart->tax_total) }} &euro;</strong>
</td>
</tr>
<tr>
<td colspan="6">
<strong>Gesamte netto</strong>
</td>
<td class="text-right">
<strong>{{ formatNumber($shopApiOrderCart->price_total_net) }} &euro;</strong>
</td>
</tr>
<tr class="border-none td-small">
<td colspan="5">
zzgl. MwSt:
</td>
<td class="text-right" colspan="2">
@foreach ($shopApiOrderCart->tax_split as $rate => $tax )
{{ $rate }}% = {{ formatNumber($tax) }} &euro; <br>
@endforeach
</td>
</tr>
<tr>
<td colspan="6">
<strong>Gesamtsumme Brutto: </strong>
</td>
<td class="text-right">
<strong>{{ formatNumber($shopApiOrderCart->getTotalPrice()) }} &euro;<strong>
</td>
</tr>
<td colspan="7">
</td>
</tr>
<tr>
<td colspan="1">
Summen:
</td>
<td class="text-right" colspan="1">
<strong>{{ $shopApiOrderCart->points }} <strong>
</td>
<td class="text-right">
</td>
<td class="text-right">
<strong>{{ $shopApiOrderCart->qty_total }}</strong>
</td>
<td class="text-right">
<strong>{{ formatNumber($shopApiOrderCart->price_total_net) }} &euro;</strong>
</td>
<td class="text-right">
</td>
<td class="text-right">
<strong>{{ formatNumber($shopApiOrderCart->tax_total) }} &euro;</strong>
</td>
</tr>
<tr>
<td colspan="6">
<strong>Gesamte netto</strong>
</td>
<td class="text-right">
<strong>{{ formatNumber($shopApiOrderCart->price_total_net) }} &euro;</strong>
</td>
</tr>
<tr class="border-none td-small">
<td colspan="5">
zzgl. MwSt:
</td>
<td class="text-right" colspan="2">
@foreach ($shopApiOrderCart->tax_split as $rate => $tax )
{{ $rate }}% = {{ formatNumber($tax) }} &euro; <br>
@endforeach
</td>
</tr>
<tr>
<td colspan="6">
<strong>Gesamtsumme Brutto: </strong>
</td>
<td class="text-right">
<strong>{{ formatNumber($shopApiOrderCart->getTotalPrice()) }} &euro;</strong>
</td>
</tr>
</tfoot>
</table>

View file

@ -6,7 +6,6 @@
<div class="card">
<h5 class="card-header">
{{ __('Externe Bestellungen') }}
add api_action change wp_notice to api_notice
</h5>
<div class="card-body p-0">
@ -44,8 +43,8 @@
<thead>
<tr>
<th>#</th>
<th>{{__('Status') }}
<th>{{__('Versand') }}
<th>{{__('Status') }}</th>
<th>{{__('Versand') }}</th>
<th>{{__('First name')}}</th>
<th>{{__('Last name')}}</th>
<th>{{__('E-Mail')}}</th>

View file

@ -156,6 +156,8 @@
{!! Form::hidden('is_for', $shopping_user->is_for) !!}
{!! Form::hidden('is_from', $shopping_user->is_from) !!}
{!! Form::hidden('homeparty_id', $shopping_user->homeparty_id) !!}
{!! Form::hidden('shopping_collect_order_id', $shopping_user->shopping_collect_order_id) !!}
@if (\Session::has('elv-managemandate'))
@ -406,7 +408,7 @@
@endif
</div>
</div>
@if($shopping_user->is_from !== 'homeparty')
@if($shopping_user->is_from !== 'homeparty' && $shopping_user->is_from !== 'collection')
@if($shopping_user->is_from === 'membership' || $shopping_user->is_from === 'wizard')
{!! Form::hidden('same_as_billing', $shopping_user->same_as_billing) !!}
<div class="row" style="display: none">
@ -431,7 +433,7 @@
</div>
</div>
@endif
@endif
@endif
</fieldset>
<!-- /BILLING -->
@ -857,17 +859,18 @@
<span class="pull-left small">Versandkosten:</span>
</div>
@else
<div class="clearfix mb-2">
<span class="pull-right text-right">
<div class="no-line-break">{{ Yard::instance('shopping')->total() }} </div>
@if(Yard::instance('shopping')->isPriceCurrency())
<span class="small">~{{ Yard::instance('shopping')->getCurrencyByKey('total') }} {{ Yard::instance('shopping')->getPriceCurrencyUnit() }} </span>
@endif
</span>
<strong class="pull-left">Zwischensumme:</strong>
</div>
@if($shopping_user->is_from !== 'homeparty')
@if($shopping_user->is_from !== 'collection')
<div class="clearfix mb-2">
<span class="pull-right text-right">
<div class="no-line-break">{{ Yard::instance('shopping')->total() }} </div>
@if(Yard::instance('shopping')->isPriceCurrency())
<span class="small">~{{ Yard::instance('shopping')->getCurrencyByKey('total') }} {{ Yard::instance('shopping')->getPriceCurrencyUnit() }} </span>
@endif
</span>
<strong class="pull-left">Zwischensumme:</strong>
</div>
@endif
@if($shopping_user->is_from !== 'homeparty' && $shopping_user->is_from !== 'collection')
<hr class="mt-4 mb-4">
<div class="clearfix mb-2">
<span class="pull-right small text-right">
@ -882,43 +885,55 @@
@endif
@if($shopping_user->is_from !== 'homeparty')
<div class="clearfix mb-2">
<span class="pull-right small text-right">{{ Yard::instance('shopping')->getShippingCountryName() }}</span>
<span class="pull-left small">Lieferland:</span>
</div>
@if($shopping_user->is_from !== 'collection')
<div class="clearfix mb-2">
<span class="pull-right small text-right">{{ Yard::instance('shopping')->getShippingCountryName() }}</span>
<span class="pull-left small">Lieferland:</span>
</div>
<hr class="mt-4 mb-4">
<hr class="mt-4 mb-4">
<div class="clearfix mb-2" style="font-size: 90%">
<span class="pull-right small text-right">
<div class="no-line-break">{{ Yard::instance('shopping')->subtotalWithShipping() }} </div>
@if(Yard::instance('shopping')->isPriceCurrency())
<span class="small">~{{ Yard::instance('shopping')->getCurrencyByKey('subtotalWithShipping') }} {{ Yard::instance('shopping')->getPriceCurrencyUnit() }} </span>
@endif
</span>
<span class="pull-left small">Summe ohne MwSt:</span>
</div>
<div class="clearfix mb-2" style="font-size: 90%">
<span class="pull-right small text-right">
<div class="no-line-break">{{ Yard::instance('shopping')->subtotalWithShipping() }} </div>
@if(Yard::instance('shopping')->isPriceCurrency())
<span class="small">~{{ Yard::instance('shopping')->getCurrencyByKey('subtotalWithShipping') }} {{ Yard::instance('shopping')->getPriceCurrencyUnit() }} </span>
@endif
</span>
<span class="pull-left small">Summe ohne MwSt:</span>
</div>
<div class="clearfix mb-2" style="font-size: 90%">
<span class="pull-right small text-right">
<div class="no-line-break">{{ Yard::instance('shopping')->taxWithShipping() }} </div>
@if(Yard::instance('shopping')->isPriceCurrency())
<span class="small">~{{ Yard::instance('shopping')->getCurrencyByKey('taxWithShipping') }} {{ Yard::instance('shopping')->getPriceCurrencyUnit() }} </span>
@endif
</span>
<span class="pull-left small"> zzgl. {{-- Yard::getTaxRate() --}} MwSt:</span>
</div>
<hr />
<div class="clearfix mb-2" style="font-size: 90%">
<span class="pull-right small text-right">
<div class="no-line-break">{{ Yard::instance('shopping')->taxWithShipping() }} </div>
@if(Yard::instance('shopping')->isPriceCurrency())
<span class="small">~{{ Yard::instance('shopping')->getCurrencyByKey('taxWithShipping') }} {{ Yard::instance('shopping')->getPriceCurrencyUnit() }} </span>
@endif
</span>
<span class="pull-left small"> zzgl. {{-- Yard::getTaxRate() --}} MwSt:</span>
</div>
<hr />
<div class="clearfix">
<span class="pull-right size-20 text-right">
<strong><div class="no-line-break">{{ Yard::instance('shopping')->totalWithShipping() }} </div></strong>
@if(Yard::instance('shopping')->isPriceCurrency())
<span class="small">~{{ Yard::instance('shopping')->getCurrencyByKey('totalWithShipping') }} {{ Yard::instance('shopping')->getPriceCurrencyUnit() }} </span>
@endif
</span>
<strong class="pull-left">Gesamtsumme:</strong>
</div>
<div class="clearfix">
<span class="pull-right size-20 text-right">
<strong><div class="no-line-break">{{ Yard::instance('shopping')->totalWithShipping() }} </div></strong>
@if(Yard::instance('shopping')->isPriceCurrency())
<span class="small">~{{ Yard::instance('shopping')->getCurrencyByKey('totalWithShipping') }} {{ Yard::instance('shopping')->getPriceCurrencyUnit() }} </span>
@endif
</span>
<strong class="pull-left">Gesamtsumme:</strong>
</div>
@else
<div class="clearfix">
<span class="pull-right size-20 text-right">
<strong><div class="no-line-break">{{ Yard::instance('shopping')->totalWithShipping() }} </div></strong>
@if(Yard::instance('shopping')->isPriceCurrency())
<span class="small">~{{ Yard::instance('shopping')->getCurrencyByKey('totalWithShipping') }} {{ Yard::instance('shopping')->getPriceCurrencyUnit() }} </span>
@endif
</span>
<strong class="pull-left">Gesamtsumme:</strong>
</div>
@endif
@else
<hr class="mt-4 mb-4">
@if(!$shopping_data['user_tax_free'])

View file

@ -0,0 +1,572 @@
<?php return array (
'codeToName' =>
array (
32 => 'space',
160 => 'space',
33 => 'exclam',
34 => 'quotedbl',
35 => 'numbersign',
36 => 'dollar',
37 => 'percent',
38 => 'ampersand',
146 => 'quoteright',
40 => 'parenleft',
41 => 'parenright',
42 => 'asterisk',
43 => 'plus',
44 => 'comma',
45 => 'hyphen',
173 => 'hyphen',
46 => 'period',
47 => 'slash',
48 => 'zero',
49 => 'one',
50 => 'two',
51 => 'three',
52 => 'four',
53 => 'five',
54 => 'six',
55 => 'seven',
56 => 'eight',
57 => 'nine',
58 => 'colon',
59 => 'semicolon',
60 => 'less',
61 => 'equal',
62 => 'greater',
63 => 'question',
64 => 'at',
65 => 'A',
66 => 'B',
67 => 'C',
68 => 'D',
69 => 'E',
70 => 'F',
71 => 'G',
72 => 'H',
73 => 'I',
74 => 'J',
75 => 'K',
76 => 'L',
77 => 'M',
78 => 'N',
79 => 'O',
80 => 'P',
81 => 'Q',
82 => 'R',
83 => 'S',
84 => 'T',
85 => 'U',
86 => 'V',
87 => 'W',
88 => 'X',
89 => 'Y',
90 => 'Z',
91 => 'bracketleft',
92 => 'backslash',
93 => 'bracketright',
94 => 'asciicircum',
95 => 'underscore',
145 => 'quoteleft',
97 => 'a',
98 => 'b',
99 => 'c',
100 => 'd',
101 => 'e',
102 => 'f',
103 => 'g',
104 => 'h',
105 => 'i',
106 => 'j',
107 => 'k',
108 => 'l',
109 => 'm',
110 => 'n',
111 => 'o',
112 => 'p',
113 => 'q',
114 => 'r',
115 => 's',
116 => 't',
117 => 'u',
118 => 'v',
119 => 'w',
120 => 'x',
121 => 'y',
122 => 'z',
123 => 'braceleft',
124 => 'bar',
125 => 'braceright',
126 => 'asciitilde',
161 => 'exclamdown',
162 => 'cent',
163 => 'sterling',
165 => 'yen',
131 => 'florin',
167 => 'section',
164 => 'currency',
39 => 'quotesingle',
147 => 'quotedblleft',
171 => 'guillemotleft',
139 => 'guilsinglleft',
155 => 'guilsinglright',
150 => 'endash',
134 => 'dagger',
135 => 'daggerdbl',
183 => 'periodcentered',
182 => 'paragraph',
149 => 'bullet',
130 => 'quotesinglbase',
132 => 'quotedblbase',
148 => 'quotedblright',
187 => 'guillemotright',
133 => 'ellipsis',
137 => 'perthousand',
191 => 'questiondown',
96 => 'grave',
180 => 'acute',
136 => 'circumflex',
152 => 'tilde',
175 => 'macron',
168 => 'dieresis',
184 => 'cedilla',
151 => 'emdash',
198 => 'AE',
170 => 'ordfeminine',
216 => 'Oslash',
140 => 'OE',
186 => 'ordmasculine',
230 => 'ae',
248 => 'oslash',
156 => 'oe',
223 => 'germandbls',
207 => 'Idieresis',
233 => 'eacute',
159 => 'Ydieresis',
247 => 'divide',
221 => 'Yacute',
194 => 'Acircumflex',
225 => 'aacute',
219 => 'Ucircumflex',
253 => 'yacute',
234 => 'ecircumflex',
220 => 'Udieresis',
218 => 'Uacute',
203 => 'Edieresis',
169 => 'copyright',
229 => 'aring',
224 => 'agrave',
227 => 'atilde',
154 => 'scaron',
237 => 'iacute',
251 => 'ucircumflex',
226 => 'acircumflex',
231 => 'ccedilla',
222 => 'Thorn',
179 => 'threesuperior',
210 => 'Ograve',
192 => 'Agrave',
215 => 'multiply',
250 => 'uacute',
255 => 'ydieresis',
238 => 'icircumflex',
202 => 'Ecircumflex',
228 => 'adieresis',
235 => 'edieresis',
205 => 'Iacute',
177 => 'plusminus',
166 => 'brokenbar',
174 => 'registered',
200 => 'Egrave',
142 => 'Zcaron',
208 => 'Eth',
199 => 'Ccedilla',
193 => 'Aacute',
196 => 'Adieresis',
232 => 'egrave',
211 => 'Oacute',
243 => 'oacute',
239 => 'idieresis',
212 => 'Ocircumflex',
217 => 'Ugrave',
254 => 'thorn',
178 => 'twosuperior',
214 => 'Odieresis',
181 => 'mu',
236 => 'igrave',
190 => 'threequarters',
153 => 'trademark',
204 => 'Igrave',
189 => 'onehalf',
244 => 'ocircumflex',
241 => 'ntilde',
201 => 'Eacute',
188 => 'onequarter',
138 => 'Scaron',
176 => 'degree',
242 => 'ograve',
249 => 'ugrave',
209 => 'Ntilde',
245 => 'otilde',
195 => 'Atilde',
197 => 'Aring',
213 => 'Otilde',
206 => 'Icircumflex',
172 => 'logicalnot',
246 => 'odieresis',
252 => 'udieresis',
240 => 'eth',
158 => 'zcaron',
185 => 'onesuperior',
128 => 'Euro',
),
'isUnicode' => false,
'FontName' => 'Courier-Bold',
'FullName' => 'Courier Bold',
'FamilyName' => 'Courier',
'Weight' => 'Bold',
'ItalicAngle' => '0',
'IsFixedPitch' => 'true',
'CharacterSet' => 'ExtendedRoman',
'FontBBox' =>
array (
0 => '-113',
1 => '-250',
2 => '749',
3 => '801',
),
'UnderlinePosition' => '-100',
'UnderlineThickness' => '50',
'Version' => '003.000',
'EncodingScheme' => 'WinAnsiEncoding',
'CapHeight' => '562',
'XHeight' => '439',
'Ascender' => '629',
'Descender' => '-157',
'StdHW' => '84',
'StdVW' => '106',
'StartCharMetrics' => '317',
'C' =>
array (
32 => 600.0,
160 => 600.0,
33 => 600.0,
34 => 600.0,
35 => 600.0,
36 => 600.0,
37 => 600.0,
38 => 600.0,
146 => 600.0,
40 => 600.0,
41 => 600.0,
42 => 600.0,
43 => 600.0,
44 => 600.0,
45 => 600.0,
173 => 600.0,
46 => 600.0,
47 => 600.0,
48 => 600.0,
49 => 600.0,
50 => 600.0,
51 => 600.0,
52 => 600.0,
53 => 600.0,
54 => 600.0,
55 => 600.0,
56 => 600.0,
57 => 600.0,
58 => 600.0,
59 => 600.0,
60 => 600.0,
61 => 600.0,
62 => 600.0,
63 => 600.0,
64 => 600.0,
65 => 600.0,
66 => 600.0,
67 => 600.0,
68 => 600.0,
69 => 600.0,
70 => 600.0,
71 => 600.0,
72 => 600.0,
73 => 600.0,
74 => 600.0,
75 => 600.0,
76 => 600.0,
77 => 600.0,
78 => 600.0,
79 => 600.0,
80 => 600.0,
81 => 600.0,
82 => 600.0,
83 => 600.0,
84 => 600.0,
85 => 600.0,
86 => 600.0,
87 => 600.0,
88 => 600.0,
89 => 600.0,
90 => 600.0,
91 => 600.0,
92 => 600.0,
93 => 600.0,
94 => 600.0,
95 => 600.0,
145 => 600.0,
97 => 600.0,
98 => 600.0,
99 => 600.0,
100 => 600.0,
101 => 600.0,
102 => 600.0,
103 => 600.0,
104 => 600.0,
105 => 600.0,
106 => 600.0,
107 => 600.0,
108 => 600.0,
109 => 600.0,
110 => 600.0,
111 => 600.0,
112 => 600.0,
113 => 600.0,
114 => 600.0,
115 => 600.0,
116 => 600.0,
117 => 600.0,
118 => 600.0,
119 => 600.0,
120 => 600.0,
121 => 600.0,
122 => 600.0,
123 => 600.0,
124 => 600.0,
125 => 600.0,
126 => 600.0,
161 => 600.0,
162 => 600.0,
163 => 600.0,
'fraction' => 600.0,
165 => 600.0,
131 => 600.0,
167 => 600.0,
164 => 600.0,
39 => 600.0,
147 => 600.0,
171 => 600.0,
139 => 600.0,
155 => 600.0,
'fi' => 600.0,
'fl' => 600.0,
150 => 600.0,
134 => 600.0,
135 => 600.0,
183 => 600.0,
182 => 600.0,
149 => 600.0,
130 => 600.0,
132 => 600.0,
148 => 600.0,
187 => 600.0,
133 => 600.0,
137 => 600.0,
191 => 600.0,
96 => 600.0,
180 => 600.0,
136 => 600.0,
152 => 600.0,
175 => 600.0,
'breve' => 600.0,
'dotaccent' => 600.0,
168 => 600.0,
'ring' => 600.0,
184 => 600.0,
'hungarumlaut' => 600.0,
'ogonek' => 600.0,
'caron' => 600.0,
151 => 600.0,
198 => 600.0,
170 => 600.0,
'Lslash' => 600.0,
216 => 600.0,
140 => 600.0,
186 => 600.0,
230 => 600.0,
'dotlessi' => 600.0,
'lslash' => 600.0,
248 => 600.0,
156 => 600.0,
223 => 600.0,
207 => 600.0,
233 => 600.0,
'abreve' => 600.0,
'uhungarumlaut' => 600.0,
'ecaron' => 600.0,
159 => 600.0,
247 => 600.0,
221 => 600.0,
194 => 600.0,
225 => 600.0,
219 => 600.0,
253 => 600.0,
'scommaaccent' => 600.0,
234 => 600.0,
'Uring' => 600.0,
220 => 600.0,
'aogonek' => 600.0,
218 => 600.0,
'uogonek' => 600.0,
203 => 600.0,
'Dcroat' => 600.0,
'commaaccent' => 600.0,
169 => 600.0,
'Emacron' => 600.0,
'ccaron' => 600.0,
229 => 600.0,
'Ncommaaccent' => 600.0,
'lacute' => 600.0,
224 => 600.0,
'Tcommaaccent' => 600.0,
'Cacute' => 600.0,
227 => 600.0,
'Edotaccent' => 600.0,
154 => 600.0,
'scedilla' => 600.0,
237 => 600.0,
'lozenge' => 600.0,
'Rcaron' => 600.0,
'Gcommaaccent' => 600.0,
251 => 600.0,
226 => 600.0,
'Amacron' => 600.0,
'rcaron' => 600.0,
231 => 600.0,
'Zdotaccent' => 600.0,
222 => 600.0,
'Omacron' => 600.0,
'Racute' => 600.0,
'Sacute' => 600.0,
'dcaron' => 600.0,
'Umacron' => 600.0,
'uring' => 600.0,
179 => 600.0,
210 => 600.0,
192 => 600.0,
'Abreve' => 600.0,
215 => 600.0,
250 => 600.0,
'Tcaron' => 600.0,
'partialdiff' => 600.0,
255 => 600.0,
'Nacute' => 600.0,
238 => 600.0,
202 => 600.0,
228 => 600.0,
235 => 600.0,
'cacute' => 600.0,
'nacute' => 600.0,
'umacron' => 600.0,
'Ncaron' => 600.0,
205 => 600.0,
177 => 600.0,
166 => 600.0,
174 => 600.0,
'Gbreve' => 600.0,
'Idotaccent' => 600.0,
'summation' => 600.0,
200 => 600.0,
'racute' => 600.0,
'omacron' => 600.0,
'Zacute' => 600.0,
142 => 600.0,
'greaterequal' => 600.0,
208 => 600.0,
199 => 600.0,
'lcommaaccent' => 600.0,
'tcaron' => 600.0,
'eogonek' => 600.0,
'Uogonek' => 600.0,
193 => 600.0,
196 => 600.0,
232 => 600.0,
'zacute' => 600.0,
'iogonek' => 600.0,
211 => 600.0,
243 => 600.0,
'amacron' => 600.0,
'sacute' => 600.0,
239 => 600.0,
212 => 600.0,
217 => 600.0,
'Delta' => 600.0,
254 => 600.0,
178 => 600.0,
214 => 600.0,
181 => 600.0,
236 => 600.0,
'ohungarumlaut' => 600.0,
'Eogonek' => 600.0,
'dcroat' => 600.0,
190 => 600.0,
'Scedilla' => 600.0,
'lcaron' => 600.0,
'Kcommaaccent' => 600.0,
'Lacute' => 600.0,
153 => 600.0,
'edotaccent' => 600.0,
204 => 600.0,
'Imacron' => 600.0,
'Lcaron' => 600.0,
189 => 600.0,
'lessequal' => 600.0,
244 => 600.0,
241 => 600.0,
'Uhungarumlaut' => 600.0,
201 => 600.0,
'emacron' => 600.0,
'gbreve' => 600.0,
188 => 600.0,
138 => 600.0,
'Scommaaccent' => 600.0,
'Ohungarumlaut' => 600.0,
176 => 600.0,
242 => 600.0,
'Ccaron' => 600.0,
249 => 600.0,
'radical' => 600.0,
'Dcaron' => 600.0,
'rcommaaccent' => 600.0,
209 => 600.0,
245 => 600.0,
'Rcommaaccent' => 600.0,
'Lcommaaccent' => 600.0,
195 => 600.0,
'Aogonek' => 600.0,
197 => 600.0,
213 => 600.0,
'zdotaccent' => 600.0,
'Ecaron' => 600.0,
'Iogonek' => 600.0,
'kcommaaccent' => 600.0,
'minus' => 600.0,
206 => 600.0,
'ncaron' => 600.0,
'tcommaaccent' => 600.0,
172 => 600.0,
246 => 600.0,
252 => 600.0,
'notequal' => 600.0,
'gcommaaccent' => 600.0,
240 => 600.0,
158 => 600.0,
'ncommaaccent' => 600.0,
185 => 600.0,
'imacron' => 600.0,
128 => 600.0,
),
'CIDtoGID_Compressed' => true,
'CIDtoGID' => 'eJwDAAAAAAE=',
'_version_' => 6,
);

View file

@ -0,0 +1,572 @@
<?php return array (
'codeToName' =>
array (
32 => 'space',
160 => 'space',
33 => 'exclam',
34 => 'quotedbl',
35 => 'numbersign',
36 => 'dollar',
37 => 'percent',
38 => 'ampersand',
146 => 'quoteright',
40 => 'parenleft',
41 => 'parenright',
42 => 'asterisk',
43 => 'plus',
44 => 'comma',
45 => 'hyphen',
173 => 'hyphen',
46 => 'period',
47 => 'slash',
48 => 'zero',
49 => 'one',
50 => 'two',
51 => 'three',
52 => 'four',
53 => 'five',
54 => 'six',
55 => 'seven',
56 => 'eight',
57 => 'nine',
58 => 'colon',
59 => 'semicolon',
60 => 'less',
61 => 'equal',
62 => 'greater',
63 => 'question',
64 => 'at',
65 => 'A',
66 => 'B',
67 => 'C',
68 => 'D',
69 => 'E',
70 => 'F',
71 => 'G',
72 => 'H',
73 => 'I',
74 => 'J',
75 => 'K',
76 => 'L',
77 => 'M',
78 => 'N',
79 => 'O',
80 => 'P',
81 => 'Q',
82 => 'R',
83 => 'S',
84 => 'T',
85 => 'U',
86 => 'V',
87 => 'W',
88 => 'X',
89 => 'Y',
90 => 'Z',
91 => 'bracketleft',
92 => 'backslash',
93 => 'bracketright',
94 => 'asciicircum',
95 => 'underscore',
145 => 'quoteleft',
97 => 'a',
98 => 'b',
99 => 'c',
100 => 'd',
101 => 'e',
102 => 'f',
103 => 'g',
104 => 'h',
105 => 'i',
106 => 'j',
107 => 'k',
108 => 'l',
109 => 'm',
110 => 'n',
111 => 'o',
112 => 'p',
113 => 'q',
114 => 'r',
115 => 's',
116 => 't',
117 => 'u',
118 => 'v',
119 => 'w',
120 => 'x',
121 => 'y',
122 => 'z',
123 => 'braceleft',
124 => 'bar',
125 => 'braceright',
126 => 'asciitilde',
161 => 'exclamdown',
162 => 'cent',
163 => 'sterling',
165 => 'yen',
131 => 'florin',
167 => 'section',
164 => 'currency',
39 => 'quotesingle',
147 => 'quotedblleft',
171 => 'guillemotleft',
139 => 'guilsinglleft',
155 => 'guilsinglright',
150 => 'endash',
134 => 'dagger',
135 => 'daggerdbl',
183 => 'periodcentered',
182 => 'paragraph',
149 => 'bullet',
130 => 'quotesinglbase',
132 => 'quotedblbase',
148 => 'quotedblright',
187 => 'guillemotright',
133 => 'ellipsis',
137 => 'perthousand',
191 => 'questiondown',
96 => 'grave',
180 => 'acute',
136 => 'circumflex',
152 => 'tilde',
175 => 'macron',
168 => 'dieresis',
184 => 'cedilla',
151 => 'emdash',
198 => 'AE',
170 => 'ordfeminine',
216 => 'Oslash',
140 => 'OE',
186 => 'ordmasculine',
230 => 'ae',
248 => 'oslash',
156 => 'oe',
223 => 'germandbls',
207 => 'Idieresis',
233 => 'eacute',
159 => 'Ydieresis',
247 => 'divide',
221 => 'Yacute',
194 => 'Acircumflex',
225 => 'aacute',
219 => 'Ucircumflex',
253 => 'yacute',
234 => 'ecircumflex',
220 => 'Udieresis',
218 => 'Uacute',
203 => 'Edieresis',
169 => 'copyright',
229 => 'aring',
224 => 'agrave',
227 => 'atilde',
154 => 'scaron',
237 => 'iacute',
251 => 'ucircumflex',
226 => 'acircumflex',
231 => 'ccedilla',
222 => 'Thorn',
179 => 'threesuperior',
210 => 'Ograve',
192 => 'Agrave',
215 => 'multiply',
250 => 'uacute',
255 => 'ydieresis',
238 => 'icircumflex',
202 => 'Ecircumflex',
228 => 'adieresis',
235 => 'edieresis',
205 => 'Iacute',
177 => 'plusminus',
166 => 'brokenbar',
174 => 'registered',
200 => 'Egrave',
142 => 'Zcaron',
208 => 'Eth',
199 => 'Ccedilla',
193 => 'Aacute',
196 => 'Adieresis',
232 => 'egrave',
211 => 'Oacute',
243 => 'oacute',
239 => 'idieresis',
212 => 'Ocircumflex',
217 => 'Ugrave',
254 => 'thorn',
178 => 'twosuperior',
214 => 'Odieresis',
181 => 'mu',
236 => 'igrave',
190 => 'threequarters',
153 => 'trademark',
204 => 'Igrave',
189 => 'onehalf',
244 => 'ocircumflex',
241 => 'ntilde',
201 => 'Eacute',
188 => 'onequarter',
138 => 'Scaron',
176 => 'degree',
242 => 'ograve',
249 => 'ugrave',
209 => 'Ntilde',
245 => 'otilde',
195 => 'Atilde',
197 => 'Aring',
213 => 'Otilde',
206 => 'Icircumflex',
172 => 'logicalnot',
246 => 'odieresis',
252 => 'udieresis',
240 => 'eth',
158 => 'zcaron',
185 => 'onesuperior',
128 => 'Euro',
),
'isUnicode' => false,
'FontName' => 'Courier',
'FullName' => 'Courier',
'FamilyName' => 'Courier',
'Weight' => 'Medium',
'ItalicAngle' => '0',
'IsFixedPitch' => 'true',
'CharacterSet' => 'ExtendedRoman',
'FontBBox' =>
array (
0 => '-23',
1 => '-250',
2 => '715',
3 => '805',
),
'UnderlinePosition' => '-100',
'UnderlineThickness' => '50',
'Version' => '003.000',
'EncodingScheme' => 'WinAnsiEncoding',
'CapHeight' => '562',
'XHeight' => '426',
'Ascender' => '629',
'Descender' => '-157',
'StdHW' => '51',
'StdVW' => '51',
'StartCharMetrics' => '317',
'C' =>
array (
32 => 600.0,
160 => 600.0,
33 => 600.0,
34 => 600.0,
35 => 600.0,
36 => 600.0,
37 => 600.0,
38 => 600.0,
146 => 600.0,
40 => 600.0,
41 => 600.0,
42 => 600.0,
43 => 600.0,
44 => 600.0,
45 => 600.0,
173 => 600.0,
46 => 600.0,
47 => 600.0,
48 => 600.0,
49 => 600.0,
50 => 600.0,
51 => 600.0,
52 => 600.0,
53 => 600.0,
54 => 600.0,
55 => 600.0,
56 => 600.0,
57 => 600.0,
58 => 600.0,
59 => 600.0,
60 => 600.0,
61 => 600.0,
62 => 600.0,
63 => 600.0,
64 => 600.0,
65 => 600.0,
66 => 600.0,
67 => 600.0,
68 => 600.0,
69 => 600.0,
70 => 600.0,
71 => 600.0,
72 => 600.0,
73 => 600.0,
74 => 600.0,
75 => 600.0,
76 => 600.0,
77 => 600.0,
78 => 600.0,
79 => 600.0,
80 => 600.0,
81 => 600.0,
82 => 600.0,
83 => 600.0,
84 => 600.0,
85 => 600.0,
86 => 600.0,
87 => 600.0,
88 => 600.0,
89 => 600.0,
90 => 600.0,
91 => 600.0,
92 => 600.0,
93 => 600.0,
94 => 600.0,
95 => 600.0,
145 => 600.0,
97 => 600.0,
98 => 600.0,
99 => 600.0,
100 => 600.0,
101 => 600.0,
102 => 600.0,
103 => 600.0,
104 => 600.0,
105 => 600.0,
106 => 600.0,
107 => 600.0,
108 => 600.0,
109 => 600.0,
110 => 600.0,
111 => 600.0,
112 => 600.0,
113 => 600.0,
114 => 600.0,
115 => 600.0,
116 => 600.0,
117 => 600.0,
118 => 600.0,
119 => 600.0,
120 => 600.0,
121 => 600.0,
122 => 600.0,
123 => 600.0,
124 => 600.0,
125 => 600.0,
126 => 600.0,
161 => 600.0,
162 => 600.0,
163 => 600.0,
'fraction' => 600.0,
165 => 600.0,
131 => 600.0,
167 => 600.0,
164 => 600.0,
39 => 600.0,
147 => 600.0,
171 => 600.0,
139 => 600.0,
155 => 600.0,
'fi' => 600.0,
'fl' => 600.0,
150 => 600.0,
134 => 600.0,
135 => 600.0,
183 => 600.0,
182 => 600.0,
149 => 600.0,
130 => 600.0,
132 => 600.0,
148 => 600.0,
187 => 600.0,
133 => 600.0,
137 => 600.0,
191 => 600.0,
96 => 600.0,
180 => 600.0,
136 => 600.0,
152 => 600.0,
175 => 600.0,
'breve' => 600.0,
'dotaccent' => 600.0,
168 => 600.0,
'ring' => 600.0,
184 => 600.0,
'hungarumlaut' => 600.0,
'ogonek' => 600.0,
'caron' => 600.0,
151 => 600.0,
198 => 600.0,
170 => 600.0,
'Lslash' => 600.0,
216 => 600.0,
140 => 600.0,
186 => 600.0,
230 => 600.0,
'dotlessi' => 600.0,
'lslash' => 600.0,
248 => 600.0,
156 => 600.0,
223 => 600.0,
207 => 600.0,
233 => 600.0,
'abreve' => 600.0,
'uhungarumlaut' => 600.0,
'ecaron' => 600.0,
159 => 600.0,
247 => 600.0,
221 => 600.0,
194 => 600.0,
225 => 600.0,
219 => 600.0,
253 => 600.0,
'scommaaccent' => 600.0,
234 => 600.0,
'Uring' => 600.0,
220 => 600.0,
'aogonek' => 600.0,
218 => 600.0,
'uogonek' => 600.0,
203 => 600.0,
'Dcroat' => 600.0,
'commaaccent' => 600.0,
169 => 600.0,
'Emacron' => 600.0,
'ccaron' => 600.0,
229 => 600.0,
'Ncommaaccent' => 600.0,
'lacute' => 600.0,
224 => 600.0,
'Tcommaaccent' => 600.0,
'Cacute' => 600.0,
227 => 600.0,
'Edotaccent' => 600.0,
154 => 600.0,
'scedilla' => 600.0,
237 => 600.0,
'lozenge' => 600.0,
'Rcaron' => 600.0,
'Gcommaaccent' => 600.0,
251 => 600.0,
226 => 600.0,
'Amacron' => 600.0,
'rcaron' => 600.0,
231 => 600.0,
'Zdotaccent' => 600.0,
222 => 600.0,
'Omacron' => 600.0,
'Racute' => 600.0,
'Sacute' => 600.0,
'dcaron' => 600.0,
'Umacron' => 600.0,
'uring' => 600.0,
179 => 600.0,
210 => 600.0,
192 => 600.0,
'Abreve' => 600.0,
215 => 600.0,
250 => 600.0,
'Tcaron' => 600.0,
'partialdiff' => 600.0,
255 => 600.0,
'Nacute' => 600.0,
238 => 600.0,
202 => 600.0,
228 => 600.0,
235 => 600.0,
'cacute' => 600.0,
'nacute' => 600.0,
'umacron' => 600.0,
'Ncaron' => 600.0,
205 => 600.0,
177 => 600.0,
166 => 600.0,
174 => 600.0,
'Gbreve' => 600.0,
'Idotaccent' => 600.0,
'summation' => 600.0,
200 => 600.0,
'racute' => 600.0,
'omacron' => 600.0,
'Zacute' => 600.0,
142 => 600.0,
'greaterequal' => 600.0,
208 => 600.0,
199 => 600.0,
'lcommaaccent' => 600.0,
'tcaron' => 600.0,
'eogonek' => 600.0,
'Uogonek' => 600.0,
193 => 600.0,
196 => 600.0,
232 => 600.0,
'zacute' => 600.0,
'iogonek' => 600.0,
211 => 600.0,
243 => 600.0,
'amacron' => 600.0,
'sacute' => 600.0,
239 => 600.0,
212 => 600.0,
217 => 600.0,
'Delta' => 600.0,
254 => 600.0,
178 => 600.0,
214 => 600.0,
181 => 600.0,
236 => 600.0,
'ohungarumlaut' => 600.0,
'Eogonek' => 600.0,
'dcroat' => 600.0,
190 => 600.0,
'Scedilla' => 600.0,
'lcaron' => 600.0,
'Kcommaaccent' => 600.0,
'Lacute' => 600.0,
153 => 600.0,
'edotaccent' => 600.0,
204 => 600.0,
'Imacron' => 600.0,
'Lcaron' => 600.0,
189 => 600.0,
'lessequal' => 600.0,
244 => 600.0,
241 => 600.0,
'Uhungarumlaut' => 600.0,
201 => 600.0,
'emacron' => 600.0,
'gbreve' => 600.0,
188 => 600.0,
138 => 600.0,
'Scommaaccent' => 600.0,
'Ohungarumlaut' => 600.0,
176 => 600.0,
242 => 600.0,
'Ccaron' => 600.0,
249 => 600.0,
'radical' => 600.0,
'Dcaron' => 600.0,
'rcommaaccent' => 600.0,
209 => 600.0,
245 => 600.0,
'Rcommaaccent' => 600.0,
'Lcommaaccent' => 600.0,
195 => 600.0,
'Aogonek' => 600.0,
197 => 600.0,
213 => 600.0,
'zdotaccent' => 600.0,
'Ecaron' => 600.0,
'Iogonek' => 600.0,
'kcommaaccent' => 600.0,
'minus' => 600.0,
206 => 600.0,
'ncaron' => 600.0,
'tcommaaccent' => 600.0,
172 => 600.0,
246 => 600.0,
252 => 600.0,
'notequal' => 600.0,
'gcommaaccent' => 600.0,
240 => 600.0,
158 => 600.0,
'ncommaaccent' => 600.0,
185 => 600.0,
'imacron' => 600.0,
128 => 600.0,
),
'CIDtoGID_Compressed' => true,
'CIDtoGID' => 'eJwDAAAAAAE=',
'_version_' => 6,
);