Commit 4d431fb702ddb07fa35255e003857b88e60c2939
1 parent
929235dd
Exists in
master
and in
29 other branches
ActionItem296: editing header/footer
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@2346 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
7 changed files
with
198 additions
and
2 deletions
Show diff stats
... | ... | @@ -0,0 +1,14 @@ |
1 | +<%= render :file => 'shared/tiny_mce' %> | |
2 | + | |
3 | +<h1><%= _('Editing header and footer') %></h1> | |
4 | + | |
5 | +<% form_tag do %> | |
6 | + <div style='width: 90%; margin: auto;'> | |
7 | + <%= labelled_form_field(_('Content for header '), text_area_tag(:custom_header, @header, :style => 'width: 100%; height: 150px;')) %> | |
8 | + <%= labelled_form_field(_('Content for footer'), text_area_tag(:custom_footer, @footer, :style => 'width: 100%; height: 150px;')) %> | |
9 | + <% button_bar do %> | |
10 | + <%= submit_button(:save, _('Save')) %> | |
11 | + <%= button(:cancel, _('Cancel'), :action => 'index') %> | |
12 | + <% end %> | |
13 | + </div> | |
14 | +<% end %> | ... | ... |
app/views/profile_editor/index.rhtml
... | ... | @@ -14,7 +14,9 @@ |
14 | 14 | |
15 | 15 | <%= file_manager_button(_('Pending tasks'), 'icons-app/todo.png', :controller => 'tasks', :action => 'index') %> |
16 | 16 | |
17 | - <%= file_manager_button(_('Edit Visual Design'), 'icons-app/design-editor.png', :controller => 'profile_design', :action => 'index') %> | |
17 | + <%= file_manager_button(_('Edit sideboxes'), 'icons-app/design-editor.png', :controller => 'profile_design', :action => 'index') %> | |
18 | + | |
19 | + <%= file_manager_button(_('Edit Header and Footer'), 'icons-app/header-and-footer.png', :controller => 'profile_editor', :action => 'header_footer') %> | |
18 | 20 | |
19 | 21 | <%= file_manager_button(_('Manage Content'), 'icons-app/cms.png', :controller => 'cms') %> |
20 | 22 | ... | ... |
public/images/icons-app/README
630 Bytes
... | ... | @@ -0,0 +1,148 @@ |
1 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |
2 | +<!-- Created with Inkscape (http://www.inkscape.org/) --> | |
3 | +<svg | |
4 | + xmlns:dc="http://purl.org/dc/elements/1.1/" | |
5 | + xmlns:cc="http://creativecommons.org/ns#" | |
6 | + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | |
7 | + xmlns:svg="http://www.w3.org/2000/svg" | |
8 | + xmlns="http://www.w3.org/2000/svg" | |
9 | + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | |
10 | + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | |
11 | + width="64" | |
12 | + height="64" | |
13 | + id="svg2" | |
14 | + sodipodi:version="0.32" | |
15 | + inkscape:version="0.46" | |
16 | + version="1.0" | |
17 | + sodipodi:docname="header-and-footer.svg" | |
18 | + inkscape:output_extension="org.inkscape.output.svg.inkscape" | |
19 | + inkscape:export-filename="/home/terceiro/src/noosfero/public/images/icons-app/header-and-footer.png" | |
20 | + inkscape:export-xdpi="90" | |
21 | + inkscape:export-ydpi="90"> | |
22 | + <defs | |
23 | + id="defs4"> | |
24 | + <inkscape:perspective | |
25 | + sodipodi:type="inkscape:persp3d" | |
26 | + inkscape:vp_x="0 : 526.18109 : 1" | |
27 | + inkscape:vp_y="6.1230318e-14 : 1000 : 0" | |
28 | + inkscape:vp_z="744.09448 : 526.18109 : 1" | |
29 | + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" | |
30 | + id="perspective10" /> | |
31 | + <inkscape:perspective | |
32 | + id="perspective2410" | |
33 | + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" | |
34 | + inkscape:vp_z="744.09448 : 526.18109 : 1" | |
35 | + inkscape:vp_y="0 : 1000 : 0" | |
36 | + inkscape:vp_x="0 : 526.18109 : 1" | |
37 | + sodipodi:type="inkscape:persp3d" /> | |
38 | + <filter | |
39 | + inkscape:collect="always" | |
40 | + id="filter3416"> | |
41 | + <feGaussianBlur | |
42 | + inkscape:collect="always" | |
43 | + stdDeviation="1.1295304" | |
44 | + id="feGaussianBlur3418" /> | |
45 | + </filter> | |
46 | + </defs> | |
47 | + <sodipodi:namedview | |
48 | + id="base" | |
49 | + pagecolor="#ffffff" | |
50 | + bordercolor="#666666" | |
51 | + borderopacity="1.0" | |
52 | + inkscape:pageopacity="0.0" | |
53 | + inkscape:pageshadow="2" | |
54 | + inkscape:zoom="7.703125" | |
55 | + inkscape:cx="31.870183" | |
56 | + inkscape:cy="33.872569" | |
57 | + inkscape:document-units="px" | |
58 | + inkscape:current-layer="layer1" | |
59 | + showgrid="true" | |
60 | + guidetolerance="21" | |
61 | + gridtolerance="25" | |
62 | + inkscape:window-width="1278" | |
63 | + inkscape:window-height="718" | |
64 | + inkscape:window-x="0" | |
65 | + inkscape:window-y="24"> | |
66 | + <inkscape:grid | |
67 | + type="xygrid" | |
68 | + id="grid3192" | |
69 | + visible="true" | |
70 | + enabled="true" | |
71 | + spacingx="2px" | |
72 | + spacingy="2px" | |
73 | + originx="1px" | |
74 | + originy="1px" /> | |
75 | + </sodipodi:namedview> | |
76 | + <metadata | |
77 | + id="metadata7"> | |
78 | + <rdf:RDF> | |
79 | + <cc:Work | |
80 | + rdf:about=""> | |
81 | + <dc:format>image/svg+xml</dc:format> | |
82 | + <dc:type | |
83 | + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | |
84 | + </cc:Work> | |
85 | + </rdf:RDF> | |
86 | + </metadata> | |
87 | + <g | |
88 | + inkscape:label="Camada 1" | |
89 | + inkscape:groupmode="layer" | |
90 | + id="layer1"> | |
91 | + <rect | |
92 | + y="3" | |
93 | + x="7" | |
94 | + height="58.66328" | |
95 | + width="50.289757" | |
96 | + id="rect3286" | |
97 | + style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2.00000023999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;opacity:0.50000000000000000;filter:url(#filter3416)" /> | |
98 | + <rect | |
99 | + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.00000023999999987;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" | |
100 | + id="rect2420" | |
101 | + width="50.289757" | |
102 | + height="58.66328" | |
103 | + x="5" | |
104 | + y="1" /> | |
105 | + <rect | |
106 | + style="fill:#ffa358;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" | |
107 | + id="rect3196" | |
108 | + width="42" | |
109 | + height="10" | |
110 | + x="9.1030931" | |
111 | + y="5" /> | |
112 | + <rect | |
113 | + style="fill:#ffa358;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;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;enable-background:accumulate" | |
114 | + id="rect3206" | |
115 | + width="42" | |
116 | + height="10" | |
117 | + x="9.1030931" | |
118 | + y="45" /> | |
119 | + <rect | |
120 | + style="fill:#b0b0af;fill-opacity:1;stroke:none;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" | |
121 | + id="rect3236" | |
122 | + width="42" | |
123 | + height="2" | |
124 | + x="9.1030931" | |
125 | + y="19" /> | |
126 | + <rect | |
127 | + style="fill:#b0b0af;fill-opacity:1;stroke:none;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" | |
128 | + id="rect3238" | |
129 | + width="42" | |
130 | + height="2" | |
131 | + x="9.1030931" | |
132 | + y="31" /> | |
133 | + <rect | |
134 | + style="fill:#b0b0af;fill-opacity:1;stroke:none;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" | |
135 | + id="rect3240" | |
136 | + width="42" | |
137 | + height="2" | |
138 | + x="9.1030931" | |
139 | + y="25" /> | |
140 | + <rect | |
141 | + style="fill:#b0b0af;fill-opacity:1;stroke:none;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" | |
142 | + id="rect3242" | |
143 | + width="32.666668" | |
144 | + height="2" | |
145 | + x="9.1030931" | |
146 | + y="37" /> | |
147 | + </g> | |
148 | +</svg> | ... | ... |
public/stylesheets/common.css
test/functional/profile_editor_controller_test.rb
... | ... | @@ -432,4 +432,35 @@ class ProfileEditorControllerTest < Test::Unit::TestCase |
432 | 432 | assert_tag :tag => 'a', :content => 'Manage my groups' |
433 | 433 | end |
434 | 434 | |
435 | + should 'display footer edit screen' do | |
436 | + | |
437 | + person = create_user('designtestuser').person | |
438 | + person.custom_header = 'my custom header' | |
439 | + person.custom_footer = 'my custom footer' | |
440 | + person.save! | |
441 | + | |
442 | + get :header_footer, :profile => 'designtestuser' | |
443 | + assert_tag :tag => 'textarea', :content => 'my custom header' | |
444 | + assert_tag :tag => 'textarea', :content => 'my custom footer' | |
445 | + end | |
446 | + | |
447 | + should 'save footer and header' do | |
448 | + person = create_user('designtestuser').person | |
449 | + post :header_footer, :profile => 'designtestuser', :custom_header => 'new header', :custom_footer => 'new footer' | |
450 | + person.reload | |
451 | + assert_equal 'new header', person.custom_header | |
452 | + assert_equal 'new footer', person.custom_footer | |
453 | + end | |
454 | + | |
455 | + should 'go back to editor after saving header/footer' do | |
456 | + person = create_user('designtestuser').person | |
457 | + post :header_footer, :profile => 'designtestuser', :custom_header => 'new header', :custom_footer => 'new footer' | |
458 | + assert_redirected_to :action => 'index' | |
459 | + end | |
460 | + | |
461 | + should 'point to header/footer editing in control panel' do | |
462 | + get :index, :profile => 'ze' | |
463 | + assert_tag :tag => 'a', :attributes => { :href => '/myprofile/ze/profile_editor/header_footer' } | |
464 | + end | |
465 | + | |
435 | 466 | end | ... | ... |