Commit eb070c854a25817e1cb8b5f2a80cc7924cf99972

Authored by Leandro Santos
2 parents 791be590 dba0b9ae

fixing conflit with master

Showing 774 changed files with 94508 additions and 74480 deletions   Show diff stats

Too many changes.

To preserve performance only 100 of 774 files displayed.

@@ -28,8 +28,8 @@ @@ -28,8 +28,8 @@
28 [submodule "public/proposal-app"] 28 [submodule "public/proposal-app"]
29 path = public/proposal-app 29 path = public/proposal-app
30 url = https://gitlab.com/participa/proposal-app.git 30 url = https://gitlab.com/participa/proposal-app.git
31 -[submodule "plugins/gravatar-provider"]  
32 - path = plugins/gravatar-provider 31 +[submodule "plugins/gravatar_provider"]
  32 + path = plugins/gravatar_provider
33 url = https://gitlab.com/noosfero-plugins/gravatar-provider.git 33 url = https://gitlab.com/noosfero-plugins/gravatar-provider.git
34 [submodule "plugins/juventude"] 34 [submodule "plugins/juventude"]
35 path = plugins/juventude 35 path = plugins/juventude
@@ -17,11 +17,13 @@ Ana Losnak <analosnak@gmail.com> @@ -17,11 +17,13 @@ Ana Losnak <analosnak@gmail.com>
17 Ana Paula Vargas <anapaulavnoronha@gmail.com> 17 Ana Paula Vargas <anapaulavnoronha@gmail.com>
18 Andre Bedran <bedran.fleck@gmail.com> 18 Andre Bedran <bedran.fleck@gmail.com>
19 André Guedes <andrebsguedes@gmail.com> 19 André Guedes <andrebsguedes@gmail.com>
  20 +Andrey Aleksanyants <aaleksanyants@yahoo.com>
20 Antonio Terceiro <terceiro@colivre.coop.br> 21 Antonio Terceiro <terceiro@colivre.coop.br>
21 Arthur Del Esposte <arthurmde@gmail.com> 22 Arthur Del Esposte <arthurmde@gmail.com>
22 Athos Ribeiro <athoscribeiro@gmail.com> 23 Athos Ribeiro <athoscribeiro@gmail.com>
23 Aurelio A. Heckert <aurelio@colivre.coop.br> 24 Aurelio A. Heckert <aurelio@colivre.coop.br>
24 Braulio Bhavamitra <braulio@eita.org.br> 25 Braulio Bhavamitra <braulio@eita.org.br>
  26 +Brenddon Gontijo <brenddongontijo@msn.com>
25 Caio Formiga <caio.formiga@gmail.com> 27 Caio Formiga <caio.formiga@gmail.com>
26 Caio Salgado <caio.csalgado@gmail.com> 28 Caio Salgado <caio.csalgado@gmail.com>
27 Caio SBA <caio@colivre.coop.br> 29 Caio SBA <caio@colivre.coop.br>
@@ -39,8 +39,6 @@ GEM @@ -39,8 +39,6 @@ GEM
39 multi_json (~> 1.0) 39 multi_json (~> 1.0)
40 acts-as-taggable-on (3.4.4) 40 acts-as-taggable-on (3.4.4)
41 activerecord (>= 3.2, < 5) 41 activerecord (>= 3.2, < 5)
42 - addressable (2.3.8)  
43 - ambry (0.3.1)  
44 api-pagination (4.1.1) 42 api-pagination (4.1.1)
45 arel (3.0.3) 43 arel (3.0.3)
46 axiom-types (0.1.1) 44 axiom-types (0.1.1)
@@ -59,8 +57,6 @@ GEM @@ -59,8 +57,6 @@ GEM
59 chronic (0.10.2) 57 chronic (0.10.2)
60 coercible (1.0.0) 58 coercible (1.0.0)
61 descendants_tracker (~> 0.0.1) 59 descendants_tracker (~> 0.0.1)
62 - crack (0.4.2)  
63 - safe_yaml (~> 1.0.0)  
64 cucumber (1.0.6) 60 cucumber (1.0.6)
65 builder (>= 2.1.2) 61 builder (>= 2.1.2)
66 diff-lcs (>= 1.1.2) 62 diff-lcs (>= 1.1.2)
@@ -87,8 +83,6 @@ GEM @@ -87,8 +83,6 @@ GEM
87 actionmailer (>= 3.0.4) 83 actionmailer (>= 3.0.4)
88 activesupport (>= 3.0.4) 84 activesupport (>= 3.0.4)
89 execjs (2.5.2) 85 execjs (2.5.2)
90 - faraday (0.9.1)  
91 - multipart-post (>= 1.2, < 3)  
92 fast_gettext (0.6.12) 86 fast_gettext (0.6.12)
93 ffi (1.9.10) 87 ffi (1.9.10)
94 gettext (2.2.1) 88 gettext (2.2.1)
@@ -115,7 +109,6 @@ GEM @@ -115,7 +109,6 @@ GEM
115 ice_nine (0.11.1) 109 ice_nine (0.11.1)
116 journey (1.0.4) 110 journey (1.0.4)
117 json (1.8.3) 111 json (1.8.3)
118 - jwt (1.5.1)  
119 liquid (3.0.6) 112 liquid (3.0.6)
120 locale (2.0.9) 113 locale (2.0.9)
121 magic (0.2.9) 114 magic (0.2.9)
@@ -123,8 +116,6 @@ GEM @@ -123,8 +116,6 @@ GEM
123 mail (2.5.4) 116 mail (2.5.4)
124 mime-types (~> 1.16) 117 mime-types (~> 1.16)
125 treetop (~> 1.4.8) 118 treetop (~> 1.4.8)
126 - merit (2.3.2)  
127 - ambry (~> 0.3.0)  
128 metaclass (0.0.4) 119 metaclass (0.0.4)
129 mime-types (1.25.1) 120 mime-types (1.25.1)
130 mini_portile (0.6.2) 121 mini_portile (0.6.2)
@@ -133,26 +124,8 @@ GEM @@ -133,26 +124,8 @@ GEM
133 metaclass (~> 0.0.1) 124 metaclass (~> 0.0.1)
134 multi_json (1.11.2) 125 multi_json (1.11.2)
135 multi_xml (0.5.5) 126 multi_xml (0.5.5)
136 - multipart-post (2.0.0)  
137 nokogiri (1.6.6.2) 127 nokogiri (1.6.6.2)
138 mini_portile (~> 0.6.0) 128 mini_portile (~> 0.6.0)
139 - oauth2 (1.0.0)  
140 - faraday (>= 0.8, < 0.10)  
141 - jwt (~> 1.0)  
142 - multi_json (~> 1.3)  
143 - multi_xml (~> 0.5)  
144 - rack (~> 1.2)  
145 - omniauth (1.2.2)  
146 - hashie (>= 1.2, < 4)  
147 - rack (~> 1.0)  
148 - omniauth-facebook (2.0.1)  
149 - omniauth-oauth2 (~> 1.2)  
150 - omniauth-google-oauth2 (0.2.6)  
151 - omniauth (> 1.0)  
152 - omniauth-oauth2 (~> 1.1)  
153 - omniauth-oauth2 (1.3.1)  
154 - oauth2 (~> 1.0)  
155 - omniauth (~> 1.2)  
156 pg (0.13.2) 129 pg (0.13.2)
157 polyglot (0.3.5) 130 polyglot (0.3.5)
158 rack (1.4.7) 131 rack (1.4.7)
@@ -212,7 +185,6 @@ GEM @@ -212,7 +185,6 @@ GEM
212 ruby-feedparser (0.9.3) 185 ruby-feedparser (0.9.3)
213 magic 186 magic
214 rubyzip (1.1.7) 187 rubyzip (1.1.7)
215 - safe_yaml (1.0.4)  
216 sass (3.4.15) 188 sass (3.4.15)
217 sass-rails (3.2.6) 189 sass-rails (3.2.6)
218 railties (~> 3.2.0) 190 railties (~> 3.2.0)
@@ -245,15 +217,11 @@ GEM @@ -245,15 +217,11 @@ GEM
245 uglifier (2.7.1) 217 uglifier (2.7.1)
246 execjs (>= 0.3.0) 218 execjs (>= 0.3.0)
247 json (>= 1.8.0) 219 json (>= 1.8.0)
248 - vcr (2.9.3)  
249 virtus (1.0.5) 220 virtus (1.0.5)
250 axiom-types (~> 0.1) 221 axiom-types (~> 0.1)
251 coercible (~> 1.0) 222 coercible (~> 1.0)
252 descendants_tracker (~> 0.0, >= 0.0.3) 223 descendants_tracker (~> 0.0, >= 0.0.3)
253 equalizer (~> 0.0, >= 0.0.9) 224 equalizer (~> 0.0, >= 0.0.9)
254 - webmock (1.21.0)  
255 - addressable (>= 2.3.6)  
256 - crack (>= 0.3.2)  
257 websocket (1.0.7) 225 websocket (1.0.7)
258 whenever (0.9.4) 226 whenever (0.9.4)
259 chronic (>= 0.6.3) 227 chronic (>= 0.6.3)
@@ -283,13 +251,9 @@ DEPENDENCIES @@ -283,13 +251,9 @@ DEPENDENCIES
283 grape_logging! 251 grape_logging!
284 liquid (~> 3.0.3) 252 liquid (~> 3.0.3)
285 locale (~> 2.0.5) 253 locale (~> 2.0.5)
286 - merit (~> 2.3.1)  
287 minitest (~> 3.2.0) 254 minitest (~> 3.2.0)
288 mocha (~> 1.1.0) 255 mocha (~> 1.1.0)
289 nokogiri (~> 1.6.0) 256 nokogiri (~> 1.6.0)
290 - omniauth (~> 1.2.2)  
291 - omniauth-facebook (~> 2.0.0)  
292 - omniauth-google-oauth2 (~> 0.2.6)  
293 pg (~> 0.13.2) 257 pg (~> 0.13.2)
294 rack-contrib 258 rack-contrib
295 rack-cors 259 rack-cors
@@ -301,11 +265,10 @@ DEPENDENCIES @@ -301,11 +265,10 @@ DEPENDENCIES
301 rspec (~> 2.14.0) 265 rspec (~> 2.14.0)
302 rspec-rails (~> 2.14.1) 266 rspec-rails (~> 2.14.1)
303 ruby-feedparser (~> 0.7) 267 ruby-feedparser (~> 0.7)
  268 + rubyzip
304 sass-rails 269 sass-rails
305 selenium-webdriver (~> 2.39.0) 270 selenium-webdriver (~> 2.39.0)
306 thin (~> 1.3.1) 271 thin (~> 1.3.1)
307 uglifier (>= 1.0.3) 272 uglifier (>= 1.0.3)
308 - vcr  
309 - webmock  
310 whenever 273 whenever
311 will_paginate (~> 3.0.3) 274 will_paginate (~> 3.0.3)
app/controllers/application_controller.rb
@@ -7,7 +7,10 @@ class ApplicationController &lt; ActionController::Base @@ -7,7 +7,10 @@ class ApplicationController &lt; ActionController::Base
7 before_filter :detect_stuff_by_domain 7 before_filter :detect_stuff_by_domain
8 before_filter :init_noosfero_plugins 8 before_filter :init_noosfero_plugins
9 before_filter :allow_cross_domain_access 9 before_filter :allow_cross_domain_access
  10 +
  11 + before_filter :login_from_cookie
10 before_filter :login_required, :if => :private_environment? 12 before_filter :login_required, :if => :private_environment?
  13 +
11 before_filter :verify_members_whitelist, :if => [:private_environment?, :user] 14 before_filter :verify_members_whitelist, :if => [:private_environment?, :user]
12 before_filter :log_user 15 before_filter :log_user
13 16
app/controllers/my_profile/enterprise_validation_controller.rb
1 class EnterpriseValidationController < MyProfileController 1 class EnterpriseValidationController < MyProfileController
2 2
3 protect 'validate_enterprise', :profile 3 protect 'validate_enterprise', :profile
4 - 4 +
5 def index 5 def index
6 @pending_validations = profile.pending_validations 6 @pending_validations = profile.pending_validations
7 end 7 end
@@ -27,7 +27,7 @@ class EnterpriseValidationController &lt; MyProfileController @@ -27,7 +27,7 @@ class EnterpriseValidationController &lt; MyProfileController
27 post_only :reject 27 post_only :reject
28 def reject 28 def reject
29 @pending = profile.find_pending_validation(params[:id]) 29 @pending = profile.find_pending_validation(params[:id])
30 - if @pending 30 + if @pending
31 @pending.reject_explanation = params[:reject_explanation] 31 @pending.reject_explanation = params[:reject_explanation]
32 begin 32 begin
33 @pending.reject 33 @pending.reject
app/controllers/my_profile/favorite_enterprises_controller.rb
1 class FavoriteEnterprisesController < MyProfileController 1 class FavoriteEnterprisesController < MyProfileController
2 -  
3 -# protect 'manage_favorite_enteprises', :profile 2 +
  3 +# protect 'manage_favorite_enterprises', :profile
4 4
5 requires_profile_class Person 5 requires_profile_class Person
6 - 6 +
7 def index 7 def index
8 @favorite_enterprises = profile.favorite_enterprises 8 @favorite_enterprises = profile.favorite_enterprises
9 end 9 end
@@ -12,7 +12,7 @@ class FavoriteEnterprisesController &lt; MyProfileController @@ -12,7 +12,7 @@ class FavoriteEnterprisesController &lt; MyProfileController
12 @favorite_enterprise = Enterprise.find(params[:id]) 12 @favorite_enterprise = Enterprise.find(params[:id])
13 if request.post? && params[:confirmation] 13 if request.post? && params[:confirmation]
14 profile.favorite_enterprises << @favorite_enterprise 14 profile.favorite_enterprises << @favorite_enterprise
15 - redirect_to :action => 'index' 15 + redirect_to :action => 'index'
16 end 16 end
17 end 17 end
18 18
app/controllers/my_profile/profile_editor_controller.rb
@@ -5,6 +5,7 @@ class ProfileEditorController &lt; MyProfileController @@ -5,6 +5,7 @@ class ProfileEditorController &lt; MyProfileController
5 5
6 before_filter :access_welcome_page, :only => [:welcome_page] 6 before_filter :access_welcome_page, :only => [:welcome_page]
7 before_filter :back_to 7 before_filter :back_to
  8 + before_filter :forbid_destroy_profile, :only => [:destroy_profile]
8 helper_method :has_welcome_page 9 helper_method :has_welcome_page
9 10
10 def index 11 def index
@@ -112,7 +113,7 @@ class ProfileEditorController &lt; MyProfileController @@ -112,7 +113,7 @@ class ProfileEditorController &lt; MyProfileController
112 profile = environment.profiles.find(params[:id]) 113 profile = environment.profiles.find(params[:id])
113 if profile.disable 114 if profile.disable
114 profile.save 115 profile.save
115 - session[:notice] = _("The profile '#{profile.name}' was deactivated.") 116 + session[:notice] = _("The profile '%s' was deactivated.") % profile.name
116 else 117 else
117 session[:notice] = _('Could not deactivate profile.') 118 session[:notice] = _('Could not deactivate profile.')
118 end 119 end
@@ -126,7 +127,7 @@ class ProfileEditorController &lt; MyProfileController @@ -126,7 +127,7 @@ class ProfileEditorController &lt; MyProfileController
126 profile = environment.profiles.find(params[:id]) 127 profile = environment.profiles.find(params[:id])
127 128
128 if profile.enable 129 if profile.enable
129 - session[:notice] = _("The profile '#{profile.name}' was activated.") 130 + session[:notice] = _("The profile '%s' was activated.") % profile.name
130 else 131 else
131 session[:notice] = _('Could not activate the profile.') 132 session[:notice] = _('Could not activate the profile.')
132 end 133 end
@@ -158,4 +159,10 @@ class ProfileEditorController &lt; MyProfileController @@ -158,4 +159,10 @@ class ProfileEditorController &lt; MyProfileController
158 end 159 end
159 end 160 end
160 161
  162 + def forbid_destroy_profile
  163 + if environment.enabled?('forbid_destroy_profile') && !current_person.is_admin?(environment)
  164 + session[:notice] = _('You can not destroy the profile.')
  165 + redirect_to_previous_location
  166 + end
  167 + end
161 end 168 end
app/controllers/public/account_controller.rb
@@ -16,7 +16,7 @@ class AccountController &lt; ApplicationController @@ -16,7 +16,7 @@ class AccountController &lt; ApplicationController
16 def activate 16 def activate
17 @user = User.find_by_activation_code(params[:activation_code]) if params[:activation_code] 17 @user = User.find_by_activation_code(params[:activation_code]) if params[:activation_code]
18 if @user 18 if @user
19 - unless @user.environment.enabled?('admin_must_approve_new_users') 19 + unless @user.environment.enabled?('admin_must_approve_new_users')
20 if @user.activate 20 if @user.activate
21 @message = _("Your account has been activated, now you can log in!") 21 @message = _("Your account has been activated, now you can log in!")
22 check_redirection 22 check_redirection
@@ -30,7 +30,7 @@ class AccountController &lt; ApplicationController @@ -30,7 +30,7 @@ class AccountController &lt; ApplicationController
30 @user.activation_code = nil 30 @user.activation_code = nil
31 @user.save! 31 @user.save!
32 redirect_to :controller => :home 32 redirect_to :controller => :home
33 - end 33 + end
34 end 34 end
35 else 35 else
36 session[:notice] = _("It looks like you're trying to activate an account. Perhaps have already activated this account?") 36 session[:notice] = _("It looks like you're trying to activate an account. Perhaps have already activated this account?")
@@ -50,10 +50,12 @@ class AccountController &lt; ApplicationController @@ -50,10 +50,12 @@ class AccountController &lt; ApplicationController
50 50
51 if logged_in? 51 if logged_in?
52 check_join_in_community(self.current_user) 52 check_join_in_community(self.current_user)
  53 +
53 if params[:remember_me] == "1" 54 if params[:remember_me] == "1"
54 self.current_user.remember_me 55 self.current_user.remember_me
55 - cookies[:auth_token] = { :value => self.current_user.remember_token , :expires => self.current_user.remember_token_expires_at } 56 + cookies[:auth_token] = {value: self.current_user.remember_token, expires: self.current_user.remember_token_expires_at}
56 end 57 end
  58 +
57 if redirect? 59 if redirect?
58 go_to_initial_page 60 go_to_initial_page
59 session[:notice] = _("Logged in successfully") 61 session[:notice] = _("Logged in successfully")
@@ -98,8 +100,12 @@ class AccountController &lt; ApplicationController @@ -98,8 +100,12 @@ class AccountController &lt; ApplicationController
98 @block_bot = !!session[:may_be_a_bot] 100 @block_bot = !!session[:may_be_a_bot]
99 @invitation_code = params[:invitation_code] 101 @invitation_code = params[:invitation_code]
100 begin 102 begin
101 - @user = User.build(params[:user], params[:profile_data], environment) 103 + @user = User.new(params[:user])
  104 + @user.session = session
  105 + @user.terms_of_use = environment.terms_of_use
  106 + @user.environment = environment
102 @terms_of_use = environment.terms_of_use 107 @terms_of_use = environment.terms_of_use
  108 + @user.person_data = params[:profile_data]
103 @user.return_to = session[:return_to] 109 @user.return_to = session[:return_to]
104 @person = Person.new(params[:profile_data]) 110 @person = Person.new(params[:profile_data])
105 @person.environment = @user.environment 111 @person.environment = @user.environment
@@ -439,7 +445,7 @@ class AccountController &lt; ApplicationController @@ -439,7 +445,7 @@ class AccountController &lt; ApplicationController
439 end 445 end
440 446
441 def go_to_signup_initial_page 447 def go_to_signup_initial_page
442 - check_redirection_options(user, user.environment.redirection_after_signup, user.url) 448 + check_redirection_options user, user.environment.redirection_after_signup, user.url, signup: true
443 end 449 end
444 450
445 def redirect_if_logged_in 451 def redirect_if_logged_in
@@ -459,8 +465,11 @@ class AccountController &lt; ApplicationController @@ -459,8 +465,11 @@ class AccountController &lt; ApplicationController
459 465
460 protected 466 protected
461 467
462 - def check_redirection_options(user, condition, default)  
463 - case condition 468 + def check_redirection_options user, condition, default, options={}
  469 + if options[:signup] and target = session.delete(:after_signup_redirect_to)
  470 + redirect_to target
  471 + else
  472 + case condition
464 when 'keep_on_same_page' 473 when 'keep_on_same_page'
465 redirect_back_or_default(user.admin_url) 474 redirect_back_or_default(user.admin_url)
466 when 'site_homepage' 475 when 'site_homepage'
@@ -473,8 +482,11 @@ class AccountController &lt; ApplicationController @@ -473,8 +482,11 @@ class AccountController &lt; ApplicationController
473 redirect_to user.admin_url 482 redirect_to user.admin_url
474 when 'welcome_page' 483 when 'welcome_page'
475 redirect_to :controller => :home, :action => :welcome, :template_id => (user.template && user.template.id) 484 redirect_to :controller => :home, :action => :welcome, :template_id => (user.template && user.template.id)
476 - else  
477 - redirect_back_or_default(default) 485 + when 'custom_url'
  486 + if (url = user.custom_url_redirection).present? then redirect_to url else redirect_back_or_default default end
  487 + else
  488 + redirect_back_or_default(default)
  489 + end
478 end 490 end
479 end 491 end
480 492
app/controllers/public/profile_controller.rb
@@ -6,6 +6,7 @@ class ProfileController &lt; PublicController @@ -6,6 +6,7 @@ class ProfileController &lt; PublicController
6 before_filter :login_required, :only => [:add, :join, :leave, :unblock, :leave_scrap, :remove_scrap, :remove_activity, :view_more_activities, :view_more_network_activities, :report_abuse, :register_report, :leave_comment_on_activity, :send_mail] 6 before_filter :login_required, :only => [:add, :join, :leave, :unblock, :leave_scrap, :remove_scrap, :remove_activity, :view_more_activities, :view_more_network_activities, :report_abuse, :register_report, :leave_comment_on_activity, :send_mail]
7 7
8 helper TagsHelper 8 helper TagsHelper
  9 + helper ActionTrackerHelper
9 10
10 protect 'send_mail_to_members', :profile, :only => [:send_mail] 11 protect 'send_mail_to_members', :profile, :only => [:send_mail]
11 12
app/helpers/action_tracker_helper.rb 0 → 100644
@@ -0,0 +1,94 @@ @@ -0,0 +1,94 @@
  1 +module ActionTrackerHelper
  2 +
  3 + def create_article_description ta
  4 + _('published an article: %{title}') % { title: link_to(truncate(ta.get_name), ta.get_url) }
  5 + end
  6 +
  7 + def new_friendship_description ta
  8 + n_('has made 1 new friend:<br />%{name}', 'has made %{num} new friends:<br />%{name}', ta.get_friend_name.size) % {
  9 + num: ta.get_friend_name.size,
  10 + name: ta.collect_group_with_index(:friend_name) do |n,i|
  11 + link_to image_tag(ta.get_friend_profile_custom_icon[i] || default_or_themed_icon("/images/icons-app/person-icon.png")),
  12 + ta.get_friend_url[i], title: n
  13 + end.join
  14 + }
  15 + end
  16 +
  17 + def join_community_description ta
  18 + n_('has joined 1 community:<br />%{name}', 'has joined %{num} communities:<br />%{name}', ta.get_resource_name.size) % {
  19 + num: ta.get_resource_name.size,
  20 + name: ta.collect_group_with_index(:resource_name) do |n,i|
  21 + link_to image_tag(ta.get_resource_profile_custom_icon[i] || default_or_themed_icon("/images/icons-app/community-icon.png")),
  22 + ta.get_resource_url[i], title: n
  23 + end.join
  24 + }
  25 + end
  26 +
  27 + def add_member_in_community_description ta
  28 + _('has joined the community.')
  29 + end
  30 +
  31 + def upload_image_description ta
  32 + total = ta.get_view_url.size
  33 + (n_('uploaded 1 image', 'uploaded %d images', total) % total) +
  34 + tag(:br) +
  35 + ta.collect_group_with_index(:thumbnail_path) do |t,i|
  36 + if total == 1
  37 + link_to image_tag(t), ta.get_view_url[i], class: 'upimg'
  38 + else
  39 + pos = total-i;
  40 + morethen2 = pos>2 ? 'morethen2' : ''
  41 + morethen5 = pos>5 ? 'morethen5' : ''
  42 + t = t.gsub(/(.*)(display)(.*)/, '\\1thumb\\3')
  43 +
  44 + link_to '&nbsp;'.html_safe, ta.get_view_url[i],
  45 + style: "background-image:url(#{t})",
  46 + class: "upimg pos#{pos} #{morethen2} #{morethen5}"
  47 + end
  48 + end.reverse.join +
  49 + if total <= 5 then ''.html_safe else content_tag :span, '&hellip;'.html_safe,
  50 + class: 'more', onclick: "this.parentNode.className+=' show-all'" end +
  51 + tag(:br, style: 'clear: both')
  52 + end
  53 +
  54 + def reply_scrap_description ta
  55 + _('sent a message to %{receiver}: <br /> "%{message}"') % {
  56 + receiver: link_to(ta.get_receiver_name, ta.get_receiver_url),
  57 + message: auto_link_urls(ta.get_content)
  58 + }
  59 + end
  60 +
  61 + alias :leave_scrap_description :reply_scrap_description
  62 + alias :reply_scrap_on_self_description :reply_scrap_description
  63 +
  64 + def leave_scrap_to_self_description ta
  65 + _('wrote: <br /> "%{text}"') % {
  66 + text: auto_link_urls(ta.get_content)
  67 + }
  68 + end
  69 +
  70 + def create_product_description
  71 + _('created the product %{title}') % {
  72 + title: link_to(truncate(ta.get_name), ta.get_url),
  73 + }
  74 + end
  75 +
  76 + def update_product_description
  77 + _('updated the product %{title}') % {
  78 + title: link_to(truncate(ta.get_name), ta.get_url),
  79 + }
  80 + end
  81 +
  82 + def remove_product_description
  83 + _('removed the product %{title}') % {
  84 + title: truncate(ta.get_name),
  85 + }
  86 + end
  87 +
  88 + def favorite_enterprise_description ta
  89 + _('favorited enterprise %{title}') % {
  90 + title: link_to(truncate(ta.get_enterprise_name), ta.get_enterprise_url),
  91 + }
  92 + end
  93 +
  94 +end
app/helpers/layout_helper.rb
@@ -77,15 +77,8 @@ module LayoutHelper @@ -77,15 +77,8 @@ module LayoutHelper
77 77
78 78
79 def icon_theme_stylesheet_path 79 def icon_theme_stylesheet_path
80 - icon_themes = []  
81 theme_icon_themes = theme_option(:icon_theme) || [] 80 theme_icon_themes = theme_option(:icon_theme) || []
82 - for icon_theme in theme_icon_themes do  
83 - theme_path = "designs/icons/#{icon_theme}/style.css"  
84 - if File.exists?(Rails.root.join('public', theme_path))  
85 - icon_themes << theme_path  
86 - end  
87 - end  
88 - icon_themes 81 + theme_icon_themes.map{ |it| "designs/icons/#{it}/style.css" }
89 end 82 end
90 83
91 def jquery_ui_theme_stylesheet_path 84 def jquery_ui_theme_stylesheet_path
app/mailers/scrap_notifier.rb
1 class ScrapNotifier < ActionMailer::Base 1 class ScrapNotifier < ActionMailer::Base
2 def notification(scrap) 2 def notification(scrap)
3 sender, receiver = scrap.sender, scrap.receiver 3 sender, receiver = scrap.sender, scrap.receiver
  4 + # for tests
  5 + return unless receiver.email
  6 +
4 @recipient = receiver.name 7 @recipient = receiver.name
5 @sender = sender.name 8 @sender = sender.name
6 @sender_link = sender.url 9 @sender_link = sender.url
app/models/add_member.rb
@@ -29,7 +29,8 @@ class AddMember &lt; Task @@ -29,7 +29,8 @@ class AddMember &lt; Task
29 end 29 end
30 30
31 def information 31 def information
32 - {:message => _('%{requestor} wants to be a member of this community.')} 32 + {:message => _("%{requestor} wants to be a member of '%{organization}'."),
  33 + variables: {requestor: requestor.name, organization: organization.name}}
33 end 34 end
34 35
35 def accept_details 36 def accept_details
@@ -45,7 +46,7 @@ class AddMember &lt; Task @@ -45,7 +46,7 @@ class AddMember &lt; Task
45 end 46 end
46 47
47 def target_notification_description 48 def target_notification_description
48 - _('%{requestor} wants to be a member of this community.') % {:requestor => requestor.name} 49 + _("%{requestor} wants to be a member of '%{organization}'.") % {:requestor => requestor.name, :organization => organization.name}
49 end 50 end
50 51
51 def target_notification_message 52 def target_notification_message
app/models/article.rb
@@ -7,8 +7,7 @@ class Article &lt; ActiveRecord::Base @@ -7,8 +7,7 @@ class Article &lt; ActiveRecord::Base
7 :accept_comments, :feed, :published, :source, :source_name, 7 :accept_comments, :feed, :published, :source, :source_name,
8 :highlighted, :notify_comments, :display_hits, :slug, 8 :highlighted, :notify_comments, :display_hits, :slug,
9 :external_feed_builder, :display_versions, :external_link, 9 :external_feed_builder, :display_versions, :external_link,
10 - :image_builder, :show_to_followers, :published_at, :person_followers  
11 - 10 + :author, :published_at, :person_followers
12 11
13 acts_as_having_image 12 acts_as_having_image
14 13
app/models/community.rb
@@ -86,8 +86,8 @@ class Community &lt; Organization @@ -86,8 +86,8 @@ class Community &lt; Organization
86 {:title => _('Community Info and settings'), :icon => 'edit-profile-group'} 86 {:title => _('Community Info and settings'), :icon => 'edit-profile-group'}
87 end 87 end
88 88
89 - def activities  
90 - Scrap.find_by_sql("SELECT id, updated_at, '#{Scrap.to_s}' AS klass FROM #{Scrap.table_name} WHERE scraps.receiver_id = #{self.id} AND scraps.scrap_id IS NULL UNION SELECT id, updated_at, '#{ActionTracker::Record.to_s}' AS klass FROM #{ActionTracker::Record.table_name} WHERE action_tracker.target_id = #{self.id} and action_tracker.verb != 'join_community' and action_tracker.verb != 'leave_scrap' UNION SELECT at.id, at.updated_at, '#{ActionTracker::Record.to_s}' AS klass FROM #{ActionTracker::Record.table_name} at INNER JOIN articles a ON at.target_id = a.id WHERE a.profile_id = #{self.id} AND at.target_type = 'Article' ORDER BY updated_at DESC") 89 + def exclude_verbs_on_activities
  90 + %w[join_community leave_scrap]
91 end 91 end
92 92
93 end 93 end
app/models/enterprise.rb
@@ -15,12 +15,15 @@ class Enterprise &lt; Organization @@ -15,12 +15,15 @@ class Enterprise &lt; Organization
15 15
16 N_('Enterprise') 16 N_('Enterprise')
17 17
18 - has_many :products, :foreign_key => :profile_id, :dependent => :destroy, :order => 'name ASC' 18 + acts_as_trackable after_add: proc{ |p, t| notify_activity t }
  19 +
  20 + has_many :products, :foreign_key => :profile_id, :dependent => :destroy
  21 + has_many :product_categories, :through => :products
19 has_many :inputs, :through => :products 22 has_many :inputs, :through => :products
20 has_many :production_costs, :as => :owner 23 has_many :production_costs, :as => :owner
21 24
22 has_many :favorite_enterprise_people 25 has_many :favorite_enterprise_people
23 - has_many :fans, through: :favorite_enterprise_people, source: :person 26 + has_many :fans, source: :person, through: :favorite_enterprise_people
24 27
25 def product_categories 28 def product_categories
26 ProductCategory.by_enterprise(self) 29 ProductCategory.by_enterprise(self)
@@ -194,10 +197,6 @@ class Enterprise &lt; Organization @@ -194,10 +197,6 @@ class Enterprise &lt; Organization
194 true 197 true
195 end 198 end
196 199
197 - def activities  
198 - Scrap.find_by_sql("SELECT id, updated_at, 'Scrap' AS klass FROM scraps WHERE scraps.receiver_id = #{self.id} AND scraps.scrap_id IS NULL UNION SELECT id, updated_at, 'ActionTracker::Record' AS klass FROM action_tracker WHERE action_tracker.target_id = #{self.id} UNION SELECT action_tracker.id, action_tracker.updated_at, 'ActionTracker::Record' AS klass FROM action_tracker INNER JOIN articles ON action_tracker.target_id = articles.id WHERE articles.profile_id = #{self.id} AND action_tracker.target_type = 'Article' ORDER BY updated_at DESC")  
199 - end  
200 -  
201 def catalog_url 200 def catalog_url
202 { :profile => identifier, :controller => 'catalog'} 201 { :profile => identifier, :controller => 'catalog'}
203 end 202 end
@@ -206,4 +205,9 @@ class Enterprise &lt; Organization @@ -206,4 +205,9 @@ class Enterprise &lt; Organization
206 '' 205 ''
207 end 206 end
208 207
  208 + def followed_by? person
  209 + super or self.fans.where(id: person.id).count > 0
  210 + end
  211 +
  212 +
209 end 213 end
app/models/environment.rb
@@ -130,6 +130,7 @@ class Environment &lt; ActiveRecord::Base @@ -130,6 +130,7 @@ class Environment &lt; ActiveRecord::Base
130 'disable_select_city_for_contact' => _('Disable state/city select for contact form'), 130 'disable_select_city_for_contact' => _('Disable state/city select for contact form'),
131 'disable_contact_person' => _('Disable contact for people'), 131 'disable_contact_person' => _('Disable contact for people'),
132 'disable_contact_community' => _('Disable contact for groups/communities'), 132 'disable_contact_community' => _('Disable contact for groups/communities'),
  133 + 'forbid_destroy_profile' => _('Forbid users of removing profiles'),
133 134
134 'products_for_enterprises' => _('Enable products for enterprises'), 135 'products_for_enterprises' => _('Enable products for enterprises'),
135 'enterprise_registration' => _('Enterprise registration'), 136 'enterprise_registration' => _('Enterprise registration'),
@@ -169,7 +170,8 @@ class Environment &lt; ActiveRecord::Base @@ -169,7 +170,8 @@ class Environment &lt; ActiveRecord::Base
169 'site_homepage' => _('Redirects the user to the environment homepage.'), 170 'site_homepage' => _('Redirects the user to the environment homepage.'),
170 'user_profile_page' => _('Redirects the user to his profile page.'), 171 'user_profile_page' => _('Redirects the user to his profile page.'),
171 'user_homepage' => _('Redirects the user to his homepage.'), 172 'user_homepage' => _('Redirects the user to his homepage.'),
172 - 'user_control_panel' => _('Redirects the user to his control panel.') 173 + 'user_control_panel' => _('Redirects the user to his control panel.'),
  174 + 'custom_url' => _('Specify the URL to redirect to:'),
173 } 175 }
174 end 176 end
175 validates_inclusion_of :redirection_after_login, :in => Environment.login_redirection_options.keys, :allow_nil => true 177 validates_inclusion_of :redirection_after_login, :in => Environment.login_redirection_options.keys, :allow_nil => true
@@ -250,6 +252,9 @@ class Environment &lt; ActiveRecord::Base @@ -250,6 +252,9 @@ class Environment &lt; ActiveRecord::Base
250 # store the Environment settings as YAML-serialized Hash. 252 # store the Environment settings as YAML-serialized Hash.
251 acts_as_having_settings :field => :settings 253 acts_as_having_settings :field => :settings
252 254
  255 + # introduce and explain to users something about the signup
  256 + settings_items :signup_intro, :type => String
  257 +
253 # the environment's terms of use: every user must accept them before registering. 258 # the environment's terms of use: every user must accept them before registering.
254 settings_items :terms_of_use, :type => String 259 settings_items :terms_of_use, :type => String
255 260
@@ -284,7 +289,20 @@ class Environment &lt; ActiveRecord::Base @@ -284,7 +289,20 @@ class Environment &lt; ActiveRecord::Base
284 settings_items :activation_blocked_text, :type => String 289 settings_items :activation_blocked_text, :type => String
285 settings_items :message_for_disabled_enterprise, :type => String, 290 settings_items :message_for_disabled_enterprise, :type => String,
286 :default => _('This enterprise needs to be enabled.') 291 :default => _('This enterprise needs to be enabled.')
287 - settings_items :location, :type => String 292 +
  293 + settings_items :contact_phone, type: String
  294 + settings_items :address, type: String
  295 + settings_items :city, type: String
  296 + settings_items :state, type: String
  297 + settings_items :country_name, type: String
  298 + settings_items :lat, type: Float
  299 + settings_items :lng, type: Float
  300 + settings_items :postal_code, type: String
  301 + settings_items :location, type: String
  302 +
  303 + alias_method :zip_code=, :postal_code
  304 + alias_method :zip_code, :postal_code
  305 +
288 settings_items :layout_template, :type => String, :default => 'default' 306 settings_items :layout_template, :type => String, :default => 'default'
289 settings_items :homepage, :type => String 307 settings_items :homepage, :type => String
290 settings_items :description, :type => String, :default => '<div style="text-align: center"><a href="http://noosfero.org/"><img src="/images/noosfero-network.png" alt="Noosfero"/></a></div>' 308 settings_items :description, :type => String, :default => '<div style="text-align: center"><a href="http://noosfero.org/"><img src="/images/noosfero-network.png" alt="Noosfero"/></a></div>'
app/models/event.rb
@@ -115,7 +115,7 @@ class Event &lt; Article @@ -115,7 +115,7 @@ class Event &lt; Article
115 end 115 end
116 116
117 def duration 117 def duration
118 - ((self.end_date || self.start_date) - self.start_date).to_i 118 + (((self.end_date || self.start_date) - self.start_date).to_i/60/60/24)
119 end 119 end
120 120
121 alias_method :article_lead, :lead 121 alias_method :article_lead, :lead
app/models/favorite_enterprise_person.rb
1 class FavoriteEnterprisePerson < ActiveRecord::Base 1 class FavoriteEnterprisePerson < ActiveRecord::Base
2 2
3 - self.table_name = :favorite_enteprises_people 3 + attr_accessible :person, :enterprise
  4 +
  5 + track_actions :favorite_enterprise, :after_create, keep_params: [:enterprise_name, :enterprise_url], if: proc{ |f| f.is_trackable? }
4 6
5 belongs_to :enterprise 7 belongs_to :enterprise
6 belongs_to :person 8 belongs_to :person
7 9
  10 + protected
  11 +
  12 + def is_trackable?
  13 + self.enterprise.public?
  14 + end
  15 +
  16 + def enterprise_name
  17 + self.enterprise.short_name(nil)
  18 + end
  19 + def enterprise_url
  20 + self.enterprise.url
  21 + end
  22 +
8 end 23 end
app/models/organization.rb
@@ -59,6 +59,10 @@ class Organization &lt; Profile @@ -59,6 +59,10 @@ class Organization &lt; Profile
59 59
60 validate :presence_of_required_fieds, :unless => :is_template 60 validate :presence_of_required_fieds, :unless => :is_template
61 61
  62 + def self.notify_activity tracked_action
  63 + Delayed::Job.enqueue NotifyActivityToProfilesJob.new(tracked_action.id)
  64 + end
  65 +
62 def presence_of_required_fieds 66 def presence_of_required_fieds
63 self.required_fields.each do |field| 67 self.required_fields.each do |field|
64 if self.send(field).blank? 68 if self.send(field).blank?
app/models/person.rb
@@ -104,6 +104,9 @@ class Person &lt; Profile @@ -104,6 +104,9 @@ class Person &lt; Profile
104 104
105 has_many :scraps_sent, :class_name => 'Scrap', :foreign_key => :sender_id, :dependent => :destroy 105 has_many :scraps_sent, :class_name => 'Scrap', :foreign_key => :sender_id, :dependent => :destroy
106 106
  107 + has_many :favorite_enterprise_people
  108 + has_many :favorite_enterprises, source: :enterprise, through: :favorite_enterprise_people
  109 +
107 has_and_belongs_to_many :acepted_forums, :class_name => 'Forum', :join_table => 'terms_forum_people' 110 has_and_belongs_to_many :acepted_forums, :class_name => 'Forum', :join_table => 'terms_forum_people'
108 has_and_belongs_to_many :articles_with_access, :class_name => 'Article', :join_table => 'article_privacy_exceptions' 111 has_and_belongs_to_many :articles_with_access, :class_name => 'Article', :join_table => 'article_privacy_exceptions'
109 112
@@ -345,8 +348,6 @@ class Person &lt; Profile @@ -345,8 +348,6 @@ class Person &lt; Profile
345 ] 348 ]
346 end 349 end
347 350
348 - has_and_belongs_to_many :favorite_enterprises, :class_name => 'Enterprise', :join_table => 'favorite_enteprises_people'  
349 -  
350 def email_domain 351 def email_domain
351 user && user.email_domain || environment.default_hostname(true) 352 user && user.email_domain || environment.default_hostname(true)
352 end 353 end
@@ -526,8 +527,8 @@ class Person &lt; Profile @@ -526,8 +527,8 @@ class Person &lt; Profile
526 user.save! 527 user.save!
527 end 528 end
528 529
529 - def activities  
530 - Scrap.find_by_sql("SELECT id, updated_at, '#{Scrap.to_s}' AS klass FROM #{Scrap.table_name} WHERE scraps.receiver_id = #{self.id} AND scraps.scrap_id IS NULL UNION SELECT id, updated_at, '#{ActionTracker::Record.to_s}' AS klass FROM #{ActionTracker::Record.table_name} WHERE action_tracker.user_id = #{self.id} and action_tracker.verb != 'leave_scrap_to_self' and action_tracker.verb != 'add_member_in_community' and action_tracker.verb != 'reply_scrap_on_self' ORDER BY updated_at DESC") 530 + def exclude_verbs_on_activities
  531 + %w[leave_scrap_to_self add_member_in_community reply_scrap_on_self]
531 end 532 end
532 533
533 # by default, all fields are private 534 # by default, all fields are private
app/models/person_notifier.rb
@@ -76,7 +76,8 @@ class PersonNotifier @@ -76,7 +76,8 @@ class PersonNotifier
76 76
77 class Mailer < ActionMailer::Base 77 class Mailer < ActionMailer::Base
78 78
79 - add_template_helper(ApplicationHelper) 79 + helper ApplicationHelper
  80 + helper ActionTrackerHelper
80 81
81 def session 82 def session
82 {:theme => nil} 83 {:theme => nil}
app/models/product.rb
@@ -17,13 +17,14 @@ class Product &lt; ActiveRecord::Base @@ -17,13 +17,14 @@ class Product &lt; ActiveRecord::Base
17 'full' 17 'full'
18 end 18 end
19 19
20 - belongs_to :enterprise, :foreign_key => :profile_id, :class_name => 'Profile'  
21 belongs_to :profile 20 belongs_to :profile
  21 + # backwards compatibility
  22 + belongs_to :enterprise, :foreign_key => :profile_id, :class_name => 'Profile'
22 alias_method :enterprise=, :profile= 23 alias_method :enterprise=, :profile=
23 alias_method :enterprise, :profile 24 alias_method :enterprise, :profile
24 25
25 - has_one :region, :through => :enterprise  
26 - validates_presence_of :enterprise 26 + has_one :region, :through => :profile
  27 + validates_presence_of :profile
27 28
28 belongs_to :product_category 29 belongs_to :product_category
29 30
@@ -37,6 +38,10 @@ class Product &lt; ActiveRecord::Base @@ -37,6 +38,10 @@ class Product &lt; ActiveRecord::Base
37 38
38 acts_as_having_settings :field => :data 39 acts_as_having_settings :field => :data
39 40
  41 + track_actions :create_product, :after_create, :keep_params => [:name, :url ], :if => Proc.new { |a| a.is_trackable? }, :custom_user => :action_tracker_user
  42 + track_actions :update_product, :before_update, :keep_params => [:name, :url], :if => Proc.new { |a| a.is_trackable? }, :custom_user => :action_tracker_user
  43 + track_actions :remove_product, :before_destroy, :keep_params => [:name], :if => Proc.new { |a| a.is_trackable? }, :custom_user => :action_tracker_user
  44 +
40 validates_uniqueness_of :name, :scope => :profile_id, :allow_nil => true, :if => :validate_uniqueness_of_column_name? 45 validates_uniqueness_of :name, :scope => :profile_id, :allow_nil => true, :if => :validate_uniqueness_of_column_name?
41 46
42 validates_presence_of :product_category_id 47 validates_presence_of :product_category_id
@@ -73,10 +78,10 @@ class Product &lt; ActiveRecord::Base @@ -73,10 +78,10 @@ class Product &lt; ActiveRecord::Base
73 after_update :save_image 78 after_update :save_image
74 79
75 def lat 80 def lat
76 - self.enterprise.lat 81 + self.profile.lat
77 end 82 end
78 def lng 83 def lng
79 - self.enterprise.lng 84 + self.profile.lng
80 end 85 end
81 86
82 xss_terminate :only => [ :name ], :on => 'validation' 87 xss_terminate :only => [ :name ], :on => 'validation'
@@ -90,7 +95,7 @@ class Product &lt; ActiveRecord::Base @@ -90,7 +95,7 @@ class Product &lt; ActiveRecord::Base
90 filter_iframes :description 95 filter_iframes :description
91 96
92 def iframe_whitelist 97 def iframe_whitelist
93 - enterprise && enterprise.environment && enterprise.environment.trusted_sites_for_iframe 98 + self.profile && self.profile.environment && self.profile.environment.trusted_sites_for_iframe
94 end 99 end
95 100
96 def name 101 def name
@@ -128,16 +133,16 @@ class Product &lt; ActiveRecord::Base @@ -128,16 +133,16 @@ class Product &lt; ActiveRecord::Base
128 end 133 end
129 134
130 def url 135 def url
131 - enterprise.public_profile_url.merge(:controller => 'manage_products', :action => 'show', :id => id) 136 + self.profile.public_profile_url.merge(:controller => 'manage_products', :action => 'show', :id => id)
132 end 137 end
133 138
134 def public? 139 def public?
135 - enterprise.public? 140 + self.profile.public?
136 end 141 end
137 142
138 def formatted_value(method) 143 def formatted_value(method)
139 value = self[method] || self.send(method) 144 value = self[method] || self.send(method)
140 - ("%.2f" % value).to_s.gsub('.', enterprise.environment.currency_separator) if value 145 + ("%.2f" % value).to_s.gsub('.', self.profile.environment.currency_separator) if value
141 end 146 end
142 147
143 def price_with_discount 148 def price_with_discount
@@ -242,16 +247,16 @@ class Product &lt; ActiveRecord::Base @@ -242,16 +247,16 @@ class Product &lt; ActiveRecord::Base
242 end 247 end
243 248
244 def available_production_costs 249 def available_production_costs
245 - self.enterprise.environment.production_costs + self.enterprise.production_costs 250 + self.profile.environment.production_costs + self.profile.production_costs
246 end 251 end
247 252
248 include Rails.application.routes.url_helpers 253 include Rails.application.routes.url_helpers
249 def price_composition_bar_display_url 254 def price_composition_bar_display_url
250 - url_for({:host => enterprise.default_hostname, :controller => 'manage_products', :action => 'display_price_composition_bar', :profile => enterprise.identifier, :id => self.id }.merge(Noosfero.url_options)) 255 + url_for({:host => self.profile.default_hostname, :controller => 'manage_products', :action => 'display_price_composition_bar', :profile => self.profile.identifier, :id => self.id }.merge(Noosfero.url_options))
251 end 256 end
252 257
253 def inputs_cost_update_url 258 def inputs_cost_update_url
254 - url_for({:host => enterprise.default_hostname, :controller => 'manage_products', :action => 'display_inputs_cost', :profile => enterprise.identifier, :id => self.id }.merge(Noosfero.url_options)) 259 + url_for({:host => self.profile.default_hostname, :controller => 'manage_products', :action => 'display_inputs_cost', :profile => self.profile.identifier, :id => self.id }.merge(Noosfero.url_options))
255 end 260 end
256 261
257 def percentage_from_solidarity_economy 262 def percentage_from_solidarity_economy
@@ -268,7 +273,7 @@ class Product &lt; ActiveRecord::Base @@ -268,7 +273,7 @@ class Product &lt; ActiveRecord::Base
268 end 273 end
269 end 274 end
270 275
271 - delegate :enabled, :region, :region_id, :environment, :environment_id, :to => :enterprise 276 + delegate :enabled, :region, :region_id, :environment, :environment_id, :to => :profile, allow_nil: true
272 277
273 protected 278 protected
274 279
@@ -276,4 +281,13 @@ class Product &lt; ActiveRecord::Base @@ -276,4 +281,13 @@ class Product &lt; ActiveRecord::Base
276 true 281 true
277 end 282 end
278 283
  284 + def is_trackable?
  285 + # shopping_cart create products without profile
  286 + self.profile.present?
  287 + end
  288 +
  289 + def action_tracker_user
  290 + self.profile
  291 + end
  292 +
279 end 293 end
app/models/profile.rb
@@ -3,7 +3,10 @@ @@ -3,7 +3,10 @@
3 # which by default is the one returned by Environment:default. 3 # which by default is the one returned by Environment:default.
4 class Profile < ActiveRecord::Base 4 class Profile < ActiveRecord::Base
5 5
6 - attr_accessible :name, :identifier, :public_profile, :nickname, :custom_footer, :custom_header, :address, :zip_code, :contact_phone, :image_builder, :description, :closed, :template_id, :environment, :lat, :lng, :is_template, :fields_privacy, :preferred_domain_id, :category_ids, :country, :city, :state, :national_region_code, :email, :contact_email, :redirect_l10n, :notification_time, :redirection_after_login, :email_suggestions, :allow_members_to_invite, :invite_friends_only, :secret, :custom_fields, :administrator_mail_notification, :region, :region_id 6 + attr_accessible :name, :identifier, :public_profile, :nickname, :custom_footer, :custom_header, :address, :zip_code, :contact_phone, :image_builder, :description, :closed, :template_id, :environment, :lat, :lng, :is_template, :fields_privacy, :preferred_domain_id, :category_ids, :country, :city, :state, :national_region_code, :email, :contact_email, :redirect_l10n, :notification_time,
  7 + :redirection_after_login, :custom_url_redirection,
  8 + :email_suggestions, :allow_members_to_invite, :invite_friends_only, :secret,
  9 + :custom_fields, :administrator_mail_notification, :region, :region_id
7 10
8 # use for internationalizable human type names in search facets 11 # use for internationalizable human type names in search facets
9 # reimplement on subclasses 12 # reimplement on subclasses
@@ -217,6 +220,7 @@ class Profile &lt; ActiveRecord::Base @@ -217,6 +220,7 @@ class Profile &lt; ActiveRecord::Base
217 220
218 acts_as_trackable :dependent => :destroy 221 acts_as_trackable :dependent => :destroy
219 222
  223 + has_many :profile_activities
220 has_many :action_tracker_notifications, :foreign_key => 'profile_id' 224 has_many :action_tracker_notifications, :foreign_key => 'profile_id'
221 has_many :tracked_notifications, :through => :action_tracker_notifications, :source => :action_tracker, :order => 'updated_at DESC' 225 has_many :tracked_notifications, :through => :action_tracker_notifications, :source => :action_tracker, :order => 'updated_at DESC'
222 has_many :scraps_received, :class_name => 'Scrap', :foreign_key => :receiver_id, :order => "updated_at DESC", :dependent => :destroy 226 has_many :scraps_received, :class_name => 'Scrap', :foreign_key => :receiver_id, :order => "updated_at DESC", :dependent => :destroy
@@ -846,7 +850,11 @@ private :generate_url, :url_options @@ -846,7 +850,11 @@ private :generate_url, :url_options
846 include ActionView::Helpers::TextHelper 850 include ActionView::Helpers::TextHelper
847 def short_name(chars = 40) 851 def short_name(chars = 40)
848 if self[:nickname].blank? 852 if self[:nickname].blank?
849 - truncate self.name, :length => chars, :omission => '...' 853 + if chars
  854 + truncate self.name, length: chars, omission: '...'
  855 + else
  856 + self.name
  857 + end
850 else 858 else
851 self[:nickname] 859 self[:nickname]
852 end 860 end
@@ -1086,9 +1094,13 @@ private :generate_url, :url_options @@ -1086,9 +1094,13 @@ private :generate_url, :url_options
1086 name 1094 name
1087 end 1095 end
1088 1096
1089 - # Override in your subclasses 1097 + def exclude_verbs_on_activities
  1098 + %w[]
  1099 + end
  1100 +
  1101 + # Customize in subclasses
1090 def activities 1102 def activities
1091 - [] 1103 + self.profile_activities.includes(:activity).order('updated_at DESC')
1092 end 1104 end
1093 1105
1094 def may_display_field_to? field, user = nil 1106 def may_display_field_to? field, user = nil
@@ -1135,6 +1147,7 @@ private :generate_url, :url_options @@ -1135,6 +1147,7 @@ private :generate_url, :url_options
1135 def preferred_login_redirection 1147 def preferred_login_redirection
1136 redirection_after_login.blank? ? environment.redirection_after_login : redirection_after_login 1148 redirection_after_login.blank? ? environment.redirection_after_login : redirection_after_login
1137 end 1149 end
  1150 + settings_items :custom_url_redirection, type: String, default: nil
1138 1151
1139 def remove_from_suggestion_list(person) 1152 def remove_from_suggestion_list(person)
1140 suggestion = person.suggested_profiles.find_by_suggestion_id self.id 1153 suggestion = person.suggested_profiles.find_by_suggestion_id self.id
app/models/profile_activity.rb 0 → 100644
@@ -0,0 +1,31 @@ @@ -0,0 +1,31 @@
  1 +class ProfileActivity < ActiveRecord::Base
  2 +
  3 + self.record_timestamps = false
  4 +
  5 + attr_accessible :profile_id,
  6 + :profile, :activity
  7 +
  8 + belongs_to :profile
  9 + belongs_to :activity, polymorphic: true
  10 +
  11 + # non polymorphic versions
  12 + belongs_to :scrap, foreign_key: :activity_id, class_name: 'Scrap', conditions: {profile_activities: {activity_type: 'Scrap'}}
  13 + belongs_to :action_tracker, foreign_key: :activity_id, class_name: 'ActionTracker::Record', conditions: {profile_activities: {activity_type: 'ActionTracker::Record'}}
  14 +
  15 + before_validation :copy_timestamps
  16 +
  17 + def self.update_activity activity
  18 + profile_activity = ProfileActivity.where(activity_id: activity.id, activity_type: activity.class.base_class.name).first
  19 + profile_activity.send :copy_timestamps
  20 + profile_activity.save!
  21 + profile_activity
  22 + end
  23 +
  24 + protected
  25 +
  26 + def copy_timestamps
  27 + self.created_at = self.activity.created_at
  28 + self.updated_at = self.activity.updated_at
  29 + end
  30 +
  31 +end
app/models/profile_list_block.rb
@@ -16,19 +16,19 @@ class ProfileListBlock &lt; Block @@ -16,19 +16,19 @@ class ProfileListBlock &lt; Block
16 16
17 def profile_list 17 def profile_list
18 result = nil 18 result = nil
19 - visible_profiles = profiles.visible.includes([:image,:domains,:preferred_domain,:environment]) 19 + public_profiles = profiles.public.includes([:image,:domains,:preferred_domain,:environment])
20 if !prioritize_profiles_with_image 20 if !prioritize_profiles_with_image
21 - result = visible_profiles.all(:limit => get_limit, :order => 'profiles.updated_at DESC').sort_by{ rand } 21 +result = public_profiles.all(:limit => get_limit, :order => 'profiles.updated_at DESC').sort_by{ rand }
22 elsif profiles.visible.with_image.count >= get_limit 22 elsif profiles.visible.with_image.count >= get_limit
23 - result = visible_profiles.with_image.all(:limit => get_limit * 5, :order => 'profiles.updated_at DESC').sort_by{ rand } 23 + result = public_profiles.with_image.all(:limit => get_limit * 5, :order => 'profiles.updated_at DESC').sort_by{ rand }
24 else 24 else
25 - result = visible_profiles.with_image.sort_by{ rand } + visible_profiles.without_image.all(:limit => get_limit * 5, :order => 'profiles.updated_at DESC').sort_by{ rand } 25 + result = public_profiles.with_image.sort_by{ rand } + public_profiles.without_image.all(:limit => get_limit * 5, :order => 'profiles.updated_at DESC').sort_by{ rand }
26 end 26 end
27 result.slice(0..get_limit-1) 27 result.slice(0..get_limit-1)
28 end 28 end
29 29
30 def profile_count 30 def profile_count
31 - profiles.visible.length 31 + profiles.public.length
32 end 32 end
33 33
34 # the title of the block. Probably will be overriden in subclasses. 34 # the title of the block. Probably will be overriden in subclasses.
app/models/scrap.rb
@@ -13,6 +13,11 @@ class Scrap &lt; ActiveRecord::Base @@ -13,6 +13,11 @@ class Scrap &lt; ActiveRecord::Base
13 has_many :replies, :class_name => 'Scrap', :foreign_key => 'scrap_id', :dependent => :destroy 13 has_many :replies, :class_name => 'Scrap', :foreign_key => 'scrap_id', :dependent => :destroy
14 belongs_to :root, :class_name => 'Scrap', :foreign_key => 'scrap_id' 14 belongs_to :root, :class_name => 'Scrap', :foreign_key => 'scrap_id'
15 15
  16 + has_many :profile_activities, foreign_key: :activity_id, conditions: {profile_activities: {activity_type: 'Scrap'}}, dependent: :destroy
  17 +
  18 + after_create :create_activity
  19 + after_update :update_activity
  20 +
16 scope :all_scraps, lambda {|profile| {:conditions => ["receiver_id = ? OR sender_id = ?", profile, profile], :limit => 30}} 21 scope :all_scraps, lambda {|profile| {:conditions => ["receiver_id = ? OR sender_id = ?", profile, profile], :limit => 30}}
17 22
18 scope :not_replies, :conditions => {:scrap_id => nil} 23 scope :not_replies, :conditions => {:scrap_id => nil}
@@ -23,10 +28,7 @@ class Scrap &lt; ActiveRecord::Base @@ -23,10 +28,7 @@ class Scrap &lt; ActiveRecord::Base
23 28
24 track_actions :reply_scrap_on_self, :after_create, :keep_params => ['sender.name', 'content'], :if => Proc.new{|s| s.sender != s.receiver && s.sender == s.top_root.receiver} 29 track_actions :reply_scrap_on_self, :after_create, :keep_params => ['sender.name', 'content'], :if => Proc.new{|s| s.sender != s.receiver && s.sender == s.top_root.receiver}
25 30
26 - after_create do |scrap|  
27 - scrap.root.update_attribute('updated_at', DateTime.now) unless scrap.root.nil?  
28 - ScrapNotifier.notification(scrap).deliver if scrap.send_notification?  
29 - end 31 + after_create :send_notification
30 32
31 before_validation :strip_all_html_tags 33 before_validation :strip_all_html_tags
32 34
@@ -57,4 +59,21 @@ class Scrap &lt; ActiveRecord::Base @@ -57,4 +59,21 @@ class Scrap &lt; ActiveRecord::Base
57 sender != receiver && (is_root? ? root.receiver.receives_scrap_notification? : receiver.receives_scrap_notification?) 59 sender != receiver && (is_root? ? root.receiver.receives_scrap_notification? : receiver.receives_scrap_notification?)
58 end 60 end
59 61
  62 + protected
  63 +
  64 + def create_activity
  65 + # do not scrap replies (when scrap_id is not nil)
  66 + return if self.scrap_id.present?
  67 + ProfileActivity.create! profile_id: self.receiver_id, activity: self
  68 + end
  69 +
  70 + def update_activity
  71 + ProfileActivity.update_activity self
  72 + end
  73 +
  74 + def send_notification
  75 + self.root.update_attribute('updated_at', DateTime.now) unless self.root.nil?
  76 + ScrapNotifier.notification(self).deliver if self.send_notification?
  77 + end
  78 +
60 end 79 end
app/models/session.rb 0 → 100644
@@ -0,0 +1,18 @@ @@ -0,0 +1,18 @@
  1 +class Session < ActiveRecord::SessionStore::Session
  2 +
  3 + # removed and redefined on super class
  4 + def self.find_by_session_id session_id
  5 + super
  6 + end
  7 +
  8 + belongs_to :user
  9 +
  10 + before_save :copy_to_columns
  11 +
  12 + protected
  13 +
  14 + def copy_to_columns
  15 + self.user_id = self.data['user']
  16 + end
  17 +
  18 +end
app/models/uploaded_file.rb
@@ -163,4 +163,8 @@ class UploadedFile &lt; Article @@ -163,4 +163,8 @@ class UploadedFile &lt; Article
163 true 163 true
164 end 164 end
165 165
  166 + def notifiable?
  167 + true
  168 + end
  169 +
166 end 170 end
app/models/user.rb
@@ -16,6 +16,14 @@ class User &lt; ActiveRecord::Base @@ -16,6 +16,14 @@ class User &lt; ActiveRecord::Base
16 :email => {:label => _('Email'), :weight => 5}, 16 :email => {:label => _('Email'), :weight => 5},
17 } 17 }
18 18
  19 + # see http://stackoverflow.com/a/2513456/670229
  20 + def self.current
  21 + Thread.current[:current_user]
  22 + end
  23 + def self.current=(user)
  24 + Thread.current[:current_user] = user
  25 + end
  26 +
19 def self.[](login) 27 def self.[](login)
20 self.find_by_login(login) 28 self.find_by_login(login)
21 end 29 end
@@ -103,6 +111,10 @@ class User &lt; ActiveRecord::Base @@ -103,6 +111,10 @@ class User &lt; ActiveRecord::Base
103 has_one :person, :dependent => :destroy 111 has_one :person, :dependent => :destroy
104 belongs_to :environment 112 belongs_to :environment
105 113
  114 + has_many :sessions, dependent: :destroy
  115 + # holds the current session, see lib/authenticated_system.rb
  116 + attr_accessor :session
  117 +
106 attr_protected :activated_at 118 attr_protected :activated_at
107 119
108 # Virtual attribute for the unencrypted password 120 # Virtual attribute for the unencrypted password
@@ -269,8 +281,9 @@ class User &lt; ActiveRecord::Base @@ -269,8 +281,9 @@ class User &lt; ActiveRecord::Base
269 281
270 # These create and unset the fields required for remembering users between browser closes 282 # These create and unset the fields required for remembering users between browser closes
271 def remember_me 283 def remember_me
272 - self.remember_token_expires_at = 2.weeks.from_now.utc  
273 - self.remember_token = encrypt("#{email}--#{remember_token_expires_at}") 284 + self.remember_token_expires_at = 1.months.from_now.utc
  285 + # if the user's email/password changes this won't be valid anymore
  286 + self.remember_token = encrypt "#{email}-#{self.crypted_password}-#{remember_token_expires_at}"
274 save(:validate => false) 287 save(:validate => false)
275 end 288 end
276 289
app/models/validation_info.rb
@@ -2,9 +2,10 @@ class ValidationInfo &lt; ActiveRecord::Base @@ -2,9 +2,10 @@ class ValidationInfo &lt; ActiveRecord::Base
2 2
3 attr_accessible :validation_methodology, :restrictions, :organization 3 attr_accessible :validation_methodology, :restrictions, :organization
4 4
5 - validates_presence_of :validation_methodology  
6 -  
7 belongs_to :organization 5 belongs_to :organization
8 6
  7 + validates_presence_of :organization
  8 + validates_presence_of :validation_methodology
  9 +
9 xss_terminate :only => [ :validation_methodology, :restrictions ], :on => 'validation' 10 xss_terminate :only => [ :validation_methodology, :restrictions ], :on => 'validation'
10 end 11 end
app/views/account/login.html.erb
@@ -13,7 +13,14 @@ @@ -13,7 +13,14 @@
13 13
14 <%= f.password_field :password %> 14 <%= f.password_field :password %>
15 15
16 - <%= @plugins.dispatch(:login_extra_contents).collect { |content| instance_eval(&content) }.join("") %> 16 + <div class='checkbox'>
  17 + <label>
  18 + <%= check_box_tag :remember_me, '1', true %>
  19 + <%= _'Keep me logged in' %>
  20 + </label>
  21 + </div>
  22 +
  23 + <%= @plugins.dispatch(:login_extra_contents).collect { |content| instance_exec(&content) }.join("") %>
17 24
18 <% button_bar do %> 25 <% button_bar do %>
19 <%= submit_button( 'login', _('Log in') )%> 26 <%= submit_button( 'login', _('Log in') )%>
app/views/account/signup.html.erb
1 <h1><%= _('Sign up for %s!') % environment.name %></h1> 1 <h1><%= _('Sign up for %s!') % environment.name %></h1>
  2 +
  3 +<div id='signup-intro'>
  4 + <%= environment.signup_intro %>
  5 +</div>
  6 +
2 <%= render :partial => 'signup_form' %> 7 <%= render :partial => 'signup_form' %>
app/views/admin_panel/_signup_intro.html.erb 0 → 100644
@@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
  1 +<div class='description'>
  2 + <%= _('This text will be shown to the user on the top of the sign up form.') %>
  3 +</div>
  4 +
  5 +<%= labelled_form_field(_('Body'), text_area(:environment, :signup_intro, :cols => 40, :style => 'width: 100%', :class => 'mceEditor')) %>
app/views/admin_panel/site_info.html.erb
@@ -17,6 +17,8 @@ @@ -17,6 +17,8 @@
17 :content => (render :partial => 'signup_welcome_text', :locals => {:f => f})} %> 17 :content => (render :partial => 'signup_welcome_text', :locals => {:f => f})} %>
18 <% tabs << {:title => _('Signup welcome page'), :id => 'signup-welcome-message', 18 <% tabs << {:title => _('Signup welcome page'), :id => 'signup-welcome-message',
19 :content => (render :partial => 'signup_welcome_screen', :locals => {:f => f}) }%> 19 :content => (render :partial => 'signup_welcome_screen', :locals => {:f => f}) }%>
  20 + <% tabs << {:title => _('Signup introduction text'), :id => 'signup-intro',
  21 + :content => (render :partial => 'signup_intro', :locals => {:f => f})} %>
20 <%= render_tabs(tabs) %> 22 <%= render_tabs(tabs) %>
21 <% button_bar do %> 23 <% button_bar do %>
22 <%= submit_button(:save, _('Save'), :cancel => {:action => 'index'}) %> 24 <%= submit_button(:save, _('Save'), :cancel => {:action => 'index'}) %>
app/views/blocks/profile_info_actions/_enterprise.html.erb
1 <ul> 1 <ul>
2 <%if logged_in? %> 2 <%if logged_in? %>
3 <%if !user.favorite_enterprises.include?(profile) %> 3 <%if !user.favorite_enterprises.include?(profile) %>
4 - <li><%= button(:add, _('Add as favorite'), { :profile => user.identifier, :controller => 'favorite_enterprises', :action => 'add', :id => profile.id }, :title => _('Add enterprise as favorite')) %></li> 4 + <li><%= button(:love, _('Add as favorite'), { profile: user.identifier, controller: 'favorite_enterprises', action: 'add', id: profile.id }, title: _('Add enterprise as favorite')) %></li>
5 <% end %> 5 <% end %>
6 <% end %> 6 <% end %>
7 <% if profile.enable_contact? %> 7 <% if profile.enable_contact? %>
app/views/blocks/profile_info_actions/_join_leave_community.html.erb
1 <div class='join-leave-button require-login-popup'> 1 <div class='join-leave-button require-login-popup'>
2 <% if logged_in? %> 2 <% if logged_in? %>
3 - <% if profile.members.include?(user) %>  
4 - <%= button(:delete, content_tag('span', _('Leave community')), profile.leave_url,  
5 - :class => 'leave-community',  
6 - :title => _("Leave community"),  
7 - :style => 'position: relative;') %>  
8 - <%= button(:add, content_tag('span', _('Join')), profile.join_url,  
9 - :class => 'join-community',  
10 - :title => _("Join community"),  
11 - :style => 'position: relative; display: none;') %> 3 + <% if profile.already_request_membership? user %>
  4 + <%= _('Your membership is waiting for approval') %>
12 <% else %> 5 <% else %>
13 - <% unless profile.already_request_membership?(user) %>  
14 - <%= button(:delete, content_tag('span', _('Leave community')), profile.leave_url,  
15 - :class => 'leave-community',  
16 - :title => _("Leave community"),  
17 - :style => 'position: relative; display: none;') %>  
18 - <%= button(:add, content_tag('span', _('Join')), profile.join_url,  
19 - :class => 'join-community',  
20 - :title => _("Join community"),  
21 - :style => 'position: relative;') %> 6 + <% if user.in? profile.members %>
  7 + <%= button :delete, content_tag('span', _('Leave community')), profile.leave_url,
  8 + class: 'leave-community',
  9 + style: 'position: relative;' %>
  10 + <%= button :add, content_tag('span', _('Join this community')), profile.join_url,
  11 + class: 'join-community',
  12 + style: 'position: relative; display: none;' %>
  13 + <% else %>
  14 + <%= button :add, _('Join this community'), profile.join_url %>
22 <% end %> 15 <% end %>
23 <% end %> 16 <% end %>
24 <% else %> 17 <% else %>
25 - <%= button(:add, _('Join'), profile.join_not_logged_url, :title => _('Join this community')) %> 18 + <%= button :add, _('Join this community'), profile.join_not_logged_url %>
26 <% end %> 19 <% end %>
27 </div> 20 </div>
  21 +
  22 +<%= javascript_tag do %>
  23 + noosfero.add_and_join.locales.leaveConfirmation = <%= (_("Please confirm to leave the community '%{name}'") % {name: profile.name}).to_json %>
  24 +<% end %>
  25 +
app/views/cms/_blog.html.erb
@@ -53,7 +53,7 @@ @@ -53,7 +53,7 @@
53 %> 53 %>
54 </div> 54 </div>
55 55
56 -<%= labelled_form_field(_('Description:'), text_area(:article, :body, :rows => 10)) %> 56 +<%= labelled_form_field(_('Description:'), text_area(:article, :body, :rows => 10, :class => 'mceEditor')) %>
57 57
58 <%= f.fields_for :image_builder, @article.image do |i| %> 58 <%= f.fields_for :image_builder, @article.image do |i| %>
59 <%= file_field_or_thumbnail(_('Cover image:'), @article.image, i)%> 59 <%= file_field_or_thumbnail(_('Cover image:'), @article.image, i)%>
app/views/content_viewer/_article_toolbar.html.erb
@@ -62,7 +62,7 @@ @@ -62,7 +62,7 @@
62 <% if @page.blog? and !@page.image.nil? %> 62 <% if @page.blog? and !@page.image.nil? %>
63 <div class="blog-cover"><%= image_tag(@page.image.public_filename())%></div> 63 <div class="blog-cover"><%= image_tag(@page.image.public_filename())%></div>
64 <% end %> 64 <% end %>
65 - <%= link_to(image_tag('/images/icons-mime/rss-feed.png'), @page.feed.url, :class => 'blog-feed-link') if @page.has_posts? && @page.feed %> 65 + <%= button_without_text(:feed, _('RSS feed'), @page.feed.url, :class => 'blog-feed-link') if @page.has_posts? && @page.feed %>
66 <%= @plugins.dispatch(:article_header_extra_contents, @page).collect { |content| instance_exec(&content) }.join("") %> 66 <%= @plugins.dispatch(:article_header_extra_contents, @page).collect { |content| instance_exec(&content) }.join("") %>
67 <%= render :partial => 'article_title', :locals => {:no_link => true} %> 67 <%= render :partial => 'article_title', :locals => {:no_link => true} %>
68 <%= article_translations(@page) %> 68 <%= article_translations(@page) %>
app/views/content_viewer/article_versions.html.erb
@@ -12,7 +12,7 @@ @@ -12,7 +12,7 @@
12 <li> 12 <li>
13 <%= radio_button_tag 'v1', v.version, false, :onclick => 'versionInputClicked(this)' %> 13 <%= radio_button_tag 'v1', v.version, false, :onclick => 'versionInputClicked(this)' %>
14 <%= radio_button_tag 'v2', v.version, false, :onclick => 'versionInputClicked(this)' %> 14 <%= radio_button_tag 'v2', v.version, false, :onclick => 'versionInputClicked(this)' %>
15 - <%= link_to(_("Version #{v.version}"), @page.url.merge(:version => v.version)) %> 15 + <%= link_to(_("Version %s") % v.version, @page.url.merge(:version => v.version)) %>
16 <%= @page.version == v.version ? _('(current)') : '' %> 16 <%= @page.version == v.version ? _('(current)') : '' %>
17 <span class='updated-by'><%= _('by %{author}') % {:author => link_to(@page.author_name(v.version), @page.author_url(v.version))} %></span> 17 <span class='updated-by'><%= _('by %{author}') % {:author => link_to(@page.author_name(v.version), @page.author_url(v.version))} %></span>
18 <span class='updated-on'><%= show_time(v.updated_at) %></span> 18 <span class='updated-on'><%= show_time(v.updated_at) %></span>
app/views/content_viewer/folder.html.erb
@@ -4,8 +4,5 @@ @@ -4,8 +4,5 @@
4 </div> 4 </div>
5 <% end %> 5 <% end %>
6 6
7 -<% if folder.children.empty? %>  
8 - <em><%= _('(empty folder)') %></em>  
9 -<% else %>  
10 - <%= list_contents(:contents=>folder.children) %>  
11 -<% end %> 7 +<%= list_contents contents: folder.children %>
  8 +
app/views/content_viewer/view_page.html.erb
@@ -24,7 +24,7 @@ @@ -24,7 +24,7 @@
24 <%= render :partial => 'article_toolbar' %> 24 <%= render :partial => 'article_toolbar' %>
25 </div> 25 </div>
26 26
27 -<% if NOOSFERO_CONF['addthis_enabled'] %> 27 +<% if NOOSFERO_CONF['addthis_enabled'] and @page.public? %>
28 <%= render :partial => 'addthis' %> 28 <%= render :partial => 'addthis' %>
29 <% end %> 29 <% end %>
30 30
app/views/file_presenter/_generic.html.erb
1 -<span class="download-link">  
2 - <span>Download</span>  
3 - <strong><%= link_to generic.filename, [Noosfero.root, generic.public_filename].join %></strong>  
4 -</span>  
5 -  
6 <div class="uploaded-file-description <%= 'empty' if generic.abstract.blank? %>"> 1 <div class="uploaded-file-description <%= 'empty' if generic.abstract.blank? %>">
7 <%= generic.abstract %> 2 <%= generic.abstract %>
8 </div> 3 </div>
9 4
  5 +<%= button(:download, _('Download'), [Noosfero.root, generic.public_filename].join, class:'download-link', option:'primary', size:'lg') %>
app/views/organizations/_results.html.erb
@@ -30,7 +30,7 @@ @@ -30,7 +30,7 @@
30 </div> 30 </div>
31 </td> 31 </td>
32 32
33 - <td> <%= _("#{p.type}") %> </td> 33 + <td> <%= _(p.type) %> </td>
34 </tr> 34 </tr>
35 <% end %> 35 <% end %>
36 </table> 36 </table>
app/views/person_notifier/mailer/_default_activity.html.erb
@@ -4,7 +4,10 @@ @@ -4,7 +4,10 @@
4 </td> 4 </td>
5 <td> 5 <td>
6 <p> 6 <p>
7 - <span style="font-size: 14px;"><%= link_to activity.user.name, activity.user.url %> <%= describe activity %></span> 7 + <span style="font-size: 14px;">
  8 + <%= link_to activity.user.name, activity.user.url %>
  9 + <%= describe activity %>
  10 + </span>
8 <span style="font-size: 10px; color: #929292; float: right;"><%= time_ago_in_words(activity.created_at) %></span> 11 <span style="font-size: 10px; color: #929292; float: right;"><%= time_ago_in_words(activity.created_at) %></span>
9 </p> 12 </p>
10 </td> 13 </td>
app/views/profile/_create_product.html.erb 0 → 100644
@@ -0,0 +1,13 @@ @@ -0,0 +1,13 @@
  1 +<div class='profile-activity-image'>
  2 + <%= link_to image_tag(activity.target.default_image :minor), activity.target.url, class: 'product-pic' if activity.target.present? %>
  3 +</div>
  4 +<div class='profile-activity-description'>
  5 + <p class='profile-activity-text'><%= link_to activity.user.short_name(nil), activity.user.url %> <%= describe activity %></p>
  6 + <p class='profile-activity-time'><%= time_ago_as_sentence activity.created_at %></p>
  7 +
  8 + <div class='profile-wall-actions'>
  9 + <%= link_to_function(_('Remove'), 'remove_item_wall(this, \'%s\', \'%s\', \'%s\'); return false ;' % [".profile-activity-item", url_for(:profile => params[:profile], :action => :remove_activity, :activity_id => activity.id, :view => params[:view]), _('Are you sure you want to remove this activity and all its replies?')]) if logged_in? && current_person == @profile %>
  10 + </div>
  11 +</div>
  12 +
  13 +<div style="clear: both"></div>
app/views/profile/_favorite_enterprise.html.erb 0 → 100644
@@ -0,0 +1,15 @@ @@ -0,0 +1,15 @@
  1 +<div class='profile-activity-image'>
  2 + <%= link_to(profile_image(activity.user, :minor), activity.user.url) %>
  3 +</div>
  4 +<div class='profile-activity-description'>
  5 + <p class='profile-activity-text'>
  6 + <%= link_to activity.user.short_name(nil), activity.user.url %> <%= describe activity %>
  7 + </p>
  8 + <p class='profile-activity-time'><%= time_ago_as_sentence activity.created_at %></p>
  9 +
  10 + <div class='profile-wall-actions'>
  11 + <%= link_to_function(_('Remove'), 'remove_item_wall(this, \'%s\', \'%s\', \'%s\'); return false ;' % [".profile-activity-item", url_for(:profile => params[:profile], :action => :remove_activity, :activity_id => activity.id, :view => params[:view]), _('Are you sure you want to remove this activity and all its replies?')]) if logged_in? && current_person == @profile %>
  12 + </div>
  13 +</div>
  14 +
  15 +<div style="clear: both"></div>
app/views/profile/_profile_activities_list.html.erb
1 <% unless activities.nil? %> 1 <% unless activities.nil? %>
2 - <% activities.each do |a| %>  
3 - <% activity = a.klass.constantize.find(a.id) %> 2 + <% activities.each do |profile_activity| %>
  3 + <% activity = profile_activity.activity %>
4 <% if activity.kind_of?(ActionTracker::Record) %> 4 <% if activity.kind_of?(ActionTracker::Record) %>
5 <% next unless activity.target %> 5 <% next unless activity.target %>
6 <%= render :partial => 'profile_activity', :locals => { :activity => activity, :tab_action => 'wall' } if activity.visible? %> 6 <%= render :partial => 'profile_activity', :locals => { :activity => activity, :tab_action => 'wall' } if activity.visible? %>
app/views/profile/_remove_product.html.erb 0 → 100644
@@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
  1 +<div class='profile-activity-image'>
  2 +</div>
  3 +<div class='profile-activity-description'>
  4 + <p class='profile-activity-text'><%= link_to activity.user.short_name(nil), activity.user.url %> <%= describe activity %></p>
  5 + <p class='profile-activity-time'><%= time_ago_as_sentence activity.created_at %></p>
  6 +
  7 + <div class='profile-wall-actions'>
  8 + <%= link_to_function(_('Remove'), 'remove_item_wall(this, \'%s\', \'%s\', \'%s\'); return false ;' % [".profile-activity-item", url_for(:profile => params[:profile], :action => :remove_activity, :activity_id => activity.id, :view => params[:view]), _('Are you sure you want to remove this activity and all its replies?')]) if logged_in? && current_person == @profile %>
  9 + </div>
  10 +</div>
  11 +
  12 +<div style="clear: both"></div>
app/views/profile/_update_product.html.erb 0 → 100644
@@ -0,0 +1,13 @@ @@ -0,0 +1,13 @@
  1 +<div class='profile-activity-image'>
  2 + <%= link_to image_tag(activity.target.default_image :minor), activity.target.url, class: 'product-pic' if activity.target.present? %>
  3 +</div>
  4 +<div class='profile-activity-description'>
  5 + <p class='profile-activity-text'><%= link_to activity.user.short_name(nil), activity.user.url %> <%= describe activity %></p>
  6 + <p class='profile-activity-time'><%= time_ago_as_sentence activity.created_at %></p>
  7 +
  8 + <div class='profile-wall-actions'>
  9 + <%= link_to_function(_('Remove'), 'remove_item_wall(this, \'%s\', \'%s\', \'%s\'); return false ;' % [".profile-activity-item", url_for(:profile => params[:profile], :action => :remove_activity, :activity_id => activity.id, :view => params[:view]), _('Are you sure you want to remove this activity and all its replies?')]) if logged_in? && current_person == @profile %>
  10 + </div>
  11 +</div>
  12 +
  13 +<div style="clear: both"></div>
app/views/profile_editor/_redirection_after_login.html.erb 0 → 100644
@@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@
  1 +<% content_for :head do %>
  2 + <%= javascript_include_tag 'redirection_after_login' %>
  3 +<% end %>
  4 +
  5 +<h2><%= _('Page to redirect after login') %></h2>
  6 +<%= f.select :redirection_after_login, Environment.login_redirection_options.map{ |key,value| [value,key] }, selected: @profile.preferred_login_redirection %>
  7 +
  8 +<%= f.text_field :custom_url_redirection %>
  9 +
app/views/profile_editor/edit.html.erb
@@ -44,8 +44,7 @@ @@ -44,8 +44,7 @@
44 <% end %> 44 <% end %>
45 45
46 <% if environment.enabled?('allow_change_of_redirection_after_login') %> 46 <% if environment.enabled?('allow_change_of_redirection_after_login') %>
47 - <h2><%= _('Page to redirect after login') %></h2>  
48 - <%= select 'profile_data', 'redirection_after_login', Environment.login_redirection_options.map{|key,value|[value,key]}, { :selected => @profile.preferred_login_redirection} %> 47 + <%= render 'redirection_after_login', f: f %>
49 <% end %> 48 <% end %>
50 49
51 <h2><%= _('Translations') %></h2> 50 <h2><%= _('Translations') %></h2>
@@ -75,14 +74,23 @@ @@ -75,14 +74,23 @@
75 74
76 <% if user && user.has_permission?('destroy_profile', profile) %> 75 <% if user && user.has_permission?('destroy_profile', profile) %>
77 <% button_bar(:id => 'delete-profile') do %> 76 <% button_bar(:id => 'delete-profile') do %>
78 - <%= button(:remove, _('Delete profile'), {:action => :destroy_profile}) %>  
79 77
80 - <% if environment.admins.include?(current_person) %> 78 + <% if !environment.enabled?('forbid_destroy_profile') || user.is_admin?(environment) %>
  79 + <%= button(:remove, _('Delete profile'), {:action => :destroy_profile}) %>
  80 + <% end %>
81 81
  82 + <% if user.is_admin?(environment) %>
82 <% if profile.visible? %> 83 <% if profile.visible? %>
83 - <%= button(:remove, _('Deactivate profile'), {:action => :deactivate_profile, :id=>profile.id}, :id=>'deactivate_profile_button', :data => {:confirm=>_("Are you sure you want to deactivate this profile?")}) %> 84 + <%= button(:remove, _('Deactivate profile'),
  85 + {:action => :deactivate_profile, :id=>profile.id},
  86 + :id=>'deactivate_profile_button',
  87 + :data => {:confirm=>_("Are you sure you want to deactivate this profile?")})
  88 + %>
84 <% else %> 89 <% else %>
85 - <%= button(:add, _('Activate profile'), {:action => :activate_profile, :id=>profile.id}, :data => {:confirm=>_("Are you sure you want to deactivate this profile?")}) %> 90 + <%= button(:add, _('Activate profile'),
  91 + {:action => :activate_profile, :id=>profile.id},
  92 + :data => {:confirm=>_("Are you sure you want to activate this profile?")})
  93 + %>
86 <% end %> 94 <% end %>
87 <% end %> 95 <% end %>
88 <% end %> 96 <% end %>
app/views/profile_roles/assign.html.erb
1 <%= javascript_include_tag('assign_role.js') %> 1 <%= javascript_include_tag('assign_role.js') %>
2 2
3 -<h1> <%= _("Assign #{@role.name}") %> </h1> 3 +<h1> <%= _("Assign %s") % @role.name %> </h1>
4 4
5 5
6 <%= labelled_form_for :role, :url => { :action => 'define', :id => @role.id } do |f| %> 6 <%= labelled_form_for :role, :url => { :action => 'define', :id => @role.id } do |f| %>
app/views/profile_roles/destroy.html.erb
1 -<h1> <%= _("Deleting #{@role.name}") %> </h1> 1 +<h1> <%= _("Deleting %s") % @role.name %> </h1>
2 2
3 <% if @members.nil? || @members.empty? %> 3 <% if @members.nil? || @members.empty? %>
4 <p><%= _('This role is not being currently used.')%></p> 4 <p><%= _('This role is not being currently used.')%></p>
app/views/profile_roles/edit.html.erb
1 -<h1> <%= _("Editing #{@role.name}") %> </h1> 1 +<h1> <%= _("Editing %s") % @role.name %> </h1>
2 2
3 <%= render :partial => 'form', :locals => { :mode => :edit, :role => @role, :permissions => [@role.kind] } %> 3 <%= render :partial => 'form', :locals => { :mode => :edit, :role => @role, :permissions => [@role.kind] } %>
app/views/role/edit.html.erb
1 -<h2> <%= _("Editing #{@role.name}") %> </h2> 1 +<h2> <%= _("Editing %s") % @role.name %> </h2>
2 2
3 <%= render :partial => 'form', :locals => { :mode => :edit, :role => @role, :permissions => role_available_permissions(@role) } %> 3 <%= render :partial => 'form', :locals => { :mode => :edit, :role => @role, :permissions => role_available_permissions(@role) } %>
app/views/shared/_content_item.html.erb
@@ -6,6 +6,6 @@ @@ -6,6 +6,6 @@
6 <span class="item-description"> 6 <span class="item-description">
7 <%= link_to(content.name, content.url) %> 7 <%= link_to(content.name, content.url) %>
8 </span> 8 </span>
9 - <span class="item-date"><%= _("Published at: #{show_date(content.updated_at)}") %></span> 9 + <span class="item-date"><%= _("Published at: %s") % show_date(content.updated_at) %></span>
10 </div> 10 </div>
11 </div> 11 </div>
app/views/shared/_list_groups.html.erb
1 <ul id="groups-list"> 1 <ul id="groups-list">
2 -<% for group in groups %>  
3 - <li>  
4 - <div class='common-profile-list-block'>  
5 - <%= profile_image_link(group, :portrait, 'div') %>  
6 - </div>  
7 - <span class='profile-details'>  
8 - <strong><%= group.name %></strong><br/>  
9 - <%= _('Role: %s') % rolename_for(profile, group) + '<br/>' if profile.role_assignments.find_by_resource_id(group.id) %>  
10 - <%= _('Type: %s') % _(group.class.identification) %> <br/>  
11 - <%= _('Description: %s') % group.description + '<br/>' if group.community? %>  
12 - <%= _('Members: %s') % group.members_count.to_s %> <br/>  
13 - <%= _('Created at: %s') % show_date(group.created_at) unless group.enterprise? %> <br/>  
14 - <% button_bar do %>  
15 - <% if user.has_permission?(:edit_profile, group) %>  
16 - <%= button 'menu-ctrl-panel', _('Control panel of this group'), group.admin_url %>  
17 - <% end %>  
18 - <%= button 'menu-logout', _('Leave community'), group.leave_url(true), :class => 'leave-community' %>  
19 - <% if (group.community? && user.has_permission?(:destroy_profile, group)) %>  
20 - <%= button 'delete', _('Remove'), { :controller => 'profile_editor', :action => 'destroy_profile', :profile => group.identifier } %> 2 + <% for group in groups %>
  3 + <li>
  4 + <div class='common-profile-list-block'>
  5 + <%= profile_image_link(group, :portrait, 'div') %>
  6 + </div>
  7 + <span class='profile-details'>
  8 + <strong><%= group.name %></strong><br/>
  9 + <%= _('Role: %s') % rolename_for(profile, group) + '<br/>' if profile.role_assignments.find_by_resource_id(group.id) %>
  10 + <%= _('Type: %s') % _(group.class.identification) %> <br/>
  11 + <%= _('Description: %s') % group.description + '<br/>' if group.community? %>
  12 + <%= _('Members: %s') % group.members_count.to_s %> <br/>
  13 + <%= _('Created at: %s') % show_date(group.created_at) unless group.enterprise? %> <br/>
  14 + <% button_bar do %>
  15 + <% if user.has_permission?(:edit_profile, group) %>
  16 + <%= button 'menu-ctrl-panel', _('Control panel of this group'), group.admin_url %>
  17 + <% end %>
  18 + <%= button 'menu-logout', _('Leave community'), group.leave_url(true), :class => 'leave-community' %>
  19 +
  20 + <% if (user.has_permission?(:destroy_profile, group) && !environment.enabled?('forbid_destroy_profile')) || user.is_admin?(environment) %>
  21 + <%= button 'delete', _('Remove'),
  22 + { :controller => 'profile_editor',
  23 + :action => 'destroy_profile',
  24 + :profile => group.identifier }
  25 + %>
  26 + <% end %>
21 <% end %> 27 <% end %>
22 - <% end %>  
23 - </span>  
24 - <br class="may-clear" />  
25 - </li>  
26 -<% end %> 28 + </span>
  29 + <br class="may-clear" />
  30 + </li>
  31 + <% end %>
27 </ul> 32 </ul>
28 -  
config/application.rb
@@ -128,7 +128,7 @@ module Noosfero @@ -128,7 +128,7 @@ module Noosfero
128 # Make sure the secret is at least 30 characters and all random, 128 # Make sure the secret is at least 30 characters and all random,
129 # no regular words or you'll be exposed to dictionary attacks. 129 # no regular words or you'll be exposed to dictionary attacks.
130 config.secret_token = noosfero_session_secret 130 config.secret_token = noosfero_session_secret
131 - config.session_store :cookie_store, :key => '_noosfero_session' 131 + config.session_store :active_record_store, key: '_noosfero_session'
132 132
133 config.paths['db/migrate'] += Dir.glob "#{Rails.root}/{baseplugins,config/plugins}/*/db/migrate" 133 config.paths['db/migrate'] += Dir.glob "#{Rails.root}/{baseplugins,config/plugins}/*/db/migrate"
134 config.i18n.load_path += Dir.glob "#{Rails.root}/{baseplugins,config/plugins}/*/locales/*.{rb,yml}" 134 config.i18n.load_path += Dir.glob "#{Rails.root}/{baseplugins,config/plugins}/*/locales/*.{rb,yml}"
config/initializers/action_tracker.rb
@@ -2,67 +2,51 @@ require &#39;noosfero/i18n&#39; @@ -2,67 +2,51 @@ require &#39;noosfero/i18n&#39;
2 2
3 # ActionTracker plugin stuff 3 # ActionTracker plugin stuff
4 4
5 -@reply_scrap_description = proc { _('sent a message to %{receiver}: <br /> "%{message}"') % { :receiver => "{{link_to(ta.get_receiver_name, ta.get_receiver_url)}}", :message => "{{auto_link_urls(ta.get_content)}}" } }  
6 -  
7 ActionTrackerConfig.verbs = { 5 ActionTrackerConfig.verbs = {
8 6
9 - :create_article => {  
10 - :description => proc { _('published an article: %{title}') % { :title => '{{link_to(truncate(ta.get_name), ta.get_url)}}' } } 7 + create_article: {
  8 + },
  9 +
  10 + new_friendship: {
  11 + type: :groupable
  12 + },
  13 +
  14 + join_community: {
  15 + type: :groupable
11 }, 16 },
12 17
13 - :new_friendship => {  
14 - :description => proc { n_('has made 1 new friend:<br />%{name}', 'has made %{num} new friends:<br />%{name}', get_friend_name.size) % { :num => get_friend_name.size, :name => '{{ta.collect_group_with_index(:friend_name){ |n,i| link_to(image_tag(ta.get_friend_profile_custom_icon[i] || default_or_themed_icon("/images/icons-app/person-icon.png")), ta.get_friend_url[i], :title => n)}.join}}' } },  
15 - :type => :groupable 18 + add_member_in_community: {
16 }, 19 },
17 20
18 - :join_community => {  
19 - :description => proc { n_('has joined 1 community:<br />%{name}', 'has joined %{num} communities:<br />%{name}', get_resource_name.size) % { :num => get_resource_name.size, :name => '{{ta.collect_group_with_index(:resource_name){ |n,i| link_to(image_tag(ta.get_resource_profile_custom_icon[i] || default_or_themed_icon("/images/icons-app/community-icon.png")), ta.get_resource_url[i], :title => n)}.join}}' } },  
20 - :type => :groupable 21 + upload_image: {
  22 + type: :groupable
21 }, 23 },
22 24
23 - :add_member_in_community => {  
24 - :description => proc { _('has joined the community.') }, 25 + leave_scrap: {
25 }, 26 },
26 27
27 - :upload_image => {  
28 - :description => proc do  
29 - total = get_view_url.size  
30 - n_('uploaded 1 image', 'uploaded %d images', total) % total +  
31 - '<br />{{'+  
32 - 'ta.collect_group_with_index(:thumbnail_path) { |t,i|' +  
33 - " if ( #{total} == 1 );" +  
34 - ' link_to( image_tag(t), ta.get_view_url[i], :class => \'upimg\' );' +  
35 - ' else;' +  
36 - " pos = #{total}-i;" +  
37 - ' morethen2 = pos>2 ? \'morethen2\' : \'\';' +  
38 - ' morethen5 = pos>5 ? \'morethen5\' : \'\';' +  
39 - ' t = t.gsub(/(.*)(display)(.*)/, \'\\1thumb\\3\');' +  
40 - ' link_to( \'&nbsp;\', ta.get_view_url[i],' +  
41 - ' :style => "background-image:url(#{t})",' +  
42 - ' :class => "upimg pos#{pos} #{morethen2} #{morethen5}" );' +  
43 - ' end' +  
44 - '}.reverse.join}}' +  
45 - ( total > 5 ?  
46 - '<span class="more" onclick="this.parentNode.className+=\' show-all\'">' +  
47 - '&hellip;</span>' : '' ) +  
48 - '<br style="clear: both;" />'  
49 - end,  
50 - :type => :groupable 28 + leave_scrap_to_self: {
51 }, 29 },
52 30
53 - :leave_scrap => {  
54 - :description => @reply_scrap_description 31 + reply_scrap_on_self: {
55 }, 32 },
56 33
57 - :leave_scrap_to_self => {  
58 - :description => proc { _('wrote: <br /> "%{text}"') % { :text => "{{auto_link_urls(ta.get_content)}}" } } 34 + create_product: {
59 }, 35 },
60 36
61 - :reply_scrap_on_self => {  
62 - :description => @reply_scrap_description 37 + update_product: {
63 }, 38 },
  39 +
  40 + remove_product: {
  41 + },
  42 +
  43 + favorite_enterprise: {
  44 + },
  45 +
64 } 46 }
65 47
66 -ActionTrackerConfig.current_user_method = :current_person 48 +ActionTrackerConfig.current_user = proc do
  49 + User.current.person rescue nil
  50 +end
67 51
68 ActionTrackerConfig.timeout = 24.hours 52 ActionTrackerConfig.timeout = 24.hours
config/initializers/session.rb 0 → 100644
@@ -0,0 +1,6 @@ @@ -0,0 +1,6 @@
  1 +require File.join(Rails.root,'app/models/session')
  2 +
  3 +ActionDispatch::Reloader.to_prepare do
  4 + ActiveRecord::SessionStore.session_class = Session
  5 +end
  6 +
config/routes.rb
@@ -57,37 +57,37 @@ Noosfero::Application.routes.draw do @@ -57,37 +57,37 @@ Noosfero::Application.routes.draw do
57 match 'search(/:action(/*category_path))', :controller => 'search' 57 match 'search(/:action(/*category_path))', :controller => 'search'
58 58
59 # events 59 # events
60 - match 'profile/:profile/events_by_day', :controller => 'events', :action => 'events_by_day', :profile => /#{Noosfero.identifier_format_in_url}/  
61 - match 'profile/:profile/events_by_month', :controller => 'events', :action => 'events_by_month', :profile => /#{Noosfero.identifier_format_in_url}/  
62 - match 'profile/:profile/events/:year/:month/:day', :controller => 'events', :action => 'events', :year => /\d*/, :month => /\d*/, :day => /\d*/, :profile => /#{Noosfero.identifier_format_in_url}/  
63 - match 'profile/:profile/events/:year/:month', :controller => 'events', :action => 'events', :year => /\d*/, :month => /\d*/, :profile => /#{Noosfero.identifier_format_in_url}/  
64 - match 'profile/:profile/events', :controller => 'events', :action => 'events', :profile => /#{Noosfero.identifier_format_in_url}/ 60 + match 'profile/:profile/events_by_day', :controller => 'events', :action => 'events_by_day', :profile => /#{Noosfero.identifier_format_in_url}/i
  61 + match 'profile/:profile/events_by_month', :controller => 'events', :action => 'events_by_month', :profile => /#{Noosfero.identifier_format_in_url}/i
  62 + match 'profile/:profile/events/:year/:month/:day', :controller => 'events', :action => 'events', :year => /\d*/, :month => /\d*/, :day => /\d*/, :profile => /#{Noosfero.identifier_format_in_url}/i
  63 + match 'profile/:profile/events/:year/:month', :controller => 'events', :action => 'events', :year => /\d*/, :month => /\d*/, :profile => /#{Noosfero.identifier_format_in_url}/i
  64 + match 'profile/:profile/events', :controller => 'events', :action => 'events', :profile => /#{Noosfero.identifier_format_in_url}/i
65 65
66 # catalog 66 # catalog
67 - match 'catalog/:profile', :controller => 'catalog', :action => 'index', :profile => /#{Noosfero.identifier_format_in_url}/, :as => :catalog 67 + match 'catalog/:profile', :controller => 'catalog', :action => 'index', :profile => /#{Noosfero.identifier_format_in_url}/i, :as => :catalog
68 68
69 # invite 69 # invite
70 - match 'profile/:profile/invite/friends', :controller => 'invite', :action => 'invite_friends', :profile => /#{Noosfero.identifier_format_in_url}/  
71 - match 'profile/:profile/invite/:action', :controller => 'invite', :profile => /#{Noosfero.identifier_format_in_url}/ 70 + match 'profile/:profile/invite/friends', :controller => 'invite', :action => 'invite_friends', :profile => /#{Noosfero.identifier_format_in_url}/i
  71 + match 'profile/:profile/invite/:action', :controller => 'invite', :profile => /#{Noosfero.identifier_format_in_url}/i
72 72
73 # feeds per tag 73 # feeds per tag
74 - match 'profile/:profile/tags/:id/feed', :controller => 'profile', :action =>'tag_feed', :id => /.+/, :profile => /#{Noosfero.identifier_format_in_url}/, :as => :tag_feed 74 + match 'profile/:profile/tags/:id/feed', :controller => 'profile', :action =>'tag_feed', :id => /.+/, :profile => /#{Noosfero.identifier_format_in_url}/i, :as => :tag_feed
75 75
76 # profile tags 76 # profile tags
77 - match 'profile/:profile/tags/:id', :controller => 'profile', :action => 'content_tagged', :id => /.+/, :profile => /#{Noosfero.identifier_format_in_url}/  
78 - match 'profile/:profile/tags(/:id)', :controller => 'profile', :action => 'tags', :profile => /#{Noosfero.identifier_format_in_url}/ 77 + match 'profile/:profile/tags/:id', :controller => 'profile', :action => 'content_tagged', :id => /.+/, :profile => /#{Noosfero.identifier_format_in_url}/i
  78 + match 'profile/:profile/tags(/:id)', :controller => 'profile', :action => 'tags', :profile => /#{Noosfero.identifier_format_in_url}/i
79 79
80 # profile search 80 # profile search
81 - match 'profile/:profile/search', :controller => 'profile_search', :action => 'index', :profile => /#{Noosfero.identifier_format_in_url}/ 81 + match 'profile/:profile/search', :controller => 'profile_search', :action => 'index', :profile => /#{Noosfero.identifier_format_in_url}/i
82 82
83 # comments 83 # comments
84 - match 'profile/:profile/comment/:action/:id', :controller => 'comment', :profile => /#{Noosfero.identifier_format_in_url}/ 84 + match 'profile/:profile/comment/:action/:id', :controller => 'comment', :profile => /#{Noosfero.identifier_format_in_url}/i
85 85
86 # public profile information 86 # public profile information
87 - match 'profile/:profile(/:action(/:id))', :controller => 'profile', :action => 'index', :id => /[^\/]*/, :profile => /#{Noosfero.identifier_format_in_url}/, :as => :profile 87 + match 'profile/:profile(/:action(/:id))', :controller => 'profile', :action => 'index', :id => /[^\/]*/, :profile => /#{Noosfero.identifier_format_in_url}/i, :as => :profile
88 88
89 # contact 89 # contact
90 - match 'contact/:profile/:action(/:id)', :controller => 'contact', :action => 'index', :id => /.*/, :profile => /#{Noosfero.identifier_format_in_url}/ 90 + match 'contact/:profile/:action(/:id)', :controller => 'contact', :action => 'index', :id => /.*/, :profile => /#{Noosfero.identifier_format_in_url}/i
91 91
92 # map balloon 92 # map balloon
93 match 'map_balloon/:action/:id', :controller => 'map_balloon', :id => /.*/ 93 match 'map_balloon/:action/:id', :controller => 'map_balloon', :id => /.*/
@@ -99,8 +99,8 @@ Noosfero::Application.routes.draw do @@ -99,8 +99,8 @@ Noosfero::Application.routes.draw do
99 ## Controllers that are profile-specific (for profile admins ) 99 ## Controllers that are profile-specific (for profile admins )
100 ###################################################### 100 ######################################################
101 # profile customization - "My profile" 101 # profile customization - "My profile"
102 - match 'myprofile/:profile', :controller => 'profile_editor', :action => 'index', :profile => /#{Noosfero.identifier_format_in_url}/  
103 - match 'myprofile/:profile/:controller(/:action(/:id))', :controller => Noosfero.pattern_for_controllers_in_directory('my_profile'), :profile => /#{Noosfero.identifier_format_in_url}/, :as => :myprofile 102 + match 'myprofile/:profile', :controller => 'profile_editor', :action => 'index', :profile => /#{Noosfero.identifier_format_in_url}/i
  103 + match 'myprofile/:profile/:controller(/:action(/:id))', :controller => Noosfero.pattern_for_controllers_in_directory('my_profile'), :profile => /#{Noosfero.identifier_format_in_url}/i, :as => :myprofile
104 104
105 105
106 ###################################################### 106 ######################################################
@@ -128,14 +128,14 @@ Noosfero::Application.routes.draw do @@ -128,14 +128,14 @@ Noosfero::Application.routes.draw do
128 # cache stuff - hack 128 # cache stuff - hack
129 match 'public/:action/:id', :controller => 'public' 129 match 'public/:action/:id', :controller => 'public'
130 130
131 - match ':profile/*page/versions', :controller => 'content_viewer', :action => 'article_versions', :profile => /#{Noosfero.identifier_format_in_url}/, :constraints => EnvironmentDomainConstraint.new 131 + match ':profile/*page/versions', :controller => 'content_viewer', :action => 'article_versions', :profile => /#{Noosfero.identifier_format_in_url}/i, :constraints => EnvironmentDomainConstraint.new
132 match '*page/versions', :controller => 'content_viewer', :action => 'article_versions' 132 match '*page/versions', :controller => 'content_viewer', :action => 'article_versions'
133 133
134 - match ':profile/*page/versions_diff', :controller => 'content_viewer', :action => 'versions_diff', :profile => /#{Noosfero.identifier_format_in_url}/, :constraints => EnvironmentDomainConstraint.new 134 + match ':profile/*page/versions_diff', :controller => 'content_viewer', :action => 'versions_diff', :profile => /#{Noosfero.identifier_format_in_url}/i, :constraints => EnvironmentDomainConstraint.new
135 match '*page/versions_diff', :controller => 'content_viewer', :action => 'versions_diff' 135 match '*page/versions_diff', :controller => 'content_viewer', :action => 'versions_diff'
136 136
137 # match requests for profiles that don't have a custom domain 137 # match requests for profiles that don't have a custom domain
138 - match ':profile(/*page)', :controller => 'content_viewer', :action => 'view_page', :profile => /#{Noosfero.identifier_format_in_url}/, :constraints => EnvironmentDomainConstraint.new 138 + match ':profile(/*page)', :controller => 'content_viewer', :action => 'view_page', :profile => /#{Noosfero.identifier_format_in_url}/i, :constraints => EnvironmentDomainConstraint.new
139 139
140 # match requests for content in domains hosted for profiles 140 # match requests for content in domains hosted for profiles
141 match '/(*page)', :controller => 'content_viewer', :action => 'view_page' 141 match '/(*page)', :controller => 'content_viewer', :action => 'view_page'
db/migrate/20150216213259_create_profile_activity.rb 0 → 100644
@@ -0,0 +1,26 @@ @@ -0,0 +1,26 @@
  1 +class CreateProfileActivity < ActiveRecord::Migration
  2 + def up
  3 + ActiveRecord::Base.transaction do
  4 + create_table :profile_activities do |t|
  5 + t.integer :profile_id
  6 + t.integer :activity_id
  7 + t.string :activity_type
  8 + t.timestamps
  9 + end
  10 + add_index :profile_activities, :profile_id
  11 + add_index :profile_activities, [:activity_id, :activity_type]
  12 + add_index :profile_activities, :activity_type
  13 +
  14 + Scrap.find_each batch_size: 50 do |scrap|
  15 + scrap.send :create_activity
  16 + end
  17 + ActionTracker::Record.find_each batch_size: 50 do |action_tracker|
  18 + action_tracker.send :create_activity
  19 + end
  20 + end
  21 + end
  22 +
  23 + def down
  24 + drop_table :profile_activities
  25 + end
  26 +end
db/migrate/20150310132902_add_id_to_favorite_enterprises_people.rb 0 → 100644
@@ -0,0 +1,26 @@ @@ -0,0 +1,26 @@
  1 +class AddIdToFavoriteEnterprisesPeople < ActiveRecord::Migration
  2 + def up
  3 + rename_table :favorite_enteprises_people, :favorite_enterprise_people
  4 +
  5 + change_table :favorite_enterprise_people do |t|
  6 + t.timestamps
  7 + end
  8 + add_column :favorite_enterprise_people, :id, :primary_key
  9 +
  10 + add_index :favorite_enterprise_people, [:person_id, :enterprise_id]
  11 + add_index :favorite_enterprise_people, :person_id
  12 + add_index :favorite_enterprise_people, :enterprise_id
  13 + end
  14 +
  15 + def down
  16 + rename_table :favorite_enterprise_people, :favorite_enteprises_people
  17 +
  18 + remove_column :favorite_enteprises_people, :id
  19 + remove_column :favorite_enteprises_people, :created_at
  20 + remove_column :favorite_enteprises_people, :updated_at
  21 +
  22 + remove_index :favorite_enteprises_people, [:person_id, :enterprise_id]
  23 + remove_index :favorite_enteprises_people, :person_id
  24 + remove_index :favorite_enteprises_people, :enterprise_id
  25 + end
  26 +end
db/migrate/20150625234824_add_user_id_to_session.rb 0 → 100644
@@ -0,0 +1,31 @@ @@ -0,0 +1,31 @@
  1 +class AddUserIdToSession < ActiveRecord::Migration
  2 +
  3 + def change
  4 + add_column :sessions, :user_id, :integer
  5 + add_index :sessions, :user_id
  6 + end
  7 +
  8 + def up
  9 + Session.reset_column_information
  10 +
  11 + # cleanup data: {}
  12 + Session.where(data: "BAh7AA==\n").delete_all
  13 + # cleanup data with lang key only
  14 + Session.where("data ~ 'BAh7BjoJbGFuZyIH.{3,3}=\n'").delete_all
  15 +
  16 + # very slow migration, only do for the last month
  17 + Session.where('updated_at > ?', 1.month.ago).find_each batch_size: 50 do |session|
  18 + begin
  19 + # this calls Session#copy_to_columns
  20 + session.save!
  21 + rescue ArgumentError
  22 + # old ActionController::Flash::FlashHash from rails 2.3
  23 + session.destroy
  24 + end
  25 +
  26 + # limit limitless allocations
  27 + GC.start
  28 + end
  29 + end
  30 +
  31 +end
db/migrate/20150712130827_index_user_id_on_profiles.rb 0 → 100644
@@ -0,0 +1,8 @@ @@ -0,0 +1,8 @@
  1 +class IndexUserIdOnProfiles < ActiveRecord::Migration
  2 +
  3 + def change
  4 + add_index :profiles, :user_id
  5 + add_index :profiles, [:user_id, :type]
  6 + end
  7 +
  8 +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 => 20150712194411) do 14 +ActiveRecord::Schema.define(:version => 20150812133432) 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"
@@ -391,11 +391,17 @@ ActiveRecord::Schema.define(:version =&gt; 20150712194411) do @@ -391,11 +391,17 @@ ActiveRecord::Schema.define(:version =&gt; 20150712194411) do
391 add_index "external_feeds", ["enabled"], :name => "index_external_feeds_on_enabled" 391 add_index "external_feeds", ["enabled"], :name => "index_external_feeds_on_enabled"
392 add_index "external_feeds", ["fetched_at"], :name => "index_external_feeds_on_fetched_at" 392 add_index "external_feeds", ["fetched_at"], :name => "index_external_feeds_on_fetched_at"
393 393
394 - create_table "favorite_enteprises_people", :id => false, :force => true do |t|  
395 - t.integer "person_id"  
396 - t.integer "enterprise_id" 394 + create_table "favorite_enterprise_people", :force => true do |t|
  395 + t.integer "person_id"
  396 + t.integer "enterprise_id"
  397 + t.datetime "created_at"
  398 + t.datetime "updated_at"
397 end 399 end
398 400
  401 + add_index "favorite_enterprise_people", ["enterprise_id"], :name => "index_favorite_enterprise_people_on_enterprise_id"
  402 + add_index "favorite_enterprise_people", ["person_id", "enterprise_id"], :name => "index_favorite_enterprise_people_on_person_id_and_enterprise_id"
  403 + add_index "favorite_enterprise_people", ["person_id"], :name => "index_favorite_enterprise_people_on_person_id"
  404 +
399 create_table "friendships", :force => true do |t| 405 create_table "friendships", :force => true do |t|
400 t.integer "person_id" 406 t.integer "person_id"
401 t.integer "friend_id" 407 t.integer "friend_id"
@@ -507,6 +513,7 @@ ActiveRecord::Schema.define(:version =&gt; 20150712194411) do @@ -507,6 +513,7 @@ ActiveRecord::Schema.define(:version =&gt; 20150712194411) do
507 t.integer "num_points", :default => 0 513 t.integer "num_points", :default => 0
508 t.string "log" 514 t.string "log"
509 t.datetime "created_at" 515 t.datetime "created_at"
  516 + t.integer "action_id"
510 end 517 end
511 518
512 create_table "merit_scores", :force => true do |t| 519 create_table "merit_scores", :force => true do |t|
@@ -589,6 +596,18 @@ ActiveRecord::Schema.define(:version =&gt; 20150712194411) do @@ -589,6 +596,18 @@ ActiveRecord::Schema.define(:version =&gt; 20150712194411) do
589 add_index "products", ["product_category_id"], :name => "index_products_on_product_category_id" 596 add_index "products", ["product_category_id"], :name => "index_products_on_product_category_id"
590 add_index "products", ["profile_id"], :name => "index_products_on_profile_id" 597 add_index "products", ["profile_id"], :name => "index_products_on_profile_id"
591 598
  599 + create_table "profile_activities", :force => true do |t|
  600 + t.integer "profile_id"
  601 + t.integer "activity_id"
  602 + t.string "activity_type"
  603 + t.datetime "created_at", :null => false
  604 + t.datetime "updated_at", :null => false
  605 + end
  606 +
  607 + add_index "profile_activities", ["activity_id", "activity_type"], :name => "index_profile_activities_on_activity_id_and_activity_type"
  608 + add_index "profile_activities", ["activity_type"], :name => "index_profile_activities_on_activity_type"
  609 + add_index "profile_activities", ["profile_id"], :name => "index_profile_activities_on_profile_id"
  610 +
592 create_table "profile_suggestions", :force => true do |t| 611 create_table "profile_suggestions", :force => true do |t|
593 t.integer "person_id" 612 t.integer "person_id"
594 t.integer "suggestion_id" 613 t.integer "suggestion_id"
@@ -659,6 +678,8 @@ ActiveRecord::Schema.define(:version =&gt; 20150712194411) do @@ -659,6 +678,8 @@ ActiveRecord::Schema.define(:version =&gt; 20150712194411) do
659 add_index "profiles", ["members_count"], :name => "index_profiles_on_members_count" 678 add_index "profiles", ["members_count"], :name => "index_profiles_on_members_count"
660 add_index "profiles", ["region_id"], :name => "index_profiles_on_region_id" 679 add_index "profiles", ["region_id"], :name => "index_profiles_on_region_id"
661 add_index "profiles", ["type"], :name => "index_profiles_on_type" 680 add_index "profiles", ["type"], :name => "index_profiles_on_type"
  681 + add_index "profiles", ["user_id", "type"], :name => "index_profiles_on_user_id_and_type"
  682 + add_index "profiles", ["user_id"], :name => "index_profiles_on_user_id"
662 add_index "profiles", ["validated"], :name => "index_profiles_on_validated" 683 add_index "profiles", ["validated"], :name => "index_profiles_on_validated"
663 add_index "profiles", ["visible"], :name => "index_profiles_on_visible" 684 add_index "profiles", ["visible"], :name => "index_profiles_on_visible"
664 685
@@ -778,10 +799,12 @@ ActiveRecord::Schema.define(:version =&gt; 20150712194411) do @@ -778,10 +799,12 @@ ActiveRecord::Schema.define(:version =&gt; 20150712194411) do
778 t.text "data" 799 t.text "data"
779 t.datetime "created_at" 800 t.datetime "created_at"
780 t.datetime "updated_at" 801 t.datetime "updated_at"
  802 + t.integer "user_id"
781 end 803 end
782 804
783 add_index "sessions", ["session_id"], :name => "index_sessions_on_session_id" 805 add_index "sessions", ["session_id"], :name => "index_sessions_on_session_id"
784 add_index "sessions", ["updated_at"], :name => "index_sessions_on_updated_at" 806 add_index "sessions", ["updated_at"], :name => "index_sessions_on_updated_at"
  807 + add_index "sessions", ["user_id"], :name => "index_sessions_on_user_id"
785 808
786 create_table "suggestion_connections", :force => true do |t| 809 create_table "suggestion_connections", :force => true do |t|
787 t.integer "suggestion_id", :null => false 810 t.integer "suggestion_id", :null => false
debian/changelog
  1 +noosfero (1.2) wheezy; urgency=low
  2 +
  3 + * Noosfero 1.2
  4 +
  5 + -- Antonio Terceiro <terceiro@colivre.coop.br> Fri, 07 Aug 2015 13:39:14 -0300
  6 +
  7 +noosfero (1.2~rc2) wheezy; urgency=low
  8 +
  9 + * Noosfero 1.2 RC2
  10 +
  11 + -- Antonio Terceiro <terceiro@colivre.coop.br> Mon, 27 Jul 2015 09:56:55 -0300
  12 +
1 noosfero (1.2~rc1) wheezy; urgency=medium 13 noosfero (1.2~rc1) wheezy; urgency=medium
2 14
3 [ Joenio Costa ] 15 [ Joenio Costa ]
doc/noosfero/navigation/searching-enterprises.textile
@@ -14,7 +14,7 @@ p. Find on top of page the term &quot;Enterprises&quot; and click on it: @@ -14,7 +14,7 @@ p. Find on top of page the term &quot;Enterprises&quot; and click on it:
14 h2(#description). Description 14 h2(#description). Description
15 15
16 # Fill in the search field with what you want to look for and click on "Search" !=/images/doc/enterprises-search-field.en.png(Enterprises search field)! 16 # Fill in the search field with what you want to look for and click on "Search" !=/images/doc/enterprises-search-field.en.png(Enterprises search field)!
17 -# Then you will see the search results. To see more results, click on the pages below the search results. !=/images/doc/enterprises-search-results-with-example.en.png(Enteprises search results with example)! 17 +# Then you will see the search results. To see more results, click on the pages below the search results. !=/images/doc/enterprises-search-results-with-example.en.png(Enterprises search results with example)!
18 # Clicking on one of the search results, you will be redirected to the homepage of choosen enterprise. 18 # Clicking on one of the search results, you will be redirected to the homepage of choosen enterprise.
19 19
20 h3. More options 20 h3. More options
features/accept_member.feature
@@ -14,6 +14,16 @@ Feature: accept member @@ -14,6 +14,16 @@ Feature: accept member
14 And the community "My Community" is closed 14 And the community "My Community" is closed
15 And "Mario Souto" is admin of "My Community" 15 And "Mario Souto" is admin of "My Community"
16 16
  17 + Scenario: a user should see its merbership is pending
  18 + Given I am logged in as "mario"
  19 + And the following communities
  20 + | owner | identifier | name | closed |
  21 + | marie | private-community | Private Community | true |
  22 + And I go to private-community's homepage
  23 + When I follow "Join this community"
  24 + And I go to private-community's homepage
  25 + Then I should see "Your membership is waiting for approval"
  26 +
17 @selenium 27 @selenium
18 Scenario: approve a task to accept a member as admin in a closed community 28 Scenario: approve a task to accept a member as admin in a closed community
19 Given "Marie Curie" asked to join "My Community" 29 Given "Marie Curie" asked to join "My Community"
features/members_block.feature
@@ -9,8 +9,8 @@ Feature: @@ -9,8 +9,8 @@ Feature:
9 | joaosilva | Joao Silva | 9 | joaosilva | Joao Silva |
10 | mariasilva | Maria Silva | 10 | mariasilva | Maria Silva |
11 And the following communities 11 And the following communities
12 - | owner | identifier | name |  
13 - | joaosilva | sample-community | Sample Community | 12 + | owner | identifier | name |
  13 + | joaosilva | sample-community | Sample Community |
14 And the following blocks 14 And the following blocks
15 | owner | type | 15 | owner | type |
16 | sample-community | MembersBlock | 16 | sample-community | MembersBlock |
@@ -24,7 +24,7 @@ Feature: @@ -24,7 +24,7 @@ Feature:
24 Scenario: a user can join in a community by members block's button 24 Scenario: a user can join in a community by members block's button
25 Given I am logged in as "mariasilva" 25 Given I am logged in as "mariasilva"
26 And I go to sample-community's homepage 26 And I go to sample-community's homepage
27 - When I follow "Join" within ".members-block" 27 + When I follow "Join this community" within ".members-block"
28 And I go to mariasilva's control panel 28 And I go to mariasilva's control panel
29 And I follow "Manage my groups" 29 And I follow "Manage my groups"
30 Then I should see "Sample Community" 30 Then I should see "Sample Community"
@@ -41,7 +41,7 @@ Feature: @@ -41,7 +41,7 @@ Feature:
41 Scenario: a not logged in user can log in by members block's button 41 Scenario: a not logged in user can log in by members block's button
42 Given I am not logged in 42 Given I am not logged in
43 When I go to sample-community's homepage 43 When I go to sample-community's homepage
44 - And I follow "Join" within ".members-block" 44 + And I follow "Join this community" within ".members-block"
45 Then I should see "Username / Email" 45 Then I should see "Username / Email"
46 46
47 Scenario: the join-leave button do not appear if the checkbox show-join-leave-button is not checked 47 Scenario: the join-leave button do not appear if the checkbox show-join-leave-button is not checked
@@ -51,5 +51,5 @@ Feature: @@ -51,5 +51,5 @@ Feature:
51 And I uncheck "Show join leave button" 51 And I uncheck "Show join leave button"
52 And I press "Save" 52 And I press "Save"
53 When I go to sample-community's homepage 53 When I go to sample-community's homepage
54 - Then I should not see "Join" within ".members-block" 54 + Then I should not see "Join this community" within ".members-block"
55 And I should not see "Leave community" within ".members-block" 55 And I should not see "Leave community" within ".members-block"
lib/authenticated_system.rb
1 module AuthenticatedSystem 1 module AuthenticatedSystem
  2 +
2 protected 3 protected
  4 +
  5 + # See impl. from http://stackoverflow.com/a/2513456/670229
  6 + def self.included? base
  7 + base.around_filter do
  8 + begin
  9 + User.current = current_user
  10 + yield
  11 + ensure
  12 + # to address the thread variable leak issues in Puma/Thin webserver
  13 + User.current = nil
  14 + end
  15 + end
  16 + end
  17 +
3 # Returns true or false if the user is logged in. 18 # Returns true or false if the user is logged in.
4 # Preloads @current_user with the user model if they're logged in. 19 # Preloads @current_user with the user model if they're logged in.
5 def logged_in? 20 def logged_in?
@@ -8,7 +23,13 @@ module AuthenticatedSystem @@ -8,7 +23,13 @@ module AuthenticatedSystem
8 23
9 # Accesses the current user from the session. 24 # Accesses the current user from the session.
10 def current_user 25 def current_user
11 - @current_user ||= (session[:user] && User.find_by_id(session[:user])) || nil 26 + @current_user ||= begin
  27 + id = session[:user]
  28 + user = User.where(id: id).first if id
  29 + user.session = session if user
  30 + User.current = user
  31 + user
  32 + end
12 end 33 end
13 34
14 # Store the given user in the session. 35 # Store the given user in the session.
@@ -17,9 +38,10 @@ module AuthenticatedSystem @@ -17,9 +38,10 @@ module AuthenticatedSystem
17 session.delete(:user) 38 session.delete(:user)
18 else 39 else
19 session[:user] = new_user.id 40 session[:user] = new_user.id
  41 + new_user.session = session
20 new_user.register_login 42 new_user.register_login
21 end 43 end
22 - @current_user = new_user 44 + @current_user = User.current = new_user
23 end 45 end
24 46
25 # Check if the user is authorized. 47 # Check if the user is authorized.
@@ -121,14 +143,9 @@ module AuthenticatedSystem @@ -121,14 +143,9 @@ module AuthenticatedSystem
121 # When called with before_filter :login_from_cookie will check for an :auth_token 143 # When called with before_filter :login_from_cookie will check for an :auth_token
122 # cookie and log the user back in if apropriate 144 # cookie and log the user back in if apropriate
123 def login_from_cookie 145 def login_from_cookie
124 - return unless cookies[:auth_token] && !logged_in?  
125 - user = User.find_by_remember_token(cookies[:auth_token])  
126 - if user && user.remember_token?  
127 - user.remember_me  
128 - self.current_user = user  
129 - cookies[:auth_token] = { :value => self.current_user.remember_token , :expires => self.current_user.remember_token_expires_at }  
130 - flash[:notice] = "Logged in successfully"  
131 - end 146 + return if cookies[:auth_token].blank? or logged_in?
  147 + user = User.where(remember_token: cookies[:auth_token]).first
  148 + self.current_user = user if user and user.remember_token?
132 end 149 end
133 150
134 private 151 private
lib/needs_profile.rb
@@ -21,7 +21,11 @@ module NeedsProfile @@ -21,7 +21,11 @@ module NeedsProfile
21 protected 21 protected
22 22
23 def load_profile 23 def load_profile
24 - @profile ||= environment.profiles.find_by_identifier(params[:profile]) 24 + if params[:profile]
  25 + params[:profile].downcase!
  26 + @profile ||= environment.profiles.where(identifier: params[:profile]).first
  27 + end
  28 +
25 if @profile 29 if @profile
26 profile_hostname = @profile.hostname 30 profile_hostname = @profile.hostname
27 if profile_hostname && profile_hostname != request.host 31 if profile_hostname && profile_hostname != request.host
lib/noosfero/action_tracker_ext.rb
1 Rails.configuration.to_prepare do 1 Rails.configuration.to_prepare do
2 - ActionTracker::Record.module_eval do 2 + ActionTracker::Record.class_eval do
3 extend CacheCounterHelper 3 extend CacheCounterHelper
4 4
5 after_create do |record| 5 after_create do |record|
@@ -9,6 +9,11 @@ Rails.configuration.to_prepare do @@ -9,6 +9,11 @@ Rails.configuration.to_prepare do
9 end 9 end
10 end 10 end
11 11
  12 + has_many :profile_activities, foreign_key: :activity_id, conditions: {profile_activities: {activity_type: 'ActionTracker::Record'}}, dependent: :destroy
  13 +
  14 + after_create :create_activity
  15 + after_update :update_activity
  16 +
12 after_destroy do |record| 17 after_destroy do |record|
13 if record.created_at >= ActionTracker::Record::RECENT_DELAY.days.ago 18 if record.created_at >= ActionTracker::Record::RECENT_DELAY.days.ago
14 ActionTracker::Record.update_cache_counter(:activities_count, record.user, -1) 19 ActionTracker::Record.update_cache_counter(:activities_count, record.user, -1)
@@ -17,5 +22,17 @@ Rails.configuration.to_prepare do @@ -17,5 +22,17 @@ Rails.configuration.to_prepare do
17 end 22 end
18 end 23 end
19 end 24 end
  25 +
  26 + protected
  27 +
  28 + def create_activity
  29 + target = if self.target.is_a? Profile then self.target else self.target.profile rescue self.user end
  30 + return if self.verb.in? target.exclude_verbs_on_activities
  31 + ProfileActivity.create! profile: target, activity: self
  32 + end
  33 + def update_activity
  34 + ProfileActivity.update_activity self
  35 + end
  36 +
20 end 37 end
21 end 38 end
lib/noosfero/plugin/routes.rb
@@ -19,15 +19,15 @@ Dir.glob(Rails.root.join(plugins_root, &#39;*&#39;, &#39;controllers&#39;)) do |controllers_dir| @@ -19,15 +19,15 @@ Dir.glob(Rails.root.join(plugins_root, &#39;*&#39;, &#39;controllers&#39;)) do |controllers_dir|
19 controllers.each do |controller| 19 controllers.each do |controller|
20 controller_name = controller.gsub("#{plugin_name}_plugin_",'') 20 controller_name = controller.gsub("#{plugin_name}_plugin_",'')
21 if %w[profile myprofile].include?(folder.to_s) 21 if %w[profile myprofile].include?(folder.to_s)
22 - match "#{prefixes_by_folder[folder]}/#{plugin_name}/#{controller_name}(/:action(/:id))", :controller => controller, :profile => /#{Noosfero.identifier_format}/ 22 + match "#{prefixes_by_folder[folder]}/#{plugin_name}/#{controller_name}(/:action(/:id))", controller: controller, profile: /#{Noosfero.identifier_format_in_url}/i
23 else 23 else
24 - match "#{prefixes_by_folder[folder]}/#{plugin_name}/#{controller_name}(/:action(/:id))", :controller => controller 24 + match "#{prefixes_by_folder[folder]}/#{plugin_name}/#{controller_name}(/:action(/:id))", controller: controller
25 end 25 end
26 end 26 end
27 end 27 end
28 28
29 - match 'plugin/' + plugin_name + '(/:action(/:id))', :controller => plugin_name + '_plugin'  
30 - match 'profile/:profile/plugin/' + plugin_name + '(/:action(/:id))', :controller => plugin_name + '_plugin_profile', :profile => /#{Noosfero.identifier_format}/  
31 - match 'myprofile/:profile/plugin/' + plugin_name + '(/:action(/:id))', :controller => plugin_name + '_plugin_myprofile', :profile => /#{Noosfero.identifier_format}/  
32 - match 'admin/plugin/' + plugin_name + '(/:action(/:id))', :controller => plugin_name + '_plugin_admin' 29 + match 'plugin/' + plugin_name + '(/:action(/:id))', controller: plugin_name + '_plugin'
  30 + match 'profile/:profile/plugin/' + plugin_name + '(/:action(/:id))', controller: plugin_name + '_plugin_profile', profile: /#{Noosfero.identifier_format_in_url}/i
  31 + match 'myprofile/:profile/plugin/' + plugin_name + '(/:action(/:id))', controller: plugin_name + '_plugin_myprofile', profile: /#{Noosfero.identifier_format_in_url}/i
  32 + match 'admin/plugin/' + plugin_name + '(/:action(/:id))', controller: plugin_name + '_plugin_admin'
33 end 33 end
lib/noosfero/version.rb
1 module Noosfero 1 module Noosfero
2 PROJECT = 'noosfero' 2 PROJECT = 'noosfero'
3 - VERSION = '1.2~rc1' 3 + VERSION = '1.2'
4 end 4 end
5 5
6 root = File.expand_path(File.dirname(__FILE__) + '/../..') 6 root = File.expand_path(File.dirname(__FILE__) + '/../..')
lib/notify_activity_to_profiles_job.rb
@@ -22,6 +22,12 @@ class NotifyActivityToProfilesJob &lt; Struct.new(:tracked_action_id) @@ -22,6 +22,12 @@ class NotifyActivityToProfilesJob &lt; Struct.new(:tracked_action_id)
22 # Notify all friends 22 # Notify all friends
23 ActionTrackerNotification.connection.execute("insert into action_tracker_notifications(profile_id, action_tracker_id) select f.friend_id, #{tracked_action.id} from friendships as f where person_id=#{tracked_action.user.id} and f.friend_id not in (select atn.profile_id from action_tracker_notifications as atn where atn.action_tracker_id = #{tracked_action.id})") 23 ActionTrackerNotification.connection.execute("insert into action_tracker_notifications(profile_id, action_tracker_id) select f.friend_id, #{tracked_action.id} from friendships as f where person_id=#{tracked_action.user.id} and f.friend_id not in (select atn.profile_id from action_tracker_notifications as atn where atn.action_tracker_id = #{tracked_action.id})")
24 24
  25 + if tracked_action.user.is_a? Organization
  26 + ActionTrackerNotification.connection.execute "insert into action_tracker_notifications(profile_id, action_tracker_id) " +
  27 + "select distinct accessor_id, #{tracked_action.id} from role_assignments where resource_id = #{tracked_action.user.id} and resource_type='Profile' " +
  28 + if tracked_action.user.is_a? Enterprise then "union select distinct person_id, #{tracked_action.id} from favorite_enterprise_people where enterprise_id = #{tracked_action.user.id}" else "" end
  29 + end
  30 +
25 if target.is_a?(Community) 31 if target.is_a?(Community)
26 ActionTrackerNotification.create(:profile_id => target.id, :action_tracker_id => tracked_action.id) unless NOT_NOTIFY_COMMUNITY.include?(tracked_action.verb) 32 ActionTrackerNotification.create(:profile_id => target.id, :action_tracker_id => tracked_action.id) unless NOT_NOTIFY_COMMUNITY.include?(tracked_action.verb)
27 33
lib/tasks/ci.rake
@@ -37,6 +37,11 @@ namespace :ci do @@ -37,6 +37,11 @@ namespace :ci do
37 tests << t unless tests.include?(t) 37 tests << t unless tests.include?(t)
38 end 38 end
39 end 39 end
  40 + if f =~ %r{^app/views/(\w*)/}
  41 + controller = $1
  42 + t = "test/functional/#{controller}_controller_test.rb"
  43 + tests << t if File.exists?(t) && !tests.include?(t)
  44 + end
40 end 45 end
41 46
42 if tests.empty? && features.empty? && changed_plugins.empty? 47 if tests.empty? && features.empty? && changed_plugins.empty?
lib/tasks/enable_plugins.rake
1 namespace :noosfero do 1 namespace :noosfero do
2 namespace :plugins do 2 namespace :plugins do
  3 + desc 'Enable all installed plugins on all environment'
3 task :enable_all => :environment do 4 task :enable_all => :environment do
4 Environment.all.each do |env| 5 Environment.all.each do |env|
5 puts "Plugins Activated on #{env.name}" if env.enable_all_plugins 6 puts "Plugins Activated on #{env.name}" if env.enable_all_plugins
lib/tasks/gettext.rake
@@ -60,6 +60,8 @@ task :updatepo do @@ -60,6 +60,8 @@ task :updatepo do
60 60
61 puts 'Extracting strings from source. This may take a while ...' 61 puts 'Extracting strings from source. This may take a while ...'
62 62
  63 + # XXX this list is duplicated in test/unit/i18n_test.rb; if you change it
  64 + # here, please also update it there.
63 files_to_translate = [ 65 files_to_translate = [
64 "{app,lib}/**/*.{rb,rhtml,erb}", 66 "{app,lib}/**/*.{rb,rhtml,erb}",
65 'config/initializers/*.rb', 67 'config/initializers/*.rb',
@@ -98,7 +100,7 @@ Dir.glob(&#39;plugins/*&#39;).each do |plugindir| @@ -98,7 +100,7 @@ Dir.glob(&#39;plugins/*&#39;).each do |plugindir|
98 } 100 }
99 ) 101 )
100 plugin_pot = File.join(po_root, "#{plugin}.pot") 102 plugin_pot = File.join(po_root, "#{plugin}.pot")
101 - if File.exists?(plugin_pot) && system("LANG=C msgfmt --statistics --output /dev/null #{plugin_pot} 2>&1 | grep -q '^0 translated messages.'") 103 + if File.exists?(plugin_pot) && system("LANG=C msgfmt --statistics --output /dev/null #{plugin_pot} 2>&1 | grep -q '^0 translated messages.$'")
102 rm_f plugin_pot 104 rm_f plugin_pot
103 end 105 end
104 sh 'find', po_root, '-type', 'd', '-empty', '-delete' 106 sh 'find', po_root, '-type', 'd', '-empty', '-delete'
@@ -106,8 +108,25 @@ Dir.glob(&#39;plugins/*&#39;).each do |plugindir| @@ -106,8 +108,25 @@ Dir.glob(&#39;plugins/*&#39;).each do |plugindir|
106 end 108 end
107 end 109 end
108 110
  111 +def checkpo(po_files)
  112 + max = po_files.map(&:size).max
  113 + po_files.each do |po|
  114 + printf "%#{max}s: ", po
  115 + system "msgfmt --statistics --output /dev/null " + po
  116 + end
  117 +end
  118 +
  119 +desc "checks core translation files"
109 task :checkpo do 120 task :checkpo do
110 - sh 'for po in po/*/noosfero.po; do echo -n "$po: "; msgfmt --statistics --output /dev/null $po; done' 121 + checkpo(Dir.glob('po/*/noosfero.po'))
  122 +end
  123 +
  124 +languages = Dir.glob('po/*').select { |d| File.directory?(d) }.map { |d| File.basename(d) }
  125 +languages.each do |lang|
  126 + desc "checks #{lang} translation files"
  127 + task "checkpo:#{lang}" do
  128 + checkpo(Dir.glob("po/#{lang}/*.po") + Dir.glob("plugins/*/po/#{lang}/*.po"))
  129 + end
111 end 130 end
112 131
113 # vim: ft=ruby 132 # vim: ft=ruby
lib/tasks/plugins_tests.rake
@@ -169,7 +169,7 @@ def test_sequence(plugins, tasks) @@ -169,7 +169,7 @@ def test_sequence(plugins, tasks)
169 failed[plugin] << task 169 failed[plugin] << task
170 end 170 end
171 end 171 end
172 - disable_plugins(plugin) 172 + disable_plugins
173 end 173 end
174 fail_flag = false 174 fail_flag = false
175 failed.each do |plugin, tasks| 175 failed.each do |plugin, tasks|
lib/tasks/release.rake
@@ -121,6 +121,10 @@ EOF @@ -121,6 +121,10 @@ EOF
121 desc "uploads the packages to the repository" 121 desc "uploads the packages to the repository"
122 task :upload_packages, :target do |t, args| 122 task :upload_packages, :target do |t, args|
123 target = args[:target] || 'stable' 123 target = args[:target] || 'stable'
  124 + source = Dir['pkg/noosfero-*.tar.gz'].first
  125 + sh "gpg --detach-sign #{source}"
  126 + sh "sha256sum #{source} > #{source}.sha256sum"
  127 + sh "scp #{source}* download.noosfero.org:repos/source/"
124 sh "dput --unchecked noosfero-#{target} #{Dir['pkg/*.changes'].first}" 128 sh "dput --unchecked noosfero-#{target} #{Dir['pkg/*.changes'].first}"
125 end 129 end
126 130
@@ -189,6 +193,14 @@ EOF @@ -189,6 +193,14 @@ EOF
189 abort if missing 193 abort if missing
190 end 194 end
191 195
  196 + task :tag do
  197 + sh "git tag -s -m 'Noosfero #{$version}' #{$version.gsub('~','-')}"
  198 + end
  199 +
  200 + task :pushtag do
  201 + sh "git push origin #{$version.gsub('~','-')}"
  202 + end
  203 +
192 desc 'prepares a release tarball' 204 desc 'prepares a release tarball'
193 task :release, :target do |t, args| 205 task :release, :target do |t, args|
194 target = args[:target] 206 target = args[:target]
@@ -220,15 +232,14 @@ EOF @@ -220,15 +232,14 @@ EOF
220 Rake::Task['noosfero:debian_packages'].invoke 232 Rake::Task['noosfero:debian_packages'].invoke
221 233
222 if confirm("Create tag for version #{$version}") 234 if confirm("Create tag for version #{$version}")
223 - sh "git tag #{$version.gsub('~','-')}"  
224 - 235 + Rake::Task['noosfero:tag'].invoke
225 if confirm('Push new version tag') 236 if confirm('Push new version tag')
226 - repository = ask('Repository name', 'origin')  
227 puts "==> Uploading tags..." 237 puts "==> Uploading tags..."
228 - sh "git push #{repository} #{$version.gsub('~','-')}" 238 + Rake::Task['noosfero:pushtag'].invoke
229 end 239 end
230 end 240 end
231 241
  242 + Rake::Task['noosfero:upload'].invoke
232 if confirm('Upload the packages') 243 if confirm('Upload the packages')
233 puts "==> Uploading debian packages..." 244 puts "==> Uploading debian packages..."
234 Rake::Task['noosfero:upload_packages'].invoke(target) 245 Rake::Task['noosfero:upload_packages'].invoke(target)
@@ -239,6 +250,9 @@ EOF @@ -239,6 +250,9 @@ EOF
239 rm_f "tmp/pending-release" 250 rm_f "tmp/pending-release"
240 end 251 end
241 252
  253 + desc "finishes the release"
  254 + task 'release:finish' => ['noosfero:upload_packages', 'noosfero:tag', 'noosfero:pushtag']
  255 +
242 desc 'Build Debian packages' 256 desc 'Build Debian packages'
243 task :debian_packages => :package do 257 task :debian_packages => :package do
244 target = "pkg/noosfero-#{$version}" 258 target = "pkg/noosfero-#{$version}"
plugins/analytics/po/pt/analytics.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.2~rc2-23-g29aba34\n"
  15 +"POT-Creation-Date: 2015-08-06 18:47-0300\n"
16 "PO-Revision-Date: 2015-07-21 09:23-0300\n" 16 "PO-Revision-Date: 2015-07-21 09:23-0300\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-solr/pt/>\n" 18 +"Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/"
  19 +"plugin-solr/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"
@@ -24,6 +24,5 @@ msgstr &quot;&quot; @@ -24,6 +24,5 @@ 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.3-dev\n" 25 "X-Generator: Weblate 2.3-dev\n"
26 26
27 -msgid "Select the set of communities and users to track"  
28 -msgstr "Seleciona o conjunto de comunidades e usuários para rastrear"  
29 - 27 +#~ msgid "Select the set of communities and users to track"
  28 +#~ msgstr "Seleciona o conjunto de comunidades e usuários para rastrear"
plugins/anti_spam/po/anti_spam.pot 0 → 100644
@@ -0,0 +1,36 @@ @@ -0,0 +1,36 @@
  1 +# SOME DESCRIPTIVE TITLE.
  2 +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
  3 +# This file is distributed under the same license as the PACKAGE package.
  4 +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
  5 +#
  6 +#, fuzzy
  7 +msgid ""
  8 +msgstr ""
  9 +"Project-Id-Version: 1.2~rc2-23-g29aba34\n"
  10 +"POT-Creation-Date: 2015-08-06 18:47-0300\n"
  11 +"PO-Revision-Date: 2015-08-06 17:21-0300\n"
  12 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  13 +"Language-Team: LANGUAGE <LL@li.org>\n"
  14 +"Language: \n"
  15 +"MIME-Version: 1.0\n"
  16 +"Content-Type: text/plain; charset=UTF-8\n"
  17 +"Content-Transfer-Encoding: 8bit\n"
  18 +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
  19 +
  20 +#: plugins/anti_spam/lib/anti_spam_plugin.rb:8
  21 +msgid ""
  22 +"Tests comments and suggested articles against a spam checking service "
  23 +"compatible with the Akismet API"
  24 +msgstr ""
  25 +
  26 +#: plugins/anti_spam/views/anti_spam_plugin_admin/index.html.erb:1
  27 +msgid "AntiSpam settings"
  28 +msgstr ""
  29 +
  30 +#: plugins/anti_spam/views/anti_spam_plugin_admin/index.html.erb:5
  31 +msgid "Host"
  32 +msgstr ""
  33 +
  34 +#: plugins/anti_spam/views/anti_spam_plugin_admin/index.html.erb:7
  35 +msgid "API key"
  36 +msgstr ""
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: 0.45.0-6097-g490300c\n"  
10 -"POT-Creation-Date: 2015-07-23 16:26-0300\n" 9 +"Project-Id-Version: 1.2~rc2-23-g29aba34\n"
  10 +"POT-Creation-Date: 2015-08-06 18:47-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: 0.45.0-6097-g490300c\n"  
15 -"POT-Creation-Date: 2015-07-23 16:26-0300\n" 14 +"Project-Id-Version: 1.2~rc2-23-g29aba34\n"
  15 +"POT-Creation-Date: 2015-08-06 18:47-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/breadcrumbs.pot
@@ -6,11 +6,12 @@ @@ -6,11 +6,12 @@
6 #, fuzzy 6 #, fuzzy
7 msgid "" 7 msgid ""
8 msgstr "" 8 msgstr ""
9 -"Project-Id-Version: 1.0\n"  
10 -"POT-Creation-Date: 2015-02-03 18:31-0300\n"  
11 -"PO-Revision-Date: 2015-02-03 18:31-0300\n" 9 +"Project-Id-Version: 1.2~rc2-23-g29aba34\n"
  10 +"POT-Creation-Date: 2015-08-06 18:47-0300\n"
  11 +"PO-Revision-Date: 2015-08-06 17:21-0300\n"
12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" 12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 "Language-Team: LANGUAGE <LL@li.org>\n" 13 "Language-Team: LANGUAGE <LL@li.org>\n"
  14 +"Language: \n"
14 "MIME-Version: 1.0\n" 15 "MIME-Version: 1.0\n"
15 "Content-Type: text/plain; charset=UTF-8\n" 16 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n" 17 "Content-Transfer-Encoding: 8bit\n"
@@ -20,15 +21,15 @@ msgstr &quot;&quot; @@ -20,15 +21,15 @@ msgstr &quot;&quot;
20 msgid "A plugin that add a block to display breadcrumbs." 21 msgid "A plugin that add a block to display breadcrumbs."
21 msgstr "" 22 msgstr ""
22 23
23 -#: plugins/breadcrumbs/lib/breadcrumbs_plugin/content_breadcrumbs_block.rb:9 24 +#: plugins/breadcrumbs/lib/breadcrumbs_plugin/content_breadcrumbs_block.rb:10
24 msgid "Content Breadcrumbs" 25 msgid "Content Breadcrumbs"
25 msgstr "" 26 msgstr ""
26 27
27 -#: plugins/breadcrumbs/lib/breadcrumbs_plugin/content_breadcrumbs_block.rb:13 28 +#: plugins/breadcrumbs/lib/breadcrumbs_plugin/content_breadcrumbs_block.rb:14
28 msgid "This block displays breadcrumb trail." 29 msgid "This block displays breadcrumb trail."
29 msgstr "" 30 msgstr ""
30 31
31 -#: plugins/breadcrumbs/lib/breadcrumbs_plugin/content_breadcrumbs_block.rb:56 32 +#: plugins/breadcrumbs/lib/breadcrumbs_plugin/content_breadcrumbs_block.rb:68
32 msgid "Upload Files" 33 msgid "Upload Files"
33 msgstr "" 34 msgstr ""
34 35
@@ -39,3 +40,7 @@ msgstr &quot;&quot; @@ -39,3 +40,7 @@ msgstr &quot;&quot;
39 #: plugins/breadcrumbs/views/box_organizer/breadcrumbs_plugin/_content_breadcrumbs_block.html.erb:3 40 #: plugins/breadcrumbs/views/box_organizer/breadcrumbs_plugin/_content_breadcrumbs_block.html.erb:3
40 msgid "Show profile" 41 msgid "Show profile"
41 msgstr "" 42 msgstr ""
  43 +
  44 +#: plugins/breadcrumbs/views/box_organizer/breadcrumbs_plugin/_content_breadcrumbs_block.html.erb:4
  45 +msgid "Show section name"
  46 +msgstr ""
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: 0.45.0-6097-g490300c\n"  
15 -"POT-Creation-Date: 2015-07-23 16:25-0300\n" 14 +"Project-Id-Version: 1.2~rc2-23-g29aba34\n"
  15 +"POT-Creation-Date: 2015-08-06 18:47-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/"
@@ -29,28 +29,14 @@ msgid &quot;A plugin that add a block to display breadcrumbs.&quot; @@ -29,28 +29,14 @@ msgid &quot;A plugin that add a block to display breadcrumbs.&quot;
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:10 31 #: plugins/breadcrumbs/lib/breadcrumbs_plugin/content_breadcrumbs_block.rb:10
32 -msgid ""  
33 -"<p>Display a breadcrumb of the current content navigation.</p><p>You could "  
34 -"choose if the breadcrumb is going to appear in the cms editing or not.</p> "  
35 -"<p>There is either the option of display the profile location in the "  
36 -"breadcrumb path.</p>"  
37 -msgstr ""  
38 -  
39 -#: plugins/breadcrumbs/lib/breadcrumbs_plugin/content_breadcrumbs_block.rb:14  
40 -#, fuzzy  
41 -msgid "Breadcrumb" 32 +msgid "Content Breadcrumbs"
42 msgstr "Conteúdo de Caminho de Pão" 33 msgstr "Conteúdo de Caminho de Pão"
43 34
44 -#: plugins/breadcrumbs/lib/breadcrumbs_plugin/content_breadcrumbs_block.rb:18  
45 -#, fuzzy  
46 -msgid "Breadcrumbs Block"  
47 -msgstr "Conteúdo de Caminho de Pão"  
48 -  
49 -#: plugins/breadcrumbs/lib/breadcrumbs_plugin/content_breadcrumbs_block.rb:22 35 +#: plugins/breadcrumbs/lib/breadcrumbs_plugin/content_breadcrumbs_block.rb:14
50 msgid "This block displays breadcrumb trail." 36 msgid "This block displays breadcrumb trail."
51 msgstr "Esse bloco mostra o rastro de caminho de pão." 37 msgstr "Esse bloco mostra o rastro de caminho de pão."
52 38
53 -#: plugins/breadcrumbs/lib/breadcrumbs_plugin/content_breadcrumbs_block.rb:76 39 +#: plugins/breadcrumbs/lib/breadcrumbs_plugin/content_breadcrumbs_block.rb:68
54 msgid "Upload Files" 40 msgid "Upload Files"
55 msgstr "Enviar Arquivos" 41 msgstr "Enviar Arquivos"
56 42
plugins/breadcrumbs/test/functional/profile_design_controller_test.rb
@@ -37,8 +37,8 @@ class ProfileDesignControllerTest &lt; ActionController::TestCase @@ -37,8 +37,8 @@ class ProfileDesignControllerTest &lt; ActionController::TestCase
37 post :save, :id => @block.id, :profile => @profile.identifier, :block => {:title => 'breadcrumbs', :show_cms_action => false, :show_profile => false} 37 post :save, :id => @block.id, :profile => @profile.identifier, :block => {:title => 'breadcrumbs', :show_cms_action => false, :show_profile => false}
38 @block.reload 38 @block.reload
39 assert_equal 'breadcrumbs', @block.title 39 assert_equal 'breadcrumbs', @block.title
40 - assert !@block.show_profile  
41 - assert !@block.show_cms_action 40 + refute @block.show_profile
  41 + refute @block.show_cms_action
42 end 42 end
43 43
44 should 'be able save breadcrumbs block with show_section_name option' do 44 should 'be able save breadcrumbs block with show_section_name option' do
plugins/breadcrumbs/test/unit/breadcrumbs_plugin_test.rb
@@ -7,11 +7,11 @@ class BreadcrumbsPluginTest &lt; ActiveSupport::TestCase @@ -7,11 +7,11 @@ class BreadcrumbsPluginTest &lt; ActiveSupport::TestCase
7 end 7 end
8 8
9 should 'has a name' do 9 should 'has a name' do
10 - assert !BreadcrumbsPlugin.plugin_name.blank? 10 + refute BreadcrumbsPlugin.plugin_name.blank?
11 end 11 end
12 12
13 should 'has a description' do 13 should 'has a description' do
14 - assert !BreadcrumbsPlugin.plugin_description.blank? 14 + refute BreadcrumbsPlugin.plugin_description.blank?
15 end 15 end
16 16
17 should 'add a block' do 17 should 'add a block' do
plugins/breadcrumbs/test/unit/content_breadcrumbs_block_test.rb
@@ -69,7 +69,7 @@ class ContentBreadcrumbsBlockTest &lt; ActiveSupport::TestCase @@ -69,7 +69,7 @@ class ContentBreadcrumbsBlockTest &lt; ActiveSupport::TestCase
69 end 69 end
70 70
71 should 'not be cacheable' do 71 should 'not be cacheable' do
72 - assert !@block.cacheable? 72 + refute @block.cacheable?
73 end 73 end
74 74
75 end 75 end
plugins/bsc/lib/bsc_plugin/ext/product.rb
@@ -12,4 +12,14 @@ class Product @@ -12,4 +12,14 @@ class Product
12 def display_supplier_on_search? 12 def display_supplier_on_search?
13 false 13 false
14 end 14 end
  15 +
  16 + def action_tracker_user
  17 + return self.enterprise if self.enterprise.validated
  18 +
  19 + if self.enterprise.bsc
  20 + self.enterprise.bsc
  21 + else
  22 + self.enterprise
  23 + end
  24 + end
15 end 25 end
plugins/bsc/po/bsc.pot 0 → 100644
@@ -0,0 +1,351 @@ @@ -0,0 +1,351 @@
  1 +# SOME DESCRIPTIVE TITLE.
  2 +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
  3 +# This file is distributed under the same license as the PACKAGE package.
  4 +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
  5 +#
  6 +#, fuzzy
  7 +msgid ""
  8 +msgstr ""
  9 +"Project-Id-Version: 1.2~rc2-23-g29aba34\n"
  10 +"POT-Creation-Date: 2015-08-06 18:47-0300\n"
  11 +"PO-Revision-Date: 2015-08-06 17:21-0300\n"
  12 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  13 +"Language-Team: LANGUAGE <LL@li.org>\n"
  14 +"Language: \n"
  15 +"MIME-Version: 1.0\n"
  16 +"Content-Type: text/plain; charset=UTF-8\n"
  17 +"Content-Transfer-Encoding: 8bit\n"
  18 +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
  19 +
  20 +#: plugins/bsc/lib/bsc_plugin.rb:10
  21 +msgid "Adds the Bsc feature"
  22 +msgstr ""
  23 +
  24 +#: plugins/bsc/lib/bsc_plugin.rb:14
  25 +msgid "Create Bsc"
  26 +msgstr ""
  27 +
  28 +#: plugins/bsc/lib/bsc_plugin.rb:15
  29 +msgid "Validate Enterprises"
  30 +msgstr ""
  31 +
  32 +#: plugins/bsc/lib/bsc_plugin.rb:20
  33 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:1
  34 +msgid "Manage associated enterprises"
  35 +msgstr ""
  36 +
  37 +#: plugins/bsc/lib/bsc_plugin.rb:21 plugins/bsc/lib/bsc_plugin.rb:27
  38 +msgid "Transfer ownership"
  39 +msgstr ""
  40 +
  41 +#: plugins/bsc/lib/bsc_plugin.rb:22
  42 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_contracts.html.erb:1
  43 +msgid "Manage contracts"
  44 +msgstr ""
  45 +
  46 +#: plugins/bsc/lib/bsc_plugin.rb:98
  47 +msgid "Bsc"
  48 +msgstr ""
  49 +
  50 +#: plugins/bsc/lib/bsc_plugin.rb:109
  51 +#: plugins/bsc/views/shared/_fields.html.erb:53
  52 +msgid "Contact"
  53 +msgstr ""
  54 +
  55 +#: plugins/bsc/lib/bsc_plugin/bsc.rb:28
  56 +msgid "Bsc info and settings"
  57 +msgstr ""
  58 +
  59 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:10
  60 +msgid "BSC association"
  61 +msgstr ""
  62 +
  63 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:18
  64 +msgid "%{requestor} wants to associate this enterprise with %{linked_subject}."
  65 +msgstr ""
  66 +
  67 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:35
  68 +msgid "%{enterprise} accepted your request to associate it with %{bsc}."
  69 +msgstr ""
  70 +
  71 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:39
  72 +msgid "%{enterprise} rejected your request to associate it with %{bsc}."
  73 +msgstr ""
  74 +
  75 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:41
  76 +msgid ""
  77 +"Here is the reject explanation left by the administrator:\n"
  78 +"\n"
  79 +"%{reject_explanation}"
  80 +msgstr ""
  81 +
  82 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:46
  83 +msgid "%{requestor} wants assoaciate %{bsc} as your BSC."
  84 +msgstr ""
  85 +
  86 +#: plugins/bsc/lib/bsc_plugin/mailer.rb:7
  87 +msgid "[%s] Bsc management transferred to you."
  88 +msgstr ""
  89 +
  90 +#: plugins/bsc/lib/bsc_plugin/contract.rb:33
  91 +msgid "Opened"
  92 +msgstr ""
  93 +
  94 +#: plugins/bsc/lib/bsc_plugin/contract.rb:33
  95 +msgid "Negotiating"
  96 +msgstr ""
  97 +
  98 +#: plugins/bsc/lib/bsc_plugin/contract.rb:33
  99 +msgid "Executing"
  100 +msgstr ""
  101 +
  102 +#: plugins/bsc/lib/bsc_plugin/contract.rb:33
  103 +msgid "Closed"
  104 +msgstr ""
  105 +
  106 +#: plugins/bsc/lib/bsc_plugin/contract.rb:46
  107 +msgid "Federal"
  108 +msgstr ""
  109 +
  110 +#: plugins/bsc/lib/bsc_plugin/contract.rb:59
  111 +msgid "ProjectA"
  112 +msgstr ""
  113 +
  114 +#: plugins/bsc/lib/bsc_plugin/contract.rb:59
  115 +msgid "ProjectB"
  116 +msgstr ""
  117 +
  118 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:38
  119 +msgid "This Bsc associations were saved successfully."
  120 +msgstr ""
  121 +
  122 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:42
  123 +msgid "This Bsc associations couldn't be saved."
  124 +msgstr ""
  125 +
  126 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:71
  127 +msgid "Enterprise ownership transferred."
  128 +msgstr ""
  129 +
  130 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:85
  131 +msgid "Enterprise was created in association with %s."
  132 +msgstr ""
  133 +
  134 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:117
  135 +msgid "Contract created."
  136 +msgstr ""
  137 +
  138 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:120
  139 +msgid "Contract created but some products could not be added."
  140 +msgstr ""
  141 +
  142 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:131
  143 +msgid "Contract doesn't exists! Maybe it was already removed."
  144 +msgstr ""
  145 +
  146 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:140
  147 +msgid "Could not edit such contract."
  148 +msgstr ""
  149 +
  150 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:170
  151 +msgid "Contract edited."
  152 +msgstr ""
  153 +
  154 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:173
  155 +msgid "Contract edited but some products could not be added."
  156 +msgstr ""
  157 +
  158 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:183
  159 +msgid "Contract removed."
  160 +msgstr ""
  161 +
  162 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:185
  163 +msgid "Contract could not be removed. Sorry! ^^"
  164 +msgstr ""
  165 +
  166 +#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:11
  167 +msgid "Your Bsc was created."
  168 +msgstr ""
  169 +
  170 +#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:21
  171 +msgid "Enterprises validated."
  172 +msgstr ""
  173 +
  174 +#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:24
  175 +msgid "Enterprise validations couldn't be saved."
  176 +msgstr ""
  177 +
  178 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:4
  179 +msgid "Associations awaiting approval:"
  180 +msgstr ""
  181 +
  182 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:16
  183 +#: plugins/bsc/views/bsc_plugin_admin/validate_enterprises.html.erb:5
  184 +msgid "Type in a search term for enterprise"
  185 +msgstr ""
  186 +
  187 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:19
  188 +msgid "Add new enterprise"
  189 +msgstr ""
  190 +
  191 +#: plugins/bsc/views/bsc_plugin_myprofile/new_contract.html.erb:1
  192 +#: plugins/bsc/views/bsc_plugin_myprofile/edit_contract.html.erb:1
  193 +msgid "New contract"
  194 +msgstr ""
  195 +
  196 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:6
  197 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:7
  198 +msgid "Client type"
  199 +msgstr ""
  200 +
  201 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:7
  202 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:8
  203 +msgid "Business type"
  204 +msgstr ""
  205 +
  206 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:10
  207 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:11
  208 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_contracts.html.erb:5
  209 +msgid "Status"
  210 +msgstr ""
  211 +
  212 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:18
  213 +msgid "Type in search term for enterprise"
  214 +msgstr ""
  215 +
  216 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:23
  217 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:27
  218 +msgid "Quantity"
  219 +msgstr ""
  220 +
  221 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:24
  222 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:28
  223 +msgid "Unit price"
  224 +msgstr ""
  225 +
  226 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:27
  227 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:38
  228 +msgid "Total"
  229 +msgstr ""
  230 +
  231 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:31
  232 +msgid "Add new product"
  233 +msgstr ""
  234 +
  235 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:35
  236 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:13
  237 +msgid "Supply period"
  238 +msgstr ""
  239 +
  240 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:57
  241 +msgid "Type in a search term for product"
  242 +msgstr ""
  243 +
  244 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:5
  245 +#: plugins/bsc/views/shared/_fields.html.erb:5
  246 +msgid "Basic information"
  247 +msgstr ""
  248 +
  249 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:12
  250 +msgid "Number of producers"
  251 +msgstr ""
  252 +
  253 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:48
  254 +msgid "Annotations"
  255 +msgstr ""
  256 +
  257 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_contracts.html.erb:17
  258 +msgid "Sort by"
  259 +msgstr ""
  260 +
  261 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_contracts.html.erb:18
  262 +msgid "Date(newest first)"
  263 +msgstr ""
  264 +
  265 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_contracts.html.erb:18
  266 +msgid "Date(oldest first)"
  267 +msgstr ""
  268 +
  269 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_contracts.html.erb:19
  270 +msgid "Client name(A-Z)"
  271 +msgstr ""
  272 +
  273 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_contracts.html.erb:19
  274 +msgid "Client name(Z-A)"
  275 +msgstr ""
  276 +
  277 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_contracts.html.erb:24
  278 +msgid "There are no contracts at all."
  279 +msgstr ""
  280 +
  281 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_contracts.html.erb:35
  282 +msgid "Are you sure?"
  283 +msgstr ""
  284 +
  285 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_contracts.html.erb:45
  286 +msgid "Create new contract"
  287 +msgstr ""
  288 +
  289 +#: plugins/bsc/views/bsc_plugin_myprofile/_similar_enterprises.html.erb:2
  290 +msgid "Existing enterprises:"
  291 +msgstr ""
  292 +
  293 +#: plugins/bsc/views/bsc_plugin_myprofile/_similar_enterprises.html.erb:3
  294 +msgid ""
  295 +"Were found %{count} enterprises with similar names on the same city, you can "
  296 +"decide to associate one of them or create the new enterprise confirming the "
  297 +"informations you typed in."
  298 +msgstr ""
  299 +
  300 +#: plugins/bsc/views/bsc_plugin_myprofile/_similar_enterprises.html.erb:20
  301 +msgid "Associate"
  302 +msgstr ""
  303 +
  304 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:1
  305 +msgid "Transfer Ownership"
  306 +msgstr ""
  307 +
  308 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:4
  309 +msgid ""
  310 +"This option allows you to transfer this enterprise's management to another "
  311 +"user. This action will remove all the current administrators. Be careful "
  312 +"when confirming this procedure."
  313 +msgstr ""
  314 +
  315 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:8
  316 +msgid "Current administrators:"
  317 +msgstr ""
  318 +
  319 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:19
  320 +msgid "Administrator:"
  321 +msgstr ""
  322 +
  323 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:22
  324 +msgid "Type in a search term for the new administrator"
  325 +msgstr ""
  326 +
  327 +#: plugins/bsc/views/shared/_fields.html.erb:39
  328 +msgid ""
  329 +"You are about to change the address, and this will break external links to "
  330 +"this bsc or to posts inside it. Do you really want to change?"
  331 +msgstr ""
  332 +
  333 +#: plugins/bsc/views/bsc_plugin/mailer/admin_notification.html.erb:1
  334 +msgid "The management of %{bsc} was transferred to you."
  335 +msgstr ""
  336 +
  337 +#: plugins/bsc/views/profile/_profile_tab.html.erb:2
  338 +msgid "Contact phone: "
  339 +msgstr ""
  340 +
  341 +#: plugins/bsc/views/profile/_profile_tab.html.erb:3
  342 +msgid "Email: "
  343 +msgstr ""
  344 +
  345 +#: plugins/bsc/views/bsc_plugin_admin/new.html.erb:2
  346 +msgid "BSC registration"
  347 +msgstr ""
  348 +
  349 +#: plugins/bsc/views/bsc_plugin_admin/validate_enterprises.html.erb:1
  350 +msgid "Validate enterprises"
  351 +msgstr ""
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: 0.45.0-6097-g490300c\n"  
10 -"POT-Creation-Date: 2015-07-23 16:26-0300\n" 9 +"Project-Id-Version: 1.2~rc2-23-g29aba34\n"
  10 +"POT-Creation-Date: 2015-08-06 18:47-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,69 +19,6 @@ msgstr &quot;&quot; @@ -19,69 +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/bsc/controllers/bsc_plugin_admin_controller.rb:11  
23 -msgid "Your Bsc was created."  
24 -msgstr "Ihr Bsc wurde erstellt."  
25 -  
26 -#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:21  
27 -msgid "Enterprises validated."  
28 -msgstr "Unternehmen validiert."  
29 -  
30 -#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:24  
31 -msgid "Enterprise validations couldn't be saved."  
32 -msgstr "Die Unternehmensvalidierungen konnten nicht gespeichert werden."  
33 -  
34 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:38  
35 -msgid "This Bsc associations were saved successfully."  
36 -msgstr "Diese Bsc-Verknüpfungen wurden erfolgreich gespeichert."  
37 -  
38 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:42  
39 -msgid "This Bsc associations couldn't be saved."  
40 -msgstr "Diese Bsc-Verknüpfung konnte nicht gespeichert werden."  
41 -  
42 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:71  
43 -msgid "Enterprise ownership transferred."  
44 -msgstr "Eigentümerschaft des Unternehmens übertragen."  
45 -  
46 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:85  
47 -msgid "Enterprise was created in association with %s."  
48 -msgstr "Das Unternehmen wurde in Zusammenhang mit %s angelegt."  
49 -  
50 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:117  
51 -msgid "Contract created."  
52 -msgstr "Vertrag erstellt."  
53 -  
54 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:120  
55 -msgid "Contract created but some products could not be added."  
56 -msgstr ""  
57 -"Der Vertrag wurde erstellt, aber einige Produkte konnten nicht hinzugefügt "  
58 -"werden."  
59 -  
60 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:131  
61 -msgid "Contract doesn't exists! Maybe it was already removed."  
62 -msgstr "Der Vertrag existiert nicht! Vielleicht wurde er bereits entfernt."  
63 -  
64 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:140  
65 -msgid "Could not edit such contract."  
66 -msgstr "Kann den Vertrag nicht verändern."  
67 -  
68 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:170  
69 -msgid "Contract edited."  
70 -msgstr "Vertrag geändert."  
71 -  
72 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:173  
73 -msgid "Contract edited but some products could not be added."  
74 -msgstr ""  
75 -"Vertrag geändert, aber einige Produkte konnten nicht hinzugefügt werden."  
76 -  
77 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:183  
78 -msgid "Contract removed."  
79 -msgstr "Vertrag entfernt."  
80 -  
81 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:185  
82 -msgid "Contract could not be removed. Sorry! ^^"  
83 -msgstr "Vertrag konnte nicht entfernt werden. Entschuldigung! ^^"  
84 -  
85 #: plugins/bsc/lib/bsc_plugin.rb:10 22 #: plugins/bsc/lib/bsc_plugin.rb:10
86 msgid "Adds the Bsc feature" 23 msgid "Adds the Bsc feature"
87 msgstr "Fügt Unterstützung für Bsc hinzu" 24 msgstr "Fügt Unterstützung für Bsc hinzu"
@@ -117,6 +54,46 @@ msgstr &quot;Bsc&quot; @@ -117,6 +54,46 @@ msgstr &quot;Bsc&quot;
117 msgid "Contact" 54 msgid "Contact"
118 msgstr "Kontakt" 55 msgstr "Kontakt"
119 56
  57 +#: plugins/bsc/lib/bsc_plugin/bsc.rb:28
  58 +msgid "Bsc info and settings"
  59 +msgstr "Bsc-Informationen und -Einstellungen"
  60 +
  61 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:10
  62 +msgid "BSC association"
  63 +msgstr "BSC-Zusammenschluss"
  64 +
  65 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:18
  66 +msgid "%{requestor} wants to associate this enterprise with %{linked_subject}."
  67 +msgstr ""
  68 +"%{requestor} möchte das Unternehmen %{linked_subject} mit %{linked_subject} "
  69 +"verknüpfen."
  70 +
  71 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:35
  72 +msgid "%{enterprise} accepted your request to associate it with %{bsc}."
  73 +msgstr "%{enterprise} hat Ihre Anfrage zur Verbindung mit %{bsc} akzeptiert."
  74 +
  75 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:39
  76 +msgid "%{enterprise} rejected your request to associate it with %{bsc}."
  77 +msgstr "%{enterprise} hat Ihre Anfrage zur Verbindung mit %{bsc} abgelehnt."
  78 +
  79 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:41
  80 +msgid ""
  81 +"Here is the reject explanation left by the administrator:\n"
  82 +"\n"
  83 +"%{reject_explanation}"
  84 +msgstr ""
  85 +"Hier ist der vom Administrator angegebene Grund der Ablehnung:\n"
  86 +"\n"
  87 +"%{reject_explanation}"
  88 +
  89 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:46
  90 +msgid "%{requestor} wants assoaciate %{bsc} as your BSC."
  91 +msgstr "%{requestor} möchte %{bsc} als Ihr BSC verknüpfen."
  92 +
  93 +#: plugins/bsc/lib/bsc_plugin/mailer.rb:7
  94 +msgid "[%s] Bsc management transferred to you."
  95 +msgstr "[%s] Die Verwaltung von Bsc wurde Ihnen übertragen."
  96 +
120 #: plugins/bsc/lib/bsc_plugin/contract.rb:33 97 #: plugins/bsc/lib/bsc_plugin/contract.rb:33
121 msgid "Opened" 98 msgid "Opened"
122 msgstr "Geöffnet" 99 msgstr "Geöffnet"
@@ -145,118 +122,144 @@ msgstr &quot;ProjektA&quot; @@ -145,118 +122,144 @@ msgstr &quot;ProjektA&quot;
145 msgid "ProjectB" 122 msgid "ProjectB"
146 msgstr "ProjektB" 123 msgstr "ProjektB"
147 124
148 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:10  
149 -msgid "BSC association"  
150 -msgstr "BSC-Zusammenschluss" 125 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:38
  126 +msgid "This Bsc associations were saved successfully."
  127 +msgstr "Diese Bsc-Verknüpfungen wurden erfolgreich gespeichert."
151 128
152 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:18  
153 -msgid "%{requestor} wants to associate this enterprise with %{linked_subject}." 129 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:42
  130 +msgid "This Bsc associations couldn't be saved."
  131 +msgstr "Diese Bsc-Verknüpfung konnte nicht gespeichert werden."
  132 +
  133 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:71
  134 +msgid "Enterprise ownership transferred."
  135 +msgstr "Eigentümerschaft des Unternehmens übertragen."
  136 +
  137 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:85
  138 +msgid "Enterprise was created in association with %s."
  139 +msgstr "Das Unternehmen wurde in Zusammenhang mit %s angelegt."
  140 +
  141 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:117
  142 +msgid "Contract created."
  143 +msgstr "Vertrag erstellt."
  144 +
  145 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:120
  146 +msgid "Contract created but some products could not be added."
154 msgstr "" 147 msgstr ""
155 -"%{requestor} möchte das Unternehmen %{linked_subject} mit %{linked_subject} "  
156 -"verknüpfen." 148 +"Der Vertrag wurde erstellt, aber einige Produkte konnten nicht hinzugefügt "
  149 +"werden."
157 150
158 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:31  
159 -msgid "%{enterprise} accepted your request to associate it with %{bsc}."  
160 -msgstr "%{enterprise} hat Ihre Anfrage zur Verbindung mit %{bsc} akzeptiert." 151 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:131
  152 +msgid "Contract doesn't exists! Maybe it was already removed."
  153 +msgstr "Der Vertrag existiert nicht! Vielleicht wurde er bereits entfernt."
161 154
162 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:35  
163 -msgid "%{enterprise} rejected your request to associate it with %{bsc}."  
164 -msgstr "%{enterprise} hat Ihre Anfrage zur Verbindung mit %{bsc} abgelehnt." 155 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:140
  156 +msgid "Could not edit such contract."
  157 +msgstr "Kann den Vertrag nicht verändern."
165 158
166 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:37  
167 -msgid ""  
168 -"Here is the reject explanation left by the administrator:\n"  
169 -"\n"  
170 -"%{reject_explanation}" 159 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:170
  160 +msgid "Contract edited."
  161 +msgstr "Vertrag geändert."
  162 +
  163 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:173
  164 +msgid "Contract edited but some products could not be added."
171 msgstr "" 165 msgstr ""
172 -"Hier ist der vom Administrator angegebene Grund der Ablehnung:\n"  
173 -"\n"  
174 -"%{reject_explanation}" 166 +"Vertrag geändert, aber einige Produkte konnten nicht hinzugefügt werden."
175 167
176 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:42  
177 -msgid "%{requestor} wants assoaciate %{bsc} as your BSC."  
178 -msgstr "%{requestor} möchte %{bsc} als Ihr BSC verknüpfen." 168 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:183
  169 +msgid "Contract removed."
  170 +msgstr "Vertrag entfernt."
179 171
180 -#: plugins/bsc/lib/bsc_plugin/bsc.rb:28  
181 -msgid "Bsc info and settings"  
182 -msgstr "Bsc-Informationen und -Einstellungen" 172 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:185
  173 +msgid "Contract could not be removed. Sorry! ^^"
  174 +msgstr "Vertrag konnte nicht entfernt werden. Entschuldigung! ^^"
183 175
184 -#: plugins/bsc/lib/bsc_plugin/mailer.rb:7  
185 -msgid "[%s] Bsc management transferred to you."  
186 -msgstr "[%s] Die Verwaltung von Bsc wurde Ihnen übertragen." 176 +#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:11
  177 +msgid "Your Bsc was created."
  178 +msgstr "Ihr Bsc wurde erstellt."
187 179
188 -#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:1  
189 -msgid "Transfer Ownership"  
190 -msgstr "Eigentümerschaft übertragen" 180 +#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:21
  181 +msgid "Enterprises validated."
  182 +msgstr "Unternehmen validiert."
191 183
192 -#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:4  
193 -msgid ""  
194 -"This option allows you to transfer this enterprise's management to another "  
195 -"user. This action will remove all the current administrators. Be careful "  
196 -"when confirming this procedure."  
197 -msgstr ""  
198 -"Diese Option erlaubt Ihnen, die Verwaltung dieses Unternehmens an einen "  
199 -"anderen Benutzer zu übertragen. Diese Aktion wird alle derzeitigen "  
200 -"Administratoren entfernen. Seien Sie vorsichtig, bevor Sie diese Prozedur "  
201 -"ausführen." 184 +#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:24
  185 +msgid "Enterprise validations couldn't be saved."
  186 +msgstr "Die Unternehmensvalidierungen konnten nicht gespeichert werden."
202 187
203 -#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:8  
204 -msgid "Current administrators:"  
205 -msgstr "Aktuelle Administratoren:" 188 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:4
  189 +msgid "Associations awaiting approval:"
  190 +msgstr "Assoziierungen, welche noch bestätigt werden müssen:"
206 191
207 -#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:19  
208 -msgid "Administrator:"  
209 -msgstr "Administrator:" 192 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:16
  193 +#: plugins/bsc/views/bsc_plugin_admin/validate_enterprises.html.erb:5
  194 +msgid "Type in a search term for enterprise"
  195 +msgstr "Geben Sie einen Suchbegriff für Unternehmen ein"
210 196
211 -#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:22  
212 -msgid "Type in a search term for the new administrator"  
213 -msgstr "Geben Sie einen Suchbegriff für den neuen Administrator ein" 197 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:19
  198 +msgid "Add new enterprise"
  199 +msgstr "Neues Unternehmen hinzufügen"
214 200
215 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:5  
216 -#: plugins/bsc/views/shared/_fields.html.erb:5  
217 -msgid "Basic information"  
218 -msgstr "Basisinformationen" 201 +#: plugins/bsc/views/bsc_plugin_myprofile/new_contract.html.erb:1
  202 +#: plugins/bsc/views/bsc_plugin_myprofile/edit_contract.html.erb:1
  203 +msgid "New contract"
  204 +msgstr "Neuer Vertrag"
219 205
220 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:7  
221 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:6 206 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:6
  207 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:7
222 msgid "Client type" 208 msgid "Client type"
223 msgstr "Typ des Kunden" 209 msgstr "Typ des Kunden"
224 210
225 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:8  
226 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:7 211 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:7
  212 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:8
227 msgid "Business type" 213 msgid "Business type"
228 msgstr "Typ des Geschäfts" 214 msgstr "Typ des Geschäfts"
229 215
  216 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:10
230 #: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:11 217 #: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:11
231 #: plugins/bsc/views/bsc_plugin_myprofile/manage_contracts.html.erb:5 218 #: plugins/bsc/views/bsc_plugin_myprofile/manage_contracts.html.erb:5
232 -#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:10  
233 msgid "Status" 219 msgid "Status"
234 msgstr "Status" 220 msgstr "Status"
235 221
236 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:12  
237 -msgid "Number of producers"  
238 -msgstr "Anzahl der Produzenten"  
239 -  
240 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:13  
241 -#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:35  
242 -msgid "Supply period"  
243 -msgstr "Zulieferungszeitabschnitt" 222 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:18
  223 +msgid "Type in search term for enterprise"
  224 +msgstr "Geben Sie den Suchbegriff für das Unternehmen ein"
244 225
245 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:27  
246 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:23 226 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:23
  227 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:27
247 msgid "Quantity" 228 msgid "Quantity"
248 msgstr "Anzahl" 229 msgstr "Anzahl"
249 230
250 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:28  
251 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:24 231 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:24
  232 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:28
252 msgid "Unit price" 233 msgid "Unit price"
253 msgstr "Stückpreis" 234 msgstr "Stückpreis"
254 235
255 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:38  
256 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:27 236 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:27
  237 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:38
257 msgid "Total" 238 msgid "Total"
258 msgstr "Gesamt" 239 msgstr "Gesamt"
259 240
  241 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:31
  242 +msgid "Add new product"
  243 +msgstr "Neues Produkt hinzufügen"
  244 +
  245 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:35
  246 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:13
  247 +msgid "Supply period"
  248 +msgstr "Zulieferungszeitabschnitt"
  249 +
  250 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:57
  251 +msgid "Type in a search term for product"
  252 +msgstr "Geben Sie einen Suchbegriff für das Produkt ein"
  253 +
  254 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:5
  255 +#: plugins/bsc/views/shared/_fields.html.erb:5
  256 +msgid "Basic information"
  257 +msgstr "Basisinformationen"
  258 +
  259 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:12
  260 +msgid "Number of producers"
  261 +msgstr "Anzahl der Produzenten"
  262 +
260 #: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:48 263 #: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:48
261 msgid "Annotations" 264 msgid "Annotations"
262 msgstr "Anmerkungen" 265 msgstr "Anmerkungen"
@@ -311,43 +314,32 @@ msgstr &quot;&quot; @@ -311,43 +314,32 @@ msgstr &quot;&quot;
311 msgid "Associate" 314 msgid "Associate"
312 msgstr "Verknüpfen" 315 msgstr "Verknüpfen"
313 316
314 -#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:4  
315 -msgid "Associations awaiting approval:"  
316 -msgstr "Assoziierungen, welche noch bestätigt werden müssen:"  
317 -  
318 -#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:16  
319 -#: plugins/bsc/views/bsc_plugin_admin/validate_enterprises.html.erb:5  
320 -msgid "Type in a search term for enterprise"  
321 -msgstr "Geben Sie einen Suchbegriff für Unternehmen ein"  
322 -  
323 -#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:19  
324 -msgid "Add new enterprise"  
325 -msgstr "Neues Unternehmen hinzufügen"  
326 -  
327 -#: plugins/bsc/views/bsc_plugin_myprofile/new_contract.html.erb:1  
328 -#: plugins/bsc/views/bsc_plugin_myprofile/edit_contract.html.erb:1  
329 -msgid "New contract"  
330 -msgstr "Neuer Vertrag"  
331 -  
332 -#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:18  
333 -msgid "Type in search term for enterprise"  
334 -msgstr "Geben Sie den Suchbegriff für das Unternehmen ein" 317 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:1
  318 +msgid "Transfer Ownership"
  319 +msgstr "Eigentümerschaft übertragen"
335 320
336 -#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:31  
337 -msgid "Add new product"  
338 -msgstr "Neues Produkt hinzufügen" 321 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:4
  322 +msgid ""
  323 +"This option allows you to transfer this enterprise's management to another "
  324 +"user. This action will remove all the current administrators. Be careful "
  325 +"when confirming this procedure."
  326 +msgstr ""
  327 +"Diese Option erlaubt Ihnen, die Verwaltung dieses Unternehmens an einen "
  328 +"anderen Benutzer zu übertragen. Diese Aktion wird alle derzeitigen "
  329 +"Administratoren entfernen. Seien Sie vorsichtig, bevor Sie diese Prozedur "
  330 +"ausführen."
339 331
340 -#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:57  
341 -msgid "Type in a search term for product"  
342 -msgstr "Geben Sie einen Suchbegriff für das Produkt ein" 332 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:8
  333 +msgid "Current administrators:"
  334 +msgstr "Aktuelle Administratoren:"
343 335
344 -#: plugins/bsc/views/bsc_plugin_admin/new.html.erb:2  
345 -msgid "BSC registration"  
346 -msgstr "BSC-Registrierung" 336 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:19
  337 +msgid "Administrator:"
  338 +msgstr "Administrator:"
347 339
348 -#: plugins/bsc/views/bsc_plugin_admin/validate_enterprises.html.erb:1  
349 -msgid "Validate enterprises"  
350 -msgstr "Unternehmen validieren" 340 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:22
  341 +msgid "Type in a search term for the new administrator"
  342 +msgstr "Geben Sie einen Suchbegriff für den neuen Administrator ein"
351 343
352 #: plugins/bsc/views/shared/_fields.html.erb:39 344 #: plugins/bsc/views/shared/_fields.html.erb:39
353 msgid "" 345 msgid ""
@@ -357,6 +349,10 @@ msgstr &quot;&quot; @@ -357,6 +349,10 @@ msgstr &quot;&quot;
357 "Sie sind dabei die Adresse zu ändern. Das unterbricht externe Verweise zum " 349 "Sie sind dabei die Adresse zu ändern. Das unterbricht externe Verweise zum "
358 "Bsc und zu deren Inhalten. Wollen Sie wirklich die Adresse ändern?" 350 "Bsc und zu deren Inhalten. Wollen Sie wirklich die Adresse ändern?"
359 351
  352 +#: plugins/bsc/views/bsc_plugin/mailer/admin_notification.html.erb:1
  353 +msgid "The management of %{bsc} was transferred to you."
  354 +msgstr "Die Verwaltung des %{bsc} wurde zu Ihnen transferiert."
  355 +
360 #: plugins/bsc/views/profile/_profile_tab.html.erb:2 356 #: plugins/bsc/views/profile/_profile_tab.html.erb:2
361 msgid "Contact phone: " 357 msgid "Contact phone: "
362 msgstr "Kontakttelefonnummer: " 358 msgstr "Kontakttelefonnummer: "
@@ -365,6 +361,10 @@ msgstr &quot;Kontakttelefonnummer: &quot; @@ -365,6 +361,10 @@ msgstr &quot;Kontakttelefonnummer: &quot;
365 msgid "Email: " 361 msgid "Email: "
366 msgstr "E-Mail: " 362 msgstr "E-Mail: "
367 363
368 -#: plugins/bsc/views/bsc_plugin/mailer/admin_notification.html.erb:1  
369 -msgid "The management of %{bsc} was transferred to you."  
370 -msgstr "Die Verwaltung des %{bsc} wurde zu Ihnen transferiert." 364 +#: plugins/bsc/views/bsc_plugin_admin/new.html.erb:2
  365 +msgid "BSC registration"
  366 +msgstr "BSC-Registrierung"
  367 +
  368 +#: plugins/bsc/views/bsc_plugin_admin/validate_enterprises.html.erb:1
  369 +msgid "Validate enterprises"
  370 +msgstr "Unternehmen validieren"
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: 0.45.0-6097-g490300c\n"  
9 -"POT-Creation-Date: 2015-07-23 16:26-0300\n" 8 +"Project-Id-Version: 1.2~rc2-23-g29aba34\n"
  9 +"POT-Creation-Date: 2015-08-06 18:47-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,66 +18,6 @@ msgstr &quot;&quot; @@ -18,66 +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/bsc/controllers/bsc_plugin_admin_controller.rb:11  
22 -msgid "Your Bsc was created."  
23 -msgstr "Tu Bsc fue creado."  
24 -  
25 -#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:21  
26 -msgid "Enterprises validated."  
27 -msgstr "Empresas validadas."  
28 -  
29 -#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:24  
30 -msgid "Enterprise validations couldn't be saved."  
31 -msgstr "Las validaciones de la empresa no pudieron guardarse."  
32 -  
33 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:38  
34 -msgid "This Bsc associations were saved successfully."  
35 -msgstr "Estas asociaciones Bsc fueron guardadas correctamente."  
36 -  
37 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:42  
38 -msgid "This Bsc associations couldn't be saved."  
39 -msgstr "Estas asociaciones Bsc no pudieron ser guardadas."  
40 -  
41 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:71  
42 -msgid "Enterprise ownership transferred."  
43 -msgstr "Propiedad de la empresa transferida."  
44 -  
45 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:85  
46 -msgid "Enterprise was created in association with %s."  
47 -msgstr "La empresa fue creada en asociación con %s."  
48 -  
49 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:117  
50 -msgid "Contract created."  
51 -msgstr "Contrato creado."  
52 -  
53 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:120  
54 -msgid "Contract created but some products could not be added."  
55 -msgstr "Contrato creado pero algunos productos no pudieron agregarse."  
56 -  
57 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:131  
58 -msgid "Contract doesn't exists! Maybe it was already removed."  
59 -msgstr "¡El contrato no existe! Quizás ya fue eliminado."  
60 -  
61 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:140  
62 -msgid "Could not edit such contract."  
63 -msgstr "No se puede editar tal contrato."  
64 -  
65 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:170  
66 -msgid "Contract edited."  
67 -msgstr "contrato editado."  
68 -  
69 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:173  
70 -msgid "Contract edited but some products could not be added."  
71 -msgstr "Contrato editado pero algunos productos no pueden ser agregados."  
72 -  
73 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:183  
74 -msgid "Contract removed."  
75 -msgstr "Contrato eliminado."  
76 -  
77 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:185  
78 -msgid "Contract could not be removed. Sorry! ^^"  
79 -msgstr "El contrato no puede ser eliminado. ¡Perdón! ^^"  
80 -  
81 #: plugins/bsc/lib/bsc_plugin.rb:10 21 #: plugins/bsc/lib/bsc_plugin.rb:10
82 msgid "Adds the Bsc feature" 22 msgid "Adds the Bsc feature"
83 msgstr "Añade la característica Bsc" 23 msgstr "Añade la característica Bsc"
@@ -113,6 +53,44 @@ msgstr &quot;Bsc&quot; @@ -113,6 +53,44 @@ msgstr &quot;Bsc&quot;
113 msgid "Contact" 53 msgid "Contact"
114 msgstr "Contacto" 54 msgstr "Contacto"
115 55
  56 +#: plugins/bsc/lib/bsc_plugin/bsc.rb:28
  57 +msgid "Bsc info and settings"
  58 +msgstr "Información y configuración de Bsc"
  59 +
  60 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:10
  61 +msgid "BSC association"
  62 +msgstr "Asociación BSC"
  63 +
  64 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:18
  65 +msgid "%{requestor} wants to associate this enterprise with %{linked_subject}."
  66 +msgstr "%{requestor} quiere asociar esta empresa con %{linked_subject}."
  67 +
  68 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:35
  69 +msgid "%{enterprise} accepted your request to associate it with %{bsc}."
  70 +msgstr "%{enterprrise} aceptó tu solicitud para asociarse con %{bsc}."
  71 +
  72 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:39
  73 +msgid "%{enterprise} rejected your request to associate it with %{bsc}."
  74 +msgstr "%{enterprise} rechazó tu solicitud para asociarse con %{bsc}."
  75 +
  76 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:41
  77 +msgid ""
  78 +"Here is the reject explanation left by the administrator:\n"
  79 +"\n"
  80 +"%{reject_explanation}"
  81 +msgstr ""
  82 +"Aquí está la explicación del rechazo dejada por el administrador:\n"
  83 +"\n"
  84 +"%{reject_explanation}"
  85 +
  86 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:46
  87 +msgid "%{requestor} wants assoaciate %{bsc} as your BSC."
  88 +msgstr "%{requestor} quire asociar %{bsc} como tu BSC."
  89 +
  90 +#: plugins/bsc/lib/bsc_plugin/mailer.rb:7
  91 +msgid "[%s] Bsc management transferred to you."
  92 +msgstr "[%s] administración de bsc transferida a ti"
  93 +
116 #: plugins/bsc/lib/bsc_plugin/contract.rb:33 94 #: plugins/bsc/lib/bsc_plugin/contract.rb:33
117 msgid "Opened" 95 msgid "Opened"
118 msgstr "Abierto" 96 msgstr "Abierto"
@@ -141,115 +119,141 @@ msgstr &quot;Proyecto A&quot; @@ -141,115 +119,141 @@ msgstr &quot;Proyecto A&quot;
141 msgid "ProjectB" 119 msgid "ProjectB"
142 msgstr "Proyecto B" 120 msgstr "Proyecto B"
143 121
144 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:10  
145 -msgid "BSC association"  
146 -msgstr "Asociación BSC" 122 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:38
  123 +msgid "This Bsc associations were saved successfully."
  124 +msgstr "Estas asociaciones Bsc fueron guardadas correctamente."
147 125
148 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:18  
149 -msgid "%{requestor} wants to associate this enterprise with %{linked_subject}."  
150 -msgstr "%{requestor} quiere asociar esta empresa con %{linked_subject}." 126 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:42
  127 +msgid "This Bsc associations couldn't be saved."
  128 +msgstr "Estas asociaciones Bsc no pudieron ser guardadas."
151 129
152 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:31  
153 -msgid "%{enterprise} accepted your request to associate it with %{bsc}."  
154 -msgstr "%{enterprrise} aceptó tu solicitud para asociarse con %{bsc}." 130 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:71
  131 +msgid "Enterprise ownership transferred."
  132 +msgstr "Propiedad de la empresa transferida."
155 133
156 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:35  
157 -msgid "%{enterprise} rejected your request to associate it with %{bsc}."  
158 -msgstr "%{enterprise} rechazó tu solicitud para asociarse con %{bsc}." 134 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:85
  135 +msgid "Enterprise was created in association with %s."
  136 +msgstr "La empresa fue creada en asociación con %s."
159 137
160 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:37  
161 -msgid ""  
162 -"Here is the reject explanation left by the administrator:\n"  
163 -"\n"  
164 -"%{reject_explanation}"  
165 -msgstr ""  
166 -"Aquí está la explicación del rechazo dejada por el administrador:\n"  
167 -"\n"  
168 -"%{reject_explanation}" 138 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:117
  139 +msgid "Contract created."
  140 +msgstr "Contrato creado."
169 141
170 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:42  
171 -msgid "%{requestor} wants assoaciate %{bsc} as your BSC."  
172 -msgstr "%{requestor} quire asociar %{bsc} como tu BSC." 142 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:120
  143 +msgid "Contract created but some products could not be added."
  144 +msgstr "Contrato creado pero algunos productos no pudieron agregarse."
173 145
174 -#: plugins/bsc/lib/bsc_plugin/bsc.rb:28  
175 -msgid "Bsc info and settings"  
176 -msgstr "Información y configuración de Bsc" 146 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:131
  147 +msgid "Contract doesn't exists! Maybe it was already removed."
  148 +msgstr "¡El contrato no existe! Quizás ya fue eliminado."
177 149
178 -#: plugins/bsc/lib/bsc_plugin/mailer.rb:7  
179 -msgid "[%s] Bsc management transferred to you."  
180 -msgstr "[%s] administración de bsc transferida a ti" 150 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:140
  151 +msgid "Could not edit such contract."
  152 +msgstr "No se puede editar tal contrato."
181 153
182 -#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:1  
183 -msgid "Transfer Ownership"  
184 -msgstr "Transferir propiedad" 154 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:170
  155 +msgid "Contract edited."
  156 +msgstr "contrato editado."
185 157
186 -#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:4  
187 -msgid ""  
188 -"This option allows you to transfer this enterprise's management to another "  
189 -"user. This action will remove all the current administrators. Be careful "  
190 -"when confirming this procedure."  
191 -msgstr ""  
192 -"Esta opción te permite transferir la administración de esta empresa a otro "  
193 -"usuario. Esta acción eliminará a todos los administradores actuales. Ten "  
194 -"cuidado cuando confirmes este proceso." 158 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:173
  159 +msgid "Contract edited but some products could not be added."
  160 +msgstr "Contrato editado pero algunos productos no pueden ser agregados."
195 161
196 -#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:8  
197 -msgid "Current administrators:"  
198 -msgstr "Administradores actuales:" 162 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:183
  163 +msgid "Contract removed."
  164 +msgstr "Contrato eliminado."
199 165
200 -#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:19  
201 -msgid "Administrator:"  
202 -msgstr "Administrador:" 166 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:185
  167 +msgid "Contract could not be removed. Sorry! ^^"
  168 +msgstr "El contrato no puede ser eliminado. ¡Perdón! ^^"
203 169
204 -#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:22  
205 -msgid "Type in a search term for the new administrator"  
206 -msgstr "Ingresa un término de búsqueda para el nuevo administrador" 170 +#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:11
  171 +msgid "Your Bsc was created."
  172 +msgstr "Tu Bsc fue creado."
207 173
208 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:5  
209 -#: plugins/bsc/views/shared/_fields.html.erb:5  
210 -msgid "Basic information"  
211 -msgstr "Información básica" 174 +#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:21
  175 +msgid "Enterprises validated."
  176 +msgstr "Empresas validadas."
  177 +
  178 +#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:24
  179 +msgid "Enterprise validations couldn't be saved."
  180 +msgstr "Las validaciones de la empresa no pudieron guardarse."
  181 +
  182 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:4
  183 +msgid "Associations awaiting approval:"
  184 +msgstr "Asociaciones de espera de aprobación:"
  185 +
  186 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:16
  187 +#: plugins/bsc/views/bsc_plugin_admin/validate_enterprises.html.erb:5
  188 +msgid "Type in a search term for enterprise"
  189 +msgstr "Ingresa un término de búsqueda para la empresa"
  190 +
  191 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:19
  192 +msgid "Add new enterprise"
  193 +msgstr "Añadir nueva empresa"
  194 +
  195 +#: plugins/bsc/views/bsc_plugin_myprofile/new_contract.html.erb:1
  196 +#: plugins/bsc/views/bsc_plugin_myprofile/edit_contract.html.erb:1
  197 +msgid "New contract"
  198 +msgstr "Nuevo contrato"
212 199
213 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:7  
214 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:6 200 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:6
  201 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:7
215 msgid "Client type" 202 msgid "Client type"
216 msgstr "Tipo de cliente" 203 msgstr "Tipo de cliente"
217 204
218 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:8  
219 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:7 205 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:7
  206 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:8
220 msgid "Business type" 207 msgid "Business type"
221 msgstr "Tipo de negocio" 208 msgstr "Tipo de negocio"
222 209
  210 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:10
223 #: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:11 211 #: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:11
224 #: plugins/bsc/views/bsc_plugin_myprofile/manage_contracts.html.erb:5 212 #: plugins/bsc/views/bsc_plugin_myprofile/manage_contracts.html.erb:5
225 -#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:10  
226 msgid "Status" 213 msgid "Status"
227 msgstr "Estado" 214 msgstr "Estado"
228 215
229 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:12  
230 -msgid "Number of producers"  
231 -msgstr "Número de productores"  
232 -  
233 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:13  
234 -#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:35  
235 -msgid "Supply period"  
236 -msgstr "Período de suministro" 216 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:18
  217 +msgid "Type in search term for enterprise"
  218 +msgstr "Ingresa un término de búsqueda para la empresa"
237 219
238 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:27  
239 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:23 220 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:23
  221 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:27
240 msgid "Quantity" 222 msgid "Quantity"
241 msgstr "Cantidad" 223 msgstr "Cantidad"
242 224
243 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:28  
244 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:24 225 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:24
  226 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:28
245 msgid "Unit price" 227 msgid "Unit price"
246 msgstr "Precio unitario" 228 msgstr "Precio unitario"
247 229
248 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:38  
249 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:27 230 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:27
  231 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:38
250 msgid "Total" 232 msgid "Total"
251 msgstr "Total" 233 msgstr "Total"
252 234
  235 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:31
  236 +msgid "Add new product"
  237 +msgstr "Añadir nuevo producto"
  238 +
  239 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:35
  240 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:13
  241 +msgid "Supply period"
  242 +msgstr "Período de suministro"
  243 +
  244 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:57
  245 +msgid "Type in a search term for product"
  246 +msgstr "Ingresa un término de búsqueda para el producto"
  247 +
  248 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:5
  249 +#: plugins/bsc/views/shared/_fields.html.erb:5
  250 +msgid "Basic information"
  251 +msgstr "Información básica"
  252 +
  253 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:12
  254 +msgid "Number of producers"
  255 +msgstr "Número de productores"
  256 +
253 #: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:48 257 #: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:48
254 msgid "Annotations" 258 msgid "Annotations"
255 msgstr "Anotaciones" 259 msgstr "Anotaciones"
@@ -304,43 +308,31 @@ msgstr &quot;&quot; @@ -304,43 +308,31 @@ msgstr &quot;&quot;
304 msgid "Associate" 308 msgid "Associate"
305 msgstr "Asociar" 309 msgstr "Asociar"
306 310
307 -#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:4  
308 -msgid "Associations awaiting approval:"  
309 -msgstr "Asociaciones de espera de aprobación:"  
310 -  
311 -#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:16  
312 -#: plugins/bsc/views/bsc_plugin_admin/validate_enterprises.html.erb:5  
313 -msgid "Type in a search term for enterprise"  
314 -msgstr "Ingresa un término de búsqueda para la empresa"  
315 -  
316 -#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:19  
317 -msgid "Add new enterprise"  
318 -msgstr "Añadir nueva empresa"  
319 -  
320 -#: plugins/bsc/views/bsc_plugin_myprofile/new_contract.html.erb:1  
321 -#: plugins/bsc/views/bsc_plugin_myprofile/edit_contract.html.erb:1  
322 -msgid "New contract"  
323 -msgstr "Nuevo contrato"  
324 -  
325 -#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:18  
326 -msgid "Type in search term for enterprise"  
327 -msgstr "Ingresa un término de búsqueda para la empresa" 311 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:1
  312 +msgid "Transfer Ownership"
  313 +msgstr "Transferir propiedad"
328 314
329 -#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:31  
330 -msgid "Add new product"  
331 -msgstr "Añadir nuevo producto" 315 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:4
  316 +msgid ""
  317 +"This option allows you to transfer this enterprise's management to another "
  318 +"user. This action will remove all the current administrators. Be careful "
  319 +"when confirming this procedure."
  320 +msgstr ""
  321 +"Esta opción te permite transferir la administración de esta empresa a otro "
  322 +"usuario. Esta acción eliminará a todos los administradores actuales. Ten "
  323 +"cuidado cuando confirmes este proceso."
332 324
333 -#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:57  
334 -msgid "Type in a search term for product"  
335 -msgstr "Ingresa un término de búsqueda para el producto" 325 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:8
  326 +msgid "Current administrators:"
  327 +msgstr "Administradores actuales:"
336 328
337 -#: plugins/bsc/views/bsc_plugin_admin/new.html.erb:2  
338 -msgid "BSC registration"  
339 -msgstr "Registro de BSC" 329 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:19
  330 +msgid "Administrator:"
  331 +msgstr "Administrador:"
340 332
341 -#: plugins/bsc/views/bsc_plugin_admin/validate_enterprises.html.erb:1  
342 -msgid "Validate enterprises"  
343 -msgstr "Validar empresas" 333 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:22
  334 +msgid "Type in a search term for the new administrator"
  335 +msgstr "Ingresa un término de búsqueda para el nuevo administrador"
344 336
345 #: plugins/bsc/views/shared/_fields.html.erb:39 337 #: plugins/bsc/views/shared/_fields.html.erb:39
346 msgid "" 338 msgid ""
@@ -351,6 +343,10 @@ msgstr &quot;&quot; @@ -351,6 +343,10 @@ msgstr &quot;&quot;
351 "este bsc o a las publicaciones su interior. ¿Estás seguro que quieres " 343 "este bsc o a las publicaciones su interior. ¿Estás seguro que quieres "
352 "cambiarla?" 344 "cambiarla?"
353 345
  346 +#: plugins/bsc/views/bsc_plugin/mailer/admin_notification.html.erb:1
  347 +msgid "The management of %{bsc} was transferred to you."
  348 +msgstr "La administración de %{bsc} te fue transferido."
  349 +
354 #: plugins/bsc/views/profile/_profile_tab.html.erb:2 350 #: plugins/bsc/views/profile/_profile_tab.html.erb:2
355 msgid "Contact phone: " 351 msgid "Contact phone: "
356 msgstr "Teléfono de contacto: " 352 msgstr "Teléfono de contacto: "
@@ -359,6 +355,10 @@ msgstr &quot;Teléfono de contacto: &quot; @@ -359,6 +355,10 @@ msgstr &quot;Teléfono de contacto: &quot;
359 msgid "Email: " 355 msgid "Email: "
360 msgstr "Correo electrónico: " 356 msgstr "Correo electrónico: "
361 357
362 -#: plugins/bsc/views/bsc_plugin/mailer/admin_notification.html.erb:1  
363 -msgid "The management of %{bsc} was transferred to you."  
364 -msgstr "La administración de %{bsc} te fue transferido." 358 +#: plugins/bsc/views/bsc_plugin_admin/new.html.erb:2
  359 +msgid "BSC registration"
  360 +msgstr "Registro de BSC"
  361 +
  362 +#: plugins/bsc/views/bsc_plugin_admin/validate_enterprises.html.erb:1
  363 +msgid "Validate enterprises"
  364 +msgstr "Validar empresas"
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: 0.45.0-6097-g490300c\n" 7 +"Project-Id-Version: 1.2~rc2-23-g29aba34\n"
8 "Report-Msgid-Bugs-To: \n" 8 "Report-Msgid-Bugs-To: \n"
9 -"POT-Creation-Date: 2015-07-23 16:26-0300\n" 9 +"POT-Creation-Date: 2015-08-06 18:47-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/"
@@ -18,79 +18,6 @@ msgstr &quot;&quot; @@ -18,79 +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.2-dev\n" 19 "X-Generator: Weblate 2.2-dev\n"
20 20
21 -#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:11  
22 -#, fuzzy  
23 -msgid "Your Bsc was created."  
24 -msgstr "Votre adresse e-mail %s vient d'être activée"  
25 -  
26 -#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:21  
27 -#, fuzzy  
28 -msgid "Enterprises validated."  
29 -msgstr "Validations d'entreprises"  
30 -  
31 -#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:24  
32 -#, fuzzy  
33 -msgid "Enterprise validations couldn't be saved."  
34 -msgstr "Validations d'entreprises"  
35 -  
36 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:38  
37 -#, fuzzy  
38 -msgid "This Bsc associations were saved successfully."  
39 -msgstr "Fonctionnalités mises à jour avec succès."  
40 -  
41 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:42  
42 -#, fuzzy  
43 -msgid "This Bsc associations couldn't be saved."  
44 -msgstr "Ce fichier n'a pas pu être sauvegardé"  
45 -  
46 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:71  
47 -#, fuzzy  
48 -msgid "Enterprise ownership transferred."  
49 -msgstr "Page d'accueil de l'entreprise"  
50 -  
51 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:85  
52 -#, fuzzy  
53 -msgid "Enterprise was created in association with %s."  
54 -msgstr "Enregistrement de l'enterprise : \"%s\""  
55 -  
56 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:117  
57 -#, fuzzy  
58 -msgid "Contract created."  
59 -msgstr "Adresse électronique de contact"  
60 -  
61 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:120  
62 -msgid "Contract created but some products could not be added."  
63 -msgstr ""  
64 -  
65 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:131  
66 -msgid "Contract doesn't exists! Maybe it was already removed."  
67 -msgstr ""  
68 -  
69 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:140  
70 -#, fuzzy  
71 -msgid "Could not edit such contract."  
72 -msgstr "Impossible de mettre à jour le produit"  
73 -  
74 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:170  
75 -#, fuzzy  
76 -msgid "Contract edited."  
77 -msgstr "Adresse électronique de contact"  
78 -  
79 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:173  
80 -#, fuzzy  
81 -msgid "Contract edited but some products could not be added."  
82 -msgstr "Bloc d'information de profil"  
83 -  
84 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:183  
85 -#, fuzzy  
86 -msgid "Contract removed."  
87 -msgstr "Corps de l'article"  
88 -  
89 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:185  
90 -#, fuzzy  
91 -msgid "Contract could not be removed. Sorry! ^^"  
92 -msgstr "Bloc d'information de profil"  
93 -  
94 #: plugins/bsc/lib/bsc_plugin.rb:10 21 #: plugins/bsc/lib/bsc_plugin.rb:10
95 #, fuzzy 22 #, fuzzy
96 msgid "Adds the Bsc feature" 23 msgid "Adds the Bsc feature"
@@ -131,6 +58,45 @@ msgstr &quot;&quot; @@ -131,6 +58,45 @@ msgstr &quot;&quot;
131 msgid "Contact" 58 msgid "Contact"
132 msgstr "Contact " 59 msgstr "Contact "
133 60
  61 +#: plugins/bsc/lib/bsc_plugin/bsc.rb:28
  62 +#, fuzzy
  63 +msgid "Bsc info and settings"
  64 +msgstr "Informations et paramètres"
  65 +
  66 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:10
  67 +#, fuzzy
  68 +msgid "BSC association"
  69 +msgstr "Informations de contact"
  70 +
  71 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:18
  72 +#, fuzzy
  73 +msgid "%{requestor} wants to associate this enterprise with %{linked_subject}."
  74 +msgstr "L'utilisateur «%{user}» veut activer l'adresse «%{email}»"
  75 +
  76 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:35
  77 +msgid "%{enterprise} accepted your request to associate it with %{bsc}."
  78 +msgstr ""
  79 +
  80 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:39
  81 +msgid "%{enterprise} rejected your request to associate it with %{bsc}."
  82 +msgstr ""
  83 +
  84 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:41
  85 +msgid ""
  86 +"Here is the reject explanation left by the administrator:\n"
  87 +"\n"
  88 +"%{reject_explanation}"
  89 +msgstr ""
  90 +
  91 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:46
  92 +#, fuzzy
  93 +msgid "%{requestor} wants assoaciate %{bsc} as your BSC."
  94 +msgstr "%s veut être votre contact."
  95 +
  96 +#: plugins/bsc/lib/bsc_plugin/mailer.rb:7
  97 +msgid "[%s] Bsc management transferred to you."
  98 +msgstr ""
  99 +
134 #: plugins/bsc/lib/bsc_plugin/contract.rb:33 100 #: plugins/bsc/lib/bsc_plugin/contract.rb:33
135 #, fuzzy 101 #, fuzzy
136 msgid "Opened" 102 msgid "Opened"
@@ -166,123 +132,169 @@ msgstr &quot;Produit&quot; @@ -166,123 +132,169 @@ msgstr &quot;Produit&quot;
166 msgid "ProjectB" 132 msgid "ProjectB"
167 msgstr "Produit" 133 msgstr "Produit"
168 134
169 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:10 135 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:38
170 #, fuzzy 136 #, fuzzy
171 -msgid "BSC association"  
172 -msgstr "Informations de contact" 137 +msgid "This Bsc associations were saved successfully."
  138 +msgstr "Fonctionnalités mises à jour avec succès."
173 139
174 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:18 140 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:42
175 #, fuzzy 141 #, fuzzy
176 -msgid "%{requestor} wants to associate this enterprise with %{linked_subject}."  
177 -msgstr "L'utilisateur «%{user}» veut activer l'adresse «%{email}»" 142 +msgid "This Bsc associations couldn't be saved."
  143 +msgstr "Ce fichier n'a pas pu être sauvegardé"
178 144
179 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:31  
180 -msgid "%{enterprise} accepted your request to associate it with %{bsc}."  
181 -msgstr "" 145 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:71
  146 +#, fuzzy
  147 +msgid "Enterprise ownership transferred."
  148 +msgstr "Page d'accueil de l'entreprise"
182 149
183 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:35  
184 -msgid "%{enterprise} rejected your request to associate it with %{bsc}." 150 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:85
  151 +#, fuzzy
  152 +msgid "Enterprise was created in association with %s."
  153 +msgstr "Enregistrement de l'enterprise : \"%s\""
  154 +
  155 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:117
  156 +#, fuzzy
  157 +msgid "Contract created."
  158 +msgstr "Adresse électronique de contact"
  159 +
  160 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:120
  161 +msgid "Contract created but some products could not be added."
185 msgstr "" 162 msgstr ""
186 163
187 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:37  
188 -msgid ""  
189 -"Here is the reject explanation left by the administrator:\n"  
190 -"\n"  
191 -"%{reject_explanation}" 164 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:131
  165 +msgid "Contract doesn't exists! Maybe it was already removed."
192 msgstr "" 166 msgstr ""
193 167
194 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:42 168 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:140
195 #, fuzzy 169 #, fuzzy
196 -msgid "%{requestor} wants assoaciate %{bsc} as your BSC."  
197 -msgstr "%s veut être votre contact." 170 +msgid "Could not edit such contract."
  171 +msgstr "Impossible de mettre à jour le produit"
198 172
199 -#: plugins/bsc/lib/bsc_plugin/bsc.rb:28 173 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:170
200 #, fuzzy 174 #, fuzzy
201 -msgid "Bsc info and settings"  
202 -msgstr "Informations et paramètres" 175 +msgid "Contract edited."
  176 +msgstr "Adresse électronique de contact"
203 177
204 -#: plugins/bsc/lib/bsc_plugin/mailer.rb:7  
205 -msgid "[%s] Bsc management transferred to you."  
206 -msgstr "" 178 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:173
  179 +#, fuzzy
  180 +msgid "Contract edited but some products could not be added."
  181 +msgstr "Bloc d'information de profil"
207 182
208 -#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:1  
209 -msgid "Transfer Ownership"  
210 -msgstr "" 183 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:183
  184 +#, fuzzy
  185 +msgid "Contract removed."
  186 +msgstr "Corps de l'article"
211 187
212 -#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:4  
213 -msgid ""  
214 -"This option allows you to transfer this enterprise's management to another "  
215 -"user. This action will remove all the current administrators. Be careful "  
216 -"when confirming this procedure."  
217 -msgstr "" 188 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:185
  189 +#, fuzzy
  190 +msgid "Contract could not be removed. Sorry! ^^"
  191 +msgstr "Bloc d'information de profil"
218 192
219 -#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:8 193 +#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:11
220 #, fuzzy 194 #, fuzzy
221 -msgid "Current administrators:"  
222 -msgstr "Membres" 195 +msgid "Your Bsc was created."
  196 +msgstr "Votre adresse e-mail %s vient d'être activée"
223 197
224 -#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:19 198 +#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:21
225 #, fuzzy 199 #, fuzzy
226 -msgid "Administrator:"  
227 -msgstr "Interface d'administration" 200 +msgid "Enterprises validated."
  201 +msgstr "Validations d'entreprises"
228 202
229 -#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:22  
230 -msgid "Type in a search term for the new administrator" 203 +#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:24
  204 +#, fuzzy
  205 +msgid "Enterprise validations couldn't be saved."
  206 +msgstr "Validations d'entreprises"
  207 +
  208 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:4
  209 +msgid "Associations awaiting approval:"
231 msgstr "" 210 msgstr ""
232 211
233 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:5  
234 -#: plugins/bsc/views/shared/_fields.html.erb:5 212 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:16
  213 +#: plugins/bsc/views/bsc_plugin_admin/validate_enterprises.html.erb:5
235 #, fuzzy 214 #, fuzzy
236 -msgid "Basic information"  
237 -msgstr "Informations de contact" 215 +msgid "Type in a search term for enterprise"
  216 +msgstr "Désactiver la recherche d'entreprises"
  217 +
  218 +# (second try of this knid of contents)
  219 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:19
  220 +#, fuzzy
  221 +msgid "Add new enterprise"
  222 +msgstr "Une entreprise"
  223 +
  224 +#: plugins/bsc/views/bsc_plugin_myprofile/new_contract.html.erb:1
  225 +#: plugins/bsc/views/bsc_plugin_myprofile/edit_contract.html.erb:1
  226 +#, fuzzy
  227 +msgid "New contract"
  228 +msgstr "Tout le contenu"
238 229
239 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:7  
240 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:6 230 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:6
  231 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:7
241 #, fuzzy 232 #, fuzzy
242 msgid "Client type" 233 msgid "Client type"
243 msgstr "Type de contenu" 234 msgstr "Type de contenu"
244 235
245 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:8  
246 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:7 236 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:7
  237 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:8
247 #, fuzzy 238 #, fuzzy
248 msgid "Business type" 239 msgid "Business type"
249 msgstr "Nom de fichier" 240 msgstr "Nom de fichier"
250 241
  242 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:10
251 #: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:11 243 #: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:11
252 #: plugins/bsc/views/bsc_plugin_myprofile/manage_contracts.html.erb:5 244 #: plugins/bsc/views/bsc_plugin_myprofile/manage_contracts.html.erb:5
253 -#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:10  
254 msgid "Status" 245 msgid "Status"
255 msgstr "Statut" 246 msgstr "Statut"
256 247
257 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:12  
258 -#, fuzzy  
259 -msgid "Number of producers"  
260 -msgstr "Pas de produit"  
261 -  
262 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:13  
263 -#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:35 248 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:18
264 #, fuzzy 249 #, fuzzy
265 -msgid "Supply period"  
266 -msgstr "Fournisseur : %s" 250 +msgid "Type in search term for enterprise"
  251 +msgstr "Désactiver la recherche d'entreprises"
267 252
268 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:27  
269 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:23 253 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:23
  254 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:27
270 #, fuzzy 255 #, fuzzy
271 msgid "Quantity" 256 msgid "Quantity"
272 msgstr "Qualité" 257 msgstr "Qualité"
273 258
274 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:28  
275 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:24 259 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:24
  260 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:28
276 #, fuzzy 261 #, fuzzy
277 msgid "Unit price" 262 msgid "Unit price"
278 msgstr "Distance :" 263 msgstr "Distance :"
279 264
280 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:38  
281 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:27 265 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:27
  266 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:38
282 #, fuzzy 267 #, fuzzy
283 msgid "Total" 268 msgid "Total"
284 msgstr "Pour : " 269 msgstr "Pour : "
285 270
  271 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:31
  272 +#, fuzzy
  273 +msgid "Add new product"
  274 +msgstr "Ajouter un produit"
  275 +
  276 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:35
  277 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:13
  278 +#, fuzzy
  279 +msgid "Supply period"
  280 +msgstr "Fournisseur : %s"
  281 +
  282 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:57
  283 +#, fuzzy
  284 +msgid "Type in a search term for product"
  285 +msgstr "Désactiver la recherche d'entreprises"
  286 +
  287 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:5
  288 +#: plugins/bsc/views/shared/_fields.html.erb:5
  289 +#, fuzzy
  290 +msgid "Basic information"
  291 +msgstr "Informations de contact"
  292 +
  293 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:12
  294 +#, fuzzy
  295 +msgid "Number of producers"
  296 +msgstr "Pas de produit"
  297 +
286 #: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:48 298 #: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:48
287 #, fuzzy 299 #, fuzzy
288 msgid "Annotations" 300 msgid "Annotations"
@@ -340,52 +352,30 @@ msgstr &quot;&quot; @@ -340,52 +352,30 @@ msgstr &quot;&quot;
340 msgid "Associate" 352 msgid "Associate"
341 msgstr "Activer" 353 msgstr "Activer"
342 354
343 -#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:4  
344 -msgid "Associations awaiting approval:" 355 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:1
  356 +msgid "Transfer Ownership"
345 msgstr "" 357 msgstr ""
346 358
347 -#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:16  
348 -#: plugins/bsc/views/bsc_plugin_admin/validate_enterprises.html.erb:5  
349 -#, fuzzy  
350 -msgid "Type in a search term for enterprise"  
351 -msgstr "Désactiver la recherche d'entreprises"  
352 -  
353 -# (second try of this knid of contents)  
354 -#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:19  
355 -#, fuzzy  
356 -msgid "Add new enterprise"  
357 -msgstr "Une entreprise"  
358 -  
359 -#: plugins/bsc/views/bsc_plugin_myprofile/new_contract.html.erb:1  
360 -#: plugins/bsc/views/bsc_plugin_myprofile/edit_contract.html.erb:1  
361 -#, fuzzy  
362 -msgid "New contract"  
363 -msgstr "Tout le contenu"  
364 -  
365 -#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:18  
366 -#, fuzzy  
367 -msgid "Type in search term for enterprise"  
368 -msgstr "Désactiver la recherche d'entreprises"  
369 -  
370 -#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:31  
371 -#, fuzzy  
372 -msgid "Add new product"  
373 -msgstr "Ajouter un produit" 359 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:4
  360 +msgid ""
  361 +"This option allows you to transfer this enterprise's management to another "
  362 +"user. This action will remove all the current administrators. Be careful "
  363 +"when confirming this procedure."
  364 +msgstr ""
374 365
375 -#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:57 366 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:8
376 #, fuzzy 367 #, fuzzy
377 -msgid "Type in a search term for product"  
378 -msgstr "Désactiver la recherche d'entreprises" 368 +msgid "Current administrators:"
  369 +msgstr "Membres"
379 370
380 -#: plugins/bsc/views/bsc_plugin_admin/new.html.erb:2 371 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:19
381 #, fuzzy 372 #, fuzzy
382 -msgid "BSC registration"  
383 -msgstr "Enregistrement de l'enterprise : \"%s\"" 373 +msgid "Administrator:"
  374 +msgstr "Interface d'administration"
384 375
385 -#: plugins/bsc/views/bsc_plugin_admin/validate_enterprises.html.erb:1  
386 -#, fuzzy  
387 -msgid "Validate enterprises"  
388 -msgstr "Valider l'entreprise" 376 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:22
  377 +msgid "Type in a search term for the new administrator"
  378 +msgstr ""
389 379
390 #: plugins/bsc/views/shared/_fields.html.erb:39 380 #: plugins/bsc/views/shared/_fields.html.erb:39
391 #, fuzzy 381 #, fuzzy
@@ -397,6 +387,10 @@ msgstr &quot;&quot; @@ -397,6 +387,10 @@ msgstr &quot;&quot;
397 "les liens extérieurs menant à la page d'accueil ou le contenu du site lui-" 387 "les liens extérieurs menant à la page d'accueil ou le contenu du site lui-"
398 "même. Voulez-vous vraiment la modifier ?" 388 "même. Voulez-vous vraiment la modifier ?"
399 389
  390 +#: plugins/bsc/views/bsc_plugin/mailer/admin_notification.html.erb:1
  391 +msgid "The management of %{bsc} was transferred to you."
  392 +msgstr ""
  393 +
400 #: plugins/bsc/views/profile/_profile_tab.html.erb:2 394 #: plugins/bsc/views/profile/_profile_tab.html.erb:2
401 #, fuzzy 395 #, fuzzy
402 msgid "Contact phone: " 396 msgid "Contact phone: "
@@ -407,6 +401,12 @@ msgstr &quot;Téléphone de contact :&quot; @@ -407,6 +401,12 @@ msgstr &quot;Téléphone de contact :&quot;
407 msgid "Email: " 401 msgid "Email: "
408 msgstr "Courrier électronique : %s" 402 msgstr "Courrier électronique : %s"
409 403
410 -#: plugins/bsc/views/bsc_plugin/mailer/admin_notification.html.erb:1  
411 -msgid "The management of %{bsc} was transferred to you."  
412 -msgstr "" 404 +#: plugins/bsc/views/bsc_plugin_admin/new.html.erb:2
  405 +#, fuzzy
  406 +msgid "BSC registration"
  407 +msgstr "Enregistrement de l'enterprise : \"%s\""
  408 +
  409 +#: plugins/bsc/views/bsc_plugin_admin/validate_enterprises.html.erb:1
  410 +#, fuzzy
  411 +msgid "Validate enterprises"
  412 +msgstr "Valider l'entreprise"
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: 0.45.0-6097-g490300c\n"  
9 -"POT-Creation-Date: 2015-07-23 16:26-0300\n" 8 +"Project-Id-Version: 1.2~rc2-23-g29aba34\n"
  9 +"POT-Creation-Date: 2015-08-06 18:47-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"
@@ -17,79 +17,6 @@ msgstr &quot;&quot; @@ -17,79 +17,6 @@ msgstr &quot;&quot;
17 "Plural-Forms: nplurals=2; plural=(n > 1);\n" 17 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
18 "X-Generator: Pootle 1.1.0\n" 18 "X-Generator: Pootle 1.1.0\n"
19 19
20 -#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:11  
21 -#, fuzzy  
22 -msgid "Your Bsc was created."  
23 -msgstr "%s վերացված է"  
24 -  
25 -#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:21  
26 -#, fuzzy  
27 -msgid "Enterprises validated."  
28 -msgstr "Ձեռնարկությունների վավերացում"  
29 -  
30 -#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:24  
31 -#, fuzzy  
32 -msgid "Enterprise validations couldn't be saved."  
33 -msgstr "Ձեռնարկությունների վավերացում"  
34 -  
35 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:38  
36 -#, fuzzy  
37 -msgid "This Bsc associations were saved successfully."  
38 -msgstr "Առանձնահատկությունները հաջողությամբ թարմացված են:"  
39 -  
40 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:42  
41 -#, fuzzy  
42 -msgid "This Bsc associations couldn't be saved."  
43 -msgstr "Անհանատական էջի տվյալների բաժին"  
44 -  
45 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:71  
46 -#, fuzzy  
47 -msgid "Enterprise ownership transferred."  
48 -msgstr "Ձեռնարկության գլխավոր էջ"  
49 -  
50 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:85  
51 -#, fuzzy  
52 -msgid "Enterprise was created in association with %s."  
53 -msgstr "Ձեռնարկության գրանցում «%s»"  
54 -  
55 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:117  
56 -#, fuzzy  
57 -msgid "Contract created."  
58 -msgstr "էլ. հասցե"  
59 -  
60 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:120  
61 -msgid "Contract created but some products could not be added."  
62 -msgstr ""  
63 -  
64 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:131  
65 -msgid "Contract doesn't exists! Maybe it was already removed."  
66 -msgstr ""  
67 -  
68 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:140  
69 -#, fuzzy  
70 -msgid "Could not edit such contract."  
71 -msgstr "Արտադրանք թարմացնելն անհնար է"  
72 -  
73 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:170  
74 -#, fuzzy  
75 -msgid "Contract edited."  
76 -msgstr "էլ. հասցե"  
77 -  
78 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:173  
79 -#, fuzzy  
80 -msgid "Contract edited but some products could not be added."  
81 -msgstr "Անհանատական էջի տվյալների բաժին"  
82 -  
83 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:183  
84 -#, fuzzy  
85 -msgid "Contract removed."  
86 -msgstr "Բուն հոդված"  
87 -  
88 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:185  
89 -#, fuzzy  
90 -msgid "Contract could not be removed. Sorry! ^^"  
91 -msgstr "Անհանատական էջի տվյալների բաժին"  
92 -  
93 #: plugins/bsc/lib/bsc_plugin.rb:10 20 #: plugins/bsc/lib/bsc_plugin.rb:10
94 #, fuzzy 21 #, fuzzy
95 msgid "Adds the Bsc feature" 22 msgid "Adds the Bsc feature"
@@ -130,6 +57,45 @@ msgstr &quot;&quot; @@ -130,6 +57,45 @@ msgstr &quot;&quot;
130 msgid "Contact" 57 msgid "Contact"
131 msgstr "" 58 msgstr ""
132 59
  60 +#: plugins/bsc/lib/bsc_plugin/bsc.rb:28
  61 +#, fuzzy
  62 +msgid "Bsc info and settings"
  63 +msgstr "Անհանատական էջի տվյալների բաժին"
  64 +
  65 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:10
  66 +#, fuzzy
  67 +msgid "BSC association"
  68 +msgstr "Էլ. հասցե"
  69 +
  70 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:18
  71 +#, fuzzy
  72 +msgid "%{requestor} wants to associate this enterprise with %{linked_subject}."
  73 +msgstr "%s-ը ցանկանում է %s-ի անդամ դառնալ:"
  74 +
  75 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:35
  76 +msgid "%{enterprise} accepted your request to associate it with %{bsc}."
  77 +msgstr ""
  78 +
  79 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:39
  80 +msgid "%{enterprise} rejected your request to associate it with %{bsc}."
  81 +msgstr ""
  82 +
  83 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:41
  84 +msgid ""
  85 +"Here is the reject explanation left by the administrator:\n"
  86 +"\n"
  87 +"%{reject_explanation}"
  88 +msgstr ""
  89 +
  90 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:46
  91 +#, fuzzy
  92 +msgid "%{requestor} wants assoaciate %{bsc} as your BSC."
  93 +msgstr "%s ցանկանում է Ձեր ընկերը դառնալ"
  94 +
  95 +#: plugins/bsc/lib/bsc_plugin/mailer.rb:7
  96 +msgid "[%s] Bsc management transferred to you."
  97 +msgstr ""
  98 +
133 #: plugins/bsc/lib/bsc_plugin/contract.rb:33 99 #: plugins/bsc/lib/bsc_plugin/contract.rb:33
134 #, fuzzy 100 #, fuzzy
135 msgid "Opened" 101 msgid "Opened"
@@ -165,122 +131,167 @@ msgstr &quot;Արտադրանք&quot; @@ -165,122 +131,167 @@ msgstr &quot;Արտադրանք&quot;
165 msgid "ProjectB" 131 msgid "ProjectB"
166 msgstr "Արտադրանք" 132 msgstr "Արտադրանք"
167 133
168 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:10 134 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:38
169 #, fuzzy 135 #, fuzzy
170 -msgid "BSC association"  
171 -msgstr "Էլ. հասցե" 136 +msgid "This Bsc associations were saved successfully."
  137 +msgstr "Առանձնահատկությունները հաջողությամբ թարմացված են:"
172 138
173 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:18 139 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:42
174 #, fuzzy 140 #, fuzzy
175 -msgid "%{requestor} wants to associate this enterprise with %{linked_subject}."  
176 -msgstr "%s-ը ցանկանում է %s-ի անդամ դառնալ:" 141 +msgid "This Bsc associations couldn't be saved."
  142 +msgstr "Անհանատական էջի տվյալների բաժին"
177 143
178 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:31  
179 -msgid "%{enterprise} accepted your request to associate it with %{bsc}."  
180 -msgstr "" 144 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:71
  145 +#, fuzzy
  146 +msgid "Enterprise ownership transferred."
  147 +msgstr "Ձեռնարկության գլխավոր էջ"
181 148
182 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:35  
183 -msgid "%{enterprise} rejected your request to associate it with %{bsc}." 149 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:85
  150 +#, fuzzy
  151 +msgid "Enterprise was created in association with %s."
  152 +msgstr "Ձեռնարկության գրանցում «%s»"
  153 +
  154 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:117
  155 +#, fuzzy
  156 +msgid "Contract created."
  157 +msgstr "էլ. հասցե"
  158 +
  159 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:120
  160 +msgid "Contract created but some products could not be added."
184 msgstr "" 161 msgstr ""
185 162
186 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:37  
187 -msgid ""  
188 -"Here is the reject explanation left by the administrator:\n"  
189 -"\n"  
190 -"%{reject_explanation}" 163 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:131
  164 +msgid "Contract doesn't exists! Maybe it was already removed."
191 msgstr "" 165 msgstr ""
192 166
193 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:42 167 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:140
194 #, fuzzy 168 #, fuzzy
195 -msgid "%{requestor} wants assoaciate %{bsc} as your BSC."  
196 -msgstr "%s ցանկանում է Ձեր ընկերը դառնալ" 169 +msgid "Could not edit such contract."
  170 +msgstr "Արտադրանք թարմացնելն անհնար է"
197 171
198 -#: plugins/bsc/lib/bsc_plugin/bsc.rb:28 172 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:170
199 #, fuzzy 173 #, fuzzy
200 -msgid "Bsc info and settings" 174 +msgid "Contract edited."
  175 +msgstr "էլ. հասցե"
  176 +
  177 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:173
  178 +#, fuzzy
  179 +msgid "Contract edited but some products could not be added."
201 msgstr "Անհանատական էջի տվյալների բաժին" 180 msgstr "Անհանատական էջի տվյալների բաժին"
202 181
203 -#: plugins/bsc/lib/bsc_plugin/mailer.rb:7  
204 -msgid "[%s] Bsc management transferred to you."  
205 -msgstr "" 182 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:183
  183 +#, fuzzy
  184 +msgid "Contract removed."
  185 +msgstr "Բուն հոդված"
206 186
207 -#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:1  
208 -msgid "Transfer Ownership"  
209 -msgstr "" 187 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:185
  188 +#, fuzzy
  189 +msgid "Contract could not be removed. Sorry! ^^"
  190 +msgstr "Անհանատական էջի տվյալների բաժին"
210 191
211 -#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:4  
212 -msgid ""  
213 -"This option allows you to transfer this enterprise's management to another "  
214 -"user. This action will remove all the current administrators. Be careful "  
215 -"when confirming this procedure."  
216 -msgstr "" 192 +#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:11
  193 +#, fuzzy
  194 +msgid "Your Bsc was created."
  195 +msgstr "%s վերացված է"
217 196
218 -#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:8 197 +#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:21
219 #, fuzzy 198 #, fuzzy
220 -msgid "Current administrators:"  
221 -msgstr "Անդամներ" 199 +msgid "Enterprises validated."
  200 +msgstr "Ձեռնարկությունների վավերացում"
222 201
223 -#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:19 202 +#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:24
224 #, fuzzy 203 #, fuzzy
225 -msgid "Administrator:"  
226 -msgstr "Կառավարման վահանակ" 204 +msgid "Enterprise validations couldn't be saved."
  205 +msgstr "Ձեռնարկությունների վավերացում"
227 206
228 -#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:22  
229 -msgid "Type in a search term for the new administrator" 207 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:4
  208 +msgid "Associations awaiting approval:"
230 msgstr "" 209 msgstr ""
231 210
232 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:5  
233 -#: plugins/bsc/views/shared/_fields.html.erb:5 211 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:16
  212 +#: plugins/bsc/views/bsc_plugin_admin/validate_enterprises.html.erb:5
234 #, fuzzy 213 #, fuzzy
235 -msgid "Basic information"  
236 -msgstr "Էլ. հասցե" 214 +msgid "Type in a search term for enterprise"
  215 +msgstr "Դիզակտիվացնել ձեռնարկությունների որոնումը"
  216 +
  217 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:19
  218 +#, fuzzy
  219 +msgid "Add new enterprise"
  220 +msgstr "Մեկ ձեռնարկություն"
  221 +
  222 +#: plugins/bsc/views/bsc_plugin_myprofile/new_contract.html.erb:1
  223 +#: plugins/bsc/views/bsc_plugin_myprofile/edit_contract.html.erb:1
  224 +#, fuzzy
  225 +msgid "New contract"
  226 +msgstr "Ամբողջ բովանդակությունը"
237 227
238 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:7  
239 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:6 228 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:6
  229 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:7
240 #, fuzzy 230 #, fuzzy
241 msgid "Client type" 231 msgid "Client type"
242 msgstr "Բովանդակության տեսակ" 232 msgstr "Բովանդակության տեսակ"
243 233
244 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:8  
245 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:7 234 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:7
  235 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:8
246 #, fuzzy 236 #, fuzzy
247 msgid "Business type" 237 msgid "Business type"
248 msgstr "Սեփականատիրոջ տեսակ" 238 msgstr "Սեփականատիրոջ տեսակ"
249 239
  240 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:10
250 #: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:11 241 #: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:11
251 #: plugins/bsc/views/bsc_plugin_myprofile/manage_contracts.html.erb:5 242 #: plugins/bsc/views/bsc_plugin_myprofile/manage_contracts.html.erb:5
252 -#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:10  
253 msgid "Status" 243 msgid "Status"
254 msgstr "Կարգավիճակ" 244 msgstr "Կարգավիճակ"
255 245
256 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:12  
257 -#, fuzzy  
258 -msgid "Number of producers"  
259 -msgstr "Արտադրանք չկա"  
260 -  
261 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:13  
262 -#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:35 246 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:18
263 #, fuzzy 247 #, fuzzy
264 -msgid "Supply period"  
265 -msgstr "Առաքիչ %s" 248 +msgid "Type in search term for enterprise"
  249 +msgstr "Դիզակտիվացնել ձեռնարկությունների որոնումը"
266 250
267 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:27  
268 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:23 251 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:23
  252 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:27
269 #, fuzzy 253 #, fuzzy
270 msgid "Quantity" 254 msgid "Quantity"
271 msgstr "Որակ" 255 msgstr "Որակ"
272 256
273 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:28  
274 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:24 257 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:24
  258 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:28
275 #, fuzzy 259 #, fuzzy
276 msgid "Unit price" 260 msgid "Unit price"
277 msgstr "Հեռավորություն" 261 msgstr "Հեռավորություն"
278 262
279 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:38  
280 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:27 263 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:27
  264 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:38
281 msgid "Total" 265 msgid "Total"
282 msgstr "" 266 msgstr ""
283 267
  268 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:31
  269 +#, fuzzy
  270 +msgid "Add new product"
  271 +msgstr "Կառավարել արտադրանքը"
  272 +
  273 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:35
  274 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:13
  275 +#, fuzzy
  276 +msgid "Supply period"
  277 +msgstr "Առաքիչ %s"
  278 +
  279 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:57
  280 +#, fuzzy
  281 +msgid "Type in a search term for product"
  282 +msgstr "Դիզակտիվացնել ձեռնարկությունների որոնումը"
  283 +
  284 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:5
  285 +#: plugins/bsc/views/shared/_fields.html.erb:5
  286 +#, fuzzy
  287 +msgid "Basic information"
  288 +msgstr "Էլ. հասցե"
  289 +
  290 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:12
  291 +#, fuzzy
  292 +msgid "Number of producers"
  293 +msgstr "Արտադրանք չկա"
  294 +
284 #: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:48 295 #: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:48
285 #, fuzzy 296 #, fuzzy
286 msgid "Annotations" 297 msgid "Annotations"
@@ -337,51 +348,30 @@ msgstr &quot;&quot; @@ -337,51 +348,30 @@ msgstr &quot;&quot;
337 msgid "Associate" 348 msgid "Associate"
338 msgstr "Ակտիվացնել" 349 msgstr "Ակտիվացնել"
339 350
340 -#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:4  
341 -msgid "Associations awaiting approval:" 351 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:1
  352 +msgid "Transfer Ownership"
342 msgstr "" 353 msgstr ""
343 354
344 -#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:16  
345 -#: plugins/bsc/views/bsc_plugin_admin/validate_enterprises.html.erb:5  
346 -#, fuzzy  
347 -msgid "Type in a search term for enterprise"  
348 -msgstr "Դիզակտիվացնել ձեռնարկությունների որոնումը"  
349 -  
350 -#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:19  
351 -#, fuzzy  
352 -msgid "Add new enterprise"  
353 -msgstr "Մեկ ձեռնարկություն"  
354 -  
355 -#: plugins/bsc/views/bsc_plugin_myprofile/new_contract.html.erb:1  
356 -#: plugins/bsc/views/bsc_plugin_myprofile/edit_contract.html.erb:1  
357 -#, fuzzy  
358 -msgid "New contract"  
359 -msgstr "Ամբողջ բովանդակությունը"  
360 -  
361 -#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:18  
362 -#, fuzzy  
363 -msgid "Type in search term for enterprise"  
364 -msgstr "Դիզակտիվացնել ձեռնարկությունների որոնումը"  
365 -  
366 -#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:31  
367 -#, fuzzy  
368 -msgid "Add new product"  
369 -msgstr "Կառավարել արտադրանքը" 355 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:4
  356 +msgid ""
  357 +"This option allows you to transfer this enterprise's management to another "
  358 +"user. This action will remove all the current administrators. Be careful "
  359 +"when confirming this procedure."
  360 +msgstr ""
370 361
371 -#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:57 362 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:8
372 #, fuzzy 363 #, fuzzy
373 -msgid "Type in a search term for product"  
374 -msgstr "Դիզակտիվացնել ձեռնարկությունների որոնումը" 364 +msgid "Current administrators:"
  365 +msgstr "Անդամներ"
375 366
376 -#: plugins/bsc/views/bsc_plugin_admin/new.html.erb:2 367 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:19
377 #, fuzzy 368 #, fuzzy
378 -msgid "BSC registration"  
379 -msgstr "Ձեռնարկության գրանցում «%s»" 369 +msgid "Administrator:"
  370 +msgstr "Կառավարման վահանակ"
380 371
381 -#: plugins/bsc/views/bsc_plugin_admin/validate_enterprises.html.erb:1  
382 -#, fuzzy  
383 -msgid "Validate enterprises"  
384 -msgstr "Վավերացնել ձեռնարկությունը" 372 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:22
  373 +msgid "Type in a search term for the new administrator"
  374 +msgstr ""
385 375
386 #: plugins/bsc/views/shared/_fields.html.erb:39 376 #: plugins/bsc/views/shared/_fields.html.erb:39
387 msgid "" 377 msgid ""
@@ -389,6 +379,10 @@ msgid &quot;&quot; @@ -389,6 +379,10 @@ msgid &quot;&quot;
389 "this bsc or to posts inside it. Do you really want to change?" 379 "this bsc or to posts inside it. Do you really want to change?"
390 msgstr "" 380 msgstr ""
391 381
  382 +#: plugins/bsc/views/bsc_plugin/mailer/admin_notification.html.erb:1
  383 +msgid "The management of %{bsc} was transferred to you."
  384 +msgstr ""
  385 +
392 #: plugins/bsc/views/profile/_profile_tab.html.erb:2 386 #: plugins/bsc/views/profile/_profile_tab.html.erb:2
393 #, fuzzy 387 #, fuzzy
394 msgid "Contact phone: " 388 msgid "Contact phone: "
@@ -399,6 +393,12 @@ msgstr &quot;Հեռախոս&quot; @@ -399,6 +393,12 @@ msgstr &quot;Հեռախոս&quot;
399 msgid "Email: " 393 msgid "Email: "
400 msgstr "Էլ. հասցե" 394 msgstr "Էլ. հասցե"
401 395
402 -#: plugins/bsc/views/bsc_plugin/mailer/admin_notification.html.erb:1  
403 -msgid "The management of %{bsc} was transferred to you."  
404 -msgstr "" 396 +#: plugins/bsc/views/bsc_plugin_admin/new.html.erb:2
  397 +#, fuzzy
  398 +msgid "BSC registration"
  399 +msgstr "Ձեռնարկության գրանցում «%s»"
  400 +
  401 +#: plugins/bsc/views/bsc_plugin_admin/validate_enterprises.html.erb:1
  402 +#, fuzzy
  403 +msgid "Validate enterprises"
  404 +msgstr "Վավերացնել ձեռնարկությունը"
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: 0.45.0-6097-g490300c\n"  
15 -"POT-Creation-Date: 2015-07-23 16:26-0300\n" 14 +"Project-Id-Version: 1.2~rc2-23-g29aba34\n"
  15 +"POT-Creation-Date: 2015-08-06 18:47-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,67 +24,6 @@ msgstr &quot;&quot; @@ -24,67 +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/bsc/controllers/bsc_plugin_admin_controller.rb:11  
28 -msgid "Your Bsc was created."  
29 -msgstr "Seu Bsc foi criado."  
30 -  
31 -#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:21  
32 -msgid "Enterprises validated."  
33 -msgstr "Empreendimento validados."  
34 -  
35 -#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:24  
36 -msgid "Enterprise validations couldn't be saved."  
37 -msgstr "As validações de empreendimento não puderam ser salvas."  
38 -  
39 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:38  
40 -msgid "This Bsc associations were saved successfully."  
41 -msgstr "As associações deste Bsc foram salvas com sucesso."  
42 -  
43 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:42  
44 -msgid "This Bsc associations couldn't be saved."  
45 -msgstr "As associações deste Bsc não puderam ser salvas."  
46 -  
47 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:71  
48 -msgid "Enterprise ownership transferred."  
49 -msgstr "A administração do empreendimento foi transferida."  
50 -  
51 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:85  
52 -msgid "Enterprise was created in association with %s."  
53 -msgstr "O empreendimento foi criado em associação com %s."  
54 -  
55 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:117  
56 -msgid "Contract created."  
57 -msgstr "O contrato foi criado."  
58 -  
59 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:120  
60 -msgid "Contract created but some products could not be added."  
61 -msgstr "O contrato foi criado mas alguns produtos não puderam ser adicionados."  
62 -  
63 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:131  
64 -msgid "Contract doesn't exists! Maybe it was already removed."  
65 -msgstr "O contrato não existe! Talvez ele já tenha sido removido."  
66 -  
67 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:140  
68 -msgid "Could not edit such contract."  
69 -msgstr "Não foi possível editar o contrato."  
70 -  
71 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:170  
72 -msgid "Contract edited."  
73 -msgstr "Contrato editado."  
74 -  
75 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:173  
76 -msgid "Contract edited but some products could not be added."  
77 -msgstr ""  
78 -"O contrato foi editado mas alguns produtos não puderam ser adicionados."  
79 -  
80 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:183  
81 -msgid "Contract removed."  
82 -msgstr "Contrato removido."  
83 -  
84 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:185  
85 -msgid "Contract could not be removed. Sorry! ^^"  
86 -msgstr "O contrato não pôde ser removido. Desculpa!"  
87 -  
88 #: plugins/bsc/lib/bsc_plugin.rb:10 27 #: plugins/bsc/lib/bsc_plugin.rb:10
89 msgid "Adds the Bsc feature" 28 msgid "Adds the Bsc feature"
90 msgstr "Adiciona a funcionalidades Bsc" 29 msgstr "Adiciona a funcionalidades Bsc"
@@ -120,6 +59,44 @@ msgstr &quot;Bsc&quot; @@ -120,6 +59,44 @@ msgstr &quot;Bsc&quot;
120 msgid "Contact" 59 msgid "Contact"
121 msgstr "Contato" 60 msgstr "Contato"
122 61
  62 +#: plugins/bsc/lib/bsc_plugin/bsc.rb:28
  63 +msgid "Bsc info and settings"
  64 +msgstr "Informações e Configurações do Bsc"
  65 +
  66 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:10
  67 +msgid "BSC association"
  68 +msgstr "Associação de BSC"
  69 +
  70 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:18
  71 +msgid "%{requestor} wants to associate this enterprise with %{linked_subject}."
  72 +msgstr "%{requestor} quer associar este empreendimento com %{linked_subject}."
  73 +
  74 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:35
  75 +msgid "%{enterprise} accepted your request to associate it with %{bsc}."
  76 +msgstr "%{enterprise} aceitou seu pedido para associá-lo com %{bsc}."
  77 +
  78 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:39
  79 +msgid "%{enterprise} rejected your request to associate it with %{bsc}."
  80 +msgstr "%{enterprise} rejeitou seu pedido para associá-lo com %{bsc}."
  81 +
  82 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:41
  83 +msgid ""
  84 +"Here is the reject explanation left by the administrator:\n"
  85 +"\n"
  86 +"%{reject_explanation}"
  87 +msgstr ""
  88 +"Segue a explicação de rejeição deixada pelo administrador:\n"
  89 +"\n"
  90 +"%{reject_explanation}"
  91 +
  92 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:46
  93 +msgid "%{requestor} wants assoaciate %{bsc} as your BSC."
  94 +msgstr "%{requestor} quer associar %{bsc} como seu BSC."
  95 +
  96 +#: plugins/bsc/lib/bsc_plugin/mailer.rb:7
  97 +msgid "[%s] Bsc management transferred to you."
  98 +msgstr "[%s] Administração de Bsc transferida para você."
  99 +
123 #: plugins/bsc/lib/bsc_plugin/contract.rb:33 100 #: plugins/bsc/lib/bsc_plugin/contract.rb:33
124 msgid "Opened" 101 msgid "Opened"
125 msgstr "Aberto" 102 msgstr "Aberto"
@@ -148,115 +125,142 @@ msgstr &quot;ProjetoA&quot; @@ -148,115 +125,142 @@ msgstr &quot;ProjetoA&quot;
148 msgid "ProjectB" 125 msgid "ProjectB"
149 msgstr "ProjetoB" 126 msgstr "ProjetoB"
150 127
151 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:10  
152 -msgid "BSC association"  
153 -msgstr "Associação de BSC" 128 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:38
  129 +msgid "This Bsc associations were saved successfully."
  130 +msgstr "As associações deste Bsc foram salvas com sucesso."
154 131
155 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:18  
156 -msgid "%{requestor} wants to associate this enterprise with %{linked_subject}."  
157 -msgstr "%{requestor} quer associar este empreendimento com %{linked_subject}." 132 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:42
  133 +msgid "This Bsc associations couldn't be saved."
  134 +msgstr "As associações deste Bsc não puderam ser salvas."
158 135
159 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:31  
160 -msgid "%{enterprise} accepted your request to associate it with %{bsc}."  
161 -msgstr "%{enterprise} aceitou seu pedido para associá-lo com %{bsc}." 136 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:71
  137 +msgid "Enterprise ownership transferred."
  138 +msgstr "A administração do empreendimento foi transferida."
162 139
163 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:35  
164 -msgid "%{enterprise} rejected your request to associate it with %{bsc}."  
165 -msgstr "%{enterprise} rejeitou seu pedido para associá-lo com %{bsc}." 140 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:85
  141 +msgid "Enterprise was created in association with %s."
  142 +msgstr "O empreendimento foi criado em associação com %s."
166 143
167 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:37  
168 -msgid ""  
169 -"Here is the reject explanation left by the administrator:\n"  
170 -"\n"  
171 -"%{reject_explanation}"  
172 -msgstr ""  
173 -"Segue a explicação de rejeição deixada pelo administrador:\n"  
174 -"\n"  
175 -"%{reject_explanation}" 144 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:117
  145 +msgid "Contract created."
  146 +msgstr "O contrato foi criado."
176 147
177 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:42  
178 -msgid "%{requestor} wants assoaciate %{bsc} as your BSC."  
179 -msgstr "%{requestor} quer associar %{bsc} como seu BSC." 148 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:120
  149 +msgid "Contract created but some products could not be added."
  150 +msgstr "O contrato foi criado mas alguns produtos não puderam ser adicionados."
180 151
181 -#: plugins/bsc/lib/bsc_plugin/bsc.rb:28  
182 -msgid "Bsc info and settings"  
183 -msgstr "Informações e Configurações do Bsc" 152 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:131
  153 +msgid "Contract doesn't exists! Maybe it was already removed."
  154 +msgstr "O contrato não existe! Talvez ele já tenha sido removido."
184 155
185 -#: plugins/bsc/lib/bsc_plugin/mailer.rb:7  
186 -msgid "[%s] Bsc management transferred to you."  
187 -msgstr "[%s] Administração de Bsc transferida para você." 156 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:140
  157 +msgid "Could not edit such contract."
  158 +msgstr "Não foi possível editar o contrato."
188 159
189 -#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:1  
190 -msgid "Transfer Ownership"  
191 -msgstr "Transferir administração" 160 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:170
  161 +msgid "Contract edited."
  162 +msgstr "Contrato editado."
192 163
193 -#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:4  
194 -msgid ""  
195 -"This option allows you to transfer this enterprise's management to another "  
196 -"user. This action will remove all the current administrators. Be careful "  
197 -"when confirming this procedure." 164 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:173
  165 +msgid "Contract edited but some products could not be added."
198 msgstr "" 166 msgstr ""
199 -"Esta opção permite transferir a administração do empreendimento para outro "  
200 -"usuário. Esta ação removerá todos os administradores atuais. Seja cuidadoso "  
201 -"ao confirmar este procedimento." 167 +"O contrato foi editado mas alguns produtos não puderam ser adicionados."
202 168
203 -#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:8  
204 -msgid "Current administrators:"  
205 -msgstr "Administradores atuais:" 169 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:183
  170 +msgid "Contract removed."
  171 +msgstr "Contrato removido."
206 172
207 -#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:19  
208 -msgid "Administrator:"  
209 -msgstr "Administradores:" 173 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:185
  174 +msgid "Contract could not be removed. Sorry! ^^"
  175 +msgstr "O contrato não pôde ser removido. Desculpa!"
210 176
211 -#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:22  
212 -msgid "Type in a search term for the new administrator"  
213 -msgstr "Digite um termo de pesquisa para o novo adiministrador" 177 +#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:11
  178 +msgid "Your Bsc was created."
  179 +msgstr "Seu Bsc foi criado."
214 180
215 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:5  
216 -#: plugins/bsc/views/shared/_fields.html.erb:5  
217 -msgid "Basic information"  
218 -msgstr "Informações Básicas" 181 +#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:21
  182 +msgid "Enterprises validated."
  183 +msgstr "Empreendimento validados."
  184 +
  185 +#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:24
  186 +msgid "Enterprise validations couldn't be saved."
  187 +msgstr "As validações de empreendimento não puderam ser salvas."
  188 +
  189 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:4
  190 +msgid "Associations awaiting approval:"
  191 +msgstr "Associações aguardando aprovação:"
  192 +
  193 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:16
  194 +#: plugins/bsc/views/bsc_plugin_admin/validate_enterprises.html.erb:5
  195 +msgid "Type in a search term for enterprise"
  196 +msgstr "Digite um termo de pesquisa para empreendimentos"
  197 +
  198 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:19
  199 +msgid "Add new enterprise"
  200 +msgstr "Adicionar novo empreendimento"
  201 +
  202 +#: plugins/bsc/views/bsc_plugin_myprofile/new_contract.html.erb:1
  203 +#: plugins/bsc/views/bsc_plugin_myprofile/edit_contract.html.erb:1
  204 +msgid "New contract"
  205 +msgstr "Novo contrato"
219 206
220 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:7  
221 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:6 207 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:6
  208 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:7
222 msgid "Client type" 209 msgid "Client type"
223 msgstr "Tipo de cliente" 210 msgstr "Tipo de cliente"
224 211
225 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:8  
226 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:7 212 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:7
  213 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:8
227 msgid "Business type" 214 msgid "Business type"
228 msgstr "Tipo de negócio" 215 msgstr "Tipo de negócio"
229 216
  217 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:10
230 #: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:11 218 #: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:11
231 #: plugins/bsc/views/bsc_plugin_myprofile/manage_contracts.html.erb:5 219 #: plugins/bsc/views/bsc_plugin_myprofile/manage_contracts.html.erb:5
232 -#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:10  
233 msgid "Status" 220 msgid "Status"
234 msgstr "Estado" 221 msgstr "Estado"
235 222
236 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:12  
237 -msgid "Number of producers"  
238 -msgstr "Número de produtores"  
239 -  
240 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:13  
241 -#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:35  
242 -msgid "Supply period"  
243 -msgstr "Período de fornecimento" 223 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:18
  224 +msgid "Type in search term for enterprise"
  225 +msgstr "Digite um termo de pesquisa para empreendimentos"
244 226
245 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:27  
246 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:23 227 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:23
  228 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:27
247 msgid "Quantity" 229 msgid "Quantity"
248 msgstr "Quantidade" 230 msgstr "Quantidade"
249 231
250 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:28  
251 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:24 232 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:24
  233 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:28
252 msgid "Unit price" 234 msgid "Unit price"
253 msgstr "Preço unitário" 235 msgstr "Preço unitário"
254 236
255 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:38  
256 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:27 237 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:27
  238 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:38
257 msgid "Total" 239 msgid "Total"
258 msgstr "Total" 240 msgstr "Total"
259 241
  242 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:31
  243 +msgid "Add new product"
  244 +msgstr "Adicionar novo produto"
  245 +
  246 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:35
  247 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:13
  248 +msgid "Supply period"
  249 +msgstr "Período de fornecimento"
  250 +
  251 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:57
  252 +msgid "Type in a search term for product"
  253 +msgstr "Digite um termo de pesquisa para produto"
  254 +
  255 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:5
  256 +#: plugins/bsc/views/shared/_fields.html.erb:5
  257 +msgid "Basic information"
  258 +msgstr "Informações Básicas"
  259 +
  260 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:12
  261 +msgid "Number of producers"
  262 +msgstr "Número de produtores"
  263 +
260 #: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:48 264 #: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:48
261 msgid "Annotations" 265 msgid "Annotations"
262 msgstr "Anotações" 266 msgstr "Anotações"
@@ -311,43 +315,31 @@ msgstr &quot;&quot; @@ -311,43 +315,31 @@ msgstr &quot;&quot;
311 msgid "Associate" 315 msgid "Associate"
312 msgstr "Associar" 316 msgstr "Associar"
313 317
314 -#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:4  
315 -msgid "Associations awaiting approval:"  
316 -msgstr "Associações aguardando aprovação:"  
317 -  
318 -#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:16  
319 -#: plugins/bsc/views/bsc_plugin_admin/validate_enterprises.html.erb:5  
320 -msgid "Type in a search term for enterprise"  
321 -msgstr "Digite um termo de pesquisa para empreendimentos"  
322 -  
323 -#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:19  
324 -msgid "Add new enterprise"  
325 -msgstr "Adicionar novo empreendimento"  
326 -  
327 -#: plugins/bsc/views/bsc_plugin_myprofile/new_contract.html.erb:1  
328 -#: plugins/bsc/views/bsc_plugin_myprofile/edit_contract.html.erb:1  
329 -msgid "New contract"  
330 -msgstr "Novo contrato"  
331 -  
332 -#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:18  
333 -msgid "Type in search term for enterprise"  
334 -msgstr "Digite um termo de pesquisa para empreendimentos" 318 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:1
  319 +msgid "Transfer Ownership"
  320 +msgstr "Transferir administração"
335 321
336 -#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:31  
337 -msgid "Add new product"  
338 -msgstr "Adicionar novo produto" 322 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:4
  323 +msgid ""
  324 +"This option allows you to transfer this enterprise's management to another "
  325 +"user. This action will remove all the current administrators. Be careful "
  326 +"when confirming this procedure."
  327 +msgstr ""
  328 +"Esta opção permite transferir a administração do empreendimento para outro "
  329 +"usuário. Esta ação removerá todos os administradores atuais. Seja cuidadoso "
  330 +"ao confirmar este procedimento."
339 331
340 -#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:57  
341 -msgid "Type in a search term for product"  
342 -msgstr "Digite um termo de pesquisa para produto" 332 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:8
  333 +msgid "Current administrators:"
  334 +msgstr "Administradores atuais:"
343 335
344 -#: plugins/bsc/views/bsc_plugin_admin/new.html.erb:2  
345 -msgid "BSC registration"  
346 -msgstr "Registro de BSC" 336 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:19
  337 +msgid "Administrator:"
  338 +msgstr "Administradores:"
347 339
348 -#: plugins/bsc/views/bsc_plugin_admin/validate_enterprises.html.erb:1  
349 -msgid "Validate enterprises"  
350 -msgstr "Validar empreendimentos" 340 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:22
  341 +msgid "Type in a search term for the new administrator"
  342 +msgstr "Digite um termo de pesquisa para o novo adiministrador"
351 343
352 #: plugins/bsc/views/shared/_fields.html.erb:39 344 #: plugins/bsc/views/shared/_fields.html.erb:39
353 msgid "" 345 msgid ""
@@ -357,6 +349,10 @@ msgstr &quot;&quot; @@ -357,6 +349,10 @@ msgstr &quot;&quot;
357 "Você está prestes a alterar o endereço, e isto vai quebrar links externos " 349 "Você está prestes a alterar o endereço, e isto vai quebrar links externos "
358 "para esse bsc ou para artigos dentro dele. Você realmente deseja mudar?" 350 "para esse bsc ou para artigos dentro dele. Você realmente deseja mudar?"
359 351
  352 +#: plugins/bsc/views/bsc_plugin/mailer/admin_notification.html.erb:1
  353 +msgid "The management of %{bsc} was transferred to you."
  354 +msgstr "A adminstração de %{bsc} foi transferida para você."
  355 +
360 #: plugins/bsc/views/profile/_profile_tab.html.erb:2 356 #: plugins/bsc/views/profile/_profile_tab.html.erb:2
361 msgid "Contact phone: " 357 msgid "Contact phone: "
362 msgstr "Telefone de contato: " 358 msgstr "Telefone de contato: "
@@ -365,6 +361,10 @@ msgstr &quot;Telefone de contato: &quot; @@ -365,6 +361,10 @@ msgstr &quot;Telefone de contato: &quot;
365 msgid "Email: " 361 msgid "Email: "
366 msgstr "Email: " 362 msgstr "Email: "
367 363
368 -#: plugins/bsc/views/bsc_plugin/mailer/admin_notification.html.erb:1  
369 -msgid "The management of %{bsc} was transferred to you."  
370 -msgstr "A adminstração de %{bsc} foi transferida para você." 364 +#: plugins/bsc/views/bsc_plugin_admin/new.html.erb:2
  365 +msgid "BSC registration"
  366 +msgstr "Registro de BSC"
  367 +
  368 +#: plugins/bsc/views/bsc_plugin_admin/validate_enterprises.html.erb:1
  369 +msgid "Validate enterprises"
  370 +msgstr "Validar empreendimentos"
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: 0.45.0-6097-g490300c\n"  
9 -"POT-Creation-Date: 2015-07-23 16:26-0300\n" 8 +"Project-Id-Version: 1.2~rc2-23-g29aba34\n"
  9 +"POT-Creation-Date: 2015-08-06 18:47-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/"
@@ -19,79 +19,6 @@ msgstr &quot;&quot; @@ -19,79 +19,6 @@ msgstr &quot;&quot;
19 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" 19 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
20 "X-Generator: Weblate 2.2-dev\n" 20 "X-Generator: Weblate 2.2-dev\n"
21 21
22 -#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:11  
23 -#, fuzzy  
24 -msgid "Your Bsc was created."  
25 -msgstr "Ваш E-Mail %s активирован"  
26 -  
27 -#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:21  
28 -#, fuzzy  
29 -msgid "Enterprises validated."  
30 -msgstr "Утвердители компаний"  
31 -  
32 -#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:24  
33 -#, fuzzy  
34 -msgid "Enterprise validations couldn't be saved."  
35 -msgstr "Утвердители компаний"  
36 -  
37 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:38  
38 -#, fuzzy  
39 -msgid "This Bsc associations were saved successfully."  
40 -msgstr "Все файлы успешно обновлены"  
41 -  
42 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:42  
43 -#, fuzzy  
44 -msgid "This Bsc associations couldn't be saved."  
45 -msgstr "Файл не может быть сохранен"  
46 -  
47 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:71  
48 -#, fuzzy  
49 -msgid "Enterprise ownership transferred."  
50 -msgstr "Домашняя страница компании"  
51 -  
52 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:85  
53 -#, fuzzy  
54 -msgid "Enterprise was created in association with %s."  
55 -msgstr "Регистрация предприятия: \"%s\""  
56 -  
57 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:117  
58 -#, fuzzy  
59 -msgid "Contract created."  
60 -msgstr "Контактный email"  
61 -  
62 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:120  
63 -msgid "Contract created but some products could not be added."  
64 -msgstr ""  
65 -  
66 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:131  
67 -msgid "Contract doesn't exists! Maybe it was already removed."  
68 -msgstr ""  
69 -  
70 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:140  
71 -#, fuzzy  
72 -msgid "Could not edit such contract."  
73 -msgstr "Невозможно обновить продукт"  
74 -  
75 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:170  
76 -#, fuzzy  
77 -msgid "Contract edited."  
78 -msgstr "Контактный email"  
79 -  
80 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:173  
81 -#, fuzzy  
82 -msgid "Contract edited but some products could not be added."  
83 -msgstr "Блок персональной информации"  
84 -  
85 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:183  
86 -#, fuzzy  
87 -msgid "Contract removed."  
88 -msgstr "Тело статьи"  
89 -  
90 -#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:185  
91 -#, fuzzy  
92 -msgid "Contract could not be removed. Sorry! ^^"  
93 -msgstr "Блок персональной информации"  
94 -  
95 #: plugins/bsc/lib/bsc_plugin.rb:10 22 #: plugins/bsc/lib/bsc_plugin.rb:10
96 #, fuzzy 23 #, fuzzy
97 msgid "Adds the Bsc feature" 24 msgid "Adds the Bsc feature"
@@ -132,6 +59,45 @@ msgstr &quot;&quot; @@ -132,6 +59,45 @@ msgstr &quot;&quot;
132 msgid "Contact" 59 msgid "Contact"
133 msgstr "Контакт" 60 msgstr "Контакт"
134 61
  62 +#: plugins/bsc/lib/bsc_plugin/bsc.rb:28
  63 +#, fuzzy
  64 +msgid "Bsc info and settings"
  65 +msgstr "Инфо профиля и настройки"
  66 +
  67 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:10
  68 +#, fuzzy
  69 +msgid "BSC association"
  70 +msgstr "Основная информация"
  71 +
  72 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:18
  73 +#, fuzzy
  74 +msgid "%{requestor} wants to associate this enterprise with %{linked_subject}."
  75 +msgstr "'%{user} хочет активировать E-Mail '%{email}' "
  76 +
  77 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:35
  78 +msgid "%{enterprise} accepted your request to associate it with %{bsc}."
  79 +msgstr ""
  80 +
  81 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:39
  82 +msgid "%{enterprise} rejected your request to associate it with %{bsc}."
  83 +msgstr ""
  84 +
  85 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:41
  86 +msgid ""
  87 +"Here is the reject explanation left by the administrator:\n"
  88 +"\n"
  89 +"%{reject_explanation}"
  90 +msgstr ""
  91 +
  92 +#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:46
  93 +#, fuzzy
  94 +msgid "%{requestor} wants assoaciate %{bsc} as your BSC."
  95 +msgstr "%s хочет быть вашим другом"
  96 +
  97 +#: plugins/bsc/lib/bsc_plugin/mailer.rb:7
  98 +msgid "[%s] Bsc management transferred to you."
  99 +msgstr ""
  100 +
135 #: plugins/bsc/lib/bsc_plugin/contract.rb:33 101 #: plugins/bsc/lib/bsc_plugin/contract.rb:33
136 #, fuzzy 102 #, fuzzy
137 msgid "Opened" 103 msgid "Opened"
@@ -167,122 +133,167 @@ msgstr &quot;Продукт&quot; @@ -167,122 +133,167 @@ msgstr &quot;Продукт&quot;
167 msgid "ProjectB" 133 msgid "ProjectB"
168 msgstr "Продукт" 134 msgstr "Продукт"
169 135
170 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:10 136 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:38
171 #, fuzzy 137 #, fuzzy
172 -msgid "BSC association"  
173 -msgstr "Основная информация" 138 +msgid "This Bsc associations were saved successfully."
  139 +msgstr "Все файлы успешно обновлены"
174 140
175 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:18 141 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:42
176 #, fuzzy 142 #, fuzzy
177 -msgid "%{requestor} wants to associate this enterprise with %{linked_subject}."  
178 -msgstr "'%{user} хочет активировать E-Mail '%{email}' " 143 +msgid "This Bsc associations couldn't be saved."
  144 +msgstr "Файл не может быть сохранен"
179 145
180 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:31  
181 -msgid "%{enterprise} accepted your request to associate it with %{bsc}."  
182 -msgstr "" 146 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:71
  147 +#, fuzzy
  148 +msgid "Enterprise ownership transferred."
  149 +msgstr "Домашняя страница компании"
183 150
184 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:35  
185 -msgid "%{enterprise} rejected your request to associate it with %{bsc}." 151 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:85
  152 +#, fuzzy
  153 +msgid "Enterprise was created in association with %s."
  154 +msgstr "Регистрация предприятия: \"%s\""
  155 +
  156 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:117
  157 +#, fuzzy
  158 +msgid "Contract created."
  159 +msgstr "Контактный email"
  160 +
  161 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:120
  162 +msgid "Contract created but some products could not be added."
186 msgstr "" 163 msgstr ""
187 164
188 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:37  
189 -msgid ""  
190 -"Here is the reject explanation left by the administrator:\n"  
191 -"\n"  
192 -"%{reject_explanation}" 165 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:131
  166 +msgid "Contract doesn't exists! Maybe it was already removed."
193 msgstr "" 167 msgstr ""
194 168
195 -#: plugins/bsc/lib/bsc_plugin/associate_enterprise.rb:42 169 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:140
196 #, fuzzy 170 #, fuzzy
197 -msgid "%{requestor} wants assoaciate %{bsc} as your BSC."  
198 -msgstr "%s хочет быть вашим другом" 171 +msgid "Could not edit such contract."
  172 +msgstr "Невозможно обновить продукт"
199 173
200 -#: plugins/bsc/lib/bsc_plugin/bsc.rb:28 174 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:170
201 #, fuzzy 175 #, fuzzy
202 -msgid "Bsc info and settings"  
203 -msgstr "Инфо профиля и настройки" 176 +msgid "Contract edited."
  177 +msgstr "Контактный email"
204 178
205 -#: plugins/bsc/lib/bsc_plugin/mailer.rb:7  
206 -msgid "[%s] Bsc management transferred to you."  
207 -msgstr "" 179 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:173
  180 +#, fuzzy
  181 +msgid "Contract edited but some products could not be added."
  182 +msgstr "Блок персональной информации"
208 183
209 -#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:1  
210 -msgid "Transfer Ownership"  
211 -msgstr "" 184 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:183
  185 +#, fuzzy
  186 +msgid "Contract removed."
  187 +msgstr "Тело статьи"
212 188
213 -#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:4  
214 -msgid ""  
215 -"This option allows you to transfer this enterprise's management to another "  
216 -"user. This action will remove all the current administrators. Be careful "  
217 -"when confirming this procedure."  
218 -msgstr "" 189 +#: plugins/bsc/controllers/bsc_plugin_myprofile_controller.rb:185
  190 +#, fuzzy
  191 +msgid "Contract could not be removed. Sorry! ^^"
  192 +msgstr "Блок персональной информации"
219 193
220 -#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:8 194 +#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:11
221 #, fuzzy 195 #, fuzzy
222 -msgid "Current administrators:"  
223 -msgstr "Текущие участники" 196 +msgid "Your Bsc was created."
  197 +msgstr "Ваш E-Mail %s активирован"
224 198
225 -#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:19 199 +#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:21
226 #, fuzzy 200 #, fuzzy
227 -msgid "Administrator:"  
228 -msgstr "Администраторы:" 201 +msgid "Enterprises validated."
  202 +msgstr "Утвердители компаний"
229 203
230 -#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:22  
231 -msgid "Type in a search term for the new administrator" 204 +#: plugins/bsc/controllers/bsc_plugin_admin_controller.rb:24
  205 +#, fuzzy
  206 +msgid "Enterprise validations couldn't be saved."
  207 +msgstr "Утвердители компаний"
  208 +
  209 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:4
  210 +msgid "Associations awaiting approval:"
232 msgstr "" 211 msgstr ""
233 212
234 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:5  
235 -#: plugins/bsc/views/shared/_fields.html.erb:5  
236 -msgid "Basic information"  
237 -msgstr "Основная информация" 213 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:16
  214 +#: plugins/bsc/views/bsc_plugin_admin/validate_enterprises.html.erb:5
  215 +#, fuzzy
  216 +msgid "Type in a search term for enterprise"
  217 +msgstr "Отключить поиск по компаниям"
  218 +
  219 +#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:19
  220 +#, fuzzy
  221 +msgid "Add new enterprise"
  222 +msgstr "Одна компания"
  223 +
  224 +#: plugins/bsc/views/bsc_plugin_myprofile/new_contract.html.erb:1
  225 +#: plugins/bsc/views/bsc_plugin_myprofile/edit_contract.html.erb:1
  226 +#, fuzzy
  227 +msgid "New contract"
  228 +msgstr "Весь контент"
238 229
239 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:7  
240 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:6 230 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:6
  231 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:7
241 #, fuzzy 232 #, fuzzy
242 msgid "Client type" 233 msgid "Client type"
243 msgstr "Тип контента" 234 msgstr "Тип контента"
244 235
245 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:8  
246 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:7 236 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:7
  237 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:8
247 #, fuzzy 238 #, fuzzy
248 msgid "Business type" 239 msgid "Business type"
249 msgstr "Название работы" 240 msgstr "Название работы"
250 241
  242 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:10
251 #: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:11 243 #: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:11
252 #: plugins/bsc/views/bsc_plugin_myprofile/manage_contracts.html.erb:5 244 #: plugins/bsc/views/bsc_plugin_myprofile/manage_contracts.html.erb:5
253 -#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:10  
254 msgid "Status" 245 msgid "Status"
255 msgstr "Статус" 246 msgstr "Статус"
256 247
257 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:12  
258 -#, fuzzy  
259 -msgid "Number of producers"  
260 -msgstr "Количество новостей"  
261 -  
262 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:13  
263 -#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:35 248 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:18
264 #, fuzzy 249 #, fuzzy
265 -msgid "Supply period"  
266 -msgstr "Поставщик: %s" 250 +msgid "Type in search term for enterprise"
  251 +msgstr "Отключить поиск по компаниям"
267 252
268 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:27  
269 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:23 253 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:23
  254 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:27
270 #, fuzzy 255 #, fuzzy
271 msgid "Quantity" 256 msgid "Quantity"
272 msgstr "Качество" 257 msgstr "Качество"
273 258
274 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:28  
275 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:24 259 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:24
  260 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:28
276 #, fuzzy 261 #, fuzzy
277 msgid "Unit price" 262 msgid "Unit price"
278 msgstr "Прайс:" 263 msgstr "Прайс:"
279 264
280 -#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:38  
281 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:27 265 #: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:27
  266 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:38
282 #, fuzzy 267 #, fuzzy
283 msgid "Total" 268 msgid "Total"
284 msgstr "Получатель:" 269 msgstr "Получатель:"
285 270
  271 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:31
  272 +#, fuzzy
  273 +msgid "Add new product"
  274 +msgstr "Управление продуктами"
  275 +
  276 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:35
  277 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:13
  278 +#, fuzzy
  279 +msgid "Supply period"
  280 +msgstr "Поставщик: %s"
  281 +
  282 +#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:57
  283 +#, fuzzy
  284 +msgid "Type in a search term for product"
  285 +msgstr "Отключить поиск по компаниям"
  286 +
  287 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:5
  288 +#: plugins/bsc/views/shared/_fields.html.erb:5
  289 +msgid "Basic information"
  290 +msgstr "Основная информация"
  291 +
  292 +#: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:12
  293 +#, fuzzy
  294 +msgid "Number of producers"
  295 +msgstr "Количество новостей"
  296 +
286 #: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:48 297 #: plugins/bsc/views/bsc_plugin_myprofile/view_contract.html.erb:48
287 #, fuzzy 298 #, fuzzy
288 msgid "Annotations" 299 msgid "Annotations"
@@ -340,51 +351,30 @@ msgstr &quot;&quot; @@ -340,51 +351,30 @@ msgstr &quot;&quot;
340 msgid "Associate" 351 msgid "Associate"
341 msgstr "Активировать" 352 msgstr "Активировать"
342 353
343 -#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:4  
344 -msgid "Associations awaiting approval:" 354 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:1
  355 +msgid "Transfer Ownership"
345 msgstr "" 356 msgstr ""
346 357
347 -#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:16  
348 -#: plugins/bsc/views/bsc_plugin_admin/validate_enterprises.html.erb:5  
349 -#, fuzzy  
350 -msgid "Type in a search term for enterprise"  
351 -msgstr "Отключить поиск по компаниям"  
352 -  
353 -#: plugins/bsc/views/bsc_plugin_myprofile/manage_associated_enterprises.html.erb:19  
354 -#, fuzzy  
355 -msgid "Add new enterprise"  
356 -msgstr "Одна компания"  
357 -  
358 -#: plugins/bsc/views/bsc_plugin_myprofile/new_contract.html.erb:1  
359 -#: plugins/bsc/views/bsc_plugin_myprofile/edit_contract.html.erb:1  
360 -#, fuzzy  
361 -msgid "New contract"  
362 -msgstr "Весь контент"  
363 -  
364 -#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:18  
365 -#, fuzzy  
366 -msgid "Type in search term for enterprise"  
367 -msgstr "Отключить поиск по компаниям"  
368 -  
369 -#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:31  
370 -#, fuzzy  
371 -msgid "Add new product"  
372 -msgstr "Управление продуктами" 358 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:4
  359 +msgid ""
  360 +"This option allows you to transfer this enterprise's management to another "
  361 +"user. This action will remove all the current administrators. Be careful "
  362 +"when confirming this procedure."
  363 +msgstr ""
373 364
374 -#: plugins/bsc/views/bsc_plugin_myprofile/_contract_form.html.erb:57 365 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:8
375 #, fuzzy 366 #, fuzzy
376 -msgid "Type in a search term for product"  
377 -msgstr "Отключить поиск по компаниям" 367 +msgid "Current administrators:"
  368 +msgstr "Текущие участники"
378 369
379 -#: plugins/bsc/views/bsc_plugin_admin/new.html.erb:2 370 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:19
380 #, fuzzy 371 #, fuzzy
381 -msgid "BSC registration"  
382 -msgstr "Регистрация предприятия" 372 +msgid "Administrator:"
  373 +msgstr "Администраторы:"
383 374
384 -#: plugins/bsc/views/bsc_plugin_admin/validate_enterprises.html.erb:1  
385 -#, fuzzy  
386 -msgid "Validate enterprises"  
387 -msgstr "Подтвердить компанию" 375 +#: plugins/bsc/views/bsc_plugin_myprofile/transfer_ownership.html.erb:22
  376 +msgid "Type in a search term for the new administrator"
  377 +msgstr ""
388 378
389 #: plugins/bsc/views/shared/_fields.html.erb:39 379 #: plugins/bsc/views/shared/_fields.html.erb:39
390 #, fuzzy 380 #, fuzzy
@@ -395,6 +385,10 @@ msgstr &quot;&quot; @@ -395,6 +385,10 @@ msgstr &quot;&quot;
395 "Вы собираетесь сменить адрес, это приведет к разрыву всех внешних ссылок, " 385 "Вы собираетесь сменить адрес, это приведет к разрыву всех внешних ссылок, "
396 "ведущих на вашу страницу. Вы уверены?" 386 "ведущих на вашу страницу. Вы уверены?"
397 387
  388 +#: plugins/bsc/views/bsc_plugin/mailer/admin_notification.html.erb:1
  389 +msgid "The management of %{bsc} was transferred to you."
  390 +msgstr ""
  391 +
398 #: plugins/bsc/views/profile/_profile_tab.html.erb:2 392 #: plugins/bsc/views/profile/_profile_tab.html.erb:2
399 #, fuzzy 393 #, fuzzy
400 msgid "Contact phone: " 394 msgid "Contact phone: "
@@ -405,6 +399,12 @@ msgstr &quot;Kontakttelefon:&quot; @@ -405,6 +399,12 @@ msgstr &quot;Kontakttelefon:&quot;
405 msgid "Email: " 399 msgid "Email: "
406 msgstr "E-Mail: %s" 400 msgstr "E-Mail: %s"
407 401
408 -#: plugins/bsc/views/bsc_plugin/mailer/admin_notification.html.erb:1  
409 -msgid "The management of %{bsc} was transferred to you."  
410 -msgstr "" 402 +#: plugins/bsc/views/bsc_plugin_admin/new.html.erb:2
  403 +#, fuzzy
  404 +msgid "BSC registration"
  405 +msgstr "Регистрация предприятия"
  406 +
  407 +#: plugins/bsc/views/bsc_plugin_admin/validate_enterprises.html.erb:1
  408 +#, fuzzy
  409 +msgid "Validate enterprises"
  410 +msgstr "Подтвердить компанию"
plugins/bsc/test/functional/bsc_plugin_admin_controller_test.rb
@@ -76,6 +76,6 @@ class BscPluginAdminControllerTest &lt; ActionController::TestCase @@ -76,6 +76,6 @@ class BscPluginAdminControllerTest &lt; ActionController::TestCase
76 76
77 assert e1.validated 77 assert e1.validated
78 assert e2.validated 78 assert e2.validated
79 - assert !e3.validated 79 + refute e3.validated
80 end 80 end
81 end 81 end