biovision-base 0.11.180127 → 0.14.180326
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +23 -0
- data/app/assets/javascripts/biovision/base/biovision-sliders.js +12 -9
- data/app/assets/javascripts/biovision/base/biovision.js +187 -2
- data/app/assets/stylesheets/biovision/base/admin.scss +84 -40
- data/app/assets/stylesheets/biovision/base/biovision.scss +104 -44
- data/app/assets/stylesheets/biovision/base/buttons/buttons-common.scss +95 -0
- data/app/assets/stylesheets/biovision/base/buttons/buttons-rounded.scss +26 -0
- data/app/assets/stylesheets/biovision/base/default.scss +2 -2
- data/app/assets/stylesheets/biovision/base/default_admin.scss +1 -1
- data/app/assets/stylesheets/biovision/base/default_application.scss +1 -1
- data/app/assets/stylesheets/biovision/base/themes/simple-layout.scss +115 -0
- data/app/assets/stylesheets/biovision/base/users.scss +15 -0
- data/app/controllers/agents_controller.rb +3 -3
- data/app/controllers/authentication_controller.rb +4 -4
- data/app/controllers/browsers_controller.rb +3 -3
- data/app/controllers/codes_controller.rb +2 -2
- data/app/controllers/editable_pages_controller.rb +6 -5
- data/app/controllers/index_controller.rb +1 -1
- data/app/controllers/media_files_controller.rb +3 -3
- data/app/controllers/media_folders_controller.rb +3 -3
- data/app/controllers/metrics_controller.rb +1 -1
- data/app/controllers/my/index_controller.rb +2 -0
- data/app/controllers/my/profiles_controller.rb +15 -9
- data/app/controllers/privilege_groups_controller.rb +2 -2
- data/app/controllers/privileges_controller.rb +3 -3
- data/app/controllers/stored_values_controller.rb +2 -2
- data/app/controllers/tokens_controller.rb +2 -2
- data/app/controllers/users_controller.rb +26 -10
- data/app/helpers/biovision_helper.rb +13 -2
- data/app/helpers/biovision_users_helper.rb +20 -5
- data/app/helpers/codes_helper.rb +1 -1
- data/app/helpers/editable_pages_helper.rb +1 -1
- data/app/helpers/languages_helper.rb +18 -0
- data/app/helpers/media_helper.rb +2 -2
- data/app/helpers/privileges_helper.rb +2 -2
- data/app/helpers/stored_values_helper.rb +1 -1
- data/app/helpers/tracking_helper.rb +2 -2
- data/app/models/editable_page.rb +10 -1
- data/app/models/user.rb +17 -23
- data/app/services/user_manager.rb +15 -18
- data/app/services/user_profile_handler.rb +28 -0
- data/app/uploaders/avatar_uploader.rb +1 -5
- data/app/uploaders/editable_page_image_uploader.rb +1 -1
- data/app/views/admin/agents/entity/_in_list.html.erb +3 -3
- data/app/views/admin/agents/show.html.erb +10 -2
- data/app/views/admin/browsers/entity/_in_list.html.erb +3 -3
- data/app/views/admin/browsers/show.html.erb +2 -2
- data/app/views/admin/codes/entity/_in_list.html.erb +1 -1
- data/app/views/admin/codes/show.html.erb +1 -1
- data/app/views/admin/editable_pages/entity/_in_list.html.erb +7 -1
- data/app/views/admin/editable_pages/show.html.erb +26 -19
- data/app/views/admin/feedback_requests/entity/_in_list.html.erb +1 -1
- data/app/views/admin/index/_biovision_base.html.erb +1 -0
- data/app/views/admin/media_files/entity/_in_list.html.erb +1 -1
- data/app/views/admin/media_files/show.html.erb +2 -2
- data/app/views/admin/media_folders/entity/_in_list.html.erb +2 -2
- data/app/views/admin/media_folders/files.html.erb +1 -1
- data/app/views/admin/media_folders/show.html.erb +6 -4
- data/app/views/admin/metrics/_list.html.erb +2 -2
- data/app/views/admin/metrics/show.html.erb +2 -2
- data/app/views/admin/privilege_groups/entity/_in_list.html.erb +1 -1
- data/app/views/admin/privilege_groups/show.html.erb +1 -1
- data/app/views/admin/privileges/entity/_in_list.html.erb +4 -4
- data/app/views/admin/privileges/show.html.erb +4 -4
- data/app/views/admin/privileges/users.html.erb +1 -1
- data/app/views/admin/stored_values/entity/_in_list.html.erb +1 -1
- data/app/views/admin/stored_values/show.html.erb +1 -1
- data/app/views/admin/tokens/entity/_in_list.html.erb +2 -2
- data/app/views/admin/tokens/show.html.erb +2 -2
- data/app/views/admin/users/codes.html.erb +1 -1
- data/app/views/admin/users/entity/_in_list.html.erb +3 -2
- data/app/views/admin/users/entity/_privilege.html.erb +1 -1
- data/app/views/admin/users/entity/_profile.html.erb +17 -0
- data/app/views/admin/users/privileges.html.erb +1 -1
- data/app/views/admin/users/search.jbuilder +2 -2
- data/app/views/admin/users/show.html.erb +34 -49
- data/app/views/admin/users/tokens.html.erb +1 -1
- data/app/views/agents/_agent.jbuilder +1 -1
- data/app/views/agents/edit.html.erb +1 -1
- data/app/views/authentication/_form.html.erb +1 -1
- data/app/views/authentication/create.jbuilder +10 -0
- data/app/views/browsers/edit.html.erb +1 -1
- data/app/views/codes/edit.html.erb +1 -1
- data/app/views/editable_pages/_form.html.erb +116 -61
- data/app/views/editable_pages/edit.html.erb +1 -1
- data/app/views/index/index.html.erb +8 -6
- data/app/views/index/index/_custom_dashboard.html.erb +0 -0
- data/app/views/index/index/_default_dashboard.html.erb +2 -0
- data/app/views/index/index/_editable.html.erb +9 -0
- data/app/views/layouts/admin/_header.html.erb +1 -1
- data/app/views/layouts/application/_header.html.erb +1 -1
- data/app/views/layouts/application/header/authentication/_links.html.erb +3 -3
- data/app/views/layouts/application/header/authentication/_plate.html.erb +1 -1
- data/app/views/layouts/profile.html.erb +23 -0
- data/app/views/layouts/profile/_footer.html.erb +11 -0
- data/app/views/layouts/profile/_header.html.erb +9 -0
- data/app/views/layouts/profile/header/_navigation.html.erb +0 -0
- data/app/views/media_files/edit.html.erb +1 -1
- data/app/views/media_folders/_form.html.erb +0 -2
- data/app/views/media_folders/edit.html.erb +1 -1
- data/app/views/media_folders/new.html.erb +1 -1
- data/app/views/metrics/edit.html.erb +2 -2
- data/app/views/my/index/index.html.erb +9 -14
- data/app/views/my/index/index/_dashboard.html.erb +12 -0
- data/app/views/my/index/index/_sidebar.html.erb +11 -0
- data/app/views/my/login_attempts/index.html.erb +1 -1
- data/app/views/my/profiles/_nav_item.html.erb +1 -1
- data/app/views/my/profiles/edit.js.erb +1 -0
- data/app/views/my/profiles/edit/_form.html.erb +130 -116
- data/app/views/my/profiles/edit/form/_profile_data.html.erb +53 -0
- data/app/views/my/profiles/new.js.erb +1 -0
- data/app/views/my/profiles/new/_form.html.erb +100 -53
- data/app/views/my/tokens/_toggleable.html.erb +1 -1
- data/app/views/my/tokens/index.html.erb +1 -1
- data/app/views/privilege_groups/edit.html.erb +1 -1
- data/app/views/privileges/edit.html.erb +1 -1
- data/app/views/profiles/_profile.html.erb +5 -6
- data/app/views/shared/_pagination.jbuilder +4 -0
- data/app/views/shared/admin/_list_with_priority.html.erb +6 -1
- data/app/views/shared/forms/_list_of_errors.js.erb +2 -0
- data/app/views/shared/forms/_wysiwyg.html.erb +11 -0
- data/app/views/shared/forms/errors.js.erb +5 -0
- data/app/views/stored_values/edit.html.erb +1 -1
- data/app/views/tokens/edit.html.erb +1 -1
- data/app/views/users/_form.html.erb +141 -83
- data/app/views/users/check.jbuilder +4 -0
- data/app/views/users/edit.html.erb +1 -1
- data/app/views/users/form/_profile_data.html.erb +53 -0
- data/app/views/users/new.html.erb +1 -1
- data/config/locales/common-en.yml +2 -0
- data/config/locales/common-ru.yml +2 -0
- data/config/locales/editable-pages-en.yml +5 -4
- data/config/locales/editable-pages-ru.yml +5 -4
- data/config/locales/users-en.yml +388 -0
- data/config/locales/users-ru.yml +8 -3
- data/config/routes.rb +127 -103
- data/db/migrate/20170302000001_create_users.rb +2 -0
- data/db/migrate/20170320000000_create_editable_pages.rb +1 -1
- data/db/migrate/20180321000000_add_profile_data_to_users.rb +31 -0
- data/lib/biovision/base/base_methods.rb +37 -7
- data/lib/biovision/base/engine.rb +1 -1
- data/lib/biovision/base/privilege_methods.rb +1 -1
- data/lib/biovision/base/version.rb +1 -1
- metadata +27 -6
- data/app/assets/stylesheets/biovision/base/buttons.scss +0 -195
- data/app/assets/stylesheets/biovision/base/layout.scss +0 -193
- data/app/views/editable_pages/form/_ckeditor.html.erb +0 -11
- data/db/migrate/20170302000002_create_user_profiles.rb +0 -21
@@ -14,7 +14,7 @@ json.agent do
|
|
14
14
|
json.value agent.active
|
15
15
|
end
|
16
16
|
end
|
17
|
-
json.url api_agent_path(agent)
|
17
|
+
json.url api_agent_path(id: agent.id)
|
18
18
|
json.browser agent.browser.nil? ? nil : agent.browser.name
|
19
19
|
json.html render(partial: 'admin/agents/entity/in_list', locals: { agent: agent }, formats: [:html] )
|
20
20
|
end
|
@@ -10,7 +10,7 @@
|
|
10
10
|
</div>
|
11
11
|
</div>
|
12
12
|
<div class="actions">
|
13
|
-
<%= button_tag t('.log_in'), type: 'submit' %>
|
13
|
+
<%= button_tag t('.log_in'), type: 'submit', class: 'button-action' %>
|
14
14
|
<%= link_to t('my.profiles.new.title'), new_my_profile_path, class: 'button-nav' %>
|
15
15
|
</div>
|
16
16
|
<% end %>
|
@@ -1,63 +1,118 @@
|
|
1
|
-
<%=
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
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
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
</
|
57
|
-
|
58
|
-
<
|
59
|
-
|
60
|
-
|
1
|
+
<%= form_with(model: entity, html: { id: "#{entity.class.to_s.underscore}-form" }) do |f| %>
|
2
|
+
<%= render partial: 'shared/list_of_errors', locals: { entity: entity } %>
|
3
|
+
|
4
|
+
<dl>
|
5
|
+
<dt><%= f.label :language_id %></dt>
|
6
|
+
<dd><%= f.select :language_id, languages_for_select %></dd>
|
7
|
+
|
8
|
+
<dt><%= f.label :slug %></dt>
|
9
|
+
<dd>
|
10
|
+
<%=
|
11
|
+
f.text_field(
|
12
|
+
:slug,
|
13
|
+
id: :editable_page_slug,
|
14
|
+
size: nil,
|
15
|
+
maxlength: EditablePage::SLUG_LIMIT,
|
16
|
+
required: true
|
17
|
+
)
|
18
|
+
%>
|
19
|
+
<div class="guideline"><%= t('.guidelines.slug') %></div>
|
20
|
+
</dd>
|
21
|
+
|
22
|
+
<dt><%= f.label :image %></dt>
|
23
|
+
<dd>
|
24
|
+
<figure class="preview" role="group" id="editable_page-image">
|
25
|
+
<% if entity.image.blank? %>
|
26
|
+
<%= f.label :image, image_tag('biovision/base/placeholders/image.svg') %>
|
27
|
+
<% else %>
|
28
|
+
<%= f.label :image, image_tag(entity.image.medium.url) %>
|
29
|
+
<% end %>
|
30
|
+
<figcaption>
|
31
|
+
<%=
|
32
|
+
f.file_field(
|
33
|
+
:image,
|
34
|
+
id: :editable_page_image,
|
35
|
+
accept: 'image/jpeg,image/png',
|
36
|
+
data: { image: 'editable_page-image' }
|
37
|
+
)
|
38
|
+
%>
|
39
|
+
</figcaption>
|
40
|
+
</figure>
|
41
|
+
<div class="guideline"><%= t('.guidelines.image') %></div>
|
42
|
+
</dd>
|
43
|
+
|
44
|
+
<dt><%= f.label :name %></dt>
|
45
|
+
<dd>
|
46
|
+
<%=
|
47
|
+
f.text_field(
|
48
|
+
:name,
|
49
|
+
id: :editable_page_name,
|
50
|
+
size: nil,
|
51
|
+
maxlength: EditablePage::NAME_LIMIT,
|
52
|
+
required: true
|
53
|
+
)
|
54
|
+
%>
|
55
|
+
<div class="guideline"><%= t('.guidelines.name') %></div>
|
56
|
+
</dd>
|
57
|
+
|
58
|
+
<dt><%= f.label :title %></dt>
|
59
|
+
<dd>
|
60
|
+
<%=
|
61
|
+
f.text_field(
|
62
|
+
:title,
|
63
|
+
id: :editable_page_title,
|
64
|
+
size: nil,
|
65
|
+
maxlength: EditablePage::META_LIMIT
|
66
|
+
)
|
67
|
+
%>
|
68
|
+
<div class="guideline"><%= t('.guidelines.title') %></div>
|
69
|
+
</dd>
|
70
|
+
|
71
|
+
<dt><%= f.label :keywords %></dt>
|
72
|
+
<dd>
|
73
|
+
<%=
|
74
|
+
f.text_field(
|
75
|
+
:keywords,
|
76
|
+
id: :editable_page_keywords,
|
77
|
+
size: nil,
|
78
|
+
maxlength: EditablePage::META_LIMIT
|
79
|
+
)
|
80
|
+
%>
|
81
|
+
<div class="guideline"><%= t('.guidelines.keywords') %></div>
|
82
|
+
</dd>
|
83
|
+
|
84
|
+
<dt><%= f.label :description %></dt>
|
85
|
+
<dd>
|
86
|
+
<%=
|
87
|
+
f.text_field(
|
88
|
+
:description,
|
89
|
+
id: :editable_page_description,
|
90
|
+
size: nil,
|
91
|
+
maxlength: EditablePage::META_LIMIT
|
92
|
+
)
|
93
|
+
%>
|
94
|
+
<div class="guideline"><%= t('.guidelines.description') %></div>
|
95
|
+
</dd>
|
96
|
+
|
97
|
+
<dt><%= f.label :body %></dt>
|
98
|
+
<dd>
|
99
|
+
<%=
|
100
|
+
f.text_area(
|
101
|
+
:body,
|
102
|
+
id: :editable_page_body,
|
103
|
+
cols: 80,
|
104
|
+
rows: 25,
|
105
|
+
required: true,
|
106
|
+
data: { wysiwyg: 1 }
|
107
|
+
)
|
108
|
+
%>
|
109
|
+
<div class="guideline"><%= t('.guidelines.body') %></div>
|
110
|
+
</dd>
|
111
|
+
</dl>
|
112
|
+
|
113
|
+
<div class="buttons">
|
114
|
+
<%= f.button t(:save), type: :submit, class: 'button-save' %>
|
115
|
+
</div>
|
61
116
|
<% end %>
|
62
117
|
|
63
|
-
<%= render '
|
118
|
+
<%= render partial: 'shared/forms/wysiwyg' %>
|
@@ -9,7 +9,7 @@
|
|
9
9
|
<h1><%= t('.heading') %></h1>
|
10
10
|
|
11
11
|
<ul class="actions">
|
12
|
-
<li><%= return_icon(admin_editable_page_path(@entity.id)) %></li>
|
12
|
+
<li><%= return_icon(admin_editable_page_path(id: @entity.id)) %></li>
|
13
13
|
<li class="danger"><%= destroy_icon(@entity) %></li>
|
14
14
|
</ul>
|
15
15
|
|
@@ -1,9 +1,11 @@
|
|
1
1
|
<% if @editable_page.nil? %>
|
2
|
-
|
3
|
-
|
4
|
-
<article>
|
5
|
-
|
6
|
-
</article>
|
2
|
+
<% content_for :meta_title, t('.title') %>
|
3
|
+
<% content_for :meta_title, t('.description') %>
|
7
4
|
<% else %>
|
8
|
-
|
5
|
+
<%= render partial: 'editable_pages/entity/metadata', locals: { entity: @editable_page } %>
|
9
6
|
<% end %>
|
7
|
+
|
8
|
+
<article id="homepage">
|
9
|
+
<%= render partial: 'index/index/editable', locals: { entity: @editable_page } %>
|
10
|
+
<%= render 'index/index/default_dashboard' %>
|
11
|
+
</article>
|
File without changes
|
@@ -4,7 +4,7 @@
|
|
4
4
|
<ul>
|
5
5
|
<% unless current_user.nil? %>
|
6
6
|
<li><%= current_user.screen_name %></li>
|
7
|
-
<li><%= link_to(t(:logout), logout_path, method: :delete) %></li>
|
7
|
+
<li><%= link_to(t(:logout), logout_path, method: :delete, class: 'button-action') %></li>
|
8
8
|
<% end %>
|
9
9
|
</ul>
|
10
10
|
</nav>
|
@@ -1,4 +1,4 @@
|
|
1
1
|
<div class="links">
|
2
|
-
<%= link_to(t('authentication.nav_item.log_in'), login_path) %>
|
3
|
-
<%= link_to(t('authentication.nav_item.join'), new_my_profile_path) %>
|
4
|
-
</div>
|
2
|
+
<%= link_to(t('authentication.nav_item.log_in'), login_path, class: 'button-nav') %>
|
3
|
+
<%= link_to(t('authentication.nav_item.join'), new_my_profile_path, class: 'button-nav') %>
|
4
|
+
</div>
|
@@ -1,4 +1,4 @@
|
|
1
1
|
<div class="plate">
|
2
2
|
<%= link_to current_user.profile_name, my_path, class: "profile" %>
|
3
|
-
<%= link_to t('authentication.info.logout'), logout_path, method: :delete, class: '
|
3
|
+
<%= link_to t('authentication.info.logout'), logout_path, method: :delete, class: 'button-action' %>
|
4
4
|
</div>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="<%= locale %>">
|
3
|
+
<head>
|
4
|
+
<meta charset="UTF-8"/>
|
5
|
+
<title><%= yield :meta_title %></title>
|
6
|
+
<%= stylesheet_link_tag 'admin', media: 'all' %>
|
7
|
+
<%= javascript_include_tag 'application' %>
|
8
|
+
<%= csrf_meta_tags %>
|
9
|
+
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
10
|
+
</head>
|
11
|
+
<body>
|
12
|
+
<%= render 'layouts/profile/header' %>
|
13
|
+
|
14
|
+
<main id="main">
|
15
|
+
<%= render 'shared/flash_messages' %>
|
16
|
+
<%= render 'shared/breadcrumbs' %>
|
17
|
+
|
18
|
+
<%= yield %>
|
19
|
+
</main>
|
20
|
+
|
21
|
+
<%= render 'layouts/profile/footer' %>
|
22
|
+
</body>
|
23
|
+
</html>
|
File without changes
|
@@ -9,7 +9,7 @@
|
|
9
9
|
<h1><%= t('.heading') %></h1>
|
10
10
|
|
11
11
|
<ul class="actions">
|
12
|
-
<li><%= return_icon(admin_media_file_path(@entity.id)) %></li>
|
12
|
+
<li><%= return_icon(admin_media_file_path(id: @entity.id)) %></li>
|
13
13
|
<% unless @entity.locked? %>
|
14
14
|
<li class="danger"><%= destroy_icon(@entity) %></li>
|
15
15
|
<% end %>
|
@@ -12,7 +12,7 @@
|
|
12
12
|
<h1><%= t('.heading') %></h1>
|
13
13
|
|
14
14
|
<ul class="actions">
|
15
|
-
<li><%= return_icon(admin_media_folder_path(@entity.id)) %></li>
|
15
|
+
<li><%= return_icon(admin_media_folder_path(id: @entity.id)) %></li>
|
16
16
|
<% if @entity.can_be_deleted? %>
|
17
17
|
<li class="danger"><%= destroy_icon(@entity) %></li>
|
18
18
|
<% end %>
|
@@ -11,7 +11,7 @@
|
|
11
11
|
<% if @entity.parent.nil? %>
|
12
12
|
<li><%= return_icon(admin_media_folders_path) %></li>
|
13
13
|
<% else %>
|
14
|
-
<li><%= return_icon(admin_media_folder_path(@entity.parent_id)) %></li>
|
14
|
+
<li><%= return_icon(admin_media_folder_path(id: @entity.parent_id)) %></li>
|
15
15
|
<% end %>
|
16
16
|
</ul>
|
17
17
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<% content_for :meta_title, t('.title') %>
|
2
2
|
<% content_for :breadcrumbs do %>
|
3
3
|
<%= link_to(t('admin.metrics.nav_item.text'), admin_metrics_path) %>
|
4
|
-
<%= link_to(@entity.name, admin_metric_path(@entity.id)) %>
|
4
|
+
<%= link_to(@entity.name, admin_metric_path(id: @entity.id)) %>
|
5
5
|
<span><%= t(:edit) %></span>
|
6
6
|
<% end %>
|
7
7
|
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<h1><%= t('.heading') %></h1>
|
11
11
|
|
12
12
|
<ul class="actions">
|
13
|
-
<li><%= return_icon(admin_metric_path(@entity.id)) %></li>
|
13
|
+
<li><%= return_icon(admin_metric_path(id: @entity.id)) %></li>
|
14
14
|
</ul>
|
15
15
|
|
16
16
|
<%= render partial: 'form', locals: { entity: @entity } %>
|
@@ -1,19 +1,14 @@
|
|
1
1
|
<% content_for :meta_title, t('.title') %>
|
2
|
+
<% content_for :breadcrumbs do %>
|
3
|
+
<span><%= t('.heading') %></span>
|
4
|
+
<% end %>
|
2
5
|
|
3
|
-
<article
|
4
|
-
<
|
6
|
+
<article id="my-index">
|
7
|
+
<div class="sidebar dashboard">
|
8
|
+
<%= render 'my/index/index/sidebar' %>
|
9
|
+
</div>
|
5
10
|
|
6
|
-
<div class="
|
7
|
-
|
8
|
-
<ul>
|
9
|
-
<li><%= render 'my/profiles/nav_item' %></li>
|
10
|
-
<li><%= render 'my/tokens/nav_item' %></li>
|
11
|
-
<li><%= render 'my/login_attempts/nav_item' %></li>
|
12
|
-
<% if UserPrivilege.user_has_any_privilege?(current_user) %>
|
13
|
-
<li><%= link_to t('admin.index.index.heading'), admin_path %></li>
|
14
|
-
<% end %>
|
15
|
-
<li><%= link_to t(:logout), logout_path, method: :delete %></li>
|
16
|
-
</ul>
|
17
|
-
</nav>
|
11
|
+
<div class="content">
|
12
|
+
<%= render 'my/index/index/dashboard' %>
|
18
13
|
</div>
|
19
14
|
</article>
|