[noosfero/noosfero][next] 10 commits: Merge branch 'master' into not_destroy_user_with_moderate_task

Antonio Terceiro gitlab at gitlab.com
Thu Mar 19 14:27:59 BRT 2015


Antonio Terceiro pushed to next at Noosfero / noosfero


Commits:
e5fb01d6 by Leandro Nunes dos Santos at 2015-03-17T22:31:31Z
Merge branch 'master' into not_destroy_user_with_moderate_task

- - - - -
6442ffa5 by Leandro Nunes dos Santos at 2015-03-17T23:20:58Z
Merge branch 'master' of gitlab.com:noosfero/noosfero

- - - - -
e8e5c33a by Victor Costa at 2015-03-16T10:28:31Z
Do not destroy an user that has a pending ModerateUserRegistration task

- - - - -
997ef39a by Leandro Nunes at 2015-03-18T02:20:19Z
Merge branch 'not_destroy_user_with_moderate_task' into 'master'

 Not destroy an user that has a pending ModerateUserRegistration task

See merge request !506

- - - - -
1e4cabef by Braulio Bhavamitra at 2015-03-18T09:17:55Z
Revert "layout: remove tag on metadata_plugin"

This reverts commit e99db083e4bb10047cc8b543bbc5151abbe36372.

- - - - -
da29b595 by Braulio Bhavamitra at 2015-03-18T16:38:38Z
pg_search: fix down on migration

- - - - -
57af24ad by Victor Costa at 2015-03-19T13:45:48Z
Merge branch 'master' of gitlab.com:noosfero/noosfero

- - - - -
daa97893 by Victor Costa at 2015-03-19T13:52:45Z
Do not apply zoom in images with disable-zoom class

- - - - -
2e81bdc6 by Antonio Terceiro at 2015-03-19T14:13:06Z
Merge branch 'master' into next

- - - - -
5de43a78 by Gabriela Navarro at 2015-03-19T14:26:54Z
Add option to make it possible to show the article's section name.

Signed-off-by: David Carlos <ddavidcarlos1392 at gmail.com>
Signed-off-by: Gabriela Navarro <navarro1703 at gmail.com>
Signed-off-by: Antonio Terceiro <terceiro at colivre.coop.br>

See merge request !489

- - - - -


11 changed files:

- app/models/user.rb
- app/views/layouts/application-ng.html.erb
- lib/user_activation_job.rb
- plugins/breadcrumbs/lib/breadcrumbs_plugin/content_breadcrumbs_block.rb
- plugins/breadcrumbs/test/functional/profile_design_controller_test.rb
- plugins/breadcrumbs/views/box_organizer/breadcrumbs_plugin/_content_breadcrumbs_block.html.erb
- plugins/metadata/lib/ext/environment.rb
- plugins/pg_search/db/migrate/20130320010063_create_indexes_for_search.rb
- public/javascripts/application.js
- test/unit/user_activation_job_test.rb
- test/unit/user_test.rb


Changes:

=====================================
app/models/user.rb
=====================================
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -159,6 +159,7 @@ class User < ActiveRecord::Base
     @task.name = self.name
     @task.email = self.email
     @task.target = self.environment
+    @task.requestor = self.person
     @task.save
   end
 
@@ -301,6 +302,10 @@ class User < ActiveRecord::Base
     end
   end
 
+  def moderate_registration_pending?
+    return ModerateUserRegistration.exists?(:requestor_id => self.person.id, :target_id => self.environment.id, :status => Task::Status::ACTIVE)
+  end
+
   def data_hash(gravatar_default = nil)
     friends_list = {}
     enterprises = person.enterprises.map { |e| { 'name' => e.short_name, 'identifier' => e.identifier } }

=====================================
app/views/layouts/application-ng.html.erb
=====================================
--- a/app/views/layouts/application-ng.html.erb
+++ b/app/views/layouts/application-ng.html.erb
@@ -6,6 +6,10 @@
     <!--<meta http-equiv="refresh" content="1"/>-->
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
 
+    <% unless defined? MetadataPlugin and environment.enabled_plugins.include? 'MetadataPlugin' %>
+      <meta name="description" content="<%= @environment.name %>" />
+    <% end %>
+
     <!-- site root -->
     <meta property="noosfero:root" content="<%= Noosfero.root %>"/>
 

=====================================
lib/user_activation_job.rb
=====================================
--- a/lib/user_activation_job.rb
+++ b/lib/user_activation_job.rb
@@ -1,6 +1,6 @@
 class UserActivationJob < Struct.new(:user_id)
   def perform
     user = User.find(user_id)
-    user.destroy unless user.activated? || user.person.is_template?
+    user.destroy unless user.activated? || user.person.is_template? || user.moderate_registration_pending?
   end
 end

=====================================
plugins/breadcrumbs/lib/breadcrumbs_plugin/content_breadcrumbs_block.rb
=====================================
--- a/plugins/breadcrumbs/lib/breadcrumbs_plugin/content_breadcrumbs_block.rb
+++ b/plugins/breadcrumbs/lib/breadcrumbs_plugin/content_breadcrumbs_block.rb
@@ -2,8 +2,9 @@ class BreadcrumbsPlugin::ContentBreadcrumbsBlock < Block
 
   settings_items :show_cms_action, :type => :boolean, :default => true
   settings_items :show_profile, :type => :boolean, :default => true
+  settings_items :show_section_name, :type => :boolean, :default => true
 
-  attr_accessible :show_cms_action, :show_profile
+  attr_accessible :show_cms_action, :show_profile, :show_section_name
 
   def self.description
     _('Content Breadcrumbs')
@@ -40,7 +41,18 @@ class BreadcrumbsPlugin::ContentBreadcrumbsBlock < Block
     proc do
       trail = block.trail(@page, @profile, params)
       if !trail.empty?
-        trail.map { |t| link_to(t[:name], t[:url], :class => 'item') }.join(content_tag('span', ' > ', :class => 'separator'))
+        separator = content_tag('span', ' > ', :class => 'separator')
+
+        breadcrumb = trail.map do |t|
+          link_to(t[:name], t[:url], :class => 'item')
+        end.join(separator)
+
+        if block.show_section_name
+          section_name = block.show_profile ? trail.second[:name] : trail.first[:name]
+          breadcrumb << content_tag('div', section_name, :class => 'section-name')
+        end
+
+        breadcrumb
       else
         ''
       end

=====================================
plugins/breadcrumbs/test/functional/profile_design_controller_test.rb
=====================================
--- a/plugins/breadcrumbs/test/functional/profile_design_controller_test.rb
+++ b/plugins/breadcrumbs/test/functional/profile_design_controller_test.rb
@@ -41,4 +41,9 @@ class ProfileDesignControllerTest < ActionController::TestCase
     assert !@block.show_cms_action
   end
 
+  should 'be able save breadcrumbs block with show_section_name option' do
+    get :edit, :id => @block.id, :profile => @profile.identifier
+    post :save, :id => @block.id, :profile => @profile.identifier, :block => {:title => 'breadcrumbs', :show_cms_action => false, :show_profile => true, :show_section_name => true }
+    assert @block.show_section_name
+  end
 end

=====================================
plugins/breadcrumbs/views/box_organizer/breadcrumbs_plugin/_content_breadcrumbs_block.html.erb
=====================================
--- a/plugins/breadcrumbs/views/box_organizer/breadcrumbs_plugin/_content_breadcrumbs_block.html.erb
+++ b/plugins/breadcrumbs/views/box_organizer/breadcrumbs_plugin/_content_breadcrumbs_block.html.erb
@@ -1,4 +1,5 @@
 <div id='edit-breadcrumbs-block'>
   <%= labelled_form_field check_box(:block, :show_cms_action) + _('Show cms action'), '' %>
   <%= labelled_form_field check_box(:block, :show_profile) + _('Show profile'), '' %>
+  <%= labelled_form_field check_box(:block, :show_section_name) + _('Show section name'), '' %>
 </div>

=====================================
plugins/metadata/lib/ext/environment.rb
=====================================
--- a/plugins/metadata/lib/ext/environment.rb
+++ b/plugins/metadata/lib/ext/environment.rb
@@ -2,6 +2,10 @@ require_dependency 'environment'
 
 class Environment
 
+  metadata_spec tags: {
+    description: proc{ |e, plugin| e.name },
+  }
+
   metadata_spec namespace: :og, tags: {
     type: 'website',
     title: proc{ |e, plugin| e.name },

=====================================
plugins/pg_search/db/migrate/20130320010063_create_indexes_for_search.rb
=====================================
--- a/plugins/pg_search/db/migrate/20130320010063_create_indexes_for_search.rb
+++ b/plugins/pg_search/db/migrate/20130320010063_create_indexes_for_search.rb
@@ -1,15 +1,15 @@
 class CreateIndexesForSearch < ActiveRecord::Migration
+  SEARCHABLES = %w[ article comment qualifier national_region certifier profile license scrap category ]
+  KLASSES = SEARCHABLES.map {|searchable| searchable.camelize.constantize }
   def self.up
-    searchables = %w[ article comment qualifier national_region certifier profile license scrap category ]
-    klasses = searchables.map {|searchable| searchable.camelize.constantize }
-    klasses.each do |klass|
+    KLASSES.each do |klass|
       fields = klass.pg_search_plugin_fields
       execute "create index pg_search_plugin_#{klass.name.singularize.downcase} on #{klass.table_name} using gin(to_tsvector('simple', #{fields}))"
     end
   end
 
   def self.down
-    klasses.each do |klass|
+    KLASSES.each do |klass|
       execute "drop index pg_search_plugin_#{klass.name.singularize.downcase}"
     end
   end

=====================================
public/javascripts/application.js
=====================================
--- a/public/javascripts/application.js
+++ b/public/javascripts/application.js
@@ -1064,7 +1064,7 @@ jQuery(document).ready(function(){
 function apply_zoom_to_images(zoom_text) {
   jQuery(function($) {
     $(window).load( function() {
-      $('#article .article-body img').each( function(index) {
+      $('#article .article-body img:not(.disable-zoom)').each( function(index) {
         var original = original_image_dimensions($(this).attr('src'));
         if ($(this).width() < original['width'] || $(this).height() < original['height']) {
           $(this).wrap('<div class="zoomable-image" />');

=====================================
test/unit/user_activation_job_test.rb
=====================================
--- a/test/unit/user_activation_job_test.rb
+++ b/test/unit/user_activation_job_test.rb
@@ -40,6 +40,18 @@ class UserActivationJobTest < ActiveSupport::TestCase
     end
   end
 
+  should 'not destroy user if a moderate user registration task exists' do
+    env = Environment.default
+    env.enable('skip_new_user_email_confirmation')
+    env.enable('admin_must_approve_new_users')
+    user = new_user :login => 'test3'
+    job = UserActivationJob.new(user.id)
+    assert_no_difference 'User.count' do
+      job.perform
+      process_delayed_job_queue
+    end
+  end
+
   protected
     def new_user(options = {})
       user = User.new({ :login => 'quire', :email => 'quire at example.com', :password => 'quire', :password_confirmation => 'quire' }.merge(options))

=====================================
test/unit/user_test.rb
=====================================
--- a/test/unit/user_test.rb
+++ b/test/unit/user_test.rb
@@ -302,6 +302,17 @@ class UserTest < ActiveSupport::TestCase
     assert !user.email_activation_pending?
   end
 
+  should 'has moderate registration pending' do
+    user = create_user('cooler')
+    ModerateUserRegistration.create!(:requestor => user.person, :target => Environment.default)
+    assert user.moderate_registration_pending?
+  end
+
+  should 'not has moderate registration pending if not have a pending task' do
+    user = create_user('cooler')
+    assert !user.moderate_registration_pending?
+  end
+
   should 'be able to use [] operator to find users by login' do
     user = fast_create(User)
     assert_equal user, User[user.login]


View it on GitLab: https://gitlab.com/noosfero/noosfero/compare/1b1da66a6b17d5716b3e44f942124bb8da169358...5de43a78e7c09fe95e0e53607d6625f6691e114d
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listas.softwarelivre.org/pipermail/noosfero-dev/attachments/20150319/08362f6b/attachment-0001.html>


More information about the Noosfero-dev mailing list