biovision 0.0.200518.1 → 0.12.211124.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (345) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +105 -52
  3. data/app/assets/images/biovision/icons/back.svg +19 -0
  4. data/app/assets/images/biovision/icons/create.svg +19 -0
  5. data/app/assets/images/biovision/icons/destroy.svg +12 -0
  6. data/app/assets/images/biovision/icons/dropdown.svg +3 -0
  7. data/app/assets/images/biovision/icons/edit.svg +22 -0
  8. data/app/assets/images/biovision/icons/gear.svg +11 -0
  9. data/app/assets/images/biovision/icons/return.svg +25 -0
  10. data/app/assets/images/biovision/icons/world.svg +11 -0
  11. data/app/assets/stylesheets/biovision/admin/components/users.scss +20 -0
  12. data/app/assets/stylesheets/biovision/admin/components.scss +13 -1
  13. data/app/assets/stylesheets/biovision/admin/layout.scss +27 -12
  14. data/app/assets/stylesheets/biovision/biovision.scss +105 -26
  15. data/app/assets/stylesheets/biovision/components/breadcrumbs.scss +13 -0
  16. data/app/assets/stylesheets/biovision/components/buttons.scss +130 -0
  17. data/app/assets/stylesheets/biovision/components/filters.scss +39 -0
  18. data/app/assets/stylesheets/biovision/components/forms.scss +208 -1
  19. data/app/assets/stylesheets/biovision/components/lists.scss +6 -7
  20. data/app/assets/stylesheets/biovision/{biovision → components}/messages.scss +9 -0
  21. data/app/assets/stylesheets/biovision/components/pagination.scss +34 -0
  22. data/app/assets/stylesheets/biovision/components/quick_search.scss +24 -0
  23. data/app/assets/stylesheets/biovision/components/simple_image.scss +112 -0
  24. data/app/assets/stylesheets/biovision/components/toggleable.scss +71 -0
  25. data/app/assets/stylesheets/biovision/components.scss +7 -0
  26. data/app/assets/stylesheets/biovision/default.scss +4 -4
  27. data/app/assets/stylesheets/biovision/themes/default_theme/components/users/dashboard.scss +4 -0
  28. data/app/assets/stylesheets/biovision/themes/default_theme/components/users/form_tabs.scss +101 -0
  29. data/app/assets/stylesheets/biovision/themes/default_theme/components/users/profile.scss +77 -0
  30. data/app/assets/stylesheets/biovision/themes/default_theme/components/users.scss +3 -0
  31. data/app/assets/stylesheets/biovision/themes/default_theme/components.scss +2 -3
  32. data/app/assets/stylesheets/biovision/themes/default_theme/layout/footer.scss +3 -0
  33. data/app/assets/stylesheets/biovision/themes/default_theme/layout/header.scss +12 -0
  34. data/app/assets/stylesheets/biovision/themes/default_theme/layout.scss +8 -19
  35. data/app/assets/stylesheets/biovision/themes/default_theme.scss +0 -1
  36. data/app/assets/stylesheets/biovision/vars.scss +5 -0
  37. data/app/controllers/admin/biovision_components_controller.rb +10 -0
  38. data/app/controllers/admin/components_controller.rb +37 -97
  39. data/app/controllers/admin/dynamic_blocks_controller.rb +15 -0
  40. data/app/controllers/admin/dynamic_pages_controller.rb +15 -0
  41. data/app/controllers/admin/index_controller.rb +8 -2
  42. data/app/controllers/admin/navigation_groups_controller.rb +45 -0
  43. data/app/controllers/admin/tokens_controller.rb +15 -0
  44. data/app/controllers/admin/users_controller.rb +101 -0
  45. data/app/controllers/admin_controller.rb +2 -8
  46. data/app/controllers/authentication_controller.rb +6 -34
  47. data/app/controllers/concerns/authentication.rb +12 -12
  48. data/app/controllers/concerns/component_stories.rb +22 -0
  49. data/app/controllers/concerns/crud_entities.rb +140 -0
  50. data/app/controllers/concerns/entity_priority.rb +10 -0
  51. data/app/controllers/concerns/my_crud_entities.rb +146 -0
  52. data/app/controllers/concerns/processed_forms.rb +28 -0
  53. data/app/controllers/concerns/restricted_access.rb +37 -0
  54. data/app/controllers/concerns/toggleable_entity.rb +31 -0
  55. data/app/controllers/contact_controller.rb +49 -0
  56. data/app/controllers/errors_controller.rb +37 -0
  57. data/app/controllers/fallback_controller.rb +12 -0
  58. data/app/controllers/index_controller.rb +1 -0
  59. data/app/controllers/legal_controller.rb +14 -0
  60. data/app/controllers/my/components_controller.rb +26 -0
  61. data/app/controllers/my/confirmations_controller.rb +44 -0
  62. data/app/controllers/my/index_controller.rb +7 -1
  63. data/app/controllers/my/profiles_controller.rb +33 -16
  64. data/app/controllers/oembed_controller.rb +12 -0
  65. data/app/controllers/profile_controller.rb +14 -0
  66. data/app/controllers/users_controller.rb +63 -0
  67. data/app/helpers/biovision_components_helper.rb +7 -3
  68. data/app/helpers/biovision_helper.rb +170 -0
  69. data/app/helpers/entity_helper.rb +77 -0
  70. data/app/helpers/my_helper.rb +34 -0
  71. data/app/helpers/simple_image_helper.rb +125 -0
  72. data/app/jobs/application_job.rb +7 -0
  73. data/app/jobs/send_phone_confirmation_job.rb +16 -0
  74. data/app/lib/biovision/components/base/component_parameters.rb +55 -0
  75. data/app/lib/biovision/components/base/component_privileges.rb +75 -0
  76. data/app/lib/biovision/components/base/component_settings.rb +40 -0
  77. data/app/lib/biovision/components/base/component_stories.rb +30 -0
  78. data/app/lib/biovision/components/base/entity_links.rb +38 -0
  79. data/app/lib/biovision/components/base/image_handling.rb +33 -0
  80. data/app/lib/biovision/components/base_component.rb +63 -95
  81. data/app/lib/biovision/components/contact_component.rb +26 -0
  82. data/app/lib/biovision/components/content/oembed/receiver.rb +98 -0
  83. data/app/lib/biovision/components/content/oembed/twitter_receiver.rb +20 -0
  84. data/app/lib/biovision/components/content/oembed/vimeo_receiver.rb +20 -0
  85. data/app/lib/biovision/components/content/oembed/youtube_receiver.rb +20 -0
  86. data/app/lib/biovision/components/content_component.rb +65 -0
  87. data/app/lib/biovision/components/track_component.rb +3 -0
  88. data/app/lib/biovision/components/users/authentication.rb +15 -7
  89. data/app/lib/biovision/components/users/codes.rb +104 -0
  90. data/app/lib/biovision/components/users/flag_helpers.rb +72 -0
  91. data/app/lib/biovision/components/users/profile_handler.rb +111 -1
  92. data/app/lib/biovision/components/users/registration_handler.rb +40 -52
  93. data/app/lib/biovision/components/users/validation.rb +83 -0
  94. data/app/lib/biovision/components/users_component.rb +114 -19
  95. data/app/lib/biovision/helpers/data_helper.rb +70 -0
  96. data/app/lib/biovision/helpers/export_helper.rb +97 -0
  97. data/app/lib/biovision/migrations/component_migration.rb +56 -0
  98. data/app/lib/biovision/notifiers/base_notifier.rb +2 -2
  99. data/app/lib/biovision/notifiers/contact_notifier.rb +15 -0
  100. data/app/lib/biovision/stories/component_story.rb +55 -0
  101. data/app/lib/canonizer.rb +38 -0
  102. data/app/lib/carrier_wave/image_optim.rb +32 -0
  103. data/app/mailers/code_sender.rb +29 -0
  104. data/app/mailers/feedback_mailer.rb +14 -0
  105. data/app/models/agent.rb +4 -0
  106. data/app/models/biovision_component.rb +39 -3
  107. data/app/models/code.rb +31 -8
  108. data/app/models/concerns/checkable.rb +2 -1
  109. data/app/models/concerns/has_simple_image.rb +9 -0
  110. data/app/models/concerns/has_uploaded_file.rb +26 -0
  111. data/app/models/concerns/meta_texts.rb +25 -5
  112. data/app/models/concerns/simple_tag.rb +30 -0
  113. data/app/models/concerns/toggleable.rb +2 -1
  114. data/app/models/concerns/tree_structure.rb +75 -0
  115. data/app/models/contact_method.rb +47 -0
  116. data/app/models/contact_type.rb +27 -0
  117. data/app/models/dynamic_block.rb +43 -0
  118. data/app/models/dynamic_page.rb +73 -0
  119. data/app/models/feedback_message.rb +65 -0
  120. data/app/models/feedback_response.rb +50 -0
  121. data/app/models/group.rb +48 -0
  122. data/app/models/language.rb +4 -0
  123. data/app/models/metric.rb +4 -0
  124. data/app/models/navigation_group.rb +43 -0
  125. data/app/models/navigation_group_page.rb +23 -0
  126. data/app/models/oembed_domain.rb +25 -0
  127. data/app/models/oembed_link.rb +19 -0
  128. data/app/models/oembed_receiver.rb +15 -0
  129. data/app/models/role.rb +86 -0
  130. data/app/models/role_group.rb +13 -0
  131. data/app/models/simple_image.rb +49 -8
  132. data/app/models/simple_image_tag.rb +1 -16
  133. data/app/models/token.rb +6 -2
  134. data/app/models/uploaded_file.rb +62 -0
  135. data/app/models/uploaded_file_tag.rb +15 -0
  136. data/app/models/uploaded_file_tag_file.rb +13 -0
  137. data/app/models/user.rb +122 -29
  138. data/app/models/user_group.rb +20 -0
  139. data/app/models/user_role.rb +18 -0
  140. data/app/uploaders/simple_file_uploader.rb +23 -0
  141. data/app/uploaders/simple_image_uploader.rb +29 -20
  142. data/app/uploaders/uploaders/path_slug.rb +22 -0
  143. data/app/views/admin/agents/index.html.erb +1 -3
  144. data/app/views/admin/biovision_components/_nav_item.html.erb +6 -0
  145. data/app/views/admin/biovision_components/entity/_in_list.html.erb +12 -0
  146. data/app/views/admin/biovision_components/index.html.erb +11 -0
  147. data/app/views/admin/components/_image.jbuilder +18 -0
  148. data/app/views/admin/components/_list.html.erb +1 -1
  149. data/app/views/admin/components/entity/_links.html.erb +31 -21
  150. data/app/views/admin/components/image.jbuilder +1 -0
  151. data/app/views/admin/components/images.jbuilder +4 -0
  152. data/app/views/admin/components/links/_base.html.erb +1 -0
  153. data/app/views/admin/components/settings/_new_parameter.html.erb +4 -2
  154. data/app/views/admin/components/settings/_parameters.html.erb +8 -2
  155. data/app/views/admin/components/settings/_settings.html.erb +4 -4
  156. data/app/views/admin/components/settings.html.erb +2 -1
  157. data/app/views/admin/components/update_privileges.jbuilder +21 -0
  158. data/app/views/admin/dynamic_blocks/_form.html.erb +16 -0
  159. data/app/views/admin/dynamic_blocks/_nav_item.html.erb +6 -0
  160. data/app/views/admin/dynamic_blocks/entity/_in_list.html.erb +12 -0
  161. data/app/views/admin/dynamic_blocks/index.html.erb +17 -0
  162. data/app/views/admin/dynamic_blocks/show.html.erb +25 -0
  163. data/app/views/admin/dynamic_pages/_dynamic_page.jbuilder +18 -0
  164. data/app/views/admin/dynamic_pages/_form.html.erb +21 -0
  165. data/app/views/admin/dynamic_pages/_nav_item.html.erb +6 -0
  166. data/app/views/admin/dynamic_pages/entity/_in_list.html.erb +17 -0
  167. data/app/views/admin/dynamic_pages/entity/_in_search.html.erb +7 -0
  168. data/app/views/admin/dynamic_pages/index.html.erb +17 -0
  169. data/app/views/admin/dynamic_pages/search.jbuilder +4 -0
  170. data/app/views/admin/dynamic_pages/show.html.erb +28 -0
  171. data/app/views/admin/index/index.html.erb +7 -5
  172. data/app/views/admin/ip_addresses/index.html.erb +2 -4
  173. data/app/views/admin/navigation_group_pages/entity/_in_list.html.erb +26 -0
  174. data/app/views/admin/navigation_groups/_form.html.erb +15 -0
  175. data/app/views/admin/navigation_groups/_nav_item.html.erb +6 -0
  176. data/app/views/admin/navigation_groups/entity/_dynamic_pages.html.erb +38 -0
  177. data/app/views/admin/navigation_groups/entity/_in_list.html.erb +14 -0
  178. data/app/views/admin/navigation_groups/index.html.erb +17 -0
  179. data/app/views/admin/navigation_groups/show.html.erb +33 -0
  180. data/app/views/admin/tokens/_form.html.erb +31 -0
  181. data/app/views/admin/tokens/_nav_item.html.erb +6 -0
  182. data/app/views/admin/tokens/entity/_in_list.html.erb +27 -0
  183. data/app/views/admin/tokens/index.html.erb +11 -0
  184. data/app/views/admin/tokens/show.html.erb +26 -0
  185. data/app/views/admin/unauthorized.html.erb +2 -5
  186. data/app/views/admin/users/_form.html.erb +81 -0
  187. data/app/views/admin/users/_nav_item.html.erb +6 -0
  188. data/app/views/admin/users/_user.jbuilder +18 -0
  189. data/app/views/admin/users/entity/_fields.html.erb +53 -0
  190. data/app/views/admin/users/entity/_in_list.html.erb +38 -0
  191. data/app/views/admin/users/entity/_in_search.html.erb +18 -0
  192. data/app/views/admin/users/entity/_profile.html.erb +26 -0
  193. data/app/views/admin/users/entity/in_list/_additional_data.html.erb +0 -0
  194. data/app/views/admin/users/index.html.erb +24 -0
  195. data/app/views/admin/users/roles/_component.html.erb +22 -0
  196. data/app/views/admin/users/roles.html.erb +23 -0
  197. data/app/views/admin/users/search.jbuilder +4 -0
  198. data/app/views/admin/users/show.html.erb +62 -0
  199. data/app/views/admin/widgets/_filters.html.erb +20 -0
  200. data/app/views/admin/widgets/_quick_search.html.erb +13 -0
  201. data/app/views/admin/widgets/filters/_flag.html.erb +15 -0
  202. data/app/views/admin/widgets/filters/_text.html.erb +7 -0
  203. data/app/views/application/forbidden.html.erb +9 -0
  204. data/app/views/application/forbidden.jbuilder +4 -0
  205. data/app/views/application/not_found.html.erb +9 -0
  206. data/app/views/application/not_found.jbuilder +4 -0
  207. data/app/views/application/unauthorized.html.erb +19 -0
  208. data/app/views/application/unauthorized.jbuilder +4 -0
  209. data/app/views/authentication/new.html.erb +2 -8
  210. data/app/views/components/content/_dynamic_page.html.erb +17 -0
  211. data/app/views/components/content/_dynamic_page_content.html.erb +14 -0
  212. data/app/views/components/users/_form_tabs.html.erb +31 -0
  213. data/app/views/components/users/_join_form.html.erb +192 -0
  214. data/app/views/components/users/_login_form.html.erb +46 -0
  215. data/app/views/components/users/form/_image.html.erb +17 -0
  216. data/app/views/components/users/form/_profile_data.html.erb +54 -0
  217. data/app/views/contact/_form.html.erb +108 -0
  218. data/app/views/contact/create_feedback_message.js.erb +1 -0
  219. data/app/views/contact/feedback.html.erb +13 -0
  220. data/app/views/contact/index.html.erb +16 -0
  221. data/app/views/errors/error.html.erb +1 -0
  222. data/app/views/fallback/show.html.erb +6 -0
  223. data/app/views/feedback_mailer/new_feedback_request.html.erb +11 -0
  224. data/app/views/feedback_mailer/new_feedback_request.text.erb +6 -0
  225. data/app/views/index/index.html.erb +14 -0
  226. data/app/views/layouts/admin/_footer.html.erb +1 -1
  227. data/app/views/layouts/admin/_header.html.erb +7 -2
  228. data/app/views/layouts/admin.html.erb +0 -1
  229. data/app/views/layouts/application/_footer.html.erb +1 -1
  230. data/app/views/layouts/application/header/_authentication.html.erb +4 -1
  231. data/app/views/legal/privacy.html.erb +5 -0
  232. data/app/views/legal/tos.html.erb +5 -0
  233. data/app/views/my/components/index.html.erb +25 -0
  234. data/app/views/my/components/show.html.erb +21 -0
  235. data/app/views/my/confirmations/show.html.erb +62 -0
  236. data/app/views/my/index/_cards.html.erb +15 -0
  237. data/app/views/my/index/_email.html.erb +14 -0
  238. data/app/views/my/index/_navigation.html.erb +33 -0
  239. data/app/views/my/index/index.html.erb +12 -0
  240. data/app/views/my/profiles/_form.html.erb +10 -0
  241. data/app/views/my/profiles/check.jbuilder +4 -0
  242. data/app/views/my/profiles/edit.html.erb +14 -0
  243. data/app/views/my/profiles/form/_basic_parameters.html.erb +9 -0
  244. data/app/views/my/profiles/form/_sensitive_parameters.html.erb +68 -0
  245. data/app/views/my/profiles/new.html.erb +6 -8
  246. data/app/views/my/profiles/show.html.erb +36 -0
  247. data/app/views/my/recoveries/show.html.erb +0 -0
  248. data/app/views/shared/_flash_messages.html.erb +1 -1
  249. data/app/views/shared/_list_of_errors.html.erb +7 -0
  250. data/app/views/shared/admin/_breadcrumbs.html.erb +8 -0
  251. data/app/views/shared/admin/_list.html.erb +10 -19
  252. data/app/views/shared/admin/_list_with_priority.html.erb +10 -19
  253. data/app/views/shared/admin/_priority.html.erb +6 -0
  254. data/app/views/shared/admin/_toggle.html.erb +6 -0
  255. data/app/views/shared/entity/_date_field.html.erb +6 -0
  256. data/app/views/shared/entity/_formatted_text_field.html.erb +10 -0
  257. data/app/views/shared/entity/_image.html.erb +31 -0
  258. data/app/views/shared/entity/_language.html.erb +6 -0
  259. data/app/views/shared/entity/_linked_entity.html.erb +6 -0
  260. data/app/views/shared/entity/_list.html.erb +22 -0
  261. data/app/views/shared/entity/_list_with_priority.html.erb +22 -0
  262. data/app/views/shared/entity/_meta_texts.html.erb +16 -0
  263. data/app/views/shared/entity/_metadata.html.erb +18 -0
  264. data/app/views/shared/entity/_parent.html.erb +6 -0
  265. data/app/views/shared/entity/_priority.html.erb +4 -0
  266. data/app/views/shared/entity/_priority_icons.html.erb +8 -0
  267. data/app/views/shared/entity/_raw_text_field.html.erb +10 -0
  268. data/app/views/shared/entity/_simple_image.html.erb +10 -0
  269. data/app/views/shared/entity/_slug.html.erb +6 -0
  270. data/app/views/shared/entity/_text_field.html.erb +6 -0
  271. data/app/views/shared/entity/_text_fields.html.erb +9 -0
  272. data/app/views/shared/entity/_time_field.html.erb +6 -0
  273. data/app/views/shared/entity/_timestamps.html.erb +13 -0
  274. data/app/views/shared/entity/_toggle.html.erb +12 -0
  275. data/app/views/shared/entity/_track.html.erb +12 -0
  276. data/app/views/shared/entity/_tree_caches.html.erb +19 -0
  277. data/app/views/shared/entity/_uuid.html.erb +4 -0
  278. data/app/views/shared/entity/edit.html.erb +23 -0
  279. data/app/views/shared/entity/new.html.erb +16 -0
  280. data/app/views/shared/forms/_entity_flags.html.erb +15 -0
  281. data/app/views/shared/forms/_field.html.erb +50 -0
  282. data/app/views/shared/forms/_field_with_search.html.erb +17 -0
  283. data/app/views/shared/forms/_fields.html.erb +3 -0
  284. data/app/views/shared/forms/_language.html.erb +40 -0
  285. data/app/views/shared/forms/_meta_texts.html.erb +27 -0
  286. data/app/views/shared/forms/_priority.html.erb +13 -0
  287. data/app/views/shared/forms/_simple_entity_link.html.erb +14 -0
  288. data/app/views/shared/forms/_simple_image.html.erb +47 -0
  289. data/app/views/shared/forms/_state_container.html.erb +7 -0
  290. data/app/views/shared/forms/_text_area.html.erb +25 -0
  291. data/app/views/shared/forms/_text_field.html.erb +24 -0
  292. data/app/views/shared/forms/_text_fields.html.erb +3 -0
  293. data/app/views/shared/forms/check.jbuilder +4 -0
  294. data/app/views/shared/forms/errors.jbuilder +3 -0
  295. data/app/views/shared/forms/simple_image/_browse.html.erb +14 -0
  296. data/app/views/shared/forms/simple_image/_load_image.html.erb +38 -0
  297. data/app/views/shared/my/_list.html.erb +10 -0
  298. data/app/views/shared/my/_list_with_priority.html.erb +10 -0
  299. data/app/views/shared/my/entity/edit.html.erb +25 -0
  300. data/app/views/shared/my/entity/new.html.erb +18 -0
  301. data/app/views/simple_images/_simple_image.jbuilder +13 -0
  302. data/app/views/users/_profile.html.erb +30 -0
  303. data/app/views/users/profile/_data.html.erb +20 -0
  304. data/app/views/users/show.html.erb +21 -0
  305. data/config/locales/biovision-ru.yml +76 -1
  306. data/config/locales/components-ru.yml +55 -4
  307. data/config/locales/contact-ru.yml +110 -0
  308. data/config/locales/content-ru.yml +115 -0
  309. data/config/locales/users-ru.yml +142 -3
  310. data/config/routes.rb +99 -48
  311. data/db/migrate/20191228000000_create_biovision_components.rb +6 -5
  312. data/db/migrate/20200224000000_create_track_component.rb +9 -14
  313. data/db/migrate/20200224000010_create_users_component.rb +14 -83
  314. data/db/migrate/20200404000000_create_simple_images.rb +4 -3
  315. data/db/migrate/20210405000000_create_acl.rb +88 -0
  316. data/db/migrate/20210421000000_create_content_component.rb +80 -0
  317. data/db/migrate/20210421000010_create_contact_component.rb +74 -0
  318. data/db/migrate/20210616000000_create_uploaded_files.rb +52 -0
  319. data/db/migrate/amends/20210816060606_create_oembed_receivers.rb +21 -0
  320. data/db/migrate/amends/20210907070707_add_checksum_to_simple_images.rb +13 -0
  321. data/lib/biovision/base_methods.rb +17 -29
  322. data/lib/biovision/engine.rb +8 -13
  323. data/lib/biovision/version.rb +1 -1
  324. data/lib/tasks/components.rake +51 -0
  325. metadata +266 -27
  326. data/app/assets/images/biovision/placeholders/user.svg +0 -15
  327. data/app/helpers/users_helper.rb +0 -11
  328. data/app/lib/biovision/components/component_settings.rb +0 -30
  329. data/app/lib/biovision/components/privilege_handler.rb +0 -77
  330. data/app/lib/biovision/components/users/code_handler.rb +0 -23
  331. data/app/models/biovision_component_user.rb +0 -21
  332. data/app/models/foreign_site.rb +0 -34
  333. data/app/models/foreign_user.rb +0 -21
  334. data/app/uploaders/user_image_uploader.rb +0 -58
  335. data/app/views/admin/components/links/_track.html.erb +0 -2
  336. data/app/views/admin/components/links/_users.html.erb +0 -11
  337. data/app/views/admin/components/privileges/_component_user.html.erb +0 -17
  338. data/app/views/admin/components/privileges/_links.html.erb +0 -35
  339. data/app/views/admin/components/privileges/_privilege_flag.html.erb +0 -28
  340. data/app/views/admin/components/privileges/_users.html.erb +0 -23
  341. data/app/views/admin/components/privileges.html.erb +0 -20
  342. data/app/views/authentication/_form.html.erb +0 -40
  343. data/app/views/authentication/failed.js.erb +0 -3
  344. data/app/views/my/profiles/new/_form.html.erb +0 -147
  345. data/app/views/shared/admin/_toggleable.html.erb +0 -8
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: biovision
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.200518.1
4
+ version: 0.12.211124.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maxim Khan-Magomedov
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-21 00:00:00.000000000 Z
11
+ date: 2021-11-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -86,6 +86,20 @@ dependencies:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
88
  version: '0.2'
89
+ - !ruby/object:Gem::Dependency
90
+ name: image_optim
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '0.30'
96
+ type: :runtime
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '0.30'
89
103
  - !ruby/object:Gem::Dependency
90
104
  name: kaminari
91
105
  requirement: !ruby/object:Gem::Requirement
@@ -203,11 +217,17 @@ files:
203
217
  - app/assets/config/biovision_manifest.js
204
218
  - app/assets/images/biovision/components/carousel/arrow-left.svg
205
219
  - app/assets/images/biovision/components/carousel/arrow-right.svg
220
+ - app/assets/images/biovision/icons/back.svg
206
221
  - app/assets/images/biovision/icons/breadcrumb-hover.svg
207
222
  - app/assets/images/biovision/icons/breadcrumb.svg
208
223
  - app/assets/images/biovision/icons/components/contact.svg
209
224
  - app/assets/images/biovision/icons/components/content.svg
210
225
  - app/assets/images/biovision/icons/components/users.svg
226
+ - app/assets/images/biovision/icons/create.svg
227
+ - app/assets/images/biovision/icons/destroy.svg
228
+ - app/assets/images/biovision/icons/dropdown.svg
229
+ - app/assets/images/biovision/icons/edit.svg
230
+ - app/assets/images/biovision/icons/gear.svg
211
231
  - app/assets/images/biovision/icons/key.svg
212
232
  - app/assets/images/biovision/icons/log_in.svg
213
233
  - app/assets/images/biovision/icons/log_out.svg
@@ -215,58 +235,118 @@ files:
215
235
  - app/assets/images/biovision/icons/messages/info.svg
216
236
  - app/assets/images/biovision/icons/messages/success.svg
217
237
  - app/assets/images/biovision/icons/messages/warning.svg
238
+ - app/assets/images/biovision/icons/return.svg
218
239
  - app/assets/images/biovision/icons/settings.svg
240
+ - app/assets/images/biovision/icons/world.svg
219
241
  - app/assets/images/biovision/placeholders/16x9.svg
220
242
  - app/assets/images/biovision/placeholders/1x1.svg
221
243
  - app/assets/images/biovision/placeholders/3x2.svg
222
- - app/assets/images/biovision/placeholders/user.svg
223
244
  - app/assets/stylesheets/biovision/admin.scss
224
245
  - app/assets/stylesheets/biovision/admin/components.scss
246
+ - app/assets/stylesheets/biovision/admin/components/users.scss
225
247
  - app/assets/stylesheets/biovision/admin/default.scss
226
248
  - app/assets/stylesheets/biovision/admin/layout.scss
227
249
  - app/assets/stylesheets/biovision/admin/vars.scss
228
250
  - app/assets/stylesheets/biovision/biovision.scss
229
- - app/assets/stylesheets/biovision/biovision/messages.scss
251
+ - app/assets/stylesheets/biovision/components.scss
252
+ - app/assets/stylesheets/biovision/components/breadcrumbs.scss
253
+ - app/assets/stylesheets/biovision/components/buttons.scss
230
254
  - app/assets/stylesheets/biovision/components/carousel.scss
255
+ - app/assets/stylesheets/biovision/components/filters.scss
231
256
  - app/assets/stylesheets/biovision/components/forms.scss
232
257
  - app/assets/stylesheets/biovision/components/hamburger.scss
233
258
  - app/assets/stylesheets/biovision/components/lists.scss
259
+ - app/assets/stylesheets/biovision/components/messages.scss
260
+ - app/assets/stylesheets/biovision/components/pagination.scss
261
+ - app/assets/stylesheets/biovision/components/quick_search.scss
262
+ - app/assets/stylesheets/biovision/components/simple_image.scss
263
+ - app/assets/stylesheets/biovision/components/toggleable.scss
234
264
  - app/assets/stylesheets/biovision/default.scss
235
265
  - app/assets/stylesheets/biovision/themes/default_theme.scss
236
266
  - app/assets/stylesheets/biovision/themes/default_theme/components.scss
267
+ - app/assets/stylesheets/biovision/themes/default_theme/components/users.scss
268
+ - app/assets/stylesheets/biovision/themes/default_theme/components/users/dashboard.scss
269
+ - app/assets/stylesheets/biovision/themes/default_theme/components/users/form_tabs.scss
270
+ - app/assets/stylesheets/biovision/themes/default_theme/components/users/profile.scss
237
271
  - app/assets/stylesheets/biovision/themes/default_theme/layout.scss
238
272
  - app/assets/stylesheets/biovision/themes/default_theme/layout/footer.scss
239
273
  - app/assets/stylesheets/biovision/themes/default_theme/layout/header.scss
240
274
  - app/assets/stylesheets/biovision/vars.scss
241
275
  - app/controllers/admin/agents_controller.rb
276
+ - app/controllers/admin/biovision_components_controller.rb
242
277
  - app/controllers/admin/components_controller.rb
278
+ - app/controllers/admin/dynamic_blocks_controller.rb
279
+ - app/controllers/admin/dynamic_pages_controller.rb
243
280
  - app/controllers/admin/index_controller.rb
244
281
  - app/controllers/admin/ip_addresses_controller.rb
282
+ - app/controllers/admin/navigation_groups_controller.rb
283
+ - app/controllers/admin/tokens_controller.rb
284
+ - app/controllers/admin/users_controller.rb
245
285
  - app/controllers/admin_controller.rb
246
286
  - app/controllers/authentication_controller.rb
247
287
  - app/controllers/concerns/authentication.rb
288
+ - app/controllers/concerns/component_stories.rb
289
+ - app/controllers/concerns/crud_entities.rb
290
+ - app/controllers/concerns/entity_priority.rb
291
+ - app/controllers/concerns/my_crud_entities.rb
292
+ - app/controllers/concerns/processed_forms.rb
293
+ - app/controllers/concerns/restricted_access.rb
294
+ - app/controllers/concerns/toggleable_entity.rb
295
+ - app/controllers/contact_controller.rb
296
+ - app/controllers/errors_controller.rb
297
+ - app/controllers/fallback_controller.rb
248
298
  - app/controllers/index_controller.rb
299
+ - app/controllers/legal_controller.rb
300
+ - app/controllers/my/components_controller.rb
249
301
  - app/controllers/my/confirmations_controller.rb
250
302
  - app/controllers/my/index_controller.rb
251
303
  - app/controllers/my/profiles_controller.rb
252
304
  - app/controllers/my/recoveries_controller.rb
305
+ - app/controllers/oembed_controller.rb
306
+ - app/controllers/profile_controller.rb
307
+ - app/controllers/users_controller.rb
253
308
  - app/helpers/biovision_components_helper.rb
254
- - app/helpers/users_helper.rb
309
+ - app/helpers/biovision_helper.rb
310
+ - app/helpers/entity_helper.rb
311
+ - app/helpers/my_helper.rb
312
+ - app/helpers/simple_image_helper.rb
313
+ - app/jobs/application_job.rb
314
+ - app/jobs/send_phone_confirmation_job.rb
315
+ - app/lib/biovision/components/base/component_parameters.rb
316
+ - app/lib/biovision/components/base/component_privileges.rb
317
+ - app/lib/biovision/components/base/component_settings.rb
318
+ - app/lib/biovision/components/base/component_stories.rb
319
+ - app/lib/biovision/components/base/entity_links.rb
320
+ - app/lib/biovision/components/base/image_handling.rb
255
321
  - app/lib/biovision/components/base_component.rb
256
- - app/lib/biovision/components/component_settings.rb
257
- - app/lib/biovision/components/privilege_handler.rb
322
+ - app/lib/biovision/components/contact_component.rb
323
+ - app/lib/biovision/components/content/oembed/receiver.rb
324
+ - app/lib/biovision/components/content/oembed/twitter_receiver.rb
325
+ - app/lib/biovision/components/content/oembed/vimeo_receiver.rb
326
+ - app/lib/biovision/components/content/oembed/youtube_receiver.rb
327
+ - app/lib/biovision/components/content_component.rb
258
328
  - app/lib/biovision/components/track_component.rb
259
329
  - app/lib/biovision/components/users/authentication.rb
260
- - app/lib/biovision/components/users/code_handler.rb
330
+ - app/lib/biovision/components/users/codes.rb
331
+ - app/lib/biovision/components/users/flag_helpers.rb
261
332
  - app/lib/biovision/components/users/profile_handler.rb
262
333
  - app/lib/biovision/components/users/registration_handler.rb
334
+ - app/lib/biovision/components/users/validation.rb
263
335
  - app/lib/biovision/components/users_component.rb
336
+ - app/lib/biovision/helpers/data_helper.rb
337
+ - app/lib/biovision/helpers/export_helper.rb
338
+ - app/lib/biovision/migrations/component_migration.rb
264
339
  - app/lib/biovision/notifiers/base_notifier.rb
340
+ - app/lib/biovision/notifiers/contact_notifier.rb
265
341
  - app/lib/biovision/notifiers/socialization_notifier.rb
266
342
  - app/lib/biovision/notifiers/users_notifier.rb
343
+ - app/lib/biovision/stories/component_story.rb
344
+ - app/lib/canonizer.rb
345
+ - app/lib/carrier_wave/image_optim.rb
346
+ - app/mailers/code_sender.rb
347
+ - app/mailers/feedback_mailer.rb
267
348
  - app/models/agent.rb
268
349
  - app/models/biovision_component.rb
269
- - app/models/biovision_component_user.rb
270
350
  - app/models/browser.rb
271
351
  - app/models/code.rb
272
352
  - app/models/concerns/checkable.rb
@@ -275,56 +355,139 @@ files:
275
355
  - app/models/concerns/has_owner.rb
276
356
  - app/models/concerns/has_simple_image.rb
277
357
  - app/models/concerns/has_track.rb
358
+ - app/models/concerns/has_uploaded_file.rb
278
359
  - app/models/concerns/has_uuid.rb
279
360
  - app/models/concerns/meta_texts.rb
280
361
  - app/models/concerns/nested_priority.rb
281
362
  - app/models/concerns/required_unique_name.rb
282
363
  - app/models/concerns/required_unique_slug.rb
364
+ - app/models/concerns/simple_tag.rb
283
365
  - app/models/concerns/toggleable.rb
284
- - app/models/foreign_site.rb
285
- - app/models/foreign_user.rb
366
+ - app/models/concerns/tree_structure.rb
367
+ - app/models/contact_method.rb
368
+ - app/models/contact_type.rb
369
+ - app/models/dynamic_block.rb
370
+ - app/models/dynamic_page.rb
371
+ - app/models/feedback_message.rb
372
+ - app/models/feedback_response.rb
373
+ - app/models/group.rb
286
374
  - app/models/ip_address.rb
287
375
  - app/models/language.rb
288
376
  - app/models/login_attempt.rb
289
377
  - app/models/metric.rb
290
378
  - app/models/metric_value.rb
379
+ - app/models/navigation_group.rb
380
+ - app/models/navigation_group_page.rb
291
381
  - app/models/notification.rb
382
+ - app/models/oembed_domain.rb
383
+ - app/models/oembed_link.rb
384
+ - app/models/oembed_receiver.rb
385
+ - app/models/role.rb
386
+ - app/models/role_group.rb
292
387
  - app/models/simple_image.rb
293
388
  - app/models/simple_image_tag.rb
294
389
  - app/models/simple_image_tag_image.rb
295
390
  - app/models/token.rb
391
+ - app/models/uploaded_file.rb
392
+ - app/models/uploaded_file_tag.rb
393
+ - app/models/uploaded_file_tag_file.rb
296
394
  - app/models/user.rb
395
+ - app/models/user_group.rb
297
396
  - app/models/user_language.rb
397
+ - app/models/user_role.rb
398
+ - app/uploaders/simple_file_uploader.rb
298
399
  - app/uploaders/simple_image_uploader.rb
299
- - app/uploaders/user_image_uploader.rb
400
+ - app/uploaders/uploaders/path_slug.rb
300
401
  - app/views/admin/agents/_nav_item.html.erb
301
402
  - app/views/admin/agents/entity/_in_list.html.erb
302
403
  - app/views/admin/agents/index.html.erb
404
+ - app/views/admin/biovision_components/_nav_item.html.erb
405
+ - app/views/admin/biovision_components/entity/_in_list.html.erb
406
+ - app/views/admin/biovision_components/index.html.erb
407
+ - app/views/admin/components/_image.jbuilder
303
408
  - app/views/admin/components/_list.html.erb
304
409
  - app/views/admin/components/entity/_links.html.erb
305
410
  - app/views/admin/components/entity/_section.html.erb
411
+ - app/views/admin/components/image.jbuilder
412
+ - app/views/admin/components/images.jbuilder
306
413
  - app/views/admin/components/index.html.erb
307
- - app/views/admin/components/links/_track.html.erb
308
- - app/views/admin/components/links/_users.html.erb
309
- - app/views/admin/components/privileges.html.erb
310
- - app/views/admin/components/privileges/_component_user.html.erb
311
- - app/views/admin/components/privileges/_links.html.erb
312
- - app/views/admin/components/privileges/_privilege_flag.html.erb
313
- - app/views/admin/components/privileges/_users.html.erb
414
+ - app/views/admin/components/links/_base.html.erb
314
415
  - app/views/admin/components/settings.html.erb
315
416
  - app/views/admin/components/settings/_new_parameter.html.erb
316
417
  - app/views/admin/components/settings/_parameters.html.erb
317
418
  - app/views/admin/components/settings/_setting.html.erb
318
419
  - app/views/admin/components/settings/_settings.html.erb
319
420
  - app/views/admin/components/show.html.erb
421
+ - app/views/admin/components/update_privileges.jbuilder
422
+ - app/views/admin/dynamic_blocks/_form.html.erb
423
+ - app/views/admin/dynamic_blocks/_nav_item.html.erb
424
+ - app/views/admin/dynamic_blocks/entity/_in_list.html.erb
425
+ - app/views/admin/dynamic_blocks/index.html.erb
426
+ - app/views/admin/dynamic_blocks/show.html.erb
427
+ - app/views/admin/dynamic_pages/_dynamic_page.jbuilder
428
+ - app/views/admin/dynamic_pages/_form.html.erb
429
+ - app/views/admin/dynamic_pages/_nav_item.html.erb
430
+ - app/views/admin/dynamic_pages/entity/_in_list.html.erb
431
+ - app/views/admin/dynamic_pages/entity/_in_search.html.erb
432
+ - app/views/admin/dynamic_pages/index.html.erb
433
+ - app/views/admin/dynamic_pages/search.jbuilder
434
+ - app/views/admin/dynamic_pages/show.html.erb
320
435
  - app/views/admin/index/index.html.erb
321
436
  - app/views/admin/ip_addresses/_nav_item.html.erb
322
437
  - app/views/admin/ip_addresses/entity/_in_list.html.erb
323
438
  - app/views/admin/ip_addresses/index.html.erb
439
+ - app/views/admin/navigation_group_pages/entity/_in_list.html.erb
440
+ - app/views/admin/navigation_groups/_form.html.erb
441
+ - app/views/admin/navigation_groups/_nav_item.html.erb
442
+ - app/views/admin/navigation_groups/entity/_dynamic_pages.html.erb
443
+ - app/views/admin/navigation_groups/entity/_in_list.html.erb
444
+ - app/views/admin/navigation_groups/index.html.erb
445
+ - app/views/admin/navigation_groups/show.html.erb
446
+ - app/views/admin/tokens/_form.html.erb
447
+ - app/views/admin/tokens/_nav_item.html.erb
448
+ - app/views/admin/tokens/entity/_in_list.html.erb
449
+ - app/views/admin/tokens/index.html.erb
450
+ - app/views/admin/tokens/show.html.erb
324
451
  - app/views/admin/unauthorized.html.erb
325
- - app/views/authentication/_form.html.erb
326
- - app/views/authentication/failed.js.erb
452
+ - app/views/admin/users/_form.html.erb
453
+ - app/views/admin/users/_nav_item.html.erb
454
+ - app/views/admin/users/_user.jbuilder
455
+ - app/views/admin/users/entity/_fields.html.erb
456
+ - app/views/admin/users/entity/_in_list.html.erb
457
+ - app/views/admin/users/entity/_in_search.html.erb
458
+ - app/views/admin/users/entity/_profile.html.erb
459
+ - app/views/admin/users/entity/in_list/_additional_data.html.erb
460
+ - app/views/admin/users/index.html.erb
461
+ - app/views/admin/users/roles.html.erb
462
+ - app/views/admin/users/roles/_component.html.erb
463
+ - app/views/admin/users/search.jbuilder
464
+ - app/views/admin/users/show.html.erb
465
+ - app/views/admin/widgets/_filters.html.erb
466
+ - app/views/admin/widgets/_quick_search.html.erb
467
+ - app/views/admin/widgets/filters/_flag.html.erb
468
+ - app/views/admin/widgets/filters/_text.html.erb
469
+ - app/views/application/forbidden.html.erb
470
+ - app/views/application/forbidden.jbuilder
471
+ - app/views/application/not_found.html.erb
472
+ - app/views/application/not_found.jbuilder
473
+ - app/views/application/unauthorized.html.erb
474
+ - app/views/application/unauthorized.jbuilder
327
475
  - app/views/authentication/new.html.erb
476
+ - app/views/components/content/_dynamic_page.html.erb
477
+ - app/views/components/content/_dynamic_page_content.html.erb
478
+ - app/views/components/users/_form_tabs.html.erb
479
+ - app/views/components/users/_join_form.html.erb
480
+ - app/views/components/users/_login_form.html.erb
481
+ - app/views/components/users/form/_image.html.erb
482
+ - app/views/components/users/form/_profile_data.html.erb
483
+ - app/views/contact/_form.html.erb
484
+ - app/views/contact/create_feedback_message.js.erb
485
+ - app/views/contact/feedback.html.erb
486
+ - app/views/contact/index.html.erb
487
+ - app/views/errors/error.html.erb
488
+ - app/views/fallback/show.html.erb
489
+ - app/views/feedback_mailer/new_feedback_request.html.erb
490
+ - app/views/feedback_mailer/new_feedback_request.text.erb
328
491
  - app/views/index/index.html.erb
329
492
  - app/views/layouts/admin.html.erb
330
493
  - app/views/layouts/admin/_breadcrumbs.html.erb
@@ -334,25 +497,94 @@ files:
334
497
  - app/views/layouts/application/_footer.html.erb
335
498
  - app/views/layouts/application/_header.html.erb
336
499
  - app/views/layouts/application/header/_authentication.html.erb
500
+ - app/views/legal/privacy.html.erb
501
+ - app/views/legal/tos.html.erb
502
+ - app/views/my/components/index.html.erb
503
+ - app/views/my/components/show.html.erb
504
+ - app/views/my/confirmations/show.html.erb
505
+ - app/views/my/index/_cards.html.erb
506
+ - app/views/my/index/_email.html.erb
507
+ - app/views/my/index/_navigation.html.erb
337
508
  - app/views/my/index/index.html.erb
509
+ - app/views/my/profiles/_form.html.erb
510
+ - app/views/my/profiles/check.jbuilder
338
511
  - app/views/my/profiles/closed.html.erb
512
+ - app/views/my/profiles/edit.html.erb
513
+ - app/views/my/profiles/form/_basic_parameters.html.erb
514
+ - app/views/my/profiles/form/_sensitive_parameters.html.erb
339
515
  - app/views/my/profiles/new.html.erb
340
- - app/views/my/profiles/new/_form.html.erb
516
+ - app/views/my/profiles/show.html.erb
517
+ - app/views/my/recoveries/show.html.erb
341
518
  - app/views/shared/_breadcrumbs.html.erb
342
519
  - app/views/shared/_cookie_notification.html.erb
343
520
  - app/views/shared/_flash_messages.html.erb
521
+ - app/views/shared/_list_of_errors.html.erb
344
522
  - app/views/shared/_meta_texts.html.erb
345
523
  - app/views/shared/_nothing_found.html.erb
346
524
  - app/views/shared/_pagination.jbuilder
525
+ - app/views/shared/admin/_breadcrumbs.html.erb
347
526
  - app/views/shared/admin/_list.html.erb
348
527
  - app/views/shared/admin/_list_with_priority.html.erb
349
- - app/views/shared/admin/_toggleable.html.erb
528
+ - app/views/shared/admin/_priority.html.erb
529
+ - app/views/shared/admin/_toggle.html.erb
530
+ - app/views/shared/entity/_date_field.html.erb
531
+ - app/views/shared/entity/_formatted_text_field.html.erb
532
+ - app/views/shared/entity/_image.html.erb
533
+ - app/views/shared/entity/_language.html.erb
534
+ - app/views/shared/entity/_linked_entity.html.erb
535
+ - app/views/shared/entity/_list.html.erb
350
536
  - app/views/shared/entity/_list_of_errors.html.erb
537
+ - app/views/shared/entity/_list_with_priority.html.erb
538
+ - app/views/shared/entity/_meta_texts.html.erb
539
+ - app/views/shared/entity/_metadata.html.erb
540
+ - app/views/shared/entity/_parent.html.erb
541
+ - app/views/shared/entity/_priority.html.erb
542
+ - app/views/shared/entity/_priority_icons.html.erb
543
+ - app/views/shared/entity/_raw_text_field.html.erb
544
+ - app/views/shared/entity/_simple_image.html.erb
545
+ - app/views/shared/entity/_slug.html.erb
546
+ - app/views/shared/entity/_text_field.html.erb
547
+ - app/views/shared/entity/_text_fields.html.erb
548
+ - app/views/shared/entity/_time_field.html.erb
549
+ - app/views/shared/entity/_timestamps.html.erb
550
+ - app/views/shared/entity/_toggle.html.erb
551
+ - app/views/shared/entity/_track.html.erb
552
+ - app/views/shared/entity/_tree_caches.html.erb
553
+ - app/views/shared/entity/_uuid.html.erb
554
+ - app/views/shared/entity/edit.html.erb
555
+ - app/views/shared/entity/new.html.erb
556
+ - app/views/shared/forms/_entity_flags.html.erb
557
+ - app/views/shared/forms/_field.html.erb
558
+ - app/views/shared/forms/_field_with_search.html.erb
559
+ - app/views/shared/forms/_fields.html.erb
560
+ - app/views/shared/forms/_language.html.erb
561
+ - app/views/shared/forms/_meta_texts.html.erb
562
+ - app/views/shared/forms/_priority.html.erb
563
+ - app/views/shared/forms/_simple_entity_link.html.erb
564
+ - app/views/shared/forms/_simple_image.html.erb
565
+ - app/views/shared/forms/_state_container.html.erb
566
+ - app/views/shared/forms/_text_area.html.erb
567
+ - app/views/shared/forms/_text_field.html.erb
568
+ - app/views/shared/forms/_text_fields.html.erb
569
+ - app/views/shared/forms/check.jbuilder
570
+ - app/views/shared/forms/errors.jbuilder
351
571
  - app/views/shared/forms/errors.js.erb
572
+ - app/views/shared/forms/simple_image/_browse.html.erb
573
+ - app/views/shared/forms/simple_image/_load_image.html.erb
574
+ - app/views/shared/my/_list.html.erb
575
+ - app/views/shared/my/_list_with_priority.html.erb
576
+ - app/views/shared/my/entity/edit.html.erb
577
+ - app/views/shared/my/entity/new.html.erb
578
+ - app/views/simple_images/_simple_image.jbuilder
579
+ - app/views/users/_profile.html.erb
580
+ - app/views/users/profile/_data.html.erb
581
+ - app/views/users/show.html.erb
352
582
  - config/initializers/carrierwave.rb
353
583
  - config/initializers/pluralization.rb
354
584
  - config/locales/biovision-ru.yml
355
585
  - config/locales/components-ru.yml
586
+ - config/locales/contact-ru.yml
587
+ - config/locales/content-ru.yml
356
588
  - config/locales/track-ru.yml
357
589
  - config/locales/users-ru.yml
358
590
  - config/routes.rb
@@ -360,17 +592,24 @@ files:
360
592
  - db/migrate/20200224000000_create_track_component.rb
361
593
  - db/migrate/20200224000010_create_users_component.rb
362
594
  - db/migrate/20200404000000_create_simple_images.rb
595
+ - db/migrate/20210405000000_create_acl.rb
596
+ - db/migrate/20210421000000_create_content_component.rb
597
+ - db/migrate/20210421000010_create_contact_component.rb
598
+ - db/migrate/20210616000000_create_uploaded_files.rb
599
+ - db/migrate/amends/20210816060606_create_oembed_receivers.rb
600
+ - db/migrate/amends/20210907070707_add_checksum_to_simple_images.rb
363
601
  - lib/biovision.rb
364
602
  - lib/biovision/base_methods.rb
365
603
  - lib/biovision/engine.rb
366
604
  - lib/biovision/version.rb
367
605
  - lib/tasks/biovision_tasks.rake
606
+ - lib/tasks/components.rake
368
607
  homepage: https://github.com/Biovision/biovision
369
608
  licenses:
370
609
  - MIT
371
610
  metadata:
372
611
  allowed_push_host: https://rubygems.org
373
- post_install_message:
612
+ post_install_message:
374
613
  rdoc_options: []
375
614
  require_paths:
376
615
  - lib
@@ -385,8 +624,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
385
624
  - !ruby/object:Gem::Version
386
625
  version: '0'
387
626
  requirements: []
388
- rubygems_version: 3.1.2
389
- signing_key:
627
+ rubygems_version: 3.2.30
628
+ signing_key:
390
629
  specification_version: 4
391
630
  summary: Biovision CMS gem
392
631
  test_files: []
@@ -1,15 +0,0 @@
1
- <svg version="1.1" viewBox="0 0 300 300" width="300px" height="300px" xmlns="http://www.w3.org/2000/svg">
2
- <title>User placeholder</title>
3
- <style>
4
- * { stroke: #555; stroke-width: 5; }
5
- .f { fill: #ffe }
6
- .e { fill: #eff }
7
- .m { fill: none }
8
- </style>
9
- <g>
10
- <circle cx="150" cy="150" r="140" class="f"/>
11
- <circle cx="100" cy="110" r="15" class="e"/>
12
- <circle cx="200" cy="110" r="15" class="e"/>
13
- <path d="M 75,200 A 150,200 0 0,0 225,200" class="m"/>
14
- </g>
15
- </svg>
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Helpers for Users component
4
- module UsersHelper
5
- # @param [User] entity
6
- def user_image_tiny(entity)
7
- return image_tag('biovision/placeholders/user.svg', alt: '') if entity.nil?
8
-
9
- image_tag(entity.image.tiny.url, alt: '')
10
- end
11
- end
@@ -1,30 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Biovision
4
- module Components
5
- # Normalizing component settings
6
- module ComponentSettings
7
- def settings_flags
8
- []
9
- end
10
-
11
- def settings_numbers
12
- []
13
- end
14
-
15
- def settings_strings
16
- []
17
- end
18
-
19
- # @param [Hash] data
20
- def normalize_settings(data)
21
- result = {}
22
- settings_flags.each { |f| result[f] = data[f].to_i == 1 }
23
- settings_numbers.each { |n| result[n] = data[n].to_i }
24
- settings_strings.each { |s| result[s] = data[s].to_s }
25
-
26
- result
27
- end
28
- end
29
- end
30
- end
@@ -1,77 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Biovision
4
- module Components
5
- # Handling user privileges in component
6
- class PrivilegeHandler
7
- attr_accessor :component
8
-
9
- # @param [BaseComponent] component
10
- def initialize(component)
11
- @component = component
12
- end
13
-
14
- # @param [String|Symbol]
15
- def privilege?(slug)
16
- return false if @component.user_link.nil?
17
-
18
- privileges = Array(@component.user_link.data['privileges'])
19
- privileges.include?(slug)
20
- end
21
-
22
- def administrator!
23
- return if @component.user.nil?
24
-
25
- link = @component.user_link!
26
- link.administrator = true
27
- link.save
28
- end
29
-
30
- def not_administrator!
31
- return if @component.user.nil? || @component.user_link.nil?
32
-
33
- @component.user_link.update(administrator: false)
34
- end
35
-
36
- # @param [Array] new_privileges
37
- def privileges=(new_privileges)
38
- return if @component.user.nil?
39
-
40
- link = @component.user_link!
41
- link.data['privileges'] = Array(new_privileges).uniq
42
- link.save
43
- end
44
-
45
- # @param [Hash] new_settings
46
- def settings=(new_settings)
47
- return if @component.user.nil?
48
-
49
- link = @component.user_link!
50
- link.data['settings'] = new_settings
51
- link.save
52
- end
53
-
54
- # @param [String] slug
55
- def add_privilege(slug)
56
- return if @component.user.nil?
57
-
58
- link = @component.user_link!
59
- link.data['privileges'] ||= []
60
- link.data['privileges'] += [slug.to_s]
61
- link.data['privileges'].uniq!
62
- link.save
63
- end
64
-
65
- # @param [String] slug
66
- def remove_privilege(slug)
67
- link = @component.user_link
68
-
69
- return if link.nil?
70
-
71
- link.data['privileges'] ||= []
72
- link.data['privileges'] -= [slug.to_s]
73
- link.save
74
- end
75
- end
76
- end
77
- end
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Biovision
4
- module Components
5
- module Users
6
- # Handling user codes for different components
7
- class CodeHandler
8
- attr_accessor :code
9
-
10
- # @param [Biovision::Components::BaseComponent] component
11
- # @param [Code] code
12
- def initialize(component, code = nil)
13
- @component = component
14
- self.code = code
15
- end
16
-
17
- def valid?
18
- true
19
- end
20
- end
21
- end
22
- end
23
- end
@@ -1,21 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # User data in biovision component
4
- #
5
- # Attributes:
6
- # administrator [boolean]
7
- # biovision_component_id [BiovisionComponent]
8
- # created_at [DateTime]
9
- # data [jsonb]
10
- # updated_at [DateTime]
11
- # user_id [User]
12
- class BiovisionComponentUser < ApplicationRecord
13
- include HasOwner
14
-
15
- belongs_to :biovision_component
16
- belongs_to :user
17
-
18
- validates_uniqueness_of :user_id, scope: :biovision_component_id
19
-
20
- scope :recent, -> { order('updated_at desc') }
21
- end