Selaa lähdekoodia

Merge branch 'main' of https://github.com/ControlPanel-gg/dashboard into billing_system

IceToast 3 vuotta sitten
vanhempi
commit
16eb9eeca6

+ 7 - 1
app/Classes/Settings/System.php

@@ -33,6 +33,7 @@ class System
             "credits-reward-amount-email" => "required|min:0|integer",
             "server-limit-discord" => "required|min:0|integer",
             "server-limit-email" => "required|min:0|integer",
+            "server-limit-purchase" => "required|min:0|integer",
             "pterodactyl-api-key" => "required|string",
             "pterodactyl-url" => "required|string",
 
@@ -59,9 +60,11 @@ class System
             "SETTINGS::USER:CREDITS_REWARD_AFTER_VERIFY_EMAIL" => "credits-reward-amount-email",
             "SETTINGS::USER:SERVER_LIMIT_REWARD_AFTER_VERIFY_DISCORD" => "server-limit-discord",
             "SETTINGS::USER:SERVER_LIMIT_REWARD_AFTER_VERIFY_EMAIL" => "server-limit-email",
+            "SETTINGS::USER:SERVER_LIMIT_AFTER_IRL_PURCHASE" => "server-limit-purchase",
             "SETTINGS::MISC:PHPMYADMIN:URL" => "phpmyadmin-url",
             "SETTINGS::SYSTEM:PTERODACTYL:URL" => "pterodactyl-url",
             "SETTINGS::SYSTEM:PTERODACTYL:TOKEN" => "pterodactyl-api-key",
+            "SETTINGS::SYSTEM:ENABLE_LOGIN_LOGO" => "enable-login-logo",
         ];
 
 
@@ -78,13 +81,16 @@ class System
     {
         $request->validate([
             'icon' => 'nullable|max:10000|mimes:jpg,png,jpeg',
+            'logo' => 'nullable|max:10000|mimes:jpg,png,jpeg',
             'favicon' => 'nullable|max:10000|mimes:ico',
         ]);
 
         if ($request->hasFile('icon')) {
             $request->file('icon')->storeAs('public', 'icon.png');
         }
-
+        if ($request->hasFile('logo')) {
+            $request->file('logo')->storeAs('public', 'logo.png');
+        }
         if ($request->hasFile('favicon')) {
             $request->file('favicon')->storeAs('public', 'favicon.ico');
         }

+ 12 - 2
app/Http/Controllers/Admin/ServerController.php

@@ -66,9 +66,12 @@ class ServerController extends Controller
      * @param Server $server
      * @return Response
      */
+
     public function edit(Server $server)
     {
-        //
+        return view('admin.servers.edit')->with([
+            'server' => $server
+        ]);
     }
 
     /**
@@ -80,7 +83,13 @@ class ServerController extends Controller
      */
     public function update(Request $request, Server $server)
     {
-        //
+        $request->validate([
+            "identifier" => "required|string",
+        ]);
+
+        $server->update($request->all());
+
+        return redirect()->route('admin.servers.index')->with('success', 'Server updated!');
     }
 
     /**
@@ -139,6 +148,7 @@ class ServerController extends Controller
                 $suspendText = $server->isSuspended() ? __("Unsuspend") : __("Suspend");
 
                 return '
+                         <a data-content="' . __("Edit") . '" data-toggle="popover" data-trigger="hover" data-placement="top"  href="' . route('admin.servers.edit', $server->id) . '" class="btn btn-sm btn-info mr-1"><i class="fas fa-pen"></i></a>
                         <form class="d-inline" method="post" action="' . route('admin.servers.togglesuspend', $server->id) . '">
                             ' . csrf_field() . '
                            <button data-content="' . $suspendText . '" data-toggle="popover" data-trigger="hover" data-placement="top" class="btn btn-sm ' . $suspendColor . ' text-white mr-1"><i class="far ' . $suspendIcon . '"></i></button>

+ 1 - 0
app/Http/Controllers/Admin/UserController.php

@@ -123,6 +123,7 @@ class UserController extends Controller
             "credits" => "required|numeric|min:0|max:99999999",
             "server_limit" => "required|numeric|min:0|max:1000000",
             "role" => Rule::in(['admin', 'mod', 'client', 'member']),
+            "referral_code" => "required|string|min:2|max:32|unique:users,referral_code,{$user->id}",
         ]);
 
         if (isset($this->pterodactyl->getUser($request->input('pterodactyl_id'))['errors'])) {

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 93 - 312
composer.lock


+ 2 - 2
config/app.php

@@ -4,7 +4,7 @@ use App\Models\Settings;
 
 return [
 
-    'version' => '0.7.6',
+    'version' => '0.7.7',
 
     /*
     |--------------------------------------------------------------------------
@@ -17,7 +17,7 @@ return [
     |
     */
 
-    'name' => env('APP_NAME', 'Laravel'),
+    'name' => env('APP_NAME', 'Controlpanel.gg'),
 
     /*
     |--------------------------------------------------------------------------

+ 32 - 0
database/migrations/2022_07_12_051152_decimals-in-price.php

@@ -0,0 +1,32 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class DecimalsInPrice extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::table('products', function (Blueprint $table) {
+            $table->decimal('price',['11','2'])->change();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::table('products', function (Blueprint $table) {
+            $table->integer('price')->change();
+        });
+    }
+}

+ 1 - 1
resources/views/admin/payments/index.blade.php

@@ -72,7 +72,7 @@
                 serverSide: true,
                 stateSave: true,
                 ajax: "{{ route('admin.payments.datatable') }}",
-                order: [[ 9, "asc" ]],
+                order: [[ 9, "desc" ]],
                 columns: [
                     {data: 'id',name: 'payments.id'},
                     {data: 'type'},

+ 1 - 1
resources/views/admin/products/create.blade.php

@@ -64,7 +64,7 @@
 
                                         <div class="form-group">
                                             <label for="price">{{__('Price in')}} {{CREDITS_DISPLAY_NAME}}</label>
-                                            <input value="{{$product->price ??  old('price')}}" id="price" name="price"
+                                            <input value="{{$product->price ??  old('price')}}" id="price" name="price" step=".01"
                                                    type="number"
                                                    step="0.0001"
                                                    class="form-control @error('price') is-invalid @enderror"

+ 67 - 0
resources/views/admin/servers/edit.blade.php

@@ -0,0 +1,67 @@
+@extends('layouts.main')
+
+@section('content')
+    <!-- CONTENT HEADER -->
+    <section class="content-header">
+        <div class="container-fluid">
+            <div class="alert alert-danger p-2 m-2">
+                <h5><i class="icon fas fa-exclamation-circle"></i> {{ __('ATTENTION!') }}</h5>
+                {{ __('Only edit these settings if you know exactly what you are doing ')}}
+                <br>
+                {{ __('You usually do not need to change anything here') }}
+            </div>
+            <div class="row mb-2">
+                <div class="col-sm-6">
+
+                    <h1>{{__('Edit Server')}}</h1>
+                </div>
+                <div class="col-sm-6">
+                    <ol class="breadcrumb float-sm-right">
+                        <li class="breadcrumb-item"><a href="{{route('home')}}">{{__('Dashboard')}}</a></li>
+                        <li class="breadcrumb-item"><a href="{{route('admin.servers.index')}}">{{__('Servers')}}</a></li>
+                        <li class="breadcrumb-item"><a class="text-muted"
+                                                       href="{{route('admin.servers.edit' , $server->id)}}">{{__('Edit')}}</a></li>
+                    </ol>
+                </div>
+            </div>
+        </div>
+    </section>
+    <!-- END CONTENT HEADER -->
+
+    <!-- MAIN CONTENT -->
+    <section class="content">
+        <div class="container-fluid">
+
+            <div class="row">
+                <div class="col-lg-6">
+                    <div class="card">
+                        <div class="card-body">
+                            <form action="{{route('admin.servers.update', $server->id)}}" method="POST">
+                                @csrf
+                                @method('PATCH')
+                                <div class="form-group">
+                                    <label for="name">{{__('Server identifier')}}</label>
+                                    <input value="{{$server->identifier}}" id="identifier" name="identifier" type="text"
+                                           class="form-control @error('identifier') is-invalid @enderror" required="required">
+                                    @error('identifier')
+                                    <div class="invalid-feedback">
+                                        {{$message}}
+                                    </div>
+                                    @enderror
+                                </div>
+
+                                <div class="form-group text-right">
+                                    <button type="submit" class="btn btn-primary">{{__('Submit')}}</button>
+                                </div>
+                        </div>
+                    </div>
+                </div>
+
+            </div>
+        </div>
+
+
+    </section>
+    <!-- END CONTENT -->
+
+@endsection

+ 2 - 0
resources/views/admin/servers/table.blade.php

@@ -4,6 +4,7 @@
         <th width="20"></th>
         <th>{{__('Name')}}</th>
         <th>{{__('User')}}</th>
+        <th>{{__('Server id')}}</th>
         <th>{{__('Config')}}</th>
         <th>{{__('Suspended at')}}</th>
         <th>{{__('Created at')}}</th>
@@ -33,6 +34,7 @@
                 {data: 'status' , name : 'servers.suspended'},
                 {data: 'name'},
                 {data: 'user' , name : 'user.name'},
+                {data: 'identifier'},
                 {data: 'resources' , name : 'product.name'},
                 {data: 'suspended'},
                 {data: 'created_at'},

+ 1 - 1
resources/views/admin/settings/tabs/payment.blade.php

@@ -130,7 +130,7 @@
                                 data-content="Tax Value that will be added to the total price of the order. <br><br> Example: 19 results in (19%)"
                                 class="fas fa-info-circle"></i>
                         </div>
-                        <input x-model="sales-tax" id="sales-tax" name="sales-tax" type="number"
+                        <input x-model="sales-tax" id="sales-tax" name="sales-tax" type="number" step=".01"
                             value="{{ config('SETTINGS::PAYMENTS:SALES_TAX') }}"
                             class="form-control @error('sales-tax') is-invalid @enderror">
                     </div>

+ 34 - 1
resources/views/admin/settings/tabs/system.blade.php

@@ -134,6 +134,13 @@
                             value="{{ config('SETTINGS::USER:SERVER_LIMIT_REWARD_AFTER_VERIFY_EMAIL') }}"
                             class="form-control @error('server-limit-email') is-invalid @enderror" required>
                     </div>
+                    <div class="custom-control mb-3 p-0">
+                        <label for="server-limit-purchase">{{ __('Server Limit after Credits Purchase') }}</label>
+                        <input x-model="server-limit-purchase" id="server-limit-purchase" name="server-limit-purchase"
+                               type="number"
+                               value="{{ config('SETTINGS::USER:SERVER_LIMIT_AFTER_IRL_PURCHASE') }}"
+                               class="form-control @error('server-limit-purchase') is-invalid @enderror" required>
+                    </div>
                 </div>
             </div>
 
@@ -157,6 +164,21 @@
                             class="form-control @error('allocation-limit') is-invalid @enderror" required>
                     </div>
                 </div>
+            </div>
+
+                {{-- Design --}}
+                <div class="col-md-3 px-3">
+                    <div class="row mb-2">
+                        <div class="col text-center">
+                            <h1>{{ __('Design') }}</h1>
+                        </div>
+                    </div>
+                    <div class="custom-control mb-3 p-0">
+                        <input value="true" id="enable-login-logo" name="enable-login-logo"
+                               {{ config('SETTINGS::SYSTEM:ENABLE_LOGIN_LOGO') == 'true' ? 'checked' : '' }}
+                               type="checkbox">
+                        <label for="enable-login-logo">{{ __('Enable Logo on Loginpage') }} </label>
+                    </div>
                 <div class="form-group">
                     <div class="custom-file mb-3 mt-3">
                         <input type="file" accept="image/png,image/jpeg,image/jpg" class="custom-file-input" name="icon"
@@ -169,7 +191,19 @@
                         </span>
                     @enderror
 
+                    <div class="form-group">
+                        <div class="custom-file mb-3 mt-3">
+                            <input type="file" accept="image/png,image/jpeg,image/jpg" class="custom-file-input" name="logo"
+                                   id="logo">
+                            <label class="custom-file-label selected" for="logo">{{ __('Select Login-page Logo') }}</label>
+                        </div>
+                        @error('logo')
+                        <span class="text-danger">
+                            {{ $message }}
+                        </span>
+                        @enderror
 
+                    </div>
                     <div class="form-group">
                         <div class="custom-file mb-3">
                             <input type="file" accept="image/x-icon" class="custom-file-input" name="favicon"
@@ -184,7 +218,6 @@
                         @enderror
                     </div>
                 </div>
-            </div>
         </div>
         <div class="row">
             <button class="btn btn-primary ml-3 mt-3">{{ __('Submit') }}</button>

+ 12 - 1
resources/views/admin/users/edit.blade.php

@@ -114,12 +114,23 @@
                                     </option>
                                 </select>
                             </div>
+                                </div>
+                                    <div class="form-group">
+                                        <label for="name">{{__('Referral-Code')}}</label>
+                                        <input value="{{$user->referral_code}}" id="referral_code" name="referral_code" type="text"
+                                               class="form-control @error('referral_code') is-invalid @enderror" required="required">
+                                        @error('referral_code')
+                                        <div class="invalid-feedback">
+                                            {{$message}}
+                                        </div>
+                                        @enderror
+                                    </div>
                             @error('role')
                             <div class="text-danger">
                                 {{$message}}
                                     </div>
                                     @enderror
-                                </div>
+
                                 <div class="form-group text-right">
                                     <button type="submit" class="btn btn-primary">{{__('Submit')}}</button>
                                 </div>

+ 1 - 1
resources/views/admin/users/index.blade.php

@@ -80,7 +80,7 @@
                 serverSide: true,
                 stateSave: true,
                 ajax: "{{route('admin.users.datatable')}}",
-                order: [[ 10, "asc" ]],
+                order: [[ 11, "asc" ]],
                 columns: [
                     {data: 'discordId', visible: false, name: 'discordUser.id'},
                     {data: 'pterodactyl_id', visible: false},

+ 6 - 0
resources/views/auth/login.blade.php

@@ -7,6 +7,12 @@
         <div class="card card-outline card-primary">
             <div class="card-header text-center">
                 <a href="{{route('welcome')}}" class="h1"><b class="mr-1">{{config('app.name', 'Laravel')}}</b></a>
+                @if(config("SETTINGS::SYSTEM:ENABLE_LOGIN_LOGO"))
+                <img
+                     src="{{ \Illuminate\Support\Facades\Storage::disk('public')->exists('logo.png')? asset('storage/logo.png'): asset('images/controlpanel_logo.png') }}"
+                     alt="{{ config('app.name', 'Controlpanel.gg') }} Logo"
+                     style="opacity: .8;max-width:100%">
+                @endif
             </div>
             <div class="card-body">
                 <p class="login-box-msg">{{__('Sign in to start your session')}}</p>

+ 1 - 1
resources/views/layouts/main.blade.php

@@ -188,7 +188,7 @@
                     src="{{ \Illuminate\Support\Facades\Storage::disk('public')->exists('icon.png')? asset('storage/icon.png'): asset('images/controlpanel_logo.png') }}"
                     alt="{{ config('app.name', 'Laravel') }} Logo" class="brand-image img-circle"
                     style="opacity: .8">
-                <span class="brand-text font-weight-light">{{ config('app.name', 'Laravel') }}</span>
+                <span class="brand-text font-weight-light">{{ config('app.name', 'Controlpanel.gg') }}</span>
             </a>
 
             <!-- Sidebar -->

+ 1 - 1
resources/views/servers/create.blade.php

@@ -211,7 +211,7 @@
                                         </div>
                                         <div class="mt-2 mb-2">
                                             <span class="card-text text-muted">{{ __('Description') }}</span>
-                                            <p class="card-text" x-text="product.description"></p>
+                                            <p class="card-text" style="white-space:pre" x-text="product.description"></p>
                                         </div>
                                     </div>
                                     <div class="mt-auto border rounded border-secondary">

Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä