mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-17 15:52:15 +00:00
index options added
This commit is contained in:
@@ -60,7 +60,7 @@ class DashboardController extends Controller
|
||||
public function new_registrations()
|
||||
{
|
||||
return new UsersCollection(
|
||||
User::take(5)->orderByDesc('created_at')->get()
|
||||
User::take(7)->orderByDesc('created_at')->get()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,9 +45,7 @@ class PagesController extends Controller
|
||||
public function update(Request $request, $slug) {
|
||||
$page = Page::where('slug', $slug)->first();
|
||||
|
||||
$page->update([
|
||||
$request->name => $request->value
|
||||
]);
|
||||
$page->update(make_single_input($request));
|
||||
|
||||
return response('Done', 204);
|
||||
}
|
||||
|
||||
@@ -122,7 +122,9 @@ class UserController extends Controller
|
||||
return new UserResource($user);
|
||||
}
|
||||
|
||||
$user->update($request->input('attributes'));
|
||||
// Update user role
|
||||
$user->role = $request->input('attributes.role');
|
||||
$user->save();
|
||||
|
||||
return new UserResource($user);
|
||||
}
|
||||
@@ -181,7 +183,7 @@ class UserController extends Controller
|
||||
}
|
||||
|
||||
// Create user
|
||||
$user = User::create([
|
||||
$user = User::forceCreate([
|
||||
'avatar' => $request->hasFile('avatar') ? $avatar : null,
|
||||
'name' => $request->name,
|
||||
'role' => $request->role,
|
||||
@@ -190,7 +192,7 @@ class UserController extends Controller
|
||||
]);
|
||||
|
||||
// Create settings
|
||||
$settings = UserSettings::create([
|
||||
$settings = UserSettings::forceCreate([
|
||||
'user_id' => $user->id,
|
||||
'storage_capacity' => $request->storage_capacity,
|
||||
]);
|
||||
|
||||
@@ -18,6 +18,33 @@ use Symfony\Component\HttpKernel\Exception\HttpException;
|
||||
|
||||
class AppFunctionsController extends Controller
|
||||
{
|
||||
/**
|
||||
* List of allowed settings to get from public request
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
private $whitelist = [
|
||||
'footer_content',
|
||||
'get_started_description',
|
||||
'get_started_title',
|
||||
'pricing_description',
|
||||
'pricing_title',
|
||||
'feature_description_3',
|
||||
'feature_title_3',
|
||||
'feature_description_2',
|
||||
'feature_title_2',
|
||||
'feature_description_1',
|
||||
'feature_title_1',
|
||||
'features_description',
|
||||
'features_title',
|
||||
'header_description',
|
||||
'header_title',
|
||||
'section_get_started',
|
||||
'section_pricing_content',
|
||||
'section_feature_boxes',
|
||||
'section_features',
|
||||
];
|
||||
|
||||
/**
|
||||
* Show index page
|
||||
*
|
||||
@@ -31,6 +58,7 @@ class AppFunctionsController extends Controller
|
||||
|
||||
$connection = $this->get_setup_status();
|
||||
$settings = json_decode(Setting::all()->pluck('value', 'name')->toJson());
|
||||
$legal = Page::whereIn('slug', ['terms-of-service', 'privacy-policy', 'cookie-policy'])->get(['visibility', 'title', 'slug']);
|
||||
|
||||
} catch (PDOException $e) {
|
||||
$connection = 'setup-database';
|
||||
@@ -39,6 +67,7 @@ class AppFunctionsController extends Controller
|
||||
|
||||
return view("index")
|
||||
->with('settings', $settings)
|
||||
->with('legal', $legal)
|
||||
->with('installation', $connection);
|
||||
}
|
||||
|
||||
@@ -72,6 +101,32 @@ class AppFunctionsController extends Controller
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get selected settings from public route
|
||||
*
|
||||
* @param Request $request
|
||||
* @return mixed
|
||||
*/
|
||||
public function get_settings(Request $request)
|
||||
{
|
||||
$column = $request->get('column');
|
||||
|
||||
if (strpos($column, '|') !== false) {
|
||||
|
||||
$columns = collect(explode('|', $column));
|
||||
|
||||
$columns->each(function ($column) {
|
||||
if (! in_array($column, $this->whitelist)) abort(401);
|
||||
});
|
||||
|
||||
return Setting::whereIn('name', $columns)->pluck('value', 'name');
|
||||
}
|
||||
|
||||
if (! in_array($column, $this->whitelist)) abort(401);
|
||||
|
||||
return Setting::where('name', $column)->pluck('value', 'name');
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if setup wizard was passed
|
||||
*
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Http\Requests\Auth\CheckAccountRequest;
|
||||
use App\Setting;
|
||||
use App\User;
|
||||
use App\UserSettings;
|
||||
use Illuminate\Http\Request;
|
||||
@@ -64,8 +65,10 @@ class AuthController extends Controller
|
||||
*/
|
||||
public function register(Request $request)
|
||||
{
|
||||
$settings = Setting::whereIn('name', ['storage_default', 'registration'])->pluck('value', 'name');
|
||||
|
||||
// Check if account registration is enabled
|
||||
if (!config('vuefilemanager.registration')) abort(401);
|
||||
if (! intval($settings['registration'])) abort(401);
|
||||
|
||||
// Validate request
|
||||
$request->validate([
|
||||
@@ -81,11 +84,12 @@ class AuthController extends Controller
|
||||
'password' => Hash::make($request->password),
|
||||
]);
|
||||
|
||||
$default_storage = Setting::where('name', 'storage_default')->first();
|
||||
|
||||
// Create settings
|
||||
// TODO: set default storage capacity
|
||||
$settings = UserSettings::create([
|
||||
'user_id' => $user->id,
|
||||
'storage_capacity' => 5,
|
||||
'storage_capacity' => $settings['storage_default'],
|
||||
]);
|
||||
|
||||
$response = Route::dispatch(self::make_login_request($request));
|
||||
|
||||
@@ -569,7 +569,7 @@ class SetupWizardController extends Controller
|
||||
$storage_capacity = Setting::where('name', 'storage_default')->first();
|
||||
|
||||
// Create settings
|
||||
UserSettings::create([
|
||||
UserSettings::forceCreate([
|
||||
'user_id' => $user->id,
|
||||
'storage_capacity' => $storage_capacity->value,
|
||||
]);
|
||||
@@ -592,9 +592,10 @@ class SetupWizardController extends Controller
|
||||
'value' => $request->purchase_code,
|
||||
]);
|
||||
|
||||
// Create legal pages
|
||||
// Create legal pages and index content
|
||||
if ($request->license === 'Extended') {
|
||||
Artisan::call('db:seed --class=PageSeeder');
|
||||
Artisan::call('db:seed --class=ContentSeeder');
|
||||
}
|
||||
|
||||
// Retrieve access token
|
||||
|
||||
@@ -99,7 +99,7 @@ class SettingController extends Controller
|
||||
setEnvironmentValue($col['name'], $col['value']);
|
||||
});
|
||||
|
||||
// Clear cache
|
||||
// Clear config cache
|
||||
Artisan::call('config:clear');
|
||||
|
||||
return response('Done', 204);
|
||||
|
||||
@@ -81,9 +81,6 @@ class AccountController extends Controller
|
||||
return Demo::response_204();
|
||||
}
|
||||
|
||||
// Check role
|
||||
if ($request->has('role')) abort(403);
|
||||
|
||||
// Update data
|
||||
if ($request->hasFile('avatar')) {
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Setting;
|
||||
use App\User;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
@@ -12,15 +13,19 @@ class WebhookController extends CashierController
|
||||
/**
|
||||
* Handle a cancelled customer from a Stripe subscription.
|
||||
*
|
||||
* @param array $payload
|
||||
* @param array $payload
|
||||
* @return \Symfony\Component\HttpFoundation\Response
|
||||
*/
|
||||
public function handleCustomerSubscriptionDeleted($payload) {
|
||||
|
||||
public function handleCustomerSubscriptionDeleted($payload)
|
||||
{
|
||||
// Get user
|
||||
$user = User::where('stripe_id', $payload['data']['object']['customer'])->firstOrFail();
|
||||
|
||||
// TODO: set default capacity
|
||||
$user->settings->update(['storage_capacity' => 1]);
|
||||
// Get default storage capacity
|
||||
$default_storage = Setting::where('name', 'storage_default')->first();
|
||||
|
||||
// Update storage capacity
|
||||
$user->settings()->update(['storage_capacity' => $default_storage->value]);
|
||||
|
||||
return $this->successMethod();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user