biovision-base 0.5.170614

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +42 -0
  4. data/Rakefile +26 -0
  5. data/app/assets/config/biovision_base_manifest.js +0 -0
  6. data/app/assets/images/biovision/base/icons/alert.svg +15 -0
  7. data/app/assets/images/biovision/base/icons/back.svg +28 -0
  8. data/app/assets/images/biovision/base/icons/create.svg +1 -0
  9. data/app/assets/images/biovision/base/icons/destroy.svg +3 -0
  10. data/app/assets/images/biovision/base/icons/edit.svg +22 -0
  11. data/app/assets/images/biovision/base/icons/exit.svg +1 -0
  12. data/app/assets/images/biovision/base/icons/foreign/facebook.svg +1 -0
  13. data/app/assets/images/biovision/base/icons/gear.svg +4 -0
  14. data/app/assets/images/biovision/base/icons/lock-closed.svg +1 -0
  15. data/app/assets/images/biovision/base/icons/lock-open.svg +1 -0
  16. data/app/assets/images/biovision/base/icons/notice.svg +1 -0
  17. data/app/assets/images/biovision/base/icons/return.svg +1 -0
  18. data/app/assets/images/biovision/base/icons/warning.svg +43 -0
  19. data/app/assets/images/biovision/base/icons/world.svg +4 -0
  20. data/app/assets/images/biovision/base/placeholders/image.svg +19 -0
  21. data/app/assets/images/biovision/base/placeholders/photo.svg +23 -0
  22. data/app/assets/images/biovision/base/placeholders/user.svg +21 -0
  23. data/app/assets/javascripts/biovision/base/biovision.js +238 -0
  24. data/app/assets/stylesheets/biovision/base/admin.scss +58 -0
  25. data/app/assets/stylesheets/biovision/base/biovision.scss +472 -0
  26. data/app/assets/stylesheets/biovision/base/buttons.scss +90 -0
  27. data/app/assets/stylesheets/biovision/base/default.scss +45 -0
  28. data/app/assets/stylesheets/biovision/base/filters.scss +53 -0
  29. data/app/assets/stylesheets/biovision/base/fonts.scss +9 -0
  30. data/app/assets/stylesheets/biovision/base/message-box.scss +60 -0
  31. data/app/assets/stylesheets/biovision/base/pagination.scss +42 -0
  32. data/app/assets/stylesheets/biovision/base/tootik.scss +385 -0
  33. data/app/assets/stylesheets/biovision/base/track.scss +28 -0
  34. data/app/controllers/admin/agents_controller.rb +30 -0
  35. data/app/controllers/admin/browsers_controller.rb +30 -0
  36. data/app/controllers/admin/codes_controller.rb +25 -0
  37. data/app/controllers/admin/editable_pages_controller.rb +25 -0
  38. data/app/controllers/admin/index_controller.rb +5 -0
  39. data/app/controllers/admin/metrics_controller.rb +29 -0
  40. data/app/controllers/admin/privilege_groups_controller.rb +48 -0
  41. data/app/controllers/admin/privileges_controller.rb +5 -0
  42. data/app/controllers/admin/tokens_controller.rb +28 -0
  43. data/app/controllers/admin/users_controller.rb +87 -0
  44. data/app/controllers/admin_controller.rb +10 -0
  45. data/app/controllers/agents_controller.rb +67 -0
  46. data/app/controllers/authentication_controller.rb +70 -0
  47. data/app/controllers/browsers_controller.rb +63 -0
  48. data/app/controllers/codes_controller.rb +60 -0
  49. data/app/controllers/concerns/authentication.rb +19 -0
  50. data/app/controllers/concerns/biovision/admin/privileges.rb +34 -0
  51. data/app/controllers/concerns/entity_priority.rb +7 -0
  52. data/app/controllers/concerns/lockable_entity.rb +23 -0
  53. data/app/controllers/concerns/toggleable_entity.rb +7 -0
  54. data/app/controllers/editable_pages_controller.rb +60 -0
  55. data/app/controllers/index_controller.rb +5 -0
  56. data/app/controllers/metrics_controller.rb +33 -0
  57. data/app/controllers/my/confirmations_controller.rb +37 -0
  58. data/app/controllers/my/index_controller.rb +7 -0
  59. data/app/controllers/my/profiles_controller.rb +81 -0
  60. data/app/controllers/my/recoveries_controller.rb +68 -0
  61. data/app/controllers/privilege_groups_controller.rb +57 -0
  62. data/app/controllers/privileges_controller.rb +74 -0
  63. data/app/controllers/profiles_controller.rb +22 -0
  64. data/app/controllers/tokens_controller.rb +60 -0
  65. data/app/controllers/users_controller.rb +57 -0
  66. data/app/helpers/biovision_helper.rb +81 -0
  67. data/app/helpers/biovision_users_helper.rb +52 -0
  68. data/app/helpers/codes_helper.rb +10 -0
  69. data/app/helpers/editable_pages_helper.rb +20 -0
  70. data/app/helpers/privileges_helper.rb +11 -0
  71. data/app/helpers/tracking_helper.rb +17 -0
  72. data/app/jobs/application_job.rb +7 -0
  73. data/app/jobs/clean_tokens_job.rb +8 -0
  74. data/app/mailers/code_sender.rb +15 -0
  75. data/app/models/agent.rb +38 -0
  76. data/app/models/application_record.rb +3 -0
  77. data/app/models/browser.rb +22 -0
  78. data/app/models/code.rb +58 -0
  79. data/app/models/code_type.rb +11 -0
  80. data/app/models/concerns/biovision/privilege_base.rb +143 -0
  81. data/app/models/concerns/biovision/user_base.rb +124 -0
  82. data/app/models/concerns/biovision/user_privilege_base.rb +46 -0
  83. data/app/models/concerns/has_owner.rb +19 -0
  84. data/app/models/concerns/required_unique_name.rb +13 -0
  85. data/app/models/concerns/required_unique_slug.rb +12 -0
  86. data/app/models/concerns/toggleable.rb +29 -0
  87. data/app/models/editable_page.rb +30 -0
  88. data/app/models/foreign_site.rb +75 -0
  89. data/app/models/foreign_user.rb +26 -0
  90. data/app/models/metric.rb +67 -0
  91. data/app/models/metric_value.rb +15 -0
  92. data/app/models/privilege.rb +3 -0
  93. data/app/models/privilege_group.rb +50 -0
  94. data/app/models/privilege_group_privilege.rb +6 -0
  95. data/app/models/token.rb +75 -0
  96. data/app/models/user.rb +3 -0
  97. data/app/models/user_privilege.rb +3 -0
  98. data/app/services/canonizer.rb +29 -0
  99. data/app/services/code_manager.rb +16 -0
  100. data/app/services/code_manager/confirmation.rb +26 -0
  101. data/app/services/code_manager/invitation.rb +27 -0
  102. data/app/services/code_manager/recovery.rb +31 -0
  103. data/app/uploaders/avatar_uploader.rb +62 -0
  104. data/app/uploaders/editable_page_image_uploader.rb +38 -0
  105. data/app/views/admin/agents/_filter.html.erb +16 -0
  106. data/app/views/admin/agents/_list.html.erb +17 -0
  107. data/app/views/admin/agents/_nav_item.html.erb +6 -0
  108. data/app/views/admin/agents/_toggleable.html.erb +7 -0
  109. data/app/views/admin/agents/entity/_in_list.html.erb +13 -0
  110. data/app/views/admin/agents/index.html.erb +17 -0
  111. data/app/views/admin/agents/show.html.erb +28 -0
  112. data/app/views/admin/browsers/_list.html.erb +17 -0
  113. data/app/views/admin/browsers/_nav_item.html.erb +6 -0
  114. data/app/views/admin/browsers/_toggleable.html.erb +7 -0
  115. data/app/views/admin/browsers/agents/_add.html.erb +79 -0
  116. data/app/views/admin/browsers/entity/_in_list.html.erb +13 -0
  117. data/app/views/admin/browsers/index.html.erb +17 -0
  118. data/app/views/admin/browsers/show.html.erb +29 -0
  119. data/app/views/admin/codes/_list.html.erb +11 -0
  120. data/app/views/admin/codes/_nav_item.html.erb +6 -0
  121. data/app/views/admin/codes/entity/_in_list.html.erb +24 -0
  122. data/app/views/admin/codes/index.html.erb +16 -0
  123. data/app/views/admin/codes/show.html.erb +51 -0
  124. data/app/views/admin/editable_pages/_list.html.erb +11 -0
  125. data/app/views/admin/editable_pages/_nav_item.html.erb +6 -0
  126. data/app/views/admin/editable_pages/entity/_in_list.html.erb +13 -0
  127. data/app/views/admin/editable_pages/index.html.erb +14 -0
  128. data/app/views/admin/editable_pages/show.html.erb +47 -0
  129. data/app/views/admin/index/index.html.erb +25 -0
  130. data/app/views/admin/metrics/_list.html.erb +26 -0
  131. data/app/views/admin/metrics/_nav_item.html.erb +6 -0
  132. data/app/views/admin/metrics/data.jbuilder +6 -0
  133. data/app/views/admin/metrics/index.html.erb +14 -0
  134. data/app/views/admin/metrics/show.html.erb +52 -0
  135. data/app/views/admin/privilege_groups/_list.html.erb +11 -0
  136. data/app/views/admin/privilege_groups/_nav_item.html.erb +6 -0
  137. data/app/views/admin/privilege_groups/entity/_in_list.html.erb +10 -0
  138. data/app/views/admin/privilege_groups/index.html.erb +14 -0
  139. data/app/views/admin/privilege_groups/show.html.erb +31 -0
  140. data/app/views/admin/privileges/_list.html.erb +15 -0
  141. data/app/views/admin/privileges/_nav_item.html.erb +6 -0
  142. data/app/views/admin/privileges/entity/_groups.html.erb +34 -0
  143. data/app/views/admin/privileges/entity/_in_list.html.erb +25 -0
  144. data/app/views/admin/privileges/index.html.erb +20 -0
  145. data/app/views/admin/privileges/show.html.erb +66 -0
  146. data/app/views/admin/privileges/users.html.erb +24 -0
  147. data/app/views/admin/tokens/_filter.html.erb +17 -0
  148. data/app/views/admin/tokens/_list.html.erb +11 -0
  149. data/app/views/admin/tokens/_nav_item.html.erb +6 -0
  150. data/app/views/admin/tokens/_toggleable.html.erb +7 -0
  151. data/app/views/admin/tokens/entity/_in_list.html.erb +25 -0
  152. data/app/views/admin/tokens/index.html.erb +19 -0
  153. data/app/views/admin/tokens/show.html.erb +43 -0
  154. data/app/views/admin/users/_filter.html.erb +22 -0
  155. data/app/views/admin/users/_list.html.erb +17 -0
  156. data/app/views/admin/users/_nav_item.html.erb +6 -0
  157. data/app/views/admin/users/_search.html.erb +5 -0
  158. data/app/views/admin/users/_toggleable.html.erb +7 -0
  159. data/app/views/admin/users/codes.html.erb +24 -0
  160. data/app/views/admin/users/entity/_in_list.html.erb +24 -0
  161. data/app/views/admin/users/entity/_privilege.html.erb +10 -0
  162. data/app/views/admin/users/entity/_privilege_tree.html.erb +17 -0
  163. data/app/views/admin/users/index.html.erb +19 -0
  164. data/app/views/admin/users/privileges.html.erb +35 -0
  165. data/app/views/admin/users/search.jbuilder +10 -0
  166. data/app/views/admin/users/search/_results.html.erb +11 -0
  167. data/app/views/admin/users/show.html.erb +94 -0
  168. data/app/views/admin/users/tokens.html.erb +24 -0
  169. data/app/views/agents/_agent.jbuilder +20 -0
  170. data/app/views/agents/_filter.html.erb +53 -0
  171. data/app/views/agents/_form.html.erb +33 -0
  172. data/app/views/agents/edit.html.erb +17 -0
  173. data/app/views/agents/index.jbuilder +5 -0
  174. data/app/views/agents/new.html.erb +15 -0
  175. data/app/views/agents/show.jbuilder +3 -0
  176. data/app/views/application/not_found.html.erb +9 -0
  177. data/app/views/application/not_found.jbuilder +3 -0
  178. data/app/views/application/service_unavailable.html.erb +9 -0
  179. data/app/views/application/unauthorized.html.erb +11 -0
  180. data/app/views/application/unauthorized.jbuilder +3 -0
  181. data/app/views/authentication/_form.html.erb +16 -0
  182. data/app/views/authentication/_info.html.erb +8 -0
  183. data/app/views/authentication/new.html.erb +10 -0
  184. data/app/views/browsers/_form.html.erb +28 -0
  185. data/app/views/browsers/edit.html.erb +17 -0
  186. data/app/views/browsers/new.html.erb +15 -0
  187. data/app/views/code_sender/email.text.erb +9 -0
  188. data/app/views/code_sender/password.text.erb +10 -0
  189. data/app/views/codes/_form.html.erb +49 -0
  190. data/app/views/codes/edit.html.erb +17 -0
  191. data/app/views/codes/new.html.erb +15 -0
  192. data/app/views/editable_pages/_form.html.erb +63 -0
  193. data/app/views/editable_pages/edit.html.erb +17 -0
  194. data/app/views/editable_pages/form/_ckeditor.html.erb +11 -0
  195. data/app/views/editable_pages/new.html.erb +15 -0
  196. data/app/views/index/index.html.erb +5 -0
  197. data/app/views/layouts/admin.html.erb +23 -0
  198. data/app/views/layouts/admin/_footer.html.erb +0 -0
  199. data/app/views/layouts/admin/_header.html.erb +11 -0
  200. data/app/views/layouts/admin/header/_logo.html.erb +3 -0
  201. data/app/views/metrics/_form.html.erb +41 -0
  202. data/app/views/metrics/edit.html.erb +17 -0
  203. data/app/views/metrics/index.jbuilder +7 -0
  204. data/app/views/metrics/show.jbuilder +3 -0
  205. data/app/views/my/confirmations/show.html.erb +30 -0
  206. data/app/views/my/index/index.html.erb +17 -0
  207. data/app/views/my/profiles/edit.html.erb +10 -0
  208. data/app/views/my/profiles/edit/_form.html.erb +70 -0
  209. data/app/views/my/profiles/new.html.erb +7 -0
  210. data/app/views/my/profiles/new/_form.html.erb +34 -0
  211. data/app/views/my/profiles/show.html.erb +3 -0
  212. data/app/views/my/recoveries/show.html.erb +39 -0
  213. data/app/views/privilege_groups/_form.html.erb +25 -0
  214. data/app/views/privilege_groups/edit.html.erb +17 -0
  215. data/app/views/privilege_groups/new.html.erb +15 -0
  216. data/app/views/privileges/_form.html.erb +42 -0
  217. data/app/views/privileges/edit.html.erb +21 -0
  218. data/app/views/privileges/new.html.erb +14 -0
  219. data/app/views/profiles/_profile.html.erb +48 -0
  220. data/app/views/profiles/show.html.erb +4 -0
  221. data/app/views/shared/_flash_messages.html.erb +7 -0
  222. data/app/views/shared/_list_of_errors.html.erb +11 -0
  223. data/app/views/shared/_meta_texts.html.erb +17 -0
  224. data/app/views/shared/_nothing_found.html.erb +1 -0
  225. data/app/views/shared/_track.html.erb +10 -0
  226. data/app/views/shared/actions/_locks.html.erb +4 -0
  227. data/app/views/shared/actions/_priority_changer.html.erb +4 -0
  228. data/app/views/shared/admin/_breadcrumbs.html.erb +6 -0
  229. data/app/views/shared/editable_pages/_body.html.erb +12 -0
  230. data/app/views/shared/filter/_flag.html.erb +17 -0
  231. data/app/views/tokens/_form.html.erb +30 -0
  232. data/app/views/tokens/edit.html.erb +17 -0
  233. data/app/views/tokens/new.html.erb +15 -0
  234. data/app/views/users/_form.html.erb +78 -0
  235. data/app/views/users/edit.html.erb +18 -0
  236. data/app/views/users/new.html.erb +15 -0
  237. data/config/initializers/carrierwave.rb +22 -0
  238. data/config/initializers/pluralization.rb +2 -0
  239. data/config/locales/common-ru.yml +96 -0
  240. data/config/locales/editable-pages-ru.yml +43 -0
  241. data/config/locales/plurals.rb +17 -0
  242. data/config/locales/track-ru.yml +102 -0
  243. data/config/locales/users-ru.yml +324 -0
  244. data/config/routes.rb +92 -0
  245. data/db/migrate/20170301000001_create_metrics.rb +23 -0
  246. data/db/migrate/20170301000002_create_metric_values.rb +19 -0
  247. data/db/migrate/20170301000101_create_browsers.rb +22 -0
  248. data/db/migrate/20170301000102_create_agents.rb +22 -0
  249. data/db/migrate/20170302000001_create_users.rb +52 -0
  250. data/db/migrate/20170302000002_create_tokens.rb +23 -0
  251. data/db/migrate/20170302000003_create_code_types.rb +20 -0
  252. data/db/migrate/20170302000004_create_codes.rb +24 -0
  253. data/db/migrate/20170302000101_create_privileges.rb +34 -0
  254. data/db/migrate/20170302000102_create_user_privileges.rb +17 -0
  255. data/db/migrate/20170302000103_create_privilege_groups.rb +23 -0
  256. data/db/migrate/20170302000104_create_privilege_group_privileges.rb +24 -0
  257. data/db/migrate/20170320000000_create_editable_pages.rb +22 -0
  258. data/db/migrate/20170425000001_create_foreign_sites.rb +18 -0
  259. data/db/migrate/20170425000002_create_foreign_users.rb +23 -0
  260. data/lib/biovision/base.rb +9 -0
  261. data/lib/biovision/base/base_methods.rb +96 -0
  262. data/lib/biovision/base/engine.rb +17 -0
  263. data/lib/biovision/base/privilege_methods.rb +35 -0
  264. data/lib/biovision/base/version.rb +5 -0
  265. data/lib/tasks/biovision/agents.rake +38 -0
  266. data/lib/tasks/biovision/base_tasks.rake +4 -0
  267. data/lib/tasks/biovision/browsers.rake +38 -0
  268. data/lib/tasks/biovision/codes.rake +49 -0
  269. data/lib/tasks/biovision/tokens.rake +54 -0
  270. data/lib/tasks/biovision/users.rake +67 -0
  271. metadata +467 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 2d8a79ca16ebacf8a7493c6d4872c948cfc3f660
4
+ data.tar.gz: 345524dff04e3097ae8c17e07ab344c9e62521d1
5
+ SHA512:
6
+ metadata.gz: 0340d94647484785175eaa0387230966abc14911cc1313669ee00857eeff212c7102c886ab35999226b771e2cf13f3656083eaa169e7115158f7fadb7b24c32a
7
+ data.tar.gz: '0191aa35066ee9bed242cef57187bec07bdfb192e5298dd5c99c14faab41a9df3e3fe53b751f6f64312c20cef86a76fee4c13a8a399964ac6feaed9f63f69753'
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2017 Maxim Khan-Magomedov
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,42 @@
1
+ Biovision::Base
2
+ ===============
3
+
4
+ Базовый функционал: пользователи, метрики, браузеры, АП, привилегии.
5
+
6
+ Используйте на свой страх и риск без каких-либо гарантий работоспособности.
7
+
8
+ ToDo
9
+ -----
10
+
11
+ * Тесты для запирания/отпирания в контроллерах
12
+ * Тесты для смены порядка сортировки в контроллерах
13
+ * Подгрузка метрик через AJAX
14
+ * Несколько метрик в одном графике
15
+ * Настройка цветов в графиках
16
+ * Анализ журнала доступа nginx
17
+ * Работа с подсетями (чёрные списки IP и так далее)
18
+
19
+ Описание необходимых и рекомендуемых действий находится в `biovision/snippets`
20
+
21
+ ## Installation
22
+ Add this line to your application's Gemfile:
23
+
24
+ ```ruby
25
+ gem 'biovision-base'
26
+ ```
27
+
28
+ And then execute:
29
+ ```bash
30
+ $ bundle
31
+ ```
32
+
33
+ Or install it yourself as:
34
+ ```bash
35
+ $ gem install biovision-base
36
+ ```
37
+
38
+ ## Contributing
39
+ Contribution directions go here.
40
+
41
+ ## License
42
+ The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
data/Rakefile ADDED
@@ -0,0 +1,26 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require 'rdoc/task'
8
+
9
+ RDoc::Task.new(:rdoc) do |rdoc|
10
+ rdoc.rdoc_dir = 'rdoc'
11
+ rdoc.title = 'Biovision::Base'
12
+ rdoc.options << '--line-numbers'
13
+ rdoc.rdoc_files.include('README.md')
14
+ rdoc.rdoc_files.include('lib/**/*.rb')
15
+ end
16
+
17
+ APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
18
+ load 'rails/tasks/engine.rake'
19
+
20
+
21
+ load 'rails/tasks/statistics.rake'
22
+
23
+
24
+
25
+ require 'bundler/gem_tasks'
26
+
File without changes
@@ -0,0 +1,15 @@
1
+ <?xml version="1.0" ?>
2
+ <svg height="24" version="1.1" width="24" xmlns="http://www.w3.org/2000/svg"
3
+ xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"
4
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
5
+ <g transform="translate(0 -1028.4)">
6
+ <path d="m22 12c0 5.523-4.477 10-10 10-5.5228 0-10-4.477-10-10 0-5.5228 4.4772-10 10-10 5.523 0 10 4.4772 10 10z"
7
+ fill="#c0392b" transform="translate(0 1029.4)"/>
8
+ <path d="m22 12c0 5.523-4.477 10-10 10-5.5228 0-10-4.477-10-10 0-5.5228 4.4772-10 10-10 5.523 0 10 4.4772 10 10z"
9
+ fill="#e74c3c" transform="translate(0 1028.4)"/>
10
+ <path d="m7.0503 1037.8 3.5357 3.6-3.5357 3.5 1.4142 1.4 3.5355-3.5 3.536 3.5 1.414-1.4-3.536-3.5 3.536-3.6-1.414-1.4-3.536 3.5-3.5355-3.5-1.4142 1.4z"
11
+ fill="#c0392b"/>
12
+ <path d="m7.0503 1036.8 3.5357 3.6-3.5357 3.5 1.4142 1.4 3.5355-3.5 3.536 3.5 1.414-1.4-3.536-3.5 3.536-3.6-1.414-1.4-3.536 3.5-3.5355-3.5-1.4142 1.4z"
13
+ fill="#ecf0f1"/>
14
+ </g>
15
+ </svg>
@@ -0,0 +1,28 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
5
+ width="48.02px" height="48.02px" viewBox="1252.705 1638.145 48.02 48.02" enable-background="new 1252.705 1638.145 48.02 48.02"
6
+ xml:space="preserve">
7
+ <g>
8
+ <g>
9
+
10
+ <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-8.0889" y1="1366.9993" x2="6.3662" y2="1366.9993" gradientTransform="matrix(3.3219 0 0 -3.3219 1279.5765 6203.127)">
11
+ <stop offset="0" style="stop-color:#33B49D"/>
12
+ <stop offset="1" style="stop-color:#00A185"/>
13
+ </linearGradient>
14
+ <circle fill="url(#SVGID_1_)" cx="1276.715" cy="1662.155" r="24.01"/>
15
+
16
+ <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="-6.8848" y1="1366.9993" x2="5.1616" y2="1366.9993" gradientTransform="matrix(3.3219 0 0 -3.3219 1279.5765 6203.127)">
17
+ <stop offset="0" style="stop-color:#00A185"/>
18
+ <stop offset="1" style="stop-color:#33B49D"/>
19
+ </linearGradient>
20
+ <path fill="url(#SVGID_2_)" d="M1276.715,1682.163c-11.032,0-20.008-8.976-20.008-20.009c0-11.032,8.976-20.009,20.008-20.009
21
+ s20.008,8.977,20.008,20.009C1296.723,1673.188,1287.747,1682.163,1276.715,1682.163z"/>
22
+ </g>
23
+ <polygon id="XMLID_80_" opacity="0.3" enable-background="new " points="1276.012,1653.105 1266.211,1662.905
24
+ 1276.012,1672.705 1276.012,1667.508 1288.72,1667.508 1288.72,1658.302 1276.012,1658.302 "/>
25
+ <polygon id="XMLID_201_" fill="#FFFFFF" points="1275.261,1652.354 1265.46,1662.155 1275.261,1671.955 1275.261,1666.758
26
+ 1287.97,1666.758 1287.97,1657.551 1275.261,1657.551 "/>
27
+ </g>
28
+ </svg>
@@ -0,0 +1 @@
1
+ <?xml version="1.0" ?><svg enable-background="new 0 0 512 512" id="Layer_1" version="1.1" viewBox="0 0 512 512" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g><g><linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="0.0000038" x2="512" y1="256" y2="256"><stop offset="0" style="stop-color:#33B49D"/><stop offset="1" style="stop-color:#00A185"/></linearGradient><circle cx="256" cy="256" fill="url(#SVGID_1_)" r="256"/><linearGradient gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="42.6666679" x2="469.3333435" y1="256.0005188" y2="256.0005188"><stop offset="0" style="stop-color:#00A185"/><stop offset="1" style="stop-color:#33B49D"/></linearGradient><path d="M256,469.3338623c-117.6309357,0-213.3333282-95.7023926-213.3333282-213.3333435 c0-117.6314545,95.7023926-213.333313,213.3333282-213.333313c117.636261,0,213.3333435,95.7018661,213.3333435,213.333313 C469.3333435,373.6314697,373.636261,469.3338623,256,469.3338623z" fill="url(#SVGID_2_)"/></g><polygon id="XMLID_109_" opacity="0.3" points="384,242.5413361 285.459198,242.5413361 285.459198,144 242.5424042,144 242.5424042,242.5413361 144,242.5413361 144,285.4581299 242.5424042,285.4581299 242.5424042,384 285.459198,384 285.459198,285.4581299 384,285.4581299 "/><polygon fill="#FFFFFF" id="XMLID_189_" points="376,234.5413361 277.459198,234.5413361 277.459198,136 234.5424042,136 234.5424042,234.5413361 136,234.5413361 136,277.4581299 234.5424042,277.4581299 234.5424042,376 277.459198,376 277.459198,277.4581299 376,277.4581299 "/></g></svg>
@@ -0,0 +1,3 @@
1
+ <?xml version="1.0" ?><svg id="Layer_1" style="enable-background:new 0 0 612 792;" version="1.1" viewBox="0 0 612 792" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><style type="text/css">
2
+ .st0{fill:#E44061;}
3
+ </style><g><polygon class="st0" points="382.2,396.4 560.8,217.8 484,141 305.4,319.6 126.8,141 50,217.8 228.6,396.4 50,575 126.8,651.8 305.4,473.2 484,651.8 560.8,575 382.2,396.4 "/></g></svg>
@@ -0,0 +1,22 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <svg version="1.1"
5
+ id="Layer_1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
6
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="24px" height="24px"
7
+ viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve">
8
+ <g transform="translate(0 -1028.4)">
9
+ <g transform="matrix(1.0607 1.0607 -1.0607 1.0607 1146.8 34.926)">
10
+ <path fill="#ECF0F1" d="M-63,1003.4l0,11.3l0,0.7v1L-61,1018.4l2-2l0-1l0-0.7l0-11.3L-63,1003.4z"/>
11
+ <path fill="#BDC3C7" d="M-61,1003.4l0,15l2-2l0-1l0-0.7l0-11.3L-61,1003.4z"/>
12
+ <rect x="-63" y="1004.4" fill="#E67E22" width="4" height="11"/>
13
+ <path fill="#7F8C8D" d="M-61,1000.4c-1.105,0-2,0.9-2,2l0,1l4,0l0-1C-59,1001.3-59.895,1000.4-61,1000.4z"/>
14
+ <g transform="translate(-7,1)">
15
+ <path fill="#34495E" d="M-55.406,1016l1.406,1.4l1.406-1.4l-1.406,0L-55.406,1016z"/>
16
+ <path fill="#2C3E50" d="M-54,1016L-54,1017.4l1.406-1.4L-54,1016z"/>
17
+ </g>
18
+ <path fill="#95A5A6" d="M-61,1000.4c-1.105,0-2,0.9-2,2l0,1l2,0L-61,1000.4z"/>
19
+ <rect x="-61" y="1004.4" fill="#D35400" width="2" height="11"/>
20
+ </g>
21
+ </g>
22
+ </svg>
@@ -0,0 +1 @@
1
+ <?xml version="1.0" ?><svg height="24px" version="1.1" viewBox="0 0 24 24" width="24px" xmlns="http://www.w3.org/2000/svg" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns" xmlns:xlink="http://www.w3.org/1999/xlink"><title/><desc/><defs/><g fill="none" fill-rule="evenodd" id="miu" stroke="none" stroke-width="1"><g id="Artboard-1" transform="translate(-395.000000, -407.000000)"><g id="slice" transform="translate(215.000000, 119.000000)"/><path d="M396,408 L396,430 L411,430 L411,424 L409,424 L409,428 L398,428 L398,410 L409,410 L409,414 L411,414 L411,408 L396,408 Z M411.636039,415.464466 L413.050253,414.050253 L418,419 L413.050253,423.949747 L411.636039,422.535534 L414.170485,420.001088 L403.000499,420.001088 L403.000499,418.00265 L414.174223,418.00265 L411.636039,415.464466 Z" fill="#000000" id="common-logout-signout-exit-glyph"/></g></g></svg>
@@ -0,0 +1 @@
1
+ <?xml version="1.0" ?><!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'><svg enable-background="new 0 0 48 48" id="Layer_1" version="1.1" viewBox="0 0 48 48" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><circle cx="24" cy="24" fill="#4E71A8" r="24"/><path d="M29.9,19.5h-4v-2.6c0-1,0.7-1.2,1.1-1.2c0.5,0,2.8,0,2.8,0v-4.4l-3.9,0c-4.4,0-5.3,3.3-5.3,5.3v2.9h-2.5V24 h2.5c0,5.8,0,12.7,0,12.7h5.3c0,0,0-7,0-12.7h3.6L29.9,19.5z" fill="#FFFFFF"/></svg>
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" ?><svg id="Layer_1" style="enable-background:new 0 0 128 128;" version="1.1" viewBox="0 0 128 128" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><style type="text/css">
2
+ .st0{fill-rule:evenodd;clip-rule:evenodd;}
3
+ .st1{fill-rule:evenodd;clip-rule:evenodd;fill:#7ACED7;}
4
+ </style><g id="XMLID_6_"><path class="st0" d="M119.2,99.3l-19.9,19.9c-2.3,2.3-6.1,2.3-8.4,0l-6.9-6.9v9.8c0,3.3-2.7,5.9-5.9,5.9H49.9 c-3.3,0-5.9-2.7-5.9-5.9v-9.8l-6.9,6.9c-2.3,2.3-6.1,2.3-8.4,0L8.8,99.3c-2.3-2.3-2.3-6.1,0-8.4l6.9-6.9H5.9C2.7,84,0,81.3,0,78.1 V49.9C0,46.7,2.7,44,5.9,44h9.8l-6.9-6.9c-2.3-2.3-2.3-6.1,0-8.4L28.7,8.8c2.3-2.3,6.1-2.3,8.4,0l6.9,6.9V5.9C44,2.7,46.7,0,49.9,0 h28.1C81.3,0,84,2.7,84,5.9v9.8l6.9-6.9c2.3-2.3,6.1-2.3,8.4,0l19.9,19.9c2.3,2.3,2.3,6.1,0,8.4l-6.9,6.9h9.8 c3.3,0,5.9,2.7,5.9,5.9v28.1c0,3.3-2.7,5.9-5.9,5.9h-9.8l6.9,6.9C121.5,93.2,121.5,97,119.2,99.3L119.2,99.3z M64,43.1 c-11.6,0-20.9,9.4-20.9,20.9c0,11.6,9.4,20.9,20.9,20.9c11.6,0,20.9-9.4,20.9-20.9C84.9,52.4,75.6,43.1,64,43.1z" id="XMLID_10_"/><path class="st1" d="M64,39.1c13.8,0,24.9,11.2,24.9,24.9c0,13.8-11.2,24.9-24.9,24.9c-13.8,0-24.9-11.2-24.9-24.9 C39.1,50.2,50.2,39.1,64,39.1L64,39.1z M96.5,11.6c-0.8-0.8-2-0.8-2.7,0L80,25.4V5.9C80,4.9,79.1,4,78.1,4H49.9 C48.9,4,48,4.9,48,5.9v19.4L34.3,11.6c-0.8-0.8-2-0.8-2.7,0L11.6,31.5c-0.8,0.8-0.8,2,0,2.7L25.4,48H5.9C4.9,48,4,48.9,4,49.9v28.1 C4,79.1,4.9,80,5.9,80h19.4L11.6,93.7c-0.8,0.8-0.8,2,0,2.7l19.9,19.9c0.8,0.8,2,0.8,2.7,0L48,102.6v19.4c0,1.1,0.9,1.9,1.9,1.9 h28.1c1.1,0,1.9-0.9,1.9-1.9v-19.4l13.7,13.7c0.8,0.8,2,0.8,2.7,0l19.9-19.9c0.8-0.8,0.8-2,0-2.7L102.6,80h19.4 c1.1,0,1.9-0.9,1.9-1.9V49.9c0-1.1-0.9-1.9-1.9-1.9h-19.4l13.7-13.7c0.8-0.8,0.8-2,0-2.7L96.5,11.6z" id="XMLID_7_"/></g></svg>
@@ -0,0 +1 @@
1
+ <?xml version="1.0" ?><svg height="24" version="1.1" width="24" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><g transform="translate(0 -1028.4)"><path d="m5 1037.4c-1.1046 0-2 0.9-2 2v1 6 1c0 1.1 0.8954 2 2 2h2 10 2c1.105 0 2-0.9 2-2v-7-1c0-1.1-0.895-2-2-2h-2-12z" fill="#f1c40f"/><path d="m5 1040.4c-1.1046 0-2 0.9-2 2v1 6 1c0 1.1 0.8954 2 2 2h2 10 2c1.105 0 2-0.9 2-2v-7-1c0-1.1-0.895-2-2-2h-2-12z" fill="#f39c12"/><path d="m12 1029.4c-3.866 0-7 3.1-7 7h3c0-2.2 1.7909-4 4-4 2.209 0 4 1.8 4 4h3c0-3.9-3.134-7-7-7z" fill="#bdc3c7"/><path d="m5 14v1h14v-1h-14zm0 2v1h14v-1h-14zm0 2v1h14v-1h-14zm0 2v1h14v-1h-14z" fill="#e67e22" transform="translate(0 1028.4)"/><path d="m5 1037.4v1c0 0.5 0.6716 1 1.5 1s1.5-0.5 1.5-1v-1c0 0.5-0.6716 1-1.5 1s-1.5-0.5-1.5-1z" fill="#7f8c8d"/><path d="m16 1037.4v1c0 0.5 0.672 1 1.5 1s1.5-0.5 1.5-1v-1c0 0.5-0.672 1-1.5 1s-1.5-0.5-1.5-1z" fill="#7f8c8d"/><path d="m12 2.4375c-0.351 0-0.699 0.0338-1.031 0.0937-0.247 0.0446-0.487 0.1129-0.719 0.1876-0.217 0.0698-0.4229 0.1561-0.625 0.25-0.106 0.0492-0.2109 0.1008-0.3125 0.1562-0.1319 0.0719-0.2513 0.1682-0.375 0.25-0.1158 0.0765-0.2356 0.1342-0.3437 0.2188-0.1407 0.1097-0.2799 0.2211-0.4063 0.3437-0.0369 0.0362-0.0581 0.0878-0.0937 0.125-0.1684 0.1744-0.3313 0.3356-0.4688 0.5313-0.1402 0.1993-0.2704 0.4065-0.375 0.625-0.004 0.0084 0.004 0.0227 0 0.0312-0.1111 0.2359-0.2159 0.4959-0.2812 0.75-0.253 0.5844-0.9424 1-1.75 1-0.06 0-0.0832 0.0018-0.125 0-0.0105-0.0004-0.0168 0.0014-0.0313 0l-0.0625 1v1 1h3v-1-1c0-0.2761 0.0405-0.5521 0.0938-0.8125 0.3729-1.8227 1.9732-3.1875 3.9062-3.1875 2.209 0 4 1.7909 4 4v1 1h3v-1-1l-0.062-1c-0.015 0.0014-0.021-0.0004-0.032 0h-0.125c-0.807 0-1.497-0.4156-1.75-1-0.065-0.2541-0.17-0.5141-0.281-0.75-0.004-0.0085 0.004-0.0228 0-0.0312-0.105-0.2185-0.235-0.4257-0.375-0.625-0.138-0.1957-0.3-0.3569-0.469-0.5313-0.036-0.038-0.055-0.0881-0.094-0.125-0.126-0.1226-0.265-0.234-0.406-0.3437-0.104-0.0817-0.232-0.1448-0.344-0.2188-0.122-0.0809-0.244-0.1788-0.374-0.25-0.101-0.055-0.208-0.1074-0.313-0.1562-0.202-0.0939-0.408-0.1802-0.625-0.25-0.232-0.0747-0.472-0.143-0.719-0.1876-0.332-0.0599-0.68-0.0937-1.031-0.0937z" fill="#95a5a6" transform="translate(0 1028.4)"/></g></svg>
@@ -0,0 +1 @@
1
+ <?xml version="1.0" ?><svg height="24" version="1.1" width="24" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><g transform="translate(0 -1028.4)"><path d="m5 1037.4c-1.1046 0-2 0.9-2 2v1 6 1c0 1.1 0.8954 2 2 2h2 10 2c1.105 0 2-0.9 2-2v-7-1c0-1.1-0.895-2-2-2h-2-12z" fill="#f1c40f"/><path d="m5 1040.4c-1.1046 0-2 0.9-2 2v1 6 1c0 1.1 0.8954 2 2 2h2 10 2c1.105 0 2-0.9 2-2v-7-1c0-1.1-0.895-2-2-2h-2-12z" fill="#f39c12"/><path d="m12 1c-3.866 0-7 3.134-7 7h3c0-2.2091 1.7909-4 4-4 1.863 0 3.399 1.2757 3.844 3h3.062c-0.487-3.39-3.381-6-6.906-6z" fill="#bdc3c7" transform="translate(0 1028.4)"/><path d="m5 14v1h14v-1h-14zm0 2v1h14v-1h-14zm0 2v1h14v-1h-14zm0 2v1h14v-1h-14z" fill="#e67e22" transform="translate(0 1028.4)"/><path d="m5 1037.4v1c0 0.5 0.6716 1 1.5 1s1.5-0.5 1.5-1v-1c0 0.5-0.6716 1-1.5 1s-1.5-0.5-1.5-1z" fill="#7f8c8d"/><path d="m12 2.4375c-0.351 0-0.699 0.0338-1.031 0.0937-0.247 0.0446-0.487 0.1129-0.719 0.1876-0.217 0.0698-0.4229 0.1561-0.625 0.25-0.106 0.0492-0.2109 0.1008-0.3125 0.1562-0.1319 0.0719-0.2513 0.1682-0.375 0.25-0.1158 0.0765-0.2356 0.1342-0.3437 0.2188-0.1407 0.1097-0.2799 0.2211-0.4063 0.3437-0.0369 0.0362-0.0581 0.0878-0.0937 0.125-0.1684 0.1744-0.3313 0.3356-0.4688 0.5313-0.1402 0.1993-0.2704 0.4065-0.375 0.625-0.004 0.0084 0.004 0.0227 0 0.0312-0.1111 0.2359-0.2159 0.4959-0.2812 0.75-0.253 0.5844-0.9424 1-1.75 1-0.06 0-0.0832 0.0018-0.125 0-0.0105-0.0004-0.0168 0.0014-0.0313 0l-0.0625 1v1 1h3v-1-1c0-0.2761 0.0405-0.5521 0.0938-0.8125 0.3729-1.8227 1.9732-3.1875 3.9062-3.1875 1.863 0 3.399 1.2757 3.844 3h2.937c-0.807 0-1.497-0.4156-1.75-1-0.065-0.2541-0.17-0.5141-0.281-0.75-0.004-0.0085 0.004-0.0228 0-0.0312-0.105-0.2185-0.235-0.4257-0.375-0.625-0.138-0.1957-0.3-0.3569-0.469-0.5313-0.036-0.038-0.055-0.0881-0.094-0.125-0.126-0.1226-0.265-0.234-0.406-0.3437-0.104-0.0817-0.232-0.1448-0.344-0.2188-0.122-0.0809-0.244-0.1788-0.374-0.25-0.101-0.055-0.208-0.1074-0.313-0.1562-0.202-0.0939-0.408-0.1802-0.625-0.25-0.232-0.0747-0.472-0.143-0.719-0.1876-0.332-0.0599-0.68-0.0937-1.031-0.0937z" fill="#95a5a6" transform="translate(0 1028.4)"/><path d="m16 10c0 0.552 0.672 1 1.5 1s1.5-0.448 1.5-1h-3z" fill="#e67e22" transform="translate(0 1028.4)"/></g></svg>
@@ -0,0 +1 @@
1
+ <?xml version="1.0" ?><svg height="24" version="1.1" width="24" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><g transform="translate(0 -1028.4)"><path d="m22 12c0 5.523-4.477 10-10 10-5.5228 0-10-4.477-10-10 0-5.5228 4.4772-10 10-10 5.523 0 10 4.4772 10 10z" fill="#27ae60" transform="translate(0 1029.4)"/><path d="m22 12c0 5.523-4.477 10-10 10-5.5228 0-10-4.477-10-10 0-5.5228 4.4772-10 10-10 5.523 0 10 4.4772 10 10z" fill="#2ecc71" transform="translate(0 1028.4)"/><path d="m16 1037.4-6 6-2.5-2.5-2.125 2.1 2.5 2.5 2 2 0.125 0.1 8.125-8.1-2.125-2.1z" fill="#27ae60"/><path d="m16 1036.4-6 6-2.5-2.5-2.125 2.1 2.5 2.5 2 2 0.125 0.1 8.125-8.1-2.125-2.1z" fill="#ecf0f1"/></g></svg>
@@ -0,0 +1 @@
1
+ <?xml version="1.0" ?><svg enable-background="new 0 0 512 512" id="Layer_1" version="1.1" viewBox="0 0 512 512" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g><g><linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="-0.0000027" x2="512" y1="256" y2="256"><stop offset="0" style="stop-color:#B49A85"/><stop offset="0.0650802" style="stop-color:#B0957F"/><stop offset="0.2856463" style="stop-color:#A88A71"/><stop offset="0.5538635" style="stop-color:#A38369"/><stop offset="1" style="stop-color:#A18166"/></linearGradient><circle cx="256" cy="256" fill="url(#SVGID_1_)" r="256"/><linearGradient gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="42.6666641" x2="469.3333435" y1="256.0005188" y2="256.0005188"><stop offset="0" style="stop-color:#A18166"/><stop offset="0.4461364" style="stop-color:#A38369"/><stop offset="0.7143537" style="stop-color:#A88A71"/><stop offset="0.9349198" style="stop-color:#B0957F"/><stop offset="1" style="stop-color:#B49A85"/></linearGradient><path d="M256,469.3338623c-117.631012,0-213.3333435-95.7018738-213.3333435-213.3333435 c0-117.6309204,95.7023239-213.333313,213.3333435-213.333313c117.6362,0,213.3333435,95.7024002,213.3333435,213.333313 C469.3333435,373.6319885,373.6362,469.3338623,256,469.3338623z" fill="url(#SVGID_2_)"/></g><path d="M228.8847198,285.5493469v34.813324L144,242.3226624l84.8847198-78.0399933 l0.0006104,39.2917328C317.5705872,203.5744019,384,243.6815948,384,332.3674622 c0,10.7285461-1.0518188,21.2112122-3.058197,31.3504028C380.941803,363.717865,330.6186523,285.5514526,228.8847198,285.5493469z" id="XMLID_78_" opacity="0.3"/><path d="M220.8847198,277.5493469v34.813324L136,234.3226624l84.8847198-78.0399933 l0.0006104,39.2917328C309.5705872,195.5744019,376,235.6815948,376,324.3674622 c0,10.7285461-1.0518188,21.2112122-3.058197,31.3504028C372.941803,355.717865,322.6186523,277.5514526,220.8847198,277.5493469z" fill="#FFFFFF" id="XMLID_2251_"/></g></svg>
@@ -0,0 +1,43 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <svg version="1.1" id="Слой_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
5
+ width="48px" height="48px" viewBox="-23.91 1676.895 48 48" enable-background="new -23.91 1676.895 48 48" xml:space="preserve">
6
+ <g>
7
+ <polygon fill="#E9B53A" points="3.815,1678.984 -15.905,1678.984 -15.905,1722.806 16.961,1722.806 16.961,1692.13 "/>
8
+ </g>
9
+ <g opacity="0.2">
10
+ <polygon fill="#070B0C" points="3.815,1692.13 16.961,1692.13 3.815,1678.983 "/>
11
+ </g>
12
+ <g>
13
+ <path fill="#1E1E1E" d="M16.961,1723.243h-32.867c-0.255,0-0.438-0.219-0.438-0.438v-43.822c0-0.256,0.219-0.438,0.438-0.438h18.26
14
+ c2.264,0,4.089,1.826,4.089,4.09v6.865h6.866c2.264,0,4.09,1.826,4.09,4.09v29.215C17.4,1723.062,17.218,1723.243,16.961,1723.243z
15
+ M-15.467,1722.368h31.954v-28.777c0-1.752-1.425-3.213-3.214-3.213H6.007c-0.256,0-0.439-0.219-0.439-0.439v-7.303
16
+ c0-1.754-1.424-3.215-3.213-3.215h-17.821V1722.368z"/>
17
+ </g>
18
+ <g>
19
+ <g>
20
+ <path fill="#434444" d="M4.911,1680.042c0.657,0.657,1.096,1.57,1.096,2.594v7.303h7.303c0.986,0,1.899,0.402,2.556,1.06l0,0
21
+ L4.911,1680.042L4.911,1680.042z"/>
22
+ </g>
23
+ </g>
24
+ <g>
25
+ <g>
26
+ <path fill="#1E1E1E" d="M15.866,1691.436L15.866,1691.436c-0.109,0-0.255-0.036-0.328-0.146c-0.621-0.584-1.388-0.913-2.264-0.913
27
+ H6.007c-0.256,0-0.439-0.219-0.439-0.438v-7.303c0-0.877-0.329-1.68-0.949-2.265c-0.073-0.073-0.146-0.22-0.146-0.329
28
+ c0-0.183,0.109-0.364,0.292-0.438c0.183-0.072,0.365-0.036,0.511,0.11l10.956,10.955c0.146,0.146,0.183,0.329,0.109,0.512
29
+ C16.231,1691.326,16.049,1691.436,15.866,1691.436z M6.444,1689.501h6.866c0.146,0,0.292,0,0.438,0.036l-7.305-7.304
30
+ c0,0.146,0.037,0.292,0.037,0.438v6.83H6.444z"/>
31
+ </g>
32
+ </g>
33
+ <g>
34
+ <g>
35
+ <circle fill="#FFFFFF" cx="0.528" cy="1710.025" r="1.826"/>
36
+ </g>
37
+ <g>
38
+ <g>
39
+ <rect x="-0.933" y="1695.782" fill="#FFFFFF" width="2.922" height="10.225"/>
40
+ </g>
41
+ </g>
42
+ </g>
43
+ </svg>
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" ?><svg id="Layer_1" style="enable-background:new 0 0 128 128;" version="1.1" viewBox="0 0 128 128" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><style type="text/css">
2
+ .st0{fill-rule:evenodd;clip-rule:evenodd;}
3
+ .st1{fill-rule:evenodd;clip-rule:evenodd;fill:#7ACED7;}
4
+ </style><g id="XMLID_11_"><circle class="st0" cx="64" cy="64" id="XMLID_9_" r="64"/><path class="st1" d="M4,62h25.3c0-0.1,0-0.1,0-0.2C30.3,45,36,29.3,46.2,16c2.8-3.7,6.8-8.1,10.8-11.6 C27.8,7.8,5,32.1,4,62L4,62z M33.3,62c0.9-16,6.3-30.9,16.1-43.6c3.2-4.2,8-9.4,12.6-12.9V62H33.3L33.3,62z M70.9,4.4 c4,3.5,8,7.9,10.8,11.6C92,29.3,97.7,45,98.7,61.8c0,0.1,0,0.1,0,0.2H124C123,32.1,100.2,7.8,70.9,4.4L70.9,4.4z M94.7,62H66V5.5 c4.6,3.5,9.4,8.7,12.6,12.9C88.3,31.1,93.7,46,94.7,62L94.7,62z M71,123.6c4-3.5,7.9-7.9,10.8-11.6C92,98.7,97.7,83,98.7,66.2 c0-0.1,0-0.2,0-0.2H124C123,95.9,100.2,120.2,71,123.6L71,123.6z M94.7,66H66v56.5c4.6-3.5,9.4-8.7,12.6-12.9 C88.3,96.9,93.7,82,94.7,66L94.7,66z M62,122.5c-4.6-3.5-9.4-8.7-12.6-12.9C39.7,96.9,34.3,82,33.3,66H62V122.5L62,122.5z M29.3,66 H4c1,29.9,23.8,54.2,53,57.6c-4-3.5-7.9-7.9-10.8-11.6C36,98.7,30.3,83,29.3,66.2C29.3,66.2,29.3,66.1,29.3,66z" id="XMLID_12_"/></g></svg>
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
5
+ width="480px" height="480px" viewBox="-216 -216 480 480" enable-background="new -216 -216 480 480" xml:space="preserve">
6
+ <path d="M222.262,201.391H-174.26c-23.052,0-41.74-18.689-41.74-41.738v-271.304c0-23.05,18.688-41.74,41.74-41.74h396.521
7
+ c23.051,0,41.738,18.689,41.738,41.74v271.304C264,182.701,245.312,201.391,222.262,201.391z M243.131-111.652
8
+ c0-11.521-9.355-20.87-20.869-20.87H-174.26c-11.521,0-20.87,9.349-20.87,20.87v271.304c0,11.516,9.349,20.87,20.87,20.87h396.521
9
+ c11.514,0,20.869-9.354,20.869-20.87V-111.652z M204.877,135.809l-66.094-66.096l-37.766,37.766l34.791,34.789
10
+ c3.971,3.975,3.971,10.425,0,14.41c-3.985,3.973-10.436,3.973-14.41,0L-28.172,7.105l-128.703,128.703
11
+ c-3.975,3.973-10.426,3.973-14.409,0c-3.98-3.985-3.98-10.436,0-14.41L-36.626-13.261c0.335-0.504,0.555-1.054,0.994-1.503
12
+ c2.054-2.058,4.769-2.995,7.46-2.935c2.688-0.061,5.404,0.877,7.458,2.935c0.439,0.449,0.646,0.999,0.992,1.503L86.61,93.068
13
+ l43.716-43.715c0.346-0.498,0.56-1.059,0.996-1.508c2.061-2.048,4.77-2.995,7.461-2.936c2.689-0.06,5.4,0.888,7.459,2.936
14
+ c0.438,0.449,0.652,1.01,0.998,1.508l72.045,72.045c3.975,3.975,3.975,10.425,0,14.41
15
+ C215.302,139.781,208.852,139.781,204.877,135.809z M76.174-28.173c-23.049,0-41.74-18.689-41.74-41.74
16
+ c0-23.05,18.691-41.739,41.74-41.739c23.052,0,41.74,18.689,41.74,41.739C117.914-46.862,99.226-28.173,76.174-28.173z
17
+ M76.174-90.783c-11.514,0-20.87,9.351-20.87,20.87c0,11.521,9.356,20.87,20.87,20.87s20.871-9.349,20.871-20.87
18
+ C97.045-81.432,87.688-90.783,76.174-90.783z"/>
19
+ </svg>
@@ -0,0 +1,23 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
5
+ width="480px" height="480px" viewBox="-216 -216 480 480" enable-background="new -216 -216 480 480" xml:space="preserve">
6
+ <path d="M217.912,184.5h-387.824c-22.544,0-40.823-18.277-40.823-40.824V-80.853c0-22.545,18.279-40.823,40.823-40.823h10.206l0,0
7
+ c0-11.269,9.145-20.412,20.412-20.412h20.412c11.268,0,20.412,9.144,20.412,20.412h20.412c0,0,11.481-1.275,20.412-10.207
8
+ l20.411-20.411c0,0,7.974-10.206,20.412-10.206h81.647c13.395,0,20.41,10.206,20.41,10.206l20.413,20.411
9
+ c8.929,8.932,20.41,10.207,20.41,10.207h91.854c22.543,0,40.822,18.278,40.822,40.823v224.529
10
+ C258.734,166.223,240.455,184.5,217.912,184.5z M238.324-80.853c0-11.266-9.15-20.411-20.412-20.411l-94.105-0.135
11
+ c-3.109-0.334-19.276-2.742-32.59-16.052l-21.738-21.737l-1.066-1.54c0-0.016-1.594-1.36-3.588-1.36h-81.647
12
+ c-1.56,0-3.828,1.818-4.326,2.357l-0.768,0.981l-21.298,21.29c-13.321,13.32-29.487,15.718-32.587,16.052l-42.368,0.059
13
+ c-0.245,0.025-0.479,0.086-0.713,0.086h-20.412c-0.145,0-0.264-0.042-0.409-0.042l-30.209,0.042
14
+ c-11.267,0-20.411,9.145-20.411,20.411v224.529c0,11.264,9.145,20.412,20.411,20.412h387.824c11.262,0,20.412-9.148,20.412-20.412
15
+ V-80.853z M24,143.676c-62.003,0-112.265-50.271-112.265-112.264C-88.265-30.586-38.003-80.853,24-80.853
16
+ c62.002,0,112.264,50.267,112.264,112.265C136.264,93.404,86.002,143.676,24,143.676z M24-60.441
17
+ c-50.735,0-91.853,41.117-91.853,91.853c0,50.729,41.117,91.854,91.853,91.854c50.729,0,91.854-41.125,91.854-91.854
18
+ C115.854-19.324,74.729-60.441,24-60.441z M24,82.442c-28.19,0-51.029-22.844-51.029-51.03c0-28.19,22.839-51.03,51.029-51.03
19
+ c28.187,0,51.031,22.84,51.031,51.03C75.031,59.599,52.187,82.442,24,82.442z M24,0.794c-16.903,0-30.617,13.719-30.617,30.618
20
+ C-6.617,48.315,7.097,62.03,24,62.03c16.913,0,30.619-13.715,30.619-30.618C54.619,14.513,40.913,0.794,24,0.794z M-118.882-40.031
21
+ h-40.824c-5.641,0-10.206-4.559-10.206-10.204v-20.412c0-5.636,4.565-10.206,10.206-10.206h40.824
22
+ c5.641,0,10.206,4.57,10.206,10.206v20.412C-108.676-44.59-113.241-40.031-118.882-40.031z"/>
23
+ </svg>
@@ -0,0 +1,21 @@
1
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="480px" height="480px" viewBox="-216 -216 480 480">
2
+ <path d="M23.25,259C-106.952,259-212.5,153.446-212.5,23.25c0-130.204,105.548-235.75,235.75-235.75
3
+ C153.446-212.5,259-106.954,259,23.25C259,153.446,153.446,259,23.25,259z M153.842,191.643c-1.751-2.588-3.987-5.811-5.767-8.333
4
+ c-3.114-4.428-6.227-8.835-9.011-13.221c-0.133-0.197-15.5-20.829-70.909-23.351c-19.272,0-33.282-14.461-33.316-34.425
5
+ l-0.361-10.48c0-1.514-0.177,1.666,0,0V90.606L45.704,79.38c8.2-3.803,18.638-10.206,26.88-16.433l1.522-1.041
6
+ c6.525-4.145,15.635-12.871,16.501-16.205l0.406-4.275c4.188-21.59,10.82-60.861,10.82-74.308c0-52.874-25.71-78.583-78.584-78.583
7
+ c-53.604,0-78.583,24.969-78.583,78.583c0,13.809,6.633,52.886,10.81,74.264l0.394,3.97c0.708,3.507,8.969,11.818,16.27,16.399
8
+ l1.097,0.703c8.847,6.183,19.421,13.068,27.56,16.926l11.227,11.227v11.227c0.158,1.557,0-1.645,0,0l-0.373,10.48
9
+ c0,19.932-13.983,34.402-32.364,34.402c-0.01,0-0.021,0-0.033,0c-55.637,2.259-71.77,23.307-71.791,23.307
10
+ c-2.83,4.452-5.927,8.859-9.062,13.31c-1.759,2.5-3.985,5.723-5.755,8.311c36.111,28.044,81.33,44.903,130.591,44.903
11
+ C72.499,236.546,117.729,219.687,153.842,191.643z M23.25-190.049c-117.797,0-213.297,95.5-213.297,213.299
12
+ c0,60.472,25.259,114.915,65.674,153.725c4.287-6.338,8.87-12.674,12.909-19.011c0,0,18.748-30.796,89.811-33.679
13
+ c7.241,0,10.854-4.735,10.854-11.972h0.011c-0.011-5.843-0.011-10.48-0.011-10.48c0-1.458-0.237-2.774-0.303-4.188
14
+ c-8.129-3.837-17.557-9.144-28.503-16.773c0,0-26.942-16.576-26.942-35.171c0,0-11.226-57.429-11.226-78.583
15
+ c0-52.134,22.293-101.035,101.036-101.035c77.684,0,101.035,48.9,101.035,101.035c0,20.634-11.228,78.583-11.228,78.583
16
+ c0,18.09-26.937,35.171-26.937,35.171c-10.721,8.091-20.226,13.495-28.545,17.365c-0.067,1.216-0.265,2.347-0.265,3.596
17
+ c0,0-0.012,4.638-0.012,10.48h0.012c-0.021,7.236,3.597,11.972,10.832,11.972c72.114,3.234,89.808,33.679,89.808,33.679
18
+ c4.036,6.337,8.618,12.673,12.893,19.011c40.425-38.81,65.691-93.253,65.691-153.725C236.547-94.549,141.05-190.049,23.25-190.049z"
19
+ fill="#aaa"
20
+ />
21
+ </svg>
@@ -0,0 +1,238 @@
1
+ 'use strict';
2
+
3
+ var Biovision = {
4
+ storage: {
5
+ available: function (type) {
6
+ try {
7
+ var storage = window[type],
8
+ x = '__storage_test__';
9
+ storage.setItem(x, x);
10
+ storage.removeItem(x);
11
+ return true;
12
+ }
13
+ catch (e) {
14
+ return false;
15
+ }
16
+ },
17
+ set: function (type, key, value) {
18
+ if (Biovision.storage.available(type)) {
19
+ window[type].setItem(key, value);
20
+ } else {
21
+ console.log('set: Storage ' + type + ' is not available');
22
+ }
23
+ },
24
+ get: function (type, key) {
25
+ if (Biovision.storage.available(type)) {
26
+ return window[type].getItem(key);
27
+ } else {
28
+ console.log('get: Storage ' + type + ' is not available');
29
+ return null;
30
+ }
31
+ },
32
+ remove: function (type, key) {
33
+ if (Biovision.storage.available(type)) {
34
+ window[type].removeItem(key);
35
+ } else {
36
+ console.log('remove: Storage ' + type + ' is not available');
37
+ }
38
+ },
39
+ session: {
40
+ set: function (key, value) {
41
+ Biovision.storage.set('sessionStorage', key, value);
42
+ },
43
+ get: function (key) {
44
+ return Biovision.storage.get('sessionStorage', key);
45
+ },
46
+ remove: function (key) {
47
+ Biovision.storage.remove('sessionStorage', key);
48
+ }
49
+ },
50
+ local: {
51
+ set: function (key, value) {
52
+ Biovision.storage.set('localStorage', key, value);
53
+ },
54
+ get: function (key) {
55
+ return Biovision.storage.get('localStorage', key);
56
+ },
57
+ remove: function (key) {
58
+ Biovision.storage.remove('localStorage', key);
59
+ }
60
+ }
61
+ }
62
+ };
63
+
64
+ $(function () {
65
+ $(document).on('change', 'input[type=file]', function () {
66
+ if ($(this).data('image')) {
67
+ var target = $('#' + $(this).data('image')).find('img');
68
+ var input = this;
69
+
70
+ if (input.files && input.files[0]) {
71
+ var reader = new FileReader();
72
+
73
+ reader.onload = function (e) {
74
+ target.attr('src', e.target.result);
75
+ };
76
+
77
+ reader.readAsDataURL(input.files[0]);
78
+ }
79
+ }
80
+ });
81
+
82
+ $(document).on('click', 'div.toggleable > span', function () {
83
+ if (!$(this).hasClass('switch')) {
84
+ var $flag = $(this);
85
+ var url = $(this).parent().data('url');
86
+ var parameter = $(this).data('flag');
87
+
88
+ $.post({
89
+ url: url,
90
+ data: {parameter: parameter},
91
+ beforeSend: function () {
92
+ $flag.removeClass();
93
+ $flag.addClass('switch');
94
+ },
95
+ success: function (response) {
96
+ $flag.removeClass();
97
+ if (response.hasOwnProperty('data') && response['data'].hasOwnProperty(parameter)) {
98
+ switch (response['data'][parameter]) {
99
+ case true:
100
+ $flag.addClass('active');
101
+ break;
102
+ case false:
103
+ $flag.addClass('inactive');
104
+ break;
105
+ default:
106
+ $flag.addClass('unknown');
107
+ }
108
+ } else {
109
+ $flag.addClass('unknown');
110
+ }
111
+ }
112
+ }).fail(function (response) {
113
+ $flag.removeClass();
114
+ $flag.addClass('unknown');
115
+ handle_ajax_failure(response);
116
+ });
117
+ }
118
+ });
119
+
120
+ $(document).on('click', 'li.lock > a', function () {
121
+ var $container = $(this).closest('li');
122
+ var $edit = $container.parent().find('.lockable');
123
+ var url = $container.data('url');
124
+
125
+ if (url.length > 1) {
126
+ $.ajax(url, {
127
+ method: $(this).hasClass('lock') ? 'put' : 'delete',
128
+ success: function (response) {
129
+ if (response.hasOwnProperty('data') && response['data'].hasOwnProperty('locked')) {
130
+ var locked = response['data']['locked'];
131
+
132
+ locked ? $edit.addClass('hidden') : $edit.removeClass('hidden');
133
+
134
+ $container.find('a').each(function () {
135
+ if ($(this).hasClass('lock')) {
136
+ locked ? $(this).addClass('hidden') : $(this).removeClass('hidden');
137
+ } else {
138
+ locked ? $(this).removeClass('hidden') : $(this).addClass('hidden');
139
+ }
140
+ });
141
+ }
142
+ }
143
+ }).fail(handle_ajax_failure);
144
+ }
145
+
146
+ return false;
147
+ });
148
+
149
+ $(document).on('click', 'li.priority-changer > button', function () {
150
+ var $li = $(this).closest('li[data-number]');
151
+ var delta = parseInt($(this).data('delta'));
152
+ var url = $(this).parent().data('url');
153
+
154
+ if (parseInt($li.data('number')) + delta > 0) {
155
+ $.post(url, {delta: delta}, function (response) {
156
+ console.log(response);
157
+ if (response.hasOwnProperty('data')) {
158
+ var $container = $li.parent();
159
+ var $list = $container.children('li');
160
+
161
+ if (response['data'].hasOwnProperty('priority')) {
162
+ $li.data('number', response['data']['priority']);
163
+ $li.attr('data-number', response['data']['priority']);
164
+ } else {
165
+ for (var entity_id in response['data']) {
166
+ if (response['data'].hasOwnProperty(entity_id)) {
167
+ $li = $container.find('li[data-id=' + entity_id + ']');
168
+ $li.data('number', response['data'][entity_id]);
169
+ $li.attr('data-number', response['data'][entity_id]);
170
+ }
171
+ }
172
+ }
173
+ $list.sort(function (a, b) {
174
+ var an = parseInt($(a).data('number'));
175
+ var bn = parseInt($(b).data('number'));
176
+
177
+ if (an > bn) {
178
+ return 1;
179
+ } else if (an < bn) {
180
+ return -1;
181
+ } else {
182
+ return 0;
183
+ }
184
+ });
185
+
186
+ $list.detach().appendTo($container);
187
+ }
188
+ }).fail(handle_ajax_failure);
189
+ }
190
+ });
191
+
192
+ $('div[data-destroy-url] button.destroy').on('click', function () {
193
+ var $button = $(this);
194
+ var $container = $(this).closest('div[data-destroy-url]');
195
+
196
+ $button.attr('disabled', true);
197
+
198
+ $.ajax($container.data('destroy-url'), {
199
+ method: 'delete',
200
+ success: function (response) {
201
+ $container.remove();
202
+ }
203
+ }).fail(handle_ajax_failure);
204
+ });
205
+
206
+ $('.user-search button').on('click', function() {
207
+ var $container = $(this).closest('.user-search');
208
+ var $input = $container.find('input[type=search]');
209
+ var $results = $container.find('.results');
210
+
211
+ $.get($container.data('url'), {q: $input.val()}, function (response) {
212
+ if (response.hasOwnProperty('data')) {
213
+ $results.html(response['data']['html']);
214
+ }
215
+ }).fail(handle_ajax_failure);
216
+ });
217
+
218
+ $(document).on('click', '.user-search .results li', function() {
219
+ var $container = $(this).closest('.user-search');
220
+ var $target = $('#' + $container.data('target'));
221
+
222
+ $target.val($(this).data('id'));
223
+ });
224
+
225
+ $.ajaxSetup({
226
+ headers: {
227
+ 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content')
228
+ }
229
+ });
230
+ });
231
+
232
+ function handle_ajax_failure(response) {
233
+ if (response.hasOwnProperty('responseJSON')) {
234
+ console.log(response['responseJSON']);
235
+ } else {
236
+ console.log(response);
237
+ }
238
+ }