supply chain contracts views

This commit is contained in:
2020-07-08 03:19:16 -05:00
parent 52ae227085
commit fd21d72887
32 changed files with 607 additions and 1480 deletions

View File

@@ -1,70 +0,0 @@
<?php
namespace App\Console\Commands;
//Internal Library
use Illuminate\Console\Command;
use Log;
//Library
use Commands\Library\CommandHelper;
//Jobs
use App\Jobs\Commands\PublicContracts\GetPublicContractsJob;
class PublicContractsCommand extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'services:PublicContracts';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Get the public contracts in a region';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$task = new CommandHelper('PublicContracts');
$task->SetStartStatus();
$regions = [
'Immensea' => 10000025,
'Catch' => 10000014,
'Tenerifis' => 10000061,
'The Forge' => 10000002,
'Impass' => 10000031,
'Esoteria' => 10000039,
'Detorid' => 10000005,
'Omist' => 10000062,
'Feythabolis' => 10000056,
'Insmother' => 10000009,
];
foreach($regions as $key => $value) {
GetPublicContractsJob::dispatch($value);
}
$task->SetStopStatus();
}
}

View File

@@ -1,189 +0,0 @@
<?php
namespace App\Http\Controllers\Contracts;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Carbon\Carbon;
//Libraries
use App\Library\Esi\Mail;
use App\Library\Lookups\LookupHelper;
//Jobs
use App\Jobs\ProcessSendEveMailJob;
//Models
use App\Models\User\User;
use App\Models\User\UserPermission;
use App\Models\Contracts\Contract;
use App\Models\Contracts\Bid;
use App\Models\Contracts\AcceptedBid;
class ContractAdminController extends Controller
{
public function __construct() {
$this->middleware('auth');
$this->middleware('role:User');
$this->middleware('permission:contract.admin');
}
/**
* Contract display functions
*/
public function displayContractDashboard() {
$contracts = Contract::where(['finished' => false])->get();
return view('contracts.admin.contractpanel')->with('contracts', $contracts);
}
public function displayPastContracts() {
$contracts = Contract::where(['finished' => true])
->where('updated_at', '>', Carbon::now()->subMonths(6))
->orderBy('updated_at', 'ASC')->get();
return view('contracts.admin.past')->with('contracts', $contracts);
}
/**
* New contract functionality
*/
public function displayNewContract() {
return view('contracts.admin.newcontract');
}
public function storeNewContract(Request $request) {
$this->validate($request, [
'name' => 'required',
'date' => 'required',
'body' => 'required',
'type' => 'required',
]);
$date = new Carbon($request->date);
$body = nl2br($request->body);
//Store the contract in the database
$contract = new Contract;
$contract->title = $request->name;
$contract->end_date = $request->date;
$contract->body = $body;
$contract->type = $request->type;
$contract->save();
//Send a mail out to all of the people who can bid on a contract
$this->NewContractMail();
return redirect('/contracts/admin/display')->with('success', 'Contract written.');
}
/**
* Used to store a finished contract in the database
*/
public function storeAcceptContract(Request $request) {
$this->validate($request, [
'contract_id' => 'required',
'bid_id' => 'required',
'character_id' => 'required',
'bid_amount' => 'required',
]);
//Update the contract
Contract::where([
'contract_id' => $request->contract_id,
])->update([
'finished' => true,
'final_cost' => $request->bid_amount,
]);
//Save the accepted bid in the database
$accepted = new AcceptedBid;
$accepted->contract_id = $request->contract_id;
$accepted->bid_id = $request->bid_id;
$accepted->bid_amount = $request->bid_amount;
$accepted->save();
return redirect('/contracts/admin/display')->with('success', 'Contract accepted and closed.');
}
/**
* Delete a contract from every user
*/
public function deleteContract($id) {
Contract::where(['contract_id' => $id])->delete();
Bid::where(['contract_id' => $id])->delete();
return redirect('/contracts/admin/display')->with('success', 'Contract has been deleted.');
}
/**
* End Contract Functionality
*/
public function displayEndContract($id) {
//Gather the information for the contract, and all bids on the contract
$contract = Contract::where(['contract_id' => $id])->first()->toArray();
$bids = Bid::where(['contract_id' => $id])->get()->toArray();
return view('contracts.admin.displayend')->with('contract', $contract)
->with('bids', $bids);
}
public function storeEndContract(Request $request) {
$this->validate($request, [
'contract_id' => 'required',
'accept' => 'required',
]);
//Declare class variables
$tries = 1;
//Get the esi config
$config = config('esi');
$contract = Contract::where(['contract_id' => $request->contract_id])->first()->toArray();
$bid = Bid::where(['id' => $request->accept, 'contract_id' => $request->contract_id])->first()->toArray();
//Send mail out to winner of the contract
$subject = 'Contract Won';
$body = 'You have been accepted to perform the following contract:<br>';
$body .= $contract['contract_id'] . ' : ' . $contract['title'] . '<br>';
$body .= 'Notes:<br>';
$body .= $contract['body'] . '<br>';
$body .= 'Please remit contract when the items are ready to Spatial Forces. Description should be the contract identification number. Request ISK should be the bid amount.';
$body .= 'Sincerely,<br>Spatial Forces Contracting Department';
//Dispatch the mail job
ProcessSendEveMailJob::dispatch($body, $bid['character_id'], 'character', $subject, $config['primary'])->onQueue('mail')->delay(Carbon::now()->addSeconds(5));
//Tidy up the contract by doing a few things.
$this->TidyContract($contract, $bid);
//Redirect back to the contract admin dashboard.
return redirect('/contracts/admin/display')->with('success', 'Contract finalized. Mail has been sent to the queue for processing.');
}
private function TidyContract($contract, $bid) {
Contract::where(['contract_id' => $contract['contract_id']])->update([
'finished' => true,
]);
//Create the accepted contract entry into the table
$accepted = new AcceptedBid;
$accepted->contract_id = $contract['contract_id'];
$accepted->bid_id = $bid['id'];
$accepted->bid_amount = $bid['bid_amount'];
$accepted->notes = $bid['notes'];
$accepted->save();
}
private function NewContractMail() {
//Get the esi config
$config = config('esi');
$subject = 'New Alliance Production Contract Available';
$body = "A new contract is available for the alliance contracting system. Please check out <a href=https://services.w4rp.space>Services Site</a> if you want to bid on the production contract.<br><br>Sincerely,<br>Warped Intentions Leadership";
ProcessSendEveMailJob::dispatch($body, 145223267, 'mailing_list', $subject, $config['primary'])->onQueue('mail')->delay(Carbon::now()->addSeconds(5));
}
}

View File

@@ -1,539 +0,0 @@
<?php
namespace App\Http\Controllers\Contracts;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Carbon\Carbon;
//Libraries
use App\Library\Lookups\LookupHelper;
//Models
use App\Models\User\User;
use App\Models\User\UserPermission;
use App\Models\Contracts\Contract;
use App\Models\Contracts\Bid;
class ContractController extends Controller
{
public function __construct() {
$this->middleware('auth');
$this->middleware('role:User');
}
/**
* Display the contract dashboard and whether you have any outstanding contracts
*/
public function displayContractDashboard() {
$contracts::where([
'finished' => false,
'issuer_id' => auth()->user()->getId(),
])->get();
return view('contracts.dashboard.main');
}
/**
* Display past contracts for the user
*/
public function displayPastContractsNew() {
$contracts = Contract::where([
'finished' => true,
'issuer_id' => auth()->user()->getId(),
])->get();
return view('contracts.dashboard.past')->with('contracts', $contracts);
}
/**
* Display the page to create a new contract
*/
public function displayNewContractNew() {
return view('contracts.dashboard.new');
}
/**
* Store a new contract
*/
public function storeNewContractNew(Request $request) {
$this->validate($request, [
'name' => 'required',
'date' => 'required',
'body' => 'required',
'type' => 'required',
]);
$lookup = new LookupHelper;
$date = new Carbon($request->date);
$body = nl2br($request->body);
$user_id = auth()->user()->getId();
$name = auth()->user()->getName();
$char = $lookup->GetCharacterInfo($user_id);
$corp = $lookup->GetCorporationInfo($char->corporation_id);
//Store the contract in the database
$contract = new Contract;
$contract->issuer_id = auth()->user()->getId();
$contract->issuer_name = auth()->user()->getName();
$contract->title = $request->name;
$contract->end_date = $request->date;
$contract->body = $body;
$contract->type = $request->type;
$contract->save();
//Send a mail out to all of the people who can bid on a contract
$this->NewContractMail();
return redirect('/contracts/dashboard/main')->with('success', 'Contract posted.');
}
public function storeAcceptContractNew(Request $request) {
/**
* If the user is the contract owner, then continue.
* Otherwise, exit out with an error stating the person is not the contract owner.
*/
$this->validate($request, [
'contract_id' => 'required',
'bid_id' => 'required',
'character_id' => 'required',
'bid_amount' => 'required',
]);
$contract = Contract::where([
'issuer_id' => auth()->user()->getId(),
'contract_id' => $request->contract_id,
'finished' => false
])->count();
if($count == 0) {
redirect('/contracts/dashboard/main')->with('error', 'No contract of yours found to close.');
}
Contract::where([
'contract_id' => $request->contract_id,
'issuer_id' => auth()->user()->getId(),
])->update([
'finished' => true,
'final_cost' => $request->bid_amount,
]);
//Save the accepted bid in the database
$accepted = new AcceptedBid;
$accepted->contract_id = $request->contract_id;
$accepted->bid_id = $request->bid_id;
$accepted->bid_amount = $request->bid_amount;
$accepted->save();
return redirect('/contracts/dashboard/main')->with('success', 'Contract accepted and closed.');
}
/**
* Delete a contract from every user
*/
public function deleteContractNew($id) {
Contract::where([
'issuer_id' => auth()->user()->getId(),
'contract_id' => $id,
])->delete();
Bid::where([
'contract_id' => $id,
])->delete();
return redirect('/contracts/dashboard/main')->with('success', 'Contract has been deleted.');
}
/**
* End Contract
*/
public function displayEndContractNew($id) {
//Gather the information for the contract, and all bids on the contract
$contract = Contract::where([
'issuer_id' => auth()->user()->getId(),
'contract_id' => $id,
])->first()->toArray();
$bids = Bid::where([
'contract_id' => $id,
])->get()->toArray();
return view('contracts.dashboard.displayend')->with('contract', $contract)
->with('bids', $bids);
}
/**
* Store the finisehd contract
*/
public function storeEndContractNew(Request $request) {
$this->validate($request, [
'issuer_id' => 'required',
'contract_id' => 'required',
'accept' => 'required',
]);
//Get the esi config
$config = config('esi');
//Get the contract details
$contract = Contract::where([
'contract_id' => $request->contract_id,
'issuer_id' => $request->issuer_id,
])->first()->toArray();
$bid = Bid::where([
'id' => $request->accept,
'contract_id' => $request->contract_id,
])->first()->toArray();
//Send mail out to winner of the contract
$subject = 'Contract Won';
$body = 'You have been accepted to perform the following contract:<br>';
$body .= $contract['contract_id'] . ' : ' . $contract['title'] . '<br>';
$body .= 'Notes:<br>';
$body .= $contract['body'] . '<br>';
$body .= "Please remite contract when the items are ready to " . $contract['issuer_name'] . ". Descriptions hould be the contract identification number. Request ISK should be the bid amount.";
$body .= "Sincerely on behalf of,<br>" . $contract['issuer_name'] . "<br>";
//Dispatch the mail job
ProcessSendEveMailJob::dispatch($body, $bid['character_id'], 'character', $subject, $config['primary'])->onQueue('mail')->delay(Carbon::now()->addSeconds(5));
$this->TidyContractNew($contract, $bid);
//Redirect back to the contract dashboard
return redirect('/contracts/dashboard/main')->with('success', 'Contract finalized.');
}
/**
* Controller function to display the bids placed on contracts
*/
public function displayBids($id) {
$bids = Bids::where(['contract_id' => $id, 'character_name' => auth()->user()->getName()])->get();
return view('contracts.bids')->with('bids', $bids);
}
/**
*
* Controller function to display all current open contracts
*
*/
public function displayContracts() {
//Calculate today's date to know which contracts to display
$today = Carbon::now();
//Declare our array variables
$bids = array();
$contracts = array();
$i = 0;
//Fetch all of the current contracts from the database
$contractsTemp = Contract::where('end_date', '>=', $today)
->where(['finished' => false])->get()->toArray();
//Count the number of bids, and add them to the arrays
for($i = 0; $i < sizeof($contractsTemp); $i++) {
$tempCount = Bid::where(['contract_id' => $contractsTemp[$i]['contract_id']])->count('contract_id');
$bids = Bid::where(['contract_id' => $contractsTemp[$i]['contract_id']])->get()->toArray();
//Assemble the finaly array
$contracts[$i] = $contractsTemp[$i];
$contracts[$i]['bid_count'] = $tempCount;
$contracts[$i]['bids'] = $bids;
}
//Call for the view to be displayed
return view('contracts.allcontracts')->with('contracts', $contracts);
}
/**
* Controller function to display all current public contracts
*/
public function displayPublicContracts() {
//Calculate today's date to know which contracts to display
$today = Carbon::now();
//Declare our array variables
$bids = array();
$contracts = array();
$i = 0;
$lowestBid = null;
$lowestCorp = null;
$lowestChar = null;
//Fetch all of the current contracts from the database
$contractsTemp = Contract::where('end_date', '>=', $today)
->where(['type' => 'Public', 'finished' => false])->get()->toArray();
//Count the number of bids, and add them to the arrays
for($i = 0; $i < sizeof($contractsTemp); $i++) {
$tempCount = Bid::where(['contract_id' => $contractsTemp[$i]['contract_id']])->count('contract_id');
$bids = Bid::where(['contract_id' => $contractsTemp[$i]['contract_id']])->get()->toArray();
foreach($bids as $bid) {
if($lowestBid == null) {
$lowestBid = $bid['bid_amount'];
$lowestCorp = $bid['corporation_name'];
$lowestChar = $bid['character_name'];
} else {
if($bid['bid_amount'] < $lowestBid) {
$lowestBid = $bid['bid_amount'];
$lowestCorp = $bid['corporation_name'];
$lowestChar = $bid['character_name'];
}
}
}
if($lowestBid == null) {
$lowestBid = 'No Bids Placed.';
$lowestCorp = 'No Corporation has placed a bid.';
}
//Assemble the finaly array
$contracts[$i] = $contractsTemp[$i];
$contracts[$i]['bid_count'] = $tempCount;
$contracts[$i]['bids'] = $bids;
$contracts[$i]['lowestbid'] = $lowestBid;
$contracts[$i]['lowestcorp'] = $lowestCorp;
$contracts[$i]['lowestchar'] = $lowestChar;
//Reset the lowestBid back to null
$lowestBid = null;
}
//Call for the view to be displayed
return view('contracts.publiccontracts')->with('contracts', $contracts);
}
/**
* Controller function to display current private contracts
*/
public function displayPrivateContracts() {
//Declare our array variables
$bids = array();
$contracts = array();
$lowestBid = null;
//Calucate today's date to know which contracts to display
$today = Carbon::now();
//Fetch all of the current contracts from the database
$contractsTemp = Contract::where('end_date', '>=', $today)
->where(['type' => 'Private', 'finished' => false])->get();
//Count the number of bids, and add them to the arrays
for($i = 0; $i < sizeof($contractsTemp); $i++) {
$tempCount = Bid::where(['contract_id' => $contractsTemp[$i]['contract_id']])->count('contract_id');
$bids = Bid::where(['contract_id' => $contractsTemp[$i]['contract_id']])->get()->toArray();
foreach($bids as $bid) {
if($lowestBid == null) {
$lowestBid = $bid['bid_amount'];
} else {
if($bid['bid_amount'] < $lowestBid) {
$lowestBid = $bid['bid_amount'];
}
}
}
if($lowestBid == null) {
$lowestBid = 'No Bids Placed.';
}
//Assemble the finaly array
$contracts[$i] = $contractsTemp[$i];
$contracts[$i]['bid_count'] = $tempCount;
$contracts[$i]['bids'] = $bids;
$contracts[$i]['lowestbid'] = $lowestBid;
}
return view ('contracts.privatecontracts')->with('contracts', $contracts);
}
/**
* Controller function to display expired contracts
*
*/
public function displayExpiredContracts() {
//Calculate today's date to know which contracts to display
$today = Carbon::now();
//Retrieve the contracts from the database
$contracts = Contract::where('end_date', '<', $today)->get();
return view('contracts.expiredcontracts')->with('contracts', $contracts);
}
/**
* Controller function to display a page to allow a bid
*
*/
public function displayNewBid($id) {
$contractId = $id;
return view('contracts.enterbid')->with('contractId', $contractId);
}
/**
* Controller function to store a new bid
*/
public function storeBid(Request $request) {
//Valid the request from the enter bid page
$this->validate($request, [
'contract_id' => 'required',
'bid' => 'required',
]);
//Delcare some class variables we will need
$lookup = new LookupHelper;
$amount = 0.00;
//Convert the amount to a whole number from abbreviations
if($request->suffix == 'B') {
$amount = $request->bid * 1000000000.00;
} else if($request->suffix == 'M') {
$amount = $request->bid * 1000000.00;
} else {
$amount = $request->bid * 1.00;
}
if(isset($request->notes)) {
$notes = nl2br($request->notes);
} else {
$notes = null;
}
//Get the character id and character name from the auth of the user calling
//this function
$characterId = auth()->user()->getId();
$characterName = auth()->user()->getName();
//Use the lookup helper in order to find the user's corporation id and name
$char = $lookup->GetCharacterInfo($characterId);
$corporationId = $char->corporation_id;
//use the lookup helper in order to find the corporation's name from it's id.
$corp = $lookup->GetCorporationInfo($corporationId);
$corporationName = $corp->name;
//Before saving a bid let's check to see if the user already placed a bid on the contract
$found = Bid::where([
'contract_id' => $request->contract_id,
'character_id' => $characterId,
])->first();
if(isset($found->contract_id)) {
return redirect('/contracts/display/all')->with('error', 'You have already placed a bid for this contract. Please modify the existing bid.');
} else {
//Create the model object to save data to
$bid = new Bid;
$bid->contract_id = $request->contract_id;
$bid->bid_amount = $amount;
$bid->character_id = $characterId;
$bid->character_name = $characterName;
$bid->corporation_id = $corporationId;
$bid->corporation_name = $corporationName;
$bid->notes = $notes;
$bid->save();
//Redirect to the correct page
return redirect('/contracts/display/all')->with('success', 'Bid accepted.');
}
}
/**
* Controller function to delete a bid
*/
public function deleteBid($id) {
//Delete the bid entry from the database
Bid::where([
'id' => $id,
])->delete();
return redirect('/contracts/display/public')->with('success', 'Bid deleted.');
}
/**
* Controller function to display modify bid page
*/
public function displayModifyBid($id) {
//With the bid id number, look up the bid in the database to get the contract information
$bid = Bid::where(['id' => $id])->first();
//Retrieve the contract from the database
$contract = Contract::where(['contract_id' => $bid->contract_id])->first()->toArray();
return view('contracts.modifybid')->with('contract', $contract)
->with('bid', $bid);
}
/**
* Controller function to modify a bid
*/
public function modifyBid(Request $request) {
$this->validate($request, [
'bid' => 'required',
]);
$amount = $request->bid;
$type = $request->type;
$contractId = $request->contract_id;
if($request->suffix == 'B') {
$amount = $amount * 1000000000.00;
} else if($request->suffix == 'M') {
$amount = $amount * 1000000.00;
} else {
$amount = $amount * 1.00;
}
Bid::where([
'character_id' => auth()->user()->getId(),
'contract_id' => $contractId,
])->update([
'bid_amount' => $amount,
]);
if($type == 'public') {
return redirect('/contracts/display/public')->with('success', 'Bid modified.');
} else {
return redirect('/contracts/display/private')->with('success', 'Bid modified');
}
}
private function NewContractMail() {
//Get the esi config
$config = config('esi');
$subject = 'New Production Contract Available';
$body = "A new contract is available for the alliance contracting system. Please check out <a href=https://services.w4rp.space>Services Site</a> if you want to bid on the production contract.<br><br>Sincerely,<br>Warped Intentions Leadership";
ProcessSendEveMailJob::dispatch($body, 145223267, 'mailing_list', $subject, $config['primary'])->onQueue('mail')->delay(Carbon::now()->addSeconds(5));
}
private function DeleteContractMail($contract) {
//Get the esi config
$config = config('esi');
$subject = 'Production Contract Removal';
$body = "A production contract has been deleted.<br>";
$body .= "Contract: " . $contract->title . "<br>";
$body .= "Notes: " . $contract->note . "<br>";
$body .= "<br>Sincerely on behalf of,<br>" . $contract->issuer_name;
ProcessSendEveMailJob::dispatch($body, 145223267, 'mailing_list', $subject, $config['primary'])->onQueue('mail')->delay(Carbon::now()->addSeconds(5));
}
private function TidyContractNew($contract, $bid) {
Contract::where(['contract_id' => $contract['contract_id']])->update(['finished' => true]);
//Create the accepted contract entry into the table
$accepted = new AcceptedBid;
$accepted->contract_id = $contract['contract_id'];
$accepted->bid_id = $bid['id'];
$accepted->bid_amount = $bid['bid_amount'];
$accepted->notes = $bid['notes'];
$accepted->save();
}
}

View File

@@ -0,0 +1,287 @@
<?php
namespace App\Http\Controllers\Contracts;
//Internal Libraries
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Carbon\Carbon;
//Libraries
use App\Library\Lookups\LookupHelper;
//Models
use App\Models\User\User;
use App\Models\Contracts\SupplyChainBid;
use App\Models\Contracts\SupplyChainContract;
class SupplyChainController extends Controller
{
/**
* Constructor
*/
public function __construct() {
$this->middleware('auth');
$this->middleware('role:Renter');
}
/**
* Display the supply chain dashboard
*/
public function displaySupplyChainDashboard() {
$contracts = SupplyChainContract::where([
'state' => 'open',
])->get();
return view('supplychain.dashboard.main')->with('contracts', $contracts);
}
/**
* Show the user's open contracts
*/
public function displayMyOpenContractsDashboard() {
$contracts = SupplyChainContract::where([
'issuer_id' => auth()->user()->getId(),
'state' => 'open',
])->get();
return view('supplychain.dashboard.main')->with('contracts', $contracts);
}
/**
* Show the user's closed contracts
*/
public function displayMyClosedContractsDashboard() {
$contracts = SupplyChainContract::where([
'issuer_id' => auth()->user()->getId(),
'state' => 'closed',
])->get();
return view('supplychain.dashboard.main')->with('contracts', $contracts);
}
/**
* Show the past contracts bidded on
*/
public function displayPastContractsDashboard() {
$contracts = array();
$acceptedBids = SupplyChainBid::where([
'bid_type' => 'accepted',
])->get();
foreach($acceptedBids as $bid) {
$contracts = null;
$temp = SupplyChainContract::where([
'state' => 'closed',
])->get()->toArray();
$temp2 = SupplyChainContract::where([
'state' => 'completed',
])->get()->toArray();
array_push($contracts, $temp);
array_push($contracts, $temp2);
}
return view('supplychain.dashboard.past')->with('contracts', $contracts);
}
/**
* Display new contract page
*/
public function displayNewSupplyChainContract() {
return view('supplychain.forms.newcontract');
}
/**
* Store new contract page
*/
public function storeNewSupplyChainContract(Request $request) {
$this->validate($request, [
'title' => 'required',
'type' => 'required',
'end_date' => 'required',
'delivery_by' => 'required',
'body' => 'required',
]);
$contract = new SupplyChainContract;
$contract->issuer_id = auth()->user()->getId();
$contract->issuer_name = auth()->user()->getName();
$contract->title = $request->title;
$contract->type = $request->type;
$contract->end_date = $request->end_date;
$contract->delivery_by = $request->delivery_by;
$contract->body = $request->body;
$contract->state = 'open';
$contract->save();
$this->NewSupplyChainContractMail();
return redirect('/supplychain/dashboard')->with('success', 'New Contract created.');
}
/**
* Display the delete contract page
*/
public function displayDeleteSupplyChainContract() {
return view('supplychain.forms.delete');
}
/**
* Delete a supply chain contract
*/
public function deleteSupplyChainContract(Request $request) {
$this->validate($request, [
'contract' => 'required',
]);
/**
* Remove the supply chain contract if it's yours.
*/
$count = SupplyChainContract::where([
'issuer_id' => auth()->user()->getId(),
'id' => $request->contract,
])->count();
if($count > 0) {
//Remove the supply chain contract
SupplyChainContract::where([
'issuer_id' => auth()->user()->getId(),
'id' => $request->contract,
])->delete();
}
//Remove all the bids from the supply chain contract
SupplyChainBid::where([
'contract_id' => $request->contract,
])->delete();
return redirect('/supplychain/dashboard')->with('success', 'Supply Chain Contract deleted successfully.');
}
/**
* Display the end supply chain contrage page
*/
public function displayEndSupplyChainContract() {
return view('supplychain.forms.end');
}
/**
* Process the end supply chain contract page
*/
public function storeEndSupplyChainContract(Request $request) {
$this->validate($request, [
]);
return redirect('/supplychain/dashboard')->with('success', 'Contract ended, and mails sent to the winning bidder.');
}
/**
* Display supply chain contract bids page
*/
public function displaySupplyChainBids() {
return view('supplychain.dashboard.bids');
}
/**
* Display expired supply chain contracts page
*/
public function displayExpiredSupplyChainContracts() {
return view('supplychain.dashboard.expired');
}
/**
* Display the new bid on a supply chain contract page
*/
public function displaySupplyChainContractBid(Request $request) {
$this->validate($request, [
'contract_id' => 'required',
]);
$contractId = $request->contract_id;
return view('supplychain.forms.enterbid')->with('contractId', $contractId);
}
/**
* Enter a new bid on a supply chain contract
*/
public function storeSupplyChainContractBid(Request $request) {
$this->validate($request, [
]);
return redirect('/supplychain/dashboard')->with('success', 'Successfully stored supply chain contract bid.');
}
/**
* Delete a bid on a supply chain contract
*/
public function deleteSupplyChainContractBid(Request $request) {
$this->validate($request, [
]);
return redirect('/suppplychain/dashboard')->with('success', 'Deleted supply chain contract bid.');
}
/**
* Modify a bid on a supply chain contract
*/
public function modifySupplyChainContractBid(Request $request) {
$this->validate($request, [
]);
return redirect('/supplychain/dashboard')->with('success', 'Modified supply chain contract bid.');
}
/**
* Send out a new supply chain contract mail
*/
private function NewSupplyChainContractMail(SupplyChainContract $contract) {
//Get the config for the esi
$config = config('esi');
$todayDate = Carbon::now()->toFormat('d-m-Y');
$subject = 'New Supply Chain Contract ' . $todayDate;
$body = "A supply chain contract is available.<br>";
$body .= "Contract: " . $contract->title . "<br>";
$body .= "Notes: " . $contract->body . "<br>";
$body .= "Delivery Date: " . $contract->delivery_date . "<br>";
$body .= "<br>Sincerely on behalf of,<br>" . $contract->issuer_name . "<br>";
ProcessSendEveMailJob::dispatch($body, 145223267, 'mailing_list', $subject, $config['primary'])->onQueue('mail')->delay(Carbon::now()->addSeconds(30));
}
/**
* Send out a mail when the supply chain contract has been deleted
*/
private function DeleteSupplyChainContractMail($contract) {
//Get the esi config
$config = config('esi');
$subject = 'Production Contract Removal';
$body = "A production contract has been deleted.<br>";
$body .= "Contract: " . $contract->title . "<br>";
$body .= "Notes: " . $contract->note . "<br>";
$body .= "<br>Sincerely on behalf of,<br>" . $contract->issuer_name;
ProcessSendEveMailJob::dispatch($body, 145223267, 'mailing_list', $subject, $config['primary'])->onQueue('mail')->delay(Carbon::now()->addSeconds(30));
}
/**
* Tidy up datatables from a completed supply chain contract
*/
private function TidySupplyChainContract($contract, $bid) {
SupplyChainContract::where([
'contract_id' => $contract->contract_id,
])->update([
'state' => 'finished',
]);
}
}

View File

@@ -1,30 +0,0 @@
<?php
namespace App\Models\Contracts;
use Illuminate\Database\Eloquent\Model;
class AcceptedBid extends Model
{
// Table Name
public $table = 'accepted_bids';
//Timestamps
public $timestamps = true;
/**
* The attributes that are mass assignable
*
* @var array
*/
protected $fillable = [
'contract_id',
'bid_id',
'bid_amount',
'notes',
];
public function Contract() {
return $this->belongsTo(Contract::class);
}
}

View File

@@ -1,39 +0,0 @@
<?php
namespace App\Models\Contracts;
use Illuminate\Database\Eloquent\Model;
class Bid extends Model
{
// Table Name
public $table = 'contract_bids';
// Timestamps
public $timestamps = true;
/**
* The attributes that are mass assignable
*
* @var array
*/
protected $fillable = [
'contract_id',
'bid_amount',
'character_name',
'character_id',
'corporation_name',
'corporation_id',
'notes',
];
protected $guarded = [];
public function ContractId() {
return $this->hasOne('App\Models\Contracts\Contract', 'id', 'contract_id');
}
public function Contract() {
return $this->belongsTo(Contract::class);
}
}

View File

@@ -1,42 +0,0 @@
<?php
namespace App\Models\Contracts;
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 = [
'issuer_id',
'issuer_name',
'issuer_corp_id',
'issuer_corp_name',
'title',
'type',
'end_date',
'body',
'final_cost',
'finished',
];
//One-to-Many relationship for the bids on a contract
public function Bids() {
return $this->hasMany('App\Models\Contracts\Bid', 'contract_id', 'id');
}
//One-to-One relationship for the accepted bid.
public function AcceptedBid() {
return $this->hasOne('App\Models\Contracts\AcceptedBid', 'contract_id', 'id');
}
}

View File

@@ -0,0 +1,43 @@
<?php
namespace App\Models\Contracts;
use Illuminate\Database\Eloquent\Model;
class SupplyChainBid extends Model
{
//Table Name
public $table = 'supply_chain_bids';
// Timestamps
public $timestamps = true;
/**
* The attributes that are mass assignable
*
* @var array
*/
protected $fillable = [
'contract_id',
'bid_amount',
'entity_id',
'entity_name',
'entity_type',
'bid_type',
'bid_note',
];
//Relationships
public function ContractId() {
return $this->hasOne('App\Models\Contracts\SupplyChainContract', 'contract_id', 'contract_id');
}
public function Contract() {
return $this->belongsTo(SupplyChainContract::class);
}
//Model functions
public function getContractId() {
return $this->contract_id;
}
}

View File

@@ -0,0 +1,38 @@
<?php
namespace App\Models\Contracts;
use Illuminate\Database\Eloquent\Model;
class SupplyChainContract extends Model
{
//Table Name
public $table = 'supply_chain_contracts';
//Timestamps
public $timestamps = true;
/**
* The attributes that are mass assignable
*
* @var array
*/
protected $fillable = [
'issuer_id',
'issuer_name',
'title',
'type',
'end_date',
'delivery_by',
'body',
'state',
'final_cost',
];
//Relationship
public function Bids() {
return $this->hasMany('App\Models\Contracts\SupplyChainBid', 'contract_id', 'id');
}
}

View File

@@ -1,43 +0,0 @@
<?php
namespace App\Models\PublicContracts;
use Illuminate\Database\Eloquent\Model;
class PublicContract extends Model
{
//Table Name
protected $table = 'public_contracts';
//Timestamps
public $timestamps = false;
/**
* Items which are mass assignable
*
* @var array
*/
protected $fillable = [
'region_id',
'buyout',
'collateral',
'contract_id',
'date_expired',
'date_issued',
'days_to_complete',
'end_location_id',
'for_corporation',
'issuer_corporation_id',
'issuer_id',
'price',
'reward',
'start_location_id',
'title',
'type',
'volume',
];
public function items() {
return $this->hasMany('App\Models\PublicContracts\PublicContractItem', 'contract_id', 'contract_id');
}
}

View File

@@ -1,36 +0,0 @@
<?php
namespace App\Models\PublicContracts;
use Illuminate\Database\Eloquent\Model;
class PublicContractItem extends Model
{
//Table Name
protected $table = 'public_contract_items';
//Timestamps
public $timestamps = true;
/**
* Items which are mass assignable
*
* @var array
*/
protected $fillable = [
'contract_id',
'is_blueprint_copy',
'is_included',
'item_id',
'material_efficency',
'quantity',
'record_id',
'runs',
'time_efficiency',
'type_id',
];
public function contract() {
return $this->hasOne('App\Models\PublicContracts\PublicContract', 'contract_id', 'contract_id');
}
}

View File

@@ -0,0 +1,84 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateNewContractsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
//Remove this group of tables
Schema::dropIfExists('eve_regions');
Schema::dropIfExists('public_contracts');
Schema::dropIfExists('public_contract_items');
Schema::dropIfExists('market_region_orders');
Schema::dropIfExists('market_groups');
Schema::dropIfExists('market_prices');
Schema::dropIfExists('contracts');
Schema::dropIfExists('contract_bids');
Schema::dropIfExists('accepted_bids');
//Add these new tables for the contracts
if(!Schema::hasTable('supply_chain_contracts')) {
Schema::create('supply_chain_contracts', function(Blueprint $table) {
$table->increments('contract_id')->unique();
$table->unsignedBigInteger('issuer_id');
$table->string('issuer_name');
$table->string('title');
$table->enum('type', [
'public',
'private',
]);
$table->dateTime('end_date');
$table->dateTime('delivery_by');
$table->text('body')->nullable();
$table->enum('state', [
'open',
'closed',
'completed',
]);
$table->decimal('final_cost', 20, 2)->default(0.00);
$table->timestamps();
});
}
if(!Schema::hasTable('supply_chain_bids')) {
Schema::create('supply_chain_bids', function(Blueprint $table) {
$table->increments('id')->unique();
$table->unsignedBigInteger('contract_id');
$table->decimal('bid_amount', 20, 2)->default(0.00);
$table->unsignedBigInteger('entity_id');
$table->string('entity_name')->nullable();
$table->enum('entity_type', [
'character',
'corporation',
'alliance',
]);
$table->enum('bid_type', [
'accepted',
'pending',
'not_accepted',
]);
$table->text('bid_note');
$table->timestamps();
});
}
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('supply_chain_contract');
Schema::dropIfExists('supply_chain_bids');
}
}

View File

@@ -1,67 +0,0 @@
@extends('layouts.admin.b4')
@section('content')
<div class="container">
<div class="row justify-content-center">
<h2>Contract Dashboard</h2>
</div>
</div>
<br>
<div class="container">
<div class="row justify-content-center">
<a href="/contracts/admin/new" class="btn btn-primary" role="button">Create New Contract</a>
</div>
</div>
<br>
@if(count($contracts))
@foreach($contracts as $contract)
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">
<div class="row">
<div class="col-sm" align="left">
{{ $contract['title'] }}
</div>
<div class="col-sm" align="center">
Type: {{ $contract['type'] }}
</div>
<div class="col-sm" align="right">
<a href="/contracts/admin/delete/{{ $contract['contract_id'] }}" class="btn btn-primary" role="button">Delete Contract</a>
<br><br>
<a href="/contracts/admin/end/{{ $contract['contract_id'] }}" class="btn btn-primary" role="button">End Contract</a>
</div>
</div>
</div>
<div class="card-body">
<div class="container">
End Date: {{ $contract['end_date'] }}
</div>
<span class="border-dark">
<div class="container">
{!! $contract['body'] !!}
</div>
</span>
</div>
</div>
</div>
</div>
</div>
<br>
@endforeach
@else
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">
No Contracts Issued
</div>
<div class="card-body">
</div>
</div>
</div>
</div>
</div>
@endif
@endsection

View File

@@ -1,45 +0,0 @@
@extends('layouts.admin.b4')
@section('content')
<div class="container">
<div class="row justify-content-center">
<h2>Create New Contract</h2>
</div>
</div>
<br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">
New Contracts
</div>
<div class="card-body">
{!! Form::open(['action' => 'Contracts\ContractAdminController@storeNewContract', 'method' => 'POST']) !!}
<div class="form-group">
{{ Form::label('name', 'Contract Name') }}
{{ Form::text('name', '', ['class' => 'form-control', 'placeholder' => 'Some Name']) }}
</div>
<div class="form-group">
{{ Form::label('body', 'Description') }}
{{ Form::textarea('body', '', ['class' => 'form-control']) }}
</div>
<div class="form-group">
{{ Form::label('date', 'End Date') }}
{{ Form::date('date', \Carbon\Carbon::now()->addWeek(), ['class' => 'form-control', 'placeholder' => '4/24/2019']) }}
</div>
<div class="form-group">
{{ Form::label('type', 'Public Contract') }}
{{ Form::radio('type', 'Public', true) }}
</div>
<div class="form-group">
{{ Form::label('type', 'Private Contract') }}
{{ Form::radio('type', 'Private', false) }}
</div>
{{ Form::submit('Submit', ['class' => 'btn btn-primary']) }}
{!! Form::close() !!}
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@@ -1,59 +0,0 @@
@extends('layouts.admin.b4')
@section('content')
<div class="container">
<div class="row justify-content-center">
<h2>Past Contracts Dashboard</h2>
</div>
</div>
<br>
@if(count($contracts))
@foreach($contracts as $contract)
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">
<div class="row">
<div class="col-sm" align="left">
{{ $contract['title'] }}
</div>
<div class="col-sm" align="center">
Type: {{ $contract['type'] }}
</div>
</div>
</div>
<div class="card-body">
<div class="container">
End Date: {{ $contract['end_date'] }}
</div>
<div class="container">
Final Cost: {{ $contract['final_cost'] }}<br>
</div>
<span class="border-dark">
<div class="container">
{!! $contract['body'] !!}
</div>
</span>
</div>
</div>
</div>
</div>
</div>
<br>
@endforeach
@else
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">
No Contracts Issued
</div>
<div class="card-body">
</div>
</div>
</div>
</div>
</div>
@endif
@endsection

View File

@@ -1,72 +0,0 @@
@foreach($contracts as $contract)
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">
<div class="row">
<div class="col-sm" align="left">
{{ $contract['title'] }}
</div>
<div class="col-sm" align="center">
Type: {{ $contract['type'] }}
</div>
<div class="col-sm" align="right">
<a href="/contracts/display/newbid/{{ $contract['contract_id'] }}" class="btn btn-primary" role="button">Bid on Contract</a>
</div>
</div>
</div>
<div class="card-body">
<div class="container">
End Date: {{ $contract['end_date'] }}
</div>
<span class="border-dark">
<div class="container">
{!! $contract['body'] !!}
</div>
</span>
<hr>
<!-- Count the number of bids for the current contract -->
@if($contract['bid_count'] > 0)
<span class="border-dark">
@if($contract['type'] == 'Public')
<table class="table table-striped">
<thead>
<th>Corporation / Character</th>
<th>Amount</th>
<th></th>
</thead>
<tbody>
@foreach($contract['bids'] as $bid)
<tr>
<td>{{ $bid['corporation_name'] }} : {{ $bid['character_name'] }}</td>
<td>{{ number_format($bid['bid_amount'], 2, '.', ',') }}</td>
@if(auth()->user()->character_id == $bid['character_id'])
<td>
<a href="/contracts/modify/bid/{{ $bid['id'] }}" class="btn btn-primary" role="button">Modify Bid</a>
<a href="/contracts/delete/bid/{{ $bid['id'] }}" class="btn btn-primary" role="button">Delete Bid</a>
</td>
@else
<td></td>
@endif
</tr>
@endforeach
</tbody>
</table>
@else
@foreach($contract['bids'] as $bid)
@if(auth()->user()->character_id == $bid['character_id'])
<a href="/contracts/modify/bid/{{ $bid['id'] }}" class="btn btn-primary" role="button">Modify Bid</a>
<a href="/contracts/delete/bid/{{ $bid['id'] }}" class="btn btn-primary" role="button">Delete Bid</a>
@endif
@endforeach
@endif
</span>
@endif
</div>
</div>
</div>
</div>
</div>
<br>
@endforeach

View File

@@ -1,27 +0,0 @@
<table class="table table-striped">
<thead>
<th>Corporation</th>
<th>Amount</th>
</thead>
<tbody>
@foreach($data['bids'] as $bid)
<tr>
<td>{{ $bid['corporation_name'] }}</td>
<td>{{ $bid['bid_amount'] }}</td>
@if(auth()->user()->character_id == $bid['character_id'])
{{ Form::open(['action' => 'Contracts\ContractController@displayModifyBid', 'method' => 'POST']) }}
{{ Form::hidden('id', $bid['id']) }}
{{ Form::hidden('contract_id', $bid['contract_id']) }}
{{ Form::submit('Modify Bid', ['class' => 'btn btn-primary']) }}
{!! Form::close() !!}
{{ Form::open(['action' => 'Contracts\ContractController@deleteBid', 'method' => 'POST']) }}
{{ Form::hidden('id', $bid['id']) }}
{{ Form::hidden('contract_id', $bid['contract_id']) }}
{{ Form::submit('Delete Bid', ['class' => 'btn btn-primary']) }}
{!! Form::close() !!}
@endif
</tr>
@endforeach
</tbody>
</table>

View File

@@ -1,51 +0,0 @@
@foreach($contracts as $contract)
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">
<div class="row">
<div class="col-sm" align="left">
{{ $contract['title'] }}
</div>
<div class="col-sm" align="center">
Type: Private
</div>
<div class="col-sm" align="right">
<a href="/contracts/display/newbid/{{ $contract['contract_id'] }}" class="btn btn-primary" role="button">Bid on Contract</a>
</div>
</div>
</div>
<div class="card-body">
<div class="container">
End Date: {{ $contract['end_date'] }}
</div>
<hr>
<div class="container">
<pre>
{!! $contract['body'] !!}
</pre>
</div>
<hr>
<div class="container">
@if($contract['lowestbid'] == 'No Bids Placed.')
No Bids Placed.<br>
@else
Lowest Bid: {{ number_format($contract['lowestbid'], 2, '.', ',') }}<br>
@endif
</div>
<hr>
@foreach($contract['bids'] as $bid)
@if(auth()->user()->character_id == $bid['character_id'])
Your Bid: {{ number_format($bid['bid_amount'], 2, '.', ',') }}<br>
<a href="/contracts/modify/bid/{{ $bid['id'] }}" class="btn btn-primary" role="button">Modify Bid</a>
<a href="/contracts/delete/bid/{{ $bid['id'] }}" class="btn btn-primary" role="button">Delete Bid</a>
@endif
@endforeach
</div>
</div>
</div>
</div>
</div>
<br>
@endforeach

View File

@@ -1,72 +0,0 @@
@foreach($contracts as $contract)
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">
<div class="row">
<div class="col-sm" align="left">
{{ $contract['title'] }}
</div>
<hr>
<div class="col-sm" align="center">
Type: Public
</div>
<hr>
<div class="col-sm" align="right">
<a href="/contracts/display/newbid/{{ $contract['contract_id'] }}" class="btn btn-primary" role="button">Bid on Contract</a>
</div>
</div>
</div>
<div class="card-body">
<div class="container">
End Date: {{ $contract['end_date'] }}
</div>
<hr>
<div class="container">
{!! $contract['body'] !!}
</div>
<hr>
<div class="container">
@if($contract['lowestbid'] == 'No Bids Placed.')
No Bids Placed.<br>
No Corproation has placed a bid.<br>
@else
Lowest Bid: {{ number_format($contract['lowestbid'], 2, '.', ',') }}<br>
Lowest Bid Corp: {{ $contract['lowestcorp'] }}<br>
@endif
</div>
<hr>
<!-- Count the number of bids for the current contract -->
@if($contract['bid_count'] > 0)
<table class="table table-striped">
<thead>
<th>Corporation / Character</th>
<th>Amount</th>
<th></th>
</thead>
<tbody>
@foreach($contract['bids'] as $bid)
<tr>
<td>{{ $bid['corporation_name'] }} : {{ $bid['character_name'] }}</td>
<td>{{ number_format($bid['bid_amount'], 2, '.', ',') }}</td>
@if(auth()->user()->character_id == $bid['character_id'])
<td>
<a href="/contracts/modify/bid/{{ $bid['id'] }}" class="btn btn-primary" role="button">Modify Bid</a>
<a href="/contracts/delete/bid/{{ $bid['id'] }}" class="btn btn-primary" role="button">Delete Bid</a>
</td>
@else
<td></td>
@endif
</tr>
@endforeach
</tbody>
</table>
@endif
</div>
</div>
</div>
</div>
</div>
<br>
@endforeach

View File

@@ -1,39 +0,0 @@
@extends('layouts.user.dashb4')
@section('content')
<div class="container">
<div class="row justify-content-center">
<h2>Modify Bid</h2>
</div>
</div>
<br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">
{{ $contract['title'] }}
</div>
<div class="card-body">
Type: {{ $contract['type'] }}<br>
End Date: {{ $contract['end_date'] }}<br>
Description: {{ $contract['body'] }}<br>
{!! Form::open(['action' => 'Contracts\ContractController@modifyBid', 'method' => 'POST']) !!}
<div class="form-group">
{{ Form::label('bid', 'Bid') }}
{{ Form::text('bid', '', ['class' => 'form-control', 'placeholder' => '1.0']) }}
{{ Form::label('suffix', 'M') }}
{{ Form::radio('suffix', 'M', false) }}
{{ Form::label('suffix', 'B') }}
{{ Form::radio('suffix', 'B', false) }}
{{ Form::hidden('type', $contract['type']) }}
{{ Form::hidden('contract_id', $contract['contract_id']) }}
</div>
{{ Form::submit('Modify Bid', ['class' => 'btn btn-primary']) }}
{!! Form::close() !!}
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@@ -1,14 +0,0 @@
@extends('layouts.user.dashb4')
@section('content')
<div class="container">
<div class="row justify-content-center">
<h2>Public Contracts</h2>
</div>
</div>
<br>
@if(count($contracts))
@include('contracts.includes.public')
@else
@include('contracts.includes.nocontracts')
@endif
@endsection

View File

@@ -2,13 +2,13 @@
@section('content') @section('content')
<div class="container"> <div class="container">
<div class="row justify-content-center"> <div class="row justify-content-center">
<h2>All Contracts</h2> <h2>Supply Chain Contracts</h2>
</div> </div>
</div> </div>
<br> <br>
@if(count($contracts)) @if(count($contracts))
@include('contracts.includes.all') @include('supplychain.includes.contracts')
@else @else
@include('contracts.includes.nocontracts') @include('supplychain.includes.nocontracts')
@endif @endif
@endsection @endsection

View File

@@ -2,13 +2,13 @@
@section('content') @section('content')
<div class="container"> <div class="container">
<div class="row justify-content-center"> <div class="row justify-content-center">
<h2>Private Contracts</h2> <h2>Past Supply Chain Contracts</h2>
</div> </div>
</div> </div>
<br> <br>
@if(count($contracts)) @if(count($contracts))
@include('contracts.includes.private') @include('supplychain.includes.contracts')
@else @else
@include('contracts.includes.nocontracts') @include('supplychain.includes.nocontracts')
@endif @endif
@endsection @endsection

View File

@@ -0,0 +1,35 @@
@extends('layouts.user.dashb4')
@section('content')
<!-- Delete a contract the user has created -->
<div class="container">
<div class="row justify-content-center">
@if(count($contracts) > 0)
@foreach($contracts as $contract)
<div class="card">
<div class="card-header">
<h2>{{ $contract['title'] }}</h2>
</div>
<div class="card-body">
{!! $contract['body'] !!}<br>
{!! Form::open(['action' => 'Contracts\SupplyChainController@deleteSupplyChainContract', 'method' => 'POST']) !!}
{{ Form::hidden('contractId', $contract['contract_id']) }}
{{ Form::submit('Delete', ['class' => 'btn btn-danger']) }}
{!! Form::close() !!}
</div>
</div>
@endforeach
@else
<div class="card">
<div class="card-header">
<h2>User currently has no supply chain contracts open.</h2>
</div>
<div class="card-body">
<div class="container">
</div>
</div>
</div>
@endif
</div>
</div>
@endsection

View File

@@ -1,56 +1,54 @@
@extends('layouts.admin.b4') @extends('layouts.user.dashb4')
@section('content') @section('content')
<div class="container"> <div class="container">
<h2>Contract End</h2> <h2>Supply Chain Contract Completion</h2>
</div> </div>
<br> <br>
<div class="container"> <div class="container">
<div class="row justify-content-center"> <div class="row justify-content-center">
<div class="col-md-12"> <div class="col-md-10">
<div class="card"> <div class="card">
<!-- Card Header display Contract Information -->
<div class="card-header"> <div class="card-header">
<table class="table table-striped"> <table class="table table-striped table-bordered">
<!-- Card Header display the supply chain contract information -->
<thead> <thead>
<th>Contract Id</th> <th>Supply Chain Contract Id</th>
<th>Contract Type</th>
<th>Title</th> <th>Title</th>
<th>End Date</th> <th>End Date</th>
<th>Delivery Date</th>
<th>Description</th> <th>Description</th>
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td>{{ $contract['contract_id'] }}</td> <td>{{ $contract['contract_id'] }}</td>
<td>{{ $contract['type'] }}</td>
<td>{{ $contract['title'] }}</td> <td>{{ $contract['title'] }}</td>
<td>{{ $contract['end_date'] }}</td> <td>{{ $contract['end_date'] }}</td>
<td>{{ $contract['delivery_by'] }}</td>
<td>{{ $contract['body'] }}</td> <td>{{ $contract['body'] }}</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div> </div>
<!-- Card Body displays all of the bids and allows for selection of which bid to accept --> <!-- Card Body display all of the bids and allows for selection of the bid for the supply chain contract -->
<div class="card-body"> <div class="card-body">
<table class="table table-striped"> <table class="table table-striped table-bordered">
<thead> <thead>
<th>Bid Amount</th> <th>Bid Amount</th>
<th>Character Name</th> <th>Entity</th>
<th>Corporation Name</th>
<th>Notes</th> <th>Notes</th>
<th>Accept?</th> <th>Accept?</th>
</thead> </thead>
<tbody> <tbody>
{!! Form::open(['action' => 'Contracts\ContractAdminController@storeEndContract', 'method' => 'POST']) !!} {!! Form::open(['action' => 'Contracts\SupplyChainController@storeEndSupplyChainContract']) !!}
{{ Form::hidden('contract_id', $contract['contract_id']) }} {{ Form::hidden('contract_id', $contract['contract_id']) }}
@foreach($bids as $bid) @foreach($bids as $bid)
<tr> <tr>
<td>{{ $bid['bid_amount'] }}</td> <td>{{ $bid['amount'] }}</td>
<td>{{ $bid['character_name'] }}</td> <td>{{ $bid['name'] }}</td>
<td>{{ $bid['corporation_name'] }}</td>
<td><pre>{{ $bid['notes'] }}</pre></td> <td><pre>{{ $bid['notes'] }}</pre></td>
<td>{{ Form::radio('accept', $bid['id'], false, ['class' => 'form-control']) }}</td> <td>{{ Form::radio('accept', $bid['id'], false, ['class' => 'form-control']) }}
</tr> </tr>
@endforeach @endforeach
</tbody> </tbody>
</table> </table>
{{ Form::submit('End Contract', ['class' => 'btn btn-primary']) }} {{ Form::submit('End Contract', ['class' => 'btn btn-primary']) }}
@@ -60,4 +58,5 @@
</div> </div>
</div> </div>
</div> </div>
@endforeach
@endsection @endsection

View File

@@ -4,7 +4,7 @@
<div class="row justify-content-center"> <div class="row justify-content-center">
<h2>Bid on Contract</h2> <h2>Bid on Contract</h2>
</div> </div>
</div> </div>
<br> <br>
<div class="container"> <div class="container">
<div class="row justify-content-center"> <div class="row justify-content-center">
@@ -14,15 +14,11 @@
Enter Bid Enter Bid
</div> </div>
<div class="card-body"> <div class="card-body">
{!! Form::open(['action' => 'Contracts\ContractController@storeBid', 'method' => 'POST']) !!} {!! Form::open(['action' => 'Contracts\SupplyChainController@storeSupplyChainContractBid', 'method' => 'POST']) !!}
<div class="form-group"> <div class="form-group">
{{ Form::label('bid', 'Bid') }} {{ Form::label('bid', 'Bid') }}
{{ Form::text('bid', '', ['class' => 'form-control', 'placeholder' => '1.0']) }} {{ Form::text('bid', '', ['class' => 'form-control', 'placeholder' => '0.00']) }}
{{ Form::hidden('contract_id', $contractId) }} {{ Form::hidden('contract_id', $contractId) }}
{{ Form::label('suffix', 'M') }}
{{ Form::radio('suffix', 'M', false) }}
{{ Form::label('suffix', 'B') }}
{{ Form::radio('suffix', 'B', false) }}
</div> </div>
<div class="form-group"> <div class="form-group">
{{ Form::label('notes', 'Notes') }} {{ Form::label('notes', 'Notes') }}
@@ -35,5 +31,4 @@
</div> </div>
</div> </div>
</div> </div>
@endsection @endsection

View File

@@ -0,0 +1,41 @@
@extends('layouts.user.dashb4')
@section('content')
<div class="container">
<div class="row justify-content-center">
<h2>Create New Supply Chain Contract</h2>
</div>
</div>
<br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">
Enter New Supply Chain Contract Information
</div>
<div class="card-body">
{!! Form::open(['action' => 'Contracts\SupplyChainController@storeNewSupplyChainContract', 'method' => 'POST']) !!}
<div class="form-group">
{{ Form::label('name', 'Contract Name') }}
{{ Form::text('name', '', ['class' => 'form-control', 'placeholder' => 'Supply Chain Contract Name']) }}
</div>
<div class="form-group">
{{ Form::label('body', 'Description') }}
{{ Form::text('body', '', ['class' => 'form-control', 'placeholder' => 'Enter description.']) }}
</div>
<div class="form-group">
{{ Form::label('date', 'End Date') }}
{{ Form::label('date', \Carbon\Carbon::now()->addWeek(), ['class' => 'form-control']) }}
</div>
<div class="form-group">
{{ Form::label('delivery', 'Delivery Date') }}
{{ Form::label('delivery', \Carbon\Carbon::now()->addWeeks(2), ['class' => 'form-control']) }}
</div>
{{ Form::submit('Submit', ['class' => 'btn btn-primary']) }}
{!! Form::close() !!}
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@@ -0,0 +1,44 @@
@foreach($contracts as $contract)
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">
<div class="row">
<div class="col-sm" align="left">
{{ $contract->title }}
</div>
<div class="col-sm" align="right">
{!! Form::open(['action' => 'Contracts\SupplyChainContract@displaySupplyChainContractBid', 'method' => 'POST']) !!}
{{ Form::hidden('contract_id', $contract['contract_id'], ['class' => 'form-control']) }}
{{ Form::submit('Bid', ['class' => 'btn btn-primary']) }}
{!! Form::close() !!}
</div>
</div>
</div>
<div class="card-body">
<div class="container">
Delivery Date: {{ $contract['delivery_by'] }}<br>
End Date: {{ $contract['end_date'] }}<br>
</div>
<span class="border-dark">
<div class="container">
{!! $contract->body !!}
</div>
</span>
<hr>
<!-- If there is more than one bid display the lowest bid, and the number of bids -->
@if($contract['bid_count'] > 0)
<span class="border-dark">
<table class="table table-striped">
{{ $contract['lowest_bid']['name'] }}<br>
{{ $contract['lowest_bid']['amount'] }}<br>
</table>
</span>
@endif
</div>
</div>
</div>
</div>
</div>
@endforeach

View File

@@ -3,9 +3,10 @@
<div class="col-md-8"> <div class="col-md-8">
<div class="card"> <div class="card">
<div class="card-header"> <div class="card-header">
No Contracts Issued <h2>No Supply Chain Contracts Currently</h2>
</div> </div>
<div class="card-body"> <div class="card-body">
</div> </div>
</div> </div>
</div> </div>

View File

@@ -6,7 +6,6 @@ $vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir); $baseDir = dirname($vendorDir);
return array( return array(
'AllianceRentalMoonSeed' => $baseDir . '/database/seeds/AllianceRentalMoonSeed.php',
'App\\Console\\Commands\\Assets\\GetAssetsCommand' => $baseDir . '/app/Console/Commands/Assets/GetAssets.php', 'App\\Console\\Commands\\Assets\\GetAssetsCommand' => $baseDir . '/app/Console/Commands/Assets/GetAssets.php',
'App\\Console\\Commands\\Corps\\GetCorpsCommand' => $baseDir . '/app/Console/Commands/Corps/GetCorps.php', 'App\\Console\\Commands\\Corps\\GetCorpsCommand' => $baseDir . '/app/Console/Commands/Corps/GetCorps.php',
'App\\Console\\Commands\\Data\\CleanStaleDataCommand' => $baseDir . '/app/Console/Commands/Data/CleanStaleDataCommand.php', 'App\\Console\\Commands\\Data\\CleanStaleDataCommand' => $baseDir . '/app/Console/Commands/Data/CleanStaleDataCommand.php',
@@ -19,16 +18,15 @@ return array(
'App\\Console\\Commands\\Flex\\FlexStructureCommand' => $baseDir . '/app/Console/Commands/Flex/FlexStructureCommand.php', 'App\\Console\\Commands\\Flex\\FlexStructureCommand' => $baseDir . '/app/Console/Commands/Flex/FlexStructureCommand.php',
'App\\Console\\Commands\\GetMarketDataCommand' => $baseDir . '/app/Console/Commands/Market/GetMarketDataCommand.php', 'App\\Console\\Commands\\GetMarketDataCommand' => $baseDir . '/app/Console/Commands/Market/GetMarketDataCommand.php',
'App\\Console\\Commands\\Moons\\MoonsUpdateCommand' => $baseDir . '/app/Console/Commands/Moons/MoonsUpdateCommand.php', 'App\\Console\\Commands\\Moons\\MoonsUpdateCommand' => $baseDir . '/app/Console/Commands/Moons/MoonsUpdateCommand.php',
'App\\Console\\Commands\\PublicContractsCommand' => $baseDir . '/app/Console/Commands/PublicContracts/PublicContractsCommand.php',
'App\\Console\\Commands\\PurgeMarketDataCommand' => $baseDir . '/app/Console/Commands/Market/PurgeMarketDataCommand.php', 'App\\Console\\Commands\\PurgeMarketDataCommand' => $baseDir . '/app/Console/Commands/Market/PurgeMarketDataCommand.php',
'App\\Console\\Commands\\RentalMoons\\AllianceRentalMoonInvoiceCreationCommand' => $baseDir . '/app/Console/Commands/RentalMoons/AllianceRentalMoonInvoiceCreationCommand.php', 'App\\Console\\Commands\\RentalMoons\\AllianceRentalMoonInvoiceCreationCommand' => $baseDir . '/app/Console/Commands/RentalMoons/AllianceRentalMoonInvoiceCreationCommand.php',
'App\\Console\\Commands\\RentalMoons\\AllianceRentalMoonUpdatePricingCommand' => $baseDir . '/app/Console/Commands/RentalMoons/AllianceRentalMoonUpdatePricingCommand.php',
'App\\Console\\Commands\\Structures\\GetStructuresCommand' => $baseDir . '/app/Console/Commands/Structures/GetStructures.php', 'App\\Console\\Commands\\Structures\\GetStructuresCommand' => $baseDir . '/app/Console/Commands/Structures/GetStructures.php',
'App\\Console\\Commands\\Users\\PurgeUsers' => $baseDir . '/app/Console/Commands/Users/PurgeUsers.php', 'App\\Console\\Commands\\Users\\PurgeUsers' => $baseDir . '/app/Console/Commands/Users/PurgeUsers.php',
'App\\Console\\Commands\\Wormholes\\PurgeWormholes' => $baseDir . '/app/Console/Commands/Wormholes/PurgeWormholes.php', 'App\\Console\\Commands\\Wormholes\\PurgeWormholes' => $baseDir . '/app/Console/Commands/Wormholes/PurgeWormholes.php',
'App\\Console\\Kernel' => $baseDir . '/app/Console/Kernel.php', 'App\\Console\\Kernel' => $baseDir . '/app/Console/Kernel.php',
'App\\EveRegion' => $baseDir . '/app/Models/Eve/EveRegion.php', 'App\\EveRegion' => $baseDir . '/app/Models/Eve/EveRegion.php',
'App\\Exceptions\\Handler' => $baseDir . '/app/Exceptions/Handler.php', 'App\\Exceptions\\Handler' => $baseDir . '/app/Exceptions/Handler.php',
'App\\Http\\Controllers\\Api\\ApiController' => $baseDir . '/app/Http/Controllers/Api/ApiController.php',
'App\\Http\\Controllers\\Auth\\EsiScopeController' => $baseDir . '/app/Http/Controllers/Auth/EsiScopeController.php', 'App\\Http\\Controllers\\Auth\\EsiScopeController' => $baseDir . '/app/Http/Controllers/Auth/EsiScopeController.php',
'App\\Http\\Controllers\\Auth\\LoginController' => $baseDir . '/app/Http/Controllers/Auth/LoginController.php', 'App\\Http\\Controllers\\Auth\\LoginController' => $baseDir . '/app/Http/Controllers/Auth/LoginController.php',
'App\\Http\\Controllers\\Blacklist\\BlacklistController' => $baseDir . '/app/Http/Controllers/Blacklist/BlacklistController.php', 'App\\Http\\Controllers\\Blacklist\\BlacklistController' => $baseDir . '/app/Http/Controllers/Blacklist/BlacklistController.php',
@@ -46,6 +44,7 @@ return array(
'App\\Http\\Controllers\\Moons\\MoonLedgerController' => $baseDir . '/app/Http/Controllers/Moons/MoonLedgerController.php', 'App\\Http\\Controllers\\Moons\\MoonLedgerController' => $baseDir . '/app/Http/Controllers/Moons/MoonLedgerController.php',
'App\\Http\\Controllers\\Moons\\MoonsAdminController' => $baseDir . '/app/Http/Controllers/Moons/MoonsAdminController.php', 'App\\Http\\Controllers\\Moons\\MoonsAdminController' => $baseDir . '/app/Http/Controllers/Moons/MoonsAdminController.php',
'App\\Http\\Controllers\\Moons\\MoonsController' => $baseDir . '/app/Http/Controllers/Moons/MoonsController.php', 'App\\Http\\Controllers\\Moons\\MoonsController' => $baseDir . '/app/Http/Controllers/Moons/MoonsController.php',
'App\\Http\\Controllers\\Moons\\RentalMoonsAdminController' => $baseDir . '/app/Http/Controllers/Moons/RentalMoonsAdminController.php',
'App\\Http\\Controllers\\PublicContractController' => $baseDir . '/app/Http/Controllers/Contracts/PublicContractController.php', 'App\\Http\\Controllers\\PublicContractController' => $baseDir . '/app/Http/Controllers/Contracts/PublicContractController.php',
'App\\Http\\Controllers\\SRP\\SRPAdminController' => $baseDir . '/app/Http/Controllers/SRP/SRPAdminController.php', 'App\\Http\\Controllers\\SRP\\SRPAdminController' => $baseDir . '/app/Http/Controllers/SRP/SRPAdminController.php',
'App\\Http\\Controllers\\SRP\\SRPController' => $baseDir . '/app/Http/Controllers/SRP/SRPController.php', 'App\\Http\\Controllers\\SRP\\SRPController' => $baseDir . '/app/Http/Controllers/SRP/SRPController.php',
@@ -76,6 +75,7 @@ return array(
'App\\Jobs\\Commands\\RentalMoons\\SendMoonRentalPaymentReminderJob' => $baseDir . '/app/Jobs/Commands/RentalMoons/SendMoonRentalPaymentReminderJob.php', 'App\\Jobs\\Commands\\RentalMoons\\SendMoonRentalPaymentReminderJob' => $baseDir . '/app/Jobs/Commands/RentalMoons/SendMoonRentalPaymentReminderJob.php',
'App\\Jobs\\Commands\\RentalMoons\\UpdateMoonRentalPaidState' => $baseDir . '/app/Jobs/Commands/RentalMoons/UpdateMoonRentalPaidState.php', 'App\\Jobs\\Commands\\RentalMoons\\UpdateMoonRentalPaidState' => $baseDir . '/app/Jobs/Commands/RentalMoons/UpdateMoonRentalPaidState.php',
'App\\Jobs\\Commands\\RentalMoons\\UpdateMoonRentalPrice' => $baseDir . '/app/Jobs/Commands/RentalMoons/UpdateMoonRentalPrice.php', 'App\\Jobs\\Commands\\RentalMoons\\UpdateMoonRentalPrice' => $baseDir . '/app/Jobs/Commands/RentalMoons/UpdateMoonRentalPrice.php',
'App\\Jobs\\Commands\\RentalMoons\\UpdateRentalMoonPullJob' => $baseDir . '/app/Jobs/Commands/RentalMoons/UpdateRentalMoonPullJob.php',
'App\\Jobs\\ProcessAssetsJob' => $baseDir . '/app/Jobs/ProcessAssetsJob.php', 'App\\Jobs\\ProcessAssetsJob' => $baseDir . '/app/Jobs/ProcessAssetsJob.php',
'App\\Jobs\\ProcessSendEveMailJob' => $baseDir . '/app/Jobs/ProcessSendEveMailJob.php', 'App\\Jobs\\ProcessSendEveMailJob' => $baseDir . '/app/Jobs/ProcessSendEveMailJob.php',
'App\\Jobs\\ProcessStructureJob' => $baseDir . '/app/Jobs/ProcessStructureJob.php', 'App\\Jobs\\ProcessStructureJob' => $baseDir . '/app/Jobs/ProcessStructureJob.php',
@@ -138,7 +138,6 @@ return array(
'App\\Models\\Mail\\EveMail' => $baseDir . '/app/Models/Mail/EveMail.php', 'App\\Models\\Mail\\EveMail' => $baseDir . '/app/Models/Mail/EveMail.php',
'App\\Models\\Mail\\SentMail' => $baseDir . '/app/Models/Mail/SentMail.php', 'App\\Models\\Mail\\SentMail' => $baseDir . '/app/Models/Mail/SentMail.php',
'App\\Models\\Market\\MarketRegionOrder' => $baseDir . '/app/Models/Market/MarketRegionOrder.php', 'App\\Models\\Market\\MarketRegionOrder' => $baseDir . '/app/Models/Market/MarketRegionOrder.php',
'App\\Models\\MoonRent\\MoonRental' => $baseDir . '/app/Models/MoonRentals/MoonRental.php',
'App\\Models\\MoonRent\\MoonRentalInvoice' => $baseDir . '/app/Models/MoonRentals/MoonRentalInvoice.php', 'App\\Models\\MoonRent\\MoonRentalInvoice' => $baseDir . '/app/Models/MoonRentals/MoonRentalInvoice.php',
'App\\Models\\MoonRent\\MoonRentalPayment' => $baseDir . '/app/Models/MoonRentals/MoonRentalPayment.php', 'App\\Models\\MoonRent\\MoonRentalPayment' => $baseDir . '/app/Models/MoonRentals/MoonRentalPayment.php',
'App\\Models\\MoonRentals\\AllianceRentalMoon' => $baseDir . '/app/Models/MoonRentals/AllianceRentalMoon.php', 'App\\Models\\MoonRentals\\AllianceRentalMoon' => $baseDir . '/app/Models/MoonRentals/AllianceRentalMoon.php',
@@ -153,8 +152,6 @@ return array(
'App\\Models\\Moon\\RentalMoon' => $baseDir . '/app/Models/Moon/RentalMoon.php', 'App\\Models\\Moon\\RentalMoon' => $baseDir . '/app/Models/Moon/RentalMoon.php',
'App\\Models\\Moon\\RentalMoonLedger' => $baseDir . '/app/Models/Moon/RentalMoonLedger.php', 'App\\Models\\Moon\\RentalMoonLedger' => $baseDir . '/app/Models/Moon/RentalMoonLedger.php',
'App\\Models\\Moon\\RentalMoonObserver' => $baseDir . '/app/Models/Moon/RentalMoonObserver.php', 'App\\Models\\Moon\\RentalMoonObserver' => $baseDir . '/app/Models/Moon/RentalMoonObserver.php',
'App\\Models\\PublicContracts\\PublicContract' => $baseDir . '/app/Models/PublicContracts/PublicContract.php',
'App\\Models\\PublicContracts\\PublicContractItem' => $baseDir . '/app/Models/PublicContracts/PublicContractItem.php',
'App\\Models\\SRP\\SRPShip' => $baseDir . '/app/Models/SRP/SRPShip.php', 'App\\Models\\SRP\\SRPShip' => $baseDir . '/app/Models/SRP/SRPShip.php',
'App\\Models\\SRP\\SrpFleetType' => $baseDir . '/app/Models/SRP/SrpFleetType.php', 'App\\Models\\SRP\\SrpFleetType' => $baseDir . '/app/Models/SRP/SrpFleetType.php',
'App\\Models\\SRP\\SrpPayout' => $baseDir . '/app/Models/SRP/SrpPayout.php', 'App\\Models\\SRP\\SrpPayout' => $baseDir . '/app/Models/SRP/SrpPayout.php',

View File

@@ -475,7 +475,6 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
); );
public static $classMap = array ( public static $classMap = array (
'AllianceRentalMoonSeed' => __DIR__ . '/../..' . '/database/seeds/AllianceRentalMoonSeed.php',
'App\\Console\\Commands\\Assets\\GetAssetsCommand' => __DIR__ . '/../..' . '/app/Console/Commands/Assets/GetAssets.php', 'App\\Console\\Commands\\Assets\\GetAssetsCommand' => __DIR__ . '/../..' . '/app/Console/Commands/Assets/GetAssets.php',
'App\\Console\\Commands\\Corps\\GetCorpsCommand' => __DIR__ . '/../..' . '/app/Console/Commands/Corps/GetCorps.php', 'App\\Console\\Commands\\Corps\\GetCorpsCommand' => __DIR__ . '/../..' . '/app/Console/Commands/Corps/GetCorps.php',
'App\\Console\\Commands\\Data\\CleanStaleDataCommand' => __DIR__ . '/../..' . '/app/Console/Commands/Data/CleanStaleDataCommand.php', 'App\\Console\\Commands\\Data\\CleanStaleDataCommand' => __DIR__ . '/../..' . '/app/Console/Commands/Data/CleanStaleDataCommand.php',
@@ -488,16 +487,15 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'App\\Console\\Commands\\Flex\\FlexStructureCommand' => __DIR__ . '/../..' . '/app/Console/Commands/Flex/FlexStructureCommand.php', 'App\\Console\\Commands\\Flex\\FlexStructureCommand' => __DIR__ . '/../..' . '/app/Console/Commands/Flex/FlexStructureCommand.php',
'App\\Console\\Commands\\GetMarketDataCommand' => __DIR__ . '/../..' . '/app/Console/Commands/Market/GetMarketDataCommand.php', 'App\\Console\\Commands\\GetMarketDataCommand' => __DIR__ . '/../..' . '/app/Console/Commands/Market/GetMarketDataCommand.php',
'App\\Console\\Commands\\Moons\\MoonsUpdateCommand' => __DIR__ . '/../..' . '/app/Console/Commands/Moons/MoonsUpdateCommand.php', 'App\\Console\\Commands\\Moons\\MoonsUpdateCommand' => __DIR__ . '/../..' . '/app/Console/Commands/Moons/MoonsUpdateCommand.php',
'App\\Console\\Commands\\PublicContractsCommand' => __DIR__ . '/../..' . '/app/Console/Commands/PublicContracts/PublicContractsCommand.php',
'App\\Console\\Commands\\PurgeMarketDataCommand' => __DIR__ . '/../..' . '/app/Console/Commands/Market/PurgeMarketDataCommand.php', 'App\\Console\\Commands\\PurgeMarketDataCommand' => __DIR__ . '/../..' . '/app/Console/Commands/Market/PurgeMarketDataCommand.php',
'App\\Console\\Commands\\RentalMoons\\AllianceRentalMoonInvoiceCreationCommand' => __DIR__ . '/../..' . '/app/Console/Commands/RentalMoons/AllianceRentalMoonInvoiceCreationCommand.php', 'App\\Console\\Commands\\RentalMoons\\AllianceRentalMoonInvoiceCreationCommand' => __DIR__ . '/../..' . '/app/Console/Commands/RentalMoons/AllianceRentalMoonInvoiceCreationCommand.php',
'App\\Console\\Commands\\RentalMoons\\AllianceRentalMoonUpdatePricingCommand' => __DIR__ . '/../..' . '/app/Console/Commands/RentalMoons/AllianceRentalMoonUpdatePricingCommand.php',
'App\\Console\\Commands\\Structures\\GetStructuresCommand' => __DIR__ . '/../..' . '/app/Console/Commands/Structures/GetStructures.php', 'App\\Console\\Commands\\Structures\\GetStructuresCommand' => __DIR__ . '/../..' . '/app/Console/Commands/Structures/GetStructures.php',
'App\\Console\\Commands\\Users\\PurgeUsers' => __DIR__ . '/../..' . '/app/Console/Commands/Users/PurgeUsers.php', 'App\\Console\\Commands\\Users\\PurgeUsers' => __DIR__ . '/../..' . '/app/Console/Commands/Users/PurgeUsers.php',
'App\\Console\\Commands\\Wormholes\\PurgeWormholes' => __DIR__ . '/../..' . '/app/Console/Commands/Wormholes/PurgeWormholes.php', 'App\\Console\\Commands\\Wormholes\\PurgeWormholes' => __DIR__ . '/../..' . '/app/Console/Commands/Wormholes/PurgeWormholes.php',
'App\\Console\\Kernel' => __DIR__ . '/../..' . '/app/Console/Kernel.php', 'App\\Console\\Kernel' => __DIR__ . '/../..' . '/app/Console/Kernel.php',
'App\\EveRegion' => __DIR__ . '/../..' . '/app/Models/Eve/EveRegion.php', 'App\\EveRegion' => __DIR__ . '/../..' . '/app/Models/Eve/EveRegion.php',
'App\\Exceptions\\Handler' => __DIR__ . '/../..' . '/app/Exceptions/Handler.php', 'App\\Exceptions\\Handler' => __DIR__ . '/../..' . '/app/Exceptions/Handler.php',
'App\\Http\\Controllers\\Api\\ApiController' => __DIR__ . '/../..' . '/app/Http/Controllers/Api/ApiController.php',
'App\\Http\\Controllers\\Auth\\EsiScopeController' => __DIR__ . '/../..' . '/app/Http/Controllers/Auth/EsiScopeController.php', 'App\\Http\\Controllers\\Auth\\EsiScopeController' => __DIR__ . '/../..' . '/app/Http/Controllers/Auth/EsiScopeController.php',
'App\\Http\\Controllers\\Auth\\LoginController' => __DIR__ . '/../..' . '/app/Http/Controllers/Auth/LoginController.php', 'App\\Http\\Controllers\\Auth\\LoginController' => __DIR__ . '/../..' . '/app/Http/Controllers/Auth/LoginController.php',
'App\\Http\\Controllers\\Blacklist\\BlacklistController' => __DIR__ . '/../..' . '/app/Http/Controllers/Blacklist/BlacklistController.php', 'App\\Http\\Controllers\\Blacklist\\BlacklistController' => __DIR__ . '/../..' . '/app/Http/Controllers/Blacklist/BlacklistController.php',
@@ -515,6 +513,7 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'App\\Http\\Controllers\\Moons\\MoonLedgerController' => __DIR__ . '/../..' . '/app/Http/Controllers/Moons/MoonLedgerController.php', 'App\\Http\\Controllers\\Moons\\MoonLedgerController' => __DIR__ . '/../..' . '/app/Http/Controllers/Moons/MoonLedgerController.php',
'App\\Http\\Controllers\\Moons\\MoonsAdminController' => __DIR__ . '/../..' . '/app/Http/Controllers/Moons/MoonsAdminController.php', 'App\\Http\\Controllers\\Moons\\MoonsAdminController' => __DIR__ . '/../..' . '/app/Http/Controllers/Moons/MoonsAdminController.php',
'App\\Http\\Controllers\\Moons\\MoonsController' => __DIR__ . '/../..' . '/app/Http/Controllers/Moons/MoonsController.php', 'App\\Http\\Controllers\\Moons\\MoonsController' => __DIR__ . '/../..' . '/app/Http/Controllers/Moons/MoonsController.php',
'App\\Http\\Controllers\\Moons\\RentalMoonsAdminController' => __DIR__ . '/../..' . '/app/Http/Controllers/Moons/RentalMoonsAdminController.php',
'App\\Http\\Controllers\\PublicContractController' => __DIR__ . '/../..' . '/app/Http/Controllers/Contracts/PublicContractController.php', 'App\\Http\\Controllers\\PublicContractController' => __DIR__ . '/../..' . '/app/Http/Controllers/Contracts/PublicContractController.php',
'App\\Http\\Controllers\\SRP\\SRPAdminController' => __DIR__ . '/../..' . '/app/Http/Controllers/SRP/SRPAdminController.php', 'App\\Http\\Controllers\\SRP\\SRPAdminController' => __DIR__ . '/../..' . '/app/Http/Controllers/SRP/SRPAdminController.php',
'App\\Http\\Controllers\\SRP\\SRPController' => __DIR__ . '/../..' . '/app/Http/Controllers/SRP/SRPController.php', 'App\\Http\\Controllers\\SRP\\SRPController' => __DIR__ . '/../..' . '/app/Http/Controllers/SRP/SRPController.php',
@@ -545,6 +544,7 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'App\\Jobs\\Commands\\RentalMoons\\SendMoonRentalPaymentReminderJob' => __DIR__ . '/../..' . '/app/Jobs/Commands/RentalMoons/SendMoonRentalPaymentReminderJob.php', 'App\\Jobs\\Commands\\RentalMoons\\SendMoonRentalPaymentReminderJob' => __DIR__ . '/../..' . '/app/Jobs/Commands/RentalMoons/SendMoonRentalPaymentReminderJob.php',
'App\\Jobs\\Commands\\RentalMoons\\UpdateMoonRentalPaidState' => __DIR__ . '/../..' . '/app/Jobs/Commands/RentalMoons/UpdateMoonRentalPaidState.php', 'App\\Jobs\\Commands\\RentalMoons\\UpdateMoonRentalPaidState' => __DIR__ . '/../..' . '/app/Jobs/Commands/RentalMoons/UpdateMoonRentalPaidState.php',
'App\\Jobs\\Commands\\RentalMoons\\UpdateMoonRentalPrice' => __DIR__ . '/../..' . '/app/Jobs/Commands/RentalMoons/UpdateMoonRentalPrice.php', 'App\\Jobs\\Commands\\RentalMoons\\UpdateMoonRentalPrice' => __DIR__ . '/../..' . '/app/Jobs/Commands/RentalMoons/UpdateMoonRentalPrice.php',
'App\\Jobs\\Commands\\RentalMoons\\UpdateRentalMoonPullJob' => __DIR__ . '/../..' . '/app/Jobs/Commands/RentalMoons/UpdateRentalMoonPullJob.php',
'App\\Jobs\\ProcessAssetsJob' => __DIR__ . '/../..' . '/app/Jobs/ProcessAssetsJob.php', 'App\\Jobs\\ProcessAssetsJob' => __DIR__ . '/../..' . '/app/Jobs/ProcessAssetsJob.php',
'App\\Jobs\\ProcessSendEveMailJob' => __DIR__ . '/../..' . '/app/Jobs/ProcessSendEveMailJob.php', 'App\\Jobs\\ProcessSendEveMailJob' => __DIR__ . '/../..' . '/app/Jobs/ProcessSendEveMailJob.php',
'App\\Jobs\\ProcessStructureJob' => __DIR__ . '/../..' . '/app/Jobs/ProcessStructureJob.php', 'App\\Jobs\\ProcessStructureJob' => __DIR__ . '/../..' . '/app/Jobs/ProcessStructureJob.php',
@@ -607,7 +607,6 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'App\\Models\\Mail\\EveMail' => __DIR__ . '/../..' . '/app/Models/Mail/EveMail.php', 'App\\Models\\Mail\\EveMail' => __DIR__ . '/../..' . '/app/Models/Mail/EveMail.php',
'App\\Models\\Mail\\SentMail' => __DIR__ . '/../..' . '/app/Models/Mail/SentMail.php', 'App\\Models\\Mail\\SentMail' => __DIR__ . '/../..' . '/app/Models/Mail/SentMail.php',
'App\\Models\\Market\\MarketRegionOrder' => __DIR__ . '/../..' . '/app/Models/Market/MarketRegionOrder.php', 'App\\Models\\Market\\MarketRegionOrder' => __DIR__ . '/../..' . '/app/Models/Market/MarketRegionOrder.php',
'App\\Models\\MoonRent\\MoonRental' => __DIR__ . '/../..' . '/app/Models/MoonRentals/MoonRental.php',
'App\\Models\\MoonRent\\MoonRentalInvoice' => __DIR__ . '/../..' . '/app/Models/MoonRentals/MoonRentalInvoice.php', 'App\\Models\\MoonRent\\MoonRentalInvoice' => __DIR__ . '/../..' . '/app/Models/MoonRentals/MoonRentalInvoice.php',
'App\\Models\\MoonRent\\MoonRentalPayment' => __DIR__ . '/../..' . '/app/Models/MoonRentals/MoonRentalPayment.php', 'App\\Models\\MoonRent\\MoonRentalPayment' => __DIR__ . '/../..' . '/app/Models/MoonRentals/MoonRentalPayment.php',
'App\\Models\\MoonRentals\\AllianceRentalMoon' => __DIR__ . '/../..' . '/app/Models/MoonRentals/AllianceRentalMoon.php', 'App\\Models\\MoonRentals\\AllianceRentalMoon' => __DIR__ . '/../..' . '/app/Models/MoonRentals/AllianceRentalMoon.php',
@@ -622,8 +621,6 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'App\\Models\\Moon\\RentalMoon' => __DIR__ . '/../..' . '/app/Models/Moon/RentalMoon.php', 'App\\Models\\Moon\\RentalMoon' => __DIR__ . '/../..' . '/app/Models/Moon/RentalMoon.php',
'App\\Models\\Moon\\RentalMoonLedger' => __DIR__ . '/../..' . '/app/Models/Moon/RentalMoonLedger.php', 'App\\Models\\Moon\\RentalMoonLedger' => __DIR__ . '/../..' . '/app/Models/Moon/RentalMoonLedger.php',
'App\\Models\\Moon\\RentalMoonObserver' => __DIR__ . '/../..' . '/app/Models/Moon/RentalMoonObserver.php', 'App\\Models\\Moon\\RentalMoonObserver' => __DIR__ . '/../..' . '/app/Models/Moon/RentalMoonObserver.php',
'App\\Models\\PublicContracts\\PublicContract' => __DIR__ . '/../..' . '/app/Models/PublicContracts/PublicContract.php',
'App\\Models\\PublicContracts\\PublicContractItem' => __DIR__ . '/../..' . '/app/Models/PublicContracts/PublicContractItem.php',
'App\\Models\\SRP\\SRPShip' => __DIR__ . '/../..' . '/app/Models/SRP/SRPShip.php', 'App\\Models\\SRP\\SRPShip' => __DIR__ . '/../..' . '/app/Models/SRP/SRPShip.php',
'App\\Models\\SRP\\SrpFleetType' => __DIR__ . '/../..' . '/app/Models/SRP/SrpFleetType.php', 'App\\Models\\SRP\\SrpFleetType' => __DIR__ . '/../..' . '/app/Models/SRP/SrpFleetType.php',
'App\\Models\\SRP\\SrpPayout' => __DIR__ . '/../..' . '/app/Models/SRP/SrpPayout.php', 'App\\Models\\SRP\\SrpPayout' => __DIR__ . '/../..' . '/app/Models/SRP/SrpPayout.php',