Commit 9796d5e31fb63967dce3323ad0a0fde4862bc01b
1 parent
83f37f7a
Exists in
theme-brasil-digital-from-staging
and in
9 other branches
refactoring block store to make images path available for plugins and themes
Showing
23 changed files
with
838 additions
and
17 deletions
Show diff stats
app/helpers/box_organizer_helper.rb
... | ... | @@ -4,6 +4,34 @@ module BoxOrganizerHelper |
4 | 4 | 7 |
5 | 5 | end |
6 | 6 | |
7 | + #FIXME make this test | |
8 | + def display_icon(block) | |
9 | + | |
10 | + image_path = nil | |
11 | + plugin = @plugins.fetch_first_plugin(:has_block?, block) | |
12 | + | |
13 | + theme = Theme.new(environment.theme) # remove this | |
14 | + if File.exists?(File.join(theme.filesystem_path, 'images', block.icon_path)) | |
15 | + image_path = File.join(theme.public_path, 'images', block.icon_path) | |
16 | + elsif plugin && File.exists?(File.join(Rails.root, 'public', plugin.public_path, 'images', block.icon_path)) | |
17 | + image_path = File.join('/', plugin.public_path, 'images', block.icon_path) | |
18 | + elsif File.exists?(File.join(Rails.root, 'public', 'images', block.icon_path)) | |
19 | + image_path = block.icon_path | |
20 | + else | |
21 | + image_path = block.default_icon_path | |
22 | + end | |
23 | + | |
24 | + image_tag(image_path, height: '48', width: '48', class: 'block-type-icon', alt: '' ) | |
25 | + end | |
26 | + | |
27 | + def display_previews(block) | |
28 | +# def self.previews_path | |
29 | +# previews = Dir.glob(File.join(images_filesystem_path, 'previews/*')).map do |path| | |
30 | +# File.join(images_base_url_path, 'previews', File.basename(path)) | |
31 | +# end | |
32 | + '' | |
33 | + end | |
34 | + | |
7 | 35 | def icon_selector(icon = 'no-ico') |
8 | 36 | render :partial => 'icon_selector', :locals => { :icon => icon } |
9 | 37 | end | ... | ... |
app/models/block.rb
... | ... | @@ -116,7 +116,7 @@ class Block < ActiveRecord::Base |
116 | 116 | # Must be redefined in subclasses to match the description of each block |
117 | 117 | # type. |
118 | 118 | def self.description |
119 | - '(dummy)' | |
119 | + _('nothing') | |
120 | 120 | end |
121 | 121 | |
122 | 122 | # returns a short description of the block, used when the user sees a list of |
... | ... | @@ -125,20 +125,32 @@ class Block < ActiveRecord::Base |
125 | 125 | # Must be redefined in subclasses to match the short description of each block |
126 | 126 | # type. |
127 | 127 | def self.short_description |
128 | - _('(dummy)') | |
128 | + self.pretty_name | |
129 | 129 | end |
130 | 130 | |
131 | - def self.default_preview | |
132 | - "/images/block_preview.png" | |
131 | + def self.pretty_name | |
132 | + self.name.gsub('Block','') | |
133 | 133 | end |
134 | 134 | |
135 | - def self.previews | |
136 | - [] | |
135 | + #FIXME make this test | |
136 | + def self.default_preview | |
137 | + "/images/block_preview.png" | |
137 | 138 | end |
138 | 139 | |
139 | - def self.icon | |
140 | - "/images/icon_block.png" | |
141 | - end | |
140 | +# #FIXME remove this code | |
141 | +# def self.previews_path | |
142 | +# previews = Dir.glob(File.join(images_filesystem_path, 'previews/*')).map do |path| | |
143 | +# File.join(images_base_url_path, 'previews', File.basename(path)) | |
144 | +# end | |
145 | +# end | |
146 | + | |
147 | +# #FIXME remove this code | |
148 | +# def self.icon_path | |
149 | +# icon_path = File.join(images_base_url_path, 'icon.png') | |
150 | +#puts File.join(images_filesystem_path, 'icon.png').inspect | |
151 | +##"/plugins/container_block/images/handle_e.png" | |
152 | +# File.exists?(File.join(images_filesystem_path, 'icon.png')) ? icon_path : default_icon_path | |
153 | +# end | |
142 | 154 | |
143 | 155 | # Returns the content to be used for this block. |
144 | 156 | # |
... | ... | @@ -255,4 +267,21 @@ class Block < ActiveRecord::Base |
255 | 267 | duplicated_block |
256 | 268 | end |
257 | 269 | |
270 | + #FIXME make this test | |
271 | + def self.previews_path | |
272 | + base_name = self.name.split('::').last.underscore | |
273 | + Dir.glob(File.join('blocks', base_name,'previews/*')) | |
274 | + end | |
275 | + | |
276 | + #FIXME make this test | |
277 | + def self.icon_path | |
278 | + basename = self.name.split('::').last.underscore | |
279 | + File.join('blocks', basename, 'icon.png') | |
280 | + end | |
281 | + | |
282 | + #FIXME make this test | |
283 | + def self.default_icon_path | |
284 | + 'icon_block.png' | |
285 | + end | |
286 | + | |
258 | 287 | end | ... | ... |
app/models/communities_block.rb
... | ... | @@ -3,9 +3,18 @@ class CommunitiesBlock < ProfileListBlock |
3 | 3 | attr_accessible :accessor_id, :accessor_type, :role_id, :resource_id, :resource_type |
4 | 4 | |
5 | 5 | def self.description |
6 | + _("<p>Display all of your communities.</p><p>You could choose the amount of communities will be displayed and you could priorize that profiles with images.</p> <p>The view all button is always present in the block.</p>") | |
7 | + end | |
8 | + | |
9 | + | |
10 | + def self.short_description | |
6 | 11 | _('Communities') |
7 | 12 | end |
8 | 13 | |
14 | + def self.pretty_name | |
15 | + _('Communities Block') | |
16 | + end | |
17 | + | |
9 | 18 | def default_title |
10 | 19 | n_('{#} community', '{#} communities', profile_count) |
11 | 20 | end | ... | ... |
app/models/theme.rb
... | ... | @@ -13,8 +13,14 @@ class Theme |
13 | 13 | Rails.root.join('public', 'user_themes') |
14 | 14 | end |
15 | 15 | |
16 | + #FIXME make this test changed | |
16 | 17 | def system_themes_dir |
17 | - Rails.root.join('public', 'designs', 'themes') | |
18 | + Rails.root.join('public', relative_themes_dir) | |
19 | + end | |
20 | + | |
21 | + #FIXME make this test | |
22 | + def relative_themes_dir | |
23 | + File.join('designs', 'themes') | |
18 | 24 | end |
19 | 25 | |
20 | 26 | def create(id, attributes = {}) |
... | ... | @@ -93,6 +99,16 @@ class Theme |
93 | 99 | config['public'] = value |
94 | 100 | end |
95 | 101 | |
102 | + #FIXME make this test | |
103 | + def public_path | |
104 | + File.join('/', self.class.relative_themes_dir, self.id) | |
105 | + end | |
106 | + | |
107 | + #FIXME make this test | |
108 | + def filesystem_path | |
109 | + File.join(self.class.system_themes_dir, self.id) | |
110 | + end | |
111 | + | |
96 | 112 | def ==(other) |
97 | 113 | other.is_a?(self.class) && (other.id == self.id) |
98 | 114 | end | ... | ... |
app/views/box_organizer/index.html.erb
... | ... | @@ -30,9 +30,9 @@ |
30 | 30 | <br style="clear: left"> |
31 | 31 | </div> |
32 | 32 | <div> |
33 | - <%= image_tag(block.icon, height: '48', width: '48', class: 'block-type-icon', alt: '' ) %> | |
33 | + <%= display_icon(block) %> | |
34 | 34 | </div> |
35 | - <span><%= _(block.description) %></span> | |
35 | + <span><%= _(block.short_description) %></span> | |
36 | 36 | </div> |
37 | 37 | |
38 | 38 | <%= draggable_element("block-#{block.name}", :revert => true) %> | ... | ... |
app/views/box_organizer/show_block_type_info.html.erb
1 | 1 | <div id="block-info-container"> |
2 | 2 | |
3 | 3 | <div id="bs-block-header"> |
4 | - <%= image_tag(@block.icon, height: '48', width: '48', id: 'block-info-icon', alt: '' ) %> | |
5 | - <h1><%= @block.name %></h1> | |
4 | + <%= display_icon(@block) %> | |
5 | + <h1><%= @block.pretty_name %></h1> | |
6 | 6 | <p><%= @block.short_description %></p> |
7 | 7 | </div> |
8 | 8 | |
9 | 9 | <div id="block-info-images"> |
10 | 10 | <div style="white-space: nowrap;"> |
11 | - <% if @block.previews.empty? %> | |
11 | + <% if @block.previews_path.empty? %> | |
12 | 12 | <% for i in 0..2 %> |
13 | 13 | <%= image_tag(@block.default_preview, height: '240', width: '384', alt: '') %> |
14 | 14 | <% end %> |
15 | 15 | <% else %> |
16 | - <% @block.previews.each do |preview| %> | |
16 | + <% @block.previews_path.each do |preview| %> | |
17 | 17 | <%= image_tag(preview, height: '240', width: '384', alt: '') %> |
18 | 18 | <% end %> |
19 | 19 | <% end %> | ... | ... |
lib/noosfero/plugin.rb
... | ... | @@ -116,7 +116,7 @@ class Noosfero::Plugin |
116 | 116 | def available_plugin_names |
117 | 117 | available_plugins.map { |f| File.basename(f).camelize } |
118 | 118 | end |
119 | - | |
119 | + | |
120 | 120 | def all |
121 | 121 | @all ||= available_plugins.map{ |dir| (File.basename(dir) + "_plugin").camelize } |
122 | 122 | end |
... | ... | @@ -154,6 +154,13 @@ class Noosfero::Plugin |
154 | 154 | File.exists?(File.join(root_path, 'controllers', "#{name.underscore}_admin_controller.rb")) |
155 | 155 | end |
156 | 156 | end |
157 | + | |
158 | + | |
159 | + #FIXME make this test | |
160 | + def has_block?(block) | |
161 | + self.class.extra_blocks.keys.include?(block) | |
162 | + end | |
163 | + | |
157 | 164 | |
158 | 165 | def expanded_template(file_path, locals = {}) |
159 | 166 | views_path = Rails.root.join('plugins', "#{self.class.public_name}", 'views') | ... | ... |
3.77 KB
plugins/breadcrumbs/public/images/blocks/communities_block/previews/edit_block.png
0 → 100644
27.9 KB
plugins/breadcrumbs/public/images/blocks/communities_block/previews/view_block.png
0 → 100644
16.1 KB
plugins/breadcrumbs/public/images/blocks/content_breadcrumbs_block/icon.png
0 → 100644
3.77 KB
plugins/breadcrumbs/public/images/blocks/content_breadcrumbs_block/icon2.png
0 → 100644
6.9 KB
plugins/breadcrumbs/public/images/blocks/content_breadcrumbs_block/previews/edit_block.png
0 → 100644
27.9 KB
plugins/breadcrumbs/public/images/blocks/content_breadcrumbs_block/previews/view_block.png
0 → 100644
16.1 KB
public/designs/themes/noosfero/images/blocks/communities_block/icon.png
0 → 100644
3.5 KB
public/designs/themes/noosfero/images/blocks/communities_block/previews/edit_block.png
0 → 100644
27.1 KB
public/designs/themes/noosfero/images/blocks/communities_block/previews/view_block.png
0 → 100644
16 KB
3.98 KB
... | ... | @@ -0,0 +1,643 @@ |
1 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |
2 | +<!-- Created with Inkscape (http://www.inkscape.org/) --> | |
3 | + | |
4 | +<svg | |
5 | + xmlns:dc="http://purl.org/dc/elements/1.1/" | |
6 | + xmlns:cc="http://creativecommons.org/ns#" | |
7 | + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | |
8 | + xmlns:svg="http://www.w3.org/2000/svg" | |
9 | + xmlns="http://www.w3.org/2000/svg" | |
10 | + xmlns:xlink="http://www.w3.org/1999/xlink" | |
11 | + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | |
12 | + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | |
13 | + width="48px" | |
14 | + height="48px" | |
15 | + id="svg2108" | |
16 | + sodipodi:version="0.32" | |
17 | + inkscape:version="0.48.3.1 r9886" | |
18 | + sodipodi:docname="icon.svg" | |
19 | + inkscape:output_extension="org.inkscape.output.svg.inkscape" | |
20 | + version="1.1"> | |
21 | + <defs | |
22 | + id="defs3"> | |
23 | + <linearGradient | |
24 | + id="linearGradient2966"> | |
25 | + <stop | |
26 | + style="stop-color:#ffd1d1;stop-opacity:1;" | |
27 | + offset="0" | |
28 | + id="stop2968" /> | |
29 | + <stop | |
30 | + id="stop3006" | |
31 | + offset="0.5" | |
32 | + style="stop-color:#ff1d1d;stop-opacity:1;" /> | |
33 | + <stop | |
34 | + style="stop-color:#6f0000;stop-opacity:1;" | |
35 | + offset="1" | |
36 | + id="stop2970" /> | |
37 | + </linearGradient> | |
38 | + <linearGradient | |
39 | + id="linearGradient2974"> | |
40 | + <stop | |
41 | + style="stop-color:#c1c1c1;stop-opacity:1;" | |
42 | + offset="0" | |
43 | + id="stop2976" /> | |
44 | + <stop | |
45 | + style="stop-color:#acacac;stop-opacity:1;" | |
46 | + offset="1" | |
47 | + id="stop2978" /> | |
48 | + </linearGradient> | |
49 | + <linearGradient | |
50 | + inkscape:collect="always" | |
51 | + id="linearGradient2984"> | |
52 | + <stop | |
53 | + style="stop-color:#e7e2b8;stop-opacity:1;" | |
54 | + offset="0" | |
55 | + id="stop2986" /> | |
56 | + <stop | |
57 | + style="stop-color:#e7e2b8;stop-opacity:0;" | |
58 | + offset="1" | |
59 | + id="stop2988" /> | |
60 | + </linearGradient> | |
61 | + <linearGradient | |
62 | + id="linearGradient2994"> | |
63 | + <stop | |
64 | + style="stop-color:#000000;stop-opacity:1;" | |
65 | + offset="0" | |
66 | + id="stop2996" /> | |
67 | + <stop | |
68 | + style="stop-color:#c9c9c9;stop-opacity:1;" | |
69 | + offset="1" | |
70 | + id="stop2998" /> | |
71 | + </linearGradient> | |
72 | + <inkscape:perspective | |
73 | + sodipodi:type="inkscape:persp3d" | |
74 | + inkscape:vp_x="0 : 24 : 1" | |
75 | + inkscape:vp_y="0 : 1000 : 0" | |
76 | + inkscape:vp_z="48 : 24 : 1" | |
77 | + inkscape:persp3d-origin="24 : 16 : 1" | |
78 | + id="perspective72" /> | |
79 | + <linearGradient | |
80 | + inkscape:collect="always" | |
81 | + id="linearGradient4356"> | |
82 | + <stop | |
83 | + style="stop-color:#000000;stop-opacity:1;" | |
84 | + offset="0" | |
85 | + id="stop4358" /> | |
86 | + <stop | |
87 | + style="stop-color:#000000;stop-opacity:0;" | |
88 | + offset="1" | |
89 | + id="stop4360" /> | |
90 | + </linearGradient> | |
91 | + <linearGradient | |
92 | + id="linearGradient4344"> | |
93 | + <stop | |
94 | + style="stop-color:#727e0a;stop-opacity:1;" | |
95 | + offset="0" | |
96 | + id="stop4346" /> | |
97 | + <stop | |
98 | + style="stop-color:#5b6508;stop-opacity:1.0000000;" | |
99 | + offset="1.0000000" | |
100 | + id="stop4348" /> | |
101 | + </linearGradient> | |
102 | + <linearGradient | |
103 | + id="linearGradient4338"> | |
104 | + <stop | |
105 | + id="stop4340" | |
106 | + offset="0.0000000" | |
107 | + style="stop-color:#e9b15e;stop-opacity:1.0000000;" /> | |
108 | + <stop | |
109 | + id="stop4342" | |
110 | + offset="1.0000000" | |
111 | + style="stop-color:#966416;stop-opacity:1.0000000;" /> | |
112 | + </linearGradient> | |
113 | + <linearGradient | |
114 | + id="linearGradient4163"> | |
115 | + <stop | |
116 | + style="stop-color:#3b74bc;stop-opacity:1.0000000;" | |
117 | + offset="0.0000000" | |
118 | + id="stop4165" /> | |
119 | + <stop | |
120 | + style="stop-color:#2d5990;stop-opacity:1.0000000;" | |
121 | + offset="1.0000000" | |
122 | + id="stop4167" /> | |
123 | + </linearGradient> | |
124 | + <linearGradient | |
125 | + id="linearGradient3824"> | |
126 | + <stop | |
127 | + style="stop-color:#ffffff;stop-opacity:1;" | |
128 | + offset="0" | |
129 | + id="stop3826" /> | |
130 | + <stop | |
131 | + style="stop-color:#c9c9c9;stop-opacity:1.0000000;" | |
132 | + offset="1.0000000" | |
133 | + id="stop3828" /> | |
134 | + </linearGradient> | |
135 | + <linearGradient | |
136 | + inkscape:collect="always" | |
137 | + id="linearGradient3816"> | |
138 | + <stop | |
139 | + style="stop-color:#000000;stop-opacity:1;" | |
140 | + offset="0" | |
141 | + id="stop3818" /> | |
142 | + <stop | |
143 | + style="stop-color:#000000;stop-opacity:0;" | |
144 | + offset="1" | |
145 | + id="stop3820" /> | |
146 | + </linearGradient> | |
147 | + <linearGradient | |
148 | + id="linearGradient3800"> | |
149 | + <stop | |
150 | + style="stop-color:#f4d9b1;stop-opacity:1.0000000;" | |
151 | + offset="0.0000000" | |
152 | + id="stop3802" /> | |
153 | + <stop | |
154 | + style="stop-color:#df9725;stop-opacity:1.0000000;" | |
155 | + offset="1.0000000" | |
156 | + id="stop3804" /> | |
157 | + </linearGradient> | |
158 | + <radialGradient | |
159 | + inkscape:collect="always" | |
160 | + xlink:href="#linearGradient3800" | |
161 | + id="radialGradient3806" | |
162 | + cx="29.344931" | |
163 | + cy="17.064077" | |
164 | + fx="29.344931" | |
165 | + fy="17.064077" | |
166 | + r="9.1620579" | |
167 | + gradientUnits="userSpaceOnUse" /> | |
168 | + <radialGradient | |
169 | + inkscape:collect="always" | |
170 | + xlink:href="#linearGradient3816" | |
171 | + id="radialGradient3822" | |
172 | + cx="31.112698" | |
173 | + cy="19.008621" | |
174 | + fx="31.112698" | |
175 | + fy="19.008621" | |
176 | + r="8.6620579" | |
177 | + gradientUnits="userSpaceOnUse" /> | |
178 | + <linearGradient | |
179 | + inkscape:collect="always" | |
180 | + xlink:href="#linearGradient3824" | |
181 | + id="linearGradient3830" | |
182 | + x1="30.935921" | |
183 | + y1="29.553486" | |
184 | + x2="30.935921" | |
185 | + y2="35.803486" | |
186 | + gradientUnits="userSpaceOnUse" /> | |
187 | + <radialGradient | |
188 | + inkscape:collect="always" | |
189 | + xlink:href="#linearGradient4163" | |
190 | + id="radialGradient4169" | |
191 | + cx="28.089741" | |
192 | + cy="27.203083" | |
193 | + fx="28.089741" | |
194 | + fy="27.203083" | |
195 | + r="13.565360" | |
196 | + gradientTransform="matrix(1.297564,2.881172e-16,-1.964720e-16,0.884831,-8.358505,4.940469)" | |
197 | + gradientUnits="userSpaceOnUse" /> | |
198 | + <radialGradient | |
199 | + inkscape:collect="always" | |
200 | + xlink:href="#linearGradient3800" | |
201 | + id="radialGradient4171" | |
202 | + gradientUnits="userSpaceOnUse" | |
203 | + cx="29.344931" | |
204 | + cy="17.064077" | |
205 | + fx="29.344931" | |
206 | + fy="17.064077" | |
207 | + r="9.1620579" | |
208 | + gradientTransform="matrix(0.787998,3.877637e-16,-3.877637e-16,0.787998,6.221198,3.617627)" /> | |
209 | + <linearGradient | |
210 | + inkscape:collect="always" | |
211 | + xlink:href="#linearGradient3824" | |
212 | + id="linearGradient4175" | |
213 | + gradientUnits="userSpaceOnUse" | |
214 | + x1="30.935921" | |
215 | + y1="29.553486" | |
216 | + x2="30.935921" | |
217 | + y2="35.803486" | |
218 | + gradientTransform="translate(0.707108,0.000000)" /> | |
219 | + <radialGradient | |
220 | + inkscape:collect="always" | |
221 | + xlink:href="#linearGradient3816" | |
222 | + id="radialGradient4179" | |
223 | + gradientUnits="userSpaceOnUse" | |
224 | + cx="31.112698" | |
225 | + cy="19.008621" | |
226 | + fx="31.112698" | |
227 | + fy="19.008621" | |
228 | + r="8.6620579" /> | |
229 | + <linearGradient | |
230 | + inkscape:collect="always" | |
231 | + xlink:href="#linearGradient3824" | |
232 | + id="linearGradient4326" | |
233 | + gradientUnits="userSpaceOnUse" | |
234 | + gradientTransform="translate(-12.41789,-7.000000)" | |
235 | + x1="30.935921" | |
236 | + y1="29.553486" | |
237 | + x2="30.935921" | |
238 | + y2="35.803486" /> | |
239 | + <radialGradient | |
240 | + inkscape:collect="always" | |
241 | + xlink:href="#linearGradient4338" | |
242 | + id="radialGradient4328" | |
243 | + gradientUnits="userSpaceOnUse" | |
244 | + gradientTransform="matrix(0.787998,3.877637e-16,-3.877637e-16,0.787998,6.221198,3.617627)" | |
245 | + cx="29.344931" | |
246 | + cy="17.064077" | |
247 | + fx="29.344931" | |
248 | + fy="17.064077" | |
249 | + r="9.1620579" /> | |
250 | + <radialGradient | |
251 | + inkscape:collect="always" | |
252 | + xlink:href="#linearGradient3816" | |
253 | + id="radialGradient4330" | |
254 | + gradientUnits="userSpaceOnUse" | |
255 | + cx="31.112698" | |
256 | + cy="19.008621" | |
257 | + fx="31.112698" | |
258 | + fy="19.008621" | |
259 | + r="8.6620579" /> | |
260 | + <linearGradient | |
261 | + inkscape:collect="always" | |
262 | + xlink:href="#linearGradient3824" | |
263 | + id="linearGradient4332" | |
264 | + gradientUnits="userSpaceOnUse" | |
265 | + x1="30.935921" | |
266 | + y1="29.553486" | |
267 | + x2="30.935921" | |
268 | + y2="35.803486" | |
269 | + gradientTransform="translate(-13.12500,-7.000000)" /> | |
270 | + <radialGradient | |
271 | + inkscape:collect="always" | |
272 | + xlink:href="#linearGradient3816" | |
273 | + id="radialGradient4336" | |
274 | + gradientUnits="userSpaceOnUse" | |
275 | + cx="31.112698" | |
276 | + cy="19.008621" | |
277 | + fx="31.112698" | |
278 | + fy="19.008621" | |
279 | + r="8.6620579" /> | |
280 | + <radialGradient | |
281 | + inkscape:collect="always" | |
282 | + xlink:href="#linearGradient4344" | |
283 | + id="radialGradient4350" | |
284 | + cx="16.214741" | |
285 | + cy="19.836468" | |
286 | + fx="16.214741" | |
287 | + fy="19.836468" | |
288 | + r="13.565360" | |
289 | + gradientTransform="matrix(1.000000,0.000000,0.000000,0.681917,0.000000,8.233773)" | |
290 | + gradientUnits="userSpaceOnUse" /> | |
291 | + <linearGradient | |
292 | + inkscape:collect="always" | |
293 | + xlink:href="#linearGradient4356" | |
294 | + id="linearGradient4362" | |
295 | + x1="20.661695" | |
296 | + y1="35.817974" | |
297 | + x2="22.626925" | |
298 | + y2="36.217758" | |
299 | + gradientUnits="userSpaceOnUse" | |
300 | + gradientTransform="matrix(0.983375,0.181588,-0.181588,0.983375,6.231716,-2.651466)" /> | |
301 | + <linearGradient | |
302 | + inkscape:collect="always" | |
303 | + xlink:href="#linearGradient4356" | |
304 | + id="linearGradient4366" | |
305 | + gradientUnits="userSpaceOnUse" | |
306 | + x1="22.686766" | |
307 | + y1="36.390400" | |
308 | + x2="21.408455" | |
309 | + y2="35.739632" | |
310 | + gradientTransform="matrix(-0.977685,0.210075,0.210075,0.977685,55.10960,-3.945209)" /> | |
311 | + <linearGradient | |
312 | + inkscape:collect="always" | |
313 | + xlink:href="#linearGradient4356" | |
314 | + id="linearGradient4372" | |
315 | + gradientUnits="userSpaceOnUse" | |
316 | + gradientTransform="matrix(0.983375,0.181588,-0.181588,0.983375,-7.072120,-9.824920)" | |
317 | + x1="20.661695" | |
318 | + y1="35.817974" | |
319 | + x2="22.626925" | |
320 | + y2="36.217758" /> | |
321 | + <linearGradient | |
322 | + inkscape:collect="always" | |
323 | + xlink:href="#linearGradient4356" | |
324 | + id="linearGradient4374" | |
325 | + gradientUnits="userSpaceOnUse" | |
326 | + gradientTransform="matrix(-0.977685,0.210075,0.210075,0.977685,41.80576,-11.11866)" | |
327 | + x1="22.686766" | |
328 | + y1="36.390400" | |
329 | + x2="21.408455" | |
330 | + y2="35.739632" /> | |
331 | + <linearGradient | |
332 | + inkscape:collect="always" | |
333 | + xlink:href="#linearGradient4356" | |
334 | + id="linearGradient1366" | |
335 | + gradientUnits="userSpaceOnUse" | |
336 | + gradientTransform="matrix(-0.977685,0.210075,0.210075,0.977685,41.80576,-11.11866)" | |
337 | + x1="22.686766" | |
338 | + y1="36.390400" | |
339 | + x2="21.408455" | |
340 | + y2="35.739632" /> | |
341 | + <linearGradient | |
342 | + inkscape:collect="always" | |
343 | + xlink:href="#linearGradient4356" | |
344 | + id="linearGradient1369" | |
345 | + gradientUnits="userSpaceOnUse" | |
346 | + gradientTransform="matrix(0.983375,0.181588,-0.181588,0.983375,-7.072120,-9.824920)" | |
347 | + x1="20.661695" | |
348 | + y1="35.817974" | |
349 | + x2="22.626925" | |
350 | + y2="36.217758" /> | |
351 | + <linearGradient | |
352 | + inkscape:collect="always" | |
353 | + xlink:href="#linearGradient3824" | |
354 | + id="linearGradient1372" | |
355 | + gradientUnits="userSpaceOnUse" | |
356 | + gradientTransform="translate(-12.41789,-7.000000)" | |
357 | + x1="30.935921" | |
358 | + y1="29.553486" | |
359 | + x2="30.935921" | |
360 | + y2="35.803486" /> | |
361 | + <radialGradient | |
362 | + inkscape:collect="always" | |
363 | + xlink:href="#linearGradient4344" | |
364 | + id="radialGradient1381" | |
365 | + gradientUnits="userSpaceOnUse" | |
366 | + gradientTransform="matrix(1.000000,0.000000,0.000000,0.681917,0.000000,8.233773)" | |
367 | + cx="16.214741" | |
368 | + cy="19.836468" | |
369 | + fx="16.214741" | |
370 | + fy="19.836468" | |
371 | + r="13.565360" /> | |
372 | + <linearGradient | |
373 | + inkscape:collect="always" | |
374 | + xlink:href="#linearGradient2966" | |
375 | + id="linearGradient2682" | |
376 | + gradientUnits="userSpaceOnUse" | |
377 | + gradientTransform="translate(-22.726626,3.0433486)" | |
378 | + x1="48.90625" | |
379 | + y1="17.376184" | |
380 | + x2="50.988335" | |
381 | + y2="22.250591" /> | |
382 | + <linearGradient | |
383 | + inkscape:collect="always" | |
384 | + xlink:href="#linearGradient2974" | |
385 | + id="linearGradient2684" | |
386 | + gradientUnits="userSpaceOnUse" | |
387 | + gradientTransform="translate(-22.726626,3.0433486)" | |
388 | + x1="46" | |
389 | + y1="19.8125" | |
390 | + x2="47.6875" | |
391 | + y2="22.625" /> | |
392 | + <radialGradient | |
393 | + inkscape:collect="always" | |
394 | + xlink:href="#linearGradient2984" | |
395 | + id="radialGradient2686" | |
396 | + gradientUnits="userSpaceOnUse" | |
397 | + gradientTransform="matrix(2.923565,0,0,2.029717,-78.612654,-24.840821)" | |
398 | + cx="29.053354" | |
399 | + cy="27.640751" | |
400 | + fx="29.053354" | |
401 | + fy="27.640751" | |
402 | + r="3.2408544" /> | |
403 | + <linearGradient | |
404 | + inkscape:collect="always" | |
405 | + xlink:href="#linearGradient2994" | |
406 | + id="linearGradient2688" | |
407 | + gradientUnits="userSpaceOnUse" | |
408 | + gradientTransform="translate(-22.882876,3.1683486)" | |
409 | + x1="25.71875" | |
410 | + y1="31.046875" | |
411 | + x2="25.514589" | |
412 | + y2="30.703125" /> | |
413 | + </defs> | |
414 | + <sodipodi:namedview | |
415 | + inkscape:showpageshadow="false" | |
416 | + id="base" | |
417 | + pagecolor="#ffffff" | |
418 | + bordercolor="#666666" | |
419 | + borderopacity="1.0" | |
420 | + inkscape:pageopacity="0.0" | |
421 | + inkscape:pageshadow="2" | |
422 | + inkscape:zoom="5.6568542" | |
423 | + inkscape:cx="35.364423" | |
424 | + inkscape:cy="14.908213" | |
425 | + inkscape:current-layer="layer2" | |
426 | + showgrid="true" | |
427 | + inkscape:grid-bbox="true" | |
428 | + inkscape:document-units="px" | |
429 | + fill="#9db029" | |
430 | + stroke="#727e0a" | |
431 | + inkscape:window-width="1280" | |
432 | + inkscape:window-height="749" | |
433 | + inkscape:window-x="65" | |
434 | + inkscape:window-y="24" | |
435 | + gridtolerance="9" | |
436 | + inkscape:window-maximized="0"> | |
437 | + <inkscape:grid | |
438 | + type="xygrid" | |
439 | + id="grid3460" | |
440 | + visible="true" | |
441 | + enabled="true" /> | |
442 | + </sodipodi:namedview> | |
443 | + <metadata | |
444 | + id="metadata4"> | |
445 | + <rdf:RDF> | |
446 | + <cc:Work | |
447 | + rdf:about=""> | |
448 | + <dc:format>image/svg+xml</dc:format> | |
449 | + <dc:type | |
450 | + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | |
451 | + <dc:title></dc:title> | |
452 | + <dc:creator> | |
453 | + <cc:Agent> | |
454 | + <dc:title>Jakub Steiner</dc:title> | |
455 | + </cc:Agent> | |
456 | + </dc:creator> | |
457 | + <dc:source>http://jimmac.musichall.cz</dc:source> | |
458 | + <dc:subject> | |
459 | + <rdf:Bag> | |
460 | + <rdf:li>users</rdf:li> | |
461 | + <rdf:li>people</rdf:li> | |
462 | + </rdf:Bag> | |
463 | + </dc:subject> | |
464 | + <cc:license | |
465 | + rdf:resource="http://creativecommons.org/licenses/publicdomain/" /> | |
466 | + </cc:Work> | |
467 | + <cc:License | |
468 | + rdf:about="http://creativecommons.org/licenses/publicdomain/"> | |
469 | + <cc:permits | |
470 | + rdf:resource="http://creativecommons.org/ns#Reproduction" /> | |
471 | + <cc:permits | |
472 | + rdf:resource="http://creativecommons.org/ns#Distribution" /> | |
473 | + <cc:permits | |
474 | + rdf:resource="http://creativecommons.org/ns#DerivativeWorks" /> | |
475 | + </cc:License> | |
476 | + </rdf:RDF> | |
477 | + </metadata> | |
478 | + <g | |
479 | + id="layer1" | |
480 | + inkscape:label="cipek" | |
481 | + inkscape:groupmode="layer" | |
482 | + style="display:inline" /> | |
483 | + <g | |
484 | + inkscape:groupmode="layer" | |
485 | + id="layer2" | |
486 | + inkscape:label="dalsi cipek" | |
487 | + style="display:inline"> | |
488 | + <g | |
489 | + id="g3104" | |
490 | + inkscape:export-filename="/home/81665687568/Owncloud/projetos/noosfero/public/images/blocks/communities_block/icon.png" | |
491 | + inkscape:export-xdpi="98.441032" | |
492 | + inkscape:export-ydpi="98.441032"> | |
493 | + <path | |
494 | + d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.450640,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z" | |
495 | + sodipodi:ry="8.6620579" | |
496 | + sodipodi:rx="8.6620579" | |
497 | + sodipodi:cy="19.008621" | |
498 | + sodipodi:cx="31.112698" | |
499 | + id="path4177" | |
500 | + style="display:inline;opacity:1;color:#000000;fill:url(#radialGradient4336);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;overflow:visible" | |
501 | + sodipodi:type="arc" | |
502 | + transform="matrix(1.77551,0,0,0.959183,-37.37822,11.77153)" /> | |
503 | + <path | |
504 | + sodipodi:nodetypes="cczcczc" | |
505 | + id="path2329" | |
506 | + d="M 12.861174,34.636039 L 23.467776,34.636039 C 26.472980,34.636039 29.448260,33.534107 30.538843,30.393398 C 31.574482,27.410922 30.715620,21.731340 23.998106,17.135146 L 11.446960,17.135146 C 4.7294460,21.377786 3.8899690,27.179977 5.4365530,30.570174 C 7.0121480,34.023964 9.6791930,34.636039 12.861174,34.636039 z " | |
507 | + style="display:inline;opacity:1;color:#000000;fill:url(#radialGradient1381);fill-opacity:1;fill-rule:evenodd;stroke:#404604;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;overflow:visible" /> | |
508 | + <path | |
509 | + style="display:inline;opacity:1;color:#000000;fill:#9db029;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;overflow:visible" | |
510 | + d="M 17.932367,19.786797 C 17.932367,19.786797 15.781044,21.447132 15.966376,23.447330 C 13.925150,21.646536 13.866503,18.195806 13.866503,18.195806 L 17.932367,19.786797 z " | |
511 | + id="path3812" | |
512 | + sodipodi:nodetypes="cccc" /> | |
513 | + <path | |
514 | + style="display:inline;opacity:0.21518983000000000;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999976000000002px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;overflow:visible" | |
515 | + d="M 12.966639,33.571836 L 23.283309,33.571836 C 25.923032,33.571836 28.536470,32.603917 29.494421,29.845169 C 30.404110,27.225409 29.399699,22.236555 23.499142,18.199332 L 11.974417,18.199332 C 6.0738600,21.925999 5.0864770,27.022551 6.4449710,30.000446 C 7.8289490,33.034200 10.171638,33.571836 12.966639,33.571836 z " | |
516 | + id="path3838" | |
517 | + sodipodi:nodetypes="cczcczc" /> | |
518 | + <path | |
519 | + sodipodi:nodetypes="cccc" | |
520 | + id="path3810" | |
521 | + d="M 18.910795,19.786797 C 18.910795,19.786797 21.062118,21.447132 20.876786,23.447330 C 22.918012,21.646536 22.976659,18.195806 22.976659,18.195806 L 18.910795,19.786797 z " | |
522 | + style="display:inline;opacity:1;color:#000000;fill:#9db029;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;overflow:visible" /> | |
523 | + <path | |
524 | + transform="translate(-13.25,-3.5)" | |
525 | + sodipodi:type="arc" | |
526 | + style="display:inline;opacity:1;color:#000000;fill:url(#radialGradient4330);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;overflow:visible" | |
527 | + id="path3814" | |
528 | + sodipodi:cx="31.112698" | |
529 | + sodipodi:cy="19.008621" | |
530 | + sodipodi:rx="8.6620579" | |
531 | + sodipodi:ry="8.6620579" | |
532 | + d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.450640,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z" /> | |
533 | + <path | |
534 | + transform="translate(-13.125,-7)" | |
535 | + d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.450640,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z" | |
536 | + sodipodi:ry="8.6620579" | |
537 | + sodipodi:rx="8.6620579" | |
538 | + sodipodi:cy="19.008621" | |
539 | + sodipodi:cx="31.112698" | |
540 | + id="path2327" | |
541 | + style="display:inline;opacity:1;color:#000000;fill:url(#radialGradient4328);fill-opacity:1;fill-rule:evenodd;stroke:#6f4709;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;overflow:visible" | |
542 | + sodipodi:type="arc" /> | |
543 | + <path | |
544 | + transform="matrix(0.877095,0,0,0.877095,-9.301073,-4.663733)" | |
545 | + sodipodi:type="arc" | |
546 | + style="display:inline;opacity:0.12658227999999999;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.14012829999999998px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;overflow:visible" | |
547 | + id="path3834" | |
548 | + sodipodi:cx="31.112698" | |
549 | + sodipodi:cy="19.008621" | |
550 | + sodipodi:rx="8.6620579" | |
551 | + sodipodi:ry="8.6620579" | |
552 | + d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.450640,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z" /> | |
553 | + <path | |
554 | + id="path4173" | |
555 | + d="M 22.583894,27.034641 L 26.826534,27.034641 L 24.351661,24.736544 L 23.821331,25.443651 L 23.291000,24.913321 L 22.583894,27.034641 z " | |
556 | + style="display:inline;opacity:1;color:#000000;fill:url(#linearGradient1372);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;overflow:visible" /> | |
557 | + <path | |
558 | + sodipodi:nodetypes="cccc" | |
559 | + id="path4368" | |
560 | + d="M 8.5479535,33.601747 C 7.3003465,33.056778 6.7419595,31.743470 6.7419595,31.743470 C 7.5832405,27.674334 10.461885,24.697254 10.461885,24.697254 C 10.461885,24.697254 8.1825635,31.108768 8.5479535,33.601747 z " | |
561 | + style="display:inline;opacity:0.22784807000000001;color:#000000;fill:url(#linearGradient1369);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;overflow:visible" /> | |
562 | + <path | |
563 | + style="display:inline;opacity:0.22784807000000001;color:#000000;fill:url(#linearGradient1366);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;overflow:visible" | |
564 | + d="M 27.453661,32.743396 C 28.684912,32.162418 29.258041,30.741075 29.258041,30.741075 C 28.298921,26.698092 25.281892,23.898254 25.281892,23.898254 C 25.281892,23.898254 27.746485,30.240856 27.453661,32.743396 z " | |
565 | + id="path4370" | |
566 | + sodipodi:nodetypes="cccc" /> | |
567 | + <path | |
568 | + d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.45064,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z" | |
569 | + sodipodi:ry="8.6620579" | |
570 | + sodipodi:rx="8.6620579" | |
571 | + sodipodi:cy="19.008621" | |
572 | + sodipodi:cx="31.112698" | |
573 | + id="path4306" | |
574 | + style="opacity:1;color:black;fill:url(#radialGradient4179);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | |
575 | + sodipodi:type="arc" | |
576 | + transform="matrix(1.77551,0,0,0.583984,-24.25322,28.27856)" /> | |
577 | + <path | |
578 | + sodipodi:nodetypes="cczcczc" | |
579 | + id="path4308" | |
580 | + d="M 25.986174,41.636039 L 36.592776,41.636039 C 39.597980,41.636039 42.573260,40.534107 43.663843,37.393398 C 44.699482,34.410922 43.840620,28.731340 37.123106,24.135146 L 24.571960,24.135146 C 17.854446,28.377786 17.014969,34.179977 18.561553,37.570174 C 20.137148,41.023964 22.804193,41.636039 25.986174,41.636039 z " | |
581 | + style="opacity:1.0000000;color:#000000;fill:url(#radialGradient4169);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#204a87;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" /> | |
582 | + <path | |
583 | + sodipodi:nodetypes="cccc" | |
584 | + id="path4310" | |
585 | + d="M 26.693281,25.726136 C 29.875261,28.554563 31.289475,38.807612 31.289475,38.807612 C 31.289475,38.807612 32.703688,28.554564 35.178562,25.549360 L 26.693281,25.726136 z " | |
586 | + style="opacity:1.0000000;color:#000000;fill:url(#linearGradient3830);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" /> | |
587 | + <path | |
588 | + style="opacity:1.0000000;color:#000000;fill:#729fcf;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" | |
589 | + d="M 28.972721,26.786797 C 28.972721,26.786797 26.821398,28.447132 27.006730,30.447330 C 24.965504,28.646536 24.906857,25.195806 24.906857,25.195806 L 28.972721,26.786797 z " | |
590 | + id="path4312" | |
591 | + sodipodi:nodetypes="cccc" /> | |
592 | + <path | |
593 | + style="opacity:0.21518983;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999976px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" | |
594 | + d="M 25.914862,40.593933 L 36.408309,40.571836 C 39.048032,40.571836 41.661470,39.603917 42.619421,36.845169 C 43.529110,34.225409 42.524699,29.236555 36.624142,25.199332 L 25.099417,24.956264 C 19.198860,28.682931 18.056797,33.779483 19.437388,37.000446 C 20.817980,40.221409 22.832599,40.571836 25.914862,40.593933 z " | |
595 | + id="path4314" | |
596 | + sodipodi:nodetypes="cczcczc" /> | |
597 | + <path | |
598 | + sodipodi:nodetypes="cccc" | |
599 | + id="path4316" | |
600 | + d="M 33.410795,26.786797 C 33.410795,26.786797 35.562118,28.447132 35.376786,30.447330 C 37.418012,28.646536 37.476659,25.195806 37.476659,25.195806 L 33.410795,26.786797 z " | |
601 | + style="opacity:1.0000000;color:#000000;fill:#729fcf;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" /> | |
602 | + <path | |
603 | + transform="translate(-0.125000,3.500000)" | |
604 | + sodipodi:type="arc" | |
605 | + style="opacity:1.0000000;color:#000000;fill:url(#radialGradient3822);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" | |
606 | + id="path4318" | |
607 | + sodipodi:cx="31.112698" | |
608 | + sodipodi:cy="19.008621" | |
609 | + sodipodi:rx="8.6620579" | |
610 | + sodipodi:ry="8.6620579" | |
611 | + d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.450640,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z" /> | |
612 | + <path | |
613 | + d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.450640,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z" | |
614 | + sodipodi:ry="8.6620579" | |
615 | + sodipodi:rx="8.6620579" | |
616 | + sodipodi:cy="19.008621" | |
617 | + sodipodi:cx="31.112698" | |
618 | + id="path4320" | |
619 | + style="opacity:1.0000000;color:#000000;fill:url(#radialGradient4171);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#c17d11;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" | |
620 | + sodipodi:type="arc" /> | |
621 | + <path | |
622 | + transform="matrix(0.877095,0.000000,0.000000,0.877095,3.823927,2.336267)" | |
623 | + sodipodi:type="arc" | |
624 | + style="opacity:0.19620253;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.1401283px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" | |
625 | + id="path4322" | |
626 | + sodipodi:cx="31.112698" | |
627 | + sodipodi:cy="19.008621" | |
628 | + sodipodi:rx="8.6620579" | |
629 | + sodipodi:ry="8.6620579" | |
630 | + d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.450640,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z" /> | |
631 | + <path | |
632 | + sodipodi:nodetypes="cccc" | |
633 | + id="path4354" | |
634 | + d="M 21.851790,40.775197 C 20.604183,40.230228 20.045796,38.916920 20.045796,38.916920 C 20.887077,34.847784 23.765721,31.870704 23.765721,31.870704 C 23.765721,31.870704 21.486400,38.282218 21.851790,40.775197 z " | |
635 | + style="opacity:0.22784807;color:#000000;fill:url(#linearGradient4362);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" /> | |
636 | + <path | |
637 | + style="opacity:0.22784807;color:#000000;fill:url(#linearGradient4366);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" | |
638 | + d="M 40.757497,39.916846 C 41.988748,39.335868 42.561877,37.914525 42.561877,37.914525 C 41.602757,33.871542 38.585728,31.071704 38.585728,31.071704 C 38.585728,31.071704 41.050321,37.414306 40.757497,39.916846 z " | |
639 | + id="path4364" | |
640 | + sodipodi:nodetypes="cccc" /> | |
641 | + </g> | |
642 | + </g> | |
643 | +</svg> | ... | ... |
27.6 KB
15.7 KB
test/unit/block_test.rb
... | ... | @@ -7,6 +7,10 @@ class BlockTest < ActiveSupport::TestCase |
7 | 7 | assert_kind_of String, Block.description |
8 | 8 | end |
9 | 9 | |
10 | + should 'describe shotly itself' do | |
11 | + assert_kind_of String, Block.short_description | |
12 | + end | |
13 | + | |
10 | 14 | should 'access owner through box' do |
11 | 15 | user = create_user('testinguser').person |
12 | 16 | |
... | ... | @@ -284,4 +288,80 @@ class BlockTest < ActiveSupport::TestCase |
284 | 288 | assert_equal block.cache_key('en'), block.cache_key('en', person) |
285 | 289 | end |
286 | 290 | |
291 | + should 'pretty_name method defined' do | |
292 | + assert Block.respond_to?(:pretty_name) | |
293 | + end | |
294 | + | |
295 | + should 'previews_path return the array of preview images' do | |
296 | + class NewBlock < Block; end | |
297 | + Dir.stubs(:glob).returns(['/path/1', 'path/2']) | |
298 | + expected = ['blocks/block_test/new_block/previews/1', 'blocks/block_test/new_block/previews/2'] | |
299 | + assert_equivalent expected, NewBlock.previews_path | |
300 | + end | |
301 | + | |
302 | + should 'return the icon block path' do | |
303 | + class NewBlock < Block; end | |
304 | + File.expects(:exists?).returns(true) | |
305 | + expected_path = 'path/icon.png' | |
306 | + File.stubs(:join).returns(expected_path) | |
307 | + assert_equal expected_path, NewBlock.icon_path | |
308 | + end | |
309 | + | |
310 | + should 'return the icon block path for plugin blocks' do | |
311 | + module SomeContext class SomeContext::CustomBlock1 < Block; end;;end | |
312 | +# class SomeContext::CustomBlock2 < Block; end; | |
313 | +#BreadcrumbsPlugin::ContentBreadcrumbsBlock | |
314 | + class Plugin1 < Noosfero::Plugin | |
315 | + def self.extra_blocks | |
316 | + { | |
317 | + CustomBlock1 => {}, | |
318 | + CustomBlock2 => {} | |
319 | + } | |
320 | + end | |
321 | + end | |
322 | + | |
323 | +#Block.stubs(:images_filesystem_path).returns('/path') | |
324 | +#CustomBlock1.stubs(:images_filesystem_path).returns('/path') | |
325 | +File.stubs(:exists?).with('/home/81665687568/Owncloud/projetos/noosfero/public/images/blocks/block_test/custom_block1/icon.pn').returns(true) | |
326 | +# File.exists?(File.join(images_filesystem_path, 'icon.png')) ? icon_path : default_icon_path | |
327 | + | |
328 | + | |
329 | +# def self.images_filesystem_path | |
330 | +# Rails.root.join('public', 'images', images_base_url_path) | |
331 | +# end | |
332 | +# | |
333 | +# def self.images_base_url_path | |
334 | +# File.join('blocks', self.name.underscore) | |
335 | +# end | |
336 | + | |
337 | + | |
338 | + Environment.destroy_all | |
339 | + e = fast_create(Environment, :is_default => true) | |
340 | + | |
341 | +# Noosfero::Plugin.stubs(:all).returns(['ProfileTest::Plugin1', 'ProfileTest::Plugin2']) | |
342 | + e.enable_plugin(Plugin1) | |
343 | + | |
344 | +# class NewBlock < Block; end | |
345 | +# Dir.stubs(:glob).returns(['/path/1', 'path/2']) | |
346 | +# expected = ['blocks/block_test/new_block/previews/1', 'blocks/block_test/new_block/previews/2'] | |
347 | +# class NewBlock < Block; end | |
348 | +# File.expects(:exists?).returns(true) | |
349 | +# expected_path = 'path/icon.png' | |
350 | +# File.stubs(:join).returns(expected_path) | |
351 | +#/plugins/container_block/images/handle_e.png | |
352 | + assert_equal '', SomeContext::CustomBlock1.icon_path | |
353 | + end | |
354 | + | |
355 | + | |
356 | + should 'return the default icon for blocks without icon' do | |
357 | + class NewBlock < Block; end | |
358 | + File.expects(:exists?).returns(false) | |
359 | + assert_equal 'icon_block.png', NewBlock.icon_path | |
360 | + end | |
361 | + | |
362 | + should 'previews_path return an empty array if there is no preview image' do | |
363 | + class NewBlock < Block; end | |
364 | + assert_equivalent [], NewBlock.previews_path | |
365 | + end | |
366 | + | |
287 | 367 | end | ... | ... |
test/unit/communities_block_test.rb
... | ... | @@ -15,6 +15,15 @@ class CommunitiesBlockTest < ActiveSupport::TestCase |
15 | 15 | assert_not_equal ProfileListBlock.description, CommunitiesBlock.description |
16 | 16 | end |
17 | 17 | |
18 | + should 'describe shortly itself' do | |
19 | + assert_not_equal Block.short_description, CommunitiesBlock.short_description | |
20 | + end | |
21 | + | |
22 | + should 'have a pretty name defined' do | |
23 | + pretty_name = CommunitiesBlock.name.gsub('Block','') | |
24 | + assert_not_equal pretty_name, CommunitiesBlock.pretty_name | |
25 | + end | |
26 | + | |
18 | 27 | should 'list owner communities' do |
19 | 28 | block = CommunitiesBlock.new |
20 | 29 | ... | ... |