Browse Source

Merge branch 'master' of https://rav.triplestart.com/tigerphp/lemon-admin

Samson Mutunga 3 months ago
parent
commit
607c9ac957

+ 11 - 0
app/Http/Controllers/AdminController.php

@@ -113,6 +113,12 @@ class AdminController extends Controller
         return view('app.my-account.admin.users.sub.transactions', compact('transactions', 'user'));
     }
 
+    public function relatedUsers(User $user)
+    {
+        $relatedUsers = User::where('email', 'ilike', $user->email)->where('id', '<>', $user->id)->orderBy('created_at', 'DESC')->get();
+        return view('app.my-account.admin.users.sub.related-users', compact('relatedUsers', 'user'));
+    }
+
     public function userSessions(User $user)
     {
         $sessions = AppSession::where('user_id', $user->id)->orderBy('created_at', 'DESC')->paginate(30);
@@ -552,6 +558,11 @@ class AdminController extends Controller
     $storageResponse = $this->storeFileAs($request, $fileRef, StoreOrder::FILE_PATH, $accessToken);
 
     $detailJson = json_decode($order->detail_json ?? '{}', true);
+    if(!isset($detaiJson["results"])){
+        $detailJson["results"] = [];
+    }
+    $detailJson["results"][] = $fileRef;
+
     $detailJson[$fileRef] = $storageResponse;
     $order->detail_json = json_encode($detailJson);
     $order->save();

+ 4 - 0
resources/views/app/my-account/admin/users/partials/sidebar.blade.php

@@ -50,6 +50,10 @@ $currentMenu = \Illuminate\Support\Facades\Request::segment(4);
                 <a class="nav-link {{\Illuminate\Support\Facades\Route::getCurrentRoute()->getName() === 'admin.users.view.messages' ? 'active' : ''}}"
                    href="{{ route('admin.users.view.messages', $user) }}">Messages</a>
             </li>
+            <li class="nav-item ps-2">
+                <a class="nav-link {{\Illuminate\Support\Facades\Route::getCurrentRoute()->getName() === 'admin.users.view.related-users' ? 'active' : ''}}"
+                   href="{{ route('admin.users.view.related-users', $user) }}">Related Users</a>
+            </li>
             <li class="nav-item ps-2">
                 <a class="nav-link {{\Illuminate\Support\Facades\Route::getCurrentRoute()->getName() === 'admin.users.view.user-events' ? 'active' : ''}}"
                    href="{{ route('admin.users.view.user-events', $user) }}">User Events</a>

+ 29 - 0
resources/views/app/my-account/admin/users/sub/info/login.blade.php

@@ -7,6 +7,7 @@
                         <div class="col-md-12">
                             <div class="d-flex align-items-center">
                                 <h6 class="text-muted text-nowrap mb-0"><b>Standard Login</b></h6>
+
                                 <div class="ms-1">
                                     @if($user->is_standard_log_in_enabled)
                                     @include('app.my-account.admin.users.forms.standard-login-disable')
@@ -14,6 +15,34 @@
                                     <span><i class="fa-solid fa-toggle-large-off fa-fw fa-switch text-muted"></i></span>
                                     @endif
                                 </div>
+
+                            </div>
+                            <div>
+                                <div moe normal>
+                                    <a start show href="#" class="text-primary">Reset password</a>
+                                    <form url="/api/auth/adminChangePassword">
+                                        @csrf
+                                        <input type="hidden" name="userUid" value="{{ $user->uid }}">
+
+                                        <div class="mb-2">
+                                            <label for="" class="control-label">Password</label>
+                                            <input type="text" name="newPassword" class="form-control">
+                                        </div>
+
+                                        <div class="mb-2">
+                                            <label for="" class="control-label">Confirm Password</label>
+                                            <input type="text" name="confirmNewPassword" class="form-control">
+                                        </div>
+
+                                        <div>
+                                            <button submit class="btn btn-sm btn-primary me-2">Update password</button>
+                                            <button cancel class="btn btn-sm btn-default border">Cancel</button>
+                                        </div>
+                                    </form>
+                                </div>
+                            </div>
+                            <div class="ms-1">
+                                Current Email confirmation token: {{$user->email_confirmation_token}}
                             </div>
                         </div>
                         <div class="col-md-6">

+ 45 - 0
resources/views/app/my-account/admin/users/sub/related-users.blade.php

@@ -0,0 +1,45 @@
+@extends('app.my-account.admin.users.single')
+
+@section('details')
+    <h1>Related users </h1>
+    <div>
+        <table class="table table-sm table-striped">
+            <thead>
+            <tr>
+                <th>First Name</th>
+                <th>Last Name</th>
+                <th>Email</th>
+                <th>Duplicate?</th>
+                <th></th>
+            </tr>
+            </thead>
+            <tbody>
+            @foreach($relatedUsers as $relatedUser)
+            <tr>
+                <td>{{$relatedUser->name_first}}</td>
+                <td>{{$relatedUser->name_last}}</td>
+                <td>{{$relatedUser->email}}</td>
+                <td>{{$relatedUser->is_marked_as_duplicate? 'Yes':'No'}}</td>
+                <td>
+                    <div>
+                        <div moe normal>
+                            <a start show href="#" class="text-primary">Merge into the verified account</a>
+                            <form url="/api/customerStore/mergeUserAsAdmin">
+                                @csrf
+                                <input type="hidden" name="verifiedUserUid" value="{{ $user->uid }}">
+                                <input type="hidden" name="unverifiedUserUid" value="{{ $relatedUser->uid }}">
+
+                                <div>
+                                    <button submit class="btn btn-sm btn-primary me-2">Merge</button>
+                                    <button cancel class="btn btn-sm btn-default border">Cancel</button>
+                                </div>
+                            </form>
+                        </div>
+                    </div>
+                </td>
+            </tr>
+            @endforeach
+            </tbody>
+        </table>
+    </div>
+@endsection

+ 40 - 20
resources/views/app/my-account/admin/users/sub/transactions.blade.php

@@ -5,29 +5,49 @@
     <div class="my-4">
         <h4><b>Financial Transactions</b></h4>
         <div class="table-responsive">
-          <table class="table table-sm table-hover table-striped table-bordered mb-0">
-              <thead>
-              <tr>
-                <th>Date</th>
-                <th>Order</th>
-                <th>Payment Method</th>
-                <th>Amount</th>
-                <th>Charge or Refund</th>
-                <th>Description</th>
-              </tr>
-              </thead>
-              <tbody>
-                @foreach($transactions as $transaction)
+            <table class="table table-sm table-hover table-striped table-bordered mb-0">
+                <thead>
                 <tr>
-                  <td>{{$transaction->created_at}}</td>
-                  <td><a href="{{ route('admin.orders.view.dashboard', $transaction->storeOrder) }}">{{ $transaction->storeOrder->iid }}</a></td>
-                  <td><a href="{{ route('admin.payment-methods.view.dashboard', $transaction->paymentMethod) }}">{{ $transaction->paymentMethod->card_type }} ending in {{ $transaction->paymentMethod->card_last_four }}</a></td>
-                  <td>${{$transaction->amount}}</td>
-                  <td>{{$transaction->charge_or_refund}}</td>
-                  <td>{{$transaction->description}}</td>
+                    <th>Date</th>
+                    <th>Order</th>
+                    <th>Payment Method</th>
+                    <th>Merchant</th>
+                    <th>Amount</th>
+                    <th>Charge or Refund</th>
+                    <th>Description</th>
+                    <th>Is stripe payment confirmed?</th>
                 </tr>
+                </thead>
+                <tbody>
+                @foreach($transactions as $transaction)
+                    <tr>
+                        <td>{{$transaction->created_at}}</td>
+                        <td>
+                            <a href="{{ route('admin.orders.view.dashboard', $transaction->storeOrder) }}">{{ $transaction->storeOrder->iid }}</a>
+                        </td>
+                        <td>
+                            <a href="{{ route('admin.payment-methods.view.dashboard', $transaction->paymentMethod) }}">{{ $transaction->paymentMethod->card_type }}
+                                ending in {{ $transaction->paymentMethod->card_last_four }}</a></td>
+                        <td>
+                            {{$transaction->paymentMethod->authorize_customer_profile_id? 'Authorize.net': 'Stripe'}}
+                        </td>
+                        <td>${{$transaction->amount}}</td>
+                        <td>{{$transaction->charge_or_refund}}</td>
+                        <td>{{$transaction->description}}</td>
+                        <td>
+                            @if($transaction->paymentMethod->stripe_id)
+                                @if($transaction->is_stripe_confirmation_done)
+                                    Yes
+                                @else
+                                    No
+                                @endif
+                            @else
+                                -
+                            @endif
+                        </td>
+                    </tr>
                 @endforeach
-              </tbody>
+                </tbody>
             </table>
         </div>
     </div>

+ 3 - 1
routes/web.php

@@ -57,10 +57,12 @@ Route::group(['middleware' => ['ensureUserLoggedIn']], function () {
             Route::post('/create-new-user', [AdminController::class, 'createNewUser'])->name('.create-new-user');
             Route::post('/create-new-email', [AdminController::class, 'createNewEmail'])->name('.create-new-email');
             Route::post('/create-new-sms', [AdminController::class, 'createNewSms'])->name('.create-new-sms');
+            Route::post('/admin-merge-user', [AdminController::class, 'adminMergeUser'])->name('.admin-merge-user');
             Route::prefix('/users/view/{user}')->name('.users.view')->group(function () {
                 Route::get('/dashboard', [AdminController::class, 'userDashboard'])->name('.dashboard');
                 Route::get('/orders', [AdminController::class, 'userOrders'])->name('.orders');
                 Route::get('/transactions', [AdminController::class, 'userTransactions'])->name('.transactions');
+                Route::get('/related-users', [AdminController::class, 'relatedUsers'])->name('.related-users');
                 Route::get('/sessions', [AdminController::class, 'userSessions'])->name('.sessions');
                 Route::get('/user-events', [AdminController::class, 'userUserEvents'])->name('.user-events');
                 Route::get('/payment-methods', [AdminController::class, 'userPaymentMethods'])->name('.payment-methods');
@@ -71,7 +73,7 @@ Route::group(['middleware' => ['ensureUserLoggedIn']], function () {
                 Route::post('/make-admin', [AdminController::class, 'userMakeAdmin'])->name('.make-admin');
                 Route::post('/undo-make-admin', [AdminController::class, 'userUndoMakeAdmin'])->name('.undo-make-admin');
             });
-            
+
             Route::get('/orders', [AdminController::class, 'orders'])->name('.orders');
             Route::post('/create-order', [AdminController::class, 'orderCreate'])->name('.create-order');
             Route::prefix('/orders/view/{order}')->name('.orders.view')->group(function () {