Cleanup for settings table and moved some seed data into the migrations

This commit is contained in:
Nabeel Shahzad
2017-12-09 21:21:49 -06:00
parent b165cd28b6
commit d34e30666d
19 changed files with 323 additions and 204 deletions

View File

@@ -3,6 +3,7 @@
namespace App\Http\Controllers\Admin;
use Illuminate\Http\Request;
use Setting;
class SettingsController extends BaseController
{
@@ -13,13 +14,15 @@ class SettingsController extends BaseController
*/
public function index()
{
$settings = array_filter(Setting::all(), function ($key) {
/*$settings = array_filter(Setting::all(), function ($key) {
if (strpos($key, '_descrip') !== false) { return true; }
return false;
});
});*/
$settings = [];
return $this->view('admins.settings.index')
->with('settings', $settings);
return view('admin.settings.index',[
'settings' => $settings,
]);
}
/**
@@ -32,8 +35,8 @@ class SettingsController extends BaseController
*/
public function update(Setting $setting, Request $request)
{
$this->validate($request, Setting::$rules, Setting::$messages);
$this->updateEntry($setting, $request->all());
$/*this->validate($request, Setting::$rules, Setting::$messages);
$this->updateEntry($setting, $request->all());*/
return redirect("/admin/settings");
}

View File

@@ -0,0 +1,31 @@
<?php
/**
* Migration base class with some extra functionality
*/
namespace App\Models\Migrations;
use DB;
use Illuminate\Database\Migrations\Migration as MigrationBase;
class Migration extends MigrationBase
{
/**
* Add rows to a table
* @param $table
* @param $rows
*/
public function addData($table, $rows)
{
foreach ($rows as $row) {
try {
DB::table($table)->insert($row);
} catch (Exception $e) {
# setting already exists
if ($e->getCode() === 23000) {
continue;
}
}
}
}
}

View File

@@ -21,40 +21,38 @@ class Pirep extends Model
protected $dates = ['deleted_at'];
public $fillable
= [
'user_id',
'flight_id',
'flight_number',
'route_code',
'route_leg',
'airline_id',
'aircraft_id',
'flight_time',
'dpt_airport_id',
'arr_airport_id',
'fuel_used',
'source',
'level',
'route',
'notes',
'status',
'raw_data',
];
public $fillable = [
'user_id',
'flight_id',
'flight_number',
'route_code',
'route_leg',
'airline_id',
'aircraft_id',
'flight_time',
'dpt_airport_id',
'arr_airport_id',
'fuel_used',
'source',
'level',
'route',
'notes',
'status',
'raw_data',
];
/**
* The attributes that should be casted to native types.
*
* @var array
*/
protected $casts
= [
'flight_time' => 'integer',
'level' => 'integer',
'fuel_used' => 'integer',
'source' => 'integer',
'status' => 'integer',
];
protected $casts = [
'flight_time' => 'integer',
'level' => 'integer',
'fuel_used' => 'integer',
'source' => 'integer',
'status' => 'integer',
];
/**
* Validation rules

30
app/Models/Setting.php Normal file
View File

@@ -0,0 +1,30 @@
<?php
/**
* Created by IntelliJ IDEA.
* User: nshahzad
* Date: 12/9/17
* Time: 6:24 PM
*/
namespace App\Models;
use Eloquent as Model;
class Setting extends Model
{
public $table = 'settings';
public $fillable = [
'name',
'key',
'value',
'group',
'type',
'options',
'description',
];
public $casts = [
'options' => 'array',
];
}