sibu 0.8.1 → 0.8.2

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 (118) hide show
  1. checksums.yaml +4 -4
  2. data/MIT-LICENSE +20 -20
  3. data/README.md +38 -38
  4. data/Rakefile +36 -36
  5. data/app/assets/config/sibu_manifest.js +2 -2
  6. data/app/assets/fonts/sibu/Sibu.eot +0 -0
  7. data/app/assets/fonts/sibu/Sibu.svg +13 -13
  8. data/app/assets/fonts/sibu/Sibu.ttf +0 -0
  9. data/app/assets/fonts/sibu/Sibu.woff +0 -0
  10. data/app/assets/javascripts/cropper/cropper.js +3694 -3694
  11. data/app/assets/javascripts/quill/quill.js +11401 -11401
  12. data/app/assets/javascripts/sibu/common.js +6 -6
  13. data/app/assets/javascripts/sibu/sibu.js.erb +155 -155
  14. data/app/assets/javascripts/tabs/van11y-accessible-tab-panel-aria.js +465 -465
  15. data/app/assets/stylesheets/cropper/cropper.css +304 -304
  16. data/app/assets/stylesheets/quill/quill.snow.css +945 -945
  17. data/app/assets/stylesheets/sibu/defaults.scss +336 -336
  18. data/app/assets/stylesheets/sibu/icons.scss +40 -40
  19. data/app/assets/stylesheets/sibu/sibu.css +131 -131
  20. data/app/controllers/sibu/application_controller.rb +14 -14
  21. data/app/controllers/sibu/documents_controller.rb +35 -35
  22. data/app/controllers/sibu/images_controller.rb +78 -78
  23. data/app/controllers/sibu/pages_controller.rb +197 -197
  24. data/app/controllers/sibu/sites_controller.rb +81 -81
  25. data/app/helpers/sibu/application_helper.rb +11 -11
  26. data/app/helpers/sibu/documents_helper.rb +4 -4
  27. data/app/helpers/sibu/images_helper.rb +4 -4
  28. data/app/helpers/sibu/pages_helper.rb +194 -194
  29. data/app/helpers/sibu/sites_helper.rb +23 -23
  30. data/app/jobs/sibu/application_job.rb +4 -4
  31. data/app/mailers/sibu/application_mailer.rb +6 -6
  32. data/app/models/concerns/sibu/document_uploader.rb +8 -8
  33. data/app/models/concerns/sibu/image_uploader.rb +31 -31
  34. data/app/models/concerns/sibu/sections_concern.rb +134 -134
  35. data/app/models/concerns/sibu/style_uploader.rb +1 -1
  36. data/app/models/concerns/sibu/user_concern.rb +8 -8
  37. data/app/models/sibu/application_record.rb +5 -5
  38. data/app/models/sibu/document.rb +16 -16
  39. data/app/models/sibu/dynamic_style.rb +76 -76
  40. data/app/models/sibu/image.rb +10 -19
  41. data/app/models/sibu/page.rb +66 -66
  42. data/app/models/sibu/site.rb +97 -97
  43. data/app/models/sibu/site_template.rb +22 -22
  44. data/app/views/layouts/sibu/application.html.erb +23 -23
  45. data/app/views/layouts/sibu/edit_content.html.erb +262 -262
  46. data/app/views/layouts/sibu/site.html.erb +45 -45
  47. data/app/views/sibu/documents/_form.html.erb +14 -14
  48. data/app/views/sibu/documents/index.html.erb +37 -37
  49. data/app/views/sibu/documents/new.html.erb +12 -12
  50. data/app/views/sibu/images/_edit_form.html.erb +23 -23
  51. data/app/views/sibu/images/_form.html.erb +34 -34
  52. data/app/views/sibu/images/edit.js.erb +2 -2
  53. data/app/views/sibu/images/index.html.erb +31 -13
  54. data/app/views/sibu/images/new.html.erb +12 -12
  55. data/app/views/sibu/images/show.html.erb +2 -2
  56. data/app/views/sibu/pages/_code_edit_panel.html.erb +17 -17
  57. data/app/views/sibu/pages/_element_actions.html.erb +4 -4
  58. data/app/views/sibu/pages/_error_panel.html.erb +4 -4
  59. data/app/views/sibu/pages/_form.html.erb +62 -62
  60. data/app/views/sibu/pages/_group_edit_panel.html.erb +3 -3
  61. data/app/views/sibu/pages/_link_edit_panel.html.erb +50 -50
  62. data/app/views/sibu/pages/_map_edit_panel.html.erb +27 -27
  63. data/app/views/sibu/pages/_media_edit_panel.html.erb +46 -46
  64. data/app/views/sibu/pages/_new_section_panel.html.erb +43 -43
  65. data/app/views/sibu/pages/_paragraph_edit_panel.html.erb +18 -18
  66. data/app/views/sibu/pages/_text_edit_panel.html.erb +19 -19
  67. data/app/views/sibu/pages/child_element.js.erb +6 -6
  68. data/app/views/sibu/pages/clone_element.js.erb +6 -6
  69. data/app/views/sibu/pages/create_section.js.erb +6 -6
  70. data/app/views/sibu/pages/delete_element.js.erb +6 -6
  71. data/app/views/sibu/pages/delete_section.js.erb +6 -6
  72. data/app/views/sibu/pages/destroy.html.erb +2 -2
  73. data/app/views/sibu/pages/edit.html.erb +8 -8
  74. data/app/views/sibu/pages/edit_content.html.erb +3 -3
  75. data/app/views/sibu/pages/edit_element.js.erb +100 -100
  76. data/app/views/sibu/pages/edit_section.js.erb +7 -7
  77. data/app/views/sibu/pages/index.html.erb +40 -40
  78. data/app/views/sibu/pages/new.html.erb +8 -8
  79. data/app/views/sibu/pages/new_section.js.erb +19 -19
  80. data/app/views/sibu/pages/show.html.erb +3 -3
  81. data/app/views/sibu/pages/update.html.erb +2 -2
  82. data/app/views/sibu/pages/update_element.js.erb +5 -5
  83. data/app/views/sibu/pages/update_section.js.erb +5 -5
  84. data/app/views/sibu/sites/_form.html.erb +125 -125
  85. data/app/views/sibu/sites/destroy.html.erb +2 -2
  86. data/app/views/sibu/sites/edit.html.erb +9 -9
  87. data/app/views/sibu/sites/edit_styles.html.erb +8 -8
  88. data/app/views/sibu/sites/index.html.erb +41 -41
  89. data/app/views/sibu/sites/new.html.erb +18 -18
  90. data/app/views/sibu/sites/update.html.erb +2 -2
  91. data/config/initializers/constants.rb +2 -2
  92. data/config/initializers/shrine.rb +18 -18
  93. data/config/routes.rb +30 -30
  94. data/config/tinymce.yml +5 -5
  95. data/db/migrate/20180124095041_create_sibu_sites.rb +12 -12
  96. data/db/migrate/20180124095213_create_sibu_pages.rb +15 -15
  97. data/db/migrate/20180124145030_create_sibu_site_templates.rb +10 -10
  98. data/db/migrate/20180125231638_add_user_id_to_sites.rb +5 -5
  99. data/db/migrate/20180126114522_rename_url_to_path_in_pages.rb +5 -5
  100. data/db/migrate/20180126114628_add_domain_to_sites.rb +5 -5
  101. data/db/migrate/20180127211533_create_sibu_images.rb +11 -11
  102. data/db/migrate/20180208082317_rename_images_user_id_to_site_id.rb +5 -5
  103. data/db/migrate/20180208125024_rename_image_data_column.rb +5 -5
  104. data/db/migrate/20180210181644_add_defaults_to_site_templates.rb +6 -6
  105. data/db/migrate/20180214134653_add_fields_to_sites.rb +5 -5
  106. data/db/migrate/20180227151519_add_default_templates_to_site_templates.rb +5 -5
  107. data/db/migrate/20180301121902_add_style_data_to_sites.rb +5 -5
  108. data/db/migrate/20180301152101_add_default_styles_to_templates.rb +5 -5
  109. data/db/migrate/20180321144021_move_images_to_user_level.rb +7 -7
  110. data/db/migrate/20180321170310_add_version_to_sibu_sites.rb +7 -7
  111. data/db/migrate/20180405095448_create_sibu_documents.rb +10 -10
  112. data/db/migrate/20190110204854_add_custom_data_to_sibu_pages.rb +5 -5
  113. data/lib/sibu.rb +4 -4
  114. data/lib/sibu/engine.rb +19 -19
  115. data/lib/sibu/utils.rb +14 -14
  116. data/lib/sibu/version.rb +3 -3
  117. data/lib/tasks/sibu_tasks.rake +4 -4
  118. metadata +3 -3
@@ -1,41 +1,41 @@
1
- @font-face {
2
- font-family: 'Sibu';
3
- src: font-url('sibu/Sibu.eot');
4
- src: font-url('sibu/Sibu.eot') format('embedded-opentype'), font-url('sibu/Sibu.ttf') format('truetype'),
5
- font-url('sibu/Sibu.woff') format('woff'), font-url('sibu/Sibu.svg') format('svg');
6
- font-weight: normal;
7
- font-style: normal;
8
- }
9
-
10
- a[class^="sb-"]:before, a[class*=" sb-"]:before {
11
- /* use !important to prevent issues with browser extensions that change fonts */
12
- font-family: 'Sibu' !important;
13
- speak: none;
14
- font-style: normal;
15
- font-weight: normal;
16
- font-variant: normal;
17
- text-transform: none;
18
- line-height: 1;
19
- display: inline-block;
20
- margin-right: 3px;
21
-
22
- /* Better Font Rendering =========== */
23
- -webkit-font-smoothing: antialiased;
24
- -moz-osx-font-smoothing: grayscale;
25
- }
26
-
27
- .sb-facebook:before {
28
- content: "\e900";
29
- }
30
-
31
- .sb-pinterest:before {
32
- content: "\e901";
33
- }
34
-
35
- .sb-twitter:before {
36
- content: "\e902";
37
- }
38
-
39
- .sb-instagram:before {
40
- content: "\e903";
1
+ @font-face {
2
+ font-family: 'Sibu';
3
+ src: font-url('sibu/Sibu.eot');
4
+ src: font-url('sibu/Sibu.eot') format('embedded-opentype'), font-url('sibu/Sibu.ttf') format('truetype'),
5
+ font-url('sibu/Sibu.woff') format('woff'), font-url('sibu/Sibu.svg') format('svg');
6
+ font-weight: normal;
7
+ font-style: normal;
8
+ }
9
+
10
+ a[class^="sb-"]:before, a[class*=" sb-"]:before {
11
+ /* use !important to prevent issues with browser extensions that change fonts */
12
+ font-family: 'Sibu' !important;
13
+ speak: none;
14
+ font-style: normal;
15
+ font-weight: normal;
16
+ font-variant: normal;
17
+ text-transform: none;
18
+ line-height: 1;
19
+ display: inline-block;
20
+ margin-right: 3px;
21
+
22
+ /* Better Font Rendering =========== */
23
+ -webkit-font-smoothing: antialiased;
24
+ -moz-osx-font-smoothing: grayscale;
25
+ }
26
+
27
+ .sb-facebook:before {
28
+ content: "\e900";
29
+ }
30
+
31
+ .sb-pinterest:before {
32
+ content: "\e901";
33
+ }
34
+
35
+ .sb-twitter:before {
36
+ content: "\e902";
37
+ }
38
+
39
+ .sb-instagram:before {
40
+ content: "\e903";
41
41
  }
@@ -1,132 +1,132 @@
1
- /*
2
- *= require ../quill/quill.snow
3
- *= require_self
4
- */
5
-
6
- .sibu_content_panel {
7
- position: relative
8
- }
9
-
10
- .sb-editable {
11
- cursor: pointer;
12
- outline: dashed rgba(94, 219, 255, 0.8) 3px;
13
- outline-offset: -3px;
14
- }
15
-
16
- .sb-editable[data-type='map'] {
17
- border: dashed rgba(94, 219, 255, 0.8) 3px;
18
- }
19
-
20
- #edit_mode_overlay {
21
- display: none;
22
- }
23
-
24
- #edit_mode_overlay > div {
25
- position: absolute;
26
- z-index: 99;
27
- }
28
-
29
- #edit_mode_overlay .overlay_top,
30
- #edit_mode_overlay .overlay_bottom,
31
- #edit_mode_overlay .overlay_left,
32
- #edit_mode_overlay .overlay_right {
33
- background-color: rgba(94, 219, 255, 0.5);
34
- }
35
-
36
- #edit_mode_overlay > .overlay_top {
37
- top: 0;
38
- left: 0;
39
- width: 100%;
40
- }
41
-
42
- #edit_mode_overlay > .overlay_bottom {
43
- bottom: 0;
44
- left: 0;
45
- width: 100%;
46
- }
47
-
48
- #edit_mode_overlay > .overlay_left {
49
- left: 0;
50
- }
51
-
52
- #edit_mode_overlay > .overlay_right {
53
- right: 0;
54
- }
55
-
56
- #edit_panel, #sections_panel {
57
- position: fixed;
58
- left: 0;
59
- bottom: 0;
60
- width: 100%;
61
- display: none;
62
- z-index: 1000;
63
- background-color: white;
64
- }
65
-
66
- #element_actions button {
67
- display: none;
68
- }
69
-
70
- #edit_overlays > * {
71
- position: absolute;
72
- z-index: 999;
73
- background-color: rgba(94, 219, 255, 0.5);
74
- opacity: 0;
75
- display: flex;
76
- justify-content: center;
77
- align-items: center;
78
- cursor: pointer;
79
- }
80
-
81
- .sb-editing [data-type] {
82
- min-width: 1em;
83
- min-height: 0.5em;
84
- }
85
-
86
- .ql-snow .ql-tooltip[data-mode="link"]::before {
87
- content: "Adresse du lien :";
88
- }
89
-
90
- .ql-snow div.ql-tooltip.ql-editing a.ql-action::after {
91
- content: "Enregistrer";
92
- }
93
-
94
- .ql-snow div.ql-tooltip::before {
95
- content: "Accéder au site :";
96
- }
97
-
98
- .ql-snow div.ql-tooltip a.ql-action::after {
99
- content: 'Modifier';
100
- }
101
-
102
- .ql-snow div.ql-tooltip a.ql-remove::before {
103
- content: 'Supprimer';
104
- }
105
-
106
- .ql-snow.ql-toolbar button.ql-facebook {
107
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-3251.088 6300.088 16.219 30'%3E%3Cpath fill='%23444' d='M37.686.006,33.8,0c-4.371,0-7.2,2.9-7.2,7.383v3.4H22.689a.612.612,0,0,0-.612.612v4.932a.612.612,0,0,0,.612.612H26.6V29.388a.612.612,0,0,0,.612.612h5.1a.612.612,0,0,0,.612-.612V16.943H37.5a.612.612,0,0,0,.612-.612l0-4.932a.612.612,0,0,0-.612-.612H32.927V7.9c0-1.387.331-2.091,2.137-2.091h2.621A.612.612,0,0,0,38.3,5.2V.618A.612.612,0,0,0,37.686.006Z' transform='translate%28-3273.165 6300.088%29'/%3E%3C/svg%3E");
108
- background-repeat: no-repeat;
109
- background-size: 18px 18px;
110
- background-position: center;
111
- }
112
-
113
- .ql-snow.ql-toolbar button.ql-twitter {
114
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-3139.088 6300.088 36.933 30'%3E%3Cpath fill='%23444' d='M36.934,60.99a15.13,15.13,0,0,1-4.35,1.193,7.608,7.608,0,0,0,3.33-4.189A15.274,15.274,0,0,1,31.1,59.834a7.582,7.582,0,0,0-12.91,6.907A21.51,21.51,0,0,1,2.574,58.826,7.585,7.585,0,0,0,4.919,68.939a7.577,7.577,0,0,1-3.432-.951v.095a7.584,7.584,0,0,0,6.077,7.429,7.674,7.674,0,0,1-2,.265,7.271,7.271,0,0,1-1.426-.141A7.58,7.58,0,0,0,11.217,80.9a15.2,15.2,0,0,1-9.409,3.238A16.1,16.1,0,0,1,0,84.032a21.416,21.416,0,0,0,11.613,3.409c13.937,0,21.555-11.544,21.555-21.555l-.025-.981A15.13,15.13,0,0,0,36.934,60.99Z' transform='translate%28-3139.089 6242.647%29'/%3E%3C/svg%3E");
115
- background-repeat: no-repeat;
116
- background-size: 18px 18px;
117
- background-position: center;
118
- }
119
-
120
- .ql-snow.ql-toolbar button.ql-instagram {
121
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-3202.088 6300.088 30 30'%3E%3Cg transform='translate%28-4031.088 -1288.912%29'%3E%3Cpath fill='%23444' d='M21.721,0H8.279A8.288,8.288,0,0,0,0,8.279V21.721A8.288,8.288,0,0,0,8.279,30H21.721A8.288,8.288,0,0,0,30,21.721V8.279A8.288,8.288,0,0,0,21.721,0Zm5.618,21.721a5.624,5.624,0,0,1-5.617,5.617H8.279a5.623,5.623,0,0,1-5.617-5.617V8.279A5.624,5.624,0,0,1,8.279,2.662H21.721a5.624,5.624,0,0,1,5.617,5.617V21.721Z' transform='translate%28829 7589%29'/%3E%3Cpath fill='%23444' d='M48.7,40.97a7.73,7.73,0,1,0,7.73,7.73A7.739,7.739,0,0,0,48.7,40.97Zm0,12.8A5.068,5.068,0,1,1,53.767,48.7,5.074,5.074,0,0,1,48.7,53.768Z' transform='translate%28795.302 7555.3%29'/%3E%3Cpath fill='%23444' d='M120.873,28.251a1.951,1.951,0,1,0,1.381.571A1.96,1.96,0,0,0,120.873,28.251Z' transform='translate%28731.181 7565.762%29'/%3E%3C/g%3E%3C/svg%3E");
122
- background-repeat: no-repeat;
123
- background-size: 18px 18px;
124
- background-position: center;
125
- }
126
-
127
- .ql-snow.ql-toolbar button.ql-pinterest {
128
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-3005.088 6300.088 23.579 30'%3E%3Cpath fill='%23444' d='M53.7,3.074A11.5,11.5,0,0,0,45.655,0a12.649,12.649,0,0,0-9.329,3.6,10.629,10.629,0,0,0-3.145,7.367c0,3.339,1.4,5.9,3.736,6.856a1.237,1.237,0,0,0,.47.1,1.045,1.045,0,0,0,1.02-.841c.079-.3.262-1.03.341-1.348a1.265,1.265,0,0,0-.339-1.368,4.36,4.36,0,0,1-.992-2.979,7.5,7.5,0,0,1,7.775-7.548c4.007,0,6.5,2.277,6.5,5.943a12.35,12.35,0,0,1-1.4,6.033,4.15,4.15,0,0,1-3.433,2.4,2.276,2.276,0,0,1-1.81-.827,2.082,2.082,0,0,1-.365-1.808c.179-.756.422-1.545.658-2.307a14.278,14.278,0,0,0,.836-3.757,2.728,2.728,0,0,0-2.746-3c-2.087,0-3.722,2.12-3.722,4.825a7.176,7.176,0,0,0,.512,2.7c-.263,1.114-1.825,7.736-2.122,8.985-.171.729-1.2,6.487.5,6.946,1.92.516,3.636-5.092,3.81-5.725.142-.515.637-2.464.94-3.662a5.8,5.8,0,0,0,3.871,1.5,8.633,8.633,0,0,0,6.932-3.468,13.922,13.922,0,0,0,2.606-8.513A9.816,9.816,0,0,0,53.7,3.074Z' transform='translate%28-3038.269 6300.088%29'/%3E%3C/svg%3E");
129
- background-repeat: no-repeat;
130
- background-size: 18px 18px;
131
- background-position: center;
1
+ /*
2
+ *= require ../quill/quill.snow
3
+ *= require_self
4
+ */
5
+
6
+ .sibu_content_panel {
7
+ position: relative
8
+ }
9
+
10
+ .sb-editable {
11
+ cursor: pointer;
12
+ outline: dashed rgba(94, 219, 255, 0.8) 3px;
13
+ outline-offset: -3px;
14
+ }
15
+
16
+ .sb-editable[data-type='map'] {
17
+ border: dashed rgba(94, 219, 255, 0.8) 3px;
18
+ }
19
+
20
+ #edit_mode_overlay {
21
+ display: none;
22
+ }
23
+
24
+ #edit_mode_overlay > div {
25
+ position: absolute;
26
+ z-index: 99;
27
+ }
28
+
29
+ #edit_mode_overlay .overlay_top,
30
+ #edit_mode_overlay .overlay_bottom,
31
+ #edit_mode_overlay .overlay_left,
32
+ #edit_mode_overlay .overlay_right {
33
+ background-color: rgba(94, 219, 255, 0.5);
34
+ }
35
+
36
+ #edit_mode_overlay > .overlay_top {
37
+ top: 0;
38
+ left: 0;
39
+ width: 100%;
40
+ }
41
+
42
+ #edit_mode_overlay > .overlay_bottom {
43
+ bottom: 0;
44
+ left: 0;
45
+ width: 100%;
46
+ }
47
+
48
+ #edit_mode_overlay > .overlay_left {
49
+ left: 0;
50
+ }
51
+
52
+ #edit_mode_overlay > .overlay_right {
53
+ right: 0;
54
+ }
55
+
56
+ #edit_panel, #sections_panel {
57
+ position: fixed;
58
+ left: 0;
59
+ bottom: 0;
60
+ width: 100%;
61
+ display: none;
62
+ z-index: 1000;
63
+ background-color: white;
64
+ }
65
+
66
+ #element_actions button {
67
+ display: none;
68
+ }
69
+
70
+ #edit_overlays > * {
71
+ position: absolute;
72
+ z-index: 999;
73
+ background-color: rgba(94, 219, 255, 0.5);
74
+ opacity: 0;
75
+ display: flex;
76
+ justify-content: center;
77
+ align-items: center;
78
+ cursor: pointer;
79
+ }
80
+
81
+ .sb-editing [data-type] {
82
+ min-width: 1em;
83
+ min-height: 0.5em;
84
+ }
85
+
86
+ .ql-snow .ql-tooltip[data-mode="link"]::before {
87
+ content: "Adresse du lien :";
88
+ }
89
+
90
+ .ql-snow div.ql-tooltip.ql-editing a.ql-action::after {
91
+ content: "Enregistrer";
92
+ }
93
+
94
+ .ql-snow div.ql-tooltip::before {
95
+ content: "Accéder au site :";
96
+ }
97
+
98
+ .ql-snow div.ql-tooltip a.ql-action::after {
99
+ content: 'Modifier';
100
+ }
101
+
102
+ .ql-snow div.ql-tooltip a.ql-remove::before {
103
+ content: 'Supprimer';
104
+ }
105
+
106
+ .ql-snow.ql-toolbar button.ql-facebook {
107
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-3251.088 6300.088 16.219 30'%3E%3Cpath fill='%23444' d='M37.686.006,33.8,0c-4.371,0-7.2,2.9-7.2,7.383v3.4H22.689a.612.612,0,0,0-.612.612v4.932a.612.612,0,0,0,.612.612H26.6V29.388a.612.612,0,0,0,.612.612h5.1a.612.612,0,0,0,.612-.612V16.943H37.5a.612.612,0,0,0,.612-.612l0-4.932a.612.612,0,0,0-.612-.612H32.927V7.9c0-1.387.331-2.091,2.137-2.091h2.621A.612.612,0,0,0,38.3,5.2V.618A.612.612,0,0,0,37.686.006Z' transform='translate%28-3273.165 6300.088%29'/%3E%3C/svg%3E");
108
+ background-repeat: no-repeat;
109
+ background-size: 18px 18px;
110
+ background-position: center;
111
+ }
112
+
113
+ .ql-snow.ql-toolbar button.ql-twitter {
114
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-3139.088 6300.088 36.933 30'%3E%3Cpath fill='%23444' d='M36.934,60.99a15.13,15.13,0,0,1-4.35,1.193,7.608,7.608,0,0,0,3.33-4.189A15.274,15.274,0,0,1,31.1,59.834a7.582,7.582,0,0,0-12.91,6.907A21.51,21.51,0,0,1,2.574,58.826,7.585,7.585,0,0,0,4.919,68.939a7.577,7.577,0,0,1-3.432-.951v.095a7.584,7.584,0,0,0,6.077,7.429,7.674,7.674,0,0,1-2,.265,7.271,7.271,0,0,1-1.426-.141A7.58,7.58,0,0,0,11.217,80.9a15.2,15.2,0,0,1-9.409,3.238A16.1,16.1,0,0,1,0,84.032a21.416,21.416,0,0,0,11.613,3.409c13.937,0,21.555-11.544,21.555-21.555l-.025-.981A15.13,15.13,0,0,0,36.934,60.99Z' transform='translate%28-3139.089 6242.647%29'/%3E%3C/svg%3E");
115
+ background-repeat: no-repeat;
116
+ background-size: 18px 18px;
117
+ background-position: center;
118
+ }
119
+
120
+ .ql-snow.ql-toolbar button.ql-instagram {
121
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-3202.088 6300.088 30 30'%3E%3Cg transform='translate%28-4031.088 -1288.912%29'%3E%3Cpath fill='%23444' d='M21.721,0H8.279A8.288,8.288,0,0,0,0,8.279V21.721A8.288,8.288,0,0,0,8.279,30H21.721A8.288,8.288,0,0,0,30,21.721V8.279A8.288,8.288,0,0,0,21.721,0Zm5.618,21.721a5.624,5.624,0,0,1-5.617,5.617H8.279a5.623,5.623,0,0,1-5.617-5.617V8.279A5.624,5.624,0,0,1,8.279,2.662H21.721a5.624,5.624,0,0,1,5.617,5.617V21.721Z' transform='translate%28829 7589%29'/%3E%3Cpath fill='%23444' d='M48.7,40.97a7.73,7.73,0,1,0,7.73,7.73A7.739,7.739,0,0,0,48.7,40.97Zm0,12.8A5.068,5.068,0,1,1,53.767,48.7,5.074,5.074,0,0,1,48.7,53.768Z' transform='translate%28795.302 7555.3%29'/%3E%3Cpath fill='%23444' d='M120.873,28.251a1.951,1.951,0,1,0,1.381.571A1.96,1.96,0,0,0,120.873,28.251Z' transform='translate%28731.181 7565.762%29'/%3E%3C/g%3E%3C/svg%3E");
122
+ background-repeat: no-repeat;
123
+ background-size: 18px 18px;
124
+ background-position: center;
125
+ }
126
+
127
+ .ql-snow.ql-toolbar button.ql-pinterest {
128
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-3005.088 6300.088 23.579 30'%3E%3Cpath fill='%23444' d='M53.7,3.074A11.5,11.5,0,0,0,45.655,0a12.649,12.649,0,0,0-9.329,3.6,10.629,10.629,0,0,0-3.145,7.367c0,3.339,1.4,5.9,3.736,6.856a1.237,1.237,0,0,0,.47.1,1.045,1.045,0,0,0,1.02-.841c.079-.3.262-1.03.341-1.348a1.265,1.265,0,0,0-.339-1.368,4.36,4.36,0,0,1-.992-2.979,7.5,7.5,0,0,1,7.775-7.548c4.007,0,6.5,2.277,6.5,5.943a12.35,12.35,0,0,1-1.4,6.033,4.15,4.15,0,0,1-3.433,2.4,2.276,2.276,0,0,1-1.81-.827,2.082,2.082,0,0,1-.365-1.808c.179-.756.422-1.545.658-2.307a14.278,14.278,0,0,0,.836-3.757,2.728,2.728,0,0,0-2.746-3c-2.087,0-3.722,2.12-3.722,4.825a7.176,7.176,0,0,0,.512,2.7c-.263,1.114-1.825,7.736-2.122,8.985-.171.729-1.2,6.487.5,6.946,1.92.516,3.636-5.092,3.81-5.725.142-.515.637-2.464.94-3.662a5.8,5.8,0,0,0,3.871,1.5,8.633,8.633,0,0,0,6.932-3.468,13.922,13.922,0,0,0,2.606-8.513A9.816,9.816,0,0,0,53.7,3.074Z' transform='translate%28-3038.269 6300.088%29'/%3E%3C/svg%3E");
129
+ background-repeat: no-repeat;
130
+ background-size: 18px 18px;
131
+ background-position: center;
132
132
  }
@@ -1,14 +1,14 @@
1
- module Sibu
2
- class ApplicationController < ActionController::Base
3
- protect_from_forgery with: :exception
4
- before_action Rails.application.config.sibu[:auth_filter]
5
-
6
- def conf
7
- Rails.application.config.sibu
8
- end
9
-
10
- def sibu_user
11
- send(conf[:current_user])
12
- end
13
- end
14
- end
1
+ module Sibu
2
+ class ApplicationController < ActionController::Base
3
+ protect_from_forgery with: :exception
4
+ before_action Rails.application.config.sibu[:auth_filter]
5
+
6
+ def conf
7
+ Rails.application.config.sibu
8
+ end
9
+
10
+ def sibu_user
11
+ send(conf[:current_user])
12
+ end
13
+ end
14
+ end
@@ -1,35 +1,35 @@
1
- require_dependency "sibu/application_controller"
2
-
3
- module Sibu
4
- class DocumentsController < ApplicationController
5
- def index
6
- @documents = Sibu::Document.for_user(sibu_user)
7
- end
8
-
9
- def new
10
- @document = Sibu::Document.new(user_id: send(Rails.application.config.sibu[:current_user]).id)
11
- end
12
-
13
- def create
14
- @document = Sibu::Document.new(document_params)
15
- if @document.save
16
- redirect_to documents_url, notice: "Le document a bien été téléchargé."
17
- else
18
- flash.now[:alert] = "Une erreur s'est produite lors du téléchargement du document."
19
- render :new
20
- end
21
- end
22
-
23
- def destroy
24
- @document = Sibu::Document.find(params[:id])
25
- @document.destroy
26
- redirect_to documents_url, notice: "Le document a bien été supprimé."
27
- end
28
-
29
- private
30
-
31
- def document_params
32
- params.require(:document).permit!
33
- end
34
- end
35
- end
1
+ require_dependency "sibu/application_controller"
2
+
3
+ module Sibu
4
+ class DocumentsController < ApplicationController
5
+ def index
6
+ @documents = Sibu::Document.for_user(sibu_user)
7
+ end
8
+
9
+ def new
10
+ @document = Sibu::Document.new(user_id: send(Rails.application.config.sibu[:current_user]).id)
11
+ end
12
+
13
+ def create
14
+ @document = Sibu::Document.new(document_params)
15
+ if @document.save
16
+ redirect_to documents_url, notice: "Le document a bien été téléchargé."
17
+ else
18
+ flash.now[:alert] = "Une erreur s'est produite lors du téléchargement du document."
19
+ render :new
20
+ end
21
+ end
22
+
23
+ def destroy
24
+ @document = Sibu::Document.find(params[:id])
25
+ @document.destroy
26
+ redirect_to documents_url, notice: "Le document a bien été supprimé."
27
+ end
28
+
29
+ private
30
+
31
+ def document_params
32
+ params.require(:document).permit!
33
+ end
34
+ end
35
+ end
@@ -1,78 +1,78 @@
1
- require_dependency "sibu/application_controller"
2
-
3
- module Sibu
4
- class ImagesController < ApplicationController
5
- before_action :set_image, only: [:edit, :update, :destroy]
6
- before_action :set_edition_context, only: [:new, :create]
7
-
8
- def index
9
- @images = Sibu::Image.for_user(sibu_user)
10
- end
11
-
12
- def new
13
- @image = Sibu::Image.new(user_id: send(Rails.application.config.sibu[:current_user]).id)
14
- end
15
-
16
- def create
17
- @image = Sibu::Image.new(image_params)
18
- if @image.save
19
- if !@page_id.blank? && !@section_id.blank? && !@element_id.blank? && !@size.blank?
20
- p = Sibu::Page.find(@page_id)
21
- entity = @entity_type == 'site' ? p.site : p
22
- ids = (@section_id.split('|') + @element_id.split('|')).uniq[0...-1]
23
- elt = entity.update_element(*ids, {"id" => @img_id, "src" => @image.file_url(@size.to_sym), "alt" => @image.alt})
24
- if elt.nil?
25
- msg = {alert: "Une erreur s'est produite lors de la mise à jour de l'image."}
26
- else
27
- msg = {notice: "L'image a bien été mise à jour."}
28
- end
29
- redirect_to site_page_edit_content_path(p.site_id, @page_id), msg
30
- else
31
- redirect_to images_url, notice: "L'image a bien été téléchargée."
32
- end
33
- else
34
- flash.now[:alert] = "Une erreur s'est produite lors du téléchargement de l'image."
35
- render :new
36
- end
37
- end
38
-
39
- def show
40
- end
41
-
42
- def edit
43
- end
44
-
45
- def update
46
- if @image.update(image_params)
47
- redirect_to images_url, notice: "L'image a bien été mise à jour."
48
- else
49
- flash.now[:alert] = "Une erreur s'est produite lors de l'enregistrement de l'image."
50
- render :index
51
- end
52
- end
53
-
54
- def destroy
55
- @image.destroy
56
- redirect_to images_url, notice: "L'image a bien été supprimée."
57
- end
58
-
59
- private
60
-
61
- def set_image
62
- @image = Sibu::Image.find(params[:id])
63
- end
64
-
65
- def set_edition_context
66
- @page_id = params[:page_id]
67
- @entity_type = params[:entity_type]
68
- @section_id = params[:section_id]
69
- @element_id = params[:element_id]
70
- @img_id = params[:img_id]
71
- @size = params[:size]
72
- end
73
-
74
- def image_params
75
- params.require(:image).permit!
76
- end
77
- end
78
- end
1
+ require_dependency "sibu/application_controller"
2
+
3
+ module Sibu
4
+ class ImagesController < ApplicationController
5
+ before_action :set_image, only: [:edit, :update, :destroy]
6
+ before_action :set_edition_context, only: [:new, :create]
7
+
8
+ def index
9
+ @images = Sibu::Image.for_user(sibu_user)
10
+ end
11
+
12
+ def new
13
+ @image = Sibu::Image.new(user_id: send(Rails.application.config.sibu[:current_user]).id)
14
+ end
15
+
16
+ def create
17
+ @image = Sibu::Image.new(image_params)
18
+ if @image.save
19
+ if !@page_id.blank? && !@section_id.blank? && !@element_id.blank? && !@size.blank?
20
+ p = Sibu::Page.find(@page_id)
21
+ entity = @entity_type == 'site' ? p.site : p
22
+ ids = (@section_id.split('|') + @element_id.split('|')).uniq[0...-1]
23
+ elt = entity.update_element(*ids, {"id" => @img_id, "src" => @image.file_url(@size.to_sym), "alt" => @image.alt})
24
+ if elt.nil?
25
+ msg = {alert: "Une erreur s'est produite lors de la mise à jour de l'image."}
26
+ else
27
+ msg = {notice: "L'image a bien été mise à jour."}
28
+ end
29
+ redirect_to site_page_edit_content_path(p.site_id, @page_id), msg
30
+ else
31
+ redirect_to images_url, notice: "L'image a bien été téléchargée."
32
+ end
33
+ else
34
+ flash.now[:alert] = "Une erreur s'est produite lors du téléchargement de l'image."
35
+ render :new
36
+ end
37
+ end
38
+
39
+ def show
40
+ end
41
+
42
+ def edit
43
+ end
44
+
45
+ def update
46
+ if @image.update(image_params)
47
+ redirect_to images_url, notice: "L'image a bien été mise à jour."
48
+ else
49
+ flash.now[:alert] = "Une erreur s'est produite lors de l'enregistrement de l'image."
50
+ render :index
51
+ end
52
+ end
53
+
54
+ def destroy
55
+ @image.destroy
56
+ redirect_to images_url, notice: "L'image a bien été supprimée."
57
+ end
58
+
59
+ private
60
+
61
+ def set_image
62
+ @image = Sibu::Image.find(params[:id])
63
+ end
64
+
65
+ def set_edition_context
66
+ @page_id = params[:page_id]
67
+ @entity_type = params[:entity_type]
68
+ @section_id = params[:section_id]
69
+ @element_id = params[:element_id]
70
+ @img_id = params[:img_id]
71
+ @size = params[:size]
72
+ end
73
+
74
+ def image_params
75
+ params.require(:image).permit!
76
+ end
77
+ end
78
+ end