Commit 224dcf933fcf1abbbdd0e8f3cf1ce53715bc4385
Exists in
master
and in
27 other branches
Merge branch 'stoa' of gitlab.com:colivre/noosfero into feedback
Showing
17 changed files
with
169 additions
and
41 deletions
Show diff stats
app/controllers/my_profile/cms_controller.rb
| @@ -114,7 +114,7 @@ class CmsController < MyProfileController | @@ -114,7 +114,7 @@ class CmsController < MyProfileController | ||
| 114 | @success_back_to = params[:success_back_to] | 114 | @success_back_to = params[:success_back_to] |
| 115 | # user must choose an article type first | 115 | # user must choose an article type first |
| 116 | 116 | ||
| 117 | - @parent = profile.articles.find(params[:parent_id]) if params && params[:parent_id] | 117 | + @parent = profile.articles.find(params[:parent_id]) if params && params[:parent_id].present? |
| 118 | record_coming | 118 | record_coming |
| 119 | @type = params[:type] | 119 | @type = params[:type] |
| 120 | if @type.blank? | 120 | if @type.blank? |
| @@ -159,7 +159,10 @@ class CmsController < MyProfileController | @@ -159,7 +159,10 @@ class CmsController < MyProfileController | ||
| 159 | if continue | 159 | if continue |
| 160 | redirect_to :action => 'edit', :id => @article | 160 | redirect_to :action => 'edit', :id => @article |
| 161 | else | 161 | else |
| 162 | - success_redirect | 162 | + respond_to do |format| |
| 163 | + format.html { success_redirect } | ||
| 164 | + format.json { render :text => {:id => @article.id, :full_name => profile.identifier + '/' + @article.full_name}.to_json } | ||
| 165 | + end | ||
| 163 | end | 166 | end |
| 164 | return | 167 | return |
| 165 | end | 168 | end |
| @@ -477,7 +480,7 @@ class CmsController < MyProfileController | @@ -477,7 +480,7 @@ class CmsController < MyProfileController | ||
| 477 | files = profile.files | 480 | files = profile.files |
| 478 | end | 481 | end |
| 479 | 482 | ||
| 480 | - files = files.more_recent | 483 | + files = files.reorder('created_at DESC') |
| 481 | images = files.images | 484 | images = files.images |
| 482 | generics = files.no_images | 485 | generics = files.no_images |
| 483 | 486 |
app/models/profile_suggestion.rb
| @@ -157,4 +157,22 @@ class ProfileSuggestion < ActiveRecord::Base | @@ -157,4 +157,22 @@ class ProfileSuggestion < ActiveRecord::Base | ||
| 157 | self.save | 157 | self.save |
| 158 | end | 158 | end |
| 159 | 159 | ||
| 160 | + def self.generate_all_profile_suggestions | ||
| 161 | + Delayed::Job.enqueue(ProfileSuggestion::GenerateAllJob.new) unless ProfileSuggestion::GenerateAllJob.exists? | ||
| 162 | + end | ||
| 163 | + | ||
| 164 | + def self.generate_profile_suggestions(person_id) | ||
| 165 | + Delayed::Job.enqueue ProfileSuggestionsJob.new(person_id) unless ProfileSuggestionsJob.exists?(person_id) | ||
| 166 | + end | ||
| 167 | + | ||
| 168 | + class GenerateAllJob | ||
| 169 | + def self.exists? | ||
| 170 | + Delayed::Job.by_handler("--- !ruby/object:ProfileSuggestion::GenerateAllJob {}\n").count > 0 | ||
| 171 | + end | ||
| 172 | + | ||
| 173 | + def perform | ||
| 174 | + Person.find_each {|person| ProfileSuggestion.generate_profile_suggestions(person.id) } | ||
| 175 | + end | ||
| 176 | + end | ||
| 177 | + | ||
| 160 | end | 178 | end |
app/views/admin_panel/_signup_welcome_screen.html.erb
| 1 | <div class='description'> | 1 | <div class='description'> |
| 2 | - <%= _('This text will be showed as a welcome message to users after signup.') %><br/><br/> | 2 | + <%= _('If you enable this feature on the "Features" section of the Administration Panel, this text will be shown as a welcome message to users after signup.') %><br/><br/> |
| 3 | </div> | 3 | </div> |
| 4 | <%= labelled_form_field(_('Body'), text_area(:environment, :signup_welcome_screen_body, :cols => 40, :style => 'width: 100%', :class => 'mceEditor')) %> | 4 | <%= labelled_form_field(_('Body'), text_area(:environment, :signup_welcome_screen_body, :cols => 40, :style => 'width: 100%', :class => 'mceEditor')) %> |
| 5 | 5 | ||
| @@ -8,4 +8,4 @@ | @@ -8,4 +8,4 @@ | ||
| 8 | <%= _('If this content is left blank, the following page will be displayed to the user:') %><br/><br/> | 8 | <%= _('If this content is left blank, the following page will be displayed to the user:') %><br/><br/> |
| 9 | </div> | 9 | </div> |
| 10 | <p> | 10 | <p> |
| 11 | -<%= render :file => 'home/welcome' %> | 11 | +<%= render :file => 'home/welcome', :locals => {:default_message => true} %> |
| @@ -0,0 +1,15 @@ | @@ -0,0 +1,15 @@ | ||
| 1 | +<%= form_tag({:action => 'new', :profile => profile.identifier}, :id => 'new-folder-dialog', :title => _('Create new folder'), :style => 'display: none;') do %> | ||
| 2 | + <%= select_profile_folder( | ||
| 3 | + _('Choose parent folder:'), | ||
| 4 | + :parent_id, profile, default_folder, {}, {}, | ||
| 5 | + "type='Folder' or type='Gallery'") | ||
| 6 | + %> | ||
| 7 | + | ||
| 8 | + <%= content_tag(:label, radio_button_tag(:folder_type, 'Gallery', true) + _('Gallery')) %> | ||
| 9 | + <%= content_tag(:label, radio_button_tag(:folder_type, 'Folder', false) + _('Folder')) %> | ||
| 10 | + | ||
| 11 | + <%= labelled_form_field _('Name:'), text_field_tag(:new_folder, nil, 'data-url' => url_for({:action => 'new', :profile => profile.identifier})) %> | ||
| 12 | + <% button_bar do %> | ||
| 13 | + <%= submit_button(:newfolder, _('Create')) %> | ||
| 14 | + <% end %> | ||
| 15 | +<% end %> |
app/views/cms/_text_editor_sidebar.html.erb
| 1 | +<% default_folder = content_id_to_str default_folder_for_image_upload(profile) %> | ||
| 2 | + | ||
| 1 | <div class='text-editor-sidebar'> | 3 | <div class='text-editor-sidebar'> |
| 2 | <span class='button-add' data-value='<%= _('Add to the text') %>'></span> | 4 | <span class='button-add' data-value='<%= _('Add to the text') %>'></span> |
| 3 | <span class='button-zoom' data-value='<%= _('Zoom in') %>'></span> | 5 | <span class='button-zoom' data-value='<%= _('Zoom in') %>'></span> |
| 4 | <span class='button-close' data-value='<%= _('Close') %>'></span> | 6 | <span class='button-close' data-value='<%= _('Close') %>'></span> |
| 5 | 7 | ||
| 8 | + <div class='header'><strong><%= _('Insert media') %></strong><%= button('vertical-toggle', _('Show/Hide'), '#') %></div> | ||
| 9 | + | ||
| 6 | <%= render(:partial => 'textile_quick_reference') if @article.is_a?(TextileArticle) %> | 10 | <%= render(:partial => 'textile_quick_reference') if @article.is_a?(TextileArticle) %> |
| 7 | <div class='text-editor-sidebar-box' id='media-upload-box'> | 11 | <div class='text-editor-sidebar-box' id='media-upload-box'> |
| 8 | - <div class='header'><strong><%= _('Insert media') %></strong></div> | ||
| 9 | <div id='media-upload-form'> | 12 | <div id='media-upload-form'> |
| 10 | <%= form_tag({ :action => 'media_upload' }, :multipart => true) do %> | 13 | <%= form_tag({ :action => 'media_upload' }, :multipart => true) do %> |
| 11 | <div class='formfield'> | 14 | <div class='formfield'> |
| 12 | - <% default_folder = content_id_to_str default_folder_for_image_upload(profile) %> | ||
| 13 | <%= select_profile_folder( | 15 | <%= select_profile_folder( |
| 14 | _('Choose folder to upload files:'), | 16 | _('Choose folder to upload files:'), |
| 15 | :parent_id, profile, default_folder, {}, {}, | 17 | :parent_id, profile, default_folder, {}, {}, |
| 16 | "type='Folder' or type='Gallery'" | 18 | "type='Folder' or type='Gallery'" |
| 17 | ) %> | 19 | ) %> |
| 18 | </div> | 20 | </div> |
| 21 | + <%= button(:newfolder, _('New folder'), '#', :id => 'new-folder-button') %> | ||
| 19 | <p><%= file_field_tag('file', :multiple => true) %></p> | 22 | <p><%= file_field_tag('file', :multiple => true) %></p> |
| 20 | <% end %> | 23 | <% end %> |
| 21 | </div> | 24 | </div> |
| @@ -26,7 +29,6 @@ | @@ -26,7 +29,6 @@ | ||
| 26 | </div> | 29 | </div> |
| 27 | 30 | ||
| 28 | <div id='published-media' class='text-editor-sidebar-box' data-url='<%= url_for({:controller => 'cms', :action => 'published_media_items', :profile => profile.identifier}) %>'> | 31 | <div id='published-media' class='text-editor-sidebar-box' data-url='<%= url_for({:controller => 'cms', :action => 'published_media_items', :profile => profile.identifier}) %>'> |
| 29 | - <div class='header'><strong><%= _('Published media') %></strong></div> | ||
| 30 | <%= select_profile_folder(nil, :parent_id, profile, 'recent-media', {}, {}, | 32 | <%= select_profile_folder(nil, :parent_id, profile, 'recent-media', {}, {}, |
| 31 | "type='Folder' or type='Gallery'", {:root_label => _('Recent media')}) %> | 33 | "type='Folder' or type='Gallery'", {:root_label => _('Recent media')}) %> |
| 32 | <%= labelled_form_field _('Search'), text_field_tag('q') %> | 34 | <%= labelled_form_field _('Search'), text_field_tag('q') %> |
| @@ -45,4 +47,5 @@ | @@ -45,4 +47,5 @@ | ||
| 45 | </div> | 47 | </div> |
| 46 | </script> | 48 | </script> |
| 47 | 49 | ||
| 50 | +<%= render :partial => 'media_new_folder', :locals => {:default_folder => default_folder} %> | ||
| 48 | <%= javascript_include_tag 'jquery.fileupload.js', 'tmpl.js', 'media-panel.js' %> | 51 | <%= javascript_include_tag 'jquery.fileupload.js', 'tmpl.js', 'media-panel.js' %> |
app/views/cms/media_upload.js.erb
app/views/enterprise_registration/creation.html.erb
| 1 | -<h1><%= __('Enterprise registration completed') %></h1> | ||
| 2 | -<p><%= __("Your enterprise (%s) was successfully registered.") % @enterprise.name %></p> | ||
| 3 | -<p><%= link_to __('You can manage your enterprise now.'), @enterprise.admin_url %></p> | 1 | +<h1><%= _('Enterprise registration completed') %></h1> |
| 2 | +<p><%= _("Your enterprise (%s) was successfully registered.") % @enterprise.name %></p> | ||
| 3 | +<p><%= link_to _('You can manage your enterprise now.'), @enterprise.admin_url %></p> | ||
| 4 | 4 | ||
| 5 | <%= render :partial => 'shared/template_welcome_page', :locals => {:template => @enterprise.template, :header => _("What can I do with a %s?")} %> | 5 | <%= render :partial => 'shared/template_welcome_page', :locals => {:template => @enterprise.template, :header => _("What can I do with a %s?")} %> |
| 6 | 6 |
app/views/home/welcome.html.erb
| 1 | +<% default_message = defined?(default_message) ? default_message : false %> | ||
| 2 | + | ||
| 1 | <div id='thanks-for-signing'> | 3 | <div id='thanks-for-signing'> |
| 2 | <h1><%= _("Welcome to %s!") % environment.name %></h1> | 4 | <h1><%= _("Welcome to %s!") % environment.name %></h1> |
| 3 | - <% if environment.has_custom_welcome_screen? %> | 5 | + <% if environment.has_custom_welcome_screen? && !default_message %> |
| 4 | <%= environment.settings[:signup_welcome_screen_body].html_safe %> | 6 | <%= environment.settings[:signup_welcome_screen_body].html_safe %> |
| 5 | <% else %> | 7 | <% else %> |
| 6 | <h3><%= _("Thanks for signing up, we're thrilled to have you on our social network!") %></h3> | 8 | <h3><%= _("Thanks for signing up, we're thrilled to have you on our social network!") %></h3> |
app/views/memberships/welcome.html.erb
| 1 | -<h1><%= __('Community created') %></h1> | ||
| 2 | -<p><%= __("Your community (%s) was successfully created.") % @community.name %></p> | ||
| 3 | -<p><%= link_to __('You can manage your community now.'), @community.admin_url %></p> | 1 | +<h1><%= _('Community created') %></h1> |
| 2 | +<p><%= _("Your community (%s) was successfully created.") % @community.name %></p> | ||
| 3 | +<p><%= link_to _('You can manage your community now.'), @community.admin_url %></p> | ||
| 4 | 4 | ||
| 5 | <%= render :partial => 'shared/template_welcome_page', :locals => {:template => @community.template, :header => _("What can I do with a %s?")} %> | 5 | <%= render :partial => 'shared/template_welcome_page', :locals => {:template => @community.template, :header => _("What can I do with a %s?")} %> |
| 6 | 6 |
app/views/profile_editor/welcome_page.html.erb
| 1 | <h1><%= _('Edit welcome page') %></h1> | 1 | <h1><%= _('Edit welcome page') %></h1> |
| 2 | 2 | ||
| 3 | -<% labelled_form_for :welcome_page, @welcome_page do |f| %> | 3 | +<%= labelled_form_for :welcome_page do |f| %> |
| 4 | <%= error_messages_for :welcome_page %> | 4 | <%= error_messages_for :welcome_page %> |
| 5 | 5 | ||
| 6 | <%= f.check_box(:published) %> | 6 | <%= f.check_box(:published) %> |
app/views/shared/_lead_and_body.html.erb
| @@ -20,16 +20,16 @@ | @@ -20,16 +20,16 @@ | ||
| 20 | <div class='article-lead' id="article-lead-<%=lead_id.to_s%>"> | 20 | <div class='article-lead' id="article-lead-<%=lead_id.to_s%>"> |
| 21 | 21 | ||
| 22 | <% if f %> | 22 | <% if f %> |
| 23 | - <%= labelled_form_field(_(abstract_label), f.text_area(abstract_method, :style => 'width: 98%; height: 200px;', :class => editor_type)) %> | 23 | + <%= labelled_form_field(_(abstract_label), f.text_area(abstract_method, :style => 'width: 100%; height: 200px;', :class => editor_type)) %> |
| 24 | <% else %> | 24 | <% else %> |
| 25 | - <%= labelled_form_field(_(abstract_label), text_area(object, abstract_method, :style => 'width: 98%; height: 200px;', :class => editor_type)) %> | 25 | + <%= labelled_form_field(_(abstract_label), text_area(object, abstract_method, :style => 'width: 100%; height: 200px;', :class => editor_type)) %> |
| 26 | <% end %> | 26 | <% end %> |
| 27 | </div> | 27 | </div> |
| 28 | <div style="margin-top: 10px;"> | 28 | <div style="margin-top: 10px;"> |
| 29 | <% if f %> | 29 | <% if f %> |
| 30 | - <%= labelled_form_field(_(body_label), f.text_area(body_method, :style => 'width: 98%; height: 400px;', :class => editor_type)) %> | 30 | + <%= labelled_form_field(_(body_label), f.text_area(body_method, :style => 'width: 100%; height: 400px;', :class => editor_type)) %> |
| 31 | <% else %> | 31 | <% else %> |
| 32 | - <%= labelled_form_field(_(body_label), text_area(object, body_method, :style => 'width: 98%; height: 400px;', :class => editor_type)) %> | 32 | + <%= labelled_form_field(_(body_label), text_area(object, body_method, :style => 'width: 100%; height: 400px;', :class => editor_type)) %> |
| 33 | <% end %> | 33 | <% end %> |
| 34 | </div> | 34 | </div> |
| 35 | 35 |
config/schedule.rb
| @@ -26,3 +26,7 @@ set :output, "log/cron.log" | @@ -26,3 +26,7 @@ set :output, "log/cron.log" | ||
| 26 | every 1.minute do | 26 | every 1.minute do |
| 27 | runner "SearchTerm.calculate_scores" | 27 | runner "SearchTerm.calculate_scores" |
| 28 | end | 28 | end |
| 29 | + | ||
| 30 | +every 90.days do | ||
| 31 | + runner "ProfileSuggestion.generate_all_profile_suggestions" | ||
| 32 | +end |
lib/profile_suggestions_job.rb
| 1 | class ProfileSuggestionsJob < Struct.new(:person_id) | 1 | class ProfileSuggestionsJob < Struct.new(:person_id) |
| 2 | 2 | ||
| 3 | + def self.exists?(person_id) | ||
| 4 | + !find(person_id).empty? | ||
| 5 | + end | ||
| 6 | + | ||
| 7 | + def self.find(person_id) | ||
| 8 | + Delayed::Job.by_handler("--- !ruby/struct:ProfileSuggestionsJob\nperson_id: #{person_id}\n") | ||
| 9 | + end | ||
| 10 | + | ||
| 3 | def perform | 11 | def perform |
| 12 | + logger = Delayed::Worker.logger | ||
| 4 | begin | 13 | begin |
| 5 | person = Person.find(person_id) | 14 | person = Person.find(person_id) |
| 6 | 15 | ||
| 7 | ProfileSuggestion::RULES.each do |rule| | 16 | ProfileSuggestion::RULES.each do |rule| |
| 8 | ProfileSuggestion.send(rule, person) | 17 | ProfileSuggestion.send(rule, person) |
| 9 | end | 18 | end |
| 10 | - | ||
| 11 | UserMailer.profiles_suggestions_email(person).deliver | 19 | UserMailer.profiles_suggestions_email(person).deliver |
| 12 | rescue Exception => exception | 20 | rescue Exception => exception |
| 13 | - Rails.logger.warn("Error with suggestions for person ID %d\n%s" % [person_id, exception.to_s]) | 21 | + logger.warn("Error with suggestions for person ID %d: %s" % [person_id, exception.to_s]) |
| 14 | end | 22 | end |
| 15 | end | 23 | end |
| 16 | 24 |
public/designs/icons/tango/style.css
| @@ -72,6 +72,7 @@ | @@ -72,6 +72,7 @@ | ||
| 72 | .icon-newupload-file { background-image: url(Tango/16x16/actions/filesave.png) } | 72 | .icon-newupload-file { background-image: url(Tango/16x16/actions/filesave.png) } |
| 73 | .icon-slideshow { background-image: url(Tango/16x16/mimetypes/x-office-presentation.png) } | 73 | .icon-slideshow { background-image: url(Tango/16x16/mimetypes/x-office-presentation.png) } |
| 74 | .icon-photos { background-image: url(Tango/16x16/devices/camera-photo.png) } | 74 | .icon-photos { background-image: url(Tango/16x16/devices/camera-photo.png) } |
| 75 | +.icon-vertical-toggle { background-image: url(Tango/16x16/actions/mail-send-receive.png) } | ||
| 75 | 76 | ||
| 76 | .icon-text-html { background-image: url(Tango/16x16/mimetypes/text-html.png) } | 77 | .icon-text-html { background-image: url(Tango/16x16/mimetypes/text-html.png) } |
| 77 | .icon-text-plain { background-image: url(Tango/16x16/mimetypes/text-x-generic.png) } | 78 | .icon-text-plain { background-image: url(Tango/16x16/mimetypes/text-x-generic.png) } |
public/javascripts/article.js
| @@ -74,9 +74,9 @@ jQuery(function($) { | @@ -74,9 +74,9 @@ jQuery(function($) { | ||
| 74 | } | 74 | } |
| 75 | } | 75 | } |
| 76 | 76 | ||
| 77 | - function zoom_dialog_html(img) { | 77 | + function zoom_dialog_html(name, img) { |
| 78 | // FIXME organize this code better | 78 | // FIXME organize this code better |
| 79 | - return '<div class="item" data-item="div"><div><img src="' + img + '" style="max-width: 640px; max-height: 480px"/></div>' + '<div class="button-bar">' + add_to_text_button('with-text') + ' ' + close_button('with-text') + '</div></div>' | 79 | + return '<h3 style="text-align: center;">'+ name +'</h3><div class="item" data-item="div"><div><img src="' + img + '" style="max-width: 640px; max-height: 480px"/></div>' + '<div class="button-bar">' + add_to_text_button('with-text') + ' ' + close_button('with-text') + '</div></div>' |
| 80 | } | 80 | } |
| 81 | 81 | ||
| 82 | $('.view-all-images .item').live('click', function(){ | 82 | $('.view-all-images .item').live('click', function(){ |
| @@ -94,9 +94,10 @@ jQuery(function($) { | @@ -94,9 +94,10 @@ jQuery(function($) { | ||
| 94 | $('a.zoom').live('click', function() { | 94 | $('a.zoom').live('click', function() { |
| 95 | var $item = $(this).closest('.item'); | 95 | var $item = $(this).closest('.item'); |
| 96 | var html_selector = $item.attr('data-item'); | 96 | var html_selector = $item.attr('data-item'); |
| 97 | + var name = $item.attr('title'); | ||
| 97 | var img = $item.find(html_selector).find('img').attr('src'); | 98 | var img = $item.find(html_selector).find('img').attr('src'); |
| 98 | $.colorbox({ | 99 | $.colorbox({ |
| 99 | - html: zoom_dialog_html(img), | 100 | + html: zoom_dialog_html(name, img), |
| 100 | scrolling: false | 101 | scrolling: false |
| 101 | }); | 102 | }); |
| 102 | return false; | 103 | return false; |
public/javascripts/media-panel.js
| @@ -84,3 +84,45 @@ jQuery("#published-media #q").typeWatch({ | @@ -84,3 +84,45 @@ jQuery("#published-media #q").typeWatch({ | ||
| 84 | }); | 84 | }); |
| 85 | 85 | ||
| 86 | jQuery("#published-media #q").bind('notext', function(){ loadPublishedMedia() }); | 86 | jQuery("#published-media #q").bind('notext', function(){ loadPublishedMedia() }); |
| 87 | + | ||
| 88 | +jQuery("#new-folder-dialog").submit(function( event ) { | ||
| 89 | + var name = jQuery('#new_folder').val(); | ||
| 90 | + var parent_id = jQuery("#new-folder-dialog #parent_id").val(); | ||
| 91 | + jQuery("#media-upload-box #parent_id").val(); | ||
| 92 | + jQuery.ajax({ | ||
| 93 | + url: this.action, | ||
| 94 | + type: 'POST', | ||
| 95 | + data: { | ||
| 96 | + 'parent_id': parent_id, | ||
| 97 | + 'article': {'name': name, 'published': true}, | ||
| 98 | + 'type': jQuery('input[name=folder_type]:checked').val() }, | ||
| 99 | + dataType: 'json', | ||
| 100 | + beforeSend: function(){jQuery("#new-folder-dialog").addClass('fetching')}, | ||
| 101 | + success: function(response) { | ||
| 102 | + var option_selected = "<option value='"+ response.id +"' selected='selected'>"+ response.full_name +"</options>" | ||
| 103 | + var option = "<option value='"+ response.id +"'>"+ response.full_name +"</options>" | ||
| 104 | + jQuery('#media-upload-form #parent_id').append(option_selected); | ||
| 105 | + jQuery('#published-media #parent_id').append(option); | ||
| 106 | + jQuery('#new_folder').val(''); | ||
| 107 | + }, | ||
| 108 | + error: function(response, textStatus, xhr) { | ||
| 109 | + console.log(response); | ||
| 110 | + console.log(textStatus); | ||
| 111 | + }, | ||
| 112 | + complete: function(response){ | ||
| 113 | + jQuery("#new-folder-dialog").removeClass('fetching'); | ||
| 114 | + jQuery("#new-folder-dialog").dialog('close'); | ||
| 115 | + } | ||
| 116 | + }); | ||
| 117 | + return false; | ||
| 118 | +}); | ||
| 119 | + | ||
| 120 | +jQuery('.text-editor-sidebar .header .icon-vertical-toggle').click(function(){ | ||
| 121 | + jQuery('#content').toggleClass('show-media-panel'); | ||
| 122 | + return false; | ||
| 123 | +}); | ||
| 124 | + | ||
| 125 | +jQuery('#new-folder-button').click(function(){ | ||
| 126 | + jQuery('#new-folder-dialog').dialog({modal: true}); | ||
| 127 | + return false; | ||
| 128 | +}); |
public/stylesheets/application.css
| @@ -3443,11 +3443,18 @@ table.cms-articles .icon:hover { | @@ -3443,11 +3443,18 @@ table.cms-articles .icon:hover { | ||
| 3443 | 3443 | ||
| 3444 | /* Text editors sidebar */ | 3444 | /* Text editors sidebar */ |
| 3445 | 3445 | ||
| 3446 | -.controller-cms div.with_media_panel { | 3446 | +.controller-cms .with_media_panel { |
| 3447 | float: left; | 3447 | float: left; |
| 3448 | + width: 900px; | ||
| 3449 | + transition: 1s 0.5s; | ||
| 3450 | +} | ||
| 3451 | + | ||
| 3452 | +.controller-cms .show-media-panel .with_media_panel { | ||
| 3448 | width: 600px; | 3453 | width: 600px; |
| 3454 | + transition: 1s; | ||
| 3449 | } | 3455 | } |
| 3450 | -div.with_media_panel .formfield input[type="checkbox"] { | 3456 | + |
| 3457 | +.with_media_panel .formfield input[type="checkbox"] { | ||
| 3451 | width: auto; | 3458 | width: auto; |
| 3452 | } | 3459 | } |
| 3453 | 3460 | ||
| @@ -3466,6 +3473,11 @@ div.with_media_panel .formfield input[type="checkbox"] { | @@ -3466,6 +3473,11 @@ div.with_media_panel .formfield input[type="checkbox"] { | ||
| 3466 | float: right; | 3473 | float: right; |
| 3467 | } | 3474 | } |
| 3468 | 3475 | ||
| 3476 | +#media-upload-form .progress { | ||
| 3477 | + background-color: #ddd; | ||
| 3478 | + border-radius: 3px; | ||
| 3479 | +} | ||
| 3480 | + | ||
| 3469 | #media-upload-form .bar { | 3481 | #media-upload-form .bar { |
| 3470 | height: 10px; | 3482 | height: 10px; |
| 3471 | background: #729fcf; | 3483 | background: #729fcf; |
| @@ -3496,13 +3508,14 @@ div.with_media_panel .formfield input[type="checkbox"] { | @@ -3496,13 +3508,14 @@ div.with_media_panel .formfield input[type="checkbox"] { | ||
| 3496 | } | 3508 | } |
| 3497 | 3509 | ||
| 3498 | #media-upload-box .upload .file-name{ | 3510 | #media-upload-box .upload .file-name{ |
| 3499 | - width: 87%; | 3511 | + width: 86%; |
| 3500 | white-space: nowrap; | 3512 | white-space: nowrap; |
| 3501 | overflow: hidden; | 3513 | overflow: hidden; |
| 3502 | text-overflow: ellipsis; | 3514 | text-overflow: ellipsis; |
| 3503 | } | 3515 | } |
| 3504 | 3516 | ||
| 3505 | #media-upload-box .upload .percentage { | 3517 | #media-upload-box .upload .percentage { |
| 3518 | + text-align: right; | ||
| 3506 | width: 12%; | 3519 | width: 12%; |
| 3507 | } | 3520 | } |
| 3508 | 3521 | ||
| @@ -3512,6 +3525,14 @@ div.with_media_panel .formfield input[type="checkbox"] { | @@ -3512,6 +3525,14 @@ div.with_media_panel .formfield input[type="checkbox"] { | ||
| 3512 | width: 280px; | 3525 | width: 280px; |
| 3513 | right: 20px; | 3526 | right: 20px; |
| 3514 | top: 70px; | 3527 | top: 70px; |
| 3528 | + max-height: 45px; | ||
| 3529 | + overflow: hidden; | ||
| 3530 | + transition: 1s; | ||
| 3531 | +} | ||
| 3532 | + | ||
| 3533 | +.show-media-panel .text-editor-sidebar { | ||
| 3534 | + max-height: 1200px; | ||
| 3535 | + transition: 1s 0.5s; | ||
| 3515 | } | 3536 | } |
| 3516 | 3537 | ||
| 3517 | .text-editor-sidebar-box { | 3538 | .text-editor-sidebar-box { |
| @@ -3521,12 +3542,23 @@ div.with_media_panel .formfield input[type="checkbox"] { | @@ -3521,12 +3542,23 @@ div.with_media_panel .formfield input[type="checkbox"] { | ||
| 3521 | margin-bottom: 10px; | 3542 | margin-bottom: 10px; |
| 3522 | } | 3543 | } |
| 3523 | 3544 | ||
| 3524 | -.text-editor-sidebar-box .header { | ||
| 3525 | - margin: -10px -10px 0px -10px; | ||
| 3526 | - padding: 10px; | ||
| 3527 | - font-weight: bold; | ||
| 3528 | - border-bottom: 1px solid #d3d7cf; | ||
| 3529 | - background-color: #eeeeec; | 3545 | +.text-editor-sidebar .header { |
| 3546 | + margin: 0 0 10px 0; | ||
| 3547 | + padding: 10px; | ||
| 3548 | + font-weight: bold; | ||
| 3549 | + border: 1px solid #d3d7cf; | ||
| 3550 | + background-color: #eeeeec; | ||
| 3551 | + background-repeat: no-repeat; | ||
| 3552 | + background-position: 98% 10px; | ||
| 3553 | + position: relative; | ||
| 3554 | +} | ||
| 3555 | + | ||
| 3556 | +.text-editor-sidebar .header .icon-vertical-toggle { | ||
| 3557 | + position: absolute; | ||
| 3558 | + right: 6px; | ||
| 3559 | + top: 6px; | ||
| 3560 | + padding-top: 0px; | ||
| 3561 | + padding-bottom: 0px; | ||
| 3530 | } | 3562 | } |
| 3531 | 3563 | ||
| 3532 | .text-editor-sidebar code, | 3564 | .text-editor-sidebar code, |
| @@ -3601,6 +3633,7 @@ div.with_media_panel .formfield input[type="checkbox"] { | @@ -3601,6 +3633,7 @@ div.with_media_panel .formfield input[type="checkbox"] { | ||
| 3601 | .text-editor-sidebar select, | 3633 | .text-editor-sidebar select, |
| 3602 | .text-editor-sidebar input { | 3634 | .text-editor-sidebar input { |
| 3603 | width: 100%; | 3635 | width: 100%; |
| 3636 | + margin-bottom: 5px; | ||
| 3604 | } | 3637 | } |
| 3605 | 3638 | ||
| 3606 | .text-editor-sidebar .items :hover, | 3639 | .text-editor-sidebar .items :hover, |
| @@ -3639,10 +3672,6 @@ div.with_media_panel .formfield input[type="checkbox"] { | @@ -3639,10 +3672,6 @@ div.with_media_panel .formfield input[type="checkbox"] { | ||
| 3639 | margin-top: 4px; | 3672 | margin-top: 4px; |
| 3640 | } | 3673 | } |
| 3641 | 3674 | ||
| 3642 | -.text-editor-sidebar .header { | ||
| 3643 | - background-repeat: no-repeat; | ||
| 3644 | - background-position: 98% 10px; | ||
| 3645 | -} | ||
| 3646 | .text-editor-sidebar .media-upload-error { | 3675 | .text-editor-sidebar .media-upload-error { |
| 3647 | color: red; | 3676 | color: red; |
| 3648 | } | 3677 | } |
| @@ -6918,3 +6947,7 @@ li.profile-activity-item.upload_image .activity-gallery-images-count-1 img { | @@ -6918,3 +6947,7 @@ li.profile-activity-item.upload_image .activity-gallery-images-count-1 img { | ||
| 6918 | .fetching { | 6947 | .fetching { |
| 6919 | opacity: 0.3; | 6948 | opacity: 0.3; |
| 6920 | } | 6949 | } |
| 6950 | + | ||
| 6951 | +body .ui-widget-overlay { | ||
| 6952 | + background: #000; | ||
| 6953 | +} |