Commit f176dfb255821be039fbe6a78892fc73469c5ea7

Authored by Victor Costa
2 parents cf889378 81a0039e

Merge branch 'production' of gitlab.com:participa/noosfero into production

Showing 270 changed files with 21902 additions and 7639 deletions   Show diff stats

Too many changes.

To preserve performance only 100 of 270 files displayed.

INSTALL.https.md
@@ -11,8 +11,8 @@ as below: @@ -11,8 +11,8 @@ as below:
11 11
12 # mkdir /etc/noosfero/ssl 12 # mkdir /etc/noosfero/ssl
13 # cd /etc/noosfero/ssl 13 # cd /etc/noosfero/ssl
14 - # openssl genrsa 1024 > noosfero.key  
15 - # openssl req -new -x509 -nodes -sha1 -days $[10*365] -key noosfero.key > noosfero.cert 14 + # openssl genrsa 2048 > noosfero.key
  15 + # openssl req -new -x509 -sha256 -nodes -days $[10*365] -key noosfero.key > noosfero.cert
16 # cat noosfero.key noosfero.cert > noosfero.pem 16 # cat noosfero.key noosfero.cert > noosfero.pem
17 17
18 ## Web server configuration 18 ## Web server configuration
@@ -74,7 +74,7 @@ downloading from git @@ -74,7 +74,7 @@ downloading from git
74 74
75 Here we are cloning the noosfero repository from git. Note: you will need to install git before. 75 Here we are cloning the noosfero repository from git. Note: you will need to install git before.
76 76
77 - $ git clone git://gitorious.org/noosfero/noosfero.git current 77 + $ git clone https://gitlab.com/noosfero/noosfero.git current
78 $ cd current 78 $ cd current
79 $ git checkout -b stable origin/stable 79 $ git checkout -b stable origin/stable
80 80
app/controllers/admin/admin_panel_controller.rb
@@ -71,22 +71,4 @@ class AdminPanelController < AdminController @@ -71,22 +71,4 @@ class AdminPanelController < AdminController
71 end 71 end
72 end 72 end
73 end 73 end
74 -  
75 - def manage_organizations_status  
76 - scope = environment.organizations  
77 - @filter = params[:filter] || 'any'  
78 - @title = "Organization profiles"  
79 - @title = @title+" - "+@filter if @filter != 'any'  
80 -  
81 - if @filter == 'enabled'  
82 - scope = scope.visible  
83 - elsif @filter == 'disabled'  
84 - scope = scope.disabled  
85 - end  
86 -  
87 - scope = scope.order('name ASC')  
88 -  
89 - @q = params[:q]  
90 - @collection = find_by_contents(:organizations, environment, scope, @q, {:per_page => 10, :page => params[:npage]})[:results]  
91 - end  
92 end 74 end
app/controllers/admin/organizations_controller.rb 0 → 100644
@@ -0,0 +1,66 @@ @@ -0,0 +1,66 @@
  1 +class OrganizationsController < AdminController
  2 +
  3 + protect 'manage_environment_organizations', :environment
  4 +
  5 + def index
  6 + @filter = params[:filter] || 'any'
  7 + @title = _('Organization profiles')
  8 + @type = params[:type] || "any"
  9 + @types_filter = [[_('All'), 'any'], [_('Community'), 'Community'], [_('Enterprise'), 'Enterprise']]
  10 + @types_filter = @types_filter | @plugins.dispatch(:organization_types_filter_options)
  11 +
  12 + scope = @plugins.dispatch_first(:filter_manage_organization_scope, @type)
  13 + if scope.blank?
  14 + scope = environment.organizations
  15 + scope = scope.where(:type => @type) if @type != 'any'
  16 + end
  17 +
  18 + if @filter == 'enabled'
  19 + scope = scope.visible
  20 + elsif @filter == 'disabled'
  21 + scope = scope.disabled
  22 + end
  23 +
  24 + scope = scope.order('name ASC')
  25 +
  26 + @q = params[:q]
  27 + @collection = find_by_contents(:organizations, environment, scope, @q, {:per_page => per_page, :page => params[:npage]})[:results]
  28 + end
  29 +
  30 + def activate
  31 + organization = environment.organizations.find(params[:id])
  32 + if organization.enable
  33 + render :text => (_('%s enabled') % organization.name).to_json
  34 + else
  35 + render :text => (_('%s could not be enabled') % organization.name).to_json
  36 + end
  37 + end
  38 +
  39 + def deactivate
  40 + organization = environment.organizations.find(params[:id])
  41 + if organization.disable
  42 + render :text => (_('%s disabled') % organization.name).to_json
  43 + else
  44 + render :text => (_('%s could not be disable') % organization.name).to_json
  45 + end
  46 + end
  47 +
  48 + def destroy
  49 + if request.post?
  50 + organization = environment.organizations.find(params[:id])
  51 + if organization && organization.destroy
  52 + render :text => (_('%s removed') % organization.name).to_json
  53 + else
  54 + render :text => (_('%s could not be removed') % organization.name).to_json
  55 + end
  56 + else
  57 + render :nothing => true
  58 + end
  59 + end
  60 +
  61 + private
  62 +
  63 + def per_page
  64 + 10
  65 + end
  66 +end
app/controllers/my_profile/tasks_controller.rb
1 class TasksController < MyProfileController 1 class TasksController < MyProfileController
2 2
3 - protect 'perform_task', :profile 3 + protect [:perform_task, :view_tasks], :profile, :only => [:index]
  4 + protect :perform_task, :profile, :except => [:index]
4 5
5 def index 6 def index
6 @filter_type = params[:filter_type].presence 7 @filter_type = params[:filter_type].presence
@@ -14,7 +15,9 @@ class TasksController &lt; MyProfileController @@ -14,7 +15,9 @@ class TasksController &lt; MyProfileController
14 15
15 @failed = params ? params[:failed] : {} 16 @failed = params ? params[:failed] : {}
16 17
17 - @responsible_candidates = profile.members.by_role(profile.roles.reject {|r| !r.has_permission?('perform_task')}) 18 + @responsible_candidates = profile.members.by_role(profile.roles.reject {|r| !r.has_permission?('perform_task')}) if profile.organization?
  19 +
  20 + @view_only = !current_person.has_permission?(:perform_task, profile)
18 end 21 end
19 22
20 def processed 23 def processed
app/controllers/public/chat_controller.rb
@@ -2,6 +2,7 @@ class ChatController &lt; PublicController @@ -2,6 +2,7 @@ class ChatController &lt; PublicController
2 2
3 before_filter :login_required 3 before_filter :login_required
4 before_filter :check_environment_feature 4 before_filter :check_environment_feature
  5 + before_filter :can_send_message, :only => :register_message
5 6
6 def start_session 7 def start_session
7 login = user.jid 8 login = user.jid
@@ -54,6 +55,16 @@ class ChatController &lt; PublicController @@ -54,6 +55,16 @@ class ChatController &lt; PublicController
54 end 55 end
55 end 56 end
56 57
  58 + def avatars
  59 + profiles = environment.profiles.where(:identifier => params[:profiles])
  60 + avatar_map = profiles.inject({}) do |result, profile|
  61 + result[profile.identifier] = profile_icon(profile, :minor)
  62 + result
  63 + end
  64 +
  65 + render_json avatar_map
  66 + end
  67 +
57 def update_presence_status 68 def update_presence_status
58 if request.xhr? 69 if request.xhr?
59 current_user.update_attributes({:chat_status_at => DateTime.now}.merge(params[:status] || {})) 70 current_user.update_attributes({:chat_status_at => DateTime.now}.merge(params[:status] || {}))
@@ -62,11 +73,17 @@ class ChatController &lt; PublicController @@ -62,11 +73,17 @@ class ChatController &lt; PublicController
62 end 73 end
63 74
64 def save_message 75 def save_message
65 - to = environment.profiles.find_by_identifier(params[:to])  
66 - body = params[:body]  
67 -  
68 - ChatMessage.create!(:to => to, :from => user, :body => body)  
69 - render :text => 'ok' 76 + if request.post?
  77 + to = environment.profiles.where(:identifier => params[:to]).first
  78 + body = params[:body]
  79 +
  80 + begin
  81 + ChatMessage.create!(:to => to, :from => user, :body => body)
  82 + return render_json({:status => 0})
  83 + rescue Exception => exception
  84 + return render_json({:status => 3, :message => exception.to_s, :backtrace => exception.backtrace})
  85 + end
  86 + end
70 end 87 end
71 88
72 def recent_messages 89 def recent_messages
@@ -90,8 +107,9 @@ class ChatController &lt; PublicController @@ -90,8 +107,9 @@ class ChatController &lt; PublicController
90 end 107 end
91 108
92 def recent_conversations 109 def recent_conversations
93 - conversations_order = ActiveRecord::Base.connection.execute("select profiles.identifier from profiles inner join (select distinct r.id as id, MAX(r.created_at) as created_at from (select from_id, to_id, created_at, (case when from_id=#{user.id} then to_id else from_id end) as id from chat_messages where from_id=#{user.id} or to_id=#{user.id}) as r group by id order by created_at desc, id) as t on profiles.id=t.id order by t.created_at desc").entries.map {|e| e['identifier']}  
94 - render :json => {:order => conversations_order.reverse, :domain => environment.default_hostname.gsub('.','-')}.to_json 110 + profiles = Profile.find_by_sql("select profiles.* from profiles inner join (select distinct r.id as id, MAX(r.created_at) as created_at from (select from_id, to_id, created_at, (case when from_id=#{user.id} then to_id else from_id end) as id from chat_messages where from_id=#{user.id} or to_id=#{user.id}) as r group by id order by created_at desc, id) as t on profiles.id=t.id order by t.created_at desc")
  111 + jids = profiles.map(&:jid).reverse
  112 + render :json => jids.to_json
95 end 113 end
96 114
97 #TODO Ideally this is done through roster table on ejabberd. 115 #TODO Ideally this is done through roster table on ejabberd.
@@ -108,4 +126,14 @@ class ChatController &lt; PublicController @@ -108,4 +126,14 @@ class ChatController &lt; PublicController
108 end 126 end
109 end 127 end
110 128
  129 + def can_send_message
  130 + return render_json({:status => 1, :message => 'Missing parameters!'}) if params[:from].nil? || params[:to].nil? || params[:message].nil?
  131 + return render_json({:status => 2, :message => 'You can not send message as another user!'}) if params[:from] != user.jid
  132 + # TODO Maybe register the jid in a table someday to avoid this below
  133 + return render_json({:status => 3, :messsage => 'You can not send messages to strangers!'}) if user.friends.where(:identifier => params[:to].split('@').first).blank?
  134 + end
  135 +
  136 + def render_json(result)
  137 + render :text => result.to_json
  138 + end
111 end 139 end
app/helpers/application_helper.rb
@@ -881,7 +881,7 @@ module ApplicationHelper @@ -881,7 +881,7 @@ module ApplicationHelper
881 field_html += capture(&block) 881 field_html += capture(&block)
882 end 882 end
883 883
884 - if controller.action_name == 'signup' || controller.action_name == 'new_community' || (controller.controller_name == "enterprise_registration" && controller.action_name == 'index') 884 + if controller.action_name == 'signup' || controller.action_name == 'new_community' || (controller.controller_name == "enterprise_registration" && controller.action_name == 'index') || (controller.controller_name == 'home' && controller.action_name == 'index' && user.nil?)
885 if profile.signup_fields.include?(name) 885 if profile.signup_fields.include?(name)
886 result = field_html 886 result = field_html
887 end 887 end
app/helpers/boxes_helper.rb
@@ -122,7 +122,7 @@ module BoxesHelper @@ -122,7 +122,7 @@ module BoxesHelper
122 end 122 end
123 123
124 def wrap_main_content(content) 124 def wrap_main_content(content)
125 - (1..8).to_a.reverse.inject(content) { |acc,n| content_tag('div', acc, :id => 'main-content-wrapper-' + n.to_s) } 125 + content_tag('div', content, :class => 'main-content')
126 end 126 end
127 127
128 def extract_block_content(content) 128 def extract_block_content(content)
app/helpers/chat_helper.rb
@@ -9,12 +9,12 @@ module ChatHelper @@ -9,12 +9,12 @@ module ChatHelper
9 avatar = profile_image(user, :portrait, :class => 'avatar') 9 avatar = profile_image(user, :portrait, :class => 'avatar')
10 content_tag('span', 10 content_tag('span',
11 link_to(avatar + content_tag('span', user.name) + ui_icon('ui-icon-triangle-1-s'), 11 link_to(avatar + content_tag('span', user.name) + ui_icon('ui-icon-triangle-1-s'),
12 - '#', 12 + '',
13 :onclick => 'toggleMenu(this); return false', 13 :onclick => 'toggleMenu(this); return false',
14 :class => icon_class + ' simplemenu-trigger' 14 :class => icon_class + ' simplemenu-trigger'
15 ) + 15 ) +
16 content_tag('ul', 16 content_tag('ul',
17 - links.map{|link| content_tag('li', link_to(link[1], '#', :class => link[0], :id => link[2], 'data-jid' => user.jid), :class => 'simplemenu-item') }.join("\n"), 17 + links.map{|link| content_tag('li', link_to(link[1], '', :class => link[0], :id => link[2], 'data-jid' => user.jid), :class => 'simplemenu-item') }.join("\n"),
18 :style => 'display: none; z-index: 100', 18 :style => 'display: none; z-index: 100',
19 :class => 'simplemenu-submenu' 19 :class => 'simplemenu-submenu'
20 ), 20 ),
app/helpers/profile_editor_helper.rb
@@ -141,8 +141,9 @@ module ProfileEditorHelper @@ -141,8 +141,9 @@ module ProfileEditorHelper
141 ) 141 )
142 end 142 end
143 143
144 - def control_panel_button(title, icon, url)  
145 - link_to title, url, :class => 'control-panel-%s' % icon 144 + def control_panel_button(title, icon, url, html_options = {})
  145 + html_options ||= {}
  146 + link_to title, url, html_options.merge(:class => 'control-panel-%s' % icon)
146 end 147 end
147 148
148 def unchangeable_privacy_field(profile) 149 def unchangeable_privacy_field(profile)
app/helpers/search_helper.rb
@@ -106,6 +106,10 @@ module SearchHelper @@ -106,6 +106,10 @@ module SearchHelper
106 end 106 end
107 end 107 end
108 108
  109 + def city_with_state_for_profile(p)
  110 + city_with_state(p.region) || [p.city, p.state].compact.reject(&:blank?).join(', ')
  111 + end
  112 +
109 def display_selector(asset, display, float = 'right') 113 def display_selector(asset, display, float = 'right')
110 display = nil if display.blank? 114 display = nil if display.blank?
111 display ||= asset_class(asset).default_search_display 115 display ||= asset_class(asset).default_search_display
app/helpers/users_helper.rb
@@ -14,7 +14,7 @@ module UsersHelper @@ -14,7 +14,7 @@ module UsersHelper
14 select_field = select_tag(:filter, options, :onchange => onchange) 14 select_field = select_tag(:filter, options, :onchange => onchange)
15 content_tag('div', 15 content_tag('div',
16 content_tag('strong', _('Filter')) + ': ' + select_field, 16 content_tag('strong', _('Filter')) + ': ' + select_field,
17 - :class => "environment-users-customize-search" 17 + :class => "environment-profiles-customize-search"
18 ) 18 )
19 end 19 end
20 20
app/models/article.rb
@@ -96,6 +96,8 @@ class Article &lt; ActiveRecord::Base @@ -96,6 +96,8 @@ class Article &lt; ActiveRecord::Base
96 belongs_to :translation_of, :class_name => 'Article', :foreign_key => :translation_of_id 96 belongs_to :translation_of, :class_name => 'Article', :foreign_key => :translation_of_id
97 before_destroy :rotate_translations 97 before_destroy :rotate_translations
98 98
  99 + acts_as_voteable
  100 +
99 before_create do |article| 101 before_create do |article|
100 article.published_at ||= Time.now 102 article.published_at ||= Time.now
101 if article.reference_article && !article.parent 103 if article.reference_article && !article.parent
app/models/block.rb
@@ -2,7 +2,7 @@ class Block &lt; ActiveRecord::Base @@ -2,7 +2,7 @@ class Block &lt; ActiveRecord::Base
2 2
3 attr_accessible :title, :display, :limit, :box_id, :posts_per_page, 3 attr_accessible :title, :display, :limit, :box_id, :posts_per_page,
4 :visualization_format, :language, :display_user, 4 :visualization_format, :language, :display_user,
5 - :box, :edit_modes, :move_modes 5 + :box, :edit_modes, :move_modes, :mirror
6 6
7 # to be able to generate HTML 7 # to be able to generate HTML
8 include ActionView::Helpers::UrlHelper 8 include ActionView::Helpers::UrlHelper
@@ -15,11 +15,23 @@ class Block &lt; ActiveRecord::Base @@ -15,11 +15,23 @@ class Block &lt; ActiveRecord::Base
15 15
16 acts_as_list :scope => :box 16 acts_as_list :scope => :box
17 belongs_to :box 17 belongs_to :box
  18 + belongs_to :mirror_block, :class_name => "Block"
  19 + has_many :observers, :class_name => "Block", :foreign_key => "mirror_block_id"
18 20
19 acts_as_having_settings 21 acts_as_having_settings
20 22
21 scope :enabled, :conditions => { :enabled => true } 23 scope :enabled, :conditions => { :enabled => true }
22 24
  25 + after_save do |block|
  26 + if block.owner.kind_of?(Profile) && block.owner.is_template? && block.mirror?
  27 + block.observers.each do |observer|
  28 + observer.copy_from(block)
  29 + observer.title = block.title
  30 + observer.save
  31 + end
  32 + end
  33 + end
  34 +
23 def embedable? 35 def embedable?
24 false 36 false
25 end 37 end
@@ -299,6 +311,10 @@ class Block &lt; ActiveRecord::Base @@ -299,6 +311,10 @@ class Block &lt; ActiveRecord::Base
299 self.position = block.position 311 self.position = block.position
300 end 312 end
301 313
  314 + def add_observer(block)
  315 + self.observers << block
  316 + end
  317 +
302 private 318 private
303 319
304 def home_page_path 320 def home_page_path
app/models/chat_message.rb
@@ -4,4 +4,5 @@ class ChatMessage &lt; ActiveRecord::Base @@ -4,4 +4,5 @@ class ChatMessage &lt; ActiveRecord::Base
4 belongs_to :to, :class_name => 'Profile' 4 belongs_to :to, :class_name => 'Profile'
5 belongs_to :from, :class_name => 'Profile' 5 belongs_to :from, :class_name => 'Profile'
6 6
  7 + validates_presence_of :from, :to
7 end 8 end
app/models/comment.rb
@@ -48,6 +48,8 @@ class Comment &lt; ActiveRecord::Base @@ -48,6 +48,8 @@ class Comment &lt; ActiveRecord::Base
48 48
49 xss_terminate :only => [ :body, :title, :name ], :on => 'validation' 49 xss_terminate :only => [ :body, :title, :name ], :on => 'validation'
50 50
  51 + acts_as_voteable
  52 +
51 def comment_root 53 def comment_root
52 (reply_of && reply_of.comment_root) || self 54 (reply_of && reply_of.comment_root) || self
53 end 55 end
app/models/environment.rb
@@ -29,6 +29,7 @@ class Environment &lt; ActiveRecord::Base @@ -29,6 +29,7 @@ class Environment &lt; ActiveRecord::Base
29 'manage_environment_roles' => N_('Manage environment roles'), 29 'manage_environment_roles' => N_('Manage environment roles'),
30 'manage_environment_validators' => N_('Manage environment validators'), 30 'manage_environment_validators' => N_('Manage environment validators'),
31 'manage_environment_users' => N_('Manage environment users'), 31 'manage_environment_users' => N_('Manage environment users'),
  32 + 'manage_environment_organizations' => N_('Manage environment organizations'),
32 'manage_environment_templates' => N_('Manage environment templates'), 33 'manage_environment_templates' => N_('Manage environment templates'),
33 'manage_environment_licenses' => N_('Manage environment licenses'), 34 'manage_environment_licenses' => N_('Manage environment licenses'),
34 'manage_environment_trusted_sites' => N_('Manage environment trusted sites'), 35 'manage_environment_trusted_sites' => N_('Manage environment trusted sites'),
@@ -74,7 +75,8 @@ class Environment &lt; ActiveRecord::Base @@ -74,7 +75,8 @@ class Environment &lt; ActiveRecord::Base
74 'edit_profile_design', 75 'edit_profile_design',
75 'manage_products', 76 'manage_products',
76 'manage_friends', 77 'manage_friends',
77 - 'perform_task' 78 + 'perform_task',
  79 + 'view_tasks'
78 ] 80 ]
79 ) 81 )
80 end 82 end
app/models/person.rb
@@ -111,6 +111,8 @@ roles] } @@ -111,6 +111,8 @@ roles] }
111 111
112 belongs_to :user, :dependent => :delete 112 belongs_to :user, :dependent => :delete
113 113
  114 + acts_as_voter
  115 +
114 def can_change_homepage? 116 def can_change_homepage?
115 !environment.enabled?('cant_change_homepage') || is_admin? 117 !environment.enabled?('cant_change_homepage') || is_admin?
116 end 118 end
app/models/product_category.rb
@@ -10,6 +10,9 @@ class ProductCategory &lt; Category @@ -10,6 +10,9 @@ class ProductCategory &lt; Category
10 :joins => :products, 10 :joins => :products,
11 :conditions => ['products.profile_id = ?', enterprise.id] 11 :conditions => ['products.profile_id = ?', enterprise.id]
12 }} 12 }}
  13 + scope :by_environment, lambda { |environment| {
  14 + :conditions => ['environment_id = ?', environment.id]
  15 + }}
13 scope :unique_by_level, lambda { |level| { 16 scope :unique_by_level, lambda { |level| {
14 :select => "DISTINCT ON (filtered_category) split_part(path, '/', #{level}) AS filtered_category, categories.*" 17 :select => "DISTINCT ON (filtered_category) split_part(path, '/', #{level}) AS filtered_category, categories.*"
15 }} 18 }}
app/models/profile.rb
@@ -99,6 +99,7 @@ class Profile &lt; ActiveRecord::Base @@ -99,6 +99,7 @@ class Profile &lt; ActiveRecord::Base
99 'manage_friends' => N_('Manage friends'), 99 'manage_friends' => N_('Manage friends'),
100 'validate_enterprise' => N_('Validate enterprise'), 100 'validate_enterprise' => N_('Validate enterprise'),
101 'perform_task' => N_('Perform task'), 101 'perform_task' => N_('Perform task'),
  102 + 'view_tasks' => N_('View tasks'),
102 'moderate_comments' => N_('Moderate comments'), 103 'moderate_comments' => N_('Moderate comments'),
103 'edit_appearance' => N_('Edit appearance'), 104 'edit_appearance' => N_('Edit appearance'),
104 'view_private_content' => N_('View private content'), 105 'view_private_content' => N_('View private content'),
@@ -430,6 +431,9 @@ class Profile &lt; ActiveRecord::Base @@ -430,6 +431,9 @@ class Profile &lt; ActiveRecord::Base
430 new_block = block.class.new(:title => block[:title]) 431 new_block = block.class.new(:title => block[:title])
431 new_block.copy_from(block) 432 new_block.copy_from(block)
432 new_box.blocks << new_block 433 new_box.blocks << new_block
  434 + if block.mirror?
  435 + block.add_observer(new_block)
  436 + end
433 end 437 end
434 end 438 end
435 end 439 end
@@ -1002,11 +1006,19 @@ private :generate_url, :url_options @@ -1002,11 +1006,19 @@ private :generate_url, :url_options
1002 self.save 1006 self.save
1003 end 1007 end
1004 1008
  1009 + def disabled?
  1010 + !visible
  1011 + end
  1012 +
1005 def enable 1013 def enable
1006 self.visible = true 1014 self.visible = true
1007 self.save 1015 self.save
1008 end 1016 end
1009 1017
  1018 + def enabled?
  1019 + visible
  1020 + end
  1021 +
1010 def control_panel_settings_button 1022 def control_panel_settings_button
1011 {:title => _('Edit Profile'), :icon => 'edit-profile'} 1023 {:title => _('Edit Profile'), :icon => 'edit-profile'}
1012 end 1024 end
app/models/task.rb
@@ -267,6 +267,19 @@ class Task &lt; ActiveRecord::Base @@ -267,6 +267,19 @@ class Task &lt; ActiveRecord::Base
267 267
268 include Spammable 268 include Spammable
269 269
  270 + #FIXME make this test
  271 + def display_to?(user = nil)
  272 + return true if self.target == user
  273 + return false if !self.target.kind_of?(Environment) && self.target.person?
  274 +
  275 + if self.target.kind_of?(Environment)
  276 + user.is_admin?(self.target)
  277 + else
  278 + self.target.members.by_role(self.target.roles.reject {|r| !r.has_permission?('perform_task')}).include?(user)
  279 + end
  280 + end
  281 +
  282 +
270 protected 283 protected
271 284
272 # This method must be overrided in subclasses, and its implementation must do 285 # This method must be overrided in subclasses, and its implementation must do
app/views/admin_panel/index.html.erb
@@ -19,9 +19,9 @@ @@ -19,9 +19,9 @@
19 <table> 19 <table>
20 <tr><td><%= link_to _('User roles'), :controller => 'role' %></td></tr> 20 <tr><td><%= link_to _('User roles'), :controller => 'role' %></td></tr>
21 <tr><td><%= link_to _('Users'), :controller => 'users' %></td></tr> 21 <tr><td><%= link_to _('Users'), :controller => 'users' %></td></tr>
  22 + <tr><td><%= link_to _('Organizations'), :controller => 'organizations' %></td></tr>
22 <tr><td><%= link_to _('Profile templates'), :controller => 'templates' %></td></tr> 23 <tr><td><%= link_to _('Profile templates'), :controller => 'templates' %></td></tr>
23 <tr><td><%= link_to _('Fields'), :controller => 'features', :action => 'manage_fields' %></td></tr> 24 <tr><td><%= link_to _('Fields'), :controller => 'features', :action => 'manage_fields' %></td></tr>
24 - <tr><td><%= link_to _('Manage organizations status'), :action => 'manage_organizations_status' %></td></tr>  
25 </table> 25 </table>
26 26
27 27
app/views/admin_panel/manage_organizations_status.html.erb
@@ -1,69 +0,0 @@ @@ -1,69 +0,0 @@
1 -<h1><%= _('Manage organizations') %></h1>  
2 -  
3 -<%= form_tag( { :action => 'manage_organizations_status' }, :method => 'get', :class => 'users-search' ) do %>  
4 -  
5 - <div class="search-field">  
6 - <span class="formfield">  
7 - <%= text_field_tag 'q', @q, :title => _("Find profiles"), :style=>"width:85%" %>  
8 - </span>  
9 -  
10 - <%= submit_button(:search, _('Search')) %>  
11 - </div>  
12 -  
13 - <div class="environment-users-results-header">  
14 - <div id='environment-users-filter-title'><%= @title %></div>  
15 -  
16 - <div id="environment-users-filter-filter">  
17 - <strong><%= _("Filter by: ") %></strong>  
18 -  
19 - <select id="profile_filter_select">  
20 - <%= options_for_select([['Any', 'any'],["Disabled profiles", "disabled"], ["Enabled profiles", "enabled"]], @filter) %>  
21 - </select>  
22 - </div>  
23 - <div style="clear: both"></div>  
24 - </div>  
25 -  
26 - <table>  
27 - <colgroup>  
28 - <col width="80%">  
29 - <col width="20%">  
30 - </colgroup>  
31 -  
32 - <tr>  
33 - <th><%= _('Member') %></th>  
34 - <th><%= _('Actions') %></th>  
35 - </tr>  
36 -  
37 - <% @collection.each do |p| %>  
38 - <tr title="<%= p.name %>">  
39 - <td><%= link_to_profile p.short_name, p.identifier, :title => p.name %> </td>  
40 -  
41 - <td class='actions'>  
42 - <div class="members-buttons-cell">  
43 - <% if p.visible %>  
44 - <%= button_without_text :'deactivate-user', _('Deactivate'), {:controller => "profile_editor", :action => 'deactivate_profile', :profile => p.identifier, :id => p.id}, :confirm => _("Do you want to deactivate this profile ?") %>  
45 - <% else %>  
46 - <%= button_without_text :'activate-user', _('Activate'), {:controller => "profile_editor", :action => 'activate_profile', :profile => p.identifier, :id => p.id}, :confirm => _("Do you want to activate this profile ?") %>  
47 - <% end %>  
48 - <%= button_without_text :'delete', _('Remove'), {:controller => "profile_editor", :action => 'destroy_profile', :profile => p.identifier, :id => p.id, :return_to => "/admin/admin_panel/manage_organizations_status"}, :method => :post, :confirm => _("Do you want to deactivate this profile ?") %>  
49 - </div>  
50 - </td>  
51 - </tr>  
52 - <% end %>  
53 - </table>  
54 -  
55 -<% end %>  
56 -  
57 -<%= pagination_links @collection, {:param_name => 'npage', :page_links => true} %>  
58 -  
59 -<% button_bar do %>  
60 - <%= button :back, _('Back'), :controller => 'admin_panel' %>  
61 -<% end %>  
62 -  
63 -<script type="text/javascript">  
64 - jQuery(document).ready(function(){  
65 - jQuery("#profile_filter_select").change(function(){  
66 - document.location.href = '/admin/admin_panel/manage_organizations_status?filter='+this.value;  
67 - });  
68 - });  
69 -</script>  
70 \ No newline at end of file 0 \ No newline at end of file
app/views/blocks/profile_info_actions/_common.html.erb 0 → 100644
@@ -0,0 +1,2 @@ @@ -0,0 +1,2 @@
  1 +<li><%= report_abuse(profile, :button) %></li>
  2 +<%= render_environment_features(:profile_actions) %></li>
app/views/blocks/profile_info_actions/_community.html.erb
@@ -13,8 +13,6 @@ @@ -13,8 +13,6 @@
13 </li> 13 </li>
14 <% end %> 14 <% end %>
15 15
16 - <li><%= report_abuse(profile, :button) %></li>  
17 -  
18 - <%= render_environment_features(:profile_actions) %> 16 + <%= render :partial => 'blocks/profile_info_actions/common' %>
19 <% end %> 17 <% end %>
20 </ul> 18 </ul>
app/views/blocks/profile_info_actions/_enterprise.html.erb
@@ -8,5 +8,5 @@ @@ -8,5 +8,5 @@
8 <li><%= button(:'menu-mail', _('Send an e-mail'), {:profile => profile.identifier, :controller => 'contact', :action => 'new'}, {:id => 'enterprise-contact-button'} ) %></li> 8 <li><%= button(:'menu-mail', _('Send an e-mail'), {:profile => profile.identifier, :controller => 'contact', :action => 'new'}, {:id => 'enterprise-contact-button'} ) %></li>
9 <% end %> 9 <% end %>
10 10
11 - <li><%= report_abuse(profile, :button) %></li> 11 + <%= render :partial => 'blocks/profile_info_actions/common' %>
12 </ul> 12 </ul>
app/views/blocks/profile_info_actions/_person.html.erb
@@ -11,6 +11,6 @@ @@ -11,6 +11,6 @@
11 <li><%= button(:back, _('Send an e-mail'), {:profile => profile.identifier, :controller => 'contact', :action => 'new'}) %></li> 11 <li><%= button(:back, _('Send an e-mail'), {:profile => profile.identifier, :controller => 'contact', :action => 'new'}) %></li>
12 <% end %> 12 <% end %>
13 13
14 - <li><%= report_abuse(profile, :button) %></li> 14 + <%= render :partial => 'blocks/profile_info_actions/common' %>
15 <% end %> 15 <% end %>
16 </ul> 16 </ul>
app/views/box_organizer/edit.html.erb
@@ -25,6 +25,11 @@ @@ -25,6 +25,11 @@
25 </div> 25 </div>
26 <div class="move-modes"> 26 <div class="move-modes">
27 <%= labelled_form_field _('Move options:'), select_tag('block[move_modes]', options_from_collection_for_select(@block.move_block_options, :first, :last, @block.move_modes)) %> 27 <%= labelled_form_field _('Move options:'), select_tag('block[move_modes]', options_from_collection_for_select(@block.move_block_options, :first, :last, @block.move_modes)) %>
  28 + <% end %>
  29 +
  30 + <% if @block.owner.kind_of?(Profile) && @block.owner.is_template? %>
  31 + <div class="mirror_block">
  32 + <%= labelled_check_box(_("Mirror"), "block[mirror]", value = "1", checked = @block.mirror) %>
28 </div> 33 </div>
29 <% end %> 34 <% end %>
30 35
app/views/chat/start_session_error.html.erb
1 <p> 1 <p>
2 <%= ui_icon('ui-icon-alert') %> 2 <%= ui_icon('ui-icon-alert') %>
3 -<%= _('Could not connect to chat') %>, <a id='chat-retry' href='#' data-jid='<%= user.jid %>'><%= _('try again') %></a>. 3 +<%= _('Could not connect to chat') %>, <a id='chat-retry' href='' data-jid='<%= user.jid %>'><%= _('try again') %></a>.
4 </p> 4 </p>
app/views/organizations/_results.html.erb 0 → 100644
@@ -0,0 +1,41 @@ @@ -0,0 +1,41 @@
  1 +<div class='results'>
  2 + <table id='organizations-list'>
  3 + <colgroup>
  4 + <col width="60%">
  5 + <col width="20%">
  6 + <col width="20%">
  7 + </colgroup>
  8 +
  9 + <tr>
  10 + <th><%= _('Profile') %></th>
  11 + <th><%= _('Actions') %></th>
  12 + <th><%= _('Type') %>
  13 +
  14 + <%= select_tag(:type, options_for_select(@types_filter, @type)) %>
  15 + </th>
  16 + </tr>
  17 +
  18 + <% @collection.each do |p| %>
  19 + <tr title="<%= p.name %>">
  20 + <td><%= link_to_profile p.short_name, p.identifier, :title => p.name %> </td>
  21 +
  22 + <td class='actions'>
  23 + <div class="members-buttons-cell">
  24 + <% if p.visible %>
  25 + <%= button_without_text :'deactivate-user', _('Deactivate'), {:action => 'deactivate', :id => p.id}, :class => 'action', 'data-confirm' => _("Do you want to deactivate this organization?") %>
  26 + <% else %>
  27 + <%= button_without_text :'activate-user', _('Activate'), {:action => 'activate', :id => p.id}, :class => 'action', 'data-confirm' => _("Do you want to activate this organization?") %>
  28 + <% end %>
  29 + <%= button_without_text :'delete', _('Remove'), {:action => 'destroy', :id => p.id}, :class => 'action', 'data-method' => :post, 'data-confirm' => _("Do you want to destroy this organization?") %>
  30 + </div>
  31 + </td>
  32 +
  33 + <td> <%= _("#{p.type}") %> </td>
  34 + </tr>
  35 + <% end %>
  36 + </table>
  37 +
  38 + <div>
  39 + <%= pagination_links @collection, {:param_name => 'npage', :page_links => true} %>
  40 + </div>
  41 +</div>
app/views/organizations/index.html.erb 0 → 100644
@@ -0,0 +1,30 @@ @@ -0,0 +1,30 @@
  1 +<h1><%= _('Organizations') %></h1>
  2 +
  3 +<%= form_tag( { :action => 'index' }, :method => 'get', :id => 'manage-profiles' ) do %>
  4 +
  5 + <div class="search-field">
  6 + <span class="formfield">
  7 + <%= text_field_tag 'q', @q, :title => _('Find organizations'), :style=>"width:85%" %>
  8 + </span>
  9 +
  10 + <%= submit_button(:search, _('Search')) %>
  11 + </div>
  12 +
  13 + <div class="environment-profiles-results-header">
  14 + <div id='environment-profiles-filter-title'><%= @title %></div>
  15 +
  16 + <div id="environment-profiles-filter-filter">
  17 + <strong><%= _("Filter by: ") %></strong>
  18 + <%= select_tag(:filter, options_for_select([[_('Any'), 'any'],[_('Disabled'), "disabled"], [_('Enabled') , "enabled"]], @filter)) %>
  19 + </div>
  20 + <div style="clear: both"></div>
  21 + </div>
  22 +
  23 + <%= render :partial => 'results' %>
  24 +
  25 + <% button_bar do %>
  26 + <%= button :back, _('Back'), :controller => 'admin_panel' %>
  27 + <% end %>
  28 +<% end %>
  29 +
  30 +<%= javascript_include_tag 'manage-organizations' %>
app/views/organizations/index.js.erb 0 → 120000
@@ -0,0 +1 @@ @@ -0,0 +1 @@
  1 +../../views/shared/admin/profiles/index.js.rb
0 \ No newline at end of file 2 \ No newline at end of file
app/views/profile_editor/index.html.erb
@@ -73,7 +73,7 @@ @@ -73,7 +73,7 @@
73 <%= control_panel_button(_('Edit welcome page'), 'welcome-page', :action => 'welcome_page') if has_welcome_page %> 73 <%= control_panel_button(_('Edit welcome page'), 'welcome-page', :action => 'welcome_page') if has_welcome_page %>
74 74
75 <% @plugins.dispatch(:control_panel_buttons).each do |button| %> 75 <% @plugins.dispatch(:control_panel_buttons).each do |button| %>
76 - <%= control_panel_button(button[:title], button[:icon], button[:url]) %> 76 + <%= control_panel_button(button[:title], button[:icon], button[:url], button[:html_options]) %>
77 <% end %> 77 <% end %>
78 78
79 <% end %> 79 <% end %>
app/views/shared/admin/profiles/index.js.rb 0 → 100644
@@ -0,0 +1 @@ @@ -0,0 +1 @@
  1 +jQuery('#manage-profiles .results').replaceWith('<%= escape_javascript(render 'results') %>');
app/views/shared/logged_in/xmpp_chat.html.erb
@@ -7,13 +7,13 @@ @@ -7,13 +7,13 @@
7 var $own_name = '<%= user.name %>'; 7 var $own_name = '<%= user.name %>';
8 var $muc_domain = '<%= "conference.#{environment.default_hostname}" %>'; 8 var $muc_domain = '<%= "conference.#{environment.default_hostname}" %>';
9 var $bosh_service = '//<%= environment.default_hostname %>/http-bind'; 9 var $bosh_service = '//<%= environment.default_hostname %>/http-bind';
10 - var $user_unavailable_error = '<%= _("<strong>ooops!</strong> The message could not be sent because the user is not online") %>'; 10 + var $user_unavailable_error = '<%= _("The user is not online now. He/She will receive these messages as soon as he/she gets online.") %>';
11 var $update_presence_status_every = <%= User.expires_chat_status_every.minutes %>; 11 var $update_presence_status_every = <%= User.expires_chat_status_every.minutes %>;
12 var $presence = '<%= current_user.last_chat_status %>'; 12 var $presence = '<%= current_user.last_chat_status %>';
13 </script> 13 </script>
14 14
15 -  
16 <div id="chat-label"> 15 <div id="chat-label">
  16 + <span id="unread-messages"></span>
17 <span class="right-arrow">&#9654;</span> 17 <span class="right-arrow">&#9654;</span>
18 <span class="title"><%= _('Chat') %></span> 18 <span class="title"><%= _('Chat') %></span>
19 </div> 19 </div>
@@ -98,10 +98,5 @@ @@ -98,10 +98,5 @@
98 </div> 98 </div>
99 </div> 99 </div>
100 </div> 100 </div>
101 -  
102 - <div class="error-message">  
103 - <span class='error'>%{text}</span>  
104 - </div>  
105 -  
106 </div> 101 </div>
107 </div> 102 </div>
app/views/shared/profile_actions/xmpp_chat.html.erb 0 → 100644
@@ -0,0 +1,8 @@ @@ -0,0 +1,8 @@
  1 +<% label_name = profile.person? ? _('Open chat') : _('Join chat room') %>
  2 +<% display = profile.person? ? profile.friends.include?(user) : profile.members.include?(user) %>
  3 +
  4 +<% if display %>
  5 + <li>
  6 + <%= button(:chat, label_name , {}, :class => 'open-conversation', 'data-jid' => profile.jid) %>
  7 + </li>
  8 +<% end %>
app/views/tasks/_task.html.erb
@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
2 2
3 <%= render :partial => 'task_icon', :locals => {:task => task} %> 3 <%= render :partial => 'task_icon', :locals => {:task => task} %>
4 4
5 - <% if profile.organization? && @responsible_candidates.present? %> 5 + <% if !@view_only && profile.organization? && @responsible_candidates.present? %>
6 <div class="task_responsible"> 6 <div class="task_responsible">
7 <span class="label"><%= _('Assign to:') %></span> 7 <span class="label"><%= _('Assign to:') %></span>
8 <span> 8 <span>
@@ -12,8 +12,16 @@ @@ -12,8 +12,16 @@
12 </div> 12 </div>
13 <% end %> 13 <% end %>
14 14
  15 + <% if @view_only && task.responsible.present? %>
  16 + <div class="task_responsible">
  17 + <span class="label"><%= _('Assigned to:') %></span>
  18 + <span class="value"><%= task.responsible.name %></span>
  19 + </div>
  20 + <% end %>
  21 +
15 <div class="task_decisions"> 22 <div class="task_decisions">
16 - <%= 23 + <% unless @view_only %>
  24 + <%=
17 labelled_radio_button(_("Accept"), "tasks[#{task.id}][decision]", 'finish', task.default_decision == 'accept', 25 labelled_radio_button(_("Accept"), "tasks[#{task.id}][decision]", 'finish', task.default_decision == 'accept',
18 :id => "decision-finish-#{task.id}", 26 :id => "decision-finish-#{task.id}",
19 :class => 'task_accept_radio', 27 :class => 'task_accept_radio',
@@ -29,7 +37,8 @@ @@ -29,7 +37,8 @@
29 :class => 'task_skip_radio', 37 :class => 'task_skip_radio',
30 :disabled => task.skip_disabled?, 38 :disabled => task.skip_disabled?,
31 :task_id => "#{task.id}") 39 :task_id => "#{task.id}")
32 - %> 40 + %>
  41 + <% end %>
33 </div><!-- class="task_decisions" --> 42 </div><!-- class="task_decisions" -->
34 43
35 <div class="task_date"><%= show_time(task.created_at) %></div> 44 <div class="task_date"><%= show_time(task.created_at) %></div>
app/views/tasks/index.html.erb
@@ -29,9 +29,11 @@ @@ -29,9 +29,11 @@
29 <p> 29 <p>
30 <%= labelled_text_field(_("Text filter")+': ', :filter_text, nil, {:id => 'filter-text',:value => @filter_text}) %> 30 <%= labelled_text_field(_("Text filter")+': ', :filter_text, nil, {:id => 'filter-text',:value => @filter_text}) %>
31 </p> 31 </p>
32 - <p>  
33 - <%= labelled_select(_('Assigned to')+': ', :filter_responsible, :id, :name, @filter_responsible, [OpenStruct.new(:name => _('All'), :id => nil), OpenStruct.new(:name => _('Unassigned'), :id => -1)] + @responsible_candidates) %>  
34 - </p> 32 + <% if profile.organization? %>
  33 + <p>
  34 + <%= labelled_select(_('Assigned to')+': ', :filter_responsible, :id, :name, @filter_responsible, [OpenStruct.new(:name => _('All'), :id => nil), OpenStruct.new(:name => _('Unassigned'), :id => -1)] + @responsible_candidates, :class => 'filter_responsible') %>
  35 + </p>
  36 + <% end %>
35 <p> 37 <p>
36 <%= submit_button(:search, _('Search')) %> 38 <%= submit_button(:search, _('Search')) %>
37 </p> 39 </p>
@@ -44,25 +46,30 @@ @@ -44,25 +46,30 @@
44 </p> 46 </p>
45 <% else %> 47 <% else %>
46 <%= form_tag :action => 'close' do%> 48 <%= form_tag :action => 'close' do%>
47 - <% button_bar do %> 49 + <% button_bar(:class => 'task-actions') do %>
48 <%# FiXME button(:edit, _('View my requests'), :action => 'list_requested') %> 50 <%# FiXME button(:edit, _('View my requests'), :action => 'list_requested') %>
49 <%# FIXME button('menu-mail', _('Send request'), :action => 'new') %> 51 <%# FIXME button('menu-mail', _('Send request'), :action => 'new') %>
50 <%= submit_button :save, _("Apply!") %> 52 <%= submit_button :save, _("Apply!") %>
51 <%= button(:edit, _('View processed tasks'), :action => 'processed') %> 53 <%= button(:edit, _('View processed tasks'), :action => 'processed') %>
52 <%= button(:back, _('Back to control panel'), :controller => 'profile_editor') %> 54 <%= button(:back, _('Back to control panel'), :controller => 'profile_editor') %>
53 - <% end %> 55 + <% end unless @view_only %>
54 56
55 <ul class='task-list'> 57 <ul class='task-list'>
56 - <p>  
57 - <%= labelled_select(_("Set all to: "), 'set-decisions', 'first', 'last', nil, [['',""],['accept',_("Accept")],['reject',_("Reject")],['skip',_("Skip")]], :id => "up-set-all-tasks-to") %>  
58 - </p> 58 + <% unless @view_only %>
  59 + <p>
  60 + <%= labelled_select(_("Set all to: "), 'set-decisions', 'first', 'last', nil, [['',""],['accept',_("Accept")],['reject',_("Reject")],['skip',_("Skip")]], :id => "up-set-all-tasks-to") %>
  61 + </p>
  62 + <% end %>
59 63
60 <div class="task_boxes"> 64 <div class="task_boxes">
61 <%= render :partial => 'task', :collection => @tasks %> 65 <%= render :partial => 'task', :collection => @tasks %>
62 </div> 66 </div>
63 - <p>  
64 - <%= labelled_select(_("Set all to: "), 'set-decisions', 'first', 'last', nil, [['',""],['accept',_("Accept")],['reject',_("Reject")],['skip',_("Skip")]], :id => "down-set-all-tasks-to") %>  
65 - </p> 67 +
  68 + <% unless @view_only %>
  69 + <p>
  70 + <%= labelled_select(_("Set all to: "), 'set-decisions', 'first', 'last', nil, [['',""],['accept',_("Accept")],['reject',_("Reject")],['skip',_("Skip")]], :id => "down-set-all-tasks-to") %>
  71 + </p>
  72 + <% end %>
66 </ul> 73 </ul>
67 74
68 <script> 75 <script>
@@ -74,13 +81,13 @@ @@ -74,13 +81,13 @@
74 81
75 <%= pagination_links(@tasks)%> 82 <%= pagination_links(@tasks)%>
76 83
77 - <% button_bar do %> 84 + <% button_bar(:class => 'task-actions') do %>
78 <%# FiXME button(:edit, _('View my requests'), :action => 'list_requested') %> 85 <%# FiXME button(:edit, _('View my requests'), :action => 'list_requested') %>
79 <%# FIXME button('menu-mail', _('Send request'), :action => 'new') %> 86 <%# FIXME button('menu-mail', _('Send request'), :action => 'new') %>
80 <%= submit_button :save, _("Apply!") %> 87 <%= submit_button :save, _("Apply!") %>
81 <%= button(:edit, _('View processed tasks'), :action => 'processed') %> 88 <%= button(:edit, _('View processed tasks'), :action => 'processed') %>
82 <%= button(:back, _('Back to control panel'), :controller => 'profile_editor') %> 89 <%= button(:back, _('Back to control panel'), :controller => 'profile_editor') %>
83 - <% end %> 90 + <% end unless @view_only %>
84 <% end %> 91 <% end %>
85 <% end %> 92 <% end %>
86 </p> 93 </p>
app/views/users/_users_list.html.erb
1 -<div class="environment-users-results-header">  
2 - <div id='environment-users-filter-title'><%= users_filter_title(@filter) %></div> 1 +<div class="environment-profiles-results-header">
  2 + <div id='environment-profiles-filter-title'><%= users_filter_title(@filter) %></div>
3 <%= filter_selector(@filter) %> 3 <%= filter_selector(@filter) %>
4 <div style="clear: both"></div> 4 <div style="clear: both"></div>
5 </div> 5 </div>
@@ -4,7 +4,7 @@ require ::File.expand_path(&#39;../config/environment&#39;, __FILE__) @@ -4,7 +4,7 @@ require ::File.expand_path(&#39;../config/environment&#39;, __FILE__)
4 4
5 #use Rails::Rack::LogTailer 5 #use Rails::Rack::LogTailer
6 #use Rails::Rack::Static 6 #use Rails::Rack::Static
7 -#run ActionController::Dispatcher.news 7 +#run ActionController::Dispatcher.new
8 8
9 rails_app = Rack::Builder.new do 9 rails_app = Rack::Builder.new do
10 run Noosfero::Application 10 run Noosfero::Application
config/initializers/delayed_job_config.rb
@@ -23,3 +23,13 @@ end @@ -23,3 +23,13 @@ end
23 # end 23 # end
24 # alias_method_chain :handle_failed_job, :loggin 24 # alias_method_chain :handle_failed_job, :loggin
25 #end 25 #end
  26 +
  27 +# Chain delayed job's handle_failed_job method to do exception notification
  28 +Delayed::Worker.class_eval do
  29 + def handle_failed_job_with_notification job, error
  30 + handle_failed_job_without_notification job, error
  31 + ExceptionNotifier.notify_exception error, exception_recipients: NOOSFERO_CONF['exception_recipients'],
  32 + data: {job: job, handler: job.handler} rescue nil
  33 + end
  34 + alias_method_chain :handle_failed_job, :notification
  35 +end
config/initializers/wrap_parameters.rb 0 → 100644
@@ -0,0 +1,13 @@ @@ -0,0 +1,13 @@
  1 +# Be sure to restart your server when you modify this file.
  2 +# This file contains settings for ActionController::ParamsWrapper which
  3 +# is enabled by default.
  4 +
  5 +# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
  6 +ActiveSupport.on_load(:action_controller) do
  7 + wrap_parameters :format => []
  8 +end
  9 +
  10 +# Disable root element in JSON by default.
  11 +ActiveSupport.on_load(:active_record) do
  12 + self.include_root_in_json = false
  13 +end
db/migrate/20140407013817_add_private_token_info_to_users.rb 0 → 100644
@@ -0,0 +1,11 @@ @@ -0,0 +1,11 @@
  1 +class AddPrivateTokenInfoToUsers < ActiveRecord::Migration
  2 + def self.up
  3 + add_column :users, :private_token, :string
  4 + add_column :users, :private_token_generated_at, :datetime
  5 + end
  6 +
  7 + def self.down
  8 + remove_column :users, :private_token
  9 + remove_column :users, :private_token_generated_at
  10 + end
  11 +end
db/migrate/20140820173129_create_chat_messages.rb
1 class CreateChatMessages < ActiveRecord::Migration 1 class CreateChatMessages < ActiveRecord::Migration
2 - def change 2 + def up
3 create_table :chat_messages do |t| 3 create_table :chat_messages do |t|
4 t.integer :to_id 4 t.integer :to_id
5 t.integer :from_id 5 t.integer :from_id
@@ -8,4 +8,8 @@ class CreateChatMessages &lt; ActiveRecord::Migration @@ -8,4 +8,8 @@ class CreateChatMessages &lt; ActiveRecord::Migration
8 t.timestamps 8 t.timestamps
9 end 9 end
10 end 10 end
  11 +
  12 + def down
  13 + drop_table :chat_messages
  14 + end
11 end 15 end
db/migrate/20141014205254_change_chat_messages_columns_and_add_indexes.rb 0 → 100644
@@ -0,0 +1,23 @@ @@ -0,0 +1,23 @@
  1 +class ChangeChatMessagesColumnsAndAddIndexes < ActiveRecord::Migration
  2 + def up
  3 + change_table :chat_messages do |t|
  4 + t.change :from_id, :integer, :null => false
  5 + t.change :to_id, :integer, :null => false
  6 + t.change :body, :text
  7 + end
  8 + add_index :chat_messages, :from_id
  9 + add_index :chat_messages, :to_id
  10 + add_index :chat_messages, :created_at
  11 + end
  12 +
  13 + def down
  14 + remove_index :chat_messages, :from_id
  15 + remove_index :chat_messages, :to_id
  16 + remove_index :chat_messages, :created_at
  17 + change_table :chat_messages do |t|
  18 + t.change :from_id, :integer, :null => true
  19 + t.change :to_id, :integer, :null => true
  20 + t.change :body, :string
  21 + end
  22 + end
  23 +end
db/migrate/20150223180807_add_private_token_info_to_users.rb
@@ -1,11 +0,0 @@ @@ -1,11 +0,0 @@
1 -class AddPrivateTokenInfoToUsers < ActiveRecord::Migration  
2 - def self.up  
3 - add_column :users, :private_token, :string  
4 - add_column :users, :private_token_generated_at, :datetime  
5 - end  
6 -  
7 - def self.down  
8 - remove_column :users, :private_token  
9 - remove_column :users, :private_token_generated_at  
10 - end  
11 -end  
db/migrate/20150429145001_add_mirror_to_block.rb 0 → 100644
@@ -0,0 +1,15 @@ @@ -0,0 +1,15 @@
  1 +class AddMirrorToBlock < ActiveRecord::Migration
  2 + def up
  3 + change_table :blocks do |t|
  4 + t.boolean :mirror, :default => false
  5 + t.references :mirror_block
  6 + t.references :observers
  7 + end
  8 + end
  9 +
  10 + def down
  11 + remove_column :blocks, :mirror
  12 + remove_column :blocks, :mirror_block_id
  13 + remove_column :blocks, :observers_id
  14 + end
  15 +end
@@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@
11 # 11 #
12 # It's strongly recommended to check this file into your version control system. 12 # It's strongly recommended to check this file into your version control system.
13 13
14 -ActiveRecord::Schema.define(:version => 20150513213939) do 14 +ActiveRecord::Schema.define(:version => 20150525101430) do
15 15
16 create_table "abuse_reports", :force => true do |t| 16 create_table "abuse_reports", :force => true do |t|
17 t.integer "reporter_id" 17 t.integer "reporter_id"
@@ -183,10 +183,13 @@ ActiveRecord::Schema.define(:version =&gt; 20150513213939) do @@ -183,10 +183,13 @@ ActiveRecord::Schema.define(:version =&gt; 20150513213939) do
183 t.string "type" 183 t.string "type"
184 t.text "settings" 184 t.text "settings"
185 t.integer "position" 185 t.integer "position"
186 - t.boolean "enabled", :default => true 186 + t.boolean "enabled", :default => true
187 t.datetime "created_at" 187 t.datetime "created_at"
188 t.datetime "updated_at" 188 t.datetime "updated_at"
189 t.datetime "fetched_at" 189 t.datetime "fetched_at"
  190 + t.boolean "mirror", :default => false
  191 + t.integer "mirror_block_id"
  192 + t.integer "observers_id"
190 end 193 end
191 194
192 add_index "blocks", ["box_id"], :name => "index_blocks_on_box_id" 195 add_index "blocks", ["box_id"], :name => "index_blocks_on_box_id"
@@ -242,13 +245,17 @@ ActiveRecord::Schema.define(:version =&gt; 20150513213939) do @@ -242,13 +245,17 @@ ActiveRecord::Schema.define(:version =&gt; 20150513213939) do
242 end 245 end
243 246
244 create_table "chat_messages", :force => true do |t| 247 create_table "chat_messages", :force => true do |t|
245 - t.integer "to_id"  
246 - t.integer "from_id"  
247 - t.string "body" 248 + t.integer "from_id", :null => false
  249 + t.integer "to_id", :null => false
  250 + t.text "body"
248 t.datetime "created_at", :null => false 251 t.datetime "created_at", :null => false
249 t.datetime "updated_at", :null => false 252 t.datetime "updated_at", :null => false
250 end 253 end
251 254
  255 + add_index "chat_messages", ["created_at"], :name => "index_chat_messages_on_created_at"
  256 + add_index "chat_messages", ["from_id"], :name => "index_chat_messages_on_from_id"
  257 + add_index "chat_messages", ["to_id"], :name => "index_chat_messages_on_to_id"
  258 +
252 create_table "comments", :force => true do |t| 259 create_table "comments", :force => true do |t|
253 t.string "title" 260 t.string "title"
254 t.text "body" 261 t.text "body"
@@ -264,6 +271,7 @@ ActiveRecord::Schema.define(:version =&gt; 20150513213939) do @@ -264,6 +271,7 @@ ActiveRecord::Schema.define(:version =&gt; 20150513213939) do
264 t.string "user_agent" 271 t.string "user_agent"
265 t.string "referrer" 272 t.string "referrer"
266 t.text "settings" 273 t.text "settings"
  274 + t.integer "paragraph_id"
267 end 275 end
268 276
269 add_index "comments", ["source_id", "spam"], :name => "index_comments_on_source_id_and_spam" 277 add_index "comments", ["source_id", "spam"], :name => "index_comments_on_source_id_and_spam"
@@ -677,12 +685,13 @@ ActiveRecord::Schema.define(:version =&gt; 20150513213939) do @@ -677,12 +685,13 @@ ActiveRecord::Schema.define(:version =&gt; 20150513213939) do
677 t.date "end_date" 685 t.date "end_date"
678 t.integer "requestor_id" 686 t.integer "requestor_id"
679 t.integer "target_id" 687 t.integer "target_id"
680 - t.string "code", :limit => 40 688 + t.string "code", :limit => 40
681 t.string "type" 689 t.string "type"
682 t.datetime "created_at" 690 t.datetime "created_at"
683 t.string "target_type" 691 t.string "target_type"
684 t.integer "image_id" 692 t.integer "image_id"
685 - t.boolean "spam", :default => false 693 + t.boolean "spam", :default => false
  694 + t.integer "responsible_id"
686 end 695 end
687 696
688 add_index "tasks", ["requestor_id"], :name => "index_tasks_on_requestor_id" 697 add_index "tasks", ["requestor_id"], :name => "index_tasks_on_requestor_id"
debian/update-noosfero-apache
@@ -21,6 +21,13 @@ if test -x /usr/share/noosfero/script/apacheconf; then @@ -21,6 +21,13 @@ if test -x /usr/share/noosfero/script/apacheconf; then
21 if ! test -e "$apache_site"; then 21 if ! test -e "$apache_site"; then
22 echo "Generating apache virtual host ..." 22 echo "Generating apache virtual host ..."
23 cd /usr/share/noosfero && su noosfero -c "RAILS_ENV=production ./script/apacheconf virtualhosts" > "$apache_site" 23 cd /usr/share/noosfero && su noosfero -c "RAILS_ENV=production ./script/apacheconf virtualhosts" > "$apache_site"
  24 + else
  25 + pattern="Include \/etc\/noosfero\/apache\/virtualhost.conf"
  26 + include="Include \/usr\/share\/noosfero\/util\/chat\/apache\/xmpp.conf"
  27 + if ! cat $apache_site | grep "^ *$include" > /dev/null ; then
  28 + echo "Updating apache virtual host ..."
  29 + sed -i "s/.*$pattern.*/ $include\n&/" $apache_site
  30 + fi
24 fi 31 fi
25 32
26 echo 'Noosfero Apache configuration updated.' 33 echo 'Noosfero Apache configuration updated.'
  1 +User "www-data"
  2 +Group "www-data"
1 LogLevel 1 3 LogLevel 1
2 Alive 10 4 Alive 10
3 Client 120 5 Client 120
features/template_block_management.feature 0 → 100644
@@ -0,0 +1,64 @@ @@ -0,0 +1,64 @@
  1 +Feature: user template
  2 + As an user
  3 + I want to create templates with mirror blocks
  4 + In order to keep these blocks always updated
  5 +
  6 + Background:
  7 + Given the following users
  8 + | login | name | is_template |
  9 + | person | person | true |
  10 + And the following blocks
  11 + | owner | type | mirror |
  12 + | person | ArticleBlock | true |
  13 + | person | RawHTMLBlock | false |
  14 + And I go to /account/signup
  15 + And I fill in "Username" with "mario"
  16 + And I fill in "Password" with "123456"
  17 + And I fill in "Password confirmation" with "123456"
  18 + And I fill in "e-Mail" with "mario@mario.com"
  19 + And I fill in "Full name" with "Mario"
  20 + And wait for the captcha signup time
  21 + And I press "Create my account"
  22 + And I am logged in as admin
  23 +
  24 + @selenium
  25 + Scenario: The block Article name is changed
  26 + Given I am on person's control panel
  27 + And I follow "Edit sideboxes"
  28 + And display ".button-bar"
  29 + And I follow "Edit" within ".article-block"
  30 + And I fill in "Custom title for this block:" with "Mirror"
  31 + And I press "Save"
  32 + And I go to /profile/mario
  33 + Then I should see "Mirror"
  34 +
  35 + @selenium
  36 + Scenario: The block LinkList is changed but the user's block doesnt change
  37 + Given I am on person's control panel
  38 + And I follow "Edit sideboxes"
  39 + And display ".button-bar"
  40 + And I follow "Edit" within ".raw-html-block"
  41 + And I fill in "Custom title for this block:" with "Raw HTML Block"
  42 + And I press "Save"
  43 + And I go to /profile/mario
  44 + Then I should not see "Raw HTML Block"
  45 +
  46 + @selenium
  47 + Scenario: The block Article cannot move or modify
  48 + Given I am on person's control panel
  49 + And I follow "Edit sideboxes"
  50 + And display ".button-bar"
  51 + And I follow "Edit" within ".article-block"
  52 + And I select "Cannot be moved" from "Move options:"
  53 + And I select "Cannot be modified" from "Edit options:"
  54 + And I press "Save"
  55 + And I follow "Logout"
  56 + And Mario's account is activated
  57 + And I follow "Login"
  58 + And I fill in "Username / Email" with "mario"
  59 + And I fill in "Password" with "123456"
  60 + And I press "Log in"
  61 + And I go to /myprofile/mario
  62 + And I follow "Edit sideboxes"
  63 + And display ".button-bar"
  64 + Then I should not see "Edit" within ".article-block"
lib/noosfero/api/api.rb
@@ -44,6 +44,7 @@ module Noosfero @@ -44,6 +44,7 @@ module Noosfero
44 mount V1::People 44 mount V1::People
45 mount V1::Enterprises 45 mount V1::Enterprises
46 mount V1::Categories 46 mount V1::Categories
  47 + mount V1::Tasks
47 mount Session 48 mount Session
48 49
49 # hook point which allow plugins to add Grape::API extensions to API::API 50 # hook point which allow plugins to add Grape::API extensions to API::API
lib/noosfero/api/entities.rb
@@ -107,6 +107,7 @@ module Noosfero @@ -107,6 +107,7 @@ module Noosfero
107 end 107 end
108 108
109 class Task < Entity 109 class Task < Entity
  110 + root 'tasks', 'task'
110 expose :id 111 expose :id
111 expose :type 112 expose :type
112 end 113 end
lib/noosfero/api/helpers.rb
@@ -50,6 +50,11 @@ module Noosfero @@ -50,6 +50,11 @@ module Noosfero
50 article.display_to?(current_user.person) ? article : forbidden! 50 article.display_to?(current_user.person) ? article : forbidden!
51 end 51 end
52 52
  53 + def find_task(tasks, id)
  54 + task = tasks.find(id)
  55 + task.display_to?(current_user.person) ? task : forbidden!
  56 + end
  57 +
53 def make_conditions_with_parameter(params = {}) 58 def make_conditions_with_parameter(params = {})
54 parsed_params = parser_params(params) 59 parsed_params = parser_params(params)
55 conditions = {} 60 conditions = {}
lib/noosfero/api/request_logger.rb
@@ -9,7 +9,6 @@ module Noosfero @@ -9,7 +9,6 @@ module Noosfero
9 path: request.path, 9 path: request.path,
10 params: request.params.to_hash.except('password'), 10 params: request.params.to_hash.except('password'),
11 method: request.request_method, 11 method: request.request_method,
12 - total: (duration * 1000).round(2),  
13 } 12 }
14 end 13 end
15 end 14 end
lib/noosfero/api/v1/tasks.rb 0 → 100644
@@ -0,0 +1,164 @@ @@ -0,0 +1,164 @@
  1 +module Noosfero
  2 + module API
  3 + module V1
  4 + class Tasks < Grape::API
  5 +# before { authenticate! }
  6 +
  7 +# ARTICLE_TYPES = Article.descendants.map{|a| a.to_s}
  8 +
  9 + resource :tasks do
  10 +
  11 + # Collect tasks
  12 + #
  13 + # Parameters:
  14 + # from - date where the search will begin. If nothing is passed the default date will be the date of the first article created
  15 + # oldest - Collect the oldest articles. If nothing is passed the newest articles are collected
  16 + # limit - amount of articles returned. The default value is 20
  17 + #
  18 + # Example Request:
  19 + # GET host/api/v1/tasks?from=2013-04-04-14:41:43&until=2015-04-04-14:41:43&limit=10&private_token=e96fff37c2238fdab074d1dcea8e6317
  20 + get do
  21 + #FIXME check for permission
  22 + tasks = select_filtered_collection_of(environment, 'tasks', params)
  23 + present tasks, :with => Entities::Task, :fields => params[:fields]
  24 + end
  25 +
  26 + desc "Return the task id"
  27 + get ':id' do
  28 + task = find_task(environment.tasks, params[:id])
  29 + present task, :with => Entities::Task, :fields => params[:fields]
  30 + end
  31 +
  32 +
  33 + end
  34 +
  35 + resource :communities do
  36 + segment '/:community_id' do
  37 + resource :tasks do
  38 + get do
  39 + #FIXME check for permission
  40 + community = environment.communities.find(params[:community_id])
  41 + tasks = select_filtered_collection_of(community, 'tasks', params)
  42 + present tasks, :with => Entities::Task, :fields => params[:fields]
  43 + end
  44 +
  45 + get ':id' do
  46 + community = environment.communities.find(params[:community_id])
  47 + task = find_task(community.tasks, params[:id])
  48 + present task, :with => Entities::Task, :fields => params[:fields]
  49 + end
  50 +
  51 + # Example Request:
  52 + # POST api/v1/communites/:community_id/articles?private_token=234298743290432&article[name]=title&article[body]=body
  53 + post do
  54 + community = environment.communities.find(params[:community_id])
  55 +#FIXME see the correct permission
  56 + return forbidden! unless current_person.can_post_content?(community)
  57 +#FIXME check the task type before create
  58 + klass_type= params[:content_type].nil? ? 'Task' : params[:content_type]
  59 +# return forbidden! unless ARTICLE_TYPES.include?(klass_type)
  60 +#
  61 + task = klass_type.constantize.new(params[:task])
  62 + task.requestor = current_person
  63 + task.target = community
  64 +
  65 + if !task.save
  66 + render_api_errors!(task.errors.full_messages)
  67 + end
  68 + present task, :with => Entities::Task, :fields => params[:fields]
  69 + end
  70 +
  71 + end
  72 + end
  73 +
  74 + end
  75 +
  76 + resource :people do
  77 + segment '/:person_id' do
  78 + resource :tasks do
  79 + get do
  80 +# person = environment.people.find(params[:person_id])
  81 +# articles = select_filtered_collection_of(person, 'articles', params)
  82 +# articles = articles.display_filter(current_person, person)
  83 +tasks = Task.all
  84 + present tasks, :with => Entities::Task, :fields => params[:fields]
  85 + end
  86 +
  87 + get ':id' do
  88 +# person = environment.people.find(params[:person_id])
  89 +# article = find_article(person.articles, params[:id])
  90 +task = Task.first
  91 + present task, :with => Entities::Task, :fields => params[:fields]
  92 + end
  93 +
  94 + post do
  95 +# person = environment.people.find(params[:person_id])
  96 +# return forbidden! unless current_person.can_post_content?(person)
  97 +#
  98 +# klass_type= params[:content_type].nil? ? 'TinyMceArticle' : params[:content_type]
  99 +# return forbidden! unless ARTICLE_TYPES.include?(klass_type)
  100 +#
  101 +# article = klass_type.constantize.new(params[:article])
  102 +# article.last_changed_by = current_person
  103 +# article.created_by= current_person
  104 +# article.profile = person
  105 +#
  106 +# if !article.save
  107 +# render_api_errors!(article.errors.full_messages)
  108 +# end
  109 +task = Task.first
  110 + present task, :with => Entities::Task, :fields => params[:fields]
  111 + end
  112 +
  113 + end
  114 + end
  115 +
  116 + end
  117 +
  118 + resource :enterprises do
  119 + segment '/:enterprise_id' do
  120 + resource :tasks do
  121 + get do
  122 +# enterprise = environment.enterprises.find(params[:enterprise_id])
  123 +# articles = select_filtered_collection_of(enterprise, 'articles', params)
  124 +# articles = articles.display_filter(current_person, enterprise)
  125 +tasks = Task.all
  126 + present tasks, :with => Entities::Task, :fields => params[:fields]
  127 + end
  128 +
  129 + get ':id' do
  130 +# enterprise = environment.enterprises.find(params[:enterprise_id])
  131 +# article = find_article(enterprise.articles, params[:id])
  132 +task = Task.first
  133 + present task, :with => Entities::Task, :fields => params[:fields]
  134 + end
  135 +
  136 + post do
  137 +# enterprise = environment.enterprises.find(params[:enterprise_id])
  138 +# return forbidden! unless current_person.can_post_content?(enterprise)
  139 +#
  140 +# klass_type= params[:content_type].nil? ? 'TinyMceArticle' : params[:content_type]
  141 +# return forbidden! unless ARTICLE_TYPES.include?(klass_type)
  142 +#
  143 +# article = klass_type.constantize.new(params[:article])
  144 +# article.last_changed_by = current_person
  145 +# article.created_by= current_person
  146 +# article.profile = enterprise
  147 +#
  148 +# if !article.save
  149 +# render_api_errors!(article.errors.full_messages)
  150 +# end
  151 +task = Task.first
  152 + present task, :with => Entities::Task, :fields => params[:fields]
  153 + end
  154 +
  155 + end
  156 + end
  157 +
  158 + end
  159 +
  160 +
  161 + end
  162 + end
  163 + end
  164 +end
lib/noosfero/geo_ref.rb 0 → 100644
@@ -0,0 +1,6 @@ @@ -0,0 +1,6 @@
  1 +module Noosfero::GeoRef
  2 +
  3 + KM_LAT = 111.2 # aproximate distance in km for 1 degree latitude
  4 + KM_LNG = 85.3 # aproximate distance in km for 1 degree longitude
  5 +
  6 +end
lib/noosfero/plugin.rb
@@ -205,9 +205,9 @@ class Noosfero::Plugin @@ -205,9 +205,9 @@ class Noosfero::Plugin
205 def api_mount_points 205 def api_mount_points
206 [] 206 []
207 end 207 end
  208 +
208 end 209 end
209 210
210 - #FIXME make this test  
211 def has_block?(block) 211 def has_block?(block)
212 self.class.extra_blocks.keys.include?(block) 212 self.class.extra_blocks.keys.include?(block)
213 end 213 end
@@ -263,10 +263,11 @@ class Noosfero::Plugin @@ -263,10 +263,11 @@ class Noosfero::Plugin
263 end 263 end
264 264
265 # -> Adds buttons to the control panel 265 # -> Adds buttons to the control panel
266 - # returns = { :title => title, :icon => icon, :url => url }  
267 - # title = name that will be displayed.  
268 - # icon = css class name (for customized icons include them in a css file).  
269 - # url = url or route to which the button will redirect. 266 + # returns = { :title => title, :icon => icon, :url => url }
  267 + # title = name that will be displayed.
  268 + # icon = css class name (for customized icons include them in a css file).
  269 + # url = url or route to which the button will redirect.
  270 + # html_options = aditional html options.
270 def control_panel_buttons 271 def control_panel_buttons
271 nil 272 nil
272 end 273 end
@@ -309,6 +310,18 @@ class Noosfero::Plugin @@ -309,6 +310,18 @@ class Noosfero::Plugin
309 nil 310 nil
310 end 311 end
311 312
  313 + # -> Filters the types of organizations that are shown on manage organizations
  314 + # returns a scope filtered by the specified type
  315 + def filter_manage_organization_scope type
  316 + nil
  317 + end
  318 +
  319 + # -> Add new options for manage organization filters
  320 + # returns an array of new options
  321 + # i.e [[_('Type'), 'type'], [_('Type2'), 'type2']]
  322 + def organization_types_filter_options
  323 + nil
  324 + end
312 # -> Adds content to profile editor info and settings 325 # -> Adds content to profile editor info and settings
313 # returns = lambda block that creates html code or raw rhtml/html.erb 326 # returns = lambda block that creates html code or raw rhtml/html.erb
314 def profile_editor_extras 327 def profile_editor_extras
plugins/anti_spam/po/de/anti_spam.po
@@ -6,8 +6,8 @@ @@ -6,8 +6,8 @@
6 # 6 #
7 msgid "" 7 msgid ""
8 msgstr "" 8 msgstr ""
9 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
10 -"POT-Creation-Date: 2015-03-05 12:10-0300\n" 9 +"Project-Id-Version: 1.1-166-gaf47713\n"
  10 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
11 "PO-Revision-Date: 2014-12-12 14:23+0200\n" 11 "PO-Revision-Date: 2014-12-12 14:23+0200\n"
12 "Last-Translator: Michal Čihař <michal@cihar.com>\n" 12 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
13 "Language-Team: German <https://hosted.weblate.org/projects/noosfero/noosfero/" 13 "Language-Team: German <https://hosted.weblate.org/projects/noosfero/noosfero/"
plugins/anti_spam/po/pt/anti_spam.po
@@ -11,8 +11,8 @@ @@ -11,8 +11,8 @@
11 # 11 #
12 msgid "" 12 msgid ""
13 msgstr "" 13 msgstr ""
14 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
15 -"POT-Creation-Date: 2015-03-05 12:10-0300\n" 14 +"Project-Id-Version: 1.1-166-gaf47713\n"
  15 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
16 "PO-Revision-Date: 2014-12-18 18:40-0200\n" 16 "PO-Revision-Date: 2014-12-18 18:40-0200\n"
17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n" 17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n"
18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/" 18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/"
plugins/breadcrumbs/po/pt/breadcrumbs.po
@@ -11,8 +11,8 @@ @@ -11,8 +11,8 @@
11 # 11 #
12 msgid "" 12 msgid ""
13 msgstr "" 13 msgstr ""
14 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
15 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 14 +"Project-Id-Version: 1.1-166-gaf47713\n"
  15 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
16 "PO-Revision-Date: 2014-12-18 18:40-0200\n" 16 "PO-Revision-Date: 2014-12-18 18:40-0200\n"
17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n" 17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n"
18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/" 18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/"
@@ -28,15 +28,15 @@ msgstr &quot;&quot; @@ -28,15 +28,15 @@ msgstr &quot;&quot;
28 msgid "A plugin that add a block to display breadcrumbs." 28 msgid "A plugin that add a block to display breadcrumbs."
29 msgstr "Um plugin que adiciona um bloco que mostra caminhos de pão." 29 msgstr "Um plugin que adiciona um bloco que mostra caminhos de pão."
30 30
31 -#: plugins/breadcrumbs/lib/breadcrumbs_plugin/content_breadcrumbs_block.rb:9 31 +#: plugins/breadcrumbs/lib/breadcrumbs_plugin/content_breadcrumbs_block.rb:10
32 msgid "Content Breadcrumbs" 32 msgid "Content Breadcrumbs"
33 msgstr "Conteúdo de Caminho de Pão" 33 msgstr "Conteúdo de Caminho de Pão"
34 34
35 -#: plugins/breadcrumbs/lib/breadcrumbs_plugin/content_breadcrumbs_block.rb:13 35 +#: plugins/breadcrumbs/lib/breadcrumbs_plugin/content_breadcrumbs_block.rb:14
36 msgid "This block displays breadcrumb trail." 36 msgid "This block displays breadcrumb trail."
37 msgstr "Esse bloco mostra o rastro de caminho de pão." 37 msgstr "Esse bloco mostra o rastro de caminho de pão."
38 38
39 -#: plugins/breadcrumbs/lib/breadcrumbs_plugin/content_breadcrumbs_block.rb:56 39 +#: plugins/breadcrumbs/lib/breadcrumbs_plugin/content_breadcrumbs_block.rb:68
40 msgid "Upload Files" 40 msgid "Upload Files"
41 msgstr "Enviar Arquivos" 41 msgstr "Enviar Arquivos"
42 42
@@ -47,3 +47,8 @@ msgstr &quot;Mostrar cms&quot; @@ -47,3 +47,8 @@ msgstr &quot;Mostrar cms&quot;
47 #: plugins/breadcrumbs/views/box_organizer/breadcrumbs_plugin/_content_breadcrumbs_block.html.erb:3 47 #: plugins/breadcrumbs/views/box_organizer/breadcrumbs_plugin/_content_breadcrumbs_block.html.erb:3
48 msgid "Show profile" 48 msgid "Show profile"
49 msgstr "Mostrar perfil" 49 msgstr "Mostrar perfil"
  50 +
  51 +#: plugins/breadcrumbs/views/box_organizer/breadcrumbs_plugin/_content_breadcrumbs_block.html.erb:4
  52 +#, fuzzy
  53 +msgid "Show section name"
  54 +msgstr "Mostrar cms"
plugins/bsc/po/de/bsc.po
@@ -6,8 +6,8 @@ @@ -6,8 +6,8 @@
6 # 6 #
7 msgid "" 7 msgid ""
8 msgstr "" 8 msgstr ""
9 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
10 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 9 +"Project-Id-Version: 1.1-166-gaf47713\n"
  10 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
11 "PO-Revision-Date: 2014-12-12 14:23+0200\n" 11 "PO-Revision-Date: 2014-12-12 14:23+0200\n"
12 "Last-Translator: Michal Čihař <michal@cihar.com>\n" 12 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
13 "Language-Team: German <https://hosted.weblate.org/projects/noosfero/noosfero/" 13 "Language-Team: German <https://hosted.weblate.org/projects/noosfero/noosfero/"
plugins/bsc/po/es/bsc.po
@@ -5,8 +5,8 @@ @@ -5,8 +5,8 @@
5 # 5 #
6 msgid "" 6 msgid ""
7 msgstr "" 7 msgstr ""
8 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
9 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 8 +"Project-Id-Version: 1.1-166-gaf47713\n"
  9 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
10 "PO-Revision-Date: 2014-11-03 15:52+0200\n" 10 "PO-Revision-Date: 2014-11-03 15:52+0200\n"
11 "Last-Translator: Michal Čihař <michal@cihar.com>\n" 11 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
12 "Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/" 12 "Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/"
plugins/bsc/po/fr/bsc.po
@@ -4,9 +4,9 @@ @@ -4,9 +4,9 @@
4 # , 2009. 4 # , 2009.
5 msgid "" 5 msgid ""
6 msgstr "" 6 msgstr ""
7 -"Project-Id-Version: 1.0-690-gcb6e853\n" 7 +"Project-Id-Version: 1.1-166-gaf47713\n"
8 "Report-Msgid-Bugs-To: \n" 8 "Report-Msgid-Bugs-To: \n"
9 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 9 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
10 "PO-Revision-Date: 2014-12-12 14:22+0200\n" 10 "PO-Revision-Date: 2014-12-12 14:22+0200\n"
11 "Last-Translator: Michal Čihař <michal@cihar.com>\n" 11 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
12 "Language-Team: French <https://hosted.weblate.org/projects/noosfero/noosfero/" 12 "Language-Team: French <https://hosted.weblate.org/projects/noosfero/noosfero/"
plugins/bsc/po/hy/bsc.po
@@ -5,8 +5,8 @@ @@ -5,8 +5,8 @@
5 # 5 #
6 msgid "" 6 msgid ""
7 msgstr "" 7 msgstr ""
8 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
9 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 8 +"Project-Id-Version: 1.1-166-gaf47713\n"
  9 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
10 "PO-Revision-Date: 2009-10-26 16:20-0300\n" 10 "PO-Revision-Date: 2009-10-26 16:20-0300\n"
11 "Last-Translator: Anahit Minassian <anahit.minassian@cooperation.net>\n" 11 "Last-Translator: Anahit Minassian <anahit.minassian@cooperation.net>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n" 12 "Language-Team: LANGUAGE <LL@li.org>\n"
plugins/bsc/po/pt/bsc.po
@@ -11,8 +11,8 @@ @@ -11,8 +11,8 @@
11 # 11 #
12 msgid "" 12 msgid ""
13 msgstr "" 13 msgstr ""
14 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
15 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 14 +"Project-Id-Version: 1.1-166-gaf47713\n"
  15 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
16 "PO-Revision-Date: 2014-12-18 18:40-0200\n" 16 "PO-Revision-Date: 2014-12-18 18:40-0200\n"
17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n" 17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n"
18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/" 18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/"
plugins/bsc/po/ru/bsc.po
@@ -5,8 +5,8 @@ @@ -5,8 +5,8 @@
5 # 5 #
6 msgid "" 6 msgid ""
7 msgstr "" 7 msgstr ""
8 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
9 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 8 +"Project-Id-Version: 1.1-166-gaf47713\n"
  9 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
10 "PO-Revision-Date: 2014-12-12 14:23+0200\n" 10 "PO-Revision-Date: 2014-12-12 14:23+0200\n"
11 "Last-Translator: Michal Čihař <michal@cihar.com>\n" 11 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
12 "Language-Team: Russian <https://hosted.weblate.org/projects/noosfero/" 12 "Language-Team: Russian <https://hosted.weblate.org/projects/noosfero/"
plugins/comment_classification/po/de/comment_classification.po
@@ -6,8 +6,8 @@ @@ -6,8 +6,8 @@
6 # 6 #
7 msgid "" 7 msgid ""
8 msgstr "" 8 msgstr ""
9 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
10 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 9 +"Project-Id-Version: 1.1-166-gaf47713\n"
  10 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
11 "PO-Revision-Date: 2015-02-23 11:38+0200\n" 11 "PO-Revision-Date: 2015-02-23 11:38+0200\n"
12 "Last-Translator: Michal Čihař <michal@cihar.com>\n" 12 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
13 "Language-Team: German <https://hosted.weblate.org/projects/noosfero/plugin-" 13 "Language-Team: German <https://hosted.weblate.org/projects/noosfero/plugin-"
plugins/comment_classification/po/es/comment_classification.po
@@ -5,8 +5,8 @@ @@ -5,8 +5,8 @@
5 # 5 #
6 msgid "" 6 msgid ""
7 msgstr "" 7 msgstr ""
8 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
9 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 8 +"Project-Id-Version: 1.1-166-gaf47713\n"
  9 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
10 "PO-Revision-Date: 2015-02-24 20:46+0200\n" 10 "PO-Revision-Date: 2015-02-24 20:46+0200\n"
11 "Last-Translator: Gonzalo Exequiel Pedone <hipersayan.x@gmail.com>\n" 11 "Last-Translator: Gonzalo Exequiel Pedone <hipersayan.x@gmail.com>\n"
12 "Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/plugin-" 12 "Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/plugin-"
@@ -91,8 +91,8 @@ msgid &quot;&quot; @@ -91,8 +91,8 @@ msgid &quot;&quot;
91 "<i>%{user}</i> added the status <i>%{status_name}</i> at <i>%{created_at}</" 91 "<i>%{user}</i> added the status <i>%{status_name}</i> at <i>%{created_at}</"
92 "i>." 92 "i>."
93 msgstr "" 93 msgstr ""
94 -"<i>%{user}</i> ha agregado el estado <i>%{status_name}</i> en "  
95 -"<i>%{created_at}</i>." 94 +"<i>%{user}</i> ha agregado el estado <i>%{status_name}</i> en <i>"
  95 +"%{created_at}</i>."
96 96
97 #: plugins/comment_classification/views/comment_classification_plugin_myprofile/add_status.html.erb:18 97 #: plugins/comment_classification/views/comment_classification_plugin_myprofile/add_status.html.erb:18
98 msgid "<i>Reason:</i> %s" 98 msgid "<i>Reason:</i> %s"
plugins/comment_classification/po/fr/comment_classification.po
@@ -4,9 +4,9 @@ @@ -4,9 +4,9 @@
4 # , 2009. 4 # , 2009.
5 msgid "" 5 msgid ""
6 msgstr "" 6 msgstr ""
7 -"Project-Id-Version: 1.0-690-gcb6e853\n" 7 +"Project-Id-Version: 1.1-166-gaf47713\n"
8 "Report-Msgid-Bugs-To: \n" 8 "Report-Msgid-Bugs-To: \n"
9 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 9 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
10 "PO-Revision-Date: 2015-03-07 12:26+0200\n" 10 "PO-Revision-Date: 2015-03-07 12:26+0200\n"
11 "Last-Translator: Tuux <tuxa@galaxie.eu.org>\n" 11 "Last-Translator: Tuux <tuxa@galaxie.eu.org>\n"
12 "Language-Team: French <https://hosted.weblate.org/projects/noosfero/plugin-" 12 "Language-Team: French <https://hosted.weblate.org/projects/noosfero/plugin-"
@@ -91,8 +91,8 @@ msgid &quot;&quot; @@ -91,8 +91,8 @@ msgid &quot;&quot;
91 "<i>%{user}</i> added the status <i>%{status_name}</i> at <i>%{created_at}</" 91 "<i>%{user}</i> added the status <i>%{status_name}</i> at <i>%{created_at}</"
92 "i>." 92 "i>."
93 msgstr "" 93 msgstr ""
94 -"<i>%{utilisateur}</i> ajout des statuts <i>%{nom_ du_statut}</i> à "  
95 -"<i>%{creer_a}</i>." 94 +"<i>%{utilisateur}</i> ajout des statuts <i>%{nom_ du_statut}</i> à <i>"
  95 +"%{creer_a}</i>."
96 96
97 #: plugins/comment_classification/views/comment_classification_plugin_myprofile/add_status.html.erb:18 97 #: plugins/comment_classification/views/comment_classification_plugin_myprofile/add_status.html.erb:18
98 msgid "<i>Reason:</i> %s" 98 msgid "<i>Reason:</i> %s"
plugins/comment_classification/po/hy/comment_classification.po
@@ -5,8 +5,8 @@ @@ -5,8 +5,8 @@
5 # 5 #
6 msgid "" 6 msgid ""
7 msgstr "" 7 msgstr ""
8 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
9 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 8 +"Project-Id-Version: 1.1-166-gaf47713\n"
  9 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
10 "PO-Revision-Date: 2015-02-23 11:37+0200\n" 10 "PO-Revision-Date: 2015-02-23 11:37+0200\n"
11 "Last-Translator: Michal Čihař <michal@cihar.com>\n" 11 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
12 "Language-Team: Armenian <https://hosted.weblate.org/projects/noosfero/plugin-" 12 "Language-Team: Armenian <https://hosted.weblate.org/projects/noosfero/plugin-"
plugins/comment_classification/po/pt/comment_classification.po
@@ -11,12 +11,12 @@ @@ -11,12 +11,12 @@
11 # 11 #
12 msgid "" 12 msgid ""
13 msgstr "" 13 msgstr ""
14 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
15 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 14 +"Project-Id-Version: 1.1-166-gaf47713\n"
  15 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
16 "PO-Revision-Date: 2015-02-23 11:38+0200\n" 16 "PO-Revision-Date: 2015-02-23 11:38+0200\n"
17 "Last-Translator: Michal Čihař <michal@cihar.com>\n" 17 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
18 -"Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero"  
19 -"/plugin-comment-classification/pt/>\n" 18 +"Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/"
  19 +"plugin-comment-classification/pt/>\n"
20 "Language: pt\n" 20 "Language: pt\n"
21 "MIME-Version: 1.0\n" 21 "MIME-Version: 1.0\n"
22 "Content-Type: text/plain; charset=UTF-8\n" 22 "Content-Type: text/plain; charset=UTF-8\n"
plugins/comment_classification/po/ru/comment_classification.po
@@ -5,8 +5,8 @@ @@ -5,8 +5,8 @@
5 # 5 #
6 msgid "" 6 msgid ""
7 msgstr "" 7 msgstr ""
8 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
9 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 8 +"Project-Id-Version: 1.1-166-gaf47713\n"
  9 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
10 "PO-Revision-Date: 2015-02-23 11:37+0200\n" 10 "PO-Revision-Date: 2015-02-23 11:37+0200\n"
11 "Last-Translator: Michal Čihař <michal@cihar.com>\n" 11 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
12 "Language-Team: Russian <https://hosted.weblate.org/projects/noosfero/plugin-" 12 "Language-Team: Russian <https://hosted.weblate.org/projects/noosfero/plugin-"
@@ -15,8 +15,8 @@ msgstr &quot;&quot; @@ -15,8 +15,8 @@ msgstr &quot;&quot;
15 "MIME-Version: 1.0\n" 15 "MIME-Version: 1.0\n"
16 "Content-Type: text/plain; charset=UTF-8\n" 16 "Content-Type: text/plain; charset=UTF-8\n"
17 "Content-Transfer-Encoding: 8bit\n" 17 "Content-Transfer-Encoding: 8bit\n"
18 -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<="  
19 -"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" 18 +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
  19 +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
20 "X-Generator: Weblate 2.3-dev\n" 20 "X-Generator: Weblate 2.3-dev\n"
21 21
22 #: plugins/comment_classification/lib/comment_classification_plugin.rb:11 22 #: plugins/comment_classification/lib/comment_classification_plugin.rb:11
plugins/comment_group/po/pt/comment_group.po
@@ -11,8 +11,8 @@ @@ -11,8 +11,8 @@
11 # 11 #
12 msgid "" 12 msgid ""
13 msgstr "" 13 msgstr ""
14 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
15 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 14 +"Project-Id-Version: 1.1-166-gaf47713\n"
  15 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
16 "PO-Revision-Date: 2014-12-18 18:40-0200\n" 16 "PO-Revision-Date: 2014-12-18 18:40-0200\n"
17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n" 17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n"
18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/" 18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/"
plugins/community_block/po/pt/community_block.po
@@ -11,8 +11,8 @@ @@ -11,8 +11,8 @@
11 # 11 #
12 msgid "" 12 msgid ""
13 msgstr "" 13 msgstr ""
14 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
15 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 14 +"Project-Id-Version: 1.1-166-gaf47713\n"
  15 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
16 "PO-Revision-Date: 2014-12-18 18:40-0200\n" 16 "PO-Revision-Date: 2014-12-18 18:40-0200\n"
17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n" 17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n"
18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/" 18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/"
plugins/community_track/po/de/community_track.po
@@ -6,8 +6,8 @@ @@ -6,8 +6,8 @@
6 # 6 #
7 msgid "" 7 msgid ""
8 msgstr "" 8 msgstr ""
9 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
10 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 9 +"Project-Id-Version: 1.1-166-gaf47713\n"
  10 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
11 "PO-Revision-Date: 2014-12-12 14:23+0200\n" 11 "PO-Revision-Date: 2014-12-12 14:23+0200\n"
12 "Last-Translator: Michal Čihař <michal@cihar.com>\n" 12 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
13 "Language-Team: German <https://hosted.weblate.org/projects/noosfero/noosfero/" 13 "Language-Team: German <https://hosted.weblate.org/projects/noosfero/noosfero/"
plugins/community_track/po/es/community_track.po
@@ -5,8 +5,8 @@ @@ -5,8 +5,8 @@
5 # 5 #
6 msgid "" 6 msgid ""
7 msgstr "" 7 msgstr ""
8 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
9 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 8 +"Project-Id-Version: 1.1-166-gaf47713\n"
  9 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
10 "PO-Revision-Date: 2015-02-24 19:06+0200\n" 10 "PO-Revision-Date: 2015-02-24 19:06+0200\n"
11 "Last-Translator: Gonzalo Exequiel Pedone <hipersayan.x@gmail.com>\n" 11 "Last-Translator: Gonzalo Exequiel Pedone <hipersayan.x@gmail.com>\n"
12 "Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/plugin-" 12 "Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/plugin-"
plugins/community_track/po/pt/community_track.po
@@ -11,8 +11,8 @@ @@ -11,8 +11,8 @@
11 # 11 #
12 msgid "" 12 msgid ""
13 msgstr "" 13 msgstr ""
14 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
15 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 14 +"Project-Id-Version: 1.1-166-gaf47713\n"
  15 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
16 "PO-Revision-Date: 2014-12-18 18:40-0200\n" 16 "PO-Revision-Date: 2014-12-18 18:40-0200\n"
17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n" 17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n"
18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/" 18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/"
plugins/container_block/po/pt/container_block.po
@@ -11,8 +11,8 @@ @@ -11,8 +11,8 @@
11 # 11 #
12 msgid "" 12 msgid ""
13 msgstr "" 13 msgstr ""
14 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
15 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 14 +"Project-Id-Version: 1.1-166-gaf47713\n"
  15 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
16 "PO-Revision-Date: 2014-12-18 18:40-0200\n" 16 "PO-Revision-Date: 2014-12-18 18:40-0200\n"
17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n" 17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n"
18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/" 18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/"
plugins/context_content/po/pt/context_content.po
@@ -11,8 +11,8 @@ @@ -11,8 +11,8 @@
11 # 11 #
12 msgid "" 12 msgid ""
13 msgstr "" 13 msgstr ""
14 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
15 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 14 +"Project-Id-Version: 1.1-166-gaf47713\n"
  15 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
16 "PO-Revision-Date: 2014-12-18 18:40-0200\n" 16 "PO-Revision-Date: 2014-12-18 18:40-0200\n"
17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n" 17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n"
18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/" 18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/"
plugins/custom_forms/po/de/custom_forms.po
@@ -6,8 +6,8 @@ @@ -6,8 +6,8 @@
6 # 6 #
7 msgid "" 7 msgid ""
8 msgstr "" 8 msgstr ""
9 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
10 -"POT-Creation-Date: 2015-03-05 12:10-0300\n" 9 +"Project-Id-Version: 1.1-166-gaf47713\n"
  10 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
11 "PO-Revision-Date: 2015-03-09 09:51+0200\n" 11 "PO-Revision-Date: 2015-03-09 09:51+0200\n"
12 "Last-Translator: Michal Čihař <michal@cihar.com>\n" 12 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
13 "Language-Team: German <https://hosted.weblate.org/projects/noosfero/plugin-" 13 "Language-Team: German <https://hosted.weblate.org/projects/noosfero/plugin-"
plugins/custom_forms/po/eo/custom_forms.po
@@ -5,8 +5,8 @@ @@ -5,8 +5,8 @@
5 # 5 #
6 msgid "" 6 msgid ""
7 msgstr "" 7 msgstr ""
8 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
9 -"POT-Creation-Date: 2015-03-05 12:10-0300\n" 8 +"Project-Id-Version: 1.1-166-gaf47713\n"
  9 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
10 "PO-Revision-Date: 2014-11-05 13:05+0200\n" 10 "PO-Revision-Date: 2014-11-05 13:05+0200\n"
11 "Last-Translator: Aurélio A. Heckert <aurelio@colivre.coop.br>\n" 11 "Last-Translator: Aurélio A. Heckert <aurelio@colivre.coop.br>\n"
12 "Language-Team: Esperanto <https://hosted.weblate.org/projects/noosfero/" 12 "Language-Team: Esperanto <https://hosted.weblate.org/projects/noosfero/"
plugins/custom_forms/po/es/custom_forms.po
@@ -5,8 +5,8 @@ @@ -5,8 +5,8 @@
5 # 5 #
6 msgid "" 6 msgid ""
7 msgstr "" 7 msgstr ""
8 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
9 -"POT-Creation-Date: 2015-03-05 12:10-0300\n" 8 +"Project-Id-Version: 1.1-166-gaf47713\n"
  9 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
10 "PO-Revision-Date: 2015-03-09 09:51+0200\n" 10 "PO-Revision-Date: 2015-03-09 09:51+0200\n"
11 "Last-Translator: Michal Čihař <michal@cihar.com>\n" 11 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
12 "Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/plugin-" 12 "Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/plugin-"
plugins/custom_forms/po/fr/custom_forms.po
@@ -4,9 +4,9 @@ @@ -4,9 +4,9 @@
4 # , 2009. 4 # , 2009.
5 msgid "" 5 msgid ""
6 msgstr "" 6 msgstr ""
7 -"Project-Id-Version: 1.0-690-gcb6e853\n" 7 +"Project-Id-Version: 1.1-166-gaf47713\n"
8 "Report-Msgid-Bugs-To: \n" 8 "Report-Msgid-Bugs-To: \n"
9 -"POT-Creation-Date: 2015-03-05 12:10-0300\n" 9 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
10 "PO-Revision-Date: 2015-02-23 11:38+0200\n" 10 "PO-Revision-Date: 2015-02-23 11:38+0200\n"
11 "Last-Translator: Michal Čihař <michal@cihar.com>\n" 11 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
12 "Language-Team: French <https://hosted.weblate.org/projects/noosfero/plugin-" 12 "Language-Team: French <https://hosted.weblate.org/projects/noosfero/plugin-"
plugins/custom_forms/po/hy/custom_forms.po
@@ -5,8 +5,8 @@ @@ -5,8 +5,8 @@
5 # 5 #
6 msgid "" 6 msgid ""
7 msgstr "" 7 msgstr ""
8 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
9 -"POT-Creation-Date: 2015-03-05 12:10-0300\n" 8 +"Project-Id-Version: 1.1-166-gaf47713\n"
  9 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
10 "PO-Revision-Date: 2015-02-23 11:37+0200\n" 10 "PO-Revision-Date: 2015-02-23 11:37+0200\n"
11 "Last-Translator: Michal Čihař <michal@cihar.com>\n" 11 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
12 "Language-Team: Armenian <https://hosted.weblate.org/projects/noosfero/plugin-" 12 "Language-Team: Armenian <https://hosted.weblate.org/projects/noosfero/plugin-"
plugins/custom_forms/po/pt/custom_forms.po
@@ -11,12 +11,12 @@ @@ -11,12 +11,12 @@
11 # 11 #
12 msgid "" 12 msgid ""
13 msgstr "" 13 msgstr ""
14 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
15 -"POT-Creation-Date: 2015-03-05 12:10-0300\n" 14 +"Project-Id-Version: 1.1-166-gaf47713\n"
  15 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
16 "PO-Revision-Date: 2015-03-12 15:13+0200\n" 16 "PO-Revision-Date: 2015-03-12 15:13+0200\n"
17 "Last-Translator: daniel <dtygel@eita.org.br>\n" 17 "Last-Translator: daniel <dtygel@eita.org.br>\n"
18 -"Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero"  
19 -"/plugin-custom-forms/pt/>\n" 18 +"Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/"
  19 +"plugin-custom-forms/pt/>\n"
20 "Language: pt\n" 20 "Language: pt\n"
21 "MIME-Version: 1.0\n" 21 "MIME-Version: 1.0\n"
22 "Content-Type: text/plain; charset=UTF-8\n" 22 "Content-Type: text/plain; charset=UTF-8\n"
plugins/custom_forms/po/ru/custom_forms.po
@@ -5,8 +5,8 @@ @@ -5,8 +5,8 @@
5 # 5 #
6 msgid "" 6 msgid ""
7 msgstr "" 7 msgstr ""
8 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
9 -"POT-Creation-Date: 2015-03-05 12:10-0300\n" 8 +"Project-Id-Version: 1.1-166-gaf47713\n"
  9 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
10 "PO-Revision-Date: 2015-03-09 09:51+0200\n" 10 "PO-Revision-Date: 2015-03-09 09:51+0200\n"
11 "Last-Translator: Michal Čihař <michal@cihar.com>\n" 11 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
12 "Language-Team: Russian <https://hosted.weblate.org/projects/noosfero/plugin-" 12 "Language-Team: Russian <https://hosted.weblate.org/projects/noosfero/plugin-"
@@ -15,8 +15,8 @@ msgstr &quot;&quot; @@ -15,8 +15,8 @@ msgstr &quot;&quot;
15 "MIME-Version: 1.0\n" 15 "MIME-Version: 1.0\n"
16 "Content-Type: text/plain; charset=UTF-8\n" 16 "Content-Type: text/plain; charset=UTF-8\n"
17 "Content-Transfer-Encoding: 8bit\n" 17 "Content-Transfer-Encoding: 8bit\n"
18 -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<="  
19 -"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" 18 +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
  19 +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
20 "X-Generator: Weblate 2.3-dev\n" 20 "X-Generator: Weblate 2.3-dev\n"
21 21
22 #: plugins/custom_forms/lib/custom_forms_plugin/form.rb:67 22 #: plugins/custom_forms/lib/custom_forms_plugin/form.rb:67
plugins/display_content/po/de/display_content.po
@@ -6,8 +6,8 @@ @@ -6,8 +6,8 @@
6 # 6 #
7 msgid "" 7 msgid ""
8 msgstr "" 8 msgstr ""
9 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
10 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 9 +"Project-Id-Version: 1.1-166-gaf47713\n"
  10 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
11 "PO-Revision-Date: 2015-02-23 11:37+0200\n" 11 "PO-Revision-Date: 2015-02-23 11:37+0200\n"
12 "Last-Translator: Michal Čihař <michal@cihar.com>\n" 12 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
13 "Language-Team: German <https://hosted.weblate.org/projects/noosfero/plugin-" 13 "Language-Team: German <https://hosted.weblate.org/projects/noosfero/plugin-"
plugins/display_content/po/es/display_content.po
@@ -5,8 +5,8 @@ @@ -5,8 +5,8 @@
5 # 5 #
6 msgid "" 6 msgid ""
7 msgstr "" 7 msgstr ""
8 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
9 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 8 +"Project-Id-Version: 1.1-166-gaf47713\n"
  9 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
10 "PO-Revision-Date: 2015-03-09 09:51+0200\n" 10 "PO-Revision-Date: 2015-03-09 09:51+0200\n"
11 "Last-Translator: Michal Čihař <michal@cihar.com>\n" 11 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
12 "Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/plugin-" 12 "Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/plugin-"
plugins/display_content/po/fr/display_content.po
@@ -4,9 +4,9 @@ @@ -4,9 +4,9 @@
4 # , 2009. 4 # , 2009.
5 msgid "" 5 msgid ""
6 msgstr "" 6 msgstr ""
7 -"Project-Id-Version: 1.0-690-gcb6e853\n" 7 +"Project-Id-Version: 1.1-166-gaf47713\n"
8 "Report-Msgid-Bugs-To: \n" 8 "Report-Msgid-Bugs-To: \n"
9 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 9 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
10 "PO-Revision-Date: 2015-03-07 02:11+0200\n" 10 "PO-Revision-Date: 2015-03-07 02:11+0200\n"
11 "Last-Translator: Tuux <tuxa@galaxie.eu.org>\n" 11 "Last-Translator: Tuux <tuxa@galaxie.eu.org>\n"
12 "Language-Team: French <https://hosted.weblate.org/projects/noosfero/plugin-" 12 "Language-Team: French <https://hosted.weblate.org/projects/noosfero/plugin-"
@@ -106,7 +106,8 @@ msgstr &quot;plus&quot; @@ -106,7 +106,8 @@ msgstr &quot;plus&quot;
106 106
107 #: plugins/display_content/views/box_organizer/_choose_directly.html.erb:5 107 #: plugins/display_content/views/box_organizer/_choose_directly.html.erb:5
108 msgid "Dinamically load children of selected folders" 108 msgid "Dinamically load children of selected folders"
109 -msgstr "Dynamiquement charger les sous répertoires des répertoires sélectionnés" 109 +msgstr ""
  110 +"Dynamiquement charger les sous répertoires des répertoires sélectionnés"
110 111
111 #: plugins/display_content/views/box_organizer/_choose_directly.html.erb:9 112 #: plugins/display_content/views/box_organizer/_choose_directly.html.erb:9
112 msgid "Limit:" 113 msgid "Limit:"
plugins/display_content/po/hy/display_content.po
@@ -5,8 +5,8 @@ @@ -5,8 +5,8 @@
5 # 5 #
6 msgid "" 6 msgid ""
7 msgstr "" 7 msgstr ""
8 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
9 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 8 +"Project-Id-Version: 1.1-166-gaf47713\n"
  9 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
10 "PO-Revision-Date: 2009-10-26 16:20-0300\n" 10 "PO-Revision-Date: 2009-10-26 16:20-0300\n"
11 "Last-Translator: Anahit Minassian <anahit.minassian@cooperation.net>\n" 11 "Last-Translator: Anahit Minassian <anahit.minassian@cooperation.net>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n" 12 "Language-Team: LANGUAGE <LL@li.org>\n"
plugins/display_content/po/pt/display_content.po
@@ -11,12 +11,12 @@ @@ -11,12 +11,12 @@
11 # 11 #
12 msgid "" 12 msgid ""
13 msgstr "" 13 msgstr ""
14 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
15 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 14 +"Project-Id-Version: 1.1-166-gaf47713\n"
  15 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
16 "PO-Revision-Date: 2015-03-12 15:14+0200\n" 16 "PO-Revision-Date: 2015-03-12 15:14+0200\n"
17 "Last-Translator: daniel <dtygel@eita.org.br>\n" 17 "Last-Translator: daniel <dtygel@eita.org.br>\n"
18 -"Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero"  
19 -"/plugin-display-content/pt/>\n" 18 +"Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/"
  19 +"plugin-display-content/pt/>\n"
20 "Language: pt\n" 20 "Language: pt\n"
21 "MIME-Version: 1.0\n" 21 "MIME-Version: 1.0\n"
22 "Content-Type: text/plain; charset=UTF-8\n" 22 "Content-Type: text/plain; charset=UTF-8\n"
plugins/event/po/pt/event.po
@@ -5,8 +5,8 @@ @@ -5,8 +5,8 @@
5 # 5 #
6 msgid "" 6 msgid ""
7 msgstr "" 7 msgstr ""
8 -"Project-Id-Version: 1.1~rc4\n"  
9 -"POT-Creation-Date: 2015-04-20 19:44-0300\n" 8 +"Project-Id-Version: 1.1-166-gaf47713\n"
  9 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
10 "PO-Revision-Date: 2015-01-30 00:18-0000\n" 10 "PO-Revision-Date: 2015-01-30 00:18-0000\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" 11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n" 12 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,17 +16,6 @@ msgstr &quot;&quot; @@ -16,17 +16,6 @@ msgstr &quot;&quot;
16 "Content-Transfer-Encoding: 8bit\n" 16 "Content-Transfer-Encoding: 8bit\n"
17 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" 17 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
18 18
19 -#: plugins/event/lib/event_plugin.rb:4  
20 -msgid "Event Extras"  
21 -msgstr "Extras para Eventos"  
22 -  
23 -#: plugins/event/lib/event_plugin.rb:8  
24 -msgid ""  
25 -"Include a new block to show the environment's or profiles' events information"  
26 -msgstr ""  
27 -"Adiciona um novo bloco para apresentar as informações de eventos do ambiente "  
28 -"ou dos perfis"  
29 -  
30 #: plugins/event/lib/event_plugin/event_block.rb:12 19 #: plugins/event/lib/event_plugin/event_block.rb:12
31 msgid "Events" 20 msgid "Events"
32 msgstr "Eventos" 21 msgstr "Eventos"
@@ -61,7 +50,24 @@ msgstr[1] &quot;%d dias para começar&quot; @@ -61,7 +50,24 @@ msgstr[1] &quot;%d dias para começar&quot;
61 msgid "One month left to start" 50 msgid "One month left to start"
62 msgid_plural "%d months left to start" 51 msgid_plural "%d months left to start"
63 msgstr[0] "Um mês para iniciar" 52 msgstr[0] "Um mês para iniciar"
64 -msgstr[1] "% meses para iniciar" 53 +msgstr[1] "%d meses para iniciar"
  54 +
  55 +#: plugins/event/lib/event_plugin.rb:4
  56 +msgid "Event Extras"
  57 +msgstr "Extras para Eventos"
  58 +
  59 +#: plugins/event/lib/event_plugin.rb:8
  60 +msgid ""
  61 +"Include a new block to show the environment's or profiles' events information"
  62 +msgstr ""
  63 +"Adiciona um novo bloco para apresentar as informações de eventos do ambiente "
  64 +"ou dos perfis"
  65 +
  66 +#: plugins/event/views/event_plugin/event_block_item.html.erb:6
  67 +msgid "Duration: 1 day"
  68 +msgid_plural "Duration: %s days"
  69 +msgstr[0] "Duração: 1 dia"
  70 +msgstr[1] "Duração: %s dias"
65 71
66 #: plugins/event/views/profile_design/event_plugin/_event_block.html.erb:1 72 #: plugins/event/views/profile_design/event_plugin/_event_block.html.erb:1
67 msgid "Limit of items" 73 msgid "Limit of items"
@@ -92,12 +98,6 @@ msgstr &quot;Limite de dias para mostrar&quot; @@ -92,12 +98,6 @@ msgstr &quot;Limite de dias para mostrar&quot;
92 msgid "Only show events in this interval of days." 98 msgid "Only show events in this interval of days."
93 msgstr "Mostar somente os eventos nesse intervalo de dias" 99 msgstr "Mostar somente os eventos nesse intervalo de dias"
94 100
95 -#: plugins/event/views/event_plugin/event_block_item.html.erb:6  
96 -msgid "Duration: 1 day"  
97 -msgid_plural "Duration: %s days"  
98 -msgstr[0] "Duração: 1 dia"  
99 -msgstr[1] "Duração: %s dias"  
100 -  
101 #~ msgid "Started one day ago." 101 #~ msgid "Started one day ago."
102 #~ msgid_plural "Started %d days ago." 102 #~ msgid_plural "Started %d days ago."
103 #~ msgstr[0] "Iniciou a Um dia atrás." 103 #~ msgstr[0] "Iniciou a Um dia atrás."
plugins/foo/po/de/foo.po
@@ -6,8 +6,8 @@ @@ -6,8 +6,8 @@
6 # 6 #
7 msgid "" 7 msgid ""
8 msgstr "" 8 msgstr ""
9 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
10 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 9 +"Project-Id-Version: 1.1-166-gaf47713\n"
  10 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
11 "PO-Revision-Date: 2014-12-12 14:23+0200\n" 11 "PO-Revision-Date: 2014-12-12 14:23+0200\n"
12 "Last-Translator: Michal Čihař <michal@cihar.com>\n" 12 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
13 "Language-Team: German <https://hosted.weblate.org/projects/noosfero/noosfero/" 13 "Language-Team: German <https://hosted.weblate.org/projects/noosfero/noosfero/"
@@ -19,6 +19,6 @@ msgstr &quot;&quot; @@ -19,6 +19,6 @@ msgstr &quot;&quot;
19 "Plural-Forms: nplurals=2; plural=n != 1;\n" 19 "Plural-Forms: nplurals=2; plural=n != 1;\n"
20 "X-Generator: Weblate 2.2-dev\n" 20 "X-Generator: Weblate 2.2-dev\n"
21 21
22 -#: plugins/foo/lib/foo_plugin.rb:8 22 +#: plugins/foo/lib/foo_plugin.rb:9
23 msgid "A sample plugin to test autoload craziness." 23 msgid "A sample plugin to test autoload craziness."
24 msgstr "Ein Beispiel-Plugin, um die Autoload-Verrücktheit zu überprüfen." 24 msgstr "Ein Beispiel-Plugin, um die Autoload-Verrücktheit zu überprüfen."
plugins/foo/po/es/foo.po
@@ -5,8 +5,8 @@ @@ -5,8 +5,8 @@
5 # 5 #
6 msgid "" 6 msgid ""
7 msgstr "" 7 msgstr ""
8 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
9 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 8 +"Project-Id-Version: 1.1-166-gaf47713\n"
  9 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
10 "PO-Revision-Date: 2014-11-03 15:52+0200\n" 10 "PO-Revision-Date: 2014-11-03 15:52+0200\n"
11 "Last-Translator: Michal Čihař <michal@cihar.com>\n" 11 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
12 "Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/" 12 "Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/"
@@ -18,6 +18,6 @@ msgstr &quot;&quot; @@ -18,6 +18,6 @@ msgstr &quot;&quot;
18 "Plural-Forms: nplurals=2; plural=n != 1;\n" 18 "Plural-Forms: nplurals=2; plural=n != 1;\n"
19 "X-Generator: Weblate 2.0-dev\n" 19 "X-Generator: Weblate 2.0-dev\n"
20 20
21 -#: plugins/foo/lib/foo_plugin.rb:8 21 +#: plugins/foo/lib/foo_plugin.rb:9
22 msgid "A sample plugin to test autoload craziness." 22 msgid "A sample plugin to test autoload craziness."
23 msgstr "Un plugin de ejemplo para probar autocargar la locura." 23 msgstr "Un plugin de ejemplo para probar autocargar la locura."
plugins/foo/po/pt/foo.po
@@ -11,8 +11,8 @@ @@ -11,8 +11,8 @@
11 # 11 #
12 msgid "" 12 msgid ""
13 msgstr "" 13 msgstr ""
14 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
15 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 14 +"Project-Id-Version: 1.1-166-gaf47713\n"
  15 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
16 "PO-Revision-Date: 2014-12-18 18:40-0200\n" 16 "PO-Revision-Date: 2014-12-18 18:40-0200\n"
17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n" 17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n"
18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/" 18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/"
@@ -24,6 +24,6 @@ msgstr &quot;&quot; @@ -24,6 +24,6 @@ msgstr &quot;&quot;
24 "Plural-Forms: nplurals=2; plural=n != 1;\n" 24 "Plural-Forms: nplurals=2; plural=n != 1;\n"
25 "X-Generator: Weblate 2.0\n" 25 "X-Generator: Weblate 2.0\n"
26 26
27 -#: plugins/foo/lib/foo_plugin.rb:8 27 +#: plugins/foo/lib/foo_plugin.rb:9
28 msgid "A sample plugin to test autoload craziness." 28 msgid "A sample plugin to test autoload craziness."
29 msgstr "Um plugin de teste para testar a loucura do caregamento." 29 msgstr "Um plugin de teste para testar a loucura do caregamento."
plugins/google_analytics/po/de/google_analytics.po
@@ -6,8 +6,8 @@ @@ -6,8 +6,8 @@
6 # 6 #
7 msgid "" 7 msgid ""
8 msgstr "" 8 msgstr ""
9 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
10 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 9 +"Project-Id-Version: 1.1-166-gaf47713\n"
  10 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
11 "PO-Revision-Date: 2014-12-12 14:23+0200\n" 11 "PO-Revision-Date: 2014-12-12 14:23+0200\n"
12 "Last-Translator: Michal Čihař <michal@cihar.com>\n" 12 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
13 "Language-Team: German <https://hosted.weblate.org/projects/noosfero/noosfero/" 13 "Language-Team: German <https://hosted.weblate.org/projects/noosfero/noosfero/"
@@ -22,3 +22,11 @@ msgstr &quot;&quot; @@ -22,3 +22,11 @@ msgstr &quot;&quot;
22 #: plugins/google_analytics/lib/google_analytics_plugin.rb:13 22 #: plugins/google_analytics/lib/google_analytics_plugin.rb:13
23 msgid "Tracking and web analytics to people and communities" 23 msgid "Tracking and web analytics to people and communities"
24 msgstr "Nachverfolgung und Webanalyse für Personen und Gemeinschaften" 24 msgstr "Nachverfolgung und Webanalyse für Personen und Gemeinschaften"
  25 +
  26 +#: plugins/google_analytics/views/profile-editor-extras.html.erb:2
  27 +msgid "Google Analytics Profile ID"
  28 +msgstr ""
  29 +
  30 +#: plugins/google_analytics/views/profile-editor-extras.html.erb:3
  31 +msgid "See how to configure statistics for your profile"
  32 +msgstr ""
plugins/google_analytics/po/es/google_analytics.po
@@ -5,8 +5,8 @@ @@ -5,8 +5,8 @@
5 # 5 #
6 msgid "" 6 msgid ""
7 msgstr "" 7 msgstr ""
8 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
9 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 8 +"Project-Id-Version: 1.1-166-gaf47713\n"
  9 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
10 "PO-Revision-Date: 2014-11-03 15:52+0200\n" 10 "PO-Revision-Date: 2014-11-03 15:52+0200\n"
11 "Last-Translator: Michal Čihař <michal@cihar.com>\n" 11 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
12 "Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/" 12 "Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/"
@@ -21,3 +21,11 @@ msgstr &quot;&quot; @@ -21,3 +21,11 @@ msgstr &quot;&quot;
21 #: plugins/google_analytics/lib/google_analytics_plugin.rb:13 21 #: plugins/google_analytics/lib/google_analytics_plugin.rb:13
22 msgid "Tracking and web analytics to people and communities" 22 msgid "Tracking and web analytics to people and communities"
23 msgstr "Seguimiento y análisis web para las personas y las comunidades" 23 msgstr "Seguimiento y análisis web para las personas y las comunidades"
  24 +
  25 +#: plugins/google_analytics/views/profile-editor-extras.html.erb:2
  26 +msgid "Google Analytics Profile ID"
  27 +msgstr ""
  28 +
  29 +#: plugins/google_analytics/views/profile-editor-extras.html.erb:3
  30 +msgid "See how to configure statistics for your profile"
  31 +msgstr ""
plugins/google_analytics/po/pt/google_analytics.po
@@ -11,8 +11,8 @@ @@ -11,8 +11,8 @@
11 # 11 #
12 msgid "" 12 msgid ""
13 msgstr "" 13 msgstr ""
14 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
15 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 14 +"Project-Id-Version: 1.1-166-gaf47713\n"
  15 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
16 "PO-Revision-Date: 2014-12-18 18:40-0200\n" 16 "PO-Revision-Date: 2014-12-18 18:40-0200\n"
17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n" 17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n"
18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/" 18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/"
@@ -27,3 +27,11 @@ msgstr &quot;&quot; @@ -27,3 +27,11 @@ msgstr &quot;&quot;
27 #: plugins/google_analytics/lib/google_analytics_plugin.rb:13 27 #: plugins/google_analytics/lib/google_analytics_plugin.rb:13
28 msgid "Tracking and web analytics to people and communities" 28 msgid "Tracking and web analytics to people and communities"
29 msgstr "Rastreamento e análise web para pessoas e comunidades" 29 msgstr "Rastreamento e análise web para pessoas e comunidades"
  30 +
  31 +#: plugins/google_analytics/views/profile-editor-extras.html.erb:2
  32 +msgid "Google Analytics Profile ID"
  33 +msgstr ""
  34 +
  35 +#: plugins/google_analytics/views/profile-editor-extras.html.erb:3
  36 +msgid "See how to configure statistics for your profile"
  37 +msgstr ""
plugins/google_cse/po/de/google_cse.po
@@ -6,8 +6,8 @@ @@ -6,8 +6,8 @@
6 # 6 #
7 msgid "" 7 msgid ""
8 msgstr "" 8 msgstr ""
9 -"Project-Id-Version: 1.0-690-gcb6e853\n"  
10 -"POT-Creation-Date: 2015-03-05 12:09-0300\n" 9 +"Project-Id-Version: 1.1-166-gaf47713\n"
  10 +"POT-Creation-Date: 2015-06-01 17:26-0300\n"
11 "PO-Revision-Date: 2014-12-12 14:23+0200\n" 11 "PO-Revision-Date: 2014-12-12 14:23+0200\n"
12 "Last-Translator: Michal Čihař <michal@cihar.com>\n" 12 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
13 "Language-Team: German <https://hosted.weblate.org/projects/noosfero/noosfero/" 13 "Language-Team: German <https://hosted.weblate.org/projects/noosfero/noosfero/"