biovision-base 0.9.171227 → 0.11.180127
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/biovision/base/biovision-sliders.js +3 -17
- data/app/assets/javascripts/biovision/base/biovision.js +17 -5
- data/app/assets/stylesheets/biovision/base/admin.scss +0 -12
- data/app/assets/stylesheets/biovision/base/biovision.scss +2 -179
- data/app/assets/stylesheets/biovision/base/default_admin.scss +0 -1
- data/app/controllers/admin/privileges_controller.rb +0 -6
- data/app/controllers/admin/users_controller.rb +2 -2
- data/app/models/editable_page.rb +41 -3
- data/app/models/feedback_request.rb +1 -0
- data/app/models/language.rb +49 -0
- data/app/models/privilege.rb +16 -16
- data/app/models/user.rb +3 -2
- data/app/models/user_language.rb +6 -0
- data/app/models/user_privilege.rb +3 -14
- data/app/views/admin/agents/entity/_in_list.html.erb +1 -1
- data/app/views/admin/agents/index.html.erb +1 -1
- data/app/views/admin/agents/show.html.erb +2 -2
- data/app/views/admin/browsers/entity/_in_list.html.erb +2 -1
- data/app/views/admin/browsers/index.html.erb +1 -1
- data/app/views/admin/browsers/show.html.erb +2 -2
- data/app/views/admin/codes/index.html.erb +1 -1
- data/app/views/admin/codes/show.html.erb +1 -1
- data/app/views/admin/editable_pages/index.html.erb +1 -1
- data/app/views/admin/editable_pages/show.html.erb +1 -1
- data/app/views/admin/index/_biovision_base.html.erb +2 -1
- data/app/views/admin/media_files/show.html.erb +0 -1
- data/app/views/admin/metrics/index.html.erb +1 -1
- data/app/views/admin/metrics/show.html.erb +1 -1
- data/app/views/admin/privilege_groups/index.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 +1 -1
- data/app/views/admin/privileges/index.html.erb +1 -1
- data/app/views/admin/privileges/show.html.erb +2 -2
- data/app/views/admin/privileges/users.html.erb +1 -1
- data/app/views/admin/stored_values/index.html.erb +1 -1
- data/app/views/admin/tokens/entity/_in_list.html.erb +1 -1
- data/app/views/admin/tokens/index.html.erb +1 -1
- 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 +2 -1
- data/app/views/admin/users/entity/_privilege.html.erb +1 -1
- data/app/views/admin/users/index.html.erb +1 -1
- data/app/views/admin/users/show.html.erb +4 -4
- data/app/views/admin/users/tokens.html.erb +1 -1
- data/app/views/agents/edit.html.erb +1 -1
- data/app/views/agents/new.html.erb +1 -1
- data/app/views/application/error.html.erb +1 -1
- data/app/views/browsers/edit.html.erb +1 -1
- data/app/views/browsers/new.html.erb +1 -1
- data/app/views/codes/edit.html.erb +1 -1
- data/app/views/codes/new.html.erb +1 -1
- data/app/views/editable_pages/edit.html.erb +1 -1
- data/app/views/editable_pages/new.html.erb +1 -1
- data/app/views/errors/error.html.erb +1 -1
- data/app/views/feedback_requests/_form.html.erb +1 -3
- data/app/views/feedback_requests/create.js.erb +2 -2
- data/app/views/layouts/admin/_footer.html.erb +1 -1
- data/app/views/layouts/admin/_header.html.erb +3 -3
- data/app/views/metrics/edit.html.erb +1 -1
- data/app/views/privilege_groups/edit.html.erb +1 -1
- data/app/views/privilege_groups/new.html.erb +1 -1
- data/app/views/privileges/edit.html.erb +1 -1
- data/app/views/privileges/new.html.erb +1 -1
- data/app/views/shared/forms/_default_ajax_handler.html.erb +2 -0
- data/app/views/stored_values/edit.html.erb +1 -1
- data/app/views/stored_values/new.html.erb +1 -1
- data/app/views/tokens/edit.html.erb +1 -1
- data/app/views/tokens/new.html.erb +1 -1
- data/app/views/users/edit.html.erb +1 -1
- data/config/locales/common-en.yml +10 -2
- data/config/locales/common-ru.yml +10 -2
- data/config/locales/editable-pages-en.yml +76 -0
- data/config/locales/editable-pages-ru.yml +1 -0
- data/config/locales/feedback-en.yml +1 -0
- data/config/locales/feedback-ru.yml +1 -0
- data/config/locales/media-en.yml +92 -0
- data/config/locales/users-ru.yml +1 -0
- data/config/routes.rb +0 -10
- data/db/migrate/20170228000000_create_languages.rb +22 -0
- data/db/migrate/20170302000001_create_users.rb +2 -1
- data/db/migrate/20170302000101_create_privileges.rb +7 -6
- data/db/migrate/20170302000102_create_user_privileges.rb +1 -1
- data/db/migrate/20170302000103_create_privilege_groups.rb +0 -1
- data/db/migrate/20170302000104_create_privilege_group_privileges.rb +0 -4
- data/db/migrate/20170320000000_create_editable_pages.rb +12 -3
- data/db/migrate/20171025222222_add_new_fields_171026.rb +0 -8
- data/db/migrate/20171211000000_create_feedback_requests.rb +1 -0
- data/db/migrate/20171223333333_amend_foreign_keys.rb +1 -3
- data/db/migrate/20180117151515_add_language_to_models.rb +25 -0
- data/db/migrate/20180117160000_create_user_languages.rb +17 -0
- data/lib/biovision/base/base_methods.rb +1 -1
- data/lib/biovision/base/engine.rb +0 -1
- data/lib/biovision/base/privilege_methods.rb +3 -21
- data/lib/biovision/base/version.rb +1 -1
- metadata +13 -34
- data/app/assets/images/biovision/base/placeholders/region_image.svg +0 -1
- data/app/assets/stylesheets/biovision/base/regions.scss +0 -9
- data/app/controllers/admin/regions_controller.rb +0 -28
- data/app/controllers/regions_controller.rb +0 -73
- data/app/helpers/biovision_regions_helper.rb +0 -22
- data/app/models/central_region.rb +0 -53
- data/app/models/region.rb +0 -110
- data/app/uploaders/header_image_uploader.rb +0 -50
- data/app/uploaders/region_image_uploader.rb +0 -53
- data/app/views/admin/agents/_toggleable.html.erb +0 -7
- data/app/views/admin/browsers/_toggleable.html.erb +0 -7
- data/app/views/admin/index/dashboard/_biovision_region.html.erb +0 -8
- data/app/views/admin/privileges/_toggleable.html.erb +0 -7
- data/app/views/admin/privileges/entity/_region.html.erb +0 -12
- data/app/views/admin/privileges/regions.jbuilder +0 -10
- data/app/views/admin/regions/_nav_item.html.erb +0 -2
- data/app/views/admin/regions/_toggleable.html.erb +0 -7
- data/app/views/admin/regions/entity/_in_list.html.erb +0 -32
- data/app/views/admin/regions/index.html.erb +0 -22
- data/app/views/admin/regions/show.html.erb +0 -95
- data/app/views/admin/tokens/_toggleable.html.erb +0 -7
- data/app/views/admin/users/_toggleable.html.erb +0 -7
- data/app/views/regions/_form.html.erb +0 -73
- data/app/views/regions/edit.html.erb +0 -20
- data/app/views/regions/new.html.erb +0 -17
- data/config/locales/regions-ru.yml +0 -62
- data/db/migrate/20170301000201_create_regions.rb +0 -35
- data/lib/tasks/regions.rake +0 -105
@@ -0,0 +1,92 @@
|
|
1
|
+
en:
|
2
|
+
media_file_count:
|
3
|
+
zero: "no media files"
|
4
|
+
one: "%{count} file"
|
5
|
+
few: "%{count} files"
|
6
|
+
many: "%{count} files"
|
7
|
+
other: "%{count} files"
|
8
|
+
child_media_folder_count:
|
9
|
+
zero: "no inner folders"
|
10
|
+
one: "%{count} inner folder"
|
11
|
+
few: "%{count} inner folders"
|
12
|
+
many: "%{count} inner folders"
|
13
|
+
other: "%{count} inner folders"
|
14
|
+
activerecord:
|
15
|
+
models:
|
16
|
+
media_folder: "Media-folder"
|
17
|
+
media_file: "Media-file"
|
18
|
+
errors:
|
19
|
+
models:
|
20
|
+
media_folder:
|
21
|
+
attributes:
|
22
|
+
parent:
|
23
|
+
is_too_deep: "is too deep"
|
24
|
+
attributes:
|
25
|
+
media_file:
|
26
|
+
description: "Description"
|
27
|
+
file: "File"
|
28
|
+
media_folder: "Folder"
|
29
|
+
media_folder_id: "Folder"
|
30
|
+
mime_type: "MIME-type"
|
31
|
+
name: "Name"
|
32
|
+
original_name: "Original name"
|
33
|
+
snapshot: "Snapshot"
|
34
|
+
user: "User"
|
35
|
+
uuid: "UUID"
|
36
|
+
media_folder:
|
37
|
+
name: "Name"
|
38
|
+
parent: "Parent folder"
|
39
|
+
parent_id: "Parent folder"
|
40
|
+
snapshot: "Snapshot"
|
41
|
+
user: "User"
|
42
|
+
uuid: "UUID"
|
43
|
+
admin:
|
44
|
+
media_files:
|
45
|
+
nav_item:
|
46
|
+
description: "Managing uploaded files"
|
47
|
+
text: "Media-files"
|
48
|
+
index:
|
49
|
+
title: "Media-files, page %{page}"
|
50
|
+
heading: "Media-files"
|
51
|
+
media_folders:
|
52
|
+
nav_item:
|
53
|
+
description: "Managing folders for media-files"
|
54
|
+
text: "Media-folders"
|
55
|
+
index:
|
56
|
+
title: "Media-folders"
|
57
|
+
heading: "Media-folders"
|
58
|
+
show:
|
59
|
+
add_child: "Add child folder"
|
60
|
+
media_files: "Files"
|
61
|
+
files:
|
62
|
+
title: "Files in media-folder \"%{name}\", page %{page}"
|
63
|
+
media_files:
|
64
|
+
new:
|
65
|
+
heading: "New media-file"
|
66
|
+
title: "Adding media-file"
|
67
|
+
edit:
|
68
|
+
heading: "Editing media-file"
|
69
|
+
forbidden: "Editing this file is forbitten"
|
70
|
+
title: "Editing media-file"
|
71
|
+
destroy:
|
72
|
+
success: "File has been updated"
|
73
|
+
update:
|
74
|
+
success: "File has been deleted"
|
75
|
+
form:
|
76
|
+
guidelines:
|
77
|
+
file: "Image with maximum dimensions of 3000×3000, format: JPG or PNG."
|
78
|
+
name: "Maximum 250 characters."
|
79
|
+
description: "Maximum 250 characters."
|
80
|
+
media_folders:
|
81
|
+
new:
|
82
|
+
heading: "New media-folder"
|
83
|
+
title: "Adding media-folder"
|
84
|
+
edit:
|
85
|
+
heading: "Editing media-folder"
|
86
|
+
title: "Editing media-folder"
|
87
|
+
destroy:
|
88
|
+
success: "Media-folder has been deleted"
|
89
|
+
form:
|
90
|
+
guidelines:
|
91
|
+
snapshot: "Image of size 160×160, format: JPG or PNG."
|
92
|
+
name: "Maximum 100 characters."
|
data/config/locales/users-ru.yml
CHANGED
data/config/routes.rb
CHANGED
@@ -50,14 +50,6 @@ Rails.application.routes.draw do
|
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
53
|
-
resources :regions, only: [:index, :show] do
|
54
|
-
member do
|
55
|
-
post 'toggle', defaults: { format: :json }
|
56
|
-
put 'lock', defaults: { format: :json }
|
57
|
-
delete 'lock', action: :unlock, defaults: { format: :json }
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
53
|
resources :privileges, only: [:index, :show] do
|
62
54
|
member do
|
63
55
|
put 'lock', defaults: { format: :json }
|
@@ -134,8 +126,6 @@ Rails.application.routes.draw do
|
|
134
126
|
|
135
127
|
resources :metrics, only: [:edit, :update]
|
136
128
|
|
137
|
-
resources :regions, except: [:index, :show]
|
138
|
-
|
139
129
|
resources :privileges, except: [:index, :show]
|
140
130
|
resources :privilege_groups, except: [:index, :show]
|
141
131
|
|
@@ -0,0 +1,22 @@
|
|
1
|
+
class CreateLanguages < ActiveRecord::Migration[5.1]
|
2
|
+
def up
|
3
|
+
unless Language.table_exists?
|
4
|
+
create_table :languages do |t|
|
5
|
+
t.timestamps
|
6
|
+
t.integer :users_count, default: 0, null: false
|
7
|
+
t.integer :priority, limit: 2, default: 1, null: false
|
8
|
+
t.string :slug, null: false
|
9
|
+
t.string :code, null: false
|
10
|
+
end
|
11
|
+
|
12
|
+
Language.create!(code: 'ru', slug: 'russian')
|
13
|
+
Language.create!(code: 'en', slug: 'english')
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def down
|
18
|
+
if Language.table_exists?
|
19
|
+
drop_table :languages
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -3,7 +3,8 @@ class CreateUsers < ActiveRecord::Migration[5.1]
|
|
3
3
|
unless User.table_exists?
|
4
4
|
create_table :users do |t|
|
5
5
|
t.timestamps
|
6
|
-
t.
|
6
|
+
t.integer :region_id
|
7
|
+
t.references :language, foreign_key: { on_update: :cascade, on_delete: :nullify }
|
7
8
|
t.references :agent, foreign_key: { on_update: :cascade, on_delete: :nullify }
|
8
9
|
t.inet :ip
|
9
10
|
t.integer :inviter_id
|
@@ -19,12 +19,6 @@ class CreatePrivileges < ActiveRecord::Migration[5.1]
|
|
19
19
|
add_foreign_key :privileges, :privileges, column: :parent_id, on_update: :cascade, on_delete: :cascade
|
20
20
|
|
21
21
|
add_index :privileges, :slug, unique: true
|
22
|
-
|
23
|
-
Privilege.create!(slug: 'administrator', name: 'Администратор')
|
24
|
-
Privilege.create!(slug: 'metrics_manager', name: 'Аналитик метрик')
|
25
|
-
Privilege.create!(slug: 'moderator', name: 'Модератор')
|
26
|
-
Privilege.create!(slug: 'chief_editor', name: 'Главный редактор')
|
27
|
-
Privilege.create!(slug: 'region_manager', name: 'Управляющий регионом', regional: true)
|
28
22
|
end
|
29
23
|
end
|
30
24
|
|
@@ -33,4 +27,11 @@ class CreatePrivileges < ActiveRecord::Migration[5.1]
|
|
33
27
|
drop_table :privileges
|
34
28
|
end
|
35
29
|
end
|
30
|
+
|
31
|
+
def create_privileges
|
32
|
+
Privilege.create!(slug: 'administrator', name: 'Администратор')
|
33
|
+
Privilege.create!(slug: 'metrics_manager', name: 'Аналитик метрик')
|
34
|
+
Privilege.create!(slug: 'moderator', name: 'Модератор')
|
35
|
+
Privilege.create!(slug: 'chief_editor', name: 'Главный редактор')
|
36
|
+
end
|
36
37
|
end
|
@@ -3,7 +3,7 @@ class CreateUserPrivileges < ActiveRecord::Migration[5.1]
|
|
3
3
|
unless UserPrivilege.table_exists?
|
4
4
|
create_table :user_privileges do |t|
|
5
5
|
t.timestamps
|
6
|
-
t.
|
6
|
+
t.integer :region_id
|
7
7
|
t.references :user, null: false, foreign_key: { on_update: :cascade, on_delete: :cascade }
|
8
8
|
t.references :privilege, null: false, foreign_key: { on_update: :cascade, on_delete: :cascade }
|
9
9
|
end
|
@@ -10,7 +10,6 @@ class CreatePrivilegeGroups < ActiveRecord::Migration[5.1]
|
|
10
10
|
|
11
11
|
add_index :privilege_groups, :slug, unique: true
|
12
12
|
|
13
|
-
PrivilegeGroup.create(slug: 'region_managers', name: 'Управляющие регионами')
|
14
13
|
PrivilegeGroup.create(slug: 'editors', name: 'Редакторы')
|
15
14
|
PrivilegeGroup.create(slug: 'editorial_office', name: 'Члены редакции')
|
16
15
|
end
|
@@ -13,10 +13,6 @@ class CreatePrivilegeGroupPrivileges < ActiveRecord::Migration[5.1]
|
|
13
13
|
group = PrivilegeGroup.find_by(slug: 'editorial_office')
|
14
14
|
group.add_privilege(Privilege.find_by(slug: 'chief_editor'))
|
15
15
|
group.add_privilege(Privilege.find_by(slug: 'moderator'))
|
16
|
-
|
17
|
-
group = PrivilegeGroup.find_by(slug: 'region_managers')
|
18
|
-
group.add_privilege(Privilege.find_by(slug: 'administrator'))
|
19
|
-
group.add_privilege(Privilege.find_by(slug: 'region_manager'))
|
20
16
|
end
|
21
17
|
end
|
22
18
|
|
@@ -3,6 +3,7 @@ class CreateEditablePages < ActiveRecord::Migration[5.1]
|
|
3
3
|
unless EditablePage.table_exists?
|
4
4
|
create_table :editable_pages do |t|
|
5
5
|
t.timestamps
|
6
|
+
t.references :language, foreign_key: { on_update: :cascade, on_delete: :cascade }
|
6
7
|
t.integer :priority, limit: 2, default: 1, null: false
|
7
8
|
t.string :slug, null: false
|
8
9
|
t.string :name, null: false
|
@@ -15,9 +16,17 @@ class CreateEditablePages < ActiveRecord::Migration[5.1]
|
|
15
16
|
t.text :body, default: '', null: false
|
16
17
|
end
|
17
18
|
|
18
|
-
|
19
|
-
|
20
|
-
|
19
|
+
pages = {
|
20
|
+
index: { ru: 'Главная страница', en: 'Main page' },
|
21
|
+
about: { ru: 'О проекте', en: 'About' },
|
22
|
+
tos: { ru: 'Пользовательское соглашение', en: 'Terms of service' },
|
23
|
+
}
|
24
|
+
|
25
|
+
pages.each do |slug, names|
|
26
|
+
Language.each do |language|
|
27
|
+
EditablePage.create(slug: slug, name: names[language.code.to_sym], language: language)
|
28
|
+
end
|
29
|
+
end
|
21
30
|
end
|
22
31
|
end
|
23
32
|
|
@@ -1,13 +1,5 @@
|
|
1
1
|
class AddNewFields171026 < ActiveRecord::Migration[5.1]
|
2
2
|
def up
|
3
|
-
unless column_exists?(:regions, :image_url)
|
4
|
-
change_table :regions do |t|
|
5
|
-
t.string :image_url
|
6
|
-
t.text :map_geometry
|
7
|
-
t.text :svg_geometry
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
3
|
unless column_exists?(:editable_pages, :url)
|
12
4
|
change_table :editable_pages do |t|
|
13
5
|
t.integer :priority, limit: 2, default: 1, null: false
|
@@ -3,6 +3,7 @@ class CreateFeedbackRequests < ActiveRecord::Migration[5.1]
|
|
3
3
|
unless FeedbackRequest.table_exists?
|
4
4
|
create_table :feedback_requests do |t|
|
5
5
|
t.timestamps
|
6
|
+
t.references :language, foreign_key: { on_update: :cascade, on_delete: :nullify }
|
6
7
|
t.references :agent, foreign_key: { on_update: :cascade, on_delete: :nullify }
|
7
8
|
t.inet :ip
|
8
9
|
t.boolean :processed
|
@@ -8,8 +8,7 @@ class AmendForeignKeys < ActiveRecord::Migration[5.1]
|
|
8
8
|
browsers: { on_update: :cascade, on_delete: :cascade }
|
9
9
|
},
|
10
10
|
users: {
|
11
|
-
|
12
|
-
agents: { on_update: :cascade, on_delete: :nullify }
|
11
|
+
agents: { on_update: :cascade, on_delete: :nullify }
|
13
12
|
},
|
14
13
|
user_profiles: {
|
15
14
|
users: { on_update: :cascade, on_delete: :cascade }
|
@@ -24,7 +23,6 @@ class AmendForeignKeys < ActiveRecord::Migration[5.1]
|
|
24
23
|
agents: { on_update: :cascade, on_delete: :nullify }
|
25
24
|
},
|
26
25
|
user_privileges: {
|
27
|
-
regions: { on_update: :cascade, on_delete: :cascade },
|
28
26
|
users: { on_update: :cascade, on_delete: :cascade },
|
29
27
|
privileges: { on_update: :cascade, on_delete: :cascade }
|
30
28
|
},
|
@@ -0,0 +1,25 @@
|
|
1
|
+
class AddLanguageToModels < ActiveRecord::Migration[5.1]
|
2
|
+
def up
|
3
|
+
unless column_exists?(:users, :language_id)
|
4
|
+
change_table :users do |t|
|
5
|
+
t.references :language, foreign_key: { on_update: :cascade, on_delete: :nullify }
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
unless column_exists?(:editable_pages, :language_id)
|
10
|
+
change_table :editable_pages do |t|
|
11
|
+
t.references :language, foreign_key: { on_update: :cascade, on_delete: :cascade }
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
unless column_exists?(:feedback_requests, :language_id)
|
16
|
+
change_table :feedback_requests do |t|
|
17
|
+
t.references :language, foreign_key: { on_update: :cascade, on_delete: :nullify }
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def down
|
23
|
+
# No rollback needed
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class CreateUserLanguages < ActiveRecord::Migration[5.1]
|
2
|
+
def up
|
3
|
+
unless UserLanguage.table_exists?
|
4
|
+
create_table :user_languages do |t|
|
5
|
+
t.timestamps
|
6
|
+
t.references :user, null: false, foreign_key: { on_update: :cascade, on_delete: :cascade }
|
7
|
+
t.references :language, null: false, foreign_key: { on_update: :cascade, on_delete: :cascade }
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
def down
|
13
|
+
if UserLanguage.table_exists?
|
14
|
+
drop_table :user_languages
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -17,7 +17,7 @@ module Biovision
|
|
17
17
|
|
18
18
|
# Get parameter from request and normalize it
|
19
19
|
#
|
20
|
-
# Casts request parameter to UTF-8 string
|
20
|
+
# Casts request parameter to UTF-8 string and removes invalid characters
|
21
21
|
#
|
22
22
|
# @param [Symbol] param
|
23
23
|
# @return [String]
|
@@ -5,17 +5,11 @@ module Biovision
|
|
5
5
|
|
6
6
|
included do
|
7
7
|
helper_method :current_user_has_privilege?, :current_user_in_group?
|
8
|
-
helper_method :current_region
|
9
|
-
end
|
10
|
-
|
11
|
-
def current_region
|
12
|
-
@current_region ||= set_current_region
|
13
8
|
end
|
14
9
|
|
15
10
|
# @param [Symbol] privilege_name
|
16
|
-
|
17
|
-
|
18
|
-
::UserPrivilege.user_has_privilege?(current_user, privilege_name, region)
|
11
|
+
def current_user_has_privilege?(privilege_name)
|
12
|
+
::UserPrivilege.user_has_privilege?(current_user, privilege_name)
|
19
13
|
end
|
20
14
|
|
21
15
|
# @param [Symbol] group_name
|
@@ -27,7 +21,7 @@ module Biovision
|
|
27
21
|
|
28
22
|
# @param [Symbol] privilege_name
|
29
23
|
def require_privilege(privilege_name)
|
30
|
-
return if current_user_has_privilege?(privilege_name
|
24
|
+
return if current_user_has_privilege?(privilege_name)
|
31
25
|
handle_http_401("Current user has no privilege #{privilege_name}")
|
32
26
|
end
|
33
27
|
|
@@ -36,18 +30,6 @@ module Biovision
|
|
36
30
|
return if current_user_in_group?(group_name)
|
37
31
|
handle_http_401("Current user is not in group #{group_name}")
|
38
32
|
end
|
39
|
-
|
40
|
-
def set_current_region
|
41
|
-
region_slug = param_from_request(:region_slug)
|
42
|
-
if region_slug.blank?
|
43
|
-
region_slug = request.subdomains.first
|
44
|
-
end
|
45
|
-
if region_slug.blank?
|
46
|
-
@current_region = CentralRegion.new
|
47
|
-
else
|
48
|
-
@current_region = Region.find_by(long_slug: region_slug) || CentralRegion.new
|
49
|
-
end
|
50
|
-
end
|
51
33
|
end
|
52
34
|
end
|
53
35
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: biovision-base
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.11.180127
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Maxim Khan-Magomedov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-01-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -140,16 +140,16 @@ dependencies:
|
|
140
140
|
name: pg
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
|
-
- - "
|
143
|
+
- - "~>"
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version: '0'
|
145
|
+
version: '0.18'
|
146
146
|
type: :development
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
|
-
- - "
|
150
|
+
- - "~>"
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version: '0'
|
152
|
+
version: '0.18'
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: rspec-rails
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
@@ -195,7 +195,6 @@ files:
|
|
195
195
|
- app/assets/images/biovision/base/placeholders/file.svg
|
196
196
|
- app/assets/images/biovision/base/placeholders/image.svg
|
197
197
|
- app/assets/images/biovision/base/placeholders/photo.svg
|
198
|
-
- app/assets/images/biovision/base/placeholders/region_image.svg
|
199
198
|
- app/assets/images/biovision/base/placeholders/user.svg
|
200
199
|
- app/assets/javascripts/biovision/base/biovision-sliders.js
|
201
200
|
- app/assets/javascripts/biovision/base/biovision.js
|
@@ -209,7 +208,6 @@ files:
|
|
209
208
|
- app/assets/stylesheets/biovision/base/layout.scss
|
210
209
|
- app/assets/stylesheets/biovision/base/message-box.scss
|
211
210
|
- app/assets/stylesheets/biovision/base/pagination.scss
|
212
|
-
- app/assets/stylesheets/biovision/base/regions.scss
|
213
211
|
- app/assets/stylesheets/biovision/base/toggleable.scss
|
214
212
|
- app/assets/stylesheets/biovision/base/tootik.scss
|
215
213
|
- app/assets/stylesheets/biovision/base/track.scss
|
@@ -227,7 +225,6 @@ files:
|
|
227
225
|
- app/controllers/admin/metrics_controller.rb
|
228
226
|
- app/controllers/admin/privilege_groups_controller.rb
|
229
227
|
- app/controllers/admin/privileges_controller.rb
|
230
|
-
- app/controllers/admin/regions_controller.rb
|
231
228
|
- app/controllers/admin/stored_values_controller.rb
|
232
229
|
- app/controllers/admin/tokens_controller.rb
|
233
230
|
- app/controllers/admin/users_controller.rb
|
@@ -256,12 +253,10 @@ files:
|
|
256
253
|
- app/controllers/privilege_groups_controller.rb
|
257
254
|
- app/controllers/privileges_controller.rb
|
258
255
|
- app/controllers/profiles_controller.rb
|
259
|
-
- app/controllers/regions_controller.rb
|
260
256
|
- app/controllers/stored_values_controller.rb
|
261
257
|
- app/controllers/tokens_controller.rb
|
262
258
|
- app/controllers/users_controller.rb
|
263
259
|
- app/helpers/biovision_helper.rb
|
264
|
-
- app/helpers/biovision_regions_helper.rb
|
265
260
|
- app/helpers/biovision_users_helper.rb
|
266
261
|
- app/helpers/codes_helper.rb
|
267
262
|
- app/helpers/editable_pages_helper.rb
|
@@ -278,7 +273,6 @@ files:
|
|
278
273
|
- app/models/agent.rb
|
279
274
|
- app/models/application_record.rb
|
280
275
|
- app/models/browser.rb
|
281
|
-
- app/models/central_region.rb
|
282
276
|
- app/models/code.rb
|
283
277
|
- app/models/code_type.rb
|
284
278
|
- app/models/concerns/has_owner.rb
|
@@ -289,6 +283,7 @@ files:
|
|
289
283
|
- app/models/feedback_request.rb
|
290
284
|
- app/models/foreign_site.rb
|
291
285
|
- app/models/foreign_user.rb
|
286
|
+
- app/models/language.rb
|
292
287
|
- app/models/login_attempt.rb
|
293
288
|
- app/models/media_file.rb
|
294
289
|
- app/models/media_folder.rb
|
@@ -297,10 +292,10 @@ files:
|
|
297
292
|
- app/models/privilege.rb
|
298
293
|
- app/models/privilege_group.rb
|
299
294
|
- app/models/privilege_group_privilege.rb
|
300
|
-
- app/models/region.rb
|
301
295
|
- app/models/stored_value.rb
|
302
296
|
- app/models/token.rb
|
303
297
|
- app/models/user.rb
|
298
|
+
- app/models/user_language.rb
|
304
299
|
- app/models/user_privilege.rb
|
305
300
|
- app/models/user_profile.rb
|
306
301
|
- app/services/canonizer.rb
|
@@ -312,22 +307,18 @@ files:
|
|
312
307
|
- app/services/user_manager.rb
|
313
308
|
- app/uploaders/avatar_uploader.rb
|
314
309
|
- app/uploaders/editable_page_image_uploader.rb
|
315
|
-
- app/uploaders/header_image_uploader.rb
|
316
310
|
- app/uploaders/media_file_uploader.rb
|
317
311
|
- app/uploaders/media_snapshot_uploader.rb
|
318
|
-
- app/uploaders/region_image_uploader.rb
|
319
312
|
- app/views/about/editable.html.erb
|
320
313
|
- app/views/admin/agents/_filter.html.erb
|
321
314
|
- app/views/admin/agents/_list.html.erb
|
322
315
|
- app/views/admin/agents/_nav_item.html.erb
|
323
|
-
- app/views/admin/agents/_toggleable.html.erb
|
324
316
|
- app/views/admin/agents/entity/_in_list.html.erb
|
325
317
|
- app/views/admin/agents/entity/_preview.jbuilder
|
326
318
|
- app/views/admin/agents/index.html.erb
|
327
319
|
- app/views/admin/agents/show.html.erb
|
328
320
|
- app/views/admin/browsers/_list.html.erb
|
329
321
|
- app/views/admin/browsers/_nav_item.html.erb
|
330
|
-
- app/views/admin/browsers/_toggleable.html.erb
|
331
322
|
- app/views/admin/browsers/agents/_add.html.erb
|
332
323
|
- app/views/admin/browsers/entity/_in_list.html.erb
|
333
324
|
- app/views/admin/browsers/index.html.erb
|
@@ -346,7 +337,6 @@ files:
|
|
346
337
|
- app/views/admin/index/_biovision_base.html.erb
|
347
338
|
- app/views/admin/index/_custom_dashboard.html.erb
|
348
339
|
- app/views/admin/index/dashboard/_biovision_feedback.html.erb
|
349
|
-
- app/views/admin/index/dashboard/_biovision_region.html.erb
|
350
340
|
- app/views/admin/index/dashboard/_biovision_track.html.erb
|
351
341
|
- app/views/admin/index/dashboard/_biovision_user.html.erb
|
352
342
|
- app/views/admin/index/dashboard/_editorial.html.erb
|
@@ -378,26 +368,17 @@ files:
|
|
378
368
|
- app/views/admin/privilege_groups/show.html.erb
|
379
369
|
- app/views/admin/privileges/_list.html.erb
|
380
370
|
- app/views/admin/privileges/_nav_item.html.erb
|
381
|
-
- app/views/admin/privileges/_toggleable.html.erb
|
382
371
|
- app/views/admin/privileges/entity/_groups.html.erb
|
383
372
|
- app/views/admin/privileges/entity/_in_list.html.erb
|
384
|
-
- app/views/admin/privileges/entity/_region.html.erb
|
385
373
|
- app/views/admin/privileges/index.html.erb
|
386
|
-
- app/views/admin/privileges/regions.jbuilder
|
387
374
|
- app/views/admin/privileges/show.html.erb
|
388
375
|
- app/views/admin/privileges/users.html.erb
|
389
|
-
- app/views/admin/regions/_nav_item.html.erb
|
390
|
-
- app/views/admin/regions/_toggleable.html.erb
|
391
|
-
- app/views/admin/regions/entity/_in_list.html.erb
|
392
|
-
- app/views/admin/regions/index.html.erb
|
393
|
-
- app/views/admin/regions/show.html.erb
|
394
376
|
- app/views/admin/stored_values/_nav_item.html.erb
|
395
377
|
- app/views/admin/stored_values/entity/_in_list.html.erb
|
396
378
|
- app/views/admin/stored_values/index.html.erb
|
397
379
|
- app/views/admin/stored_values/show.html.erb
|
398
380
|
- app/views/admin/tokens/_filter.html.erb
|
399
381
|
- app/views/admin/tokens/_nav_item.html.erb
|
400
|
-
- app/views/admin/tokens/_toggleable.html.erb
|
401
382
|
- app/views/admin/tokens/entity/_in_list.html.erb
|
402
383
|
- app/views/admin/tokens/index.html.erb
|
403
384
|
- app/views/admin/tokens/show.html.erb
|
@@ -405,7 +386,6 @@ files:
|
|
405
386
|
- app/views/admin/users/_list.html.erb
|
406
387
|
- app/views/admin/users/_nav_item.html.erb
|
407
388
|
- app/views/admin/users/_search.html.erb
|
408
|
-
- app/views/admin/users/_toggleable.html.erb
|
409
389
|
- app/views/admin/users/codes.html.erb
|
410
390
|
- app/views/admin/users/entity/_in_list.html.erb
|
411
391
|
- app/views/admin/users/entity/_preview.jbuilder
|
@@ -509,9 +489,6 @@ files:
|
|
509
489
|
- app/views/privileges/new.html.erb
|
510
490
|
- app/views/profiles/_profile.html.erb
|
511
491
|
- app/views/profiles/show.html.erb
|
512
|
-
- app/views/regions/_form.html.erb
|
513
|
-
- app/views/regions/edit.html.erb
|
514
|
-
- app/views/regions/new.html.erb
|
515
492
|
- app/views/shared/_breadcrumbs.html.erb
|
516
493
|
- app/views/shared/_counters.html.erb
|
517
494
|
- app/views/shared/_flash_messages.html.erb
|
@@ -544,20 +521,21 @@ files:
|
|
544
521
|
- config/initializers/pluralization.rb
|
545
522
|
- config/locales/common-en.yml
|
546
523
|
- config/locales/common-ru.yml
|
524
|
+
- config/locales/editable-pages-en.yml
|
547
525
|
- config/locales/editable-pages-ru.yml
|
548
526
|
- config/locales/feedback-en.yml
|
549
527
|
- config/locales/feedback-ru.yml
|
528
|
+
- config/locales/media-en.yml
|
550
529
|
- config/locales/media-ru.yml
|
551
530
|
- config/locales/plurals.rb
|
552
|
-
- config/locales/regions-ru.yml
|
553
531
|
- config/locales/track-ru.yml
|
554
532
|
- config/locales/users-ru.yml
|
555
533
|
- config/routes.rb
|
534
|
+
- db/migrate/20170228000000_create_languages.rb
|
556
535
|
- db/migrate/20170301000001_create_metrics.rb
|
557
536
|
- db/migrate/20170301000002_create_metric_values.rb
|
558
537
|
- db/migrate/20170301000101_create_browsers.rb
|
559
538
|
- db/migrate/20170301000102_create_agents.rb
|
560
|
-
- db/migrate/20170301000201_create_regions.rb
|
561
539
|
- db/migrate/20170302000001_create_users.rb
|
562
540
|
- db/migrate/20170302000002_create_user_profiles.rb
|
563
541
|
- db/migrate/20170302000003_create_tokens.rb
|
@@ -578,6 +556,8 @@ files:
|
|
578
556
|
- db/migrate/20171211000000_create_feedback_requests.rb
|
579
557
|
- db/migrate/20171217222222_add_fields_to_feedback_requests.rb
|
580
558
|
- db/migrate/20171223333333_amend_foreign_keys.rb
|
559
|
+
- db/migrate/20180117151515_add_language_to_models.rb
|
560
|
+
- db/migrate/20180117160000_create_user_languages.rb
|
581
561
|
- lib/biovision/base.rb
|
582
562
|
- lib/biovision/base/base_methods.rb
|
583
563
|
- lib/biovision/base/engine.rb
|
@@ -587,7 +567,6 @@ files:
|
|
587
567
|
- lib/tasks/biovision/base_tasks.rake
|
588
568
|
- lib/tasks/browsers.rake
|
589
569
|
- lib/tasks/codes.rake
|
590
|
-
- lib/tasks/regions.rake
|
591
570
|
- lib/tasks/tokens.rake
|
592
571
|
- lib/tasks/users.rake
|
593
572
|
homepage: https://github.com/Biovision/biovision-base
|