beautiful_scaffold 1.0.2 → 2.0.0.pre
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.
- checksums.yaml +5 -5
- data/.gitignore +1 -0
- data/CHANGELOG +24 -1
- data/Gemfile +24 -9
- data/Gemfile.lock +209 -0
- data/README.rdoc +25 -26
- data/Rakefile +27 -4
- data/beautiful_scaffold.gemspec +6 -4
- data/lib/beautiful_scaffold/version.rb +3 -0
- data/lib/generators/beautiful_jointable_generator.rb +39 -6
- data/lib/generators/beautiful_migration_generator.rb +11 -19
- data/lib/generators/beautiful_scaffold_common_methods.rb +51 -26
- data/lib/generators/beautiful_scaffold_generator.rb +100 -43
- data/lib/generators/templates/app/assets/javascripts/application-bs.js +5 -6
- data/lib/generators/templates/app/assets/javascripts/beautiful_scaffold.js +64 -77
- data/lib/generators/templates/app/assets/javascripts/bootstrap-datetimepicker-for-beautiful-scaffold.js +25 -41
- data/lib/generators/templates/app/assets/javascripts/fixed_menu.js +3 -1
- data/lib/generators/templates/app/assets/javascripts/jstree.min.js +6 -0
- data/lib/generators/templates/app/assets/stylesheets/application-bs.css +14 -6
- data/lib/generators/templates/app/assets/stylesheets/beautiful-scaffold.css.scss +10 -1
- data/lib/generators/templates/app/assets/stylesheets/themes/default-dark/32px.png +0 -0
- data/lib/generators/templates/app/assets/stylesheets/themes/default-dark/40px.png +0 -0
- data/lib/generators/templates/app/assets/stylesheets/themes/default-dark/style.scss +1146 -0
- data/lib/generators/templates/app/assets/stylesheets/themes/default-dark/throbber.gif +0 -0
- data/lib/generators/templates/app/assets/stylesheets/themes/default/32px.png +0 -0
- data/lib/generators/templates/app/assets/stylesheets/themes/default/40px.png +0 -0
- data/lib/generators/templates/app/assets/stylesheets/themes/default/style.scss +1102 -0
- data/lib/generators/templates/app/assets/stylesheets/themes/default/throbber.gif +0 -0
- data/lib/generators/templates/app/controllers/base.rb +7 -5
- data/lib/generators/templates/app/controllers/master_base.rb +18 -24
- data/lib/generators/templates/app/helpers/beautiful_helper.rb +83 -61
- data/lib/generators/templates/app/initializers/link_renderer.rb +23 -18
- data/lib/generators/templates/app/views/_form.html.erb +2 -2
- data/lib/generators/templates/app/views/_form_habtm_tag.html.erb +6 -2
- data/lib/generators/templates/app/views/_mass_inserting.html.erb +38 -30
- data/lib/generators/templates/app/views/_modal_columns.html.erb +3 -3
- data/lib/generators/templates/app/views/index.html.erb +83 -79
- data/lib/generators/templates/app/views/layout.html.erb +29 -36
- data/lib/generators/templates/app/views/partials/_forget_password.html.erb +2 -2
- data/lib/generators/templates/app/views/partials/_form_field.html.erb +7 -7
- data/lib/generators/templates/app/views/partials/_index_batch.html.erb +1 -1
- data/lib/generators/templates/app/views/partials/_index_column.html.erb +4 -4
- data/lib/generators/templates/app/views/partials/_index_header.html.erb +1 -1
- data/lib/generators/templates/app/views/partials/_index_search.html.erb +1 -1
- data/lib/generators/templates/app/views/partials/_register_form.html.erb +2 -2
- data/lib/generators/templates/app/views/partials/_show_field.html.erb +3 -3
- data/lib/generators/templates/app/views/partials/_sign_in_form.html.erb +1 -1
- data/lib/generators/templates/app/views/partials/_sign_in_sign_out.html.erb +2 -2
- data/lib/generators/templates/app/views/show.html.erb +2 -2
- data/lib/generators/templates/app/views/treeview.html.erb +8 -5
- metadata +21 -19
- data/lib/generators/templates/app/assets/javascripts/jquery.jstree.js +0 -4551
- data/lib/generators/templates/app/assets/stylesheets/datepicker.css +0 -224
- data/lib/generators/templates/app/assets/stylesheets/reset.css +0 -48
- data/lib/generators/templates/app/assets/stylesheets/themes/default/d.gif +0 -0
- data/lib/generators/templates/app/assets/stylesheets/themes/default/d.png +0 -0
- data/lib/generators/templates/app/assets/stylesheets/themes/default/style.css +0 -74
- data/lib/generators/templates/app/assets/stylesheets/timepicker.css +0 -89
- data/test/scaffold_test.rb +0 -68
@@ -6,17 +6,21 @@
|
|
6
6
|
:linked_model_name => "tag",
|
7
7
|
:plural_linked_model_name => "tags",
|
8
8
|
:namespace_bs => "admin",
|
9
|
+
:engine_bs => "YOUR_ENGINE_OR_EMPTY_STRING",
|
9
10
|
:field_to_search_for_linked_model => "name",
|
11
|
+
:attr_to_show => "caption",
|
10
12
|
:f => f
|
11
13
|
}
|
12
14
|
# Example to put in a _form.html.erb
|
13
15
|
%>
|
14
|
-
<% path_namespace =
|
16
|
+
<% path_namespace = "/" %>
|
17
|
+
<% path_namespace += "#{engine_bs}/" if engine_bs.present? %>
|
18
|
+
<% path_namespace += "/#{namespace_bs}/" if namespace_bs.present? %>
|
15
19
|
|
16
20
|
<div class="form-group">
|
17
21
|
<%= f.label plural_linked_model_name.to_sym, t(plural_linked_model_name.to_sym, :default => plural_linked_model_name.capitalize), :class => "control-label" %>
|
18
22
|
<div>
|
19
|
-
<ul class="bs-tagit" id="<%= model_name %>_<%= linked_model_name %>_ids" name="<%= model_name %>[<%= linked_model_name %>_ids][]" data-url="<%= path_namespace
|
23
|
+
<ul class="bs-tagit" id="<%= model_name %>_<%= linked_model_name %>_ids" name="<%= model_name %>[<%= linked_model_name %>_ids][]" data-url="<%= path_namespace %><%= plural_linked_model_name %>/search_and_filter.json" data-param="q[<%= field_to_search_for_linked_model %>_cont]" data-result="<%= attr_to_show %>">
|
20
24
|
<% begin %>
|
21
25
|
<% for elt in model_class.send(plural_linked_model_name) %>
|
22
26
|
<li data-value="<%= elt.id %>"><%= elt.caption %></li>
|
@@ -1,37 +1,45 @@
|
|
1
1
|
<% model = ("#{(engine.blank? ? '' : "#{engine.camelize}::")}#{model_name.camelize}").constantize %>
|
2
2
|
<% formparams = [] %>
|
3
|
-
<% if
|
3
|
+
<% if !namespace.blank? %>
|
4
4
|
<% formparams << namespace %>
|
5
5
|
<% end %>
|
6
6
|
<% formparams << model.new %>
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
7
|
+
<div class="container-fluid mb-3">
|
8
|
+
<div class="row">
|
9
|
+
<div class="col-md">
|
10
|
+
<div class="card card-body bg-light">
|
11
|
+
<%= form_for formparams, :method => :post, :html => { :class => "form-inline mass-inserting #{(params[:mass_inserting] ? 'setfocus' : '')}" } do |f| %>
|
12
|
+
<%= hidden_field_tag :mass_inserting, true %>
|
13
|
+
<% for col in model_columns %>
|
14
|
+
<div <%= visible_column(model_name, col, 'inline') %> class="form-group mr-sm-2 col-<%= col %>">
|
15
|
+
<%=
|
16
|
+
ar = model.columns_hash[col]
|
17
|
+
if !ar.nil?
|
18
|
+
case ar.type
|
19
|
+
when :integer then
|
20
|
+
if col =~ /.*_id/
|
21
|
+
f.collection_select((col).to_sym, col.camelize.constantize.all, :id, :caption, { :include_blank => true, :selected => (begin params[:q]["#{col}_eq"].to_i rescue '' end) }, {:class => "form-control"})
|
22
|
+
else
|
23
|
+
f.text_field(col.to_sym, :placeholder => t(i18n_translate_path(model_name, col), default: "#{model_name}.#{col}").capitalize, :class => "form-control")
|
24
|
+
end
|
25
|
+
when :boolean then
|
26
|
+
(
|
27
|
+
"<label class='bs-label-ib'>#{f.check_box(col.to_sym, {}, true, false)}#{t(i18n_translate_path(model_name, col), default: "#{model_name}.#{col}").capitalize}</label>".html_safe
|
28
|
+
)
|
29
|
+
else
|
30
|
+
f.text_field(col.to_sym, :placeholder => t(i18n_translate_path(model_name, col), default: "#{model_name}.#{col}").capitalize, :class => "form-control")
|
31
|
+
end
|
32
|
+
else
|
33
|
+
f.collection_select(("#{false ? "#{engine}_" : ''}#{col}_id").to_sym, ("#{(engine.blank? ? '' : "#{engine.camelize}::")}#{col.camelize}").constantize.all, :id, :caption, { :include_blank => true, :selected => (begin params[:q]["#{col}_id_eq"].to_i rescue '' end) }, {:class => "form-control"})
|
34
|
+
end
|
35
|
+
%>
|
36
|
+
</div>
|
37
|
+
<% end %>
|
38
|
+
<div class="form-group">
|
39
|
+
<%= f.submit t(:create, :default => "Create"), :class => "btn btn-outline-secondary", :data => { :disable_with => t(:saving, :default => "Saving...") } %>
|
40
|
+
</div>
|
41
|
+
<% end %>
|
42
|
+
</div>
|
32
43
|
</div>
|
33
|
-
<% end %>
|
34
|
-
<div style="display:inline;">
|
35
|
-
<%= f.submit t(:create, :default => "Create"), :class => "btn btn-default", :data => { :disable_with => t(:saving, :default => "Saving...") } %>
|
36
44
|
</div>
|
37
|
-
|
45
|
+
</div>
|
@@ -2,8 +2,8 @@
|
|
2
2
|
<div class="modal-dialog">
|
3
3
|
<div class="modal-content">
|
4
4
|
<div class="modal-header">
|
5
|
+
<h5 class="modal-title"><%= t(:select_columns, :default => "Select Columns") %></h5>
|
5
6
|
<button type="button" class="close" data-dismiss="modal">×</button>
|
6
|
-
<h3><%= t(:select_columns, :default => "Select Columns") %></h3>
|
7
7
|
</div>
|
8
8
|
<div class="modal-body">
|
9
9
|
<% for field in model_columns %>
|
@@ -13,8 +13,8 @@
|
|
13
13
|
<% end %>
|
14
14
|
</div>
|
15
15
|
<div class="modal-footer">
|
16
|
-
<button type="button" class="btn btn-primary" id="filter-columns" data-url="
|
17
|
-
<button type="button" class="btn btn-
|
16
|
+
<button type="button" class="btn btn-primary" id="filter-columns" data-url="<%= select_fields_url(model_name) %>">Ok</button>
|
17
|
+
<button type="button" class="btn btn-light" id="cancel-filter-columns"><%= t(:cancel, :default => "Cancel") %></button>
|
18
18
|
</div>
|
19
19
|
</div>
|
20
20
|
</div>
|
@@ -1,72 +1,75 @@
|
|
1
|
-
<
|
2
|
-
|
3
|
-
<
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
1
|
+
<div class="container-fluid">
|
2
|
+
<div class="row">
|
3
|
+
<div class="col-md">
|
4
|
+
<h2 class="title-index"><%%= t(:listing, :default => "Listing") %> <%%= <%= i18n_t_m_p(singular_table_name) %> %></h2>
|
5
|
+
<p>
|
6
|
+
<%%= link_to '<i class="fa fa-plus"></i> '.html_safe + t(:new, :default => "New") + ' ' + <%= i18n_t_m(model) %>, new_<%= namespace_for_route %><%= singular_table_name %>_path, :class => "btn btn-outline-secondary" %>
|
7
|
+
<%% if <%= model_with_engine_camelize %>.columns.map(&:name).include?("<%= model %>_id") %>
|
8
|
+
<%%= link_to '<i class="fa fa-folder-close"></i> '.html_safe + t(:treeview, :default => "Treeview") + ' ' + <%= i18n_t_m(model) %>, treeview_<%= namespace_for_route %><%= model_pluralize %>_path, :class => "btn btn-outline-secondary" %>
|
9
|
+
<%% end %>
|
10
|
+
</p>
|
11
|
+
</div>
|
12
|
+
</div>
|
13
|
+
</div>
|
9
14
|
|
10
15
|
<%%= render :partial => "layouts/mass_inserting", :locals => { :engine => '<%= engine_opt %>', :namespace => '<%= namespace_alone %>', :model_name => '<%= model %>', :model_columns => [<%= attributes.map{ |e| "'#{e.name}'" }.join(',') %>] } %>
|
11
16
|
|
12
17
|
<%%# Set your scopes below (string in array) %>
|
13
18
|
<%% scopes = [] %>
|
14
|
-
<%% if
|
15
|
-
<div class="
|
16
|
-
<div class="
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
19
|
+
<%% if !scopes.blank? %>
|
20
|
+
<div class="container-fluid mb-3" id="scopes-div" data-present-title="<%%= t(:help_scope, :default => "Filter by scope") %>" data-present-description="<%%= t(:help_scope_description, :default => "Filter by scope") %>" data-present-order="1">
|
21
|
+
<div class="row">
|
22
|
+
<div class="col-md btn-toolbar">
|
23
|
+
<div class="btn-group">
|
24
|
+
<%%= link_to "All (#{@<%= model %>_scope_for_scope.count})", <%= namespace_for_route %><%= plural_table_name %>_path(:scope => ""), :class => "btn btn-outline-secondary #{((session[:scope][:<%= model %>].to_s == '') ? 'active' : '')}" %>
|
25
|
+
<%% for scope in scopes %>
|
26
|
+
<%%= link_to "#{scope} (#{@<%= model %>_scope_for_scope.send(scope).count})", <%= namespace_for_route %><%= plural_table_name %>_path(:scope => scope), :class => "btn btn-outline-secondary #{((session[:scope][:<%= model %>].to_s == scope) ? 'active' : '')}" %>
|
27
|
+
<%% end %>
|
28
|
+
</div>
|
29
|
+
</div>
|
21
30
|
</div>
|
22
31
|
</div>
|
23
32
|
<%% end %>
|
24
33
|
|
25
|
-
<div class="
|
26
|
-
<div class="col-md-12">
|
27
|
-
<a class="btn btn-xs btn-default" id="hide-menu-btn">
|
28
|
-
<i class="fa fa-caret-left"></i>
|
29
|
-
<i class="fa fa-caret-left"></i>
|
30
|
-
</a>
|
31
|
-
<a class="btn btn-xs btn-default" id="show-menu-btn">
|
32
|
-
<i class="fa fa-caret-right"></i>
|
33
|
-
<i class="fa fa-caret-right"></i>
|
34
|
-
</a>
|
35
|
-
|
36
|
-
<a class="btn btn-xs btn-default pull-right" id="hide-search-btn">
|
37
|
-
<i class="fa fa-caret-right"></i>
|
38
|
-
<i class="fa fa-caret-right"></i>
|
39
|
-
</a>
|
40
|
-
<a class="btn btn-xs btn-default pull-right" id="show-search-btn">
|
41
|
-
<i class="fa fa-caret-left"></i>
|
42
|
-
<i class="fa fa-caret-left"></i>
|
43
|
-
</a>
|
44
|
-
</div>
|
45
|
-
</div>
|
46
|
-
|
34
|
+
<div class="container-fluid">
|
47
35
|
<div class="row">
|
48
36
|
<div class="col-md-9">
|
49
|
-
<%%= form_tag batch_<%= namespace_for_route %><%= plural_table_name %>_path
|
50
|
-
<div class="
|
51
|
-
<
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
37
|
+
<%%= form_tag batch_<%= namespace_for_route %><%= plural_table_name %>_path do %>
|
38
|
+
<div class="card card-body bg-light mb-3">
|
39
|
+
<div class="row">
|
40
|
+
<div class="form-inline col-md" id="batch-div" data-present-title="<%%= t(:help_batch, :default => "Batch processing") %>" data-present-description="<%%= t(:help_batch_description, :default => "Batch processing description") %>" data-present-order="2">
|
41
|
+
<label class="control-label mb-2 mr-sm-2" for="select01"><%%= t(:batch, :default => "Batch") %></label>
|
42
|
+
|
43
|
+
<select id="select01" name="actionprocess" class="custom-select mb-2 mr-sm-2">
|
44
|
+
<option value="destroy"><%%= t(:destroy, :default => "Destroy") %></option>
|
45
|
+
<option value="touch"><%%= t(:touch, :default => "Touch") %></option>
|
46
|
+
<%= render_partial 'app/views/partials/_index_batch.html.erb' %>
|
47
|
+
<!-- Beautiful_scaffold - AddField - Batch - Do not remove -->
|
48
|
+
</select>
|
49
|
+
<button class="btn btn-outline-secondary mb-2 mr-sm-2" type="submit"><i class="fa fa-ok"></i> <%%= t(:process, :default => "Process") %></button>
|
50
|
+
</div>
|
51
|
+
<div class="col-md">
|
52
|
+
<a class="btn btn-xs btn-light float-right" id="hide-search-btn">
|
53
|
+
<i class="fa fa-caret-right"></i>
|
54
|
+
<i class="fa fa-caret-right"></i>
|
55
|
+
</a>
|
56
|
+
<a class="btn btn-xs btn-light float-right" id="show-search-btn">
|
57
|
+
<i class="fa fa-caret-left"></i>
|
58
|
+
<i class="fa fa-caret-left"></i>
|
59
|
+
</a>
|
60
|
+
</div>
|
61
|
+
</div>
|
59
62
|
</div>
|
60
63
|
|
61
64
|
<%%= render :partial => "layouts/modal_columns", :locals => { :engine_name => '<%= engine_opt %>', :model_name => "<%= singular_table_name %>", :model_columns => [<%= (attributes.map{ |e| "'#{e.name}'" }.to_a + ["'created_at'", "'updated_at'"]).join(',') %>] } %>
|
62
65
|
|
63
|
-
<table class="table table-striped table-bordered table-
|
66
|
+
<table class="table table-striped table-bordered table-sm">
|
64
67
|
<thead>
|
65
68
|
<tr>
|
66
69
|
<th class="ac">
|
67
70
|
<a class="" data-toggle="modal" href="#modal-columns" title="<%%= t(:select_columns, :default => "Select Columns") %>" ><i class="fa fa-th-list"></i></a>
|
68
71
|
</th>
|
69
|
-
<th>
|
72
|
+
<th id="checkall-div" data-present-title="<%%= t(:help_checkall, :default => "Check all elements") %>" data-present-description="<%%= t(:help_checkall_description, :default => "Check all elements visible on the page") %>" data-present-order="3">
|
70
73
|
<%%= check_box_tag :checkall, '' %>
|
71
74
|
</th>
|
72
75
|
<%= render_partial 'app/views/partials/_index_header.html.erb' %>
|
@@ -78,7 +81,7 @@
|
|
78
81
|
<%%= sorting_header("<%= singular_table_name %>", "updated_at", "<%= namespace_alone %>") %>
|
79
82
|
</th>
|
80
83
|
<th colspan="3">
|
81
|
-
<label class="checkbox">
|
84
|
+
<label class="checkbox mb-0" id="checkallall-div" data-present-title="<%%= t(:help_checkallall, :default => "Check all elements") %>" data-present-description="<%%= t(:help_checkallall_description, :default => "Check all elements, that match current filter even if they are not visible on the page") %>" data-present-order="4">
|
82
85
|
<%%= check_box_tag :checkallelt, 'all' %>
|
83
86
|
<%%= pluralize(@<%= singular_table_name %>_scope.count, <%= i18n_t_m(singular_table_name) %>, <%= i18n_t_m_p(singular_table_name) %>) %>
|
84
87
|
</label>
|
@@ -98,7 +101,7 @@
|
|
98
101
|
<%%= l(<%= singular_table_name %>.updated_at, :format => :long) %>
|
99
102
|
</td>
|
100
103
|
<td class="ac am"><%%= link_to '<i class="fa fa-search"></i>'.html_safe, <%= namespace_for_route %><%= singular_table_name %>_path(<%= singular_table_name %>), :title => t(:show, :default => "Show") %></td>
|
101
|
-
<td class="ac am"><%%= link_to '<i class="fa fa-
|
104
|
+
<td class="ac am"><%%= link_to '<i class="fa fa-edit"></i>'.html_safe, edit_<%= namespace_for_route %><%= singular_table_name %>_path(<%= singular_table_name %>), :title => t(:edit, :default => "Edit") %></td>
|
102
105
|
<td class="ac am"><%%= link_to '<i class="fa fa-times"></i>'.html_safe, <%= namespace_for_route %><%= singular_table_name %>_path(<%= singular_table_name %>), :data => { :confirm => t(:are_you_sure, :default => "Are you sure?") }, :method => :delete, :title => t(:destroy, :default => "Destroy") %></td>
|
103
106
|
</tr>
|
104
107
|
<%% end %>
|
@@ -112,45 +115,46 @@
|
|
112
115
|
:inner_window => 0,
|
113
116
|
:outer_window => 0,
|
114
117
|
:previous_label => t(:prev, :default => "Previous"),
|
115
|
-
:next_label => t(:next, :default => "Next")
|
118
|
+
:next_label => t(:next, :default => "Next"),
|
119
|
+
:renderer => WillPaginate::ActionView::BootstrapLinkRenderer
|
120
|
+
%>
|
116
121
|
|
117
122
|
</div>
|
118
|
-
<div class="btn-group
|
119
|
-
<%%= link_to '<i class="fa fa-download"></i> CSV'.html_safe, <%= namespace_for_route %><%= plural_table_name %>_path(:format => :csv), :class => "btn btn-
|
120
|
-
<%%= link_to '<i class="fa fa-download"></i> XML'.html_safe, <%= namespace_for_route %><%= plural_table_name %>_path(:format => :xml), :class => "btn btn-
|
121
|
-
<%%= link_to '<i class="fa fa-download"></i> JSON'.html_safe, <%= namespace_for_route %><%= plural_table_name %>_path(:format => :json), :class => "btn btn-
|
122
|
-
<%%= link_to '<i class="fa fa-download"></i> PDF'.html_safe, <%= namespace_for_route %><%= plural_table_name %>_path(:format => :pdf), :class => "btn btn-
|
123
|
+
<div class="btn-group btn-group-sm float-right">
|
124
|
+
<%%= link_to '<i class="fa fa-download"></i> CSV'.html_safe, <%= namespace_for_route %><%= plural_table_name %>_path(:format => :csv), :class => "btn btn-outline-secondary" %>
|
125
|
+
<%%= link_to '<i class="fa fa-download"></i> XML'.html_safe, <%= namespace_for_route %><%= plural_table_name %>_path(:format => :xml), :class => "btn btn-outline-secondary" %>
|
126
|
+
<%%= link_to '<i class="fa fa-download"></i> JSON'.html_safe, <%= namespace_for_route %><%= plural_table_name %>_path(:format => :json), :class => "btn btn-outline-secondary" %>
|
127
|
+
<%%= link_to '<i class="fa fa-download"></i> PDF'.html_safe, <%= namespace_for_route %><%= plural_table_name %>_path(:format => :pdf), :class => "btn btn-outline-secondary" %>
|
123
128
|
</div>
|
124
129
|
</div>
|
125
130
|
<%% end %>
|
126
131
|
</div>
|
127
132
|
<div class="col-md-3">
|
128
|
-
<%%= search_form_for @q, :url => <%= namespace_for_route + 'search_' + model_pluralize + '_path' %>, :html => { :class => "
|
129
|
-
|
130
|
-
<
|
131
|
-
|
132
|
-
<%= render_partial 'app/views/partials/_index_search.html.erb' %>
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
133
|
+
<%%= search_form_for @q, :url => <%= namespace_for_route + 'search_' + model_pluralize + '_path' %>, :html => { :class => "card bg-light mb-3 search-and-filter" }, :method => :post do |f| %>
|
134
|
+
<div class="card-header"><%%= t("search_and_filter", :default => "Search & filter") %></div>
|
135
|
+
<div class="card-body">
|
136
|
+
<div class="card-text">
|
137
|
+
<%= render_partial 'app/views/partials/_index_search.html.erb' %>
|
138
|
+
<!-- Beautiful_scaffold - AddField - Search - Do not remove -->
|
139
|
+
<div class="panel-group">
|
140
|
+
<div class="panel panel-default">
|
141
|
+
<div class="panel-heading">
|
142
|
+
<a class="badge badge-light accordion-toggle" data-toggle="collapse-next">
|
143
|
+
<%%= t(:more_options, :default => "More options...") %>
|
144
|
+
</a>
|
145
|
+
</div>
|
146
|
+
<div class="panel-collapse collapse">
|
147
|
+
<div class="panel-body">
|
148
|
+
<%= render_partial 'app/views/partials/_index_search_default_fields.html.erb' %>
|
149
|
+
</div>
|
150
|
+
</div>
|
146
151
|
</div>
|
147
152
|
</div>
|
153
|
+
<%%= f.submit t(:filter, :default => "Filter"), :class => "btn btn-primary btn-sm btn-block" %>
|
154
|
+
<%%= link_to t(:cancel, :default => "Cancel"), <%= namespace_for_route %><%= model_pluralize %>_path(:nosearch => "ok"), :class => "btn btn-light btn-sm btn-block" %>
|
148
155
|
</div>
|
149
156
|
</div>
|
150
|
-
|
151
|
-
|
152
|
-
<%%= f.submit t(:filter, :default => "Filter"), :class => "btn btn-primary" %>
|
153
|
-
<%%= link_to t(:cancel, :default => "Cancel"), <%= namespace_for_route %><%= model_pluralize %>_path(:nosearch => "ok"), :class => "btn btn-default" %>
|
154
157
|
<%% end %>
|
155
158
|
</div>
|
156
159
|
</div>
|
160
|
+
</div>
|
@@ -5,63 +5,56 @@
|
|
5
5
|
<title>Beautiful Scaffold</title>
|
6
6
|
|
7
7
|
<meta name="description" content="Beautiful Scaffold">
|
8
|
-
<meta name="author" content="You or me Sylvain Claudel (
|
8
|
+
<meta name="author" content="You or me Sylvain Claudel (https://blog.rivsc.ovh)">
|
9
9
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
10
10
|
|
11
|
-
|
12
|
-
|
11
|
+
<!--TODO remove cdn-->
|
12
|
+
<script src="https://unpkg.com/driver.js/dist/driver.min.js"></script>
|
13
|
+
<link rel="stylesheet" href="https://unpkg.com/driver.js/dist/driver.min.css">
|
14
|
+
|
15
|
+
<%%= stylesheet_link_tag "<%= engine_name %>application-bs" %>
|
16
|
+
<%%= javascript_include_tag "<%= engine_name %>application-bs" %>
|
13
17
|
|
14
18
|
<%%= csrf_meta_tags %>
|
15
19
|
<%%= yield :head %>
|
16
20
|
</head>
|
17
|
-
<body
|
18
|
-
<div class="navbar navbar-
|
19
|
-
<div class="
|
20
|
-
<
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
<ul class="nav navbar-nav pull-right">
|
35
|
-
<li>
|
36
|
-
<!-- Beautiful_scaffold - Signin - Do not remove -->
|
37
|
-
</li>
|
38
|
-
</ul>
|
39
|
-
</div>
|
21
|
+
<body>
|
22
|
+
<div class="navbar navbar-expand-md navbar-dark bg-dark">
|
23
|
+
<div class="navbar-header">
|
24
|
+
<a class="navbar-brand" href="#">
|
25
|
+
Beautiful-Scaffold
|
26
|
+
</a>
|
27
|
+
<button type="button" class="navbar-toggler collapsed" data-toggle="collapse" data-target=".navbar-collapse">
|
28
|
+
<span class="navbar-toggler-icon"></span>
|
29
|
+
</button>
|
30
|
+
</div>
|
31
|
+
<div class="navbar-collapse collapse">
|
32
|
+
<nav class="nav navbar-nav">
|
33
|
+
<a href="/" class="nav-link">Home</a>-
|
34
|
+
<%%= render :partial => "layouts/beautiful_menu" %>
|
35
|
+
</nav>
|
36
|
+
<i class="fa fa-question-circle text-white float-right" id="bs-help"></i>
|
37
|
+
<!-- Beautiful_scaffold - Signin - Do not remove -->
|
40
38
|
</div>
|
41
39
|
</div>
|
42
40
|
<div class="container-fluid">
|
43
41
|
<div class="row">
|
44
|
-
<div class="col-md
|
45
|
-
|
46
|
-
<%%= render :partial => "layouts/beautiful_menu" %>
|
47
|
-
</ul>
|
48
|
-
</div>
|
49
|
-
<div class="col-md-10">
|
50
|
-
<%% if not flash[:notice].blank? then %>
|
42
|
+
<div class="col-md filler">
|
43
|
+
<%% if !flash[:notice].blank? %>
|
51
44
|
<div class="alert alert-info">
|
52
45
|
<a class="close" data-dismiss="alert" href="#">×</a>
|
53
46
|
<h4 class="alert-heading">Info : </h4>
|
54
47
|
<%%= flash[:notice] %>
|
55
48
|
</div>
|
56
49
|
<%% end %>
|
57
|
-
<%% if
|
50
|
+
<%% if !flash[:error].blank? %>
|
58
51
|
<div class="alert alert-danger">
|
59
52
|
<a class="close" data-dismiss="alert" href="#">×</a>
|
60
53
|
<h4 class="alert-heading">Error : </h4>
|
61
54
|
<%%= flash[:error] %>
|
62
55
|
</div>
|
63
56
|
<%% end %>
|
64
|
-
<div>
|
57
|
+
<div class="mt-2">
|
65
58
|
<%%= yield %>
|
66
59
|
</div>
|
67
60
|
</div>
|
@@ -76,7 +69,7 @@
|
|
76
69
|
<!-- Beautiful_scaffold - Modal - Do not remove -->
|
77
70
|
|
78
71
|
<script type="text/javascript">
|
79
|
-
<%% if
|
72
|
+
<%% if !@opened_modal.blank? %>
|
80
73
|
$('<%%= @opened_modal %>').modal('show');
|
81
74
|
<%% end %>
|
82
75
|
</script>
|
@@ -2,8 +2,8 @@
|
|
2
2
|
<div class="modal-dialog">
|
3
3
|
<div class="modal-content">
|
4
4
|
<div class="modal-header">
|
5
|
+
<h5 class="modal-title"><%%= t(:forgot_password, :default => "Forgot password") %></h5>
|
5
6
|
<button type="button" class="close" data-dismiss="modal">×</button>
|
6
|
-
<h3><%%= t(:forgot_password, :default => "Forgot password") %></h3>
|
7
7
|
</div>
|
8
8
|
<div class="modal-body">
|
9
9
|
<%%= form_for('<%= model %>', :as => '<%= model %>', :url => password_path('<%= model %>'), :html => { :method => :post, :class => "form-horizontal" }) do |f| %>
|
@@ -15,7 +15,7 @@
|
|
15
15
|
</div>
|
16
16
|
<div class="form-group">
|
17
17
|
<div>
|
18
|
-
<%%= f.submit t(:send_me_reset_password_instructions, :default => "Send me reset password instructions"), :class => 'btn btn-
|
18
|
+
<%%= f.submit t(:send_me_reset_password_instructions, :default => "Send me reset password instructions"), :class => 'btn btn-light' %>
|
19
19
|
</div>
|
20
20
|
</div>
|
21
21
|
<%% end %>
|