Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 17 additions & 2 deletions app/Http/Controllers/PageController.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,21 @@ public function inventory()
{
return view('pages.inventory.inventory');
}

public function invcreate()
{
return view('pages.inventory.create');
}

public function offerings()
{
return view('pages.offerings.offerings');
}

public function offcreate()
{
return view('pages.offerings.create');
}

public function dashboard()
{
Expand All @@ -28,12 +43,12 @@ public function dashboard()

public function overview()
{
return view('pages.inventory.overview');
return view('pages.bws.overview');
}

public function bwscreate()
{
return view('pages.inventory.create');
return view('pages.bws.create');
}

public function test()
Expand Down
1 change: 0 additions & 1 deletion resources/assets/components/Datatable/datatableActions.vue
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
<modal name="edit" height="auto" :scrollable="true" style="padding: 50px;">
<new-bws-form></new-bws-form>
</modal>
</button>
<button class="btn btn-sm" @click="deleteRow(rowData)">
<i class="fa fa-trash-o"></i>
</button>
Expand Down
11 changes: 9 additions & 2 deletions resources/assets/components/bwsDatatable.vue
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
<datatable
api-url="/api/products"
:fields="fields"
@clicked="passOnID"
></datatable>
</div>
</template>
Expand Down Expand Up @@ -44,8 +45,14 @@ export default {
titleClass: 'text-center',
dataClass: 'text-center'
}
]
],
desiredID: '',
}
}
},
methods: {
passOnID(id) {
this.$emit('clicked', id);
}
}
}
</script>
4 changes: 2 additions & 2 deletions resources/assets/components/newBWS.vue
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
></lcbo-search>
</modal>
</div>
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label">Origin</label>
<div class="col-sm-10">
Expand Down Expand Up @@ -153,7 +153,7 @@ export default {
style : '',
upc : ''
},
result: {}
result : {}
}
},
methods: {
Expand Down
46 changes: 46 additions & 0 deletions resources/assets/components/newInv.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<template>
<form style="padding: 20px; padding-bottom: 50px;" v-on:submit.prevent="submitBottle">

<button class="btn btn-primary" type="submit">Create Bottle!</button>
<p>{{ bottle }}</p>
</form>
</div>
</template>

<script>
export default {
data() {
return {
bottle: {
name : '',
origin : '',
},
}
},
methods: {
submitBottle() {
axios.post('/api/products', this.bottle)
.then(function (response) {
swal(
'Good job!',
'Bottle added successfully!',
'success'
).then((result) => {
if(result.value) {
location.reload();
}
})
})
.catch(function (error) {
swal({
type: 'error',
title: 'Oops...',
text: 'Something went wrong!',
footer: 'Did you fill out all the required fields?'
})
console.log(error);
});
},
}
}
</script>
131 changes: 131 additions & 0 deletions resources/assets/components/newOff.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
<template>
<form style="padding: 20px; padding-bottom: 50px;" v-on:submit.prevent="submitOffer">
<div class="form-group row">
<label class="col-sm-2 col-form-label">BWS ID</label>
<div class="col-sm-9">
<input class="form-control" v-model="offering.product_id" placeholder="12345" required>
</div>
<div class="col-sm-1">
<button type="button" class="btn btn-primary" @click="getBWS">Find</button>
<modal name="getBWSByName" height="500" width="1000">
<div style="padding: 20px;">
<bws-vuetable @clicked="getID"></bws-vuetable>
</div>
</modal>
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label">Supplier ID</label>
<div class="col-sm-9">
<input class="form-control" v-model="offering.supplier_id" placeholder="12345" required>
</div>
<div class="col-sm-1">
<button type="button" class="btn btn-primary" @click="getSupplier">Find</button>
<modal name="getSupplierByName" height="500" width="1000">
😄
</modal>
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label">Cost Per Bottle</label>
<div class="col-sm-9">
<div class="input-group-prepend">
<div class="input-group-text">$</div>
<input class="form-control" v-model="offering.cost" placeholder="Down on the Farm">
</div>
</div>
<div class="col-sm-1">
<button type="button" class="btn btn-primary" @click="getPricePerBottle">Calculate</button>
</div>
</div>
<modal name="BottleCostCalculator" height="auto" :scrollable="true">
<div style="padding: 20px;">
<div class="form-group row">
<label class="col-sm-9 col-form-label">Total Cost of Package</label>
<div class="col-sm-3">
<input class="form-control" v-model="calculator.total_cost">
</div>
</div>
<div class="form-group row">
<label class="col-sm-9 col-form-label">Number of Bottles in Package</label>
<div class="col-sm-3">
<input class="form-control" v-model="calculator.numBottles">
</div>
</div>
<div class="form-group row">
<label class="col-sm-9 col-form-label"><h3>Cost Per Bottle</h3></label>
<div class="col-sm-3">
<h3>${{ calculator.tmp_cost = (calculator.total_cost / calculator.numBottles).toFixed(2) }}</h3>
</div>
</div>
<button class="btn btn-primary" @click="saveResult">Done</button>
</div>
</modal>
<button class="btn btn-primary" type="submit">Create Offering!</button>
<p>{{ offering }}</p>
</form>
</div>
</template>

<script>
export default {
data() {
return {
name : {},
supplier : {},
offering: {
product_id : '',
supplier_id : '',
cost : '',
},
calculator: {
total_cost : '',
numBottles : '',
tmp_cost : '',
}
}
},
methods: {
submitBottle() {
axios.post('/api/offerings', this.offering)
.then(function (response) {
swal(
'Good job!',
'Offering added successfully!',
'success'
).then((result) => {
if(result.value) {
location.reload();
}
})
})
.catch(function (error) {
swal({
type: 'error',
title: 'Oops...',
text: 'Something went wrong!',
footer: 'Did you fill out all the required fields?'
})
console.log(error);
});
},
getBWS() {
this.$modal.show('getBWSByName');
},
getSupplier() {
this.$modal.show('getSupplierByName');
},
getPricePerBottle() {
this.$modal.show('BottleCostCalculator');
},
saveResult() {
this.offering.cost = this.calculator.tmp_cost;
this.$modal.hide('BottleCostCalculator');
},
getID(id) {
this.$modal.hide('getBWSByName');
this.offering.product_id = id;
}
}
}
</script>
1 change: 1 addition & 0 deletions resources/assets/js/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ Vue.component('datatable', require('../components/Datatable/Datatable.vue'));
Vue.component('inv-vuetable', require("../components/invDatatable.vue"));
Vue.component('bws-vuetable', require("../components/bwsDatatable.vue"));
Vue.component('new-bws-form', require("../components/newBWS.vue"));
Vue.component('new-offer-form', require("../components/newOff.vue"));

const app = new Vue({
el: '#app'
Expand Down
14 changes: 10 additions & 4 deletions resources/views/inc/inventory/sidebar.blade.php
Original file line number Diff line number Diff line change
@@ -1,16 +1,22 @@
<div class="sidenav" style="float: left;">
<div class="col-lg-6" style="padding-top: 150px; position: fixed;">
<div class="col-lg-6" style="padding-top: 150px; position: fixed; width: 150px;">
<ul class="list-unstyled components">
<li><a href="/inventory/">Inventory</a></li>
<li><a href="{{ route('inventory.home') }}">Inventory</a></li>
<li><a href="{{ route('inventory.offerings') }}">Offerings</a></li>
<a href="#homeSubmenu" data-toggle="collapse" aria-expanded="false">BWS</a>
<ul class="collapse" id="homeSubmenu">
<li><a href="/inventory/bws/overview">Overview</a></li>
<li><a href="{{ route('bws.overview') }}">Overview</a></li>
<li><a href="#">Beer</a></li>
<li><a href="#">Wine</a></li>
<li><a href="#">Sprits</a></li>
<li><a href="#">Non Alcoholics</a></li>
<li><a href="#">Extraneous</a></li>
<li><a href="/inventory/bws/create">New Bottle</a></li>
</ul>
<a href="#createMenu" data-toggle="collapse" aria-expanded="false">New</a>
<ul class="collapse" id="createMenu">
<li><a href="{{ route('bws.create') }}">New BWS</a></li>
<li><a href="{{ route('offerings.create') }}">New Offering</a></li>
<li><a href="{{ route('inventory.create') }}">New Inventory</a></li>
</ul>
</ul>
</div>
Expand Down
3 changes: 2 additions & 1 deletion resources/views/pages/inventory/inventory.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@

<div style="padding: 10px; padding-top: 150px; overflow: auto;">
<inv-vuetable
api-url="/api/v1.0/inventory"
api-url={{ route('bottles.index') }}
></inv-vuetable>
</div>

@endsection
15 changes: 15 additions & 0 deletions resources/views/pages/offerings/create.blade.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
@extends('layouts.app')

@section('title')
New Offering
@endsection

@section('content')

@include('inc.inventory.sidebar')

<div class="container" style="padding-top: 150px;">
<h1 style="font-family: 'Bellefair', serif; font-weight: normal;">Create New Offering</h1>
<new-offer-form></new-offer-form>
</div>
@endsection
13 changes: 13 additions & 0 deletions resources/views/pages/offerings/offerings.blade.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
@extends('layouts.app')

@section('content')

@include('inc.inventory.sidebar')

<div style="padding: 10px; padding-top: 150px; overflow: auto;">
<inv-vuetable
api-url={{ route('offerings.index') }}
></inv-vuetable>
</div>

@endsection
12 changes: 7 additions & 5 deletions routes/web.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,15 @@

Route::get('/welcome', 'PageController@welcome');

Route::get('/inventory', 'PageController@inventory');
Route::get('/inventory', 'PageController@inventory')->name('inventory.home');
Route::get('/inventory/offerings', 'PageController@offerings')->name('inventory.offerings');
Route::get('/inventory/create', 'PageController@invcreate')->name('inventory.create');
Route::get('/inventory/offerings/create', 'PageController@offcreate')->name('offerings.create');

Route::get('/inventory/bws/overview', 'PageController@overview');
Route::get('/inventory/bws/create', 'PageController@bwscreate');

Route::get('/bws/overview', 'PageController@overview')->name('bws.overview');
Route::get('/bws/create', 'PageController@bwscreate')->name('bws.create');

Auth::routes();

Route::get('/dashboard', 'PageController@dashboard');

Route::get('inventory/bws', 'LCBOController@getQueried');