Commit b39a1a377d5a6459e8721a875cc851fafd32b298

Authored by Leandro Santos
2 parents 2d0e1564 076e26f5

merging with master

Showing 243 changed files with 20811 additions and 7539 deletions   Show diff stats

Too many changes.

To preserve performance only 100 of 243 files displayed.

INSTALL.https.md
... ... @@ -11,8 +11,8 @@ as below:
11 11  
12 12 # mkdir /etc/noosfero/ssl
13 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 16 # cat noosfero.key noosfero.cert > noosfero.pem
17 17  
18 18 ## Web server configuration
... ...
INSTALL.md
... ... @@ -74,7 +74,7 @@ downloading from git
74 74  
75 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 78 $ cd current
79 79 $ git checkout -b stable origin/stable
80 80  
... ...
app/controllers/admin/admin_panel_controller.rb
... ... @@ -71,22 +71,4 @@ class AdminPanelController < AdminController
71 71 end
72 72 end
73 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 74 end
... ...
app/controllers/admin/organizations_controller.rb 0 → 100644
... ... @@ -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
... ... @@ -14,7 +14,7 @@ class TasksController &lt; MyProfileController
14 14  
15 15 @failed = params ? params[:failed] : {}
16 16  
17   - @responsible_candidates = profile.members.by_role(profile.roles.reject {|r| !r.has_permission?('perform_task')})
  17 + @responsible_candidates = profile.members.by_role(profile.roles.reject {|r| !r.has_permission?('perform_task')}) if profile.organization?
18 18 end
19 19  
20 20 def processed
... ...
app/controllers/public/chat_controller.rb
... ... @@ -2,6 +2,7 @@ class ChatController &lt; PublicController
2 2  
3 3 before_filter :login_required
4 4 before_filter :check_environment_feature
  5 + before_filter :can_send_message, :only => :register_message
5 6  
6 7 def start_session
7 8 login = user.jid
... ... @@ -54,6 +55,16 @@ class ChatController &lt; PublicController
54 55 end
55 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 68 def update_presence_status
58 69 if request.xhr?
59 70 current_user.update_attributes({:chat_status_at => DateTime.now}.merge(params[:status] || {}))
... ... @@ -62,11 +73,17 @@ class ChatController &lt; PublicController
62 73 end
63 74  
64 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 87 end
71 88  
72 89 def recent_messages
... ... @@ -90,8 +107,9 @@ class ChatController &lt; PublicController
90 107 end
91 108  
92 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 113 end
96 114  
97 115 #TODO Ideally this is done through roster table on ejabberd.
... ... @@ -108,4 +126,14 @@ class ChatController &lt; PublicController
108 126 end
109 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 139 end
... ...
app/helpers/application_helper.rb
... ... @@ -881,7 +881,7 @@ module ApplicationHelper
881 881 field_html += capture(&block)
882 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 885 if profile.signup_fields.include?(name)
886 886 result = field_html
887 887 end
... ...
app/helpers/boxes_helper.rb
... ... @@ -122,7 +122,7 @@ module BoxesHelper
122 122 end
123 123  
124 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 126 end
127 127  
128 128 def extract_block_content(content)
... ...
app/helpers/chat_helper.rb
... ... @@ -9,12 +9,12 @@ module ChatHelper
9 9 avatar = profile_image(user, :portrait, :class => 'avatar')
10 10 content_tag('span',
11 11 link_to(avatar + content_tag('span', user.name) + ui_icon('ui-icon-triangle-1-s'),
12   - '#',
  12 + '',
13 13 :onclick => 'toggleMenu(this); return false',
14 14 :class => icon_class + ' simplemenu-trigger'
15 15 ) +
16 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 18 :style => 'display: none; z-index: 100',
19 19 :class => 'simplemenu-submenu'
20 20 ),
... ...
app/helpers/profile_editor_helper.rb
... ... @@ -141,8 +141,9 @@ module ProfileEditorHelper
141 141 )
142 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 147 end
147 148  
148 149 def unchangeable_privacy_field(profile)
... ...
app/helpers/search_helper.rb
... ... @@ -106,6 +106,10 @@ module SearchHelper
106 106 end
107 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 113 def display_selector(asset, display, float = 'right')
110 114 display = nil if display.blank?
111 115 display ||= asset_class(asset).default_search_display
... ...
app/helpers/users_helper.rb
... ... @@ -14,7 +14,7 @@ module UsersHelper
14 14 select_field = select_tag(:filter, options, :onchange => onchange)
15 15 content_tag('div',
16 16 content_tag('strong', _('Filter')) + ': ' + select_field,
17   - :class => "environment-users-customize-search"
  17 + :class => "environment-profiles-customize-search"
18 18 )
19 19 end
20 20  
... ...
app/models/article.rb
... ... @@ -96,6 +96,8 @@ class Article &lt; ActiveRecord::Base
96 96 belongs_to :translation_of, :class_name => 'Article', :foreign_key => :translation_of_id
97 97 before_destroy :rotate_translations
98 98  
  99 + acts_as_voteable
  100 +
99 101 before_create do |article|
100 102 article.published_at ||= Time.now
101 103 if article.reference_article && !article.parent
... ...
app/models/block.rb
... ... @@ -2,7 +2,7 @@ class Block &lt; ActiveRecord::Base
2 2  
3 3 attr_accessible :title, :display, :limit, :box_id, :posts_per_page,
4 4 :visualization_format, :language, :display_user,
5   - :box, :edit_modes, :move_modes
  5 + :box, :edit_modes, :move_modes, :mirror
6 6  
7 7 # to be able to generate HTML
8 8 include ActionView::Helpers::UrlHelper
... ... @@ -15,11 +15,23 @@ class Block &lt; ActiveRecord::Base
15 15  
16 16 acts_as_list :scope => :box
17 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 21 acts_as_having_settings
20 22  
21 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 35 def embedable?
24 36 false
25 37 end
... ... @@ -299,6 +311,10 @@ class Block &lt; ActiveRecord::Base
299 311 self.position = block.position
300 312 end
301 313  
  314 + def add_observer(block)
  315 + self.observers << block
  316 + end
  317 +
302 318 private
303 319  
304 320 def home_page_path
... ...
app/models/chat_message.rb
... ... @@ -4,4 +4,5 @@ class ChatMessage &lt; ActiveRecord::Base
4 4 belongs_to :to, :class_name => 'Profile'
5 5 belongs_to :from, :class_name => 'Profile'
6 6  
  7 + validates_presence_of :from, :to
7 8 end
... ...
app/models/comment.rb
... ... @@ -48,6 +48,8 @@ class Comment &lt; ActiveRecord::Base
48 48  
49 49 xss_terminate :only => [ :body, :title, :name ], :on => 'validation'
50 50  
  51 + acts_as_voteable
  52 +
51 53 def comment_root
52 54 (reply_of && reply_of.comment_root) || self
53 55 end
... ...
app/models/environment.rb
... ... @@ -29,6 +29,7 @@ class Environment &lt; ActiveRecord::Base
29 29 'manage_environment_roles' => N_('Manage environment roles'),
30 30 'manage_environment_validators' => N_('Manage environment validators'),
31 31 'manage_environment_users' => N_('Manage environment users'),
  32 + 'manage_environment_organizations' => N_('Manage environment organizations'),
32 33 'manage_environment_templates' => N_('Manage environment templates'),
33 34 'manage_environment_licenses' => N_('Manage environment licenses'),
34 35 'manage_environment_trusted_sites' => N_('Manage environment trusted sites'),
... ...
app/models/person.rb
... ... @@ -111,6 +111,8 @@ roles] }
111 111  
112 112 belongs_to :user, :dependent => :delete
113 113  
  114 + acts_as_voter
  115 +
114 116 def can_change_homepage?
115 117 !environment.enabled?('cant_change_homepage') || is_admin?
116 118 end
... ...
app/models/product_category.rb
... ... @@ -10,6 +10,9 @@ class ProductCategory &lt; Category
10 10 :joins => :products,
11 11 :conditions => ['products.profile_id = ?', enterprise.id]
12 12 }}
  13 + scope :by_environment, lambda { |environment| {
  14 + :conditions => ['environment_id = ?', environment.id]
  15 + }}
13 16 scope :unique_by_level, lambda { |level| {
14 17 :select => "DISTINCT ON (filtered_category) split_part(path, '/', #{level}) AS filtered_category, categories.*"
15 18 }}
... ...
app/models/profile.rb
... ... @@ -430,6 +430,9 @@ class Profile &lt; ActiveRecord::Base
430 430 new_block = block.class.new(:title => block[:title])
431 431 new_block.copy_from(block)
432 432 new_box.blocks << new_block
  433 + if block.mirror?
  434 + block.add_observer(new_block)
  435 + end
433 436 end
434 437 end
435 438 end
... ... @@ -1002,11 +1005,19 @@ private :generate_url, :url_options
1002 1005 self.save
1003 1006 end
1004 1007  
  1008 + def disabled?
  1009 + !visible
  1010 + end
  1011 +
1005 1012 def enable
1006 1013 self.visible = true
1007 1014 self.save
1008 1015 end
1009 1016  
  1017 + def enabled?
  1018 + visible
  1019 + end
  1020 +
1010 1021 def control_panel_settings_button
1011 1022 {:title => _('Edit Profile'), :icon => 'edit-profile'}
1012 1023 end
... ...
app/views/admin_panel/index.html.erb
... ... @@ -19,9 +19,9 @@
19 19 <table>
20 20 <tr><td><%= link_to _('User roles'), :controller => 'role' %></td></tr>
21 21 <tr><td><%= link_to _('Users'), :controller => 'users' %></td></tr>
  22 + <tr><td><%= link_to _('Organizations'), :controller => 'organizations' %></td></tr>
22 23 <tr><td><%= link_to _('Profile templates'), :controller => 'templates' %></td></tr>
23 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 25 </table>
26 26  
27 27  
... ...
app/views/admin_panel/manage_organizations_status.html.erb
... ... @@ -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 0 \ No newline at end of file
app/views/blocks/profile_info_actions/_common.html.erb 0 → 100644
... ... @@ -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 13 </li>
14 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 17 <% end %>
20 18 </ul>
... ...
app/views/blocks/profile_info_actions/_enterprise.html.erb
... ... @@ -8,5 +8,5 @@
8 8 <li><%= button(:'menu-mail', _('Send an e-mail'), {:profile => profile.identifier, :controller => 'contact', :action => 'new'}, {:id => 'enterprise-contact-button'} ) %></li>
9 9 <% end %>
10 10  
11   - <li><%= report_abuse(profile, :button) %></li>
  11 + <%= render :partial => 'blocks/profile_info_actions/common' %>
12 12 </ul>
... ...
app/views/blocks/profile_info_actions/_person.html.erb
... ... @@ -11,6 +11,6 @@
11 11 <li><%= button(:back, _('Send an e-mail'), {:profile => profile.identifier, :controller => 'contact', :action => 'new'}) %></li>
12 12 <% end %>
13 13  
14   - <li><%= report_abuse(profile, :button) %></li>
  14 + <%= render :partial => 'blocks/profile_info_actions/common' %>
15 15 <% end %>
16 16 </ul>
... ...
app/views/box_organizer/edit.html.erb
... ... @@ -25,6 +25,11 @@
25 25 </div>
26 26 <div class="move-modes">
27 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 33 </div>
29 34 <% end %>
30 35  
... ...
app/views/chat/start_session_error.html.erb
1 1 <p>
2 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 4 </p>
... ...
app/views/organizations/_results.html.erb 0 → 100644
... ... @@ -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 @@
  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 @@
  1 +../../views/shared/admin/profiles/index.js.rb
0 2 \ No newline at end of file
... ...
app/views/profile_editor/index.html.erb
... ... @@ -73,7 +73,7 @@
73 73 <%= control_panel_button(_('Edit welcome page'), 'welcome-page', :action => 'welcome_page') if has_welcome_page %>
74 74  
75 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 77 <% end %>
78 78  
79 79 <% end %>
... ...
app/views/shared/admin/profiles/index.js.rb 0 → 100644
... ... @@ -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 7 var $own_name = '<%= user.name %>';
8 8 var $muc_domain = '<%= "conference.#{environment.default_hostname}" %>';
9 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 11 var $update_presence_status_every = <%= User.expires_chat_status_every.minutes %>;
12 12 var $presence = '<%= current_user.last_chat_status %>';
13 13 </script>
14 14  
15   -
16 15 <div id="chat-label">
  16 + <span id="unread-messages"></span>
17 17 <span class="right-arrow">&#9654;</span>
18 18 <span class="title"><%= _('Chat') %></span>
19 19 </div>
... ... @@ -98,10 +98,5 @@
98 98 </div>
99 99 </div>
100 100 </div>
101   -
102   - <div class="error-message">
103   - <span class='error'>%{text}</span>
104   - </div>
105   -
106 101 </div>
107 102 </div>
... ...
app/views/shared/profile_actions/xmpp_chat.html.erb 0 → 100644
... ... @@ -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/index.html.erb
... ... @@ -29,6 +29,11 @@
29 29 <p>
30 30 <%= labelled_text_field(_("Text filter")+': ', :filter_text, nil, {:id => 'filter-text',:value => @filter_text}) %>
31 31 </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 %>
32 37 <p>
33 38 <%= 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 39 </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 3 <%= filter_selector(@filter) %>
4 4 <div style="clear: both"></div>
5 5 </div>
... ...
config/initializers/wrap_parameters.rb 0 → 100644
... ... @@ -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/20140820173129_create_chat_messages.rb
1 1 class CreateChatMessages < ActiveRecord::Migration
2   - def change
  2 + def up
3 3 create_table :chat_messages do |t|
4 4 t.integer :to_id
5 5 t.integer :from_id
... ... @@ -8,4 +8,8 @@ class CreateChatMessages &lt; ActiveRecord::Migration
8 8 t.timestamps
9 9 end
10 10 end
  11 +
  12 + def down
  13 + drop_table :chat_messages
  14 + end
11 15 end
... ...
db/migrate/20141014205254_change_chat_messages_columns_and_add_indexes.rb 0 → 100644
... ... @@ -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/20150429145001_add_mirror_to_block.rb 0 → 100644
... ... @@ -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
... ...
db/schema.rb
... ... @@ -11,7 +11,7 @@
11 11 #
12 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 16 create_table "abuse_reports", :force => true do |t|
17 17 t.integer "reporter_id"
... ... @@ -183,10 +183,13 @@ ActiveRecord::Schema.define(:version =&gt; 20150513213939) do
183 183 t.string "type"
184 184 t.text "settings"
185 185 t.integer "position"
186   - t.boolean "enabled", :default => true
  186 + t.boolean "enabled", :default => true
187 187 t.datetime "created_at"
188 188 t.datetime "updated_at"
189 189 t.datetime "fetched_at"
  190 + t.boolean "mirror", :default => false
  191 + t.integer "mirror_block_id"
  192 + t.integer "observers_id"
190 193 end
191 194  
192 195 add_index "blocks", ["box_id"], :name => "index_blocks_on_box_id"
... ... @@ -242,13 +245,17 @@ ActiveRecord::Schema.define(:version =&gt; 20150513213939) do
242 245 end
243 246  
244 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 251 t.datetime "created_at", :null => false
249 252 t.datetime "updated_at", :null => false
250 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 259 create_table "comments", :force => true do |t|
253 260 t.string "title"
254 261 t.text "body"
... ... @@ -264,6 +271,7 @@ ActiveRecord::Schema.define(:version =&gt; 20150513213939) do
264 271 t.string "user_agent"
265 272 t.string "referrer"
266 273 t.text "settings"
  274 + t.integer "paragraph_id"
267 275 end
268 276  
269 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 685 t.date "end_date"
678 686 t.integer "requestor_id"
679 687 t.integer "target_id"
680   - t.string "code", :limit => 40
  688 + t.string "code", :limit => 40
681 689 t.string "type"
682 690 t.datetime "created_at"
683 691 t.string "target_type"
684 692 t.integer "image_id"
685   - t.boolean "spam", :default => false
  693 + t.boolean "spam", :default => false
  694 + t.integer "responsible_id"
686 695 end
687 696  
688 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 21 if ! test -e "$apache_site"; then
22 22 echo "Generating apache virtual host ..."
23 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 31 fi
25 32  
26 33 echo 'Noosfero Apache configuration updated.'
... ...
etc/pound.cfg
  1 +User "www-data"
  2 +Group "www-data"
1 3 LogLevel 1
2 4 Alive 10
3 5 Client 120
... ...
features/template_block_management.feature 0 → 100644
... ... @@ -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/geo_ref.rb 0 → 100644
... ... @@ -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
... ... @@ -263,10 +263,11 @@ class Noosfero::Plugin
263 263 end
264 264  
265 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 271 def control_panel_buttons
271 272 nil
272 273 end
... ... @@ -309,6 +310,18 @@ class Noosfero::Plugin
309 310 nil
310 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 325 # -> Adds content to profile editor info and settings
313 326 # returns = lambda block that creates html code or raw rhtml/html.erb
314 327 def profile_editor_extras
... ...
plugins/anti_spam/po/de/anti_spam.po
... ... @@ -6,8 +6,8 @@
6 6 #
7 7 msgid ""
8 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 11 "PO-Revision-Date: 2014-12-12 14:23+0200\n"
12 12 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
13 13 "Language-Team: German <https://hosted.weblate.org/projects/noosfero/noosfero/"
... ...
plugins/anti_spam/po/pt/anti_spam.po
... ... @@ -11,8 +11,8 @@
11 11 #
12 12 msgid ""
13 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 16 "PO-Revision-Date: 2014-12-18 18:40-0200\n"
17 17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n"
18 18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/"
... ...
plugins/breadcrumbs/po/pt/breadcrumbs.po
... ... @@ -11,8 +11,8 @@
11 11 #
12 12 msgid ""
13 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 16 "PO-Revision-Date: 2014-12-18 18:40-0200\n"
17 17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n"
18 18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/"
... ... @@ -28,15 +28,15 @@ msgstr &quot;&quot;
28 28 msgid "A plugin that add a block to display breadcrumbs."
29 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 32 msgid "Content Breadcrumbs"
33 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 36 msgid "This block displays breadcrumb trail."
37 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 40 msgid "Upload Files"
41 41 msgstr "Enviar Arquivos"
42 42  
... ... @@ -47,3 +47,8 @@ msgstr &quot;Mostrar cms&quot;
47 47 #: plugins/breadcrumbs/views/box_organizer/breadcrumbs_plugin/_content_breadcrumbs_block.html.erb:3
48 48 msgid "Show profile"
49 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 6 #
7 7 msgid ""
8 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 11 "PO-Revision-Date: 2014-12-12 14:23+0200\n"
12 12 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
13 13 "Language-Team: German <https://hosted.weblate.org/projects/noosfero/noosfero/"
... ...
plugins/bsc/po/es/bsc.po
... ... @@ -5,8 +5,8 @@
5 5 #
6 6 msgid ""
7 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 10 "PO-Revision-Date: 2014-11-03 15:52+0200\n"
11 11 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
12 12 "Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/"
... ...
plugins/bsc/po/fr/bsc.po
... ... @@ -4,9 +4,9 @@
4 4 # , 2009.
5 5 msgid ""
6 6 msgstr ""
7   -"Project-Id-Version: 1.0-690-gcb6e853\n"
  7 +"Project-Id-Version: 1.1-166-gaf47713\n"
8 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 10 "PO-Revision-Date: 2014-12-12 14:22+0200\n"
11 11 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
12 12 "Language-Team: French <https://hosted.weblate.org/projects/noosfero/noosfero/"
... ...
plugins/bsc/po/hy/bsc.po
... ... @@ -5,8 +5,8 @@
5 5 #
6 6 msgid ""
7 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 10 "PO-Revision-Date: 2009-10-26 16:20-0300\n"
11 11 "Last-Translator: Anahit Minassian <anahit.minassian@cooperation.net>\n"
12 12 "Language-Team: LANGUAGE <LL@li.org>\n"
... ...
plugins/bsc/po/pt/bsc.po
... ... @@ -11,8 +11,8 @@
11 11 #
12 12 msgid ""
13 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 16 "PO-Revision-Date: 2014-12-18 18:40-0200\n"
17 17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n"
18 18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/"
... ...
plugins/bsc/po/ru/bsc.po
... ... @@ -5,8 +5,8 @@
5 5 #
6 6 msgid ""
7 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 10 "PO-Revision-Date: 2014-12-12 14:23+0200\n"
11 11 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
12 12 "Language-Team: Russian <https://hosted.weblate.org/projects/noosfero/"
... ...
plugins/comment_classification/po/de/comment_classification.po
... ... @@ -6,8 +6,8 @@
6 6 #
7 7 msgid ""
8 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 11 "PO-Revision-Date: 2015-02-23 11:38+0200\n"
12 12 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
13 13 "Language-Team: German <https://hosted.weblate.org/projects/noosfero/plugin-"
... ...
plugins/comment_classification/po/es/comment_classification.po
... ... @@ -5,8 +5,8 @@
5 5 #
6 6 msgid ""
7 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 10 "PO-Revision-Date: 2015-02-24 20:46+0200\n"
11 11 "Last-Translator: Gonzalo Exequiel Pedone <hipersayan.x@gmail.com>\n"
12 12 "Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/plugin-"
... ... @@ -91,8 +91,8 @@ msgid &quot;&quot;
91 91 "<i>%{user}</i> added the status <i>%{status_name}</i> at <i>%{created_at}</"
92 92 "i>."
93 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 97 #: plugins/comment_classification/views/comment_classification_plugin_myprofile/add_status.html.erb:18
98 98 msgid "<i>Reason:</i> %s"
... ...
plugins/comment_classification/po/fr/comment_classification.po
... ... @@ -4,9 +4,9 @@
4 4 # , 2009.
5 5 msgid ""
6 6 msgstr ""
7   -"Project-Id-Version: 1.0-690-gcb6e853\n"
  7 +"Project-Id-Version: 1.1-166-gaf47713\n"
8 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 10 "PO-Revision-Date: 2015-03-07 12:26+0200\n"
11 11 "Last-Translator: Tuux <tuxa@galaxie.eu.org>\n"
12 12 "Language-Team: French <https://hosted.weblate.org/projects/noosfero/plugin-"
... ... @@ -91,8 +91,8 @@ msgid &quot;&quot;
91 91 "<i>%{user}</i> added the status <i>%{status_name}</i> at <i>%{created_at}</"
92 92 "i>."
93 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 97 #: plugins/comment_classification/views/comment_classification_plugin_myprofile/add_status.html.erb:18
98 98 msgid "<i>Reason:</i> %s"
... ...
plugins/comment_classification/po/hy/comment_classification.po
... ... @@ -5,8 +5,8 @@
5 5 #
6 6 msgid ""
7 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 10 "PO-Revision-Date: 2015-02-23 11:37+0200\n"
11 11 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
12 12 "Language-Team: Armenian <https://hosted.weblate.org/projects/noosfero/plugin-"
... ...
plugins/comment_classification/po/pt/comment_classification.po
... ... @@ -11,12 +11,12 @@
11 11 #
12 12 msgid ""
13 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 16 "PO-Revision-Date: 2015-02-23 11:38+0200\n"
17 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 20 "Language: pt\n"
21 21 "MIME-Version: 1.0\n"
22 22 "Content-Type: text/plain; charset=UTF-8\n"
... ...
plugins/comment_classification/po/ru/comment_classification.po
... ... @@ -5,8 +5,8 @@
5 5 #
6 6 msgid ""
7 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 10 "PO-Revision-Date: 2015-02-23 11:37+0200\n"
11 11 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
12 12 "Language-Team: Russian <https://hosted.weblate.org/projects/noosfero/plugin-"
... ... @@ -15,8 +15,8 @@ msgstr &quot;&quot;
15 15 "MIME-Version: 1.0\n"
16 16 "Content-Type: text/plain; charset=UTF-8\n"
17 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 20 "X-Generator: Weblate 2.3-dev\n"
21 21  
22 22 #: plugins/comment_classification/lib/comment_classification_plugin.rb:11
... ...
plugins/comment_group/po/pt/comment_group.po
... ... @@ -11,8 +11,8 @@
11 11 #
12 12 msgid ""
13 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 16 "PO-Revision-Date: 2014-12-18 18:40-0200\n"
17 17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n"
18 18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/"
... ...
plugins/community_block/po/pt/community_block.po
... ... @@ -11,8 +11,8 @@
11 11 #
12 12 msgid ""
13 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 16 "PO-Revision-Date: 2014-12-18 18:40-0200\n"
17 17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n"
18 18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/"
... ...
plugins/community_track/po/de/community_track.po
... ... @@ -6,8 +6,8 @@
6 6 #
7 7 msgid ""
8 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 11 "PO-Revision-Date: 2014-12-12 14:23+0200\n"
12 12 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
13 13 "Language-Team: German <https://hosted.weblate.org/projects/noosfero/noosfero/"
... ...
plugins/community_track/po/es/community_track.po
... ... @@ -5,8 +5,8 @@
5 5 #
6 6 msgid ""
7 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 10 "PO-Revision-Date: 2015-02-24 19:06+0200\n"
11 11 "Last-Translator: Gonzalo Exequiel Pedone <hipersayan.x@gmail.com>\n"
12 12 "Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/plugin-"
... ...
plugins/community_track/po/pt/community_track.po
... ... @@ -11,8 +11,8 @@
11 11 #
12 12 msgid ""
13 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 16 "PO-Revision-Date: 2014-12-18 18:40-0200\n"
17 17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n"
18 18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/"
... ...
plugins/container_block/po/pt/container_block.po
... ... @@ -11,8 +11,8 @@
11 11 #
12 12 msgid ""
13 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 16 "PO-Revision-Date: 2014-12-18 18:40-0200\n"
17 17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n"
18 18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/"
... ...
plugins/context_content/po/pt/context_content.po
... ... @@ -11,8 +11,8 @@
11 11 #
12 12 msgid ""
13 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 16 "PO-Revision-Date: 2014-12-18 18:40-0200\n"
17 17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n"
18 18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/"
... ...
plugins/custom_forms/po/de/custom_forms.po
... ... @@ -6,8 +6,8 @@
6 6 #
7 7 msgid ""
8 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 11 "PO-Revision-Date: 2015-03-09 09:51+0200\n"
12 12 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
13 13 "Language-Team: German <https://hosted.weblate.org/projects/noosfero/plugin-"
... ...
plugins/custom_forms/po/eo/custom_forms.po
... ... @@ -5,8 +5,8 @@
5 5 #
6 6 msgid ""
7 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 10 "PO-Revision-Date: 2014-11-05 13:05+0200\n"
11 11 "Last-Translator: Aurélio A. Heckert <aurelio@colivre.coop.br>\n"
12 12 "Language-Team: Esperanto <https://hosted.weblate.org/projects/noosfero/"
... ...
plugins/custom_forms/po/es/custom_forms.po
... ... @@ -5,8 +5,8 @@
5 5 #
6 6 msgid ""
7 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 10 "PO-Revision-Date: 2015-03-09 09:51+0200\n"
11 11 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
12 12 "Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/plugin-"
... ...
plugins/custom_forms/po/fr/custom_forms.po
... ... @@ -4,9 +4,9 @@
4 4 # , 2009.
5 5 msgid ""
6 6 msgstr ""
7   -"Project-Id-Version: 1.0-690-gcb6e853\n"
  7 +"Project-Id-Version: 1.1-166-gaf47713\n"
8 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 10 "PO-Revision-Date: 2015-02-23 11:38+0200\n"
11 11 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
12 12 "Language-Team: French <https://hosted.weblate.org/projects/noosfero/plugin-"
... ...
plugins/custom_forms/po/hy/custom_forms.po
... ... @@ -5,8 +5,8 @@
5 5 #
6 6 msgid ""
7 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 10 "PO-Revision-Date: 2015-02-23 11:37+0200\n"
11 11 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
12 12 "Language-Team: Armenian <https://hosted.weblate.org/projects/noosfero/plugin-"
... ...
plugins/custom_forms/po/pt/custom_forms.po
... ... @@ -11,12 +11,12 @@
11 11 #
12 12 msgid ""
13 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 16 "PO-Revision-Date: 2015-03-12 15:13+0200\n"
17 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 20 "Language: pt\n"
21 21 "MIME-Version: 1.0\n"
22 22 "Content-Type: text/plain; charset=UTF-8\n"
... ...
plugins/custom_forms/po/ru/custom_forms.po
... ... @@ -5,8 +5,8 @@
5 5 #
6 6 msgid ""
7 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 10 "PO-Revision-Date: 2015-03-09 09:51+0200\n"
11 11 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
12 12 "Language-Team: Russian <https://hosted.weblate.org/projects/noosfero/plugin-"
... ... @@ -15,8 +15,8 @@ msgstr &quot;&quot;
15 15 "MIME-Version: 1.0\n"
16 16 "Content-Type: text/plain; charset=UTF-8\n"
17 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 20 "X-Generator: Weblate 2.3-dev\n"
21 21  
22 22 #: plugins/custom_forms/lib/custom_forms_plugin/form.rb:67
... ...
plugins/display_content/po/de/display_content.po
... ... @@ -6,8 +6,8 @@
6 6 #
7 7 msgid ""
8 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 11 "PO-Revision-Date: 2015-02-23 11:37+0200\n"
12 12 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
13 13 "Language-Team: German <https://hosted.weblate.org/projects/noosfero/plugin-"
... ...
plugins/display_content/po/es/display_content.po
... ... @@ -5,8 +5,8 @@
5 5 #
6 6 msgid ""
7 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 10 "PO-Revision-Date: 2015-03-09 09:51+0200\n"
11 11 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
12 12 "Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/plugin-"
... ...
plugins/display_content/po/fr/display_content.po
... ... @@ -4,9 +4,9 @@
4 4 # , 2009.
5 5 msgid ""
6 6 msgstr ""
7   -"Project-Id-Version: 1.0-690-gcb6e853\n"
  7 +"Project-Id-Version: 1.1-166-gaf47713\n"
8 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 10 "PO-Revision-Date: 2015-03-07 02:11+0200\n"
11 11 "Last-Translator: Tuux <tuxa@galaxie.eu.org>\n"
12 12 "Language-Team: French <https://hosted.weblate.org/projects/noosfero/plugin-"
... ... @@ -106,7 +106,8 @@ msgstr &quot;plus&quot;
106 106  
107 107 #: plugins/display_content/views/box_organizer/_choose_directly.html.erb:5
108 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 112 #: plugins/display_content/views/box_organizer/_choose_directly.html.erb:9
112 113 msgid "Limit:"
... ...
plugins/display_content/po/hy/display_content.po
... ... @@ -5,8 +5,8 @@
5 5 #
6 6 msgid ""
7 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 10 "PO-Revision-Date: 2009-10-26 16:20-0300\n"
11 11 "Last-Translator: Anahit Minassian <anahit.minassian@cooperation.net>\n"
12 12 "Language-Team: LANGUAGE <LL@li.org>\n"
... ...
plugins/display_content/po/pt/display_content.po
... ... @@ -11,12 +11,12 @@
11 11 #
12 12 msgid ""
13 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 16 "PO-Revision-Date: 2015-03-12 15:14+0200\n"
17 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 20 "Language: pt\n"
21 21 "MIME-Version: 1.0\n"
22 22 "Content-Type: text/plain; charset=UTF-8\n"
... ...
plugins/event/po/pt/event.po
... ... @@ -5,8 +5,8 @@
5 5 #
6 6 msgid ""
7 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 10 "PO-Revision-Date: 2015-01-30 00:18-0000\n"
11 11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 12 "Language-Team: LANGUAGE <LL@li.org>\n"
... ... @@ -16,17 +16,6 @@ msgstr &quot;&quot;
16 16 "Content-Transfer-Encoding: 8bit\n"
17 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 19 #: plugins/event/lib/event_plugin/event_block.rb:12
31 20 msgid "Events"
32 21 msgstr "Eventos"
... ... @@ -61,7 +50,24 @@ msgstr[1] &quot;%d dias para começar&quot;
61 50 msgid "One month left to start"
62 51 msgid_plural "%d months left to start"
63 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 72 #: plugins/event/views/profile_design/event_plugin/_event_block.html.erb:1
67 73 msgid "Limit of items"
... ... @@ -92,12 +98,6 @@ msgstr &quot;Limite de dias para mostrar&quot;
92 98 msgid "Only show events in this interval of days."
93 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 101 #~ msgid "Started one day ago."
102 102 #~ msgid_plural "Started %d days ago."
103 103 #~ msgstr[0] "Iniciou a Um dia atrás."
... ...
plugins/foo/po/de/foo.po
... ... @@ -6,8 +6,8 @@
6 6 #
7 7 msgid ""
8 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 11 "PO-Revision-Date: 2014-12-12 14:23+0200\n"
12 12 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
13 13 "Language-Team: German <https://hosted.weblate.org/projects/noosfero/noosfero/"
... ... @@ -19,6 +19,6 @@ msgstr &quot;&quot;
19 19 "Plural-Forms: nplurals=2; plural=n != 1;\n"
20 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 23 msgid "A sample plugin to test autoload craziness."
24 24 msgstr "Ein Beispiel-Plugin, um die Autoload-Verrücktheit zu überprüfen."
... ...
plugins/foo/po/es/foo.po
... ... @@ -5,8 +5,8 @@
5 5 #
6 6 msgid ""
7 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 10 "PO-Revision-Date: 2014-11-03 15:52+0200\n"
11 11 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
12 12 "Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/"
... ... @@ -18,6 +18,6 @@ msgstr &quot;&quot;
18 18 "Plural-Forms: nplurals=2; plural=n != 1;\n"
19 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 22 msgid "A sample plugin to test autoload craziness."
23 23 msgstr "Un plugin de ejemplo para probar autocargar la locura."
... ...
plugins/foo/po/pt/foo.po
... ... @@ -11,8 +11,8 @@
11 11 #
12 12 msgid ""
13 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 16 "PO-Revision-Date: 2014-12-18 18:40-0200\n"
17 17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n"
18 18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/"
... ... @@ -24,6 +24,6 @@ msgstr &quot;&quot;
24 24 "Plural-Forms: nplurals=2; plural=n != 1;\n"
25 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 28 msgid "A sample plugin to test autoload craziness."
29 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 6 #
7 7 msgid ""
8 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 11 "PO-Revision-Date: 2014-12-12 14:23+0200\n"
12 12 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
13 13 "Language-Team: German <https://hosted.weblate.org/projects/noosfero/noosfero/"
... ... @@ -22,3 +22,11 @@ msgstr &quot;&quot;
22 22 #: plugins/google_analytics/lib/google_analytics_plugin.rb:13
23 23 msgid "Tracking and web analytics to people and communities"
24 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 5 #
6 6 msgid ""
7 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 10 "PO-Revision-Date: 2014-11-03 15:52+0200\n"
11 11 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
12 12 "Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/"
... ... @@ -21,3 +21,11 @@ msgstr &quot;&quot;
21 21 #: plugins/google_analytics/lib/google_analytics_plugin.rb:13
22 22 msgid "Tracking and web analytics to people and communities"
23 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 11 #
12 12 msgid ""
13 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 16 "PO-Revision-Date: 2014-12-18 18:40-0200\n"
17 17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n"
18 18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/"
... ... @@ -27,3 +27,11 @@ msgstr &quot;&quot;
27 27 #: plugins/google_analytics/lib/google_analytics_plugin.rb:13
28 28 msgid "Tracking and web analytics to people and communities"
29 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 6 #
7 7 msgid ""
8 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 11 "PO-Revision-Date: 2014-12-12 14:23+0200\n"
12 12 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
13 13 "Language-Team: German <https://hosted.weblate.org/projects/noosfero/noosfero/"
... ...
plugins/google_cse/po/es/google_cse.po
... ... @@ -5,8 +5,8 @@
5 5 #
6 6 msgid ""
7 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 10 "PO-Revision-Date: 2014-11-03 15:52+0200\n"
11 11 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
12 12 "Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/"
... ...
plugins/google_cse/po/pt/google_cse.po
... ... @@ -11,8 +11,8 @@
11 11 #
12 12 msgid ""
13 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 16 "PO-Revision-Date: 2014-12-18 18:40-0200\n"
17 17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n"
18 18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/"
... ...
plugins/html5_video/po/pt/html5_video.po
... ... @@ -11,8 +11,8 @@
11 11 #
12 12 msgid ""
13 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 16 "PO-Revision-Date: 2014-12-18 18:40-0200\n"
17 17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n"
18 18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/"
... ...
plugins/lattes_curriculum/po/pt/lattes_curriculum.po
... ... @@ -11,12 +11,12 @@
11 11 #
12 12 msgid ""
13 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 16 "PO-Revision-Date: 2015-02-17 10:50+0200\n"
17 17 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
18   -"Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero"
19   -"/plugin-lattes-curriculum/pt/>\n"
  18 +"Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/"
  19 +"plugin-lattes-curriculum/pt/>\n"
20 20 "Language: pt\n"
21 21 "MIME-Version: 1.0\n"
22 22 "Content-Type: text/plain; charset=UTF-8\n"
... ...
plugins/ldap/po/de/ldap.po
... ... @@ -6,8 +6,8 @@
6 6 #
7 7 msgid ""
8 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 11 "PO-Revision-Date: 2014-12-12 14:23+0200\n"
12 12 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
13 13 "Language-Team: German <https://hosted.weblate.org/projects/noosfero/noosfero/"
... ... @@ -19,7 +19,7 @@ msgstr &quot;&quot;
19 19 "Plural-Forms: nplurals=2; plural=n != 1;\n"
20 20 "X-Generator: Weblate 2.2-dev\n"
21 21  
22   -#: plugins/ldap/lib/ldap_plugin.rb:10
  22 +#: plugins/ldap/lib/ldap_plugin.rb:11
23 23 #, fuzzy
24 24 msgid "A plugin that add ldap support."
25 25 msgstr "Ein Plugin, welches dies und jenes tut."
... ...
plugins/ldap/po/pt/ldap.po
... ... @@ -11,8 +11,8 @@
11 11 #
12 12 msgid ""
13 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 16 "PO-Revision-Date: 2014-12-18 18:40-0200\n"
17 17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n"
18 18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/"
... ... @@ -24,7 +24,7 @@ msgstr &quot;&quot;
24 24 "Plural-Forms: nplurals=2; plural=n != 1;\n"
25 25 "X-Generator: Weblate 2.0\n"
26 26  
27   -#: plugins/ldap/lib/ldap_plugin.rb:10
  27 +#: plugins/ldap/lib/ldap_plugin.rb:11
28 28 msgid "A plugin that add ldap support."
29 29 msgstr "Um plugin que adiciona suporte a ldap."
30 30  
... ...
plugins/mark_comment_as_read/po/pt/mark_comment_as_read.po
... ... @@ -11,8 +11,8 @@
11 11 #
12 12 msgid ""
13 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 16 "PO-Revision-Date: 2014-12-18 18:40-0200\n"
17 17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n"
18 18 "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/"
... ...
plugins/pairwise
1   -Subproject commit b18d03a73f4db349adc25d730c5afcedb57cecb1
  1 +Subproject commit c733dd106a1adf55a4674e82ea809237fa42252b
... ...
plugins/people_block/po/de/people_block.po
... ... @@ -6,8 +6,8 @@
6 6 #
7 7 msgid ""
8 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 11 "PO-Revision-Date: 2014-12-12 14:23+0200\n"
12 12 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
13 13 "Language-Team: German <https://hosted.weblate.org/projects/noosfero/noosfero/"
... ...
plugins/people_block/po/es/people_block.po
... ... @@ -5,8 +5,8 @@
5 5 #
6 6 msgid ""
7 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 10 "PO-Revision-Date: 2014-11-03 15:52+0200\n"
11 11 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
12 12 "Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/"
... ...
plugins/people_block/po/fr/people_block.po
... ... @@ -4,9 +4,9 @@
4 4 # , 2009.
5 5 msgid ""
6 6 msgstr ""
7   -"Project-Id-Version: 1.0-690-gcb6e853\n"
  7 +"Project-Id-Version: 1.1-166-gaf47713\n"
8 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 10 "PO-Revision-Date: 2014-12-12 14:22+0200\n"
11 11 "Last-Translator: Michal Čihař <michal@cihar.com>\n"
12 12 "Language-Team: French <https://hosted.weblate.org/projects/noosfero/noosfero/"
... ...