integratedscaffold 1.0.4

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 (86) hide show
  1. data/Gemfile +6 -0
  2. data/Manifest +85 -0
  3. data/README +1 -0
  4. data/README.rdoc +1 -0
  5. data/Rakefile +14 -0
  6. data/integratedscaffold.gemspec +38 -0
  7. data/lib/integratedscaffold.rb +289 -0
  8. data/lib/templates/actions/create.rb +8 -0
  9. data/lib/templates/actions/destroy.rb +5 -0
  10. data/lib/templates/actions/edit.rb +4 -0
  11. data/lib/templates/actions/index.rb +5 -0
  12. data/lib/templates/actions/new.rb +4 -0
  13. data/lib/templates/actions/parse_save_from_excel.rb +45 -0
  14. data/lib/templates/actions/show.rb +5 -0
  15. data/lib/templates/actions/update.rb +8 -0
  16. data/lib/templates/assets/images/background.jpg +0 -0
  17. data/lib/templates/assets/images/download.png +0 -0
  18. data/lib/templates/assets/images/inner_texture.jpeg +0 -0
  19. data/lib/templates/assets/images/logo.png +0 -0
  20. data/lib/templates/assets/images/new.png +0 -0
  21. data/lib/templates/assets/images/upload.png +0 -0
  22. data/lib/templates/assets/images/welcome_icon_1.png +0 -0
  23. data/lib/templates/assets/images/welcome_icon_2.png +0 -0
  24. data/lib/templates/assets/images/welcome_icon_3.png +0 -0
  25. data/lib/templates/assets/images/welcome_icon_4.png +0 -0
  26. data/lib/templates/assets/images/welcome_image.png +0 -0
  27. data/lib/templates/assets/javascripts/exclusions/fiddletabs.js +233 -0
  28. data/lib/templates/assets/javascripts/exclusions/jquery.mousewheel.min.js +12 -0
  29. data/lib/templates/assets/javascripts/exclusions/jquery.pageslide.js +202 -0
  30. data/lib/templates/assets/javascripts/jquery.dataTables.min.js +2475 -0
  31. data/lib/templates/assets/stylesheets/base_classes.css.scss +107 -0
  32. data/lib/templates/assets/stylesheets/exclusions/fiddletabs.css +77 -0
  33. data/lib/templates/assets/stylesheets/exclusions/images/Sorting icons.psd +0 -0
  34. data/lib/templates/assets/stylesheets/exclusions/images/back_disabled.jpg +0 -0
  35. data/lib/templates/assets/stylesheets/exclusions/images/back_enabled.jpg +0 -0
  36. data/lib/templates/assets/stylesheets/exclusions/images/favicon.ico +0 -0
  37. data/lib/templates/assets/stylesheets/exclusions/images/forward_disabled.jpg +0 -0
  38. data/lib/templates/assets/stylesheets/exclusions/images/forward_enabled.jpg +0 -0
  39. data/lib/templates/assets/stylesheets/exclusions/images/sort_asc.png +0 -0
  40. data/lib/templates/assets/stylesheets/exclusions/images/sort_asc_disabled.png +0 -0
  41. data/lib/templates/assets/stylesheets/exclusions/images/sort_both.png +0 -0
  42. data/lib/templates/assets/stylesheets/exclusions/images/sort_desc.png +0 -0
  43. data/lib/templates/assets/stylesheets/exclusions/images/sort_desc_disabled.png +0 -0
  44. data/lib/templates/assets/stylesheets/exclusions/jquery_data_table.css +513 -0
  45. data/lib/templates/assets/stylesheets/images/Sorting icons.psd +0 -0
  46. data/lib/templates/assets/stylesheets/images/back_disabled.jpg +0 -0
  47. data/lib/templates/assets/stylesheets/images/back_enabled.jpg +0 -0
  48. data/lib/templates/assets/stylesheets/images/favicon.ico +0 -0
  49. data/lib/templates/assets/stylesheets/images/forward_disabled.jpg +0 -0
  50. data/lib/templates/assets/stylesheets/images/forward_enabled.jpg +0 -0
  51. data/lib/templates/assets/stylesheets/images/sort_asc.png +0 -0
  52. data/lib/templates/assets/stylesheets/images/sort_asc_disabled.png +0 -0
  53. data/lib/templates/assets/stylesheets/images/sort_both.png +0 -0
  54. data/lib/templates/assets/stylesheets/images/sort_desc.png +0 -0
  55. data/lib/templates/assets/stylesheets/images/sort_desc_disabled.png +0 -0
  56. data/lib/templates/assets/stylesheets/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  57. data/lib/templates/assets/stylesheets/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  58. data/lib/templates/assets/stylesheets/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  59. data/lib/templates/assets/stylesheets/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  60. data/lib/templates/assets/stylesheets/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  61. data/lib/templates/assets/stylesheets/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  62. data/lib/templates/assets/stylesheets/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  63. data/lib/templates/assets/stylesheets/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  64. data/lib/templates/assets/stylesheets/images/ui-icons_222222_256x240.png +0 -0
  65. data/lib/templates/assets/stylesheets/images/ui-icons_2e83ff_256x240.png +0 -0
  66. data/lib/templates/assets/stylesheets/images/ui-icons_454545_256x240.png +0 -0
  67. data/lib/templates/assets/stylesheets/images/ui-icons_888888_256x240.png +0 -0
  68. data/lib/templates/assets/stylesheets/images/ui-icons_cd0a0a_256x240.png +0 -0
  69. data/lib/templates/assets/stylesheets/information_page.css.scss +3 -0
  70. data/lib/templates/assets/stylesheets/jquery_data_table.css +513 -0
  71. data/lib/templates/controller.rb +4 -0
  72. data/lib/templates/file_uploader.rb +48 -0
  73. data/lib/templates/helper.rb +2 -0
  74. data/lib/templates/layouts/application.html.erb +69 -0
  75. data/lib/templates/layouts/dummy_data.html.erb +80 -0
  76. data/lib/templates/layouts/information_page.html.erb +81 -0
  77. data/lib/templates/layouts/pageslide_form_at.html.erb +2 -0
  78. data/lib/templates/layouts/welcome.html.erb +71 -0
  79. data/lib/templates/migration.rb +18 -0
  80. data/lib/templates/model.rb +7 -0
  81. data/lib/templates/views/erb/_form.html.erb +32 -0
  82. data/lib/templates/views/erb/edit.html.erb +11 -0
  83. data/lib/templates/views/erb/index.html.erb +216 -0
  84. data/lib/templates/views/erb/new.html.erb +11 -0
  85. data/lib/templates/views/erb/show.html.erb +0 -0
  86. metadata +271 -0
@@ -0,0 +1,4 @@
1
+ class <%= plural_name.camelize %>Controller < ApplicationController
2
+ layout 'scaffold'
3
+ <%= controller_methods :actions %>
4
+ end
@@ -0,0 +1,48 @@
1
+ # encoding: utf-8
2
+
3
+ class FileUploader < CarrierWave::Uploader::Base
4
+
5
+ # Include RMagick or MiniMagick support:
6
+ # include CarrierWave::RMagick
7
+ include CarrierWave::MiniMagick
8
+
9
+ # Choose what kind of storage to use for this uploader:
10
+ storage :file
11
+ # storage :fog
12
+
13
+ # Override the directory where uploaded files will be stored.
14
+ # This is a sensible default for uploaders that are meant to be mounted:
15
+ def store_dir
16
+ "#{::Rails.root.to_s}/public/excel_uploaded_files/"
17
+ end
18
+
19
+ # Provide a default URL as a default if there hasn't been a file uploaded:
20
+ # def default_url
21
+ # "/images/fallback/" + [version_name, "default.png"].compact.join('_')
22
+ # end
23
+
24
+ # Process files as they are uploaded:
25
+ # process :scale => [200, 300]
26
+ #
27
+ # def scale(width, height)
28
+ # # do something
29
+ # end
30
+
31
+ # Create different versions of your uploaded files:
32
+ # version :thumb do
33
+ # process :scale => [50, 50]
34
+ # end
35
+
36
+ # Add a white list of extensions which are allowed to be uploaded.
37
+ # For images you might use something like this:
38
+ def extension_white_list
39
+ [:xls]
40
+ end
41
+
42
+ # Override the filename of the uploaded files:
43
+ # Avoid using model.id or version_name here, see uploader/store.rb for details.
44
+ # def filename
45
+ # "something.jpg" if original_filename
46
+ # end
47
+
48
+ end
@@ -0,0 +1,2 @@
1
+ module <%= plural_name.camelize %>Helper
2
+ end
@@ -0,0 +1,69 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>BrandName</title>
5
+ <%%= stylesheet_link_tag "application" %>
6
+ <%%= javascript_include_tag "application" %>
7
+ <%%= csrf_meta_tags %>
8
+ <script type="text/javascript">
9
+ $(function() {
10
+ $('a.activate_pageslide').pageslide({direction:"left"});
11
+ });
12
+ </script>
13
+ <%%= yield(:head) %>
14
+ </head>
15
+ <body>
16
+ <div id="wrapper">
17
+ <div class="topbar" style="z-index: 999999999">
18
+ <div class="fill">
19
+ <div class="container">
20
+ <a class="brand" href="/">BrandName</a>
21
+ <ul class="nav">
22
+ <!--<li><a href="#about" style="color:white;">About</a></li>-->
23
+ <!--<li><a href="#contact" style="color:white;">Contact</a></li>-->
24
+ </ul>
25
+
26
+ <%% if !user_signed_in? %>
27
+ <%%= form_for(resource, :as => resource_name, :url => session_path(resource_name), :html => {:class => "pull-right"}) do |f| %>
28
+ <%%= f.text_field :username, :class=>"input-small", :placeholder=>"Username" %>
29
+ <%%= f.password_field :password, :class=>"input-small", :placeholder=>"Password" %>
30
+ <%%= f.submit "Sign In", :class=>"primary btn" %>
31
+ <%% end %>
32
+ <%% else %>
33
+ <div class="pull-right" style="margin-top: 10px;color:white;">
34
+ <%%= current_user.username %>
35
+ <span class="nav_link">
36
+ | <%%= link_to "Sign out", destroy_user_session_path, :method => :delete, :style=>"color:white;" %>
37
+ </span>
38
+ </div>
39
+ <%% end %>
40
+ </div>
41
+ </div>
42
+ </div>
43
+ <div class="container">
44
+
45
+ <div class="content">
46
+ <%%= js extend_gritter :position => :bottom_right %>
47
+ <%%= js add_gritter(flash[:notice], :image => :success, :title => "Notice", :sticky => false, :time => 2000) %>
48
+ <%%= js add_gritter(flash[:alert], :image => :warning, :title => "Alert!", :sticky => false, :time => 2000) %>
49
+ <%%= yield %>
50
+ </div>
51
+
52
+ <%% if request.fullpath=="/" %>
53
+
54
+ <footer>
55
+ <p>A <a href="http://www.ptotem.com">Ptotem Learning Projects</a> Initiative 2011</p>
56
+ </footer>
57
+
58
+ <%% end %>
59
+ </div>
60
+ </div>
61
+
62
+ <%%= javascript_include_tag "/assets/exclusions/jquery.pageslide" %>
63
+
64
+
65
+ </body>
66
+ </html>
67
+
68
+
69
+
@@ -0,0 +1,80 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>BrandName</title>
5
+ <%%= stylesheet_link_tag "application" %>
6
+ <%%= javascript_include_tag "application" %>
7
+ <%%= csrf_meta_tags %>
8
+ <script type="text/javascript">
9
+ $(function() {
10
+ $('a.activate_pageslide').pageslide({direction:"left"});
11
+ });
12
+ </script>
13
+ <%%= yield(:head) %>
14
+ <style>
15
+ table td {
16
+ border: none;
17
+ }
18
+
19
+ table tr {
20
+ border: none;
21
+ }
22
+ </style>
23
+ </head>
24
+ <body>
25
+ <div id="wrapper">
26
+ <div class="topbar" style="z-index: 999999999">
27
+ <div class="fill">
28
+ <div class="container">
29
+ <a class="brand" href="/">BrandName</a>
30
+ <ul class="nav">
31
+ <!--<li><a href="#about" style="color:white;">About</a></li>-->
32
+ <!--<li><a href="#contact" style="color:white;">Contact</a></li>-->
33
+ </ul>
34
+
35
+ <%% if !user_signed_in? %>
36
+ <%%= form_for(resource, :as => resource_name, :url => session_path(resource_name), :html => {:class => "pull-right"}) do |f| %>
37
+ <%%= f.text_field :username, :class=>"input-small", :placeholder=>"Username" %>
38
+ <%%= f.password_field :password, :class=>"input-small", :placeholder=>"Password" %>
39
+ <%%= f.submit "Sign In", :class=>"primary btn" %>
40
+ <%% end %>
41
+ <%% else %>
42
+ <div class="pull-right" style="margin-top: 10px;color:white;">
43
+ <%%= current_user.username %>
44
+ <span class="nav_link">
45
+ | <%%= link_to "Sign out", destroy_user_session_path, :method => :delete, :style=>"color:white;" %>
46
+ </span>
47
+ </div>
48
+ <%% end %>
49
+ </div>
50
+ </div>
51
+ </div>
52
+ <div class="container">
53
+
54
+ <div class="page-header" style="height:100px"></div>
55
+ <div style="position:absolute;margin-top: -110px;" class="span16">
56
+ <%%= yield(:page_header) %>
57
+ </div>
58
+
59
+ <div class="content">
60
+ <%%= js extend_gritter :position => :bottom_right %>
61
+ <%%= js add_gritter(flash[:notice], :image => :success, :title => "Notice", :sticky => false, :time => 2000) %>
62
+ <%%= js add_gritter(flash[:alert], :image => :warning, :title => "Alert!", :sticky => false, :time => 2000) %>
63
+ <%%= yield %>
64
+ </div>
65
+
66
+ <%% if request.fullpath=="/" %>
67
+
68
+ <footer>
69
+ <p>A <a href="http://www.ptotem.com">Ptotem Learning Projects</a> Initiative 2011</p>
70
+ </footer>
71
+
72
+ <%% end %>
73
+ </div>
74
+ </div>
75
+
76
+ <%%= javascript_include_tag "/assets/exclusions/jquery.pageslide" %>
77
+
78
+
79
+ </body>
80
+ </html>
@@ -0,0 +1,81 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>BrandName</title>
5
+ <%%= stylesheet_link_tag "application" %>
6
+ <%%= javascript_include_tag "application" %>
7
+ <script src='http://www.google.com/jsapi'></script>
8
+ <%%= csrf_meta_tags %>
9
+ <script type="text/javascript">
10
+ $(function() {
11
+ $('a.activate_pageslide').pageslide({direction:"left"});
12
+ });
13
+ </script>
14
+ <%%= yield(:head) %>
15
+ <style>
16
+ table td {
17
+ border: none;
18
+ }
19
+
20
+ table tr {
21
+ border: none;
22
+ }
23
+ </style>
24
+ </head>
25
+ <body>
26
+ <div id="wrapper">
27
+ <div class="topbar" style="z-index: 999999999">
28
+ <div class="fill">
29
+ <div class="container">
30
+ <a class="brand" href="/">BrandName</a>
31
+ <ul class="nav">
32
+ <!--<li><a href="#about" style="color:white;">About</a></li>-->
33
+ <!--<li><a href="#contact" style="color:white;">Contact</a></li>-->
34
+ </ul>
35
+
36
+ <%% if !user_signed_in? %>
37
+ <%%= form_for(resource, :as => resource_name, :url => session_path(resource_name), :html => {:class => "pull-right"}) do |f| %>
38
+ <%%= f.text_field :username, :class=>"input-small", :placeholder=>"Username" %>
39
+ <%%= f.password_field :password, :class=>"input-small", :placeholder=>"Password" %>
40
+ <%%= f.submit "Sign In", :class=>"primary btn" %>
41
+ <%% end %>
42
+ <%% else %>
43
+ <div class="pull-right" style="margin-top: 10px;color:white;">
44
+ <%%= current_user.username %>
45
+ <span class="nav_link">
46
+ | <%%= link_to "Sign out", destroy_user_session_path, :method => :delete, :style=>"color:white;" %>
47
+ </span>
48
+ </div>
49
+ <%% end %>
50
+ </div>
51
+ </div>
52
+ </div>
53
+ <div class="container">
54
+
55
+ <div class="page-header" style="height:100px"></div>
56
+ <div style="position:absolute;margin-top: -110px;" class="span16">
57
+ <%%= yield(:page_header) %>
58
+ </div>
59
+
60
+ <div class="content">
61
+ <%%= js extend_gritter :position => :bottom_right %>
62
+ <%%= js add_gritter(flash[:notice], :image => :success, :title => "Notice", :sticky => false, :time => 2000) %>
63
+ <%%= js add_gritter(flash[:alert], :image => :warning, :title => "Alert!", :sticky => false, :time => 2000) %>
64
+ <%%= yield %>
65
+ </div>
66
+
67
+ <%% if request.fullpath=="/" %>
68
+
69
+ <footer>
70
+ <p>A <a href="http://www.ptotem.com">Ptotem Learning Projects</a> Initiative 2011</p>
71
+ </footer>
72
+
73
+ <%% end %>
74
+ </div>
75
+ </div>
76
+
77
+ <%%= javascript_include_tag "/assets/exclusions/jquery.pageslide" %>
78
+
79
+
80
+ </body>
81
+ </html>
@@ -0,0 +1,2 @@
1
+ <%%= yield %>
2
+ <%%= js add_gritter("Click in the main screen to close the panel", :image => :warning, :title => "FYI", :sticky => false, :time => 4000) %>
@@ -0,0 +1,71 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>BrandName</title>
5
+ <%%= stylesheet_link_tag "application" %>
6
+ <%%= javascript_include_tag "application" %>
7
+ <%%= csrf_meta_tags %>
8
+ <script type="text/javascript">
9
+ $(function() {
10
+ $('a.activate_pageslide').pageslide({direction:"left"});
11
+ });
12
+ </script>
13
+ <%%= yield(:head) %>
14
+ </head>
15
+ <body>
16
+ <div id="wrapper">
17
+ <div class="topbar" style="z-index: 999999999">
18
+ <div class="fill">
19
+ <div class="container">
20
+ <a class="brand" href="/">BrandName</a>
21
+ <ul class="nav">
22
+ <!--<li><a href="#about" style="color:white;">About</a></li>-->
23
+ <!--<li><a href="#contact" style="color:white;">Contact</a></li>-->
24
+ </ul>
25
+
26
+ <%% if !user_signed_in? %>
27
+ <%%= form_for(resource, :as => resource_name, :url => session_path(resource_name), :html => {:class => "pull-right"}) do |f| %>
28
+ <%%= f.text_field :username, :class=>"input-small", :placeholder=>"Username" %>
29
+ <%%= f.password_field :password, :class=>"input-small", :placeholder=>"Password" %>
30
+ <%%= f.submit "Sign In", :class=>"primary btn" %>
31
+ <%% end %>
32
+ <%% else %>
33
+ <div class="pull-right" style="margin-top: 10px;color:white;">
34
+ <%%= current_user.username %>
35
+ <span class="nav_link">
36
+ | <%%= link_to "Sign out", destroy_user_session_path, :method => :delete, :style=>"color:white;" %>
37
+ </span>
38
+ </div>
39
+ <%% end %>
40
+ </div>
41
+ </div>
42
+ </div>
43
+ <div class="container">
44
+
45
+ <div class="page-header" style="height:100px"></div>
46
+ <div style="position:absolute;margin-top: -120px">
47
+ <h1><%%= yield(:page_header) %></h1>
48
+ </div>
49
+
50
+ <div class="content">
51
+ <%%= js extend_gritter :position => :bottom_right %>
52
+ <%%= js add_gritter(flash[:notice], :image => :success, :title => "Notice", :sticky => false, :time => 2000) %>
53
+ <%%= js add_gritter(flash[:alert], :image => :warning, :title => "Alert!", :sticky => false, :time => 2000) %>
54
+ <%%= yield %>
55
+ </div>
56
+
57
+ <%% if request.fullpath=="/" %>
58
+
59
+ <footer>
60
+ <p>A <a href="http://www.ptotem.com">Ptotem Learning Projects</a> Initiative 2011</p>
61
+ </footer>
62
+
63
+ <%% end %>
64
+ </div>
65
+ </div>
66
+
67
+ <%%= javascript_include_tag "/assets/exclusions/jquery.pageslide" %>
68
+
69
+
70
+ </body>
71
+ </html>
@@ -0,0 +1,18 @@
1
+ class Create<%= class_name.pluralize.delete('::') %> < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :<%= table_name || plural_name.split('/').last %> do |t|
4
+ <%- for attribute in model_attributes -%>
5
+ t.<%= attribute.type %> :<%= attribute.name %>
6
+ <%- end -%>
7
+ <%- unless options[:skip_timestamps] -%>
8
+ t.timestamps
9
+ <%- end -%>
10
+ end
11
+ end
12
+
13
+ def self.down
14
+ drop_table :<%= table_name || plural_name.split('/').last %>
15
+ end
16
+ end
17
+
18
+
@@ -0,0 +1,7 @@
1
+ class <%= class_name %> < ActiveRecord::Base
2
+ <%= " set_table_name :#{table_name}\n" if table_name -%>
3
+ attr_accessible <%= model_attributes.map { |a| ":#{a.name}" }.join(", ") %>
4
+ <% model_attributes.each do |attribute| %>
5
+ validates_presence_of :<%= attribute.name %>
6
+ <% end %>
7
+ end
@@ -0,0 +1,32 @@
1
+ <%%= form_for <%= item_path :instance_variable => true %> do |f| %>
2
+
3
+
4
+ <%% if @<%= instance_name %>.errors.any? %>
5
+ <div id="error_explanation">
6
+ <h2><%%= pluralize(@<%= instance_name %>.errors.count, "error") %> prohibited this <%= instance_name %>from being saved:</h2>
7
+
8
+ <ul>
9
+ <%% @<%= instance_name %>.errors.full_messages.each do |msg| %>
10
+ <li><%%= msg %></li>
11
+ <%% end %>
12
+ </ul>
13
+ </div>
14
+ <%% end %>
15
+
16
+
17
+
18
+ <table class="condensed-table">
19
+ <%- for attribute in model_attributes -%>
20
+ <tr>
21
+ <td><%%= f.label :<%= attribute.name %> %></td>
22
+ <td><%%= f.<%= attribute.field_type %> :<%= attribute.name %> %></td>
23
+ </tr>
24
+
25
+ <%- end -%>
26
+ </table>
27
+ <br>
28
+ <br>
29
+
30
+ <%%= f.submit "Submit" ,:style=>"margin:auto",:class=>"btn primary large"%>
31
+
32
+ <%% end %>
@@ -0,0 +1,11 @@
1
+ <br/>
2
+ <br/>
3
+ <br/>
4
+ <div class="pageslide_header">
5
+ <h1 style="color:white;">Edit<br/> <%= singular_name.titleize %></h1>
6
+ </div>
7
+ <br/>
8
+ <br/>
9
+ <div style="text-align: center;">
10
+ <%%= render 'form' %>
11
+ </div>
@@ -0,0 +1,216 @@
1
+ <%%= content_for :head do %>
2
+ <%%= stylesheet_link_tag "/assets/exclusions/jquery_data_table" %>
3
+
4
+ <%# TODO: Move Script and CSS to unobtrusive files %>
5
+ <script type="text/javascript">
6
+ $(function() {
7
+ $('#example').dataTable({
8
+ "bJQueryUI": true,
9
+ "sPaginationType": "full_numbers"
10
+ });
11
+
12
+
13
+ })
14
+ </script>
15
+ <style>
16
+
17
+ tr.odd {
18
+ background-color: #e3f5ac;
19
+ }
20
+
21
+ tr.odd td.sorting_1 {
22
+ background-color: #d7e99f;
23
+ }
24
+
25
+ tr.even {
26
+ background-color: #ffffff;
27
+ }
28
+
29
+ tr.even td.sorting_1 {
30
+ background-color: #f2f2f2;
31
+ }
32
+
33
+ td.options {
34
+ width: 100px;
35
+ background: olive;
36
+ }
37
+
38
+ td.options a {
39
+ color: white;
40
+ }
41
+
42
+ </style>
43
+ <%% end %>
44
+
45
+ <%%= content_for :page_header do %>
46
+ <div class="pull-left" style="border: none;"><%%= image_tag('logo.png') %></div>
47
+ <%% end %>
48
+
49
+ <div class="row">
50
+
51
+ <div class="span4" style="text-align: center">
52
+ <div class="pageslide_header">
53
+ <h1 style="color:white">"<%= plural_name.titleize %>"</h1>
54
+ </div>
55
+ <br/>
56
+ <br/>
57
+ <table>
58
+ <tr>
59
+ <td>
60
+ <a href="#" data-controls-modal="new_form" data-backdrop="static">
61
+ <%%= image_tag('new.png', :size=>"32x32") %>
62
+ </a>
63
+ </td>
64
+ <td>
65
+ <a href="#" data-controls-modal="new_form" data-backdrop="static">
66
+ <h2>Create New</h2>
67
+ </a>
68
+
69
+ <div id="new_form" class="modal hide fade">
70
+ <div class="modal-header">
71
+ <a href="#" class="close"> &times; </a>
72
+
73
+ <h3>Create new record</h3>
74
+ </div>
75
+
76
+ <%%= form_for @<%= instance_name %> do |f| %>
77
+
78
+
79
+ <%% if @<%= instance_name %>.errors.any? %>
80
+ <div id="error_explanation">
81
+ <h2><%%= pluralize(@<%=instance_name %>.errors.count, "error") %> prohibited this <%= instance_name %> from being
82
+ saved:</h2>
83
+
84
+ <ul>
85
+ <%% <%= instance_name %>.errors.full_messages.each do |msg| %>
86
+ <li><%%= msg %></li>
87
+ <%% end %>
88
+ </ul>
89
+ </div>
90
+ <%% end %>
91
+ <table class="condensed-table">
92
+ <%- for attribute in model_attributes -%>
93
+ <tr>
94
+ <td><%%= f.label :<%= attribute.name %> %></td>
95
+ <td><%%= f.<%= attribute.field_type %> :<%= attribute.name %> %></td>
96
+ </tr>
97
+
98
+ <%- end -%>
99
+ </table>
100
+ <br>
101
+ <br>
102
+
103
+
104
+ <div class="modal-footer">
105
+ <%%= f.submit "Submit", :style=>"margin:auto", :class=>"btn primary large" %>
106
+ </div>
107
+ </div>
108
+
109
+ <%% end %>
110
+ </td>
111
+ </tr>
112
+ <tr>
113
+ <td>
114
+ <a href="#" data-controls-modal="upload_form" data-backdrop="static">
115
+ <%%= image_tag('upload.png', :size=>"32x32") %>
116
+ </a>
117
+ </td>
118
+ <td>
119
+ <a href="#" data-controls-modal="upload_form" data-backdrop="static">
120
+ <h2>Upload</h2>
121
+ </a>
122
+
123
+ <div id="upload_form" class="modal hide fade">
124
+ <div class="modal-header">
125
+ <a href="#" class="close"> &times; </a>
126
+
127
+ <h3>Upload Excel File</h3>
128
+ </div>
129
+ <%%= form_tag('/<%= instance_name %>/parse_save_from_excel', :multipart => true) do |f| %>
130
+ <div class="modal-body">
131
+ Select an Excel File :
132
+ <%%= file_field_tag :excel_file %>
133
+ </div>
134
+
135
+ <div class="modal-footer">
136
+ <%%= submit_tag 'Submit', :class=>"large btn primary pull-left" %>
137
+ </div>
138
+ <%% end -%>
139
+
140
+ </div>
141
+
142
+
143
+ </td>
144
+ </tr>
145
+ <tr>
146
+ <td>
147
+ <a href="<%%=<%= item_path :action => :new %> %>" class="add_new span3">
148
+ <%%= image_tag('download.png', :size=>"32x32") %>
149
+ </a>
150
+ </td>
151
+ <td>
152
+ <a href=" <%%=<%= item_path :action => :new %> %>" class="add_new span3">
153
+ <h2>Download</h2>
154
+ </a>
155
+ </td>
156
+ </tr>
157
+
158
+ </table>
159
+
160
+ </div>
161
+
162
+ <div class="span12">
163
+ <table class="jqueried_table display" cellpadding="0" cellspacing="0" border="0" id="example">
164
+ <thead>
165
+ <tr>
166
+ <%- for attribute in @model_attributes -%>
167
+ <th><%= attribute.human_name.titleize %></th>
168
+ <%- end -%>
169
+ <th>Manage</th>
170
+ </tr>
171
+ </thead>
172
+ <tbody>
173
+ <%% @<%= instances_name %>.each do |<%= instance_name %>| %>
174
+ <tr>
175
+ <%- for attribute in @model_attributes -%>
176
+ <td style="border-right: 1px solid #d3d3d3">
177
+ <a href="#" data-controls-modal="show_details" data-backdrop="static"><%%= <%= instance_name %>
178
+ .<%= attribute.name %> %></a>
179
+ </td>
180
+ <%- end %>
181
+
182
+ <td class="options">
183
+ <%%= link_to "Edit", <%= item_path :action => :edit %> %> |
184
+ <%%= link_to "Destroy", <%= item_path %>, :confirm => 'Are you sure?', :method => :delete %>
185
+ </td>
186
+ </tr>
187
+
188
+
189
+ <div id="show_details" class="modal hide fade">
190
+ <div class="modal-header">
191
+ <a href="#" class="close"> &times; </a>
192
+
193
+ <h3><%%= "<%= singular_name.titleize %>" %></h3>
194
+ </div>
195
+ <div class="modal-body">
196
+ <%- for attribute in model_attributes -%>
197
+ <p>
198
+ <strong><%= attribute.human_name.titleize %>:</strong>
199
+ <%%= <%= instance_name %>.<%= attribute.name %> %>
200
+ </p>
201
+
202
+ <%- end -%>
203
+ </div>
204
+
205
+ <div class="modal-footer">
206
+ <a href="#" class="close"> Back </a>
207
+ </div>
208
+ </div>
209
+ <%%- end -%>
210
+ </tbody>
211
+ </table>
212
+
213
+ </div>
214
+
215
+ </div>
216
+ <br/>