diff --git a/app/Http/Controllers/ContractAdminController.php b/app/Http/Controllers/ContractAdminController.php index 3292946c3..9284aaf80 100644 --- a/app/Http/Controllers/ContractAdminController.php +++ b/app/Http/Controllers/ContractAdminController.php @@ -4,6 +4,7 @@ namespace App\Http\Controllers; use Illuminate\Http\Request; use DB; +use Carbon\Carbon; //Libraries //use App\Library\Contracts\ContractHelper; @@ -11,15 +12,21 @@ use DB; //Models use App\User; use App\Models\User\UserPermission; +use App\Models\Contracts\Contract; +use App\Models\Contracts\Bid; class ContractAdminController extends Controller { public function __construct() { $this->middleware('auth'); $this->middleware('role:User'); + $this->middleware('permission:contract.admin'); } public function displayContractDashboard() { + $today = Carbon::now(); + + $contracts = Contract::where(['date', '>=', $today])->get(); return view('contracts/admin/contractpanel'); } @@ -31,16 +38,16 @@ class ContractAdminController extends Controller public function storeNewContract() { - return redirect('contracts/admin/display'); + return redirect('/contracts/admin/display'); } public function storeAcceptContract(Request $request) { - return redirect('contracts/admin/display'); + return redirect('/contracts/admin/display'); } public function deleteContract(Request $request) { - return redirect('contracts/admin/display'); + return redirect('/contracts/admin/display'); } } diff --git a/app/Models/Contracts/Bid.php b/app/Models/Contracts/Bid.php index d4c19eba8..d95c24809 100644 --- a/app/Models/Contracts/Bid.php +++ b/app/Models/Contracts/Bid.php @@ -6,5 +6,30 @@ use Illuminate\Database\Eloquent\Model; class Bid extends Model { - // + // Table Name + public $table = 'contract_bids'; + + // Timestamps + public $timestamps = false; + + /** + * The attributes that are mass assignable + * + * @var array + */ + protected $fillable = [ + 'contract_id', + 'bid', + 'accepted', + ]; + + protected $guarded = []; + + public function ContractId() { + return $this->hasOne('App\Models\Contracts\Contract', 'id', 'contract_id'); + } + + public function Contract() { + return $this->belongsTo(Contract::class); + } } diff --git a/app/Models/Contracts/Contract.php b/app/Models/Contracts/Contract.php index ec9eaf0cc..d6bb24cca 100644 --- a/app/Models/Contracts/Contract.php +++ b/app/Models/Contracts/Contract.php @@ -6,5 +6,26 @@ use Illuminate\Database\Eloquent\Model; class Contract extends Model { - // + // Table Name + public $table = 'contracts'; + + // Timestamps + public $timestamps = true; + + /** + * The attributes that are mass assignable + * + * @var array + */ + protected $fillable = [ + 'title', + 'date', + 'body', + ]; + + protected $guarded = []; + + public function Bids() { + return $this->hasMany('App\Models\Contracts\Bid', 'contract_id', 'id'); + } }