caseadilla 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +18 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +33 -0
  6. data/Rakefile +1 -0
  7. data/app/assets/fonts/caseadilla/glyphicons-halflings-regular.eot +0 -0
  8. data/app/assets/fonts/caseadilla/glyphicons-halflings-regular.svg +229 -0
  9. data/app/assets/fonts/caseadilla/glyphicons-halflings-regular.ttf +0 -0
  10. data/app/assets/fonts/caseadilla/glyphicons-halflings-regular.woff +0 -0
  11. data/app/assets/images/caseadilla/caseadilla.png +0 -0
  12. data/app/assets/javascripts/caseadilla/bootstrap.js +2114 -0
  13. data/app/assets/javascripts/caseadilla/bootstrap3-wysihtml5.js +521 -0
  14. data/app/assets/javascripts/caseadilla/caseadilla.js +51 -0
  15. data/app/assets/javascripts/caseadilla/html5shiv.js +8 -0
  16. data/app/assets/javascripts/caseadilla/wysihtml5-0.3.0.min.js +261 -0
  17. data/app/assets/stylesheets/caseadilla/bootstrap-glyphicons.css.scss +2 -0
  18. data/app/assets/stylesheets/caseadilla/bootstrap-theme.css +442 -0
  19. data/app/assets/stylesheets/caseadilla/bootstrap-wysihtml5.css +102 -0
  20. data/app/assets/stylesheets/caseadilla/bootstrap.css +6203 -0
  21. data/app/assets/stylesheets/caseadilla/caseadilla-bootstrap-overrides.css.scss +80 -0
  22. data/app/assets/stylesheets/caseadilla/caseadilla.scss +270 -0
  23. data/app/assets/stylesheets/caseadilla/login.css.scss +81 -0
  24. data/app/controllers/caseadilla/caseadilla_controller.rb +57 -0
  25. data/app/controllers/caseadilla/caseadilla_user_sessions_controller.rb +36 -0
  26. data/app/controllers/caseadilla/password_resets_controller.rb +64 -0
  27. data/app/controllers/caseadilla/roles_controller.rb +65 -0
  28. data/app/controllers/caseadilla/users_controller.rb +118 -0
  29. data/app/helpers/caseadilla/caseadilla_helper.rb +262 -0
  30. data/app/mailers/caseadilla/caseadilla_notification.rb +39 -0
  31. data/app/views/caseadilla/caseadilla/blank.html.erb +12 -0
  32. data/app/views/caseadilla/caseadilla_notification/generate_new_password.erb +12 -0
  33. data/app/views/caseadilla/caseadilla_notification/new_user_information.erb +12 -0
  34. data/app/views/caseadilla/caseadilla_notification/password_reset_instructions.erb +11 -0
  35. data/app/views/caseadilla/caseadilla_user_sessions/new.html.erb +39 -0
  36. data/app/views/caseadilla/roles/_form.html.erb +11 -0
  37. data/app/views/caseadilla/roles/_table.html.erb +28 -0
  38. data/app/views/caseadilla/roles/index.html.erb +15 -0
  39. data/app/views/caseadilla/roles/new.html.erb +18 -0
  40. data/app/views/caseadilla/roles/show.html.erb +18 -0
  41. data/app/views/caseadilla/users/index.html.erb +37 -0
  42. data/app/views/caseadilla/users/new.html.erb +50 -0
  43. data/app/views/caseadilla/users/show.html.erb +39 -0
  44. data/app/views/layouts/caseadilla_auth.html.erb +36 -0
  45. data/app/views/layouts/caseadilla_main.html.erb +119 -0
  46. data/caseadilla.gemspec +49 -0
  47. data/config/initializers/will_paginate.rb +40 -0
  48. data/config/routes.rb +23 -0
  49. data/lib/caseadilla.rb +14 -0
  50. data/lib/caseadilla/engine.rb +35 -0
  51. data/lib/caseadilla/version.rb +3 -0
  52. data/lib/generators/caseadilla/install/install_generator.rb +154 -0
  53. data/lib/generators/caseadilla/install/templates/app/assets/javascripts/caseadilla/custom.js +2 -0
  54. data/lib/generators/caseadilla/install/templates/app/assets/stylesheets/caseadilla/custom.css.scss +2 -0
  55. data/lib/generators/caseadilla/install/templates/app/helpers/caseadilla/config_helper.rb +45 -0
  56. data/lib/generators/caseadilla/install/templates/app/models/user.rb +24 -0
  57. data/lib/generators/caseadilla/install/templates/app/views/caseadilla/layouts/_tab_navigation.html.erb +2 -0
  58. data/lib/generators/caseadilla/install/templates/app/views/caseadilla/layouts/_top_navigation.html.erb +4 -0
  59. data/lib/generators/caseadilla/install/templates/public/robots.txt +5 -0
  60. data/lib/generators/caseadilla/install/templates/steak/config/initializers/caseadilla.rb +8 -0
  61. data/lib/generators/caseadilla/install/templates/steak/db/migrate/add_name_to_users.rb +9 -0
  62. data/lib/generators/caseadilla/install/templates/veggie/config/initializers/caseadilla.rb +8 -0
  63. data/lib/generators/caseadilla/scaffold/scaffold_generator.rb +111 -0
  64. data/lib/generators/caseadilla/scaffold/templates/controller.rb +72 -0
  65. data/lib/generators/caseadilla/scaffold/templates/migration.rb +13 -0
  66. data/lib/generators/caseadilla/scaffold/templates/model.rb +3 -0
  67. data/lib/generators/caseadilla/scaffold/templates/views/_form.html.erb +12 -0
  68. data/lib/generators/caseadilla/scaffold/templates/views/_table.html.erb +19 -0
  69. data/lib/generators/caseadilla/scaffold/templates/views/index.html.erb +15 -0
  70. data/lib/generators/caseadilla/scaffold/templates/views/new.html.erb +18 -0
  71. data/lib/generators/caseadilla/scaffold/templates/views/show.html.erb +18 -0
  72. data/lib/railties/tasks.rake +32 -0
  73. metadata +231 -0
@@ -0,0 +1,39 @@
1
+ module Caseadilla
2
+
3
+ class CaseadillaNotification < ActionMailer::Base
4
+
5
+ self.prepend_view_path File.join(File.dirname(__FILE__), '..', 'views', 'caseadilla')
6
+
7
+ def generate_new_password from, caseadilla_admin_user, host, pass
8
+ @name = caseadilla_admin_user.name
9
+ @host = host
10
+ @login = caseadilla_admin_user.login
11
+ @pass = pass
12
+ @from_text = caseadilla_config_website_name
13
+
14
+ mail(:to => caseadilla_admin_user.email, :from => from, :subject => "[#{caseadilla_config_website_name}] New password")
15
+ end
16
+
17
+ def new_user_information from, caseadilla_admin_user, host, pass
18
+ @name = caseadilla_admin_user.name
19
+ @host = host
20
+ @login = caseadilla_admin_user.login
21
+ @pass = pass
22
+ @from_text = caseadilla_config_website_name
23
+
24
+ mail(:to => caseadilla_admin_user.email, :from => from, :subject => "[#{caseadilla_config_website_name}] New user account")
25
+ end
26
+
27
+ def password_reset_instructions from, caseadilla_admin_user, host
28
+ ActionMailer::Base.default_url_options[:host] = host.gsub("http://", "")
29
+ @name = caseadilla_admin_user.name
30
+ @host = host
31
+ @login = caseadilla_admin_user.login
32
+ @reset_password_url = edit_caseadilla_password_reset_url + "/?token=#{caseadilla_admin_user.perishable_token}"
33
+ @from_text = caseadilla_config_website_name
34
+
35
+ mail(:to => caseadilla_admin_user.email, :from => from, :subject => "[#{caseadilla_config_website_name}] Password reset instructions")
36
+ end
37
+
38
+ end
39
+ end
@@ -0,0 +1,12 @@
1
+ <br />
2
+ <br />
3
+ <div class="container">
4
+ <div class="jumbotron" style="text-align: center;">
5
+ <h1>Welcome to Caseadilla</h1>
6
+ <br />
7
+ <p>You&rsquo;re ready to begin scaffolding and customizing!</p>
8
+ <p><small style="font-size: 0.7em;">To remove this screen, set <code>caseadilla_config_dashboard_url</code></small></p>
9
+ <br />
10
+ <p><a href="https://github.com/zeiv/caseadilla/blob/master/README.rdoc" class="btn btn-primary btn-large">View README on GitHub</a></p>
11
+ </div>
12
+ </div>
@@ -0,0 +1,12 @@
1
+ Dear <%= @name %>,<br />
2
+ <br />
3
+ Your password has been reset by an administrator for your account at:<br />
4
+ <br />
5
+ <%= @host %>/caseadilla<br />
6
+ <br />
7
+ Username: <%= @login %><br />
8
+ New password: <%= @pass %><br />
9
+ <br />
10
+ From<br />
11
+ <br />
12
+ <%= @from_text %>
@@ -0,0 +1,12 @@
1
+ Dear <%= @name %>,<br />
2
+ <br />
3
+ A new user account has been created for you at:<br />
4
+ <br />
5
+ <%= @host %>/caseadilla<br />
6
+ <br />
7
+ Username: <%= @login %><br />
8
+ Password: <%= @pass %><br />
9
+ <br />
10
+ From<br />
11
+ <br />
12
+ <%= @from_text %>
@@ -0,0 +1,11 @@
1
+ Dear <%= @name %>,<br />
2
+ <br />
3
+ A request to reset the password for username '<%= @login %>' has been made.<br />
4
+ If you did not make this request, simply ignore this email.<br />
5
+ Otherwise, click the link below to proceed:<br />
6
+ <br />
7
+ <%= @reset_password_url %><br />
8
+ <br />
9
+ From<br />
10
+ <br />
11
+ <%= @from_text %>
@@ -0,0 +1,39 @@
1
+ <%= form_for resource, as: resource_name, url: session_path(resource_name) do |f| %>
2
+
3
+ <% if flash[:warning] %>
4
+ <div id="error" class="alert alert-danger alert-dismissible fade in" role="alert">
5
+ <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">×</span><!-- <span class="sr-only">Close</span> --></button>
6
+ <%= flash[:warning] %>
7
+ </div>
8
+ <% end %>
9
+ <% if flash[:notice] %>
10
+ <div id="notice" class="alert alert-success alert-dismissible fade in" role="alert">
11
+ <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">×</span><!-- <span class="sr-only">Close</span> --></button>
12
+ <%= flash[:notice] %>
13
+ </div>
14
+ <% end %>
15
+
16
+ <div class="form-group">
17
+ <%= f.text_field :email, :placeholder => "Email", :class => "form-control input-large" %>
18
+ </div>
19
+ <div class="form-group">
20
+ <%= f.password_field :password, :placeholder => "Password", :class => "form-control input-large" %>
21
+ </div>
22
+
23
+ <div class="form-group">
24
+ <div class="checkbox-inline">
25
+ <label>
26
+ <%= f.check_box :remember_me %> Remember me
27
+ </label>
28
+ </div>
29
+ </div>
30
+
31
+ <div class="form-group">
32
+ <%= f.submit "Sign in", :class => "btn btn-success btn-large btn-block" %>
33
+ </div>
34
+
35
+ <div class="form-group">
36
+ <%= link_to "Forgot your password?", new_password_path(:user) %>
37
+ </div>
38
+
39
+ <% end %>
@@ -0,0 +1,11 @@
1
+ <!-- Scaffolding generated by Caseadilla 0.0.1 -->
2
+
3
+
4
+ <div class="row">
5
+ <div class="col-lg-6">
6
+ <%= caseadilla_text_field f, f.object, :title %>
7
+ </div>
8
+ <div class="col-lg-6">
9
+
10
+ </div>
11
+ </div>
@@ -0,0 +1,28 @@
1
+ <!-- Scaffolding generated by Caseadilla 0.0.1 -->
2
+
3
+ <table class="table table-striped table-hover table-condensed">
4
+ <thead>
5
+ <tr>
6
+ <th><%= caseadilla_sort_link "Title", :title %></th>
7
+ <th>&nbsp;</th>
8
+ </tr>
9
+ </thead>
10
+
11
+ <% roles.each do |role| %>
12
+ <% if role.title == 'admin' or 'user' %>
13
+ <tr>
14
+ <td><%= caseadilla_table_cell_no_link role.title %></td>
15
+ <td class="locked">
16
+ <%= caseadilla_show_row_icon("lock")%>
17
+ </td>
18
+ </tr>
19
+ <% else %>
20
+ <tr>
21
+ <td><%= caseadilla_table_cell_link role.title, caseadilla_role_path(role) %></td>
22
+ <td class="delete">
23
+ <%= link_to(caseadilla_show_row_icon("trash"), caseadilla_role_path(role), :method => :delete, :data => { :confirm => "Are you sure you want to delete this role?" }) %>
24
+ </td>
25
+ </tr>
26
+ <% end %>
27
+ <% end %>
28
+ </table>
@@ -0,0 +1,15 @@
1
+ <!-- Scaffolding generated by Caseadilla 0.0.1 -->
2
+
3
+ <h2>Roles<%= caseadilla_pagination_details @roles %></h2>
4
+
5
+ <%= render :partial => 'caseadilla/roles/table', :locals => { :roles => @roles } %>
6
+
7
+ <div class="text-center">
8
+ <%= will_paginate @roles %>
9
+ </div>
10
+
11
+ <%= content_for :sidebar do %>
12
+
13
+ <li><%= link_to "#{caseadilla_show_icon "plus-sign"}Add a new role".html_safe, new_caseadilla_role_path %></li>
14
+
15
+ <% end %>
@@ -0,0 +1,18 @@
1
+ <!-- Scaffolding generated by Caseadilla 0.0.1 -->
2
+
3
+ <h2>Add a new role</h2>
4
+
5
+ <%= form_for @role, :url => caseadilla_roles_path do |f| %>
6
+
7
+ <%= render :partial => 'caseadilla/roles/form', :locals => { :f => f } %>
8
+
9
+ <p class="submits">
10
+ <%= link_to 'Cancel', caseadilla_roles_path, :class => 'btn btn-mini btn-danger' %>
11
+ <%= f.submit "Add new role", :class => "btn btn-mini btn-primary" %>
12
+ </p>
13
+
14
+ <% end %>
15
+
16
+ <%= content_for :sidebar do %>
17
+ <li><%= link_to "#{caseadilla_show_icon "th-list"}Back to list".html_safe, caseadilla_roles_path %></li>
18
+ <% end %>
@@ -0,0 +1,18 @@
1
+ <!-- Scaffolding generated by Caseadilla 0.0.1 -->
2
+
3
+ <h2>View role</h2>
4
+
5
+ <%= form_for @role, :url => caseadilla_role_path(@role) do |f| %>
6
+
7
+ <%= render :partial => 'caseadilla/roles/form', :locals => { :f => f } %>
8
+
9
+ <p class="submits">
10
+ <%= link_to 'Cancel', caseadilla_roles_path, :class => 'btn btn-mini btn-danger' %>
11
+ <%= f.submit "Save changes", :class => "btn btn-mini btn-primary" %>
12
+ </p>
13
+
14
+ <% end %>
15
+
16
+ <%= content_for :sidebar do %>
17
+ <li><%= link_to "#{caseadilla_show_icon "th-list"}Back to list".html_safe, caseadilla_roles_path %></li>
18
+ <% end %>
@@ -0,0 +1,37 @@
1
+ <h2>Users<%= caseadilla_pagination_details @users %></h2>
2
+
3
+ <table class="table table-striped table-hover table-condensed">
4
+ <thead>
5
+ <tr>
6
+ <th><%= caseadilla_sort_link 'Email', :email %></th>
7
+ <th><%= caseadilla_sort_link 'Name', :last_name %></th>
8
+ <th>Role</th>
9
+ <th>&nbsp;</th>
10
+ </tr>
11
+ </thead>
12
+
13
+ <% @users.each do |user| %>
14
+ <tr>
15
+ <td><%= caseadilla_table_cell_link user.email, caseadilla_user_path(user) %></td>
16
+ <td><%= caseadilla_table_cell_link user.name, caseadilla_user_path(user) %></td>
17
+ <td><%= caseadilla_table_cell_link user.role_symbols.join(', ').titleize, caseadilla_user_path(user) %></td>
18
+ <td class="delete">
19
+ <% confirm_message = "Are you sure you want to delete #{user.email}?" %>
20
+
21
+ <% if user.id == current_user.id %>
22
+ <% confirm_message += "\n\nWARNING: This is your user account. You will be signed out if you proceed." %>
23
+ <% end %>
24
+
25
+ <%= link_to(caseadilla_show_row_icon("trash"), caseadilla_user_path(user), :method => :delete, :data => { :confirm => confirm_message }) %>
26
+ </td>
27
+ </tr>
28
+ <% end %>
29
+ </table>
30
+
31
+ <div class="text-center">
32
+ <%= will_paginate @users %>
33
+ </div>
34
+
35
+ <%= content_for :sidebar do %>
36
+ <li><%= link_to "#{caseadilla_show_icon('plus-sign')}Add a new user".html_safe, new_caseadilla_user_path %></li>
37
+ <% end %>
@@ -0,0 +1,50 @@
1
+ <h2>Add a new user</h2>
2
+
3
+ <%= form_for @caseadilla_user, url: caseadilla_users_path do |form| %>
4
+
5
+ <div class="row">
6
+ <div class="col-lg-6">
7
+ <%= caseadilla_text_field form, @caseadilla_user, :first_name %>
8
+ </div>
9
+ <div class="col-lg-6">
10
+ <%= caseadilla_text_field form, @caseadilla_user, :last_name %>
11
+ </div>
12
+ </div>
13
+
14
+ <div class="row">
15
+ <div class="col-lg-6">
16
+ <%= caseadilla_text_field form, @caseadilla_user, :email %>
17
+ </div>
18
+ <div class="col-lg-6">
19
+ <%= caseadilla_time_zone_select form, @caseadilla_user, :time_zone, ActiveSupport::TimeZone.us_zones %>
20
+ </div>
21
+ </div>
22
+
23
+ <!-- TODO: User roles -->
24
+
25
+ <div class="row">
26
+ <div class="col-lg-6">
27
+ <%= caseadilla_password_field form, @caseadilla_user, :password, {:caseadilla_label => "Password"} %>
28
+ </div>
29
+ <div class="col-lg-6">
30
+ <%= caseadilla_password_field form, @caseadilla_user, :password_confirmation, {:caseadilla_label => "Repeat password"} %>
31
+ </div>
32
+ <div class="col-lg-12 password-checkbox">
33
+ <div class="checkbox">
34
+ <label>
35
+ <%= check_box_tag :generate_random_password, "1", false, {:id => 'generate-random-password-checkbox'} %> Generate random password
36
+ </label>
37
+ </div>
38
+ </div>
39
+ </div>
40
+
41
+ <p class="submits">
42
+ <%= link_to 'Cancel', caseadilla_users_path, :class => 'btn btn-mini btn-danger' %>
43
+ <%= form.submit "Add new user", :class => "btn btn-mini btn-primary" %>
44
+ </p>
45
+
46
+ <% end %>
47
+
48
+ <%= content_for :sidebar do %>
49
+ <li><%= link_to "#{caseadilla_show_icon('th-list')}Back to list".html_safe, caseadilla_users_path %></li>
50
+ <% end %>
@@ -0,0 +1,39 @@
1
+ <h2>View user</h2>
2
+
3
+ <%= simple_form_for @caseadilla_user, as: resource_name, url: caseadilla_user_path(@caseadilla_user), html:{ method: :put } do |f| %>
4
+
5
+ <div class="row">
6
+ <div class="col-lg-6">
7
+ <%= caseadilla_text_field f, f.object, :first_name, {value: @caseadilla_user.first_name, caseadilla_label: "First name"} %>
8
+ </div>
9
+ <div class="col-lg-6">
10
+ <%= caseadilla_text_field f, f.object, :last_name, {value: @caseadilla_user.last_name, caseadilla_label: "Last name"} %>
11
+ </div>
12
+ </div>
13
+
14
+ <div class="row">
15
+ <div class="col-lg-6">
16
+ <%= caseadilla_text_field f, f.object, :email, {value: @caseadilla_user.email} %>
17
+ </div>
18
+ <div class="col-lg-6">
19
+ <%= caseadilla_time_zone_select f, f.object, :time_zone, ActiveSupport::TimeZone.us_zones, {selected: @caseadilla_user.time_zone} %>
20
+ </div>
21
+ </div>
22
+
23
+ <div class="row">
24
+ <div class="col-lg-6">
25
+ <%= caseadilla_collection_select f, f.object, :role_id, Role.all, :id, :title, {selected: @caseadilla_user.role_id} %>
26
+ </div>
27
+ </div>
28
+
29
+ <p class="submits">
30
+ <%= link_to 'Cancel', caseadilla_users_path, :class => 'btn btn-mini btn-danger' %>
31
+ <%= f.submit "Save changes", :class => "btn btn-mini btn-primary" %>
32
+ </p>
33
+ <% end %>
34
+
35
+ <%= content_for :sidebar do %>
36
+ <% if current_user #.is_admin? %>
37
+ <li><%= link_to "#{caseadilla_show_icon('th-list')}Back to list".html_safe, caseadilla_users_path %></li>
38
+ <% end %>
39
+ <% end %>
@@ -0,0 +1,36 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Welcome to <%= caseadilla_config_website_name %></title>
7
+ <%= stylesheet_link_tag "caseadilla/login" %>
8
+ <%= javascript_include_tag "caseadilla/caseadilla" %>
9
+ <%= csrf_meta_tag %>
10
+
11
+ <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
12
+ <!--[if lt IE 9]>
13
+ <%= javascript_include_tag("caseadilla/html5shiv") %>
14
+ <![endif]-->
15
+
16
+ </head>
17
+
18
+ <body>
19
+ <div class="container-narrow">
20
+ <div class="jumbotron">
21
+ <div class="row brand">
22
+ <%= image_tag(caseadilla_config_logo, :alt => caseadilla_config_website_name) %>
23
+ </div>
24
+ <%= yield %>
25
+ </div>
26
+ <div class="row">
27
+ <div class="col-lg-12">
28
+ <hr />
29
+ <footer>
30
+ <p><%= caseadilla_get_footer_string(false) %></p>
31
+ </footer>
32
+ </div>
33
+ </div>
34
+ </div>
35
+ </body>
36
+ </html>
@@ -0,0 +1,119 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+
7
+ <title><%= caseadilla_generate_page_title %></title>
8
+ <% caseadilla_config_stylesheet_includes.each do |stylesheet| %>
9
+ <%= stylesheet_link_tag(stylesheet) %>
10
+ <% end %>
11
+
12
+ <% caseadilla_config_javascript_includes.each do |javascript| %>
13
+ <%= javascript_include_tag(javascript) %>
14
+ <% end %>
15
+
16
+ <%= csrf_meta_tag %>
17
+
18
+ <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
19
+ <!--[if lt IE 9]>
20
+ <%= javascript_include_tag("caseadilla/html5shiv") %>
21
+ <![endif]-->
22
+
23
+ <script type="text/javascript">
24
+ var current_controller = "<%= controller_name %>";
25
+ </script>
26
+
27
+ </head>
28
+
29
+ <body>
30
+ <div class="navbar navbar-static-top">
31
+ <% if current_user != nil %>
32
+ <div class="container">
33
+ <div id="user-info">
34
+ <ul>
35
+ <li class="hidden-sm">Hello <%= link_to current_user.first_name, caseadilla_user_path(current_user) %></li>
36
+ <li class="hidden-sm"><%= Time.zone.name %></li>
37
+
38
+ <% if current_user #.is_admin? %>
39
+ <li><%= link_to 'Users', caseadilla_users_path %></li>
40
+ <% end %>
41
+ <% if current_user #.is_admin? %>
42
+ <li><%= link_to 'Roles', caseadilla_roles_path %></li>
43
+ <% end %>
44
+
45
+ <%= render :partial => '/caseadilla/layouts/top_navigation' %>
46
+ <li class="last-item signout"><%= link_to 'Sign out', destroy_user_session_path, :method => :delete %></li>
47
+ </ul>
48
+ </div>
49
+ </div>
50
+ <% end %>
51
+
52
+ <div class="container">
53
+ <%= link_to(image_tag(caseadilla_config_logo, :alt => caseadilla_config_website_name), {:controller => :caseadilla}, :class => "navbar-brand") %>
54
+ </div>
55
+ <div class="container">
56
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
57
+ <span class="icon-bar"></span>
58
+ <span class="icon-bar"></span>
59
+ <span class="icon-bar"></span>
60
+ </button>
61
+
62
+ <div class="nav-collapse collapse">
63
+ <ul class="nav navbar-nav">
64
+ <%= render :partial => '/caseadilla/layouts/tab_navigation' %>
65
+ </ul>
66
+ </div>
67
+ </div>
68
+ </div>
69
+
70
+ <div class="container">
71
+ <div id="content">
72
+ <div class="row">
73
+ <% if content_for?(:sidebar) %>
74
+ <div id="right-column" class="col-lg-2">
75
+ <ul class="nav nav-pills nav-stacked content-bottom-padding">
76
+ <%= yield :sidebar %>
77
+ </ul>
78
+ </div>
79
+ <div id="left-column" class="col-lg-10 content-bottom-padding">
80
+ <% else %>
81
+ <div class="col-lg-12 content-bottom-padding">
82
+ <% end %>
83
+
84
+ <% if flash[:warning] %>
85
+ <div id="error" class="alert alert-danger alert-dismissible fade in" role="alert">
86
+ <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">×</span><!-- <span class="sr-only">Close</span> --></button>
87
+ <%= flash[:warning] %>
88
+ </div>
89
+ <% end %>
90
+ <% if flash[:notice] %>
91
+ <div id="notice" class="alert alert-success alert-dismissible fade in" role="alert">
92
+ <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">×</span><!-- <span class="sr-only">Close</span> --></button>
93
+ <%= flash[:notice] %>
94
+ </div>
95
+ <% end %>
96
+ <% if content_for?(:help) %>
97
+ <div id="help" class="alert alert-info alert-dismissible fade in" role="alert">
98
+ <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">×</span><!-- <span class="sr-only">Close</span> --></button>
99
+ <%= yield :help %>
100
+ </div>
101
+ <% end %>
102
+
103
+ <%= yield %>
104
+
105
+ </div>
106
+
107
+ </div>
108
+ <div class="row">
109
+ <div class="col-lg-12">
110
+ <hr />
111
+ <footer>
112
+ <p><%= caseadilla_get_footer_string(true) %></p>
113
+ </footer>
114
+ </div>
115
+ </div>
116
+ </div>
117
+ </div>
118
+ </body>
119
+ </html>