Commit 37c662dcecdd09fb0673ae026702385e9a82672f
1 parent
38968b25
Exists in
master
and in
29 other branches
ActionItem21: checkpoint
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@970 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
17 changed files
with
189 additions
and
82 deletions
Show diff stats
app/controllers/my_profile/cms_controller.rb
... | ... | @@ -3,6 +3,8 @@ class CmsController < MyProfileController |
3 | 3 | # FIXME add the access control again |
4 | 4 | # protect 'post_content', :profile, :only => [:edit, :new, :reorder, :delete] |
5 | 5 | |
6 | + design :holder => :profile | |
7 | + | |
6 | 8 | include CmsHelper |
7 | 9 | |
8 | 10 | def view |
... | ... | @@ -11,7 +13,7 @@ class CmsController < MyProfileController |
11 | 13 | end |
12 | 14 | |
13 | 15 | def index |
14 | - @article = profile.home_page | |
16 | + @article = nil | |
15 | 17 | @subitems = profile.top_level_articles |
16 | 18 | render :action => 'view' |
17 | 19 | end | ... | ... |
app/helpers/application_helper.rb
... | ... | @@ -314,4 +314,39 @@ module ApplicationHelper |
314 | 314 | content_tag('div', link_to(image_tag(icon, :alt => title, :title => title) + content_tag('div', title), url), :class => 'file-manager-button') |
315 | 315 | end |
316 | 316 | |
317 | + def hide(id) | |
318 | + "Element.hide(#{id.inspect});" | |
319 | + end | |
320 | + | |
321 | + def show(id) | |
322 | + "Element.show(#{id.inspect});" | |
323 | + end | |
324 | + | |
325 | + def toggle_panel(hide_label, show_label, id) | |
326 | + hide_button_id = id + "-hide" | |
327 | + show_button_id = id + "-show" | |
328 | + | |
329 | + result = "" | |
330 | + result << button_to_function('close', hide_label, hide(id) + hide(hide_button_id) + show(show_button_id), :id => hide_button_id, :class => 'hide-button with_text') | |
331 | + result < " " | |
332 | + result << button_to_function('open', show_label, show(id) + show(hide_button_id) + hide(show_button_id), :id => show_button_id, :class => 'show-button with_text', :style => 'display: none;' ) | |
333 | + | |
334 | + result | |
335 | + end | |
336 | + | |
337 | + def button(type, label, url, html_options = {}) | |
338 | + design_display_button(type, label, url, { :class => 'with_text' }.merge(html_options)) | |
339 | + end | |
340 | + | |
341 | + def button_to_function(type, label, js_code, html_options = {}) | |
342 | + #design_display_function_button(type, label, js_code, { :class => 'with_text' }.merge(html_options)) | |
343 | + html_options[:class] = "" unless html_options[:class] | |
344 | + html_options[:class] << " button #{type}" | |
345 | + link_to_function(label, js_code, html_options) | |
346 | + end | |
347 | + | |
348 | + def icon(icon_name) | |
349 | + design_display_icon(icon_name, :style => 'width: 24px; height: 24px; display: inline;') | |
350 | + end | |
351 | + | |
317 | 352 | end | ... | ... |
app/helpers/cms_helper.rb
1 | 1 | module CmsHelper |
2 | 2 | |
3 | 3 | def link_to_edit_article(article) |
4 | - link_to(_("Edit"), url_for_edit_article(article)) | |
4 | + button('edit', _("Edit"), url_for_edit_article(article)) | |
5 | 5 | end |
6 | 6 | |
7 | 7 | def url_for_edit_article(article) |
... | ... | @@ -11,7 +11,7 @@ module CmsHelper |
11 | 11 | |
12 | 12 | def link_to_new_article(mime_type) |
13 | 13 | action = mime_type.gsub('/', '_') + '_new' |
14 | - link_to(_("New %s") % mime_type, :action => action, :parent_id => params[:parent_id]) | |
14 | + button('new', _("New %s") % mime_type, :action => action, :parent_id => params[:parent_id]) | |
15 | 15 | end |
16 | 16 | |
17 | 17 | end | ... | ... |
app/views/cms/text_html_new.rhtml
... | ... | @@ -6,9 +6,9 @@ |
6 | 6 | |
7 | 7 | <%= hidden_field_tag('parent_id', params[:parent_id]) if params[:parent_id] %> |
8 | 8 | |
9 | - <%= f.text_field 'name' %> | |
9 | + <%= f.text_field 'name', :size => '64' %> | |
10 | 10 | |
11 | - <%= f.text_area('body') %> | |
11 | + <%= f.text_area('body', :cols => 64) %> | |
12 | 12 | |
13 | 13 | <%= submit_tag _('Save') %> |
14 | 14 | ... | ... |
app/views/cms/view.rhtml
1 | 1 | <% if @article %> |
2 | - <h2> | |
2 | + <h2 id='article-full-path'> | |
3 | + <%= icon('cms') %> | |
3 | 4 | <%= link_to profile.identifier, :action => 'index' %> |
4 | 5 | <%= @article.hierarchy.map {|item| " / " + ((item == @article) ? item.name : link_to(item.name, :id => item.id)) } %> |
5 | 6 | </h2> |
7 | +<% else %> | |
8 | + <h2> | |
9 | + <%= icon('cms') %> | |
10 | + <%= _('Content management') %> | |
11 | + </h2> | |
12 | + <div style='margin-bottom: 1em;'> | |
13 | + <%= button('new', _('New article'), :action => 'new') %> | |
14 | + </div> | |
6 | 15 | <% end %> |
7 | 16 | |
8 | -<%# list the children %> | |
17 | +<%# subitem %> | |
18 | +<%= toggle_panel(_('Hide subitems'), _('Show subitems'), 'article-subitems') unless @subitems.empty? %> | |
19 | +<div id='article-subitems'> | |
20 | + <div class='file-manager-title'><%= @article ? _('Subitems') : _('Articles') %></div> | |
21 | + <div class='file-manager-small'> | |
22 | + <% unless @subitems.empty? %> | |
23 | + <ul> | |
24 | + <% @subitems.each do |item| %> | |
25 | + <li> | |
26 | + <%= file_manager_button(item.name, "icons-mime/#{item.icon_name}", :action => 'view', :id => item.id) %> | |
27 | + </li> | |
28 | + <% end %> | |
29 | + </ul> | |
30 | + <% end %> | |
9 | 31 | |
10 | -<div class='article-children'> | |
32 | + <% if @article %> | |
33 | + <div class='file-manager-controls'> | |
34 | + <%= button('new', _('New subitem'), :action => 'new', :parent_id => @article.id) %> | |
35 | + </div> | |
36 | + <% end %> | |
11 | 37 | |
12 | - <div class='file-manager-small'> | |
13 | - <ul> | |
14 | - <% @subitems.each do |item| %> | |
15 | - <li> | |
16 | - <%= file_manager_button(item.name, "icons-mime/#{item.icon_name}", :action => 'view', :id => item.id) %> | |
17 | - </li> | |
18 | - <% end %> | |
19 | - </ul> | |
20 | - </div> | |
21 | - | |
22 | - <% if @article %> | |
23 | - <%= link_to _('New subitem'), :action => 'new', :parent_id => @article.id %> | |
24 | - <% else %> | |
25 | - <%= link_to _('New article'), :action => 'new' %> | |
26 | - <% end %> | |
27 | - | |
28 | -</div> | |
38 | + </div> | |
39 | +</div> <!-- article-children --> | |
29 | 40 | |
30 | 41 | <%# display the article content %> |
42 | +<div id='article-contents'> | |
43 | + <% if @article %> | |
44 | + <h2><%= @article.name %></h2> | |
45 | + <div id='article-controls'> | |
31 | 46 | |
32 | -<% if @article %> | |
33 | - <%= link_to_edit_article(@article) %> | |
34 | - <%= link_to _('Use as homepage'), { :action => 'set_home_page', :id => @article }, { :method => :post } %> | |
35 | - <h2><%= @article.name %></h2> | |
36 | - <%= @article.to_html %> | |
37 | -<% end %> | |
47 | + <%= link_to_edit_article(@article) %> | |
48 | + | |
49 | + <%= button('home', _('Use as homepage'), { :action => 'set_home_page', :id => @article }, { :method => :post }) %> | |
50 | + </div> | |
51 | + <%= @article.to_html %> | |
52 | + <% end %> | |
53 | +</div> | ... | ... |
app/views/layouts/application.rhtml
... | ... | @@ -14,6 +14,7 @@ |
14 | 14 | <%= stylesheet_link_tag 'common' %> |
15 | 15 | <%= stylesheet_link_tag 'help' %> |
16 | 16 | <%= stylesheet_link_tag 'menu' %> |
17 | + <%= stylesheet_link_tag 'button' %> | |
17 | 18 | <%= javascript_include_tag 'menu' %> |
18 | 19 | <%# cms stuff %> |
19 | 20 | <% if params[:controller] == 'cms' %> |
... | ... | @@ -70,13 +71,8 @@ |
70 | 71 | <div id='header_content'> |
71 | 72 | </div> |
72 | 73 | |
73 | - <% if params[:controller] == 'cms' %> | |
74 | - <div id='boxes'><a name="content"> </a> | |
75 | - <%= yield %> | |
76 | - </div> | |
77 | - <% else %> | |
78 | - <%= design_display(yield) %> | |
79 | - <% end %> | |
74 | + <%= design_display(yield) %> | |
75 | + | |
80 | 76 | </div><!-- id="content" --> |
81 | 77 | <div id="footer_content"><!-- Rodape do onteudo --> |
82 | 78 | </div><!-- id="footer_content" --> | ... | ... |
app/views/shared/tiny_mce.rhtml
... | ... | @@ -6,8 +6,8 @@ tinyMCE.init({ |
6 | 6 | plugins: "paste,searchreplace,print", |
7 | 7 | theme_advanced_toolbar_location : "top", |
8 | 8 | theme_advanced_layout_manager: 'SimpleLayout', |
9 | - theme_advanced_buttons1 : "bold,italic,underline,strikethrough,separator,undo,redo,separator,formatselect,separator,bullist,numlist,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,link,unlink,image,table,separator,cleanup,code,separator,help", | |
10 | - theme_advanced_buttons2 : "copy,paste,pastetext,pasteword,search,replace,print", | |
9 | + theme_advanced_buttons1 : "print,separator,copy,paste,pastetext,pasteword,separator,undo,redo,separator,search,replace,separator,formatselect,separator,help", | |
10 | + theme_advanced_buttons2 : "bold,italic,underline,strikethrough,separator,bullist,numlist,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,link,unlink,image,table,separator,cleanup,code", | |
11 | 11 | theme_advanced_buttons3 : "", |
12 | 12 | apply_source_formatting : true, |
13 | 13 | language: <%= language.inspect %>, | ... | ... |
... | ... | @@ -0,0 +1,11 @@ |
1 | +Source and Licensing | |
2 | +==================== | |
3 | + | |
4 | +Icon Source theme Source section License | |
5 | +------------------------- ------------ -------------- ------- | |
6 | +gtk-edit.png dlg-neu stock/ GPLv2+ | |
7 | +gnome-home.png Nuovo apps/ GPLv2+ | |
8 | +gtk-new.png Nuovo stock/ GPLv2+ | |
9 | +gtk-close.png Nuovo stock/ GPLv2+ | |
10 | +gtk-open.png Nuovo stock/ GPLv2+ | |
11 | +abiword_48.png dlg-neu apps/ GPLv2+ | ... | ... |
1.44 KB
1.09 KB
1.06 KB
1.1 KB
540 Bytes
905 Bytes
public/designs/icons/default/style.css
1 | - | |
2 | -.none_add { background-image: url('none.png') } | |
3 | -.add { background-image: url('add.png') } | |
4 | -.search { background-image: url('search.png') } | |
5 | -.edit_small { background-image: url('edit_small.png') } | |
6 | -.view_small { background-image: url('view_small.png') } | |
7 | -.del_small { background-image: url('del_small.png') } | |
8 | -.edit { background-image: url('edit.png') } | |
9 | -.save { background-image: url('save.png') } | |
10 | -.back { background-image: url('back.png') } | |
11 | -.reset { background-image: url('reset.png') } | |
12 | -.image { background-image: url('image.png') } | |
13 | -.password { background-image: url('password.png') } | |
14 | -.go-jump { background-image: url('go-jump.png') } | |
15 | -.system-log-out { background-image: url('system-log-out.png') } | |
16 | -.previous_page { background-image: url('go-previous.png') } | |
17 | -.next_page { background-image: url('go-next.png') } | |
18 | -.new_entry { background-image: url('new_entry.png') } | |
19 | -.history { background-image: url('history.png') } | |
20 | -.help { background-image: url('help.png') } | |
21 | -.show_documents_small { background-image: url('del_small.png') } | |
22 | -.add_document_small { background-image: url('del_small.png') } | |
23 | - | |
24 | -/* * * Menu Icons * * */ | |
25 | - | |
26 | -.departments { background-image: url('departments.png') } | |
27 | -.ledgers { background-image: url('ledgers.png') } | |
28 | -.point_of_sale { background-image: url('point_of_sale.png') } | |
29 | -.stock { background-image: url('stock.png') } | |
30 | -.documents { background-image: url('documents.png') } | |
31 | -.categories { background-image: url('categories.png') } | |
32 | -.system_actors { background-image: url('system_actors.png') } | |
33 | -.permissions { background-image: url('permissions.png') } | |
34 | -.mass_mails { background-image: url('mass_mails.png') } | |
35 | -.store { background-image: url('store.png') } | |
36 | -.organizations { background-image: url('organizations.png') } | |
37 | -.banks { background-image: url('banks.png') } | |
38 | -.product_icon { background-image: url('banks.png'); border: 2px solid red } | |
39 | -.worker_icon { background-image: url('banks.png'); border: 2px solid red } | |
40 | -.supplier_icon { background-image: url('banks.png'); border: 2px solid red } | |
41 | -.customer_icon { background-image: url('banks.png'); border: 2px solid red } | |
1 | +.button.edit { background-image: url(gtk-edit.png); } | |
2 | +.button.home { background-image: url(gnome-home.png); } | |
3 | +.button.new { background-image: url(gtk-new.png); } | |
4 | +.button.close { background-image: url(gtk-close.png); } | |
5 | +.button.open { background-image: url(gtk-open.png); } | |
6 | +.button.cms { background-image: url(abiword_48.png)} | |
42 | 7 | ... | ... |
... | ... | @@ -0,0 +1,20 @@ |
1 | +.button { | |
2 | + border: none; | |
3 | + margin-left: 5px; | |
4 | + background-color: transparent; | |
5 | + background-repeat: no-repeat; | |
6 | + background-position: 0px; | |
7 | + | |
8 | + padding-left: 25px; | |
9 | +} | |
10 | + | |
11 | +a.button , a.button:visited { | |
12 | + color: black; | |
13 | + text-decoration: none; | |
14 | +} | |
15 | + | |
16 | +a.button:hover { | |
17 | + background-color: #ace; | |
18 | +} | |
19 | + | |
20 | + | ... | ... |
public/stylesheets/common.css
... | ... | @@ -133,8 +133,29 @@ div.file-manager-button a:hover { |
133 | 133 | } |
134 | 134 | |
135 | 135 | /************* file manager (small) style *****************/ |
136 | -div.file-manager-small li { | |
136 | +.file-manager-small { | |
137 | + background: white; | |
138 | + border: 1px solid gray; | |
139 | +} | |
140 | + | |
141 | +.file-manager-title { | |
142 | + font-weight: bold; | |
143 | + border: 1px solid gray; | |
144 | + border-bottom: none; | |
145 | + border-top: none; | |
146 | + padding: 2px; | |
147 | + background: #579; | |
148 | + color: white; | |
149 | +} | |
150 | + | |
151 | +.file-manager-small ul { | |
152 | + padding: 5px; | |
153 | + margin: 0px; | |
154 | +} | |
155 | + | |
156 | +.file-manager-small li { | |
137 | 157 | list-style: none; |
158 | + padding: 2px; | |
138 | 159 | } |
139 | 160 | |
140 | 161 | div.file-manager-small |
... | ... | @@ -160,3 +181,44 @@ div.file-manager-button a:hover { |
160 | 181 | color: #006; |
161 | 182 | } |
162 | 183 | |
184 | +.file-manager-small { | |
185 | + position: relative; | |
186 | +} | |
187 | + | |
188 | +.file-manager-small .file-manager-controls { | |
189 | + border-top: 1px solid gray; | |
190 | + padding: 4px; | |
191 | +} | |
192 | + | |
193 | +.file-manager-small .file-manager-controls * { | |
194 | + text-align: right; | |
195 | +} | |
196 | + | |
197 | +/*************************** cms stuff ******************************/ | |
198 | + | |
199 | +#article-subitems-hide.hide-button { | |
200 | + float: right; | |
201 | + margin-top: 2px; | |
202 | + margin-right: 4px; | |
203 | + color: white; | |
204 | +} | |
205 | +#article-subitems-hide.hide-button:hover { | |
206 | + background-color: transparent; | |
207 | + color: black; | |
208 | +} | |
209 | + | |
210 | +#article-full-path { | |
211 | + border: 1px solid gray; | |
212 | + margin: 0px; | |
213 | + font-size: 120%; | |
214 | + overflow: auto; | |
215 | + padding: 2px; | |
216 | + background: #abc; | |
217 | +} | |
218 | + | |
219 | +#article-controls { | |
220 | + background: white; | |
221 | + border: 1px solid gray; | |
222 | + padding-top: 8px; | |
223 | + padding-bottom: 8px; | |
224 | +} | ... | ... |