diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/_ide_helper.php b/_ide_helper.php index cab2d96..deef827 100644 --- a/_ide_helper.php +++ b/_ide_helper.php @@ -3,7 +3,7 @@ /** * A helper file for Laravel, to provide autocomplete information to your IDE - * Generated for Laravel 8.21.0. + * Generated for Laravel 8.22.1. * * This file should not be included in your code, only analyzed by your IDE! * @@ -5294,6 +5294,17 @@ { /** @var \Illuminate\Support\Testing\Fakes\EventFake $instance */ $instance->assertNotDispatched($event, $callback); + } + /** + * Assert that no events were dispatched. + * + * @return void + * @static + */ + public static function assertNothingDispatched() + { + /** @var \Illuminate\Support\Testing\Fakes\EventFake $instance */ + $instance->assertNothingDispatched(); } /** * Get all of the events matching a truth-test callback. @@ -14575,6 +14586,23 @@ */ class Str { + } + /** + * + * + */ + class Collection { + /** + * + * + * @see \Barryvdh\Debugbar\ServiceProvider::register() + * @static + */ + public static function debug() + { + return \Illuminate\Support\Collection::debug(); + } + } } diff --git a/app/Http/Controllers/CronController.php b/app/Http/Controllers/CronController.php index d2f2d2b..c0ca163 100644 --- a/app/Http/Controllers/CronController.php +++ b/app/Http/Controllers/CronController.php @@ -90,7 +90,7 @@ class CronController extends Controller == 7 abo_booking_days + sepa + cron = 37 reminder_collect_sepa */ //max Date for reminder - $renewalDate = Carbon::now()->modify('+'.(config('mivita.remind_first_days')+1).' days'); + $renewalDate = Carbon::now()->modify('+'.(config('main.remind_first_days')+1).' days'); //dump($renewalDate); $users = User::where('payment_account', '!=', NULL) ->where('active', '=', 1) @@ -134,13 +134,13 @@ class CronController extends Controller } //34 reminder_last - if($user->daysActiveAccount() <= config('mivita.remind_last_days')){ + if($user->daysActiveAccount() <= config('main.remind_last_days')){ $isSend = $this->checkIsReminderSend($user, 34); return $isSend; } //33 reminder_sec - if($user->daysActiveAccount() <= config('mivita.remind_sec_days')){ + if($user->daysActiveAccount() <= config('main.remind_sec_days')){ if(!$user->isAboOption()){ $isSend = $this->checkIsReminderSend($user, 33); return $isSend; @@ -148,7 +148,7 @@ class CronController extends Controller } //31 reminder_first, 32 reminder_first_sepa - if($user->daysActiveAccount() > config('mivita.remind_sec_days')){ + if($user->daysActiveAccount() > config('main.remind_sec_days')){ if($user->isAboOption()){ $isSend = $this->checkIsReminderSend($user, 32); return $isSend; @@ -186,7 +186,7 @@ class CronController extends Controller //dump($days); //dump($status); - $pay_date = Carbon::parse($user->payment_account)->modify('- '.config('mivita.abo_booking_days').' days')->format('d.m.Y'); + $pay_date = Carbon::parse($user->payment_account)->modify('- '.config('main.abo_booking_days').' days')->format('d.m.Y'); $datetime = $user->getPaymentAccountDateFormat(); $price = ""; if($user->payment_order_id && isset($user->payment_order_product->price)){ diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 18b4e66..ac3f420 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -19,7 +19,7 @@ class HomeController extends Controller */ public function __construct() { - $this->middleware('guest'); + // $this->middleware('guest'); } /** @@ -46,7 +46,7 @@ class HomeController extends Controller 'user' => Auth::user(), 'now' => Carbon::now(), ]; - return view('home', $data); + return view('dashboard', $data); } public function loadingModal(){ diff --git a/app/Http/Controllers/IngredientController.php b/app/Http/Controllers/IngredientController.php index 9dd2703..bd4ad8f 100755 --- a/app/Http/Controllers/IngredientController.php +++ b/app/Http/Controllers/IngredientController.php @@ -7,7 +7,7 @@ use App\Models\Ingredient; use App\Models\IqImage; use App\Models\ProductCategory; use App\Models\ProductIngredient; -use\Request; +use Request; class IngredientController extends Controller diff --git a/app/Http/Controllers/LeadController.php b/app/Http/Controllers/LeadController.php index 22f6ffe..1e4d852 100755 --- a/app/Http/Controllers/LeadController.php +++ b/app/Http/Controllers/LeadController.php @@ -10,6 +10,7 @@ use App\Models\UserAccount; use App\Models\UserHistory; use App\Repositories\ContractPDFRepository; use App\Repositories\UserRepository; +use App\Services\SysLog; use App\Services\UserService; use App\User; use Illuminate\Support\Facades\Mail; @@ -258,7 +259,17 @@ class LeadController extends Controller $user->save(); //mail with code to user? - Mail::to($user->email)->send(new MailAccountActive($user)); + try { + Mail::to($user->email)->send(new MailAccountActive($user)); + } + catch(\Exception $e){ + SysLog::action('released', 'admin_lead', 5) + ->setUserId($user->id) + ->setModel($user->id, User::class) + ->setMessage('Error send released E-Mail: '.$e->getMessage()) + ->save(); + } + UserHistory::create(['user_id' => $user->id, 'action'=>'released_completed', 'status'=>0]); \Session()->flash('alert-success', "Berater freigeschaltet!"); } @@ -285,8 +296,11 @@ class LeadController extends Controller Mail::to($user->email)->send(new MailCustomMessage($user, $data, \Auth::user(), true)); } catch(\Exception $e){ - dump($e->getMessage()); - dd("error"); + SysLog::action('released_incomplete', 'admin_lead', 5) + ->setUserId($user->id) + ->setModel($user->id, User::class) + ->setMessage('Error send released_incomplete E-Mail: '.$e->getMessage()) + ->save(); } UserHistory::create(['user_id' => $user->id, 'action'=>'released_incomplete', 'status'=>0]); \Session()->flash('alert-success', "E-Mail an Berater gesendet."); @@ -311,8 +325,11 @@ class LeadController extends Controller Mail::to($user->email)->send(new MailVerifyAccount($confirmation_code, $user)); } catch(\Exception $e){ - dump($e->getMessage()); - dd("error"); + SysLog::action('new_mail_verified', 'admin_lead', 5) + ->setUserId($user->id) + ->setModel($user->id, User::class) + ->setMessage('Error send new_mail_verified E-Mail: '.$e->getMessage()) + ->save(); } UserHistory::create(['user_id' => $user->id, 'action'=>'new_mail_verified', 'status'=>0]); @@ -321,7 +338,6 @@ class LeadController extends Controller } - public function deleteFile($user_id, $file_id, $relation){ if($relation === 'upload'){ @@ -369,12 +385,12 @@ class LeadController extends Controller ->addColumn('payment_account_date', function (User $user) { return $user->payment_account ? $user->getPaymentAccountDateFormat(false) : "-"; }) - ->addColumn('payment_shop', function (User $user) { + /*->addColumn('payment_shop', function (User $user) { return $user->payment_shop ? ' ' : ''; }) ->addColumn('payment_shop_date', function (User $user) { return $user->payment_shop ? $user->getPaymentShopDateFormat(false) : "-"; - }) + })*/ ->addColumn('turnover', function (User $user) { return "-"; }) @@ -389,8 +405,8 @@ class LeadController extends Controller ->orderColumn('active', 'active $1') ->orderColumn('agreement', 'agreement $1') ->orderColumn('payment_account', 'payment_account $1') - ->orderColumn('payment_shop', 'payment_shop $1') - ->rawColumns(['id', 'confirmed', 'active', 'agreement', 'payment_account', 'payment_shop']) + //->orderColumn('payment_shop', 'payment_shop $1') + ->rawColumns(['id', 'confirmed', 'active', 'agreement', 'payment_account']) ->make(true); } } \ No newline at end of file diff --git a/app/Http/Controllers/MembershipController.php b/app/Http/Controllers/MembershipController.php index 65ca030..7e627c6 100755 --- a/app/Http/Controllers/MembershipController.php +++ b/app/Http/Controllers/MembershipController.php @@ -6,6 +6,7 @@ use App\Mail\MailInfo; use App\Models\Product; use App\Models\ShoppingInstance; use App\Models\UserHistory; +use App\Models\UserLevel; use App\User; use Auth; use Carbon; @@ -43,7 +44,6 @@ class MembershipController extends Controller $userHistoryUpgradeOrder = UserHistory::whereUserId($user->id)->whereAction('upgrade_order')->get()->last(); $userHistoryDeleteMembership = UserHistory::whereUserId($user->id)->whereAction('delete_membership')->whereStatus(50)->get()->last(); - $data = [ 'user' => $user, 'products' => Product::where('active', true)->where('show_at', '=', 3)->orderBy('pos', 'ASC')->get(), @@ -52,19 +52,22 @@ class MembershipController extends Controller 'userHistoryPaymentOrder' => $userHistoryPaymentOrder, 'userHistoryUpgradeOrder' => $userHistoryUpgradeOrder, 'userHistoryDeleteMembership' => $userHistoryDeleteMembership, + 'user_levels' => UserLevel::where('active', true)->get(), + ]; return view('user.membership.index', $data); } - public function storePayment($action){ $data = Request::all(); + + //#### remove_abo - if($action === "remove_abo"){ + /*if($action === "remove_abo"){ if(Request::get('abo_options_remove')){ $user = User::find(Auth::user()->id); $user->abo_options = false; @@ -77,10 +80,10 @@ class MembershipController extends Controller } \Session()->flash('alert-error', "Fehler, Checkbox nicht bestätigt."); return back(); - } + }*/ //#### payment order //#### shop upgrade - if($action === "upgrade_order" || $action === "payment_order"){ + /*if($action === "upgrade_order" || $action === "payment_order"){ if(Request::get('switchers-package-wizard')){ $user = User::find(Auth::user()->id); Yard::instance('shopping')->destroy(); @@ -126,8 +129,9 @@ class MembershipController extends Controller return redirect()->secure($path); } } - } + }*/ + /* if($action === "change_order"){ if(Request::get('switchers-package-wizard')){ $user = User::find(Auth::user()->id); @@ -146,8 +150,22 @@ class MembershipController extends Controller } } } + */ + + if($action === "change_level"){ + if(Request::get('switchers-package-level')){ + $user = User::find(Auth::user()->id); + $user->next_m_level = Request::get('switchers-package-level'); + $user->save(); + UserHistory::create(['user_id' => $user->id, 'action'=>$action, 'status'=>10, 'referenz'=>Request::get('switchers-package-level')]); + \Session()->flash('alert-success', "Änderung gespeichert"); + return back(); + + } + } + if($action === "delete_membership"){ - if(Request::get('delete_membership_mivita')){ + if(Request::get('delete_membership')){ //TODO $user = User::find(Auth::user()->id); if($user->isTestMode()){ diff --git a/app/Http/Controllers/Pay/PayController.php b/app/Http/Controllers/Pay/PayController.php index 553cd00..f9a7fa4 100644 --- a/app/Http/Controllers/Pay/PayController.php +++ b/app/Http/Controllers/Pay/PayController.php @@ -129,7 +129,7 @@ class PayController extends Controller } //Rechnungskauf - if($payment_method[0] === 'fnc'){ + if($payment_method === 'fnc'){ $this->method = [ "clearingtype" => "fnc", "wallettype" => "", @@ -157,7 +157,7 @@ class PayController extends Controller ]); - Util::setUserHistoryValue(['status'=>5]); + Util::setUserHistoryValue(['status'=>5], $identifier); return redirect(route('user_checkout_final', [$payt->id, $this->reference, $identifier])); } diff --git a/app/Http/Controllers/SalesController.php b/app/Http/Controllers/SalesController.php index 3579957..c39fed1 100755 --- a/app/Http/Controllers/SalesController.php +++ b/app/Http/Controllers/SalesController.php @@ -271,12 +271,12 @@ class SalesController extends Controller $shopping_order = ShoppingOrder::findOrFail($data['id']); $shopping_payment = ShoppingPayment::findOrFail($data['payment_id']); - PaymentTransaction::create([ + $payt = PaymentTransaction::create([ 'shopping_payment_id' => $shopping_payment->id, 'request' => 'transaction', 'txid' => 0, 'userid' => 0, - 'status' => 'FNCMIV', + 'status' => $shopping_payment->clearingtype, 'transmitted_data' => NULL, 'txaction' => $data['txaction'], 'mode' => $shopping_payment->mode, @@ -288,14 +288,24 @@ class SalesController extends Controller $shopping_payment->txaction = $data['txaction']; $shopping_payment->save(); + if($payt->status === 'vor' && $payt->txaction === 'paid'){ + $send_link = Payment::paymentStatusPaidAction($shopping_order, false); + } + $edata = [ + 'mode' => $payt->mode, + 'txaction' => $payt->txaction, + 'send_link' => false, + ]; //TODO can send MAIL - //Payment::paymentStatusSendMail($shopping_order, $shopping_payment, $data); + Payment::paymentStatusSendMail($shopping_order, $shopping_payment, $edata); } } if(isset($data['back'])){ + return redirect($data['back']); } + return back(); } } \ No newline at end of file diff --git a/app/Http/Controllers/SettingController.php b/app/Http/Controllers/SettingController.php new file mode 100755 index 0000000..b202a5b --- /dev/null +++ b/app/Http/Controllers/SettingController.php @@ -0,0 +1,54 @@ +middleware('admin'); + } + + public function index() + { + + $data = [ + 'values' => Ingredient::all(), + ]; + return view('admin.settings.index', $data); + } + + + public function store() + { + + $data = Request::all(); + + if(isset($data['action'])){ + if(isset($data['settings'])){ + foreach ($data['settings'] as $key=>$value){ + Setting::setContentBySlug($key, $value['val'], $value['type']); + } + } + } + \Session()->flash('alert-save', '1'); + return redirect(route('admin_settings')); + + + } + + + + +} \ No newline at end of file diff --git a/app/Http/Controllers/User/CheckoutController.php b/app/Http/Controllers/User/CheckoutController.php index c73cc7c..1e4ea51 100755 --- a/app/Http/Controllers/User/CheckoutController.php +++ b/app/Http/Controllers/User/CheckoutController.php @@ -76,16 +76,16 @@ class CheckoutController extends Controller Yard::instance('shopping')->setShippingCountryWithPrice($shopping_instance->country_id, $is_for); */ + if($this->getPayments('identifier') !== $identifier){ + $this->destroy(); + $this->putPayments('identifier', $identifier); + } $shopping_data = Yard::instance('shopping')->getYardExtra('shopping_data'); $is_from = isset($shopping_data['is_from']) ? $shopping_data['is_from'] : 'shopping'; $is_for = isset($shopping_data['is_for']) ? $shopping_data['is_for'] : false; $shopping_user = null; - if(\Session::has('new_session')){ - $this->destroy(); - \Session::forget('new_session'); - } if(!$this->getPayments('shopping_user_id')){ if($shopping_data && $is_from !== 'shopping'){ @@ -98,7 +98,6 @@ class CheckoutController extends Controller $shopping_user = new ShoppingUser(); $shopping_user->is_for = $is_for; $shopping_user->is_from = $is_from; - $shopping_user->homeparty_id = $homeparty_id; $shopping_user->mode = 'prev'; } }else{ @@ -278,7 +277,7 @@ class CheckoutController extends Controller if($shopping_user->is_from === 'shopping'){ CustomerPriority::checkOne(ShoppingUser::find($shopping_user->id), true); } - Util::setUserHistoryValue(['status'=>2, 'shopping_order_id'=>$shopping_order->id]); + Util::setUserHistoryValue(['status'=>2, 'shopping_order_id'=>$shopping_order->id], $identifier); //check credit Card if(Request::get('payment_method')){ @@ -302,48 +301,7 @@ class CheckoutController extends Controller } - public function transactionStatus($status, $reference){ - $shopping_order_id = $this->getPayments('shopping_order_id'); - - $ShoppingPayment = ShoppingPayment::where('shopping_order_id', $shopping_order_id)->where('reference', $reference)->first(); - if(!$ShoppingPayment){ - //TODO log this - Util::setUserHistoryValue(['status'=>21]); - - \Session::flash('checkout-error', 'Der Zahlungsvorgang konnte nicht abgeschlossen werden, die Zahlung wurde nicht gefunden: '.$reference); - return redirect(route('checkout.checkout_card')); - } - $ShoppingPayment->status = $status; - $ShoppingPayment->save(); - - if($status === "success"){ - - Yard::instance('shopping')->destroy(); - $this->destroy(); - - $payt = $ShoppingPayment->payment_transactions->last(); - - $data = [ - 'user_shop' => Util::getUserShop(), - 'order_reference' => $reference, - 'pay_trans' => $payt, - ]; - return view('web.templates.checkout-final', $data); - } - if($status === "cancel"){ - Util::setUserHistoryValue(['status'=>22]); - \Session::flash('checkout-error', 'Der Zahlungsvorgang wurde abgebrochen, die Bestellung konnte nicht ausgeführt werden.'); - return redirect(route('checkout.checkout_card')); - - } - if($status === "error"){ - Util::setUserHistoryValue(['status'=>23]); - \Session::flash('checkout-error', 'Der Zahlungsvorgang wurde abgebrochen, die Bestellung konnte nicht ausgeführt werden.'); - return redirect(route('checkout.checkout_card')); - - } - } public function final($transactionId, $reference, $identifier) { @@ -355,7 +313,7 @@ class CheckoutController extends Controller $this->destroy(); if($payt->status === 'fnc' || $payt->status === 'vor'){ - $this->directPaymentStatus($payt); + $this->directPaymentStatus($payt, $identifier); } $data = [ @@ -376,6 +334,48 @@ class CheckoutController extends Controller } } }*/ + public function transactionStatus($status, $reference){ + die("not defined"); + $shopping_order_id = $this->getPayments('shopping_order_id'); + + $ShoppingPayment = ShoppingPayment::where('shopping_order_id', $shopping_order_id)->where('reference', $reference)->first(); + if(!$ShoppingPayment){ + //TODO log this + Util::setUserHistoryValue(['status'=>21]); + + \Session::flash('checkout-error', 'Der Zahlungsvorgang konnte nicht abgeschlossen werden, die Zahlung wurde nicht gefunden: '.$reference); + return redirect(route('checkout.checkout_card')); + } + $ShoppingPayment->status = $status; + $ShoppingPayment->save(); + + if($status === "success"){ + + Yard::instance('shopping')->destroy(); + $this->destroy(); + + $payt = $ShoppingPayment->payment_transactions->last(); + + $data = [ + 'user_shop' => Util::getUserShop(), + 'order_reference' => $reference, + 'pay_trans' => $payt, + ]; + return view('web.templates.checkout-final', $data); + } + if($status === "cancel"){ + Util::setUserHistoryValue(['status'=>22]); + \Session::flash('checkout-error', 'Der Zahlungsvorgang wurde abgebrochen, die Bestellung konnte nicht ausgeführt werden.'); + return redirect(route('checkout.checkout_card')); + + } + if($status === "error"){ + Util::setUserHistoryValue(['status'=>23]); + \Session::flash('checkout-error', 'Der Zahlungsvorgang wurde abgebrochen, die Bestellung konnte nicht ausgeführt werden.'); + return redirect(route('checkout.checkout_card')); + + } + } private function makeShoppingUser($data){ @@ -403,7 +403,6 @@ class CheckoutController extends Controller $user_shop = Util::getUserShop(); - $data = [ 'shopping_user_id' => $shopping_user->id, 'auth_user_id' => $shopping_user->auth_user_id, @@ -506,18 +505,32 @@ class CheckoutController extends Controller $this->session->remove($this->instance); } - private function directPaymentStatus(PaymentTransaction $payt){ + private function directPaymentStatus(PaymentTransaction $payt, $identifier){ if(isset($payt->transmitted_data['param'])){ $shopping_order = ShoppingOrder::find($payt->transmitted_data['param']); + $shopping_payment = ShoppingPayment::where('reference', $payt->transmitted_data['reference'])->first(); + $shopping_order->txaction = 'open'; $shopping_order->save(); - $shopping_payment = ShoppingPayment::where('reference', $payt->transmitted_data['reference'])->first(); + if($shopping_payment){ - $shopping_payment->txaction = 'open'; + if($payt->status === 'vor'){ + $shopping_payment->txaction = 'open'; + $shopping_order->txaction = 'open'; + + + } + if($payt->status === 'fnc'){ + $send_link = Payment::paymentStatusPaidAction($shopping_order, false); + $shopping_payment->txaction = 'open'; + $shopping_order->txaction = 'open'; + + + } $shopping_payment->save(); } - //$send_link = Payment::paymentStatusPaidAction($shopping_order, false); + //$payt->request = "approved"; //$payt->save(); $data = [ diff --git a/app/Http/Controllers/User/CustomerController.php b/app/Http/Controllers/User/CustomerController.php index 192fcb4..c91b479 100755 --- a/app/Http/Controllers/User/CustomerController.php +++ b/app/Http/Controllers/User/CustomerController.php @@ -91,7 +91,7 @@ class CustomerController extends Controller $step = 1; $shopping_user->same_as_billing = true; $shopping_user->faker_mail = true; - $billing_email = time()."-faker@mivita.care"; + $billing_email = time()."-faker@gruene-seele.bio"; } } $data = [ diff --git a/app/Http/Controllers/User/OrderController.php b/app/Http/Controllers/User/OrderController.php index 40f1621..cd0afbe 100755 --- a/app/Http/Controllers/User/OrderController.php +++ b/app/Http/Controllers/User/OrderController.php @@ -24,8 +24,6 @@ class OrderController extends Controller public function __construct() { - $this->middleware('superadmin'); - $this->middleware('active.account'); } @@ -159,14 +157,13 @@ class OrderController extends Controller 'isView' => 'customer', 'for' => $for, 'delivery_id' => $delivery_id, - 'comp_products' => $this->getCompProducts($for), + //'comp_products' => $this->getCompProducts($for), ]; return view('user.order.list', $data); } public function payment($for, $id=null){ $data = Request::all(); - $user = User::find(Auth::user()->id); $rules = array( 'shipping_salutation' => 'required', @@ -180,10 +177,11 @@ class OrderController extends Controller $validator = Validator::make(Request::all(), $rules); if ($validator->fails()) { + dd($validator); return back()->withErrors($validator)->withInput(Request::all()); } - if(Yard::instance('shopping')->getNumComp() > 0){ + /* if(Yard::instance('shopping')->getNumComp() > 0){ if(!isset($data['switchers-comp-product'])){ $validator->errors()->add('switchers-comp-product', __('Bitte wähle ein Kompensationsprodukt aus')); }else{ @@ -199,16 +197,20 @@ class OrderController extends Controller return back()->withErrors($validator)->withInput(Request::all()); } } - do { + */ + /*do { $identifier = Util::getToken(); - } while( ShoppingInstance::where('identifier', $identifier)->count() ); + } while( ShoppingInstance::where('identifier', $identifier)->count() );*/ + $identifier = Util::getToken(); $data['is_from'] = 'user_order'; $data['is_for'] = $for; $data['shopping_user_id'] = $id; unset($data['quantity']); unset($data['_token']); - ShoppingInstance::create([ + Yard::instance('shopping')->putYardExtra('shopping_data', $data); + + /*ShoppingInstance::create([ 'identifier' => $identifier, 'user_shop_id' => 1, //is first faker shop for buy intern 'auth_user_id' => Auth::user()->id, @@ -220,14 +222,13 @@ class OrderController extends Controller ]); Yard::instance('shopping')->store($identifier); - - + */ //add to DB - $path = route('checkout.checkout_card', ['identifier'=>$identifier]); - UserHistory::create(['user_id' => $user->id, 'action'=>'user_order_payment', 'status'=>1, 'product_id'=>null, 'identifier'=>$identifier, 'abo_options'=>0]); + //$path = route('checkout.checkout_card', ['identifier'=>$identifier]); + UserHistory::create(['user_id' => $user->id, 'action'=>'user_order_payment', 'status'=>1, 'product_id'=>null, 'identifier'=>$identifier]); //$path = str_replace('http', 'https', $path); - return redirect()->secure($path); - + //return redirect()->secure($path); + return redirect(route('user_checkout', [$identifier])); } private function checkShoppingCountry($for, $id=null){ @@ -384,14 +385,13 @@ class OrderController extends Controller ->make(true); } - public function performRequest(){ if(Request::ajax()) { - $data = Request::all(); + $data = Request::all(); $is_for = isset($data['shipping_is_for']) ? $data['shipping_is_for'] : 'ot'; - $data['comp_products'] = $this->getCompProducts($is_for); + // $data['comp_products'] = $this->getCompProducts($is_for); if($data['action'] === 'updateCart' && isset($data['product_id'])){ if($product = Product::find($data['product_id'])){ @@ -401,7 +401,7 @@ class OrderController extends Controller } //get the card item - $cartItem = Yard::instance('shopping')->add($product->id, $product->getLang('name'), 1, $product->getPriceWith(false, true), ['image' => $image, 'slug' => $product->slug, 'weight' => $product->weight, 'points' => $product->points]); + $cartItem = Yard::instance('shopping')->add($product->id, $product->getLang('name'), 1, $product->getPriceWith(false, true), $product->tax, ['image' => $image, 'slug' => $product->slug, 'weight' => $product->weight, 'points' => $product->points]); Yard::setTax($cartItem->rowId, $product->tax); if(isset($data['qty']) && $data['qty'] > 0){ @@ -411,34 +411,31 @@ class OrderController extends Controller Yard::instance('shopping')->remove($cartItem->rowId); } // - Yard::instance('shopping')->reCalculateShippingPrice(); - $this->checkCompProduct(Yard::instance('shopping')->getNumComp()); + //$this->checkCompProduct(Yard::instance('shopping')->getNumComp()); $html_card = view("user.order.yard_view_form", $data)->render(); - $html_comp = view("user.order.comp_product", $data)->render(); + //$html_comp = view("user.order.comp_product", $data)->render(); - return response()->json(['response' => true, 'data'=>$data, 'html_card'=>$html_card, 'html_comp'=>$html_comp]); + return response()->json(['response' => true, 'data'=>$data, 'html_card'=>$html_card, 'html_comp'=>'']); } } if($data['action'] === 'clearCart') { Yard::instance('shopping')->destroy(); return response()->json(['response' => true, 'data'=>Yard::instance('shopping')->count(), 'html_card'=>'', 'html_comp'=>'']); - } if($data['action'] === 'updateShippingCountry') { if(isset($data['shipping_country_id'])){ if($shipping_country = ShippingCountry::find($data['shipping_country_id'])){ Yard::instance('shopping')->setShippingCountryWithPrice($shipping_country->id, $is_for); - $this->checkCompProduct(Yard::instance('shopping')->getNumComp()); + //$this->checkCompProduct(Yard::instance('shopping')->getNumComp()); } } $html_card = view("user.order.yard_view_form", $data)->render(); - $html_comp = view("user.order.comp_product", $data)->render(); - return response()->json(['response' => true, 'data'=>$data, 'html_card'=>$html_card, 'html_comp'=>$html_comp]); - + //$html_comp = view("user.order.comp_product", $data)->render(); + return response()->json(['response' => true, 'data'=>$data, 'html_card'=>$html_card, 'html_comp'=>'']); } - if($data['action'] === 'updateCompProduct'){ + /* if($data['action'] === 'updateCompProduct'){ // $data['comp_product_id'] // $data['comp_num'] //count_comp_products @@ -450,11 +447,12 @@ class OrderController extends Controller return response()->json(['response' => true, 'data'=>$data, 'html_card'=>$html_card, 'html_comp'=>$html_comp]); } + */ return response()->json(['response' => false, 'data'=>$data]); } } - private function checkCompProduct($count_comp_products){ + /* private function checkCompProduct($count_comp_products){ foreach (Yard::instance('shopping')->content() as $row) { //wenn gleich löschen, da neue Versandkosten if($row->options->comp > $count_comp_products) { @@ -491,5 +489,5 @@ class OrderController extends Controller return Product::whereActive(true)->where('show_at', '=', 1)->where('shipping_addon', true)->orderBy('pos', 'DESC')->get(); } return null; - } + }*/ } \ No newline at end of file diff --git a/app/Http/Controllers/User/TeamController.php b/app/Http/Controllers/User/TeamController.php index 23de8fd..88538e2 100755 --- a/app/Http/Controllers/User/TeamController.php +++ b/app/Http/Controllers/User/TeamController.php @@ -17,14 +17,11 @@ class TeamController extends Controller public function members() { $user = User::find(\Auth::user()->id); - if($user->isActiveShop() && $user->shop){ - $shop_register_link = $user->shop->getSubdomain(false)."/reg"; - }else{ - $member_id = 'm'.($user->id + config('mivita.add_number_id')); - $shop_register_link = config('app.protocol').config('app.domain').config('app.tld_care').'/reg/'.$member_id; - } + $member_id = 'gs'.($user->id + config('main.add_number_id')); + $register_link = route('register_user_member', [$member_id]); + $data = [ - 'shop_register_link' => $shop_register_link + 'register_link' => $register_link ]; return view('user.team.members', $data); } diff --git a/app/Http/Controllers/UserDataController.php b/app/Http/Controllers/UserDataController.php index 3357bba..ae2696e 100755 --- a/app/Http/Controllers/UserDataController.php +++ b/app/Http/Controllers/UserDataController.php @@ -20,9 +20,7 @@ class UserDataController extends Controller $this->userRepo = $userRepo; } - /** - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View - */ + public function userEdit(){ $user = Auth::user(); @@ -35,16 +33,13 @@ class UserDataController extends Controller return view('user.edit', $data); } - /** - * @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector|\Illuminate\View\View - */ + public function userEditStore(){ $user = Auth::user(); /*if(!$user->account){ $user->account = new UserAccount(); }*/ - $rules = array( 'salutation' => 'required', 'first_name'=>'required', @@ -82,8 +77,10 @@ class UserDataController extends Controller } } + /** - * @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector|\Illuminate\View\View + * @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\Contracts\View\View|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector + * @throws \Illuminate\Database\Eloquent\ModelNotFoundException */ public function userDataStore(){ diff --git a/app/Http/Controllers/Web/RegisterController.php b/app/Http/Controllers/Web/RegisterController.php index 1395a27..0e0ecb1 100755 --- a/app/Http/Controllers/Web/RegisterController.php +++ b/app/Http/Controllers/Web/RegisterController.php @@ -6,7 +6,9 @@ namespace App\Http\Controllers\Web; use App\Http\Controllers\Controller; use App\Mail\MailContact; use App\Mail\MailVerifyAccount; +use App\Models\UserHistory; use App\Repositories\UserRepository; +use App\Services\SysLog; use App\Services\UserService; use App\User; use GuzzleHttp\Client; @@ -32,23 +34,21 @@ class RegisterController extends Controller $this->userRepo = $userRepo; } - /* public function member($member_id = false) + public function member($member_id = false) { if(!$member_id){ return redirect('/registrierung'); } - $user_id = (int) str_replace('m', '', $member_id) - config('mivita.add_number_id'); + $user_id = (int) str_replace('gs', '', $member_id) - config('main.add_number_id'); $user = User::find($user_id); if(!$user || !$user->isActive() || !$user->isActiveAccount()){ return redirect('/registrierung'); } $data = [ - 'GOOGLE_ReCAPTCHA_KEY' => $this->GOOGLE_ReCAPTCHA_KEY, - 'user_shop' => Util::getUserShop(), 'from_member_id' => $member_id ]; - return view('web.templates.registrierung', $data); - }*/ + return view('auth.register', $data); + } public function register(){ @@ -78,13 +78,23 @@ class RegisterController extends Controller $user->confirmation_code_to = date('Y-m-d H:i:s', strtotime('+1 week')); $user->confirmation_code_remider = 0; if(isset($data['from_member_id'])){ - $user->m_sponsor = (int) str_replace('m', '', $data['from_member_id']) - config('main.add_number_id'); + $user->m_sponsor = (int) str_replace('gs', '', $data['from_member_id']) - config('main.add_number_id'); } $user->save(); $user = User::find($user->id); - Mail::to($user->email)->send(new MailVerifyAccount($confirmation_code, $user)); + try { + Mail::to($user->email)->send(new MailVerifyAccount($confirmation_code, $user)); + } + catch(\Exception $e){ + SysLog::action('register-user', 'auth_register', 5) + ->setUserId($user->id) + ->setModel($user->id, User::class) + ->setMessage('Error send register E-Mail: '.$e->getMessage()) + ->save(); + } + UserHistory::create(['user_id' => $user->id, 'action'=>'register', 'status'=>0]); return redirect('/user_register/finish'); } diff --git a/app/Http/Controllers/WizardController.php b/app/Http/Controllers/WizardController.php index d0a1415..623dd7f 100755 --- a/app/Http/Controllers/WizardController.php +++ b/app/Http/Controllers/WizardController.php @@ -451,7 +451,7 @@ class WizardController extends Controller if($product->images->count()){ $image = $product->images->first()->slug; } - Yard::instance('shopping')->add($product->id, $product->getLang('name'), 1, $product->price, ['image' => $image, 'slug' => $product->slug, 'weight' => $product->weight]); + Yard::instance('shopping')->add($product->id, $product->getLang('name'), 1, $product->price, $product->tax, ['image' => $image, 'slug' => $product->slug, 'weight' => $product->weight]); //set onboarding products if(Request::get('products_on_board')){ @@ -461,7 +461,7 @@ class WizardController extends Controller if($product_on_board->images->count()){ $image = $product_on_board->images->first()->slug; } - Yard::instance('shopping')->add($product_on_board->id, $product_on_board->getLang('name'), 1, $product_on_board->price, ['image' => $image, 'slug' => $product_on_board->slug, 'weight' => $product_on_board->weight]); + Yard::instance('shopping')->add($product_on_board->id, $product_on_board->getLang('name'), 1, $product_on_board->price, $product->tax, ['image' => $image, 'slug' => $product_on_board->slug, 'weight' => $product_on_board->weight]); } } @@ -488,7 +488,7 @@ class WizardController extends Controller ]);*/ Yard::instance('shopping')->putYardExtra('shopping_data', $data); - Yard::instance('shopping')->store($identifier); + //Yard::instance('shopping')->store($identifier); //add to DB //$path = route('checkout.checkout_card', ['identifier'=>$identifier]); UserHistory::create(['user_id' => $user->id, 'action'=>'wizard_payment', 'status'=>1, 'product_id'=>$product->id, 'identifier'=>$identifier]); diff --git a/app/Libraries/ContractPDF.php b/app/Libraries/ContractPDF.php index a3260d1..59709ff 100644 --- a/app/Libraries/ContractPDF.php +++ b/app/Libraries/ContractPDF.php @@ -13,7 +13,7 @@ class ContractPDF extends Fpdi public function Header() { if (null === $this->_tplIdx) { - $this->setSourceFile('./pdf/mivita_template_contract_de.pdf'); + $this->setSourceFile('./pdf/template_contract_de.pdf'); } $this->_tplIdx = $this->importPage($this->_site++); $this->useTemplate($this->_tplIdx); diff --git a/app/Mail/MailContact.php b/app/Mail/MailContact.php index 144f040..17e3df7 100644 --- a/app/Mail/MailContact.php +++ b/app/Mail/MailContact.php @@ -20,11 +20,8 @@ class MailContact extends Mailable public function __construct($data) { $this->data = $data; - $this->user_shop = Util::getUserShop(); - $this->subject = __('email.your_request_from').' mivita.care'; - if($this->user_shop){ - $this->subject = __('email.your_request_from')." ".$this->user_shop->slug.'.mivita.care'; - } + $this->subject = __('email.your_request_from').' gruene-seele.bio'; + } public function build() @@ -42,10 +39,8 @@ class MailContact extends Mailable $this->data['salutation'] = 'Frau'; } } - $copy1line = __('email.your_request_from')." mivita.care"; - if($this->user_shop){ - $copy1line = __('email.your_request_from')." ".$this->user_shop->slug.'.mivita.care'; - } + $copy1line = __('email.your_request_from')." gruene-seele.bio"; + return $this->view('emails.contact')->with([ 'salutation' => $salutation, diff --git a/app/Mail/MailSyS.php b/app/Mail/MailSyS.php index 49dabc9..5939960 100644 --- a/app/Mail/MailSyS.php +++ b/app/Mail/MailSyS.php @@ -22,7 +22,7 @@ class MailSyS extends Mailable $this->action = $action; if($this->action === "log"){ - $this->subject = 'mivita Logger'; + $this->subject = 'gruene-seele Logger'; } } diff --git a/app/Models/Product.php b/app/Models/Product.php index a6f20d7..6a59e2c 100644 --- a/app/Models/Product.php +++ b/app/Models/Product.php @@ -176,7 +176,7 @@ class Product extends Model 'show_order' => 'Wird immer als Option angezeigt', 'upgrade' => 'Produktupgrade zur Produkt ID', 'upgrade_member' => 'Beraterupgrade zur Karriere ID', - 'proportional_voucher' => 'Anteiliger Gutschein Berater', + //'proportional_voucher' => 'Anteiliger Gutschein Berater', ]; @@ -189,22 +189,22 @@ class Product extends Model ]; public $showATs = [ - 0 => 'Nur Kunden Shop', - 1 => 'Kunden + Berater Shop', - 2 => 'Nur Berater Shop', + 0 => 'Nur Kunden Bestellungen', + 1 => 'Kunden + Berater Bestellungen', + 2 => 'Nur Berater Bestellungen', 3 => 'Registrierung / Mitgliedschaft Berater', 4 => 'Nur Mitgliedschaft Berater', - 5 => 'Onboarding Berater', - 6 => 'Onboarding Berater + Berater Shop', + //5 => 'Onboarding Berater', + //6 => 'Onboarding Berater + Berater Shop', 7 => 'zur internen Berechnung', ]; public $actions = [ 0 => 'payment_for_account', - 1 => 'payment_for_shop', - 2 => 'payment_for_shop_upgrade', - 4 => 'payment_for_lead_upgrade', + // 1 => 'payment_for_shop', + // 2 => 'payment_for_shop_upgrade', + // 4 => 'payment_for_lead_upgrade', ]; diff --git a/app/Models/Setting.php b/app/Models/Setting.php new file mode 100644 index 0000000..e3a0761 --- /dev/null +++ b/app/Models/Setting.php @@ -0,0 +1,111 @@ + 'int', + 'status' => 'int', + 'object' => 'array' + ]; + + protected $fillable = [ + 'identifier', + 'slug', + 'referenz', + 'action', + 'object', + 'full_text', + 'text', + 'status', + 'type' + ]; + + protected static $types = [ + 'object' => 'Object', + 'full_text' => 'Full Text', + 'text' => 'Text', + ]; + + public function sluggable() + { + return [ + 'slug' => [ + 'source' => 'name' + ] + ]; + } + public static function getContentBySlug($slug){ + $content = self::whereSlug(trim($slug))->first(); + if($content){ + switch ($content->type){ + case 'object': + return $content->object; + break; + case 'full_text': + return $content->full_text; + break; + case 'text': + return $content->text; + break; + } + } + return false; + } + + public static function setContentBySlug($slug, $value, $type = "full_text"){ + + $content = self::whereSlug(trim($slug))->first(); + if(!$content) { + $content = self::create([ + 'slug' => $slug, + 'type' => $type, + ]); + } + $content->type = $type; + switch ($content->type){ + case 'object': + $content->object = $value; + break; + case 'full_text': + $content->full_text = $value; + break; + case 'text': + $content->text = $value; + break; + } + + $content->save(); + return $content; + } + +} diff --git a/app/Models/ShippingPrice.php b/app/Models/ShippingPrice.php index 724ee3b..1e1cf5f 100644 --- a/app/Models/ShippingPrice.php +++ b/app/Models/ShippingPrice.php @@ -71,7 +71,7 @@ class ShippingPrice extends Model $this->attributes['factor'] = $value ? Util::reFormatNumber($value) : null; } - public function setTaxAttribute($value) + public function setTaxRateAttribute($value) { $this->attributes['tax_rate'] = $value ? Util::reFormatNumber($value) : null; } diff --git a/app/Models/ShoppingOrder.php b/app/Models/ShoppingOrder.php index d42ddb5..50f60c7 100644 --- a/app/Models/ShoppingOrder.php +++ b/app/Models/ShoppingOrder.php @@ -185,6 +185,10 @@ class ShoppingOrder extends Model return $this->hasMany('App\Models\ShoppingPayment', 'shopping_order_id'); } + public function shopping_payment_last(){ + return $this->hasOne('App\Models\ShoppingPayment', 'shopping_order_id')->latest(); + } + public function setUserHistoryValue($values = []){ if($user_history = $this->user_history){ foreach ($values as $key=>$val){ diff --git a/app/Repositories/ContractPDFRepository.php b/app/Repositories/ContractPDFRepository.php index 201e40c..98f2446 100644 --- a/app/Repositories/ContractPDFRepository.php +++ b/app/Repositories/ContractPDFRepository.php @@ -104,10 +104,10 @@ class ContractPDFRepository extends BaseRepository { $pdf->SetXY($x1, $y); $pdf->Write(0, $this->convert($this->model->user_sponsor->account->m_first_name)." ".$this->convert($this->model->user_sponsor->account->m_last_name)); - $website = $this->model->user_sponsor->shop()->count() ? $this->model->user_sponsor->shop->getSubdomain(false) : "www.mivita.care"; + $website = "www.gruene-seele.bio"; }else{ - $website = "www.mivita.care"; + $website = "www.gruene-seele.bio"; } $pdf->AddPage('P', array(210, 297)); @@ -128,7 +128,7 @@ class ContractPDFRepository extends BaseRepository { if(!Storage::disk($this->disk)->exists( $this->dir )){ Storage::disk($this->disk)->makeDirectory($this->dir); //creates directory } - $filename = "MIVITA_Beratervertrag.pdf"; + $filename = "Beratervertrag.pdf"; Storage::disk($this->disk)->put($this->dir.$filename, $pdf->Output('S')); $size = Storage::disk($this->disk)->size($this->dir.$filename); $mine = Storage::disk($this->disk)->getMimeType($this->dir.$filename); diff --git a/app/Services/Payment.php b/app/Services/Payment.php index dd0feac..d8bfcdb 100644 --- a/app/Services/Payment.php +++ b/app/Services/Payment.php @@ -16,26 +16,41 @@ class Payment 'appointed' => "offen", 'failed' => "abbruch", 'extern' => "extern", + 'open' => "offen", 'invoice_open' => "Re. offen", 'invoice_paid' => "Re. bezahlt", - 'invoice_non' => "keine Zahlung", + 'invoice_non' => "Re. keine Zahlung", + 'non' => "keine Zahlung", 'NULL' => 'keine Zahlung', ]; public static $txaction_invoice = [ - 'invoice_open' => "Re. offen", - 'invoice_paid' => "Re. bezahlt", - 'invoice_non' => 'keine Zahlung', + 'open' => "offen", + 'paid' => "bezahlt", + 'non' => "keine Zahlung", + /*'open_vor' => "Vorkasse offen", + 'paid_vor' => "Vorkasse bezahlt", + 'non_vor' => "Vorkasse keine Zahlung", + 'invoice_open' => "Rechung offen", + 'invoice_paid' => "Rechung bezahlt", + 'invoice_non' => 'Rechung keine Zahlung',*/ + ]; public static $txaction_color = [ - 'paid' => "success", 'appointed' => "warning", 'failed' => "danger", 'extern' => "success", + 'open' => "warning", + 'paid' => "success", + 'non' => "danger", + 'open_vor' => "warning", + 'paid_vor' => "success", + 'non_vor' => "danger", 'invoice_open' => "warning", 'invoice_paid' => "success", - 'invoice_non' => "failed", + 'invoice_non' => "danger", + ]; @@ -71,8 +86,9 @@ class Payment } - /* public static function paymentStatusPaidAction(ShoppingOrder $shopping_order, $paid){ + public static function paymentStatusPaidAction(ShoppingOrder $shopping_order, $paid){ $send_link = false; + $shopping_order->setUserHistoryValue(['status' => 8]); Shop::userOrders(); $shopping_order->paid = $paid; @@ -83,6 +99,7 @@ class Payment foreach($shopping_order->shopping_order_items as $shopping_order_item){ if($shopping_order_item->product){ if($shopping_order_item->product->action){ + $user = User::findOrFail($shopping_order->auth_user_id); $user->save(); $send_link = true; @@ -93,12 +110,13 @@ class Payment } foreach ($shopping_order_item->product->action as $do){ if($shopping_order_item->product->getActionName($do) === 'payment_for_account'){ - $user->payment_order_id = $shopping_order_item->product->id; //34 + // $user->payment_order_id = $shopping_order_item->product->id; //34 $user->payment_account = $date; $user->wizard = 100; + $user->payment_credit = $shopping_order_item->product->price; $shopping_order->setUserHistoryValue(['status' => 9]); } - if($shopping_order_item->product->getActionName($do) === 'payment_for_shop'){ + /*if($shopping_order_item->product->getActionName($do) === 'payment_for_shop'){ $user->payment_order_id = $shopping_order_item->product->id; //35 $user->payment_shop = $date; $user->wizard = 100; @@ -115,7 +133,7 @@ class Payment if($shopping_order_item->product->upgrade_to_id){ $user->m_level = $shopping_order_item->product->upgrade_to_id; } - } + }*/ $user->save(); } } @@ -125,7 +143,7 @@ class Payment } return $send_link; - }*/ + } public static function paymentStatusSendMail(ShoppingOrder $shopping_order, $shopping_payment, $data){ $bcc = []; diff --git a/app/Services/Util.php b/app/Services/Util.php index b1805cf..c21f3eb 100644 --- a/app/Services/Util.php +++ b/app/Services/Util.php @@ -107,25 +107,25 @@ class Util } - public static function getUserShopIdentifier(){ + /*public static function getUserShopIdentifier(){ if(\Session::has('user_shop_identifier')){ if($user_shop_identifier = \Session::get('user_shop_identifier')){ return $user_shop_identifier; } } return false; - } - public static function getUserHistory(){ + }*/ + + public static function getUserHistory($identifier){ $auth_user = self::getAuthUser(); - $user_shop_identifier = self::getUserShopIdentifier(); - if($user_shop_identifier && $auth_user){ - return UserHistory::whereUserId($auth_user->id)->whereIdentifier($user_shop_identifier)->get()->last(); + if($auth_user){ + return UserHistory::whereUserId($auth_user->id)->whereIdentifier($identifier)->get()->last(); } return false; } - public static function setUserHistoryValue($values = []){ - if($user_history = self::getUserHistory()){ + public static function setUserHistoryValue($values = [], $identifier){ + if($user_history = self::getUserHistory($identifier)){ foreach ($values as $key=>$val){ $user_history->{$key} = $val; } @@ -133,8 +133,8 @@ class Util } } - public static function getUserHistoryValue($key){ - if($user_history = self::getUserHistory()) { + public static function getUserHistoryValue($key, $identifier){ + if($user_history = self::getUserHistory($identifier)) { return $user_history->{$key}; } return null; diff --git a/app/Services/Yard.php b/app/Services/Yard.php index 8ed0094..a333b0b 100644 --- a/app/Services/Yard.php +++ b/app/Services/Yard.php @@ -19,7 +19,7 @@ class Yard extends Cart private $shipping_tax = 0; private $shipping_country_id = 0; //default de private $shipping_is_for; - private $num_comp; + //private $num_comp; private $ysession; private $yinstance; private $shopping_data = []; @@ -52,9 +52,9 @@ class Yard extends Cart $this->shipping_is_for = $this->getYardExtra('shipping_is_for'); } - if($this->getYardExtra('num_comp')){ + /*if($this->getYardExtra('num_comp')){ $this->num_comp = $this->getYardExtra('num_comp'); - } + }*/ parent::__construct($session, $events); @@ -146,12 +146,13 @@ class Yard extends Cart return; } $shipping = $shippingCountry->shipping; - if($this->weight() == 0){ $shipping_price = $shipping->shipping_prices->first(); $shipping_price->price = 0; $shipping_price->price_comp = 0; }else{ + + //first by price $shipping_price = $this->shippingPriceByTotal($shipping->shipping_prices, $this->total(2, '.', '')); //sec by weight @@ -160,23 +161,24 @@ class Yard extends Cart } //default if(!$shipping_price){ + $shipping_price = $shipping->shipping_prices->first(); } } if($shipping_price){ $price = $shipping_price->price; - $this->num_comp = 0; + /*$this->num_comp = 0; if($this->shipping_is_for === 'me'){ $price = $shipping_price->price_comp; $this->num_comp = $shipping_price->num_comp; - } + }*/ $this->shipping_price = $price; $this->shipping_tax_rate = $shipping_price->tax_rate; $this->shipping_price_net = round($price / ((100+$shipping_price->tax_rate) / 100), 2); $this->shipping_tax = round($price / (100+$shipping_price->tax_rate) * 100, 2); - $this->putYardExtra('num_comp', $this->num_comp); + //$this->putYardExtra('num_comp', $this->num_comp); $this->putYardExtra('shipping_price', $this->shipping_price); $this->putYardExtra('shipping_tax_rate', $this->shipping_tax_rate); $this->putYardExtra('shipping_tax', $this->shipping_tax); @@ -419,7 +421,7 @@ class Yard extends Cart } public function getNumComp(){ - return $this->num_comp; + return 0; //$this->num_comp; } public function getCompProductBy($comp, $product_id=false){ diff --git a/app/User.php b/app/User.php index 5c0ace9..41e88d5 100644 --- a/app/User.php +++ b/app/User.php @@ -9,6 +9,7 @@ use Illuminate\Notifications\Notifiable; use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Support\Facades\Mail; +use Util; /** * App\User @@ -251,13 +252,13 @@ class User extends Authenticatable public function isRenewalAccount(){ if ($this->payment_account) { - return Carbon::parse($this->payment_account)->modify('-'.(config('mivita.renewal_days')+1).' days')->lt(Carbon::now()); + return Carbon::parse($this->payment_account)->modify('-'.(config('main.renewal_days')+1).' days')->lt(Carbon::now()); } return false; } public function nextRenewalAccount(){ - return $this->payment_account ? Carbon::parse($this->payment_account)->modify('-'.config('mivita.renewal_days').' days')->format(\Util::formatDateTimeDB()) : false ; + return $this->payment_account ? Carbon::parse($this->payment_account)->modify('-'.config('main.renewal_days').' days')->format(\Util::formatDateTimeDB()) : false ; } public function daysActiveAccount(){ @@ -332,6 +333,10 @@ class User extends Authenticatable return Carbon::parse($this->attributes['release_account'])->format(\Util::formatDateTimeDB()); } + public function getFormattedPaymentCredit() + { + return isset($this->attributes['payment_credit']) ? Util::formatNumber($this->attributes['payment_credit']) : "0"; + } public function setSetting(array $revisions, bool $save = true){ if(!$this->settings){ diff --git a/composer.lock b/composer.lock index 206cf92..0a09db7 100644 --- a/composer.lock +++ b/composer.lock @@ -1097,16 +1097,16 @@ }, { "name": "dompdf/dompdf", - "version": "v1.0.1", + "version": "v1.0.2", "source": { "type": "git", "url": "https://github.com/dompdf/dompdf.git", - "reference": "45d260f2f6c6a542e0db3459470374c986a46d93" + "reference": "8768448244967a46d6e67b891d30878e0e15d25c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dompdf/dompdf/zipball/45d260f2f6c6a542e0db3459470374c986a46d93", - "reference": "45d260f2f6c6a542e0db3459470374c986a46d93", + "url": "https://api.github.com/repos/dompdf/dompdf/zipball/8768448244967a46d6e67b891d30878e0e15d25c", + "reference": "8768448244967a46d6e67b891d30878e0e15d25c", "shasum": "" }, "require": { @@ -1163,9 +1163,9 @@ "homepage": "https://github.com/dompdf/dompdf", "support": { "issues": "https://github.com/dompdf/dompdf/issues", - "source": "https://github.com/dompdf/dompdf/tree/v1.0.1" + "source": "https://github.com/dompdf/dompdf/tree/v1.0.2" }, - "time": "2020-12-31T13:25:19+00:00" + "time": "2021-01-08T14:18:52+00:00" }, { "name": "dragonmantank/cron-expression", @@ -1994,16 +1994,16 @@ }, { "name": "laravel/framework", - "version": "v8.21.0", + "version": "v8.22.1", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "a61cab167c35f465a923737ee6e6fb99cd5fde88" + "reference": "5c70991b96c5722afed541a996479b5112654c8b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/a61cab167c35f465a923737ee6e6fb99cd5fde88", - "reference": "a61cab167c35f465a923737ee6e6fb99cd5fde88", + "url": "https://api.github.com/repos/laravel/framework/zipball/5c70991b96c5722afed541a996479b5112654c8b", + "reference": "5c70991b96c5722afed541a996479b5112654c8b", "shasum": "" }, "require": { @@ -2157,7 +2157,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2021-01-05T15:43:10+00:00" + "time": "2021-01-13T13:37:56+00:00" }, { "name": "laravel/helpers", @@ -2362,16 +2362,16 @@ }, { "name": "laravel/ui", - "version": "v3.1.0", + "version": "v3.2.0", "source": { "type": "git", "url": "https://github.com/laravel/ui.git", - "reference": "444072cb2f8baaa15172c5cde2bd30d188c3b7e7" + "reference": "a1f82c6283c8373ea1958b8a27c3d5c98cade351" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/ui/zipball/444072cb2f8baaa15172c5cde2bd30d188c3b7e7", - "reference": "444072cb2f8baaa15172c5cde2bd30d188c3b7e7", + "url": "https://api.github.com/repos/laravel/ui/zipball/a1f82c6283c8373ea1958b8a27c3d5c98cade351", + "reference": "a1f82c6283c8373ea1958b8a27c3d5c98cade351", "shasum": "" }, "require": { @@ -2414,9 +2414,9 @@ ], "support": { "issues": "https://github.com/laravel/ui/issues", - "source": "https://github.com/laravel/ui/tree/v3.1.0" + "source": "https://github.com/laravel/ui/tree/v3.2.0" }, - "time": "2020-11-03T19:51:21+00:00" + "time": "2021-01-06T19:20:22+00:00" }, { "name": "laravelcollective/html", @@ -4590,16 +4590,16 @@ }, { "name": "swiftmailer/swiftmailer", - "version": "v6.2.4", + "version": "v6.2.5", "source": { "type": "git", "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "56f0ab23f54c4ccbb0d5dcc67ff8552e0c98d59e" + "reference": "698a6a9f54d7eb321274de3ad19863802c879fb7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/56f0ab23f54c4ccbb0d5dcc67ff8552e0c98d59e", - "reference": "56f0ab23f54c4ccbb0d5dcc67ff8552e0c98d59e", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/698a6a9f54d7eb321274de3ad19863802c879fb7", + "reference": "698a6a9f54d7eb321274de3ad19863802c879fb7", "shasum": "" }, "require": { @@ -4649,7 +4649,7 @@ ], "support": { "issues": "https://github.com/swiftmailer/swiftmailer/issues", - "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.2.4" + "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.2.5" }, "funding": [ { @@ -4661,7 +4661,7 @@ "type": "tidelift" } ], - "time": "2020-12-08T18:02:06+00:00" + "time": "2021-01-12T09:35:59+00:00" }, { "name": "symfony/console", @@ -5532,16 +5532,16 @@ }, { "name": "symfony/polyfill-ctype", - "version": "v1.20.0", + "version": "v1.22.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "f4ba089a5b6366e453971d3aad5fe8e897b37f41" + "reference": "c6c942b1ac76c82448322025e084cadc56048b4e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f4ba089a5b6366e453971d3aad5fe8e897b37f41", - "reference": "f4ba089a5b6366e453971d3aad5fe8e897b37f41", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e", + "reference": "c6c942b1ac76c82448322025e084cadc56048b4e", "shasum": "" }, "require": { @@ -5553,7 +5553,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.22-dev" }, "thanks": { "name": "symfony/polyfill", @@ -5591,7 +5591,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.20.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.22.0" }, "funding": [ { @@ -5607,20 +5607,20 @@ "type": "tidelift" } ], - "time": "2020-10-23T14:02:19+00:00" + "time": "2021-01-07T16:49:33+00:00" }, { "name": "symfony/polyfill-iconv", - "version": "v1.20.0", + "version": "v1.22.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "c536646fdb4f29104dd26effc2fdcb9a5b085024" + "reference": "b34bfb8c4c22650ac080d2662ae3502e5f2f4ae6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/c536646fdb4f29104dd26effc2fdcb9a5b085024", - "reference": "c536646fdb4f29104dd26effc2fdcb9a5b085024", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/b34bfb8c4c22650ac080d2662ae3502e5f2f4ae6", + "reference": "b34bfb8c4c22650ac080d2662ae3502e5f2f4ae6", "shasum": "" }, "require": { @@ -5632,7 +5632,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.22-dev" }, "thanks": { "name": "symfony/polyfill", @@ -5671,7 +5671,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-iconv/tree/v1.20.0" + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.22.0" }, "funding": [ { @@ -5687,20 +5687,20 @@ "type": "tidelift" } ], - "time": "2020-10-23T14:02:19+00:00" + "time": "2021-01-07T16:49:33+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.20.0", + "version": "v1.22.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "c7cf3f858ec7d70b89559d6e6eb1f7c2517d479c" + "reference": "267a9adeb8ecb8071040a740930e077cdfb987af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/c7cf3f858ec7d70b89559d6e6eb1f7c2517d479c", - "reference": "c7cf3f858ec7d70b89559d6e6eb1f7c2517d479c", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/267a9adeb8ecb8071040a740930e077cdfb987af", + "reference": "267a9adeb8ecb8071040a740930e077cdfb987af", "shasum": "" }, "require": { @@ -5712,7 +5712,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.22-dev" }, "thanks": { "name": "symfony/polyfill", @@ -5752,7 +5752,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.20.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.22.0" }, "funding": [ { @@ -5768,20 +5768,20 @@ "type": "tidelift" } ], - "time": "2020-10-23T14:02:19+00:00" + "time": "2021-01-07T16:49:33+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.20.0", + "version": "v1.22.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "3b75acd829741c768bc8b1f84eb33265e7cc5117" + "reference": "0eb8293dbbcd6ef6bf81404c9ce7d95bcdf34f44" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/3b75acd829741c768bc8b1f84eb33265e7cc5117", - "reference": "3b75acd829741c768bc8b1f84eb33265e7cc5117", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/0eb8293dbbcd6ef6bf81404c9ce7d95bcdf34f44", + "reference": "0eb8293dbbcd6ef6bf81404c9ce7d95bcdf34f44", "shasum": "" }, "require": { @@ -5795,7 +5795,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.22-dev" }, "thanks": { "name": "symfony/polyfill", @@ -5839,7 +5839,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.20.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.22.0" }, "funding": [ { @@ -5855,20 +5855,20 @@ "type": "tidelift" } ], - "time": "2020-10-23T14:02:19+00:00" + "time": "2021-01-07T16:49:33+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.20.0", + "version": "v1.22.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "727d1096295d807c309fb01a851577302394c897" + "reference": "6e971c891537eb617a00bb07a43d182a6915faba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/727d1096295d807c309fb01a851577302394c897", - "reference": "727d1096295d807c309fb01a851577302394c897", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/6e971c891537eb617a00bb07a43d182a6915faba", + "reference": "6e971c891537eb617a00bb07a43d182a6915faba", "shasum": "" }, "require": { @@ -5880,7 +5880,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.22-dev" }, "thanks": { "name": "symfony/polyfill", @@ -5923,7 +5923,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.20.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.22.0" }, "funding": [ { @@ -5939,20 +5939,20 @@ "type": "tidelift" } ], - "time": "2020-10-23T14:02:19+00:00" + "time": "2021-01-07T17:09:11+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.20.0", + "version": "v1.22.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "39d483bdf39be819deabf04ec872eb0b2410b531" + "reference": "f377a3dd1fde44d37b9831d68dc8dea3ffd28e13" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/39d483bdf39be819deabf04ec872eb0b2410b531", - "reference": "39d483bdf39be819deabf04ec872eb0b2410b531", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/f377a3dd1fde44d37b9831d68dc8dea3ffd28e13", + "reference": "f377a3dd1fde44d37b9831d68dc8dea3ffd28e13", "shasum": "" }, "require": { @@ -5964,7 +5964,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.22-dev" }, "thanks": { "name": "symfony/polyfill", @@ -6003,7 +6003,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.20.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.22.0" }, "funding": [ { @@ -6019,20 +6019,20 @@ "type": "tidelift" } ], - "time": "2020-10-23T14:02:19+00:00" + "time": "2021-01-07T16:49:33+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.20.0", + "version": "v1.22.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "cede45fcdfabdd6043b3592e83678e42ec69e930" + "reference": "cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/cede45fcdfabdd6043b3592e83678e42ec69e930", - "reference": "cede45fcdfabdd6043b3592e83678e42ec69e930", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9", + "reference": "cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9", "shasum": "" }, "require": { @@ -6041,7 +6041,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.22-dev" }, "thanks": { "name": "symfony/polyfill", @@ -6079,7 +6079,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.20.0" + "source": "https://github.com/symfony/polyfill-php72/tree/v1.22.0" }, "funding": [ { @@ -6095,20 +6095,20 @@ "type": "tidelift" } ], - "time": "2020-10-23T14:02:19+00:00" + "time": "2021-01-07T16:49:33+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.20.0", + "version": "v1.22.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "8ff431c517be11c78c48a39a66d37431e26a6bed" + "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/8ff431c517be11c78c48a39a66d37431e26a6bed", - "reference": "8ff431c517be11c78c48a39a66d37431e26a6bed", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", + "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", "shasum": "" }, "require": { @@ -6117,7 +6117,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.22-dev" }, "thanks": { "name": "symfony/polyfill", @@ -6158,7 +6158,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.20.0" + "source": "https://github.com/symfony/polyfill-php73/tree/v1.22.0" }, "funding": [ { @@ -6174,20 +6174,20 @@ "type": "tidelift" } ], - "time": "2020-10-23T14:02:19+00:00" + "time": "2021-01-07T16:49:33+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.20.0", + "version": "v1.22.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "e70aa8b064c5b72d3df2abd5ab1e90464ad009de" + "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/e70aa8b064c5b72d3df2abd5ab1e90464ad009de", - "reference": "e70aa8b064c5b72d3df2abd5ab1e90464ad009de", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dc3063ba22c2a1fd2f45ed856374d79114998f91", + "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91", "shasum": "" }, "require": { @@ -6196,7 +6196,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.22-dev" }, "thanks": { "name": "symfony/polyfill", @@ -6241,7 +6241,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.20.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.22.0" }, "funding": [ { @@ -6257,7 +6257,7 @@ "type": "tidelift" } ], - "time": "2020-10-23T14:02:19+00:00" + "time": "2021-01-07T16:49:33+00:00" }, { "name": "symfony/process", @@ -7263,16 +7263,16 @@ "packages-dev": [ { "name": "barryvdh/laravel-debugbar", - "version": "v3.5.1", + "version": "v3.5.2", "source": { "type": "git", "url": "https://github.com/barryvdh/laravel-debugbar.git", - "reference": "233c10688f4c1a6e66ed2ef123038b1363d1bedc" + "reference": "cae0a8d1cb89b0f0522f65e60465e16d738e069b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/233c10688f4c1a6e66ed2ef123038b1363d1bedc", - "reference": "233c10688f4c1a6e66ed2ef123038b1363d1bedc", + "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/cae0a8d1cb89b0f0522f65e60465e16d738e069b", + "reference": "cae0a8d1cb89b0f0522f65e60465e16d738e069b", "shasum": "" }, "require": { @@ -7285,6 +7285,7 @@ "symfony/finder": "^4.3|^5" }, "require-dev": { + "mockery/mockery": "^1.3.3", "orchestra/testbench-dusk": "^4|^5|^6", "phpunit/phpunit": "^8.5|^9.0", "squizlabs/php_codesniffer": "^3.5" @@ -7331,7 +7332,7 @@ ], "support": { "issues": "https://github.com/barryvdh/laravel-debugbar/issues", - "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.5.1" + "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.5.2" }, "funding": [ { @@ -7339,7 +7340,7 @@ "type": "github" } ], - "time": "2020-09-07T19:32:39+00:00" + "time": "2021-01-06T14:21:44+00:00" }, { "name": "barryvdh/laravel-ide-helper", @@ -7481,16 +7482,16 @@ }, { "name": "composer/ca-bundle", - "version": "1.2.8", + "version": "1.2.9", "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "8a7ecad675253e4654ea05505233285377405215" + "reference": "78a0e288fdcebf92aa2318a8d3656168da6ac1a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/8a7ecad675253e4654ea05505233285377405215", - "reference": "8a7ecad675253e4654ea05505233285377405215", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/78a0e288fdcebf92aa2318a8d3656168da6ac1a5", + "reference": "78a0e288fdcebf92aa2318a8d3656168da6ac1a5", "shasum": "" }, "require": { @@ -7499,14 +7500,15 @@ "php": "^5.3.2 || ^7.0 || ^8.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8", + "phpstan/phpstan": "^0.12.55", "psr/log": "^1.0", + "symfony/phpunit-bridge": "^4.2 || ^5", "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.x-dev" + "dev-main": "1.x-dev" } }, "autoload": { @@ -7536,7 +7538,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/ca-bundle/issues", - "source": "https://github.com/composer/ca-bundle/tree/1.2.8" + "source": "https://github.com/composer/ca-bundle/tree/1.2.9" }, "funding": [ { @@ -7552,7 +7554,7 @@ "type": "tidelift" } ], - "time": "2020-08-23T12:54:47+00:00" + "time": "2021-01-12T12:10:35+00:00" }, { "name": "composer/composer", @@ -8632,16 +8634,16 @@ }, { "name": "nunomaduro/collision", - "version": "v5.1.0", + "version": "v5.2.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/collision.git", - "reference": "7c2b95589bf81e274e61e47f7672a1b2c3e06eaa" + "reference": "aca954fd03414ba0dd85d7d8e42ba9b251893d1f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/7c2b95589bf81e274e61e47f7672a1b2c3e06eaa", - "reference": "7c2b95589bf81e274e61e47f7672a1b2c3e06eaa", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/aca954fd03414ba0dd85d7d8e42ba9b251893d1f", + "reference": "aca954fd03414ba0dd85d7d8e42ba9b251893d1f", "shasum": "" }, "require": { @@ -8651,16 +8653,16 @@ "symfony/console": "^5.0" }, "require-dev": { - "fideloper/proxy": "^4.4.0", - "friendsofphp/php-cs-fixer": "^2.16.4", - "fruitcake/laravel-cors": "^2.0.1", - "laravel/framework": "^8.0", - "laravel/tinker": "^2.4.1", + "brianium/paratest": "^6.1", + "fideloper/proxy": "^4.4.1", + "friendsofphp/php-cs-fixer": "^2.17.3", + "fruitcake/laravel-cors": "^2.0.3", + "laravel/framework": "^9.0", "nunomaduro/larastan": "^0.6.2", "nunomaduro/mock-final-classes": "^1.0", - "orchestra/testbench": "^6.0", - "phpstan/phpstan": "^0.12.36", - "phpunit/phpunit": "^9.3.3" + "orchestra/testbench": "^7.0", + "phpstan/phpstan": "^0.12.64", + "phpunit/phpunit": "^9.5.0" }, "type": "library", "extra": { @@ -8716,7 +8718,7 @@ "type": "patreon" } ], - "time": "2020-10-29T14:50:40+00:00" + "time": "2021-01-13T10:00:08+00:00" }, { "name": "phar-io/manifest", diff --git a/config/cart.php b/config/cart.php index 8e491ce..e857598 100644 --- a/config/cart.php +++ b/config/cart.php @@ -58,9 +58,9 @@ return [ 'decimals' => 2, - 'decimal_point' => '.', + 'decimal_point' => ',', - 'thousand_seperator' => '' + 'thousand_seperator' => '.' ], diff --git a/config/models.php b/config/models.php new file mode 100644 index 0000000..e2f026e --- /dev/null +++ b/config/models.php @@ -0,0 +1,460 @@ + [ + + /* + |-------------------------------------------------------------------------- + | Model Files Location + |-------------------------------------------------------------------------- + | + | We need a location to store your new generated files. All files will be + | placed within this directory. When you turn on base files, they will + | be placed within a Base directory inside this location. + | + */ + + 'path' => app_path('Models'), + + /* + |-------------------------------------------------------------------------- + | Model Namespace + |-------------------------------------------------------------------------- + | + | Every generated model will belong to this namespace. It is suggested + | that this namespace should follow PSR-4 convention and be very + | similar to the path of your models defined above. + | + */ + + 'namespace' => 'App\Models', + + /* + |-------------------------------------------------------------------------- + | Parent Class + |-------------------------------------------------------------------------- + | + | All Eloquent models should inherit from Eloquent Model class. However, + | you can define a custom Eloquent model that suits your needs. + | As an example one custom model has been added for you which + | will allow you to create custom database castings. + | + */ + + 'parent' => Illuminate\Database\Eloquent\Model::class, + + /* + |-------------------------------------------------------------------------- + | Traits + |-------------------------------------------------------------------------- + | + | Sometimes you may want to append certain traits to all your models. + | If that is what you need, you may list them bellow. + | As an example we have a BitBooleans trait which will treat MySQL bit + | data type as booleans. You might probably not need it, but it is + | an example of how you can customize your models. + | + */ + + 'use' => [ + // Reliese\Database\Eloquent\BitBooleans::class, + // Reliese\Database\Eloquent\BlamableBehavior::class, + ], + + /* + |-------------------------------------------------------------------------- + | Model Connection + |-------------------------------------------------------------------------- + | + | If you wish your models had appended the connection from which they + | were generated, you should set this value to true and your + | models will have the connection property filled. + | + */ + + 'connection' => false, + + /* + |-------------------------------------------------------------------------- + | Timestamps + |-------------------------------------------------------------------------- + | + | If your tables have CREATED_AT and UPDATED_AT timestamps you may + | enable them and your models will fill their values as needed. + | You can also specify which fields should be treated as timestamps + | in case you don't follow the naming convention Eloquent uses. + | If your table doesn't have these fields, timestamps will be + | disabled for your model. + | + */ + + 'timestamps' => true, + + // 'timestamps' => [ + // 'enabled' => true, + // 'fields' => [ + // 'CREATED_AT' => 'created_at', + // 'UPDATED_AT' => 'updated_at', + // ] + // ], + + /* + |-------------------------------------------------------------------------- + | Soft Deletes + |-------------------------------------------------------------------------- + | + | If your tables support soft deletes with a DELETED_AT attribute, + | you can enable them here. You can also specify which field + | should be treated as a soft delete attribute in case you + | don't follow the naming convention Eloquent uses. + | If your table doesn't have this field, soft deletes will be + | disabled for your model. + | + */ + + 'soft_deletes' => true, + + // 'soft_deletes' => [ + // 'enabled' => true, + // 'field' => 'deleted_at', + // ], + + /* + |-------------------------------------------------------------------------- + | Date Format + |-------------------------------------------------------------------------- + | + | Here you may define your models' date format. The following format + | is the default format Eloquent uses. You won't see it in your + | models unless you change it to a more convenient value. + | + */ + + 'date_format' => 'Y-m-d H:i:s', + + /* + |-------------------------------------------------------------------------- + | Pagination + |-------------------------------------------------------------------------- + | + | Here you may define how many models Eloquent should display when + | paginating them. The default number is 15, so you might not + | see this number in your models unless you change it. + | + */ + + 'per_page' => 15, + + /* + |-------------------------------------------------------------------------- + | Base Files + |-------------------------------------------------------------------------- + | + | By default, your models will be generated in your models path, but + | when you generate them again they will be replaced by new ones. + | You may want to customize your models and, at the same time, be + | able to generate them as your tables change. For that, you + | can enable base files. These files will be replaced whenever + | you generate them, but your customized files will not be touched. + | + */ + + 'base_files' => false, + + /* + |-------------------------------------------------------------------------- + | Snake Attributes + |-------------------------------------------------------------------------- + | + | Eloquent treats your model attributes as snake cased attributes, but + | if you have camel-cased fields in your database you can disable + | that behaviour and use camel case attributes in your models. + | + */ + + 'snake_attributes' => true, + + /* + |-------------------------------------------------------------------------- + | Indent options + |-------------------------------------------------------------------------- + | + | As default indention is done with tabs, but you can change it by setting + | this to the amount of spaces you that you want to use for indentation. + | Usually you will use 4 spaces instead of tabs. + | + */ + + 'indent_with_space' => 0, + + /* + |-------------------------------------------------------------------------- + | Qualified Table Names + |-------------------------------------------------------------------------- + | + | If some of your tables have cross-database relationships (probably in + | MySQL), you can make sure your models take into account their + | respective database schema. + | + | Can Either be NULL, FALSE or TRUE + | TRUE: Schema name will be prepended on the table + | FALSE:Table name will be set without schema name. + | NULL: Table name will follow laravel pattern, + | i.e if class name(plural) matches table name, then table name will not be added + */ + + 'qualified_tables' => false, + + /* + |-------------------------------------------------------------------------- + | Hidden Attributes + |-------------------------------------------------------------------------- + | + | When casting your models into arrays or json, the need to hide some + | attributes sometimes arise. If your tables have some fields you + | want to hide, you can define them bellow. + | Some fields were defined for you. + | + */ + + 'hidden' => [ + '*secret*', '*password', '*token', + ], + + /* + |-------------------------------------------------------------------------- + | Mass Assignment Guarded Attributes + |-------------------------------------------------------------------------- + | + | You may want to protect some fields from mass assignment. You can + | define them bellow. Some fields were defined for you. + | Your fillable attributes will be those which are not in the list + | excluding your models' primary keys. + | + */ + + 'guarded' => [ + // 'created_by', 'updated_by' + ], + + /* + |-------------------------------------------------------------------------- + | Casts + |-------------------------------------------------------------------------- + | + | You may want to specify which of your table fields should be casted as + | something different than a string. For instance, you may want a + | text field be casted as an array or and object. + | + | You may define column patterns which will be casted using the value + | assigned. We have defined some fields for you. Feel free to + | modify them to fit your needs. + | + */ + + 'casts' => [ + '*_json' => 'json', + ], + + /* + |-------------------------------------------------------------------------- + | Excluded Tables + |-------------------------------------------------------------------------- + | + | When performing the generation of models you may want to skip some of + | them, because you don't want a model for them or any other reason. + | You can define those tables bellow. The migrations table was + | filled for you, since you may not want a model for it. + | + */ + + 'except' => [ + 'migrations', + ], + + /* + |-------------------------------------------------------------------------- + | Specified Tables + |-------------------------------------------------------------------------- + | + | You can specify specific tables. This will generate the models only + | for selected tables, ignoring the rest. + | + */ + + 'only' => [ + // 'users', + ], + + /* + |-------------------------------------------------------------------------- + | Table Prefix + |-------------------------------------------------------------------------- + | + | If you have a prefix on your table names but don't want it in the model + | and relation names, specify it here. + | + */ + + 'table_prefix' => '', + + /* + |-------------------------------------------------------------------------- + | Lower table name before doing studly + |-------------------------------------------------------------------------- + | + | If tables names are capitalised using studly produces incorrect name + | this can help fix it ie TABLE_NAME now becomes TableName + | + */ + + 'lower_table_name_first' => false, + + /* + |-------------------------------------------------------------------------- + | Relation Name Strategy + |-------------------------------------------------------------------------- + | + | How the relations should be named in your models. + | + | 'related' Use the related table as the relation name. + | (post.author --> user.id) + generates Post::user() and User::posts() + | + | 'foreign_key' Use the foreign key as the relation name. + | (post.author --> user.id) + | generates Post::author() and User::posts_author() + | Column id's are ignored. + | (post.author_id --> user.id) + | generates the same as above. + | When the foreign key is redundant, it is omited. + | (post.user_id --> user.id) + | generates User::posts() and not User::posts_user() + */ + + 'relation_name_strategy' => 'related', + // 'relation_name_strategy' => 'foreign_key', + + /* + |-------------------------------------------------------------------------- + | Determines need or not to generate constants with properties names like + | + | ... + | const AGE = 'age'; + | const USER_NAME = 'user_name'; + | ... + | + | that later can be used in QueryBuilder like + | + | ... + | $builder->select([User::USER_NAME])->where(User::AGE, '<=', 18); + | ... + | + | that helps to avoid typos in strings when typing field names and allows to use + | code competition with available model's field names. + */ + 'with_property_constants' => false, + + /* + |-------------------------------------------------------------------------- + | Disable Pluralization Name + |-------------------------------------------------------------------------- + | + | You can disable pluralization tables and relations + | + */ + 'pluralize' => true, + + /* + |-------------------------------------------------------------------------- + | Disable Pluralization Except For Certain Tables + |-------------------------------------------------------------------------- + | + | You can enable pluralization for certain tables + | + */ + 'override_pluralize_for' => [ + + ], + ], + + /* + |-------------------------------------------------------------------------- + | Database Specifics + |-------------------------------------------------------------------------- + | + | In this section you may define the default configuration for each model + | that will be generated from a specific database. You can also nest + | table specific configurations. + | These values will override those defined in the section above. + | + */ + + // 'shop' => [ + // 'path' => app_path(), + // 'namespace' => 'App', + // 'snake_attributes' => false, + // 'qualified_tables' => true, + // 'use' => [ + // Reliese\Database\Eloquent\BitBooleans::class, + // ], + // 'except' => ['migrations'], + // 'only' => ['users'], + // // Table Specifics Bellow: + // 'user' => [ + // // Don't use any default trait + // 'use' => [], + // ] + // ], + + /* + |-------------------------------------------------------------------------- + | Connection Specifics + |-------------------------------------------------------------------------- + | + | In this section you may define the default configuration for each model + | that will be generated from a specific connection. You can also nest + | database and table specific configurations. + | + | You may wish to use connection specific config for setting a parent + | model with a read only setup, or enforcing a different set of rules + | for a connection, e.g. using snake_case naming over CamelCase naming. + | + | This supports nesting with the following key configuration values, in + | reverse precedence order (i.e. the last one found becomes the value). + | + | connections.{connection_name}.property + | connections.{connection_name}.{database_name}.property + | connections.{connection_name}.{table_name}.property + | connections.{connection_name}.{database_name}.{table_name}.property + | + | These values will override those defined in the section above. + | + */ + +// 'connections' => [ +// 'read_only_external' => [ +// 'parent' => \App\Models\ReadOnlyModel::class, +// 'connection' => true, +// 'users' => [ +// 'connection' => false, +// ], +// 'my_other_database' => [ +// 'password_resets' => [ +// 'connection' => false, +// ] +// ] +// ], +// ], +]; diff --git a/database/migrations/2019_09_31_000000_create_users_table.php b/database/migrations/2019_09_31_000000_create_users_table.php index 5582903..3438a11 100644 --- a/database/migrations/2019_09_31_000000_create_users_table.php +++ b/database/migrations/2019_09_31_000000_create_users_table.php @@ -44,6 +44,9 @@ class CreateUsersTable extends Migration $table->timestamp('release_account')->nullable(); $table->timestamp('account_payment')->nullable(); + + $table->decimal('payment_credit', 10,2)->default(0); + $table->string('payment_methods')->nullable(); $table->unsignedInteger('next_m_level')->nullable(); $table->boolean('abo_options')->default(false); diff --git a/database/migrations/2020_12_23_161530_create_shopping_users_table.php b/database/migrations/2020_12_23_161530_create_shopping_users_table.php index 15670c6..98b5022 100644 --- a/database/migrations/2020_12_23_161530_create_shopping_users_table.php +++ b/database/migrations/2020_12_23_161530_create_shopping_users_table.php @@ -16,7 +16,7 @@ class CreateShoppingUsersTable extends Migration Schema::create('shopping_users', function (Blueprint $table) { $table->increments('id'); - $table->unsignedInteger('auth_user_id'); + $table->unsignedInteger('auth_user_id')->nullable(); $table->unsignedInteger('member_id')->nullable(); $table->unsignedInteger('number')->index()->nullable(); diff --git a/database/migrations/2021_01_15_102718_create_settings_table.php b/database/migrations/2021_01_15_102718_create_settings_table.php new file mode 100644 index 0000000..020d752 --- /dev/null +++ b/database/migrations/2021_01_15_102718_create_settings_table.php @@ -0,0 +1,45 @@ +id(); + $table->string('identifier')->index()->nullable(); + $table->string('slug')->unique()->index(); + + $table->unsignedInteger('referenz')->default(0); + $table->string('action')->nullable(); + $table->text('object')->nullable(); + $table->text('full_text')->nullable(); + $table->text('text')->nullable(); + + $table->unsignedTinyInteger('status')->default(0); + + $table->string('type', 10)->nullable(); + + + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('settings'); + } +} diff --git a/public/css/application.css b/public/css/application.css index e6a2ca3..eb1a207 100644 --- a/public/css/application.css +++ b/public/css/application.css @@ -24,8 +24,8 @@ a[aria-expanded='true'] > .fa-caret-expand:before { .custom-control.custom-checkbox .custom-control-input:checked ~ .custom-control-label.secondary::before, .custom-control.custom-radio .custom-control-input:checked ~ .custom-control-label.secondary::before { - border-color: #d7d700; - background-color: #d7d700; + border-color: #5f7567; + background-color: #5f7567; } .custom-control-label::before { diff --git a/public/fonts/roboto.css b/public/fonts/roboto.css new file mode 100755 index 0000000..ce14243 --- /dev/null +++ b/public/fonts/roboto.css @@ -0,0 +1,117 @@ +/* roboto-300 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + src: url('./roboto/roboto-v20-latin-300.eot'); /* IE9 Compat Modes */ + src: local(''), + url('./roboto/roboto-v20-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('./roboto/roboto-v20-latin-300.woff2') format('woff2'), /* Super Modern Browsers */ + url('./roboto/roboto-v20-latin-300.woff') format('woff'), /* Modern Browsers */ + url('./roboto/roboto-v20-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */ + url('./roboto/roboto-v20-latin-300.svg#Roboto') format('svg'); /* Legacy iOS */ +} +/* roboto-300italic - latin */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 300; + src: url('./roboto/roboto-v20-latin-300italic.eot'); /* IE9 Compat Modes */ + src: local(''), + url('./roboto/roboto-v20-latin-300italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('./roboto/roboto-v20-latin-300italic.woff2') format('woff2'), /* Super Modern Browsers */ + url('./roboto/roboto-v20-latin-300italic.woff') format('woff'), /* Modern Browsers */ + url('./roboto/roboto-v20-latin-300italic.ttf') format('truetype'), /* Safari, Android, iOS */ + url('./roboto/roboto-v20-latin-300italic.svg#Roboto') format('svg'); /* Legacy iOS */ +} +/* roboto-regular - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + src: url('./roboto/roboto-v20-latin-regular.eot'); /* IE9 Compat Modes */ + src: local(''), + url('./roboto/roboto-v20-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('./roboto/roboto-v20-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */ + url('./roboto/roboto-v20-latin-regular.woff') format('woff'), /* Modern Browsers */ + url('./roboto/roboto-v20-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */ + url('./roboto/roboto-v20-latin-regular.svg#Roboto') format('svg'); /* Legacy iOS */ +} +/* roboto-500 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + src: url('./roboto/roboto-v20-latin-500.eot'); /* IE9 Compat Modes */ + src: local(''), + url('./roboto/roboto-v20-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('./roboto/roboto-v20-latin-500.woff2') format('woff2'), /* Super Modern Browsers */ + url('./roboto/roboto-v20-latin-500.woff') format('woff'), /* Modern Browsers */ + url('./roboto/roboto-v20-latin-500.ttf') format('truetype'), /* Safari, Android, iOS */ + url('./roboto/roboto-v20-latin-500.svg#Roboto') format('svg'); /* Legacy iOS */ +} +/* roboto-italic - latin */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 400; + src: url('./roboto/roboto-v20-latin-italic.eot'); /* IE9 Compat Modes */ + src: local(''), + url('./roboto/roboto-v20-latin-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('./roboto/roboto-v20-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */ + url('./roboto/roboto-v20-latin-italic.woff') format('woff'), /* Modern Browsers */ + url('./roboto/roboto-v20-latin-italic.ttf') format('truetype'), /* Safari, Android, iOS */ + url('./roboto/roboto-v20-latin-italic.svg#Roboto') format('svg'); /* Legacy iOS */ +} +/* roboto-500italic - latin */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 500; + src: url('./roboto/roboto-v20-latin-500italic.eot'); /* IE9 Compat Modes */ + src: local(''), + url('./roboto/roboto-v20-latin-500italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('./roboto/roboto-v20-latin-500italic.woff2') format('woff2'), /* Super Modern Browsers */ + url('./roboto/roboto-v20-latin-500italic.woff') format('woff'), /* Modern Browsers */ + url('./roboto/roboto-v20-latin-500italic.ttf') format('truetype'), /* Safari, Android, iOS */ + url('./roboto/roboto-v20-latin-500italic.svg#Roboto') format('svg'); /* Legacy iOS */ +} +/* roboto-700 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + src: url('./roboto/roboto-v20-latin-700.eot'); /* IE9 Compat Modes */ + src: local(''), + url('./roboto/roboto-v20-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('./roboto/roboto-v20-latin-700.woff2') format('woff2'), /* Super Modern Browsers */ + url('./roboto/roboto-v20-latin-700.woff') format('woff'), /* Modern Browsers */ + url('./roboto/roboto-v20-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */ + url('./roboto/roboto-v20-latin-700.svg#Roboto') format('svg'); /* Legacy iOS */ +} +/* roboto-700italic - latin */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 700; + src: url('./roboto/roboto-v20-latin-700italic.eot'); /* IE9 Compat Modes */ + src: local(''), + url('./roboto/roboto-v20-latin-700italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('./roboto/roboto-v20-latin-700italic.woff2') format('woff2'), /* Super Modern Browsers */ + url('./roboto/roboto-v20-latin-700italic.woff') format('woff'), /* Modern Browsers */ + url('./roboto/roboto-v20-latin-700italic.ttf') format('truetype'), /* Safari, Android, iOS */ + url('./roboto/roboto-v20-latin-700italic.svg#Roboto') format('svg'); /* Legacy iOS */ +} +/* roboto-900 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 900; + src: url('./roboto/roboto-v20-latin-900.eot'); /* IE9 Compat Modes */ + src: local(''), + url('./roboto/roboto-v20-latin-900.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('./roboto/roboto-v20-latin-900.woff2') format('woff2'), /* Super Modern Browsers */ + url('./roboto/roboto-v20-latin-900.woff') format('woff'), /* Modern Browsers */ + url('./roboto/roboto-v20-latin-900.ttf') format('truetype'), /* Safari, Android, iOS */ + url('./roboto/roboto-v20-latin-900.svg#Roboto') format('svg'); /* Legacy iOS */ +} \ No newline at end of file diff --git a/public/fonts/roboto/roboto-v20-latin-300.eot b/public/fonts/roboto/roboto-v20-latin-300.eot new file mode 100644 index 0000000..574375d Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-300.eot differ diff --git a/public/fonts/roboto/roboto-v20-latin-300.svg b/public/fonts/roboto/roboto-v20-latin-300.svg new file mode 100644 index 0000000..4ded944 --- /dev/null +++ b/public/fonts/roboto/roboto-v20-latin-300.svg @@ -0,0 +1,312 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/fonts/roboto/roboto-v20-latin-300.ttf b/public/fonts/roboto/roboto-v20-latin-300.ttf new file mode 100644 index 0000000..57a24e8 Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-300.ttf differ diff --git a/public/fonts/roboto/roboto-v20-latin-300.woff b/public/fonts/roboto/roboto-v20-latin-300.woff new file mode 100644 index 0000000..2f6bdb5 Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-300.woff differ diff --git a/public/fonts/roboto/roboto-v20-latin-300.woff2 b/public/fonts/roboto/roboto-v20-latin-300.woff2 new file mode 100644 index 0000000..ef8c883 Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-300.woff2 differ diff --git a/public/fonts/roboto/roboto-v20-latin-300italic.eot b/public/fonts/roboto/roboto-v20-latin-300italic.eot new file mode 100644 index 0000000..c6fd27f Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-300italic.eot differ diff --git a/public/fonts/roboto/roboto-v20-latin-300italic.svg b/public/fonts/roboto/roboto-v20-latin-300italic.svg new file mode 100644 index 0000000..758402b --- /dev/null +++ b/public/fonts/roboto/roboto-v20-latin-300italic.svg @@ -0,0 +1,329 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/fonts/roboto/roboto-v20-latin-300italic.ttf b/public/fonts/roboto/roboto-v20-latin-300italic.ttf new file mode 100644 index 0000000..61d95b8 Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-300italic.ttf differ diff --git a/public/fonts/roboto/roboto-v20-latin-300italic.woff b/public/fonts/roboto/roboto-v20-latin-300italic.woff new file mode 100644 index 0000000..57c12ee Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-300italic.woff differ diff --git a/public/fonts/roboto/roboto-v20-latin-300italic.woff2 b/public/fonts/roboto/roboto-v20-latin-300italic.woff2 new file mode 100644 index 0000000..b6653fb Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-300italic.woff2 differ diff --git a/public/fonts/roboto/roboto-v20-latin-500.eot b/public/fonts/roboto/roboto-v20-latin-500.eot new file mode 100644 index 0000000..2ec7bdd Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-500.eot differ diff --git a/public/fonts/roboto/roboto-v20-latin-500.svg b/public/fonts/roboto/roboto-v20-latin-500.svg new file mode 100644 index 0000000..67eecf4 --- /dev/null +++ b/public/fonts/roboto/roboto-v20-latin-500.svg @@ -0,0 +1,305 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/fonts/roboto/roboto-v20-latin-500.ttf b/public/fonts/roboto/roboto-v20-latin-500.ttf new file mode 100644 index 0000000..dd04ff1 Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-500.ttf differ diff --git a/public/fonts/roboto/roboto-v20-latin-500.woff b/public/fonts/roboto/roboto-v20-latin-500.woff new file mode 100644 index 0000000..8699258 Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-500.woff differ diff --git a/public/fonts/roboto/roboto-v20-latin-500.woff2 b/public/fonts/roboto/roboto-v20-latin-500.woff2 new file mode 100644 index 0000000..6362d7f Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-500.woff2 differ diff --git a/public/fonts/roboto/roboto-v20-latin-500italic.eot b/public/fonts/roboto/roboto-v20-latin-500italic.eot new file mode 100644 index 0000000..d9d0600 Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-500italic.eot differ diff --git a/public/fonts/roboto/roboto-v20-latin-500italic.svg b/public/fonts/roboto/roboto-v20-latin-500italic.svg new file mode 100644 index 0000000..bed50dc --- /dev/null +++ b/public/fonts/roboto/roboto-v20-latin-500italic.svg @@ -0,0 +1,326 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/fonts/roboto/roboto-v20-latin-500italic.ttf b/public/fonts/roboto/roboto-v20-latin-500italic.ttf new file mode 100644 index 0000000..e62fa93 Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-500italic.ttf differ diff --git a/public/fonts/roboto/roboto-v20-latin-500italic.woff b/public/fonts/roboto/roboto-v20-latin-500italic.woff new file mode 100644 index 0000000..b794d20 Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-500italic.woff differ diff --git a/public/fonts/roboto/roboto-v20-latin-500italic.woff2 b/public/fonts/roboto/roboto-v20-latin-500italic.woff2 new file mode 100644 index 0000000..0ff2f81 Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-500italic.woff2 differ diff --git a/public/fonts/roboto/roboto-v20-latin-700.eot b/public/fonts/roboto/roboto-v20-latin-700.eot new file mode 100644 index 0000000..0168f09 Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-700.eot differ diff --git a/public/fonts/roboto/roboto-v20-latin-700.svg b/public/fonts/roboto/roboto-v20-latin-700.svg new file mode 100644 index 0000000..11db87d --- /dev/null +++ b/public/fonts/roboto/roboto-v20-latin-700.svg @@ -0,0 +1,309 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/fonts/roboto/roboto-v20-latin-700.ttf b/public/fonts/roboto/roboto-v20-latin-700.ttf new file mode 100644 index 0000000..ea06a63 Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-700.ttf differ diff --git a/public/fonts/roboto/roboto-v20-latin-700.woff b/public/fonts/roboto/roboto-v20-latin-700.woff new file mode 100644 index 0000000..0f14eff Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-700.woff differ diff --git a/public/fonts/roboto/roboto-v20-latin-700.woff2 b/public/fonts/roboto/roboto-v20-latin-700.woff2 new file mode 100644 index 0000000..32b25ee Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-700.woff2 differ diff --git a/public/fonts/roboto/roboto-v20-latin-700italic.eot b/public/fonts/roboto/roboto-v20-latin-700italic.eot new file mode 100644 index 0000000..4eef294 Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-700italic.eot differ diff --git a/public/fonts/roboto/roboto-v20-latin-700italic.svg b/public/fonts/roboto/roboto-v20-latin-700italic.svg new file mode 100644 index 0000000..050bee0 --- /dev/null +++ b/public/fonts/roboto/roboto-v20-latin-700italic.svg @@ -0,0 +1,325 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/fonts/roboto/roboto-v20-latin-700italic.ttf b/public/fonts/roboto/roboto-v20-latin-700italic.ttf new file mode 100644 index 0000000..a0c3724 Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-700italic.ttf differ diff --git a/public/fonts/roboto/roboto-v20-latin-700italic.woff b/public/fonts/roboto/roboto-v20-latin-700italic.woff new file mode 100644 index 0000000..85ec258 Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-700italic.woff differ diff --git a/public/fonts/roboto/roboto-v20-latin-700italic.woff2 b/public/fonts/roboto/roboto-v20-latin-700italic.woff2 new file mode 100644 index 0000000..fe58be2 Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-700italic.woff2 differ diff --git a/public/fonts/roboto/roboto-v20-latin-900.eot b/public/fonts/roboto/roboto-v20-latin-900.eot new file mode 100644 index 0000000..0f81897 Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-900.eot differ diff --git a/public/fonts/roboto/roboto-v20-latin-900.svg b/public/fonts/roboto/roboto-v20-latin-900.svg new file mode 100644 index 0000000..9efdf4e --- /dev/null +++ b/public/fonts/roboto/roboto-v20-latin-900.svg @@ -0,0 +1,302 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/fonts/roboto/roboto-v20-latin-900.ttf b/public/fonts/roboto/roboto-v20-latin-900.ttf new file mode 100644 index 0000000..0efba53 Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-900.ttf differ diff --git a/public/fonts/roboto/roboto-v20-latin-900.woff b/public/fonts/roboto/roboto-v20-latin-900.woff new file mode 100644 index 0000000..4d50531 Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-900.woff differ diff --git a/public/fonts/roboto/roboto-v20-latin-900.woff2 b/public/fonts/roboto/roboto-v20-latin-900.woff2 new file mode 100644 index 0000000..802499d Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-900.woff2 differ diff --git a/public/fonts/roboto/roboto-v20-latin-italic.eot b/public/fonts/roboto/roboto-v20-latin-italic.eot new file mode 100644 index 0000000..0753b88 Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-italic.eot differ diff --git a/public/fonts/roboto/roboto-v20-latin-italic.svg b/public/fonts/roboto/roboto-v20-latin-italic.svg new file mode 100644 index 0000000..4d59797 --- /dev/null +++ b/public/fonts/roboto/roboto-v20-latin-italic.svg @@ -0,0 +1,323 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/fonts/roboto/roboto-v20-latin-italic.ttf b/public/fonts/roboto/roboto-v20-latin-italic.ttf new file mode 100644 index 0000000..bdbb108 Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-italic.ttf differ diff --git a/public/fonts/roboto/roboto-v20-latin-italic.woff b/public/fonts/roboto/roboto-v20-latin-italic.woff new file mode 100644 index 0000000..b940dbc Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-italic.woff differ diff --git a/public/fonts/roboto/roboto-v20-latin-italic.woff2 b/public/fonts/roboto/roboto-v20-latin-italic.woff2 new file mode 100644 index 0000000..2741d4f Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-italic.woff2 differ diff --git a/public/fonts/roboto/roboto-v20-latin-regular.eot b/public/fonts/roboto/roboto-v20-latin-regular.eot new file mode 100644 index 0000000..4f34800 Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-regular.eot differ diff --git a/public/fonts/roboto/roboto-v20-latin-regular.svg b/public/fonts/roboto/roboto-v20-latin-regular.svg new file mode 100644 index 0000000..627f5a3 --- /dev/null +++ b/public/fonts/roboto/roboto-v20-latin-regular.svg @@ -0,0 +1,308 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/fonts/roboto/roboto-v20-latin-regular.ttf b/public/fonts/roboto/roboto-v20-latin-regular.ttf new file mode 100644 index 0000000..a97385d Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-regular.ttf differ diff --git a/public/fonts/roboto/roboto-v20-latin-regular.woff b/public/fonts/roboto/roboto-v20-latin-regular.woff new file mode 100644 index 0000000..69c8825 Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-regular.woff differ diff --git a/public/fonts/roboto/roboto-v20-latin-regular.woff2 b/public/fonts/roboto/roboto-v20-latin-regular.woff2 new file mode 100644 index 0000000..1a53701 Binary files /dev/null and b/public/fonts/roboto/roboto-v20-latin-regular.woff2 differ diff --git a/public/pdf/mivita_template_contract_de.pdf b/public/pdf/template_contract_de.pdf similarity index 100% rename from public/pdf/mivita_template_contract_de.pdf rename to public/pdf/template_contract_de.pdf diff --git a/resources/lang/de.json b/resources/lang/de.json index b08c741..9dda027 100755 --- a/resources/lang/de.json +++ b/resources/lang/de.json @@ -1 +1 @@ -{"MR":"Herr","MS":"Frau","please select":"Bitte w\u00e4hlen","further countries":"weitere L\u00e4nder","no":"Keine","Company data":"Firmendaten","Company name":"Firmenname","Street":"Stra\u00dfe","House number":"Hausnummer","City":"Ort","Postcode":"PLZ","Country":"Land","Phone":"Telefon","Homepage":"Homepage","Industry":"Branche","Industries":"Branchen","Main Industry":"Hauptbranche","Personal Data":"Pers\u00f6nliche Daten","Function":"Funktion","Salutation":"Anrede","Title":"Titel","First name":"Vorname","Last name":"Nachname","Mobile Phone":"Mobiltelefon","Your interests":"Deine Interessen","Your contact person":"Dein Ansprechpartner","Name":"Name","Consent & Privacy":"Einwilligung & Datenschutz","New Password":"Neues Passwort","Old Password":"Altes Passwort","Change Password":"Passwort \u00e4ndern","Confirm new Password":"Neues Passwort wiederholen","Confirm Password":"Passwort best\u00e4tigen","Confirm E-Mail":"E-Mail wiederholen","E-Mail Address":"E-Mail Adresse","Confirm E-Mail Address":"E-Mail Adresse wiederholen","Forgot your Password?":"Passwort vergessen?","Login":"Einloggen","Logout":"Ausloggen","Password":"Passwort","Register":"Registrieren","Remember Me":"Angemeldet bleiben","Reset Password":"Passwort zur\u00fccksetzen","Send Password Reset Link":"Link zum Zur\u00fccksetzen des Passworts senden","save":"speichern","save and next":"speichern und weiter","save changes":"\u00c4nderungen speichern","abort":"abbrechen","This field is required.":"Dieses Feld ist ein Pflichtfeld.","Please enter a valid email address.":"Bitte gebe eine g\u00fcltige E-Mail-Adresse ein.","This E-mail is already in use.":"Diese E-Mail wird bereits verwendet.","Please enter the same value again.":"Die E-Mail Adressen sind nicht gleich.","a valid e-mail address":"Gebe bitte eine g\u00fcltige E-Mail-Adresse ein.","Already have an account?":"Hast Du schon einen Account?","Login to your account":"Melde Dich in Deinem Account an","Dont have an account yet?":"Du hast noch keinen Account?","We keep you up to date on product news":"Gerne informieren wir Dich \u00fcber Produktneuheiten, Relevantes aus der Branche und Beispiele zu unseren Anwendungen:","Registration":"Registrierung","that\u2019s how it\u2019s done":"so geht\u2019s","Just register":"Einfach registrieren","Just fill out the fields":"F\u00fclle einfach die Felder in der Eingabemaske aus. Danach erh\u00e4lst Du von uns per E-Mail einen Link. Mit einen Klick auf den Link best\u00e4tigst Du Deine Registrierung.","Changeable at any time":"Jederzeit \u00e4nderbar","With your e-mail address and password":"Mit Deiner E-Mailadresse und Deinem Passwort kannst Du jederzeit Deine Daten einsehen oder \u00e4ndern.","Absolutely safe":"Absolut sicher","Your data will be stored on":"Deine Daten werden auf deutschen Servern unter Ber\u00fccksichtigung aktueller Sicherheitsstandards gespeichert.","now register data":"jetzt Daten registieren","Required fields":"Pflichtfelder","You will receive an e-mail for confirmation":"Du erh\u00e4lst eine E-Mail zur Best\u00e4tigung, \u00fcber den Link in der E-Mail schaltest Du Deine Daten frei.","Industry sectors":"Branchen","Interests":"Interessen","Leads":"Kontakte","Your Data":"Deine Daten","Change password":"Passwort \u00e4ndern","Edit your data":"Deine Daten bearbeiten","I have read the :link and accept it.*":"Ich habe die :link gelesen und akzeptiere diese.*","data protection":"Datenschutzerkl\u00e4rung","Yes, I agree that will send me more information.":"Ja, ich bin damit einverstanden, dass mir weitere Informationen zusendet werden. Die Einwilligung ist jederzeit \u00fcber diese Webseite widerrufbar.","saved":"Gespeichert","The changes have been saved.":"Die \u00c4nderungen wurden gespeichert.","error":"Fehler","Delete Account":"Account l\u00f6schen","account deleted":"Account gel\u00f6schen","Here you can adjust your data.":"Hier kannst du Deine Daten anpassen.","Overview":"\u00dcbersicht","Adjust data":"Daten anpassen","Data, Login & Security":"Daten, Anmeldung & Sicherheit","Sign in with your e-mail:":"Anmeldung mit Deiner E-Mail:","Change your password here to access your account.":"\u00c4ndere hier Dein Passwort f\u00fcr den Zugriff auf Deinen Account.","Activities":"Aktivit\u00e4ten","Delete":"l\u00f6schen","If you no longer want to use our offer, you can delete your account here.":"Wenn Du unser Angebot nicht mehr nutzen m\u00f6chten, kannst Du hier Deinen Account l\u00f6schen.","Confirm your identity with your password before proceeding.":"Best\u00e4tige mit Deinem Passwort Deine Identit\u00e4t, bevor du weiter machst.","imprint":"Impressum","data protections":"Datenschutz","E-Mail address can not be changed!":"E-Mail Adresse ist nicht \u00e4nderbar!","E-Mail address can not be changed here!":"E-Mail Adresse kann hier nicht ge\u00e4ndert werden!","Thank you for your registration!":"Vielen Dank f\u00fcr Deine Registrierung!","We have sent you an e-mail with a link to activate your data.":"Wir haben Dir eine E-Mail mit einem Link zur Freischaltung Deines Accounts gesendet.","Please check your emails and confirm the link.":"Bitte rufe Deine E-Mails ab und best\u00e4tige den Link.","back to the homepage":"zur\u00fcck zur Startseite","You have successfully verified your account!":"Du hast Dein Konto erfolgreich verifiziert!","Now check your data and release the data.":"\u00dcberpr\u00fcfe jetzt Deine Daten und gebe Deine die Daten frei.","Check and release data":"Daten \u00fcberpr\u00fcfen und freigeben","Check data":"Daten \u00fcberpr\u00fcfen","Page not available":"Seite nicht verf\u00fcgbar","Data released":"Daten freigeben","Data released now":"Daten jetzt freigeben","E-Mail verified":"E-Mail verifiziert","E-Mail not verified":"E-Mail nicht verifiziert","Privacy policy approved":"Datenschutzerkl\u00e4rung zugestimmt","Consent for further information":"Einwilligung f\u00fcr weitere Informationen","at":"am","Assign a password for your account.":"Gib ein Passwort f\u00fcr Deinen Account ein.","Create Password":"Passwort erstellen","back":"zur\u00fcck","If you have checked your data, share your data here!":"Wenn Du Deine Daten \u00fcberpr\u00fcft hast, gib Deine Daten hier frei!","Contacts all":"gesamte Kontakte","Contacts verify":"Kontakte verifiziert","Contacts active":"Kontakte freigeschaltet","This website uses cookies in order to guarantee the best possible service. With your visit to this site you agree to our use of cookies.":"Diese Webseite verwendet Cookies, um Ihnen den bestm\u00f6glichen Service zu gew\u00e4hrleisten. Mit Deinem Besuch auf dieser Seite stimmst Du der Verwendung von Cookies zu.","OK":"OK","Contacts":"Kontake","active":"aktiviert","inactive":"deaktiviert","verified":"verifiziert","'E-Mail":"'E-Mail","create new Contact":"Neuen Kontakt erstellen","Create\/Edit Contact":"Kontakt bearbeiten\/erstellen","Pos":"Pos","Description":"Bezeichnung","Translate":"\u00dcbersetzung","Status":"Status","create\/edit":"erstellen\/bearbeiten","when active, the interest in the selection is displayed":"wenn aktiv, wird das Interesse in der Aushwahl angezeigt","close":"schlie\u00dfen","Number to move the position if necessary":"Zahl um ggf. die Postion zu verschieben","Create new interest":"Neues Interesse erstellen","Really delete entry?":"Eintrag wirklich l\u00f6schen?","Create a new industry":"Neue Branche erstellen","Your e-mail has been changed.":"Deine E-Mail wurde ge\u00e4ndert.","We sent you an activation code. Check your email!":"Wir haben Dir einen Aktivierungscode gesendet. \u00dcberpr\u00fcfen Deine E-Mails!","An activation code was sent to the account by e-mail!":"An den Kontkat wurde per E-Mail ein Aktivierungscode gesendet!","New E-Mail Address":"Neue E-Mail Adresse","Confirm new E-Mail":"Neue E-Mail Adresse wiederholen","Change E-Mail":"E-Mail Adresse \u00e4ndern","Change your e-mail address here. We will send you a new activation link to your new e-mail address to verify it.":"\u00c4ndere hier Deine E-Mail-Adresse. Wir senden Dir einen neuen Aktivierungslink an Deine neue E-Mail-Adresse, um diese zu verifizieren.","Change the e-mail address of the contact here. We will send the contact a new activation link to the new e-mail address to verify it.":"\u00c4nder hier Deine E-Mail-Adresse des Kontakts. Wir senden dem Kontakt einen neuen Aktivierungslink an die neue E-Mail-Adresse, um diese zu verifizieren.","business":"gesch\u00e4ftlich","private":"privat","business or private":"gesch\u00e4ftlich oder privat","use":"Nutzung","Country code":"L\u00e4ndervorwahl","Contact":"Kontakt","waiting for activation since":"wartet auf Aktivierung seit","edit":"bearbeiten","delete":"l\u00f6schen","your mivita.care team":"Dein Team von mivita.care","create new password":"neues Passwort erstellen","Now assign a password.":"Vergebe jetzt Dein Passwort f\u00fcr den Zugriff auf Deinen Account.","to your data":"zu Deinen Daten","Your registration has already been completed.":"Deine Registrierung wurde bereits abgeschlossen.","The link to register is no longer active.":"Der Link zur Registrierung ist nicht mehr aktiv, oder die Registrierung ist bereits abgeschlossen","go to login":"zur Anmeldung","Please confirm your data first.":"Bitte \u00fcberpr\u00fcfen Deine Daten als erstes und best\u00e4tige diese.","yes, data checked and share":"Ja, Daten \u00fcberpr\u00fcft und jetzt freigeben","Declaration of shop":"Hiermit best\u00e4tige und akzeptiere ich die Nutzungsbedinungen zu meinem mivita-Shop.","Your Shop":"Dein Shop","Terms of Use":"Nutzungsbedingungen","Your Shop Name":"Gib deinem Shop einen Namen","Choose Your Shop Name":"W\u00e4hle einen einpr\u00e4gsamen Shop-Namen, der zu Dir passt.","shop_name_error_1":"Dein Shop-Name darf nur lateinische Buchstaben ohne Akzent sowie Ziffern enthalten, keine Leerzeichen.","shop_name_error_2":"Shop-Namen m\u00fcssen 4 bis 20 Zeichen lang sein.","shop_name_description":"Dein Shop-Name wird in Deinem Shop angezeigt. Aus Deinem Shop-Namen wird die Internet-Adresse (Domain) erstellt, mit der Dein Shop aufgerufen werden kann. W\u00e4hle Deinen Shop-Namen sorgf\u00e4ltig aus, dieser ist sp\u00e4ter nur gegen eine Geb\u00fchr von 50,- Euro \u00e4nderbar.","save and continue":"speichern und fortfahren","shop_title":"Shop Inhaber","shop_title_help":"Gib Deinen Namen zum Shop an.","shop_contact":"Shop Kontakt","shop_contact_help":"Vervollst\u00e4ndige Deine Kontaktdaten die im Shop angezeigt werden.","shop_accessibility":"Shop Erreichbarkeit","shop_accessibility_help":"Gib Deine Erreichbarkeit an.","shop_about":"Shop pers\u00f6nlicher Text","shop_about_help":"Gib Deinen pers\u00f6nlicher Text \u00fcber Dich an. (max. 190 Zeichen)","Shop details":"Shop Details","available":"erreichbar","not available":"nicht erreichbar","active since":"Aktiv seit","open since":"Er\u00f6ffnet seit","Domain":"Domain","name":"Name","not available copy":"Bei neu angelegten Shops dauert es einige Minuten, bis die Domain zu erreichen ist. Bitte schaue in einigen Minuten noch einmal nach.","shop image":"Dein Shop Bild","shop image copy":"Lade hier ein Foto \/ Bild \/ Logo von Dir hoch.","shop on site":"F\u00fcr Dich vor Ort:","shop on site copy":"Warst du auf der Aloe Vera Farm auf Mallorca? Lade hier bis zu 6 Bilder von Dir hoch.","open your shop":"Er\u00f6ffne Deinen eigenen mivita-Shop","settings your shop":"Deine Shop-Einstellungen","taxable_sales_1":"umsatzsteuerpflichtig (Ich mache eine UST-Voranmeldung pro Monat \/ Quartal \/ Jahr ans Finanzamt)","taxable_sales_2":"nicht umsatzsteuerpflichtig (Kleinunternehmer im Sinne von \u00a7 19)"} \ No newline at end of file +{"MR":"Herr","MS":"Frau","please select":"Bitte w\u00e4hlen","further countries":"weitere L\u00e4nder","no":"Keine","Company data":"Firmendaten","Company name":"Firmenname","Street":"Stra\u00dfe","House number":"Hausnummer","City":"Ort","Postcode":"PLZ","Country":"Land","Phone":"Telefon","Homepage":"Homepage","Industry":"Branche","Industries":"Branchen","Main Industry":"Hauptbranche","Personal Data":"Pers\u00f6nliche Daten","Function":"Funktion","Salutation":"Anrede","Title":"Titel","First name":"Vorname","Last name":"Nachname","Mobile Phone":"Mobiltelefon","Your interests":"Deine Interessen","Your contact person":"Dein Ansprechpartner","Name":"Name","Consent & Privacy":"Einwilligung & Datenschutz","New Password":"Neues Passwort","Old Password":"Altes Passwort","Change Password":"Passwort \u00e4ndern","Confirm new Password":"Neues Passwort wiederholen","Confirm Password":"Passwort best\u00e4tigen","Confirm E-Mail":"E-Mail wiederholen","E-Mail Address":"E-Mail Adresse","Confirm E-Mail Address":"E-Mail Adresse wiederholen","Forgot your Password?":"Passwort vergessen?","Login":"Einloggen","Logout":"Ausloggen","Password":"Passwort","Register":"Registrieren","Remember Me":"Angemeldet bleiben","Reset Password":"Passwort zur\u00fccksetzen","Send Password Reset Link":"Link zum Zur\u00fccksetzen des Passworts senden","save":"speichern","save and next":"speichern und weiter","save changes":"\u00c4nderungen speichern","abort":"abbrechen","This field is required.":"Dieses Feld ist ein Pflichtfeld.","Please enter a valid email address.":"Bitte gebe eine g\u00fcltige E-Mail-Adresse ein.","This E-mail is already in use.":"Diese E-Mail wird bereits verwendet.","Please enter the same value again.":"Die E-Mail Adressen sind nicht gleich.","a valid e-mail address":"Gebe bitte eine g\u00fcltige E-Mail-Adresse ein.","Already have an account?":"Hast Du schon einen Account?","Login to your account":"Melde Dich in Deinem Account an","Dont have an account yet?":"Du hast noch keinen Account?","We keep you up to date on product news":"Gerne informieren wir Dich \u00fcber Produktneuheiten, Relevantes aus der Branche und Beispiele zu unseren Anwendungen:","Registration":"Registrierung","that\u2019s how it\u2019s done":"so geht\u2019s","Just register":"Einfach registrieren","Just fill out the fields":"F\u00fclle einfach die Felder in der Eingabemaske aus. Danach erh\u00e4lst Du von uns per E-Mail einen Link. Mit einen Klick auf den Link best\u00e4tigst Du Deine Registrierung.","Changeable at any time":"Jederzeit \u00e4nderbar","With your e-mail address and password":"Mit Deiner E-Mailadresse und Deinem Passwort kannst Du jederzeit Deine Daten einsehen oder \u00e4ndern.","Absolutely safe":"Absolut sicher","Your data will be stored on":"Deine Daten werden auf deutschen Servern unter Ber\u00fccksichtigung aktueller Sicherheitsstandards gespeichert.","now register data":"jetzt Daten registieren","Required fields":"Pflichtfelder","You will receive an e-mail for confirmation":"Du erh\u00e4lst eine E-Mail zur Best\u00e4tigung, \u00fcber den Link in der E-Mail schaltest Du Deine Daten frei.","Industry sectors":"Branchen","Interests":"Interessen","Leads":"Kontakte","Your Data":"Deine Daten","Change password":"Passwort \u00e4ndern","Edit your data":"Deine Daten bearbeiten","I have read the :link and accept it.*":"Ich habe die :link gelesen und akzeptiere diese.*","data protection":"Datenschutzerkl\u00e4rung","Yes, I agree that will send me more information.":"Ja, ich bin damit einverstanden, dass mir weitere Informationen zusendet werden. Die Einwilligung ist jederzeit \u00fcber diese Webseite widerrufbar.","saved":"Gespeichert","The changes have been saved.":"Die \u00c4nderungen wurden gespeichert.","error":"Fehler","Delete Account":"Account l\u00f6schen","account deleted":"Account gel\u00f6schen","Here you can adjust your data.":"Hier kannst du Deine Daten anpassen.","Overview":"\u00dcbersicht","Adjust data":"Daten anpassen","Data, Login & Security":"Daten, Anmeldung & Sicherheit","Sign in with your e-mail:":"Anmeldung mit Deiner E-Mail:","Change your password here to access your account.":"\u00c4ndere hier Dein Passwort f\u00fcr den Zugriff auf Deinen Account.","Activities":"Aktivit\u00e4ten","Delete":"l\u00f6schen","If you no longer want to use our offer, you can delete your account here.":"Wenn Du unser Angebot nicht mehr nutzen m\u00f6chten, kannst Du hier Deinen Account l\u00f6schen.","Confirm your identity with your password before proceeding.":"Best\u00e4tige mit Deinem Passwort Deine Identit\u00e4t, bevor du weiter machst.","imprint":"Impressum","data protections":"Datenschutz","E-Mail address can not be changed!":"E-Mail Adresse ist nicht \u00e4nderbar!","E-Mail address can not be changed here!":"E-Mail Adresse kann hier nicht ge\u00e4ndert werden!","Thank you for your registration!":"Vielen Dank f\u00fcr Deine Registrierung!","We have sent you an e-mail with a link to activate your data.":"Wir haben Dir eine E-Mail mit einem Link zur Freischaltung Deines Accounts gesendet.","Please check your emails and confirm the link.":"Bitte rufe Deine E-Mails ab und best\u00e4tige den Link.","back to the homepage":"zur\u00fcck zur Startseite","You have successfully verified your account!":"Du hast Dein Konto erfolgreich verifiziert!","Now check your data and release the data.":"\u00dcberpr\u00fcfe jetzt Deine Daten und gebe Deine die Daten frei.","Check and release data":"Daten \u00fcberpr\u00fcfen und freigeben","Check data":"Daten \u00fcberpr\u00fcfen","Page not available":"Seite nicht verf\u00fcgbar","Data released":"Daten freigeben","Data released now":"Daten jetzt freigeben","E-Mail verified":"E-Mail verifiziert","E-Mail not verified":"E-Mail nicht verifiziert","Privacy policy approved":"Datenschutzerkl\u00e4rung zugestimmt","Consent for further information":"Einwilligung f\u00fcr weitere Informationen","at":"am","Assign a password for your account.":"Gib ein Passwort f\u00fcr Deinen Account ein.","Create Password":"Passwort erstellen","back":"zur\u00fcck","If you have checked your data, share your data here!":"Wenn Du Deine Daten \u00fcberpr\u00fcft hast, gib Deine Daten hier frei!","Contacts all":"gesamte Kontakte","Contacts verify":"Kontakte verifiziert","Contacts active":"Kontakte freigeschaltet","This website uses cookies in order to guarantee the best possible service. With your visit to this site you agree to our use of cookies.":"Diese Webseite verwendet Cookies, um Ihnen den bestm\u00f6glichen Service zu gew\u00e4hrleisten. Mit Deinem Besuch auf dieser Seite stimmst Du der Verwendung von Cookies zu.","OK":"OK","Contacts":"Kontake","active":"aktiviert","inactive":"deaktiviert","verified":"verifiziert","'E-Mail":"'E-Mail","create new Contact":"Neuen Kontakt erstellen","Create\/Edit Contact":"Kontakt bearbeiten\/erstellen","Pos":"Pos","Description":"Bezeichnung","Translate":"\u00dcbersetzung","Status":"Status","create\/edit":"erstellen\/bearbeiten","when active, the interest in the selection is displayed":"wenn aktiv, wird das Interesse in der Aushwahl angezeigt","close":"schlie\u00dfen","Number to move the position if necessary":"Zahl um ggf. die Postion zu verschieben","Create new interest":"Neues Interesse erstellen","Really delete entry?":"Eintrag wirklich l\u00f6schen?","Create a new industry":"Neue Branche erstellen","Your e-mail has been changed.":"Deine E-Mail wurde ge\u00e4ndert.","We sent you an activation code. Check your email!":"Wir haben Dir einen Aktivierungscode gesendet. \u00dcberpr\u00fcfen Deine E-Mails!","An activation code was sent to the account by e-mail!":"An den Kontkat wurde per E-Mail ein Aktivierungscode gesendet!","New E-Mail Address":"Neue E-Mail Adresse","Confirm new E-Mail":"Neue E-Mail Adresse wiederholen","Change E-Mail":"E-Mail Adresse \u00e4ndern","Change your e-mail address here. We will send you a new activation link to your new e-mail address to verify it.":"\u00c4ndere hier Deine E-Mail-Adresse. Wir senden Dir einen neuen Aktivierungslink an Deine neue E-Mail-Adresse, um diese zu verifizieren.","Change the e-mail address of the contact here. We will send the contact a new activation link to the new e-mail address to verify it.":"\u00c4nder hier Deine E-Mail-Adresse des Kontakts. Wir senden dem Kontakt einen neuen Aktivierungslink an die neue E-Mail-Adresse, um diese zu verifizieren.","business":"gesch\u00e4ftlich","private":"privat","business or private":"gesch\u00e4ftlich oder privat","use":"Nutzung","Country code":"L\u00e4ndervorwahl","Contact":"Kontakt","waiting for activation since":"wartet auf Aktivierung seit","edit":"bearbeiten","delete":"l\u00f6schen","your gruene-seele.bio team":"Dein Team von gruene-seele.bio","create new password":"neues Passwort erstellen","Now assign a password.":"Vergebe jetzt Dein Passwort f\u00fcr den Zugriff auf Deinen Account.","to your data":"zu Deinen Daten","Your registration has already been completed.":"Deine Registrierung wurde bereits abgeschlossen.","The link to register is no longer active.":"Der Link zur Registrierung ist nicht mehr aktiv, oder die Registrierung ist bereits abgeschlossen","go to login":"zur Anmeldung","Please confirm your data first.":"Bitte \u00fcberpr\u00fcfen Deine Daten als erstes und best\u00e4tige diese.","yes, data checked and share":"Ja, Daten \u00fcberpr\u00fcft und jetzt freigeben","Declaration of shop":"Hiermit best\u00e4tige und akzeptiere ich die Nutzungsbedinungen zu meinem mivita-Shop.","Your Shop":"Dein Shop","Terms of Use":"Nutzungsbedingungen","Your Shop Name":"Gib deinem Shop einen Namen","Choose Your Shop Name":"W\u00e4hle einen einpr\u00e4gsamen Shop-Namen, der zu Dir passt.","shop_name_error_1":"Dein Shop-Name darf nur lateinische Buchstaben ohne Akzent sowie Ziffern enthalten, keine Leerzeichen.","shop_name_error_2":"Shop-Namen m\u00fcssen 4 bis 20 Zeichen lang sein.","shop_name_description":"Dein Shop-Name wird in Deinem Shop angezeigt. Aus Deinem Shop-Namen wird die Internet-Adresse (Domain) erstellt, mit der Dein Shop aufgerufen werden kann. W\u00e4hle Deinen Shop-Namen sorgf\u00e4ltig aus, dieser ist sp\u00e4ter nur gegen eine Geb\u00fchr von 50,- Euro \u00e4nderbar.","save and continue":"speichern und fortfahren","shop_title":"Shop Inhaber","shop_title_help":"Gib Deinen Namen zum Shop an.","shop_contact":"Shop Kontakt","shop_contact_help":"Vervollst\u00e4ndige Deine Kontaktdaten die im Shop angezeigt werden.","shop_accessibility":"Shop Erreichbarkeit","shop_accessibility_help":"Gib Deine Erreichbarkeit an.","shop_about":"Shop pers\u00f6nlicher Text","shop_about_help":"Gib Deinen pers\u00f6nlicher Text \u00fcber Dich an. (max. 190 Zeichen)","Shop details":"Shop Details","available":"erreichbar","not available":"nicht erreichbar","active since":"Aktiv seit","open since":"Er\u00f6ffnet seit","Domain":"Domain","name":"Name","not available copy":"Bei neu angelegten Shops dauert es einige Minuten, bis die Domain zu erreichen ist. Bitte schaue in einigen Minuten noch einmal nach.","shop image":"Dein Shop Bild","shop image copy":"Lade hier ein Foto \/ Bild \/ Logo von Dir hoch.","shop on site":"F\u00fcr Dich vor Ort:","shop on site copy":"Warst du auf der Aloe Vera Farm auf Mallorca? Lade hier bis zu 6 Bilder von Dir hoch.","open your shop":"Er\u00f6ffne Deinen eigenen mivita-Shop","settings your shop":"Deine Shop-Einstellungen","taxable_sales_1":"umsatzsteuerpflichtig (Ich mache eine UST-Voranmeldung pro Monat \/ Quartal \/ Jahr ans Finanzamt)","taxable_sales_2":"nicht umsatzsteuerpflichtig (Kleinunternehmer im Sinne von \u00a7 19)"} \ No newline at end of file diff --git a/resources/lang/de/email.php b/resources/lang/de/email.php index 0e83c71..e107978 100644 --- a/resources/lang/de/email.php +++ b/resources/lang/de/email.php @@ -70,6 +70,7 @@ 'checkout_mail_order_for_membership' => 'Beraterbestellung für Deine Mitgliedschaft:', 'checkout_mail_same_address' => 'Lieferadresse ist gleich Rechnungsadresse', 'checkout_mail_pay_error' => 'Die Zahlung ist fehlgeschlagen!', + 'checkout_mail_pay_non' => 'Keine Zahlung erhalten!', 'checkout_mail_pay_pre' => 'Bezahlung per Vorkasse:', 'checkout_mail_pay_pre_c1' => 'Bitte überweise', 'checkout_mail_pay_pre_c2' => 'EUR auf die folgende Kontoverbindung, um den Kauf abzuschließen.', diff --git a/resources/lang/de/membership.php b/resources/lang/de/membership.php index afd1dcb..5b8ed74 100644 --- a/resources/lang/de/membership.php +++ b/resources/lang/de/membership.php @@ -12,6 +12,6 @@ 'home_copy_last_35' => 'huiii... jetzt wird es aber Zeit! Deine Mitgliedschaft läuft bereits heute aus, und zwar exakt am :datetime. Solltest Du allerdings die Frist verstreichen lassen, wird Dein Account solange automatisch pausiert bis Du Deine Mitgliedschaft erneuerst.', 'home_copy_alert_36_today' => 'Dein Mitgliedschaft ist heute am :datetime ausgelaufen!', 'home_copy_alert_36' => 'Dein Mitgliedschaft ist vor :days Tagen am :datetime ausgelaufen!', - 'home_copy_last_36' => 'wie angekündigt, haben wir Deinen Berater-Account pausiert, da Du Deine Mitgliedschaft nicht rechtzeitig verlängert hast. Wenn Du wieder von den Vorteilen und Features bei MIVITA profitieren möchtest, kannst Du Deinen Account jederzeit reaktivieren.', + 'home_copy_last_36' => 'wie angekündigt, haben wir Deinen Berater-Account pausiert, da Du Deine Mitgliedschaft nicht rechtzeitig verlängert hast. Wenn Du wieder von den Vorteilen und Features profitieren möchtest, kannst Du Deinen Account jederzeit reaktivieren.', 'home_copy_SEPA_36' => 'Leider war es uns nicht möglich, den fälligen Betrag per SEPA-Lastschrift-Mandat für die Mitgliedsgebühr von Deinem angegebenen Konto einzuziehen.' ); diff --git a/resources/lang/de/payment.php b/resources/lang/de/payment.php index 2184acb..dae6ad6 100755 --- a/resources/lang/de/payment.php +++ b/resources/lang/de/payment.php @@ -18,6 +18,6 @@ return [ 'checkout_error' => 'Zahlungsvorgang Fehler', 'auto_renewal_hl' => 'Automatische Verlängerung', 'auto_renewal_line_1' => 'Sicher ist sicher! Wir empfehlen, diese Option zu aktivieren, wenn Du Deine jährliche Mitgliedschaft dauerhaft bestehen lassen möchtest. Denn geht eine manuelle Zahlung nach Ablauf der Jahresmitgliedschaft nicht zeitig ein, deaktiviert das System Deinen Onlineshop bzw. Deinen Zugang zum Salescenter. Dann kannst Du keine Bestellungen mehr tätigen oder Einblick in Deinen Statistiken erhalten, bis eine erneute Zahlung Deinen Account reaktiviert. Daher raten wir Dir, die Zahlung per SEPA-Lastschrift zu tätigen. Wir speichern dieses Mandat und buchen 14 Tage vor Ablauf Deine Jahresgebühr automatisch ab. So hast Du einen reibungslosen Prozess, ohne dass Du darauf achten musst.', - 'auto_renewal_line_2' => 'Du kannst diese Option natürlich jederzeit in Deinem Account rückgängig machen bzw. Deinen Account / Deine Vertriebspartnerschaft bei MIVITA kündigen.' + 'auto_renewal_line_2' => 'Du kannst diese Option natürlich jederzeit in Deinem Account rückgängig machen bzw. Deinen Account / Deine Vertriebspartnerschaft kündigen.' ], ]; \ No newline at end of file diff --git a/resources/lang/de/register.php b/resources/lang/de/register.php index 8f46cb0..8f67ffc 100644 --- a/resources/lang/de/register.php +++ b/resources/lang/de/register.php @@ -12,7 +12,7 @@ return [ 'wizard_verification_hl' => 'Verifizierung (Personalausweis oder Pass; PDF, JPG, PNG)', 'wizard_verification_line_1' => 'Bitte lade einen Scan / ein Foto Deines Personalausweises oder Deines Reisepasses hoch. Die Vorderseite genügt. Wir benötigen den Ausweis als Identitätsnachweis, um Deinen Account freizuschalten.', 'wizard_business_license_hl' => 'Gewerbeschein hochladen (nur PDF, JPG, PNG)', - 'wizard_business_license_line_1' => 'Ein gültiger Gewerbeschein ist gesetzlich Pflicht, um als Vertriebspartner bei MIVITA teilnehmen zu können. Bitte lade entsprechende Kopie von Deinem aktuellen Gewerbeschein hier hoch, damit wir Deinen Account freischalten können.', + 'wizard_business_license_line_1' => 'Ein gültiger Gewerbeschein ist gesetzlich Pflicht, um als Vertriebspartner teilnehmen zu können. Bitte lade entsprechende Kopie von Deinem aktuellen Gewerbeschein hier hoch, damit wir Deinen Account freischalten können.', 'wizard_finish_hl' => 'Registrierung abschließen', 'wizard_finish_line_1' => 'Sind alle Daten richtig und vollständig ausgefüllt? Falls nicht, kannst Du oben die einzelnen Punkte anklicken und noch Änderungen vornehmen. Passt alles, dann klicke jetzt auf den Button „Registrierung abschließen“. Wir werden Deine Daten dann im Anschluss prüfen und uns ggf. bei Rückfragen melden. Sobald wir Deinen Account freigeschaltet haben erhälst Du eine weitere E-Mail.', 'wizard_create_release_hl' => 'Vielen Dank', diff --git a/resources/lang/de/reminder.php b/resources/lang/de/reminder.php index 32c9758..26d5cae 100644 --- a/resources/lang/de/reminder.php +++ b/resources/lang/de/reminder.php @@ -1,11 +1,11 @@ 'Deine Mitgliedschaft bei mivita.care', + 'subject' => 'Deine Mitgliedschaft bei gruene-seele.bio', 'button_31' => 'MITGLIEDSCHAFT VERLÄNGERN', 'copy_first_31' => '

wir wollten Dir jetzt schon mal rechtzeitig Bescheid geben, dass Deine Mitgliedschaft zum :datetime ausläuft. Zur Zeit hast Du keine automatisierte Verlängerung mit SEPA-Lastschrift eingestellt. Daher solltest Du jetzt aktiv werden und rechtzeitig verlängern, damit Du weiterhin

@@ -16,7 +16,7 @@ 'copy_first_32' => '

wir wollten Dir jetzt schon mal rechtzeitig Bescheid geben, dass Deine Mitgliedschaft zum :datetime automatisch verlängert wird. Da Du uns ein SEPA-Lastschrift-Mandat erteilt hast, brauchst Du nicht weiter aktiv zu werden. Entsprechend dieses Mandates werden wir den Rechnungsbetrag :price am :pay_date von Deinem Konto abbuchen.

Deine Mitgliedschaft verlängert sich im Anschluss um ein weiteres Jahr, damit Du weiterhin

@@ -26,7 +26,7 @@ 'button_33' => 'MITGLIEDSCHAFT VERLÄNGERN', 'copy_first_33' => '

hier nochmal eine kurze Erinnerung, dass Deine Mitgliedschaft zum :datetime ausläuft. Zur Zeit hast Du keine automatisierte Verlängerung mit SEPA-Lastschrift eingestellt. Daher solltest Du jetzt aktiv werden und rechtzeitig verlängern, damit Du weiterhin

@@ -37,25 +37,25 @@ 'copy_first_34' => '

huiii... jetzt wird es aber Zeit! Deine Mitgliedschaft läuft bereits in :days Tagen aus, und zwar exakt am :datetime. Zur Zeit hast Du keine automatisierte Verlängerung mit SEPA-Lastschrift eingestellt. Daher solltest Du jetzt aktiv werden und Deine Mitgliedschaft verlängern, da Dein Account sonst pausiert.

Wenn Du weiterhin

solltest Du jetzt schnell handeln und Deine Mitgliedschaft verlängern:

', 'copy_last_34' => '', 'button_35' => 'MITGLIEDSCHAFT VERWALTEN', - 'copy_first_35' => '

wie angekündigt, haben wir Deinen Berater-Account pausiert, da Du Deine Mitgliedschaft nicht rechtzeitig verlängert hast. Wenn Du wieder von den Vorteilen und Features bei MIVITA profitieren möchtest, kannst Du Deinen Account jederzeit reaktivieren.

+ 'copy_first_35' => '

wie angekündigt, haben wir Deinen Berater-Account pausiert, da Du Deine Mitgliedschaft nicht rechtzeitig verlängert hast. Wenn Du wieder von den Vorteilen und Features bei gruene-seele.bio profitieren möchtest, kannst Du Deinen Account jederzeit reaktivieren.

Klick auf den Button, falls Du Änderungen an Deiner Mitgliedschaft vornehmen möchtest:

', - 'copy_last_35' => '

Hinweis:
Auch wenn Dein Account pausiert, werden Dir vergangene bzw. noch offene Provisionen selbstverständlich im nächsten Zahlungslauf ausgezahlt.Solltest Du Deinen Account vollständig löschen wollen, dann schreibe bitte eine Email an info@mivita.care. Unser Berater-Service wird sich dann umgehend darum kümmern.

-

Wir hoffen, Dich ganz bald wieder als aktives Mitglied der MIVITA Family begrüßen zu dürfen.

', + 'copy_last_35' => '

Hinweis:
Auch wenn Dein Account pausiert, werden Dir vergangene bzw. noch offene Provisionen selbstverständlich im nächsten Zahlungslauf ausgezahlt.Solltest Du Deinen Account vollständig löschen wollen, dann schreibe bitte eine Email an service@gruene-seele.bio. Unser Berater-Service wird sich dann umgehend darum kümmern.

+

Wir hoffen, Dich ganz bald wieder als aktives Mitglied der gruene-seele.bio Family begrüßen zu dürfen.

', 'button_36' => 'MITGLIEDSCHAFT VERWALTEN', 'copy_first_36' => '

leider war es uns nicht möglich, den fälligen Betrag für die Mitgliedsgebühr von Deinem angegebenen Konto einzuziehen.

-

Wie angekündigt, haben wir daher heute Deinen Berater-Account pausiert, da Du Deine Mitgliedschaft damit nicht rechtzeitig verlängern konntest. Wenn Du wieder von den Vorteilen und Features bei MIVITA profitieren möchtest, kannst Du Deinen Account jederzeit auch über eine andere Zahlungsweise reaktivieren (z. B. Paypal, Kreditkarte, SOFORT Überweisung oder Vorauskasse).

+

Wie angekündigt, haben wir daher heute Deinen Berater-Account pausiert, da Du Deine Mitgliedschaft damit nicht rechtzeitig verlängern konntest. Wenn Du wieder von den Vorteilen und Features bei gruene-seele.bio profitieren möchtest, kannst Du Deinen Account jederzeit auch über eine andere Zahlungsweise reaktivieren (z. B. Paypal, Kreditkarte, SOFORT Überweisung oder Vorauskasse).

Klick dazu einfach auf folgenden Button und nimm entsprechende Einstellungen in Deinem Berater-Account vor:

', - 'copy_last_36' => '

Hinweis:
Auch wenn Dein Account pausiert, werden Dir vergangene bzw. noch offene Provisionen selbstverständlich im nächsten Zahlungslauf ausgezahlt.Solltest Du Deinen Account vollständig löschen wollen, dann schreibe bitte eine Email an info@mivita.care. Unser Berater-Service wird sich dann umgehend darum kümmern.

-

Wir hoffen, Dich ganz bald wieder als aktives Mitglied der MIVITA Family begrüßen zu dürfen.

', + 'copy_last_36' => '

Hinweis:
Auch wenn Dein Account pausiert, werden Dir vergangene bzw. noch offene Provisionen selbstverständlich im nächsten Zahlungslauf ausgezahlt.Solltest Du Deinen Account vollständig löschen wollen, dann schreibe bitte eine Email an serive@gruene-seele.bio. Unser Berater-Service wird sich dann umgehend darum kümmern.

+

Wir hoffen, Dich ganz bald wieder als aktives Mitglied der gruene-seele.bio Family begrüßen zu dürfen.

', 'button_37' => 'MITGLIEDSCHAFT VERWALTEN', - 'copy_first_37' => '

wie angekündigt, haben wir heute gemäß Deines SEPA-Lastschriftmandates den Einzug von :price für ein weiteres Jahr der Mitgliedschaft bei MIVITA veranlasst. Dieser Rechnungsbetrag wird in den nächsten Tagen von Deinem Konto abgebucht. Bitte beachte, dass die Verlängerung erst nach Zahlungseingang aktiv ist.

+ 'copy_first_37' => '

wie angekündigt, haben wir heute gemäß Deines SEPA-Lastschriftmandates den Einzug von :price für ein weiteres Jahr der Mitgliedschaft bei gruene-seele.bio veranlasst. Dieser Rechnungsbetrag wird in den nächsten Tagen von Deinem Konto abgebucht. Bitte beachte, dass die Verlängerung erst nach Zahlungseingang aktiv ist.

Falls Du in Zukunft Änderungen vornehmen möchtest, kannst Du alle Funktionen sowie die Mitgliedschaft in Deinem Berater-Account einstellen.

Folge dazu einfach dem unten stehenden Button:

', 'copy_last_37' => '', diff --git a/resources/lang/de/validation.php b/resources/lang/de/validation.php index 74cc151..cf86848 100755 --- a/resources/lang/de/validation.php +++ b/resources/lang/de/validation.php @@ -131,10 +131,10 @@ return [ 'custom' => [ 'no_email' => 'Das Feld E-Mail muss angegeben werden', - 'unique_email_client' => 'Ein Kunde mit der E-Mail-Adresse ist schon im mivita-Salescenter vorhanden', - 'unique_email_member' => 'Ein Berater mit der E-Mail-Adresse ist schon im mivita-Salescenter vorhanden', + 'unique_email_client' => 'Ein Kunde mit der E-Mail-Adresse ist schon im Salescenter vorhanden', + 'unique_email_member' => 'Ein Berater mit der E-Mail-Adresse ist schon im Salescenter vorhanden', 'match_found' => 'Kundenhoheit: Es wurde eine Übereinstimmung zu einem bestehenden Kunden gefunden, dieser Konflikt wird erst überprüft. Bis dahin hat der Kunden den Status "in Prüfung". Möchtest du eine Bestellung für den Kunden ausführen, so kannst Du die Produkte auch zu Deiner Adresse bestellen.', - 'shipping_not_found' => 'Das Lieferland ist noch nicht im System hinterlegt, bitte wende Dich an info@mivita.care um das Lieferland hinterlegen zu lassen.', + 'shipping_not_found' => 'Das Lieferland ist noch nicht im System hinterlegt, bitte wende Dich an service@gruene-seele.bio um das Lieferland hinterlegen zu lassen.', 'attribute-name' => [ 'rule-name' => 'custom-message', ], diff --git a/resources/views/_bak/web/layouts/application.blade.php b/resources/views/_bak/web/layouts/application.blade.php index 05f4403..d28f55f 100644 --- a/resources/views/_bak/web/layouts/application.blade.php +++ b/resources/views/_bak/web/layouts/application.blade.php @@ -2,7 +2,7 @@ - mivita care + gruene-seele.bio diff --git a/resources/views/admin/customer/_edit.blade.php b/resources/views/admin/customer/_edit.blade.php index 9d18bdd..74f6d6c 100644 --- a/resources/views/admin/customer/_edit.blade.php +++ b/resources/views/admin/customer/_edit.blade.php @@ -247,7 +247,7 @@
diff --git a/resources/views/admin/lead/m_register_data.blade.php b/resources/views/admin/lead/m_register_data.blade.php index d5d540c..7758e76 100644 --- a/resources/views/admin/lead/m_register_data.blade.php +++ b/resources/views/admin/lead/m_register_data.blade.php @@ -31,7 +31,7 @@ {{__('Daten vollständig, freigeschaltet')}}: {{ $user->getActiveDateFormat() }}

@if($user->files->count()) @foreach($user->files()->whereIdentifier('contract')->get() as $file) - MIVITA_Beratervertrag.pdf + Beratervertrag.pdf @endforeach @endif @else diff --git a/resources/views/admin/sales/_detail.blade.php b/resources/views/admin/sales/_detail.blade.php index 9c9569c..a05aef7 100644 --- a/resources/views/admin/sales/_detail.blade.php +++ b/resources/views/admin/sales/_detail.blade.php @@ -48,8 +48,9 @@ {{$shopping_order->getFormattedTotalShipping()}} €
-
Points gesamt
+ {{--
Points gesamt
{{ $shopping_order->points }} + --}}
@@ -296,7 +297,6 @@ } - @if($shopping_order->shopping_user->is_from !== 'homeparty')
@@ -330,7 +330,7 @@ Inhalt: {{ $shopping_order_item->product->contents }}
Gewicht: {{ $shopping_order_item->product->weight }} g
- Points: {{ $shopping_order_item->product->points }} + {{-- Points: {{ $shopping_order_item->product->points }} --}}
@endif @@ -402,105 +402,6 @@
- @else - @if($shopping_order->homeparty) - - @php($homeparty = $shopping_order->homeparty) - @if($homeparty->homeparty_host) -

Bestellung Gastgeber/in {{$homeparty->homeparty_host->billing_firstname}} {{$homeparty->homeparty_host->billing_lastname}}

- @include('admin.sales._detail_homparty', ['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) -
-

Bestellung {!! $g_count++ !!}. Gast {{$homeparty_guest->billing_firstname}} {{$homeparty_guest->billing_lastname}}

- @include('admin.sales._detail_homparty', ['homeparty'=>$shopping_order->homeparty, 'homeparty_guest' => $homeparty_guest]) - @endforeach - @endif -
- - @include('admin.sales._detail_homparty_total', ['homeparty' => $homeparty]) - - @endif - @endif
@@ -531,7 +432,7 @@
@endif - +
Zahlung @@ -557,7 +458,7 @@ {{$shopping_payment->getPaymentType()}} {{$shopping_payment->getPaymentAmount()}} - @if($isAdmin && $shopping_payment->clearingtype === 'fnc' && $shopping_payment->onlinebanktransfertype === 'MIV') + @if($isAdmin && ($shopping_payment->clearingtype === 'fnc' || $shopping_payment->clearingtype === 'vor'))
diff --git a/resources/views/admin/settings/index.blade.php b/resources/views/admin/settings/index.blade.php new file mode 100755 index 0000000..445ace5 --- /dev/null +++ b/resources/views/admin/settings/index.blade.php @@ -0,0 +1,50 @@ +@extends('layouts.layout-2') + +@section('content') +

+ {{ __('Einstellungen') }} +

+ {!! Form::open(['url' => route('admin_setting_store'), 'class' => 'form-horizontal']) !!} + +
+
+

Vorkasse Infos

+
+ +
+ + {{ Form::text('settings[prepayment-account-owner][val]', \App\Models\Setting::getContentBySlug('prepayment-account-owner'), array('class'=>'form-control')) }} + {{ Form::hidden('settings[prepayment-account-owner][type]', 'text') }} +
+
+ + {{ Form::text('settings[prepayment-iban][val]', \App\Models\Setting::getContentBySlug('prepayment-iban'), array('class'=>'form-control')) }} + {{ Form::hidden('settings[prepayment-iban][type]', 'text') }} +
+
+ + {{ Form::text('settings[prepayment-bic][val]', \App\Models\Setting::getContentBySlug('prepayment-bic'), array('class'=>'form-control')) }} + {{ Form::hidden('settings[prepayment-bic][type]', 'text') }} +
+
+ + {{ Form::text('settings[prepayment-bank][val]', \App\Models\Setting::getContentBySlug('prepayment-bank'), array('class'=>'form-control')) }} + {{ Form::hidden('settings[prepayment-bank][type]', 'text') }} +
+ + + {{-- +
+ {{ Form::textarea('settings[prepayment-info][val]', \App\Models\Setting::getContentBySlug('prepayment-info'), array('placeholder'=>__('Inhalt zur Vorkasse'), 'class'=>'form-control summernote-small', 'rows'=>10)) }} + {{ Form::hidden('settings[prepayment-info][type]', 'full_text') }} +
+ --}} + +
+ +
+
+ + {!! Form::close() !!} + +@endsection diff --git a/resources/views/admin/shipping/edit.blade.php b/resources/views/admin/shipping/edit.blade.php index 3f3da40..cb55141 100755 --- a/resources/views/admin/shipping/edit.blade.php +++ b/resources/views/admin/shipping/edit.blade.php @@ -69,8 +69,7 @@   {{__('Kunden Preis')}} - {{__('Kompensation Preis')}} - {{__('Anzahl KP')}} + {{__('Tax')}} {{__('Preis von - bis')}} {{__('Gewicht von - bis')}} @@ -97,8 +96,6 @@ {{ $price->getFormattedPrice() }} - {{ $price->getFormattedPriceComp() }} - {{ $price->num_comp }} {{ $price->getFormattedTaxRate() }} {{ $price->getFormatTotalFrom() }} - {{ $price->getFormattedTotalTo() }} {{ $price->weight_from }} - {{ $price->weight_to }} @@ -112,8 +109,6 @@
diff --git a/resources/views/user/team/members.blade.php b/resources/views/user/team/members.blade.php index 6aac39a..640bbd6 100644 --- a/resources/views/user/team/members.blade.php +++ b/resources/views/user/team/members.blade.php @@ -26,12 +26,12 @@
- + - +
-

Du möchtest einen neuen Berater registrieren? Super, das freut uns. Sende ihm einfach nachfolgenden Link per Mail, WhatsApp oder SMS zu. Er gelangt damit auf die Registrierungsseite von www.mivita.care. Wichtig ist, dass Du diesen Link nicht veränderst, denn die angehängte Berater-ID identifiziert Dich als Sponsor von dem neuen Berater. Nur so können Dir künftige Provisionen durch Umsätze von ihm zugeordnet werden. Nutze das „Kopier-Symbol“, um den Link gleich in Deine Zwischenablage zu kopieren. +

Du möchtest einen neuen Berater registrieren? Super, das freut uns. Sende ihm einfach nachfolgenden Link per Mail, WhatsApp oder SMS zu. Er gelangt damit auf die Registrierungsseite von partner.gruene-seele.bio. Wichtig ist, dass Du diesen Link nicht veränderst, denn die angehängte Berater-ID identifiziert Dich als Sponsor von dem neuen Berater. Nur so können Dir künftige Provisionen durch Umsätze von ihm zugeordnet werden. Nutze das „Kopier-Symbol“, um den Link gleich in Deine Zwischenablage zu kopieren.

diff --git a/resources/views/user/wizard/register_payment.blade.php b/resources/views/user/wizard/register_payment.blade.php index b578a50..d2bd76e 100644 --- a/resources/views/user/wizard/register_payment.blade.php +++ b/resources/views/user/wizard/register_payment.blade.php @@ -37,6 +37,23 @@
@if($userHistoryWizardPayment && $userHistoryWizardPayment->status > 2)
Eine Zahlung wurde ausgeführt. Status: {{ trans('payment.status.'.$userHistoryWizardPayment->getStatusType())}}
+ + + @if($userHistoryWizardPayment->shopping_order && $userHistoryWizardPayment->shopping_order->shopping_payment_last) + @if($userHistoryWizardPayment->shopping_order->shopping_payment_last->clearingtype === 'vor') +

Bezahlung per Vorkasse:

+

Bitte überweise {{ number_format(($userHistoryWizardPayment->shopping_order->shopping_payment_last->amount/100), 2, ",", ".") }} EUR auf die folgende Kontoverbindung, um den Kauf abzuschließen. +
+ {{__('email.checkout_mail_bank_holder')}} {!! \App\Models\Setting::getContentBySlug('prepayment-account-owner') !!}
+ {{__('email.checkout_mail_bank_iban')}} {!! \App\Models\Setting::getContentBySlug('prepayment-iban') !!}
+ {{__('email.checkout_mail_bank_bic')}} {!! \App\Models\Setting::getContentBySlug('prepayment-bic') !!}
+ {{__('email.checkout_mail_bank_name')}} {!! \App\Models\Setting::getContentBySlug('prepayment-bank') !!}
+ Gesamtbetrag: {{ number_format( ($userHistoryWizardPayment->shopping_order->shopping_payment_last->amount/100), 2, ",", ".") }} EUR
+ Verwendungszweck: {{ $userHistoryWizardPayment->shopping_order->shopping_payment_last->reference }} +

+
+ @endif + @endif