Added License model and views
This commit is contained in:
parent
f1aca6e318
commit
36f7fb82a6
@ -62,13 +62,17 @@ body{
|
||||
box-shadow: $box-shadow-2;
|
||||
}
|
||||
|
||||
#item-header{
|
||||
.item-name{
|
||||
#item-header,
|
||||
#license-header{
|
||||
.item-name,
|
||||
.license-name{
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.item-created,
|
||||
.item-updated{
|
||||
.item-updated,
|
||||
.license-created,
|
||||
.license-updated{
|
||||
color: #666;
|
||||
font-size: 1.75rem;
|
||||
font-style: italic;
|
||||
|
22
db/migrations/0003_add_licenses_table.rb
Normal file
22
db/migrations/0003_add_licenses_table.rb
Normal file
@ -0,0 +1,22 @@
|
||||
Sequel.migration do
|
||||
|
||||
up do
|
||||
create_table(:licenses) do
|
||||
primary_key :id
|
||||
String :name, null: false
|
||||
String :key, null: false
|
||||
String :manufacturer
|
||||
Integer :seats_used, default: 0
|
||||
Integer :seats_total, default: 1
|
||||
String :purchased_from
|
||||
DateTime :purchased_at
|
||||
DateTime :created_at, default: Sequel::CURRENT_TIMESTAMP
|
||||
DateTime :updated_at, default: Sequel::CURRENT_TIMESTAMP
|
||||
end
|
||||
end
|
||||
|
||||
down do
|
||||
drop_table(:licenses)
|
||||
end
|
||||
|
||||
end
|
5
lib/models/license.rb
Normal file
5
lib/models/license.rb
Normal file
@ -0,0 +1,5 @@
|
||||
class License < Sequel::Model
|
||||
|
||||
|
||||
|
||||
end
|
@ -1,5 +1,5 @@
|
||||
get '/' do
|
||||
items = Item.all
|
||||
items = Item.reverse(:updated_at).limit(10).all()
|
||||
erb :index, :locals => {
|
||||
:title => 'Dashboard',
|
||||
:items => items
|
||||
@ -10,7 +10,7 @@ get '/item' do
|
||||
redirect '/item/list'
|
||||
end
|
||||
get '/item/list' do
|
||||
items = Item.all
|
||||
items = Item.reverse(:updated_at).all()
|
||||
erb :'item/list', :locals => {
|
||||
:title => 'List of Items',
|
||||
:items => items
|
||||
@ -53,3 +53,42 @@ post '/item/:item_id/comment' do
|
||||
|
||||
redirect "/item/#{item.id}"
|
||||
end
|
||||
|
||||
get '/license' do
|
||||
redirect '/license/list'
|
||||
end
|
||||
get '/license/list' do
|
||||
licenses = License.reverse(:updated_at).all()
|
||||
erb :'license/list', :locals => {
|
||||
:title => 'List of Licenses',
|
||||
:licenses => licenses
|
||||
}
|
||||
end
|
||||
|
||||
get '/license/create' do
|
||||
erb :'license/create', :locals => {
|
||||
:title => 'Create New License'
|
||||
}
|
||||
end
|
||||
post '/license/create' do
|
||||
license = License.create(
|
||||
name: params[:license_name],
|
||||
key: params[:license_key],
|
||||
manufacturer: params[:license_manufacturer],
|
||||
seats_used: params[:license_seats_used],
|
||||
seats_total: params[:license_seats_total],
|
||||
purchased_from: params[:license_purchase_from],
|
||||
purchased_at: params[:license_purchase_date]
|
||||
)
|
||||
|
||||
redirect "/license/#{license.id}"
|
||||
end
|
||||
|
||||
get '/license/:license_id' do
|
||||
license = License.where(id: params[:license_id]).first()
|
||||
puts "#{license.name}"
|
||||
erb :'license/view', :locals => {
|
||||
:title => license.name,
|
||||
:license => license
|
||||
}
|
||||
end
|
||||
|
1
raven.rb
1
raven.rb
@ -23,6 +23,7 @@ DB = Sequel.connect(adapter: conf.get('database.adapter'), database: conf.get('d
|
||||
# Load models
|
||||
require_relative 'lib/models/item.rb'
|
||||
require_relative 'lib/models/item_comment.rb'
|
||||
require_relative 'lib/models/license.rb'
|
||||
|
||||
# Load helper functions
|
||||
require_relative 'lib/helpers.rb'
|
||||
|
@ -1,7 +1,21 @@
|
||||
<p><a href="/item/create">Create new item</a></p>
|
||||
<div class="row">
|
||||
<div class="twelve columns">
|
||||
<h1>Inventory List</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ul>
|
||||
<% items.each do |item| %>
|
||||
<li><%= item.name %></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
<div class="row">
|
||||
<div class="twelve columns">
|
||||
<p><a href="/item/create">Create new item</a></p>
|
||||
|
||||
<% if items.length > 0 %>
|
||||
<ul>
|
||||
<% items.each do |item| %>
|
||||
<li><%= item.name %></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
<% else %>
|
||||
<p>There is nothing registered in your inventory yet.</p>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
56
views/license/create.erb
Normal file
56
views/license/create.erb
Normal file
@ -0,0 +1,56 @@
|
||||
<div class="row">
|
||||
<div class="twelve columns">
|
||||
<h1>Create new license</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="twelve columns">
|
||||
<form action="/license/create" method="POST" class="u-full-width">
|
||||
<div class="row">
|
||||
<div class="columns twelve">
|
||||
<label for="license_name">Item name:</label>
|
||||
<input class="u-full-width" type="text" placeholder="My new license" id="license_name" name="license_name" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="six columns">
|
||||
<label for="license_key">License key:</label>
|
||||
<input class="u-full-width" type="text" placeholder="acbd1234efgh5678" id="license_key" name="license_key">
|
||||
</div>
|
||||
|
||||
<div class="six columns">
|
||||
<label for="license_manufacturer">Manufacturer:</label>
|
||||
<input class="u-full-width" type="text" placeholder="Manufacturer" id="license_manufacturer" name="license_manufacturer">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="six columns">
|
||||
<label for="license_seats_used">Seats used on license:</label>
|
||||
<input class="u-full-width" type="number" placeholder="0" id="license_seats_used" name="license_seats_used">
|
||||
</div>
|
||||
|
||||
<div class="six columns">
|
||||
<label for="license_seats_total">Total seats on license:</label>
|
||||
<input class="u-full-width" type="number" placeholder="1" id="license_seats_total" name="license_seats_total">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="six columns">
|
||||
<label for="license_purchase_from">Purchased from:</label>
|
||||
<input class="u-full-width" type="text" placeholder="Newegg" id="license_purchase_from" name="license_purchase_from">
|
||||
</div>
|
||||
|
||||
<div class="six columns">
|
||||
<label for="license_purchase_date">Purchased at:</label>
|
||||
<input class="u-full-width" type="datetime-local" id="license_purchase_date" name="license_purchase_date">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input class="button-primary u-full-width" type="submit" value="Submit">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
21
views/license/list.erb
Normal file
21
views/license/list.erb
Normal file
@ -0,0 +1,21 @@
|
||||
<div class="row">
|
||||
<div class="twelve columns">
|
||||
<h1>Licenses List</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="twelve columns">
|
||||
<p><a href="/license/create">Create new license</a></p>
|
||||
|
||||
<% if licenses.length > 0 %>
|
||||
<ul>
|
||||
<% licenses.each do |license| %>
|
||||
<li><a href="/license/<%= license.id %>"><%= license.name %></a></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
<% else %>
|
||||
<p>There is nothing registered in your inventory yet.</p>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
36
views/license/view.erb
Normal file
36
views/license/view.erb
Normal file
@ -0,0 +1,36 @@
|
||||
<div id="license-header" class="row">
|
||||
<div class="twelve columns">
|
||||
<h1 class="license-name"><%= license.name %></h1>
|
||||
<h4 class="license-created">License added at: <%= date_format(license.created_at) %></h4>
|
||||
<% if license.updated_at %>
|
||||
<h4 class="license-updated">Last updated at: <%= date_format(license.updated_at) %></h4>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="twelve columns">
|
||||
<table class="u-full-width">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>License key:</th>
|
||||
<th>Manufacturer:</th>
|
||||
<th>Seats used:</th>
|
||||
<th>Seats total:</th>
|
||||
<th>Vendor:</th>
|
||||
<th>Purchase Date:</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><%= license.key %></td>
|
||||
<td><%= nullable(license.manufacturer) %></td>
|
||||
<td><%= nullable(license.seats_used) %></td>
|
||||
<td><%= nullable(license.seats_total) %></td>
|
||||
<td><%= nullable(license.purchased_from) %></td>
|
||||
<td><%= nullable(date_format(license.purchased_at)) %></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
Loading…
Reference in New Issue
Block a user