diff --git a/.env b/.env
index fd74c62..a3b101a 100644
--- a/.env
+++ b/.env
@@ -3,6 +3,7 @@ APP_ENV=local
APP_KEY=base64:w0K6RjfleoAOpuICea14JnaZ28PNc6EMzIFMQZ3MVtU=
APP_DEBUG=true
APP_URL=https://partner.gruene-seele.test
+APP_DOMAIN=partner.gruene-seele.test
APP_CHECKOUT_MAIL=kevin.adametz@me.com
APP_CHECKOUT_TEST_MAIL=kevin.adametz@me.com
diff --git a/app/Http/Controllers/Api/AuthController.php b/app/Http/Controllers/Api/AuthController.php
index 3a27d5f..5de8cf7 100755
--- a/app/Http/Controllers/Api/AuthController.php
+++ b/app/Http/Controllers/Api/AuthController.php
@@ -45,6 +45,14 @@ class AuthController extends Controller
$token->expires_at = Carbon::now()->addDays(1);
}
+ \DB::table('oauth_access_tokens')
+ ->whereDate('expires_at', '<', now()->addWeeks(1))
+ ->delete();
+
+ \DB::table('oauth_refresh_tokens')
+ ->whereDate('expires_at', '<', now()->addWeeks(1))
+ ->delete();
+
$token->save();
return response()->json([
'access_token' => $tokenResult->accessToken,
diff --git a/app/Http/Controllers/Api/ShoppingUserController.php b/app/Http/Controllers/Api/ShoppingUserController.php
index 69518c9..05073d6 100755
--- a/app/Http/Controllers/Api/ShoppingUserController.php
+++ b/app/Http/Controllers/Api/ShoppingUserController.php
@@ -23,10 +23,11 @@ class ShoppingUserController extends Controller
//protected static API_MAIL = 'api.thomas.krummel@gmail.com';
//protected static API_PASS = 'UF(Q<9knap!ev3vH?5~!b8DP';
+ //URL api.gruene-seele.bio
protected $successStatus = 200;
- protected $member_id = 3; //thomas.krummel@gmail.com
+ protected $member_id = 2; //thomas.krummel@gmail.com
/**
@@ -255,7 +256,7 @@ class ShoppingUserController extends Controller
$this->member_id = auth()->user()->m_sponsor;
$data = $this->prepareForStore($request->all());
- $data['member_id'] = $this->member_id ;
+ $data['member_id'] = $this->member_id;
$data['number'] = ShoppingUser::max('number') + 1;
$data['mode'] = $request->mode ? $request->mode : 'live';
$data['is_from'] = 'extern';
@@ -275,7 +276,7 @@ class ShoppingUserController extends Controller
'user' => $user,
'customer_priority' => $priority,
'customer_number' => $shopping_user->number,
- 'member_email' => $shopping_user->member->email
+ 'member_email' => ($shopping_user && $shopping_user->member) ? $shopping_user->member->email : false,
],
'time' => Carbon::now()->toDateTimeString()
], 200);
@@ -385,7 +386,7 @@ class ShoppingUserController extends Controller
'user' => $user,
'order' => $order,
'customer_number' => $shopping_user->number,
- 'member_email' => $shopping_user->member->email,
+ 'member_email' => ($shopping_user && $shopping_user->member) ? $shopping_user->member->email : false,
'status' => $shopping_user->getAPIShippedType(),
],
'time' => Carbon::now()->toDateTimeString()
@@ -566,7 +567,7 @@ class ShoppingUserController extends Controller
$ret['wp_order_date'] = Carbon::parse($ret['wp_order_date'])->toDateTimeString();
}
if ($need === 'same_as_billing') {
- $ret['same_as_billing'] = isset($data['same_as_billing']) ? $data['same_as_billing'] : true;
+ $ret['same_as_billing'] = isset($data['same_as_billing']) ? (int) $data['same_as_billing'] : 1;
}
}
$ret['has_buyed'] = true;
@@ -620,7 +621,7 @@ class ShoppingUserController extends Controller
'shopping_user_id' => $shopping_user->id,
'auth_user_id' => $shopping_user->auth_user_id,
'country_id' => Yard::instance('shopping')->getShippingCountryId(),
- 'user_shop_id' => auth()->user()->user_sponsor->shop->id,
+ // 'user_shop_id' => auth()->user()->user_sponsor->shop->id,
'member_id' => $shopping_user->member_id,
'total' => Yard::instance('shopping')->total(2, '.', ''),
'subtotal' => Yard::instance('shopping')->subtotal(2, '.', ''),
@@ -687,7 +688,7 @@ class ShoppingUserController extends Controller
public function orderStatusSendMail(ShoppingOrder $shopping_order){
$bcc = [];
- $user_mail = $shopping_order->shopping_user->member->email;
+ $user_mail = ($shopping_order->shopping_user && $shopping_order->shopping_user->member) ? $shopping_order->shopping_user->member->email : false;
if($shopping_order->mode === 'dev'){
$bcc[] = config('app.checkout_test_mail');
}else{
diff --git a/app/Http/Controllers/FileController.php b/app/Http/Controllers/FileController.php
index 6d1256f..cbe20b4 100644
--- a/app/Http/Controllers/FileController.php
+++ b/app/Http/Controllers/FileController.php
@@ -6,6 +6,7 @@ use Storage;
use Response;
use App\Services\Credit;
use App\Services\Invoice;
+use Auth;
class FileController extends Controller
{
@@ -18,24 +19,32 @@ class FileController extends Controller
{
}
+ private function isPermission($user_id){
+
+ if(Auth::user()->isAdmin() || $user_id == Auth::user()->id){
+ return true;
+ }
+ abort(404);
+
+ }
public function show($id = null, $disk = null, $do='file')
{
$path = "";
$filename = "";
-
if($disk === 'user'){
$file = \App\Models\File::findOrFail($id);
+ $this->isPermission($file->user_id);
$path = Storage::disk($disk)->path($file->dir.$file->filename);
if (file_exists($path)) {
return Response::file($path);
}
}
-
if ($disk === 'invoice'){
$shopping_order = \App\Models\ShoppingOrder::findOrFail($id);
+ $this->isPermission($shopping_order->auth_user_id);
$filename = Invoice::getFilename($shopping_order);
$path = Invoice::getDownloadPath($shopping_order);
if (!Storage::disk('public')->exists($path)) {
@@ -64,8 +73,11 @@ class FileController extends Controller
if ($disk === 'credit'){
$UserCredit = \App\Models\UserCredit::findOrFail($id);
+ $this->isPermission($UserCredit->auth_user_id);
+
$filename = Credit::getFilename($UserCredit);
$path = Credit::getDownloadPath($UserCredit);
+
if (!Storage::disk('public')->exists($path)) {
return Response::make('File no found.', 404);
}
diff --git a/app/Http/Controllers/PaymentCreditController.php b/app/Http/Controllers/PaymentCreditController.php
index 35dc179..ed8e73e 100644
--- a/app/Http/Controllers/PaymentCreditController.php
+++ b/app/Http/Controllers/PaymentCreditController.php
@@ -192,7 +192,7 @@ class PaymentCreditController extends Controller
->addColumn('total', function (UserCredit $UserCredit) {
- return $UserCredit->getFormattedTotal();
+ return $UserCredit->getFormattedTotal()." €";
})
->addColumn('user_margins', function (UserCredit $UserCredit) {
$ret = "";
diff --git a/app/Http/Controllers/User/PaymentController.php b/app/Http/Controllers/User/PaymentController.php
index 3a59deb..5187405 100644
--- a/app/Http/Controllers/User/PaymentController.php
+++ b/app/Http/Controllers/User/PaymentController.php
@@ -2,19 +2,29 @@
namespace App\Http\Controllers\User;
-use App\Http\Controllers\Controller;
-use App\User;
-use Request;
use Carbon;
-use App\Models\ShoppingOrder;
-
+use Request;
+use App\User;
+use App\Services\Credit;
+use App\Models\UserCredit;
+use App\Http\Controllers\Controller;
+use App\Models\UserPayCredit;
class PaymentController extends Controller
{
+ private $startYear;
+ private $endYear;
+ private $rangeYears;
+ private $activeYear;
+
public function __construct()
{
$this->middleware('auth');
+ $this->startYear = 2021;
+ $this->endYear = date('Y');
+ $this->rangeYears = range($this->startYear, $this->endYear);
+ $this->activeYear = $this->endYear;
}
public function paycredit()
@@ -25,38 +35,120 @@ class PaymentController extends Controller
return view('user.payment.paycredit', $data);
}
- /*public function index()
- {
- $start = 2021;
- $end = date('Y');
- $years = range($start, $end);
+ public function paycredit_datatable(){
- if(Request::get('filter_sales_year')){
- $active_year = Request::get('filter_sales_year');
- }else{
- $active_year = $end;
- }
+ $user = \Auth::user();
+ $query = UserPayCredit::select('user_pay_credits.*')->where('user_id', $user->id);
- $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();
-
+ return \DataTables::eloquent($query)
+
+ ->addColumn('message', function (UserPayCredit $user_pay_credit) {
+ if($user_pay_credit->status === 3){
+ return nl2br($user_pay_credit->message);
+ }else{
+ return trans('payment.'.$user_pay_credit->message).
+ ' ';
- $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('user.revenue.index', $data);
+ }
+ })
+ ->addColumn('credit', function (UserPayCredit $user_pay_credit) {
+ return formatNumber($user_pay_credit->credit)." €";
+ })
+ ->addColumn('old_credit_total', function (UserPayCredit $user_pay_credit) {
+ return formatNumber($user_pay_credit->old_credit_total)." €";
+ })
+ ->addColumn('new_credit_total', function (UserPayCredit $user_pay_credit) {
+ return formatNumber($user_pay_credit->new_credit_total)." €";
+ })
+ ->addColumn('created_at', function (UserPayCredit $user_pay_credit) {
+ return formatDate($user_pay_credit->created_at);
+ })
+
+ ->orderColumn('message', 'message $1')
+ ->orderColumn('txaction', 'txaction $1')
+ ->orderColumn('credit', 'credit $1')
+ ->orderColumn('created_at', 'created_at $1')
+ ->rawColumns(['message'])
+ ->make(true);
+ }
+
+ public function credit()
+ {
+ $user = \Auth::user();
+ $data = [
+ 'user' => $user,
+ ];
+ return view('user.payment.credit', $data);
+ }
+
+ public function credit_datatable(){
+
+ $user = \Auth::user();
+ $query = UserCredit::with('user', 'user.account')->select('user_credits.*')->where('auth_user_id', $user->id);
+
+ return \DataTables::eloquent($query)
+ ->addColumn('total', function (UserCredit $UserCredit) {
+ return $UserCredit->getFormattedTotal()." €";
+ })
+ ->addColumn('user_margins', function (UserCredit $UserCredit) {
+ $ret = "";
+ if($UserCredit->user_margins){
+ foreach($UserCredit->user_margins as $user_margin){
+ $ret .= $user_margin->firstname."/".$user_margin->lastname."/".$user_margin->reference."/".$user_margin->created_at."
";
+ }
+ }
+ if($UserCredit->user_credits){
+ foreach($UserCredit->user_credits as $user_credit){
+ $ret .= nl2br($user_credit->message)." / ".$user_credit->created_at."
";
+
+ }
+ }
+ return $ret;
+ })
+ /* ->addColumn('txaction', function (ShoppingOrder $ShoppingOrder) {
+ return Payment::getShoppingOrderBadge($ShoppingOrder);
+ })*/
+ ->addColumn('credit', function (UserCredit $UserCredit) {
+ $ret = "";
+ if(Credit::isCredit($UserCredit)){
+ $ret .= ' ';
+ $ret .= '';
+ }else{
+ $ret = "-";
+ }
+ return $ret;
+ })
+
+ ->addColumn('status', function (UserCredit $UserCredit) {
+ return ''.$UserCredit->getStatusType().' ';
+ })
+
+
+ ->orderColumn('id', 'id $1')
+ ->orderColumn('status', 'status $1')
+ ->orderColumn('total', 'total $1')
+ ->rawColumns(['shipping_order', 'total', 'credit', 'status', 'user_margins'])
+ ->make(true);
+ }
+
+
+ private function setActiveYears(){
+ if(Request::get('filter_year')){
+ $this->activeYear = Request::get('filter_year');
+ }
+ }
+
+ public function revenue()
+ {
+ $this->setActiveYears();
+
+ $user = \Auth::user();
+ $data = [
+ 'user' => $user,
+ 'years' => $this->rangeYears,
+ 'active_year' => $this->activeYear,
+ 'months' => range(1, 12),
+ ];
+ return view('user.payment.revenue', $data);
}
- */
}
\ No newline at end of file
diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php
index 0acc984..598a4a9 100644
--- a/app/Providers/AuthServiceProvider.php
+++ b/app/Providers/AuthServiceProvider.php
@@ -4,6 +4,8 @@ namespace App\Providers;
use Illuminate\Support\Facades\Gate;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
+use Laravel\Passport\Passport;
+
class AuthServiceProvider extends ServiceProvider
{
@@ -24,6 +26,7 @@ class AuthServiceProvider extends ServiceProvider
public function boot()
{
$this->registerPolicies();
+ Passport::routes();
//
}
diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php
index 527eee3..0c12570 100644
--- a/app/Providers/RouteServiceProvider.php
+++ b/app/Providers/RouteServiceProvider.php
@@ -72,9 +72,14 @@ class RouteServiceProvider extends ServiceProvider
*/
protected function mapApiRoutes()
{
- Route::prefix('api')
+ Route::domain('api.'.config('app.domain'))
+ ->middleware('api')
+ ->namespace($this->namespace)
+ ->group(base_path('routes/api.php'));
+
+ /* Route::prefix('api')
->middleware('api')
->namespace($this->namespace)
- ->group(base_path('routes/api.php'));
+ ->group(base_path('routes/api.php'));*/
}
}
diff --git a/app/Services/CustomerPriority.php b/app/Services/CustomerPriority.php
index d042a8e..4522ca9 100644
--- a/app/Services/CustomerPriority.php
+++ b/app/Services/CustomerPriority.php
@@ -22,7 +22,7 @@ class CustomerPriority
//only extern no members with no numbers
$shopping_users = ShoppingUser::where('auth_user_id', '=', NULL)->where('number', '=', NULL)->orderBy('created_at', 'ASC')->get();
foreach ($shopping_users as $shopping_user){
- if($shopping_user->shopping_order && $shopping_user->shopping_order->user_shop){
+ if($shopping_user->shopping_order){
self::checkOne($shopping_user);
}
}
@@ -217,8 +217,8 @@ class CustomerPriority
}
private static function newCustomer($shopping_user){
- if($shopping_user->shopping_order && $shopping_user->shopping_order->user_shop) {
- $member_id = $shopping_user->shopping_order->user_shop->user_id;
+ if($shopping_user->shopping_order && $shopping_user->shopping_order->member_id) {
+ $member_id = $shopping_user->shopping_order->member_id;
$shopping_user->member_id = $member_id;
$shopping_user->number = self::nextNumber();
$shopping_user->save();
diff --git a/app/Services/UserMarign.php b/app/Services/UserMarign.php
index 7a3dfe8..1160505 100644
--- a/app/Services/UserMarign.php
+++ b/app/Services/UserMarign.php
@@ -86,11 +86,16 @@ class UserMarign
public static function getMontlyPartnerCommissionOpen(User $user, $date = null, $format = false){
- //$now = $date ? Carbon::parse($date) : Carbon::now();
- $start = Carbon::parse('01.01.2021');
- $end = Carbon::now();
- $startDay = $start->startOfMonth()->toDateString();
- $endDay = $end->endOfMonth()->toDateString();
+ if(!$date){
+ $start = Carbon::parse('01.01.2021');
+ $end = Carbon::now();
+ $startDay = $start->startOfMonth()->toDateString();
+ $endDay = $end->endOfMonth()->toDateString();
+ }else{
+ $now = $date ? Carbon::parse($date) : Carbon::now();
+ $startDay = $now->startOfMonth()->toDateString();
+ $endDay = $now->endOfMonth()->toDateString();
+ }
$sum_net_amount = ShoppingOrderMargin::whereMSponsorId($user->id)
->whereBetween('from', [$startDay, $endDay])
@@ -129,12 +134,17 @@ class UserMarign
public static function getMontlyPartnerCommissionPending(User $user, $date = null, $format = false){
- //$now = $date ? Carbon::parse($date) : Carbon::now();
- $start = Carbon::parse('01.01.2021');
- $end = Carbon::now();
- $startDay = $start->startOfMonth()->toDateString();
- $endDay = $end->endOfMonth()->toDateString();
-
+ if(!$date){
+ $start = Carbon::parse('01.01.2021');
+ $end = Carbon::now();
+ $startDay = $start->startOfMonth()->toDateString();
+ $endDay = $end->endOfMonth()->toDateString();
+ }else{
+ $now = $date ? Carbon::parse($date) : Carbon::now();
+ $startDay = $now->startOfMonth()->toDateString();
+ $endDay = $now->endOfMonth()->toDateString();
+ }
+
$sum_net_amount = ShoppingOrderMargin::whereMSponsorId($user->id)
->whereBetween('from', [$startDay, $endDay])
->wherePaid(true)
diff --git a/app/User.php b/app/User.php
index 9b77e42..8fb108c 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 Laravel\Passport\HasApiTokens;
use Util;
/**
@@ -98,10 +99,12 @@ use Util;
* @method static \Illuminate\Database\Eloquent\Builder|User wherePaymentAccount($value)
* @property string|null $payment_credit
* @method static \Illuminate\Database\Eloquent\Builder|User wherePaymentCredit($value)
+ * @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\UserPayCredit[] $user_pay_credits
+ * @property-read int|null $user_pay_credits_count
*/
class User extends Authenticatable
{
- use Notifiable;
+ use Notifiable, HasApiTokens;
/**
* The attributes that are mass assignable.
diff --git a/config/app.php b/config/app.php
index 2df1e72..d079810 100644
--- a/config/app.php
+++ b/config/app.php
@@ -53,6 +53,7 @@ return [
*/
'url' => env('APP_URL', 'https://partner.gruene-seele.bio'),
+ 'domain' => env('APP_DOMAIN', 'partner.gruene-seele.bio'),
'checkout_mail' => env('APP_CHECKOUT_MAIL', 'kevin.adametz@me.com'),
'checkout_test_mail' => env('APP_CHECKOUT_TEST_MAIL', 'kevin.adametz@me.com'),
diff --git a/config/auth.php b/config/auth.php
index 54457fe..2950782 100644
--- a/config/auth.php
+++ b/config/auth.php
@@ -42,9 +42,8 @@ return [
],
'api' => [
- 'driver' => 'token',
+ 'driver' => 'passport',
'provider' => 'users',
- 'hash' => false,
],
],
diff --git a/resources/views/admin/customer/_detail.blade.php b/resources/views/admin/customer/_detail.blade.php
index af7b802..65364a5 100644
--- a/resources/views/admin/customer/_detail.blade.php
+++ b/resources/views/admin/customer/_detail.blade.php
@@ -92,13 +92,7 @@
| Betrag: | ++ {{ $value->getFormattedTotal()." €" }} + | +
| Zahlungsart: | diff --git a/resources/views/admin/payment/credit/index.blade.php b/resources/views/admin/payment/credit/index.blade.php index a09736d..7c1d5a4 100755 --- a/resources/views/admin/payment/credit/index.blade.php +++ b/resources/views/admin/payment/credit/index.blade.php @@ -214,8 +214,6 @@ |