Commit cac9b82e6a90d4c0cd954cd37ffb2ed9ad47b056

Authored by Daniela Feitosa
Committed by Antonio Terceiro
1 parent 99a5c48c

ActionItem928: enhancing media listing

app/controllers/my_profile/cms_controller.rb
... ... @@ -212,12 +212,12 @@ class CmsController < MyProfileController
212 212 def media_listing
213 213 if params[:image_folder_id]
214 214 folder = profile.articles.find(params[:image_folder_id]) if !params[:image_folder_id].blank?
215   - @images = (folder ? folder.children : UploadedFile.find(:all, :conditions => ["profile_id = ? AND parent_id is NULL", profile ])).select { |c| c.image? }
  215 + @images = (folder ? folder.children : UploadedFile.find(:all, :order => 'created_at desc', :conditions => ["profile_id = ? AND parent_id is NULL", profile ])).select { |c| c.image? }
216 216 elsif params[:document_folder_id]
217 217 folder = profile.articles.find(params[:document_folder_id]) if !params[:document_folder_id].blank?
218   - @documents = (folder ? folder.children : UploadedFile.find(:all, :conditions => ["profile_id = ? AND parent_id is NULL", profile ])).select { |c| c.kind_of?(UploadedFile) && !c.image? }
  218 + @documents = (folder ? folder.children : UploadedFile.find(:all, :order => 'created_at desc', :conditions => ["profile_id = ? AND parent_id is NULL", profile ])).select { |c| c.kind_of?(UploadedFile) && !c.image? }
219 219 else
220   - @documents = UploadedFile.find(:all, :conditions => ["profile_id = ? AND parent_id is NULL", profile ])
  220 + @documents = UploadedFile.find(:all, :order => 'created_at desc', :conditions => ["profile_id = ? AND parent_id is NULL", profile ])
221 221 @images = @documents.select(&:image?)
222 222 @documents -= @images
223 223 end
... ...
app/helpers/application_helper.rb
... ... @@ -519,8 +519,8 @@ module ApplicationHelper
519 519 content_tag('div', result)
520 520 end
521 521  
522   - def select_folder(object, method, collection, html_options = {}, js_options = {})
523   - labelled_form_field(_('Folder'), select(object, method, collection.map {|f| [ profile.identifier + '/' + f.full_name, f.id ] }, html_options.merge({:include_blank => "#{profile.identifier}"}), js_options))
  522 + def select_folder(label, object, method, collection, html_options = {}, js_options = {})
  523 + labelled_form_field(label, select(object, method, collection.map {|f| [ profile.identifier + '/' + f.full_name, f.id ] }, html_options.merge({:include_blank => "#{profile.identifier}"}), js_options))
524 524 end
525 525  
526 526 def theme_option(opt = nil)
... ...
app/views/cms/media_listing.rhtml
... ... @@ -30,22 +30,9 @@
30 30 }
31 31 registerDocumentSize();
32 32 </script>
33   - <div id='media-listing'>
34   - <div id='media-listing-images'>
35   - <h3><%= _('Images') %></h3>
36   - <%= select_folder('folder', 'image_folder_id', @image_folders, {}, :onchange => remote_function(:with => "'image_folder_id=' + value + '&ipage=1'", :url => { :action => :media_listing, :format => 'js' }) ) %>
37   - <%= render :partial => 'image_thumb', :locals => { :images => @images } %>
38   - </div><!-- id='media-listing-images' -->
39   - <div id='media-listing-documents'>
40   - <h3><%= _('Documents') %></h3>
41   - <%= select_folder('folder', 'document_folder_id', @document_folders, {}, :onchange => remote_function(:with => "'document_folder_id=' + value + '&dpage=1'", :url => { :action => :media_listing }) ) %>
42   - <%= render :partial => 'document_link', :locals => { :documents => @documents } %>
43   - </div><!-- id='media-listing-documents' -->
44   - <br style="clear:both" />
45   - <p><big><%= _('Drag images and documents to add them to the text.') %></big></p>
46   - <br style="clear:both" />
47   - </div><!-- id='media-listing' -->
48 33 <div id='media-listing-upload'>
  34 + <p><%= _("Include files in some folder or select from the list below to add images and documents to the text editor beside (max size %s)") % UploadedFile.max_size.to_humanreadable %></p>
  35 +
49 36 <div id="notice" onclick="Element.hide('notice');" style="display:none">
50 37 <% unless flash[:notice].nil? %>
51 38 <%= flash[:notice] unless flash[:notice].nil? %>
... ... @@ -58,5 +45,22 @@
58 45 <%= render :partial => 'upload_file_form', :locals => { :size => '30' } %>
59 46 <% end %>
60 47 </div><!-- id='media-listing-upload' -->
  48 + <hr/>
  49 + <div id='media-listing'>
  50 + <h3><%= _('Folders') %></h3>
  51 + <p><%= _('Drag images and documents to add them to the text. If needed, resize images by clicking the tree icon on editor.') %></p>
  52 +
  53 + <div id='media-listing-images'>
  54 + <h4><%= _('Images') %></h4>
  55 + <%= select_folder('', 'folder', 'image_folder_id', @image_folders, {}, :onchange => remote_function(:with => "'image_folder_id=' + value + '&ipage=1'", :url => { :action => :media_listing, :format => 'js' }) ) %>
  56 + <%= render :partial => 'image_thumb', :locals => { :images => @images } %>
  57 + </div><!-- id='media-listing-images' -->
  58 + <div id='media-listing-documents'>
  59 + <h4><%= _('Documents') %></h4>
  60 + <%= select_folder('', 'folder', 'document_folder_id', @document_folders, {}, :onchange => remote_function(:with => "'document_folder_id=' + value + '&dpage=1'", :url => { :action => :media_listing }) ) %>
  61 + <%= render :partial => 'document_link', :locals => { :documents => @documents } %>
  62 + </div><!-- id='media-listing-documents' -->
  63 + <br style="clear:both" />
  64 + </div><!-- id='media-listing' -->
61 65 </body>
62 66 </html>
... ...
app/views/tasks/_approve_article.rhtml
... ... @@ -21,7 +21,7 @@
21 21  
22 22 <%= labelled_form_field _('Name for publishing'), f.text_field(:name, :style => 'width:80%;') %>
23 23  
24   - <%= labelled_form_field(_('Select the folder where the article must be published'), select_folder('task', 'article_parent_id', task.target.folders)) %>
  24 + <%= select_folder(_('Select the folder where the article must be published'), 'task', 'article_parent_id', task.target.folders) %>
25 25 <%= labelled_form_field( _('Highlight'), check_box_tag(:highlighted, true)) %>
26 26 <%= labelled_form_field _('Comment for author'), f.text_area(:closing_statment, :style => 'height:200px; width:80%;') %>
27 27  
... ...
public/stylesheets/media_listing.css
... ... @@ -5,12 +5,11 @@ body {
5 5 font-size: 14px;
6 6 color: #444;
7 7 background-color: #F0F0EE;
8   - border: 1px solid #CCC;
9 8 overflow: hidden;
10 9 }
11 10  
12 11 h3, h4, h5 {
13   - margin: 10px 0px;
  12 + margin: 5px 0px;
14 13 }
15 14  
16 15 h3 {
... ... @@ -23,14 +22,16 @@ h4 {
23 22  
24 23 #media-listing {
25 24 width: 100%;
26   - height: 65%;
  25 + height: 48%;
27 26 margin: 0px;
28 27 padding: 0px;
29   - border-bottom: 2px solid #444;
  28 + padding-bottom: 5px;
30 29 }
31 30  
  31 +#media-listing-upload p,
32 32 #media-listing p {
33   - font-size: 14px;
  33 + font-size: 13px;
  34 + font-weight: bold;
34 35 margin: 5px 5px;
35 36 }
36 37  
... ... @@ -48,9 +49,7 @@ h4 {
48 49 }
49 50  
50 51 #media-listing-images {
51   - margin-top: 2px;
52 52 width: 46%;
53   - height: 80%;
54 53 float: left;
55 54 text-align: center;
56 55 }
... ... @@ -66,40 +65,43 @@ h4 {
66 65 height: 60px;
67 66 }
68 67  
69   -#media-listing-folder-images {
70   - height: 75%;
  68 +#media-listing-folder-images,
  69 +#media-listing-folder-documents {
  70 + height: 80%;
71 71 }
72 72  
73 73 #media-listing ul {
74 74 padding: 0px;
75 75 margin: 5px;
76   - height: 65%;
  76 + height: 40%;
77 77 overflow: auto;
78 78 width: 98%;
79 79 }
80 80  
  81 +#media-listing ul {
  82 + height: 85%;
  83 +}
  84 +
  85 +#media-listing-images,
  86 +#media-listing-documents {
  87 + height: 55%;
  88 +}
  89 +
81 90 #media-listing-documents ul {
82 91 text-align: left;
83 92 }
84 93  
85 94 #media-listing-documents {
86   - margin: 2px 0px 0px 2px;
87 95 width: 52%;
88   - height: 80%;
89 96 float: left;
90 97 text-align: center;
91 98 }
92 99  
93   -#media-listing-folder-documents {
94   - height: 75%;
95   -}
96   -
97 100 #media-listing-folder-documents img {
98 101 border: none;
99 102 }
100 103  
101 104 #media-listing-upload {
102   - height: 38%;
103 105 width: 98%;
104 106 padding: 3px;
105 107 }
... ... @@ -116,6 +118,7 @@ h4 {
116 118 overflow-x: hidden;
117 119 overflow-y: scroll;
118 120 height: 100px;
  121 + margin-top: 5px;
119 122 }
120 123  
121 124 .msie #uploaded_files {
... ... @@ -133,7 +136,7 @@ h4 {
133 136 div#notice {
134 137 background: #fee;
135 138 border: 1px solid #933;
136   - bottom: 150px;
  139 + top: 150px;
137 140 color: black;
138 141 cursor: pointer;
139 142 font-weight: bold;
... ...