biovision-base 0.5.170614

Sign up to get free protection for your applications and to get access to all the features.
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
+ }