Homeparty online, Cron SEPA

This commit is contained in:
Kevin Adametz 2021-04-23 14:54:09 +02:00
parent 13fb2cfe98
commit 36872100c6
41 changed files with 1140 additions and 189 deletions

View file

@ -7,6 +7,7 @@ use App\Mail\MailVerifyAccount;
use App\Models\UserHistory;
use App\Models\UserMessage;
use App\Repositories\UserRepository;
use App\Services\PaymentHelper;
use App\User;
use Carbon;
use Illuminate\Support\Facades\Mail;
@ -104,14 +105,39 @@ class CronController extends Controller
dump($user->email." | ".$user->getPaymentAccountDateFormat());
die();*/
foreach ($users as $user){
$this->checkReminderPayments($user);
/*dump($user->daysActiveAccount());
dump($user->email." | ".$user->getPaymentAccountDateFormat());
dump('-------------------');*/
// $this->checkReminderPayments($user);
$this->userInitAboPayment($user);
}
return "TOSK";
}
private function userInitAboPayment(User $user){
if(!$user->isAcountAboPayDate()){
return false;
}
//user has a open Abo Payment
if($this->checkIsAboPaymentOpen($user)){
return false;
}
if($user->payment_order_product){
$this->buyProductAboPayment($user, $user->payment_order_product);
}
/*dump($user->daysActiveAccount());
dump($user->email." | ".$user->getPaymentAccountDateFormat());
dump('-------------------');*/
}
private function checkIsAboPaymentOpen(User $user){
$isOpen = UserHistory::whereUserId($user->id)
->whereAction('abo_open_payment')
->whereIdentifier($user->payment_account)
->where('status', '>=', 1) //open //error // payment
->get()->last();
if($isOpen){
return true;
}
return false;
}
private function checkReminderPayments(User $user){
@ -158,7 +184,6 @@ class CronController extends Controller
}
}
private function checkIsReminderSend(User $user, $status){
$isSend = UserHistory::whereUserId($user->id)
@ -237,4 +262,11 @@ class CronController extends Controller
return 1;
}
private function buyProductAboPayment($user, $product){
$paymentHelper = new PaymentHelper();
$paymentHelper->setProduct($product);
$paymentHelper->initELVPayment($user);
}
}

View file

@ -2,19 +2,20 @@
namespace App\Http\Controllers;
use Request;
use App\User;
use Validator;
use App\Services\SysLog;
use App\Models\UserAccount;
use App\Models\UserHistory;
use App\Services\UserService;
use App\Mail\MailAccountActive;
use App\Mail\MailCustomMessage;
use App\Mail\MailVerifyAccount;
use App\Mail\MailVerifyContact;
use App\Mail\MailAccountActive;
use App\Models\UserAccount;
use App\Models\UserHistory;
use App\Repositories\ContractPDFRepository;
use App\Repositories\UserRepository;
use App\Services\UserService;
use App\User;
use Illuminate\Support\Facades\Mail;
use Request;
use Validator;
use App\Repositories\ContractPDFRepository;
class LeadController extends Controller
{
@ -187,6 +188,21 @@ class LeadController extends Controller
$this->userRepo->update($data);
if(isset($data['m_data_edit']) && $data['m_data_edit'] === "TSOK"){
//syslog
if(isset($data['m_sponsor'])){
if($user->m_sponsor != $data['m_sponsor']){
$from_user = isset($user->user_sponsor->email) ? $user->user_sponsor->email : "empty";
$t_user = User::find($data['m_sponsor']);
$to_user = isset($t_user->email) ? $t_user->email : "empty";
SysLog::action('save-m_sponsor', 'lead_edit_sponsor', 3)
->setUserId(\Auth::user()->id)
->setModel($user->id, User::class)
->setMessage('Set user new sponsor from: '.$from_user." | to: ".$to_user)
->save();
}
}
$user = $this->userRepo->getModel();
$user->m_level = isset($data['m_level']) ? $data['m_level'] : NULL;
$user->m_sponsor = isset($data['m_sponsor']) ? $data['m_sponsor'] : NULL;

View file

@ -229,8 +229,13 @@ class PayoneController extends Controller
}
}
public function ResponseData(){
public function onlyPaymentResponse(){
$request = array_merge($this->default, $this->personalData, $this->deliveryData, $this->method, $this->prepayment, $this->urls);
$response = Payone::sendRequest($request);
return $response;
}
public function ResponseData(){
$request = array_merge($this->default, $this->personalData, $this->deliveryData, $this->method, $this->prepayment, $this->urls);
//RECHNUNG MIV

View file

@ -0,0 +1,78 @@
<?php
namespace App\Http\Controllers\SyS;
use Request;
use Carbon;
use App\Models\SySetting;
use App\Models\ShoppingOrder;
use App\Http\Controllers\Controller;
class SalesController extends Controller
{
protected $userRepo;
public function __construct()
{
$this->middleware('sysadmin');
}
public function index()
{
$start = 2019;
$end = date('Y');
$years = range($start, $end);
if(Request::get('filter_sales_year')){
$active_year = Request::get('filter_sales_year');
}else{
$active_year = $end;
}
$date1 = Carbon::parse('01.01.'.$active_year." 00:00:00")->format('Y-m-d H:i:s');
$date2 = Carbon::parse('31.12.'.$active_year." 23:59:59")->toDateString();
$values = ShoppingOrder::where('shopping_orders.auth_user_id', '!=', NULL) //::with('shopping_user', )->select('shopping_orders.*')
->where('mode', '=', 'live')
->where('paid', '=', 1)
->whereHas('shopping_order_items', function($q) {
$q->where('product_id', 34)->OrWhere('product_id', 35)->OrWhere('product_id', 36)->OrWhere('product_id', 67)->OrWhere('product_id', 69);
})
->whereBetween('created_at', [$date1, $date2])
->get();
$data = [
'years' => $years,
'active_year' => $active_year,
'values' => $values,
];
return view('sys.sales.index', $data);
}
public function store()
{
$data = Request::all();
$data['active'] = isset($data['active']) ? true : false;
if($data['id'] === "new"){
$model = SySetting::create($data);
}else{
$model = SySetting::find($data['id']);
$model->fill($data);
$model->save();
}
\Session()->flash('alert-save', '1');
return redirect(route('sysadmin_settings'));
}
}

View file

@ -39,7 +39,6 @@ class AdminToolsController extends Controller
public function customers()
{
$shopping_users = ShoppingUser::where('member_id', '=', NULL)->where('auth_user_id', '=', NULL)->get();
$data = [
'values' => $shopping_users,
@ -76,11 +75,8 @@ class AdminToolsController extends Controller
$pdf->_set('user_id', $user->id);
$pdf->_set('identifier', 'contract');
$pdf->createContractPDF();
}
if(strpos($data['action'], 'checkOne_') !== false){
$id = (int) str_replace('checkOne_', '', $data['action']);
$shopping_user = ShoppingUser::findOrFail($id);
@ -104,9 +100,9 @@ class AdminToolsController extends Controller
'values' => $values,
'text' => $text,
];
return view('sys.admin.cronjobs', $data);
}
public function cronjobsStore()
{
$data = Request::all();
@ -114,7 +110,6 @@ class AdminToolsController extends Controller
return back();
}
public function domainSSL()
{
$user_shops = UserShop::all();
@ -144,10 +139,8 @@ class AdminToolsController extends Controller
];
return view('sys.admin.domain-ssl', $data);
}
public function domainSSLStore()
{
$data = Request::all();
@ -165,6 +158,7 @@ class AdminToolsController extends Controller
return view('sys.admin.shopping-orders', $data);
}
public function shoppingOrdersStore()
{
//first run
@ -197,9 +191,6 @@ class AdminToolsController extends Controller
\Session()->flash('alert-save', true);
}
return back();
}
}

View file

@ -28,8 +28,6 @@ class HomepartyController extends Controller
public function __construct()
{
$this->middleware('superadmin');
$this->middleware('active.account');
}
@ -45,6 +43,7 @@ class HomepartyController extends Controller
{
if($id === 'new'){
$homeparty = new Homeparty();
$homeparty->description = "Willkommen zu unserer Auszeitparty rund um das Thema Bio Aloe Vera und Naturkosmetik. Wir informieren Dich darüber, was Premiumqualität bei Naturkosmetik wirklich ausmacht, zeigen Dir viele Anwendungsbeispiele bei Haut- und Darmproblemen und natürlich kannst Du unsere Produkte ausgiebig testen. Wir freuen uns auf Dich!";
}else{
$homeparty = $this->getHomparty($id);
}
@ -154,6 +153,7 @@ class HomepartyController extends Controller
$homeparty = $this->getHomparty($id);
if($gid === 'new'){
$homeparty_user = new HomepartyUser();
$homeparty_user->same_as_billing = true;
}else{
$homeparty_user = HomepartyUser::findOrFail($gid);
if($homeparty->id !== $homeparty_user->homeparty_id){
@ -238,8 +238,6 @@ class HomepartyController extends Controller
$homeparty = $this->getHomparty($id);
if(Request::ajax()) {
$data = Request::all();
@ -415,9 +413,14 @@ class HomepartyController extends Controller
if($homeparty->id !== $homeparty_user->homeparty_id){
abort(404);
}
$homeparty_user->save();
if($homeparty_user->homeparty_user_order_items){
foreach($homeparty_user->homeparty_user_order_items as $homeparty_user_order_item){
$homeparty_user_order_item->delete();
}
}
//$homeparty_user->save();
$homeparty_user->delete();
\Session()->flash('alert-success', "Homeparty Gast gelöscht");
\Session()->flash('alert-success', "Auszeitparty Gast gelöscht");
return redirect(route('user_homeparty_guests', [$homeparty->id]));
}
@ -427,11 +430,20 @@ class HomepartyController extends Controller
if ($homeparty->id !== $homeparty_user->homeparty_id) {
abort(404);
}
$homeparty_user->save();
if($homeparty_user->homeparty_user_order_items){
foreach($homeparty_user->homeparty_user_order_items as $homeparty_user_order_item){
$homeparty_user_order_item->delete();
}
}
$homeparty_user->delete();
}
if($homeparty->homeparty_order_items){
foreach($homeparty->homeparty_order_items as $homeparty_order_item){
$homeparty_order_item->delete();
}
}
$homeparty->delete();
\Session()->flash('alert-success', "Homeparty gelöscht");
\Session()->flash('alert-success', "Auszeitparty gelöscht");
return redirect(route('user_homepartys'));
}

View file

@ -24,8 +24,6 @@ class OrderController extends Controller
public function __construct()
{
$this->middleware('superadmin');
$this->middleware('active.account');
}
@ -166,7 +164,6 @@ class OrderController extends Controller
public function payment($for, $id=null){
$data = Request::all();
$user = User::find(Auth::user()->id);
$rules = array(
'shipping_salutation' => 'required',

View file

@ -42,7 +42,6 @@ class CheckoutController extends Controller
public function checkout(){
// dump(Request::all());
// $user_shop = Util::getUserShop();
$shopping_data = Yard::instance('shopping')->getYardExtra('shopping_data');

View file

@ -37,12 +37,15 @@ class HomepartyController extends Controller
abort(403, 'Link für die Homeparty wurde nicht gefunden, oder ist nicht mehr aktiv.');
}
$homeparty_user = null;
if($gid){
if($gid === 'new'){
$homeparty_user = new HomepartyUser();
$homeparty_user->same_as_billing = true;
}else{
//no edit
abort(403, 'Link für die Homeparty wurde nicht gefunden, oder ist nicht mehr aktiv.');
$homeparty_user = HomepartyUser::find($gid);
if(!$homeparty_user || $homeparty_user->homeparty_id !== $homeparty->id){
abort(403, 'Link für die Homeparty wurde nicht gefunden, oder ist nicht mehr aktiv.');
@ -52,6 +55,8 @@ class HomepartyController extends Controller
$data = [
'homeparty' => $homeparty,
'homeparty_user' => $homeparty_user,
'homeparty_host' => $homeparty->homeparty_host,
'mivita_member' => $homeparty->auth_user
];
return view('user.homeparty.self_guest_detail', $data);
@ -68,22 +73,7 @@ class HomepartyController extends Controller
abort(403, 'Link für die Homeparty wurde nicht gefunden, oder ist nicht mehr aktiv.');
}
if($gid === null){
$homeparty_user = HomepartyUser::create([
'homeparty_id' => $homeparty->id,
'auth_user_id' => $homeparty->auth_user_id,
'is_host' => false,
]);
}else{
$homeparty_user = HomepartyUser::find($gid);
if(!$homeparty_user || $homeparty_user->homeparty_id !== $homeparty->id){
abort(403, 'Link für die Homeparty wurde nicht gefunden, oder ist nicht mehr aktiv.');
}
}
if(!$homeparty_user){
abort(403, 'Link für die Homeparty wurde nicht gefunden, oder ist nicht mehr aktiv.');
}
$rules = array(
'billing_salutation' => 'required',
@ -93,6 +83,8 @@ class HomepartyController extends Controller
'billing_zipcode' => 'required',
'billing_city' => 'required',
'billing_country_id' => 'required',
'checkbox_datenverarbeitung' => 'required',
'checkbox_daten_completely' => 'required'
);
if (!Request::get('same_as_billing')) {
$rules = array_merge($rules, [
@ -109,6 +101,24 @@ class HomepartyController extends Controller
if ($validator->fails()) {
return back()->withErrors($validator)->withInput(Request::all());
}
if($gid === null){
$homeparty_user = HomepartyUser::create([
'homeparty_id' => $homeparty->id,
'auth_user_id' => $homeparty->auth_user_id,
'is_host' => false,
]);
}else{
//no edit
abort(403, 'Link für die Homeparty wurde nicht gefunden, oder ist nicht mehr aktiv.');
$homeparty_user = HomepartyUser::find($gid);
if(!$homeparty_user || $homeparty_user->homeparty_id !== $homeparty->id){
abort(403, 'Link für die Homeparty wurde nicht gefunden, oder ist nicht mehr aktiv.');
}
}
if(!$homeparty_user){
abort(403, 'Link für die Homeparty wurde nicht gefunden, oder ist nicht mehr aktiv.');
}
$data = Request::all();
$data['same_as_billing'] = isset($data['same_as_billing']) ? true : false;

View file

@ -65,7 +65,6 @@ class RegisterController extends Controller
public function register(){
$rules = array(
'salutation' => 'required',
'first_name'=>'required',
@ -74,13 +73,13 @@ class RegisterController extends Controller
'email-confirm' => 'required|same:email',
'password' => 'required|string|min:6|confirmed',
'password_confirmation' => 'required|string|min:6',
// 'g-recaptcha-response'=>'required|recaptcha',
'g-recaptcha-response'=>'required|recaptcha',
'accepted_data_protection' => 'required',
);
/*Validator::extend('recaptcha', function($attribute, $value, $parameters, $validator) {
Validator::extend('recaptcha', function($attribute, $value, $parameters, $validator) {
return $this->reCaptcha_validate($attribute, $value, $parameters, $validator);
});*/
});
$validator = Validator::make(Request::all(), $rules);
if ($validator->fails()) {
@ -124,7 +123,7 @@ class RegisterController extends Controller
];
return view('web.templates.registrierung_finish', $data);
}
/*
private function reCaptcha_validate($attribute, $value, $parameters, $validator)
{
@ -143,7 +142,7 @@ class RegisterController extends Controller
$body = json_decode((string)$response->getBody());
return $body->success;
}
*/
}