mechanize-store 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. checksums.yaml +15 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +58 -0
  4. data/Rakefile +32 -0
  5. data/app/assets/javascripts/mechanize_store/application.js +22 -0
  6. data/app/assets/javascripts/mechanize_store/sb-admin/bootstrap.js +1951 -0
  7. data/app/assets/javascripts/mechanize_store/sb-admin/custom.js +58 -0
  8. data/app/assets/javascripts/mechanize_store/sb-admin/flot/excanvas.min.js +1 -0
  9. data/app/assets/javascripts/mechanize_store/sb-admin/flot/jquery.flot.js +3137 -0
  10. data/app/assets/javascripts/mechanize_store/sb-admin/flot/jquery.flot.pie.js +817 -0
  11. data/app/assets/javascripts/mechanize_store/sb-admin/flot/main.js +20 -0
  12. data/app/assets/javascripts/mechanize_store/sb-admin/jquery-ui.js +2256 -0
  13. data/app/assets/javascripts/mechanize_store/sb-admin/jquery.activity-indicator-1.0.0.min.js +223 -0
  14. data/app/assets/javascripts/mechanize_store/sb-admin/plugins/dataTables/dataTables.bootstrap.js +245 -0
  15. data/app/assets/javascripts/mechanize_store/sb-admin/plugins/dataTables/jquery.dataTables.js +14013 -0
  16. data/app/assets/javascripts/mechanize_store/sb-admin/plugins/flot/excanvas.min.js +1 -0
  17. data/app/assets/javascripts/mechanize_store/sb-admin/plugins/flot/jquery.flot.js +2599 -0
  18. data/app/assets/javascripts/mechanize_store/sb-admin/plugins/flot/jquery.flot.pie.js +750 -0
  19. data/app/assets/javascripts/mechanize_store/sb-admin/plugins/flot/jquery.flot.resize.js +60 -0
  20. data/app/assets/javascripts/mechanize_store/sb-admin/plugins/flot/jquery.flot.tooltip.min.js +12 -0
  21. data/app/assets/javascripts/mechanize_store/sb-admin/plugins/metisMenu/jquery.metisMenu.js +45 -0
  22. data/app/assets/javascripts/mechanize_store/sb-admin/plugins/morris/morris.js +1888 -0
  23. data/app/assets/javascripts/mechanize_store/sb-admin/plugins/morris/raphael-2.1.0.min.js +10 -0
  24. data/app/assets/javascripts/mechanize_store/sb-admin/sb-admin.js +18 -0
  25. data/app/assets/stylesheets/mechanize_store/application.css +199 -0
  26. data/app/assets/stylesheets/mechanize_store/sb-admin/bootstrap.css +5831 -0
  27. data/app/assets/stylesheets/mechanize_store/sb-admin/plugins/dataTables/dataTables.bootstrap.css +233 -0
  28. data/app/assets/stylesheets/mechanize_store/sb-admin/plugins/morris/morris-0.4.3.min.css +2 -0
  29. data/app/assets/stylesheets/mechanize_store/sb-admin/plugins/social-buttons/social-buttons.css +68 -0
  30. data/app/assets/stylesheets/mechanize_store/sb-admin/plugins/timeline/timeline.css +144 -0
  31. data/app/assets/stylesheets/mechanize_store/sb-admin/sb-admin.css +307 -0
  32. data/app/controllers/mechanize_store/application_controller.rb +4 -0
  33. data/app/controllers/mechanize_store/flags_controller.rb +77 -0
  34. data/app/controllers/mechanize_store/order_statuses_controller.rb +77 -0
  35. data/app/controllers/mechanize_store/orders_controller.rb +28 -0
  36. data/app/controllers/mechanize_store/payment_statuses_controller.rb +77 -0
  37. data/app/controllers/mechanize_store/payment_types_controller.rb +77 -0
  38. data/app/controllers/mechanize_store/product_categories_controller.rb +77 -0
  39. data/app/controllers/mechanize_store/products_controller.rb +77 -0
  40. data/app/helpers/mechanize_store/application_helper.rb +7 -0
  41. data/app/models/mechanize_store/flag.rb +4 -0
  42. data/app/models/mechanize_store/freight.rb +5 -0
  43. data/app/models/mechanize_store/order.rb +8 -0
  44. data/app/models/mechanize_store/order_status.rb +5 -0
  45. data/app/models/mechanize_store/payment.rb +6 -0
  46. data/app/models/mechanize_store/payment_status.rb +4 -0
  47. data/app/models/mechanize_store/payment_type.rb +4 -0
  48. data/app/models/mechanize_store/product.rb +5 -0
  49. data/app/models/mechanize_store/product_category.rb +5 -0
  50. data/app/models/mechanize_store/product_photo.rb +5 -0
  51. data/app/models/mechanize_store/store.rb +5 -0
  52. data/app/views/layouts/store/application.html.erb +93 -0
  53. data/app/views/mechanize_store/flags/_form.html.erb +11 -0
  54. data/app/views/mechanize_store/flags/edit.html.erb +12 -0
  55. data/app/views/mechanize_store/flags/index.html.erb +46 -0
  56. data/app/views/mechanize_store/flags/new.html.erb +9 -0
  57. data/app/views/mechanize_store/flags/show.html.erb +15 -0
  58. data/app/views/mechanize_store/order_statuses/_form.html.erb +11 -0
  59. data/app/views/mechanize_store/order_statuses/edit.html.erb +12 -0
  60. data/app/views/mechanize_store/order_statuses/index.html.erb +46 -0
  61. data/app/views/mechanize_store/order_statuses/new.html.erb +9 -0
  62. data/app/views/mechanize_store/order_statuses/show.html.erb +15 -0
  63. data/app/views/mechanize_store/orders/index.html.erb +84 -0
  64. data/app/views/mechanize_store/orders/show.html.erb +0 -0
  65. data/app/views/mechanize_store/payment_statuses/_form.html.erb +11 -0
  66. data/app/views/mechanize_store/payment_statuses/edit.html.erb +12 -0
  67. data/app/views/mechanize_store/payment_statuses/index.html.erb +46 -0
  68. data/app/views/mechanize_store/payment_statuses/new.html.erb +9 -0
  69. data/app/views/mechanize_store/payment_statuses/show.html.erb +15 -0
  70. data/app/views/mechanize_store/payment_types/_form.html.erb +11 -0
  71. data/app/views/mechanize_store/payment_types/edit.html.erb +12 -0
  72. data/app/views/mechanize_store/payment_types/index.html.erb +46 -0
  73. data/app/views/mechanize_store/payment_types/new.html.erb +9 -0
  74. data/app/views/mechanize_store/payment_types/show.html.erb +15 -0
  75. data/app/views/mechanize_store/product_categories/_form.html.erb +12 -0
  76. data/app/views/mechanize_store/product_categories/edit.html.erb +12 -0
  77. data/app/views/mechanize_store/product_categories/index.html.erb +48 -0
  78. data/app/views/mechanize_store/product_categories/new.html.erb +9 -0
  79. data/app/views/mechanize_store/product_categories/show.html.erb +19 -0
  80. data/app/views/mechanize_store/products/_form.html.erb +18 -0
  81. data/app/views/mechanize_store/products/edit.html.erb +12 -0
  82. data/app/views/mechanize_store/products/index.html.erb +50 -0
  83. data/app/views/mechanize_store/products/new.html.erb +9 -0
  84. data/app/views/mechanize_store/products/show.html.erb +43 -0
  85. data/app/views/shared/_flashes.html.erb +8 -0
  86. data/config/locales/store.pt-BR.yml +22 -0
  87. data/config/routes.rb +10 -0
  88. data/db/migrate/20140401203200_create_mechanize_store_freights.rb +12 -0
  89. data/db/migrate/20140401203246_create_mechanize_store_order_statuses.rb +9 -0
  90. data/db/migrate/20140402140318_create_mechanize_store_payment_statuses.rb +9 -0
  91. data/db/migrate/20140402140325_create_mechanize_store_payment_types.rb +9 -0
  92. data/db/migrate/20140402140539_create_mechanize_store_payments.rb +16 -0
  93. data/db/migrate/20140402140549_create_mechanize_store_flags.rb +9 -0
  94. data/db/migrate/20140402140832_create_mechanize_store_products.rb +16 -0
  95. data/db/migrate/20140402140942_create_mechanize_store_product_photos.rb +10 -0
  96. data/db/migrate/20140402141340_create_mechanize_store_stores.rb +12 -0
  97. data/db/migrate/20140402153139_create_mechanize_store_orders.rb +11 -0
  98. data/db/migrate/20140402192058_create_mechanize_store_product_categories.rb +10 -0
  99. data/lib/mechanize_store.rb +4 -0
  100. data/lib/mechanize_store/engine.rb +16 -0
  101. data/lib/mechanize_store/version.rb +3 -0
  102. data/lib/tasks/store_tasks.rake +4 -0
  103. data/lib/templates/erb/scaffold/_form.html.erb +13 -0
  104. data/lib/templates/erb/scaffold/edit.html.erb +12 -0
  105. data/lib/templates/erb/scaffold/index.html.erb +50 -0
  106. data/lib/templates/erb/scaffold/new.html.erb +9 -0
  107. data/lib/templates/erb/scaffold/show.html.erb +17 -0
  108. data/lib/templates/rails/scaffold_controller/controller.rb +79 -0
  109. metadata +265 -0
@@ -0,0 +1,28 @@
1
+ require_dependency "mechanize_store/application_controller"
2
+
3
+ module MechanizeStore
4
+ class OrdersController < ApplicationController
5
+ respond_to :html, :json
6
+
7
+ before_action :fetch_collections, only: [:index]
8
+
9
+ def fetch_collections
10
+ @order_statuses = OrderStatus.all
11
+ @payment_statuses = PaymentStatus.all
12
+ end
13
+
14
+ def index
15
+ params[:q] ||= {}
16
+
17
+ @search = Order.search(params[:q])
18
+ @orders = @search.result.paginate(page: params[:page])
19
+
20
+ respond_with @orders
21
+ end
22
+
23
+ def show
24
+ @order = Order.find(params[:id])
25
+ respond_with @order
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,77 @@
1
+ module MechanizeStore
2
+ class PaymentStatusesController < ApplicationController
3
+ before_action :set_payment_status, only: [:show, :edit, :update, :destroy]
4
+
5
+ respond_to :html, :json, :xml
6
+
7
+ def index
8
+ @search = PaymentStatus.search(params[:q])
9
+
10
+ @payment_statuses = @search.result.paginate(page: params[:page])
11
+
12
+ respond_with @payment_statuses
13
+ end
14
+
15
+ def show
16
+ respond_with @payment_status
17
+ end
18
+
19
+ def new
20
+ @payment_status = PaymentStatus.new
21
+ respond_with @payment_status
22
+ end
23
+
24
+ def edit
25
+ respond_with @payment_status
26
+ end
27
+
28
+ def create
29
+ @payment_status = PaymentStatus.new(payment_status_params)
30
+
31
+ respond_with @payment_status do |format|
32
+ if @payment_status.save
33
+ format.html do
34
+ flash[:notice] = I18n.t(:created, model: I18n.t(:payment_status, scope: "activerecord.models"))
35
+ redirect_to @payment_status
36
+ end
37
+ else
38
+ format.html { render action: "new" }
39
+ end
40
+ end
41
+ end
42
+
43
+ def update
44
+ @payment_status = PaymentStatus.find(params[:id])
45
+
46
+ respond_with @payment_status do |format|
47
+ if @payment_status.update(payment_status_params)
48
+ format.html do
49
+ flash[:notice] = I18n.t(:updated, model: I18n.t(:payment_status, scope: "activerecord.models"))
50
+ redirect_to @payment_status
51
+ end
52
+ else
53
+ format.html { render action: "edit" }
54
+ end
55
+ end
56
+ end
57
+
58
+ def destroy
59
+ @payment_status = PaymentStatus.find(params[:id])
60
+
61
+ flash[:alert] = I18n.t(:deleted, model: I18n.t(:payment_status, scope: "activerecord.models")) if @payment_status.destroy
62
+
63
+ respond_with @payment_status, :location => payment_statuses_url
64
+ end
65
+
66
+ private
67
+ # Use callbacks to share common setup or constraints between actions.
68
+ def set_payment_status
69
+ @payment_status = PaymentStatus.find(params[:id])
70
+ end
71
+
72
+ # Only allow a trusted parameter "white list" through.
73
+ def payment_status_params
74
+ params.require(:payment_status).permit(:name)
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,77 @@
1
+ module MechanizeStore
2
+ class PaymentTypesController < ApplicationController
3
+ before_action :set_payment_type, only: [:show, :edit, :update, :destroy]
4
+
5
+ respond_to :html, :json, :xml
6
+
7
+ def index
8
+ @search = PaymentType.search(params[:q])
9
+
10
+ @payment_types = @search.result.paginate(page: params[:page])
11
+
12
+ respond_with @payment_types
13
+ end
14
+
15
+ def show
16
+ respond_with @payment_type
17
+ end
18
+
19
+ def new
20
+ @payment_type = PaymentType.new
21
+ respond_with @payment_type
22
+ end
23
+
24
+ def edit
25
+ respond_with @payment_type
26
+ end
27
+
28
+ def create
29
+ @payment_type = PaymentType.new(payment_type_params)
30
+
31
+ respond_with @payment_type do |format|
32
+ if @payment_type.save
33
+ format.html do
34
+ flash[:notice] = I18n.t(:created, model: I18n.t(:payment_type, scope: "activerecord.models"))
35
+ redirect_to @payment_type
36
+ end
37
+ else
38
+ format.html { render action: "new" }
39
+ end
40
+ end
41
+ end
42
+
43
+ def update
44
+ @payment_type = PaymentType.find(params[:id])
45
+
46
+ respond_with @payment_type do |format|
47
+ if @payment_type.update(payment_type_params)
48
+ format.html do
49
+ flash[:notice] = I18n.t(:updated, model: I18n.t(:payment_type, scope: "activerecord.models"))
50
+ redirect_to @payment_type
51
+ end
52
+ else
53
+ format.html { render action: "edit" }
54
+ end
55
+ end
56
+ end
57
+
58
+ def destroy
59
+ @payment_type = PaymentType.find(params[:id])
60
+
61
+ flash[:alert] = I18n.t(:deleted, model: I18n.t(:payment_type, scope: "activerecord.models")) if @payment_type.destroy
62
+
63
+ respond_with @payment_type, :location => payment_types_url
64
+ end
65
+
66
+ private
67
+ # Use callbacks to share common setup or constraints between actions.
68
+ def set_payment_type
69
+ @payment_type = PaymentType.find(params[:id])
70
+ end
71
+
72
+ # Only allow a trusted parameter "white list" through.
73
+ def payment_type_params
74
+ params.require(:payment_type).permit(:name)
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,77 @@
1
+ module MechanizeStore
2
+ class ProductCategoriesController < ApplicationController
3
+ before_action :set_product_category, only: [:show, :edit, :update, :destroy]
4
+
5
+ respond_to :html, :json, :xml
6
+
7
+ def index
8
+ @search = ProductCategory.search(params[:q])
9
+
10
+ @product_categories = @search.result.paginate(page: params[:page])
11
+
12
+ respond_with @product_categories
13
+ end
14
+
15
+ def show
16
+ respond_with @product_category
17
+ end
18
+
19
+ def new
20
+ @product_category = ProductCategory.new
21
+ respond_with @product_category
22
+ end
23
+
24
+ def edit
25
+ respond_with @product_category
26
+ end
27
+
28
+ def create
29
+ @product_category = ProductCategory.new(product_category_params)
30
+
31
+ respond_with @product_category do |format|
32
+ if @product_category.save
33
+ format.html do
34
+ flash[:notice] = I18n.t(:created, model: I18n.t(:product_category, scope: "activerecord.models"))
35
+ redirect_to @product_category
36
+ end
37
+ else
38
+ format.html { render action: "new" }
39
+ end
40
+ end
41
+ end
42
+
43
+ def update
44
+ @product_category = ProductCategory.find(params[:id])
45
+
46
+ respond_with @product_category do |format|
47
+ if @product_category.update(product_category_params)
48
+ format.html do
49
+ flash[:notice] = I18n.t(:updated, model: I18n.t(:product_category, scope: "activerecord.models"))
50
+ redirect_to @product_category
51
+ end
52
+ else
53
+ format.html { render action: "edit" }
54
+ end
55
+ end
56
+ end
57
+
58
+ def destroy
59
+ @product_category = ProductCategory.find(params[:id])
60
+
61
+ flash[:alert] = I18n.t(:removed, model: I18n.t(:product_category, scope: "activerecord.models")) if @product_category.destroy
62
+
63
+ respond_with @product_category, :location => product_categories_url
64
+ end
65
+
66
+ private
67
+ # Use callbacks to share common setup or constraints between actions.
68
+ def set_product_category
69
+ @product_category = ProductCategory.find(params[:id])
70
+ end
71
+
72
+ # Only allow a trusted parameter "white list" through.
73
+ def product_category_params
74
+ params.require(:product_category).permit(:name, :product_category_id)
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,77 @@
1
+ module MechanizeStore
2
+ class ProductsController < ApplicationController
3
+ before_action :set_product, only: [:show, :edit, :update, :destroy]
4
+
5
+ respond_to :html, :json, :xml
6
+
7
+ def index
8
+ @search = Product.search(params[:q])
9
+
10
+ @products = @search.result.paginate(page: params[:page])
11
+
12
+ respond_with @products
13
+ end
14
+
15
+ def show
16
+ respond_with @product
17
+ end
18
+
19
+ def new
20
+ @product = Product.new
21
+ respond_with @product
22
+ end
23
+
24
+ def edit
25
+ respond_with @product
26
+ end
27
+
28
+ def create
29
+ @product = Product.new(product_params)
30
+
31
+ respond_with @product do |format|
32
+ if @product.save
33
+ format.html do
34
+ flash[:notice] = I18n.t(:created, model: I18n.t(:product, scope: "activerecord.models"))
35
+ redirect_to @product
36
+ end
37
+ else
38
+ format.html { render action: "new" }
39
+ end
40
+ end
41
+ end
42
+
43
+ def update
44
+ @product = Product.find(params[:id])
45
+
46
+ respond_with @product do |format|
47
+ if @product.update(product_params)
48
+ format.html do
49
+ flash[:notice] = I18n.t(:updated, model: I18n.t(:product, scope: "activerecord.models"))
50
+ redirect_to @product
51
+ end
52
+ else
53
+ format.html { render action: "edit" }
54
+ end
55
+ end
56
+ end
57
+
58
+ def destroy
59
+ @product = Product.find(params[:id])
60
+
61
+ flash[:alert] = I18n.t(:deleted, model: I18n.t(:product, scope: "activerecord.models")) if @product.destroy
62
+
63
+ respond_with @product, :location => products_url
64
+ end
65
+
66
+ private
67
+ # Use callbacks to share common setup or constraints between actions.
68
+ def set_product
69
+ @product = Product.find(params[:id])
70
+ end
71
+
72
+ # Only allow a trusted parameter "white list" through.
73
+ def product_params
74
+ params.require(:product).permit(:name, :description, :short_description, :price, :weight, :lenght, :height, :product_category_id)
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,7 @@
1
+ module MechanizeStore
2
+ module ApplicationHelper
3
+ def title(text)
4
+ content_for(:title){text}
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,4 @@
1
+ module MechanizeStore
2
+ class Flag < ActiveRecord::Base
3
+ end
4
+ end
@@ -0,0 +1,5 @@
1
+ module MechanizeStore
2
+ class Freight < ActiveRecord::Base
3
+ belongs_to :order
4
+ end
5
+ end
@@ -0,0 +1,8 @@
1
+ module MechanizeStore
2
+ class Order < ActiveRecord::Base
3
+ belongs_to :order_status
4
+ belongs_to :mechanize_store
5
+
6
+ has_one :payment, as: :payable
7
+ end
8
+ end
@@ -0,0 +1,5 @@
1
+ module MechanizeStore
2
+ class OrderStatus < ActiveRecord::Base
3
+ validates :name, presence: true
4
+ end
5
+ end
@@ -0,0 +1,6 @@
1
+ module MechanizeStore
2
+ class Payment < ActiveRecord::Base
3
+ belongs_to :payment_status
4
+ belongs_to :flag
5
+ end
6
+ end
@@ -0,0 +1,4 @@
1
+ module MechanizeStore
2
+ class PaymentStatus < ActiveRecord::Base
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module MechanizeStore
2
+ class PaymentType < ActiveRecord::Base
3
+ end
4
+ end
@@ -0,0 +1,5 @@
1
+ module MechanizeStore
2
+ class Product < ActiveRecord::Base
3
+ belongs_to :product_category
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ module MechanizeStore
2
+ class ProductCategory < ActiveRecord::Base
3
+ belongs_to :product_category
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ module MechanizeStore
2
+ class ProductPhoto < ActiveRecord::Base
3
+ belongs_to :product
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ module MechanizeStore
2
+ class Store < ActiveRecord::Base
3
+
4
+ end
5
+ end
@@ -0,0 +1,93 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <%= csrf_meta_tags %>
5
+ <meta charset="utf-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <title>
8
+ Dummy
9
+ </title>
10
+ <%= stylesheet_link_tag "mechanize_store/application" %>
11
+
12
+ <%= javascript_include_tag "mechanize_store/application" %>
13
+
14
+ <%= yield :head %>
15
+ </head>
16
+
17
+ <body>
18
+ <div id="wrapper">
19
+ <nav class="navbar navbar-default navbar-static-top" role="navigation" style="margin-bottom: 0">
20
+ <div class="navbar-header">
21
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".sidebar-collapse">
22
+ <span class="sr-only">Toggle navigation</span>
23
+ <span class="icon-bar"></span>
24
+ <span class="icon-bar"></span>
25
+ <span class="icon-bar"></span>
26
+ </button>
27
+ <%= link_to "Dummy App", orders_path, class: "navbar-brand" %>
28
+ </div>
29
+
30
+ <!-- /.navbar-header -->
31
+
32
+ <ul class="nav navbar-top-links navbar-right">
33
+ <!-- /.dropdown -->
34
+ <li class="dropdown">
35
+
36
+ <!-- /.dropdown-user -->
37
+ </li>
38
+ <!-- /.dropdown -->
39
+ </ul>
40
+ <!-- /.navbar-top-links -->
41
+
42
+ </nav>
43
+ <!-- /.navbar-static-top -->
44
+
45
+ <nav class="navbar-static-side" role="navigation">
46
+ <div class="sidebar-collapse">
47
+ <ul class="nav" id="side-menu">
48
+ <li>
49
+ <%= link_to orders_path do %>
50
+ <i class="fa fa-search"></i> <%= t(:order, scope: "activerecord.models.mechanize_store").pluralize %>
51
+ <% end -%>
52
+ </li>
53
+ <li>
54
+ <%= link_to products_path do %>
55
+ <i class="fa fa-square"></i> <%= t(:product, scope: "activerecord.models.mechanize_store").pluralize %>
56
+ <% end -%>
57
+ </li>
58
+ </ul>
59
+ <!-- /#side-menu -->
60
+ </div>
61
+ <!-- /.sidebar-collapse -->
62
+ </nav>
63
+ <!-- /.navbar-static-side -->
64
+
65
+ <div id="page-wrapper">
66
+ <br/>
67
+ <div class="row">
68
+ <div class="col-lg-12">
69
+ <%= render partial: "shared/flashes" %>
70
+
71
+ <ul class="nav nav-pills pull-right">
72
+ <%= yield :right %>
73
+ </ul>
74
+
75
+ <div class="page-header">
76
+ <h1>
77
+ <%= yield :title %> <% if content_for?(:subtitle) %> <small><%= yield :subtitle %></small> <% end %>
78
+ </h1>
79
+ </div>
80
+
81
+ <%= yield %>
82
+ </div>
83
+ <!-- /.col-lg-12 -->
84
+ </div>
85
+ <!-- /.row -->
86
+ </div>
87
+ <!-- /#page-wrapper -->
88
+
89
+ </div>
90
+ <!-- /#wrapper -->
91
+ </body>
92
+
93
+ </html>