Commit c51f902b0a8112c43993b9eded72a9d22d67c7db

Authored by Joenio Costa
1 parent 510b32de

Lots of cosmetic changes and fixing mass-assignment bug

(ActionItem2859)
app/models/community.rb
... ... @@ -85,10 +85,6 @@ class Community < Organization
85 85 recent_documents(limit, ["articles.type != ? AND articles.highlighted = ?", 'Folder', highlight])
86 86 end
87 87  
88   - def blocks_to_expire_cache
89   - []
90   - end
91   -
92 88 def each_member(offset=0)
93 89 while member = self.members.first(:order => :id, :offset => offset)
94 90 yield member
... ...
app/views/blocks/members.html.erb
... ... @@ -1,5 +0,0 @@
1   -<%= link_to _('View all'), :profile => profile.identifier, :controller => 'profile', :action => 'members' %>
2   -
3   -<% if show_join_leave_button %>
4   - <%= render :partial => 'blocks/profile_info_actions/join_leave_community' %>
5   -<% end %>
plugins/people_block/lib/friends_block.rb
... ... @@ -17,9 +17,9 @@ class FriendsBlock &lt; PeopleBlockBase
17 17 end
18 18  
19 19 def footer
20   - owner = self.owner
  20 + profile = self.owner
21 21 proc do
22   - link_to _('View all'), :profile => owner.identifier, :controller => 'profile', :action => 'friends'
  22 + render :file => 'blocks/friends', :locals => { :profile => profile }
23 23 end
24 24 end
25 25  
... ... @@ -28,4 +28,3 @@ class FriendsBlock &lt; PeopleBlockBase
28 28 end
29 29  
30 30 end
31   -
... ...
plugins/people_block/lib/members_block.rb
1 1 class MembersBlock < PeopleBlockBase
2   -
  2 + settings_items :show_join_leave_button, :type => :boolean, :default => false
3 3 settings_items :visible_role, :type => :string, :default => nil
  4 + attr_accessible :show_join_leave_button, :visible_role
4 5  
5 6 def self.description
6 7 _('Members')
... ... @@ -20,10 +21,11 @@ class MembersBlock &lt; PeopleBlockBase
20 21 end
21 22  
22 23 def footer
23   - owner = self.owner
  24 + profile = self.owner
24 25 role_key = visible_role
  26 + s = show_join_leave_button
25 27 proc do
26   - link_to _('View all'), :profile => owner.identifier, :controller => 'people_block_plugin_profile', :action => 'members', :role_key => role_key
  28 + render :file => 'blocks/members', :locals => { :profile => profile, :show_join_leave_button => s, :role_key => role_key}
27 29 end
28 30 end
29 31  
... ... @@ -35,5 +37,14 @@ class MembersBlock &lt; PeopleBlockBase
35 37 Profile::Roles.organization_member_roles(owner.environment)
36 38 end
37 39  
38   -end
  40 + def extra_option
  41 + data = {
  42 + :human_name => _("Show join leave button"),
  43 + :name => 'block[show_join_leave_button]',
  44 + :value => true,
  45 + :checked => show_join_leave_button,
  46 + :options => {}
  47 + }
  48 + end
39 49  
  50 +end
... ...
plugins/people_block/lib/people_block.rb
... ... @@ -17,8 +17,8 @@ class PeopleBlock &lt; PeopleBlockBase
17 17 end
18 18  
19 19 def footer
20   - lambda do |context|
21   - link_to _('View all'), :controller => 'search', :action => 'people'
  20 + proc do
  21 + render :file => 'blocks/people'
22 22 end
23 23 end
24 24  
... ...
plugins/people_block/lib/people_block_base.rb
1 1 class PeopleBlockBase < Block
2   -
3   - settings_items :prioritize_people_with_image, :type => :boolean, :default => true
  2 + settings_items :prioritize_profiles_with_image, :type => :boolean, :default => true
4 3 settings_items :limit, :type => :integer, :default => 6
5 4 settings_items :name, :type => String, :default => ""
6 5 settings_items :address, :type => String, :default => ""
  6 + attr_accessible :name, :address, :prioritize_profiles_with_image
7 7  
8 8 def self.description
9 9 _('Random people')
... ... @@ -28,7 +28,7 @@ class PeopleBlockBase &lt; Block
28 28 def profile_list
29 29 result = nil
30 30 visible_profiles = profiles.visible.includes([:image,:domains,:preferred_domain,:environment])
31   - if !prioritize_people_with_image
  31 + if !prioritize_profiles_with_image
32 32 result = visible_profiles.all(:limit => limit, :order => 'updated_at DESC').sort_by{ rand }
33 33 elsif visible_profiles.with_image.count >= limit
34 34 result = visible_profiles.with_image.all(:limit => limit * 5, :order => 'updated_at DESC').sort_by{ rand }
... ... @@ -43,7 +43,6 @@ class PeopleBlockBase &lt; Block
43 43 end
44 44  
45 45 def content(args={})
46   -
47 46 profiles = self.profile_list
48 47 title = self.view_title
49 48  
... ... @@ -94,5 +93,8 @@ class PeopleBlockBase &lt; Block
94 93 end
95 94 end
96 95  
97   -end
  96 + def extra_option
  97 + { }
  98 + end
98 99  
  100 +end
... ...
plugins/people_block/public/style.css
... ... @@ -9,7 +9,6 @@
9 9 color: #000;
10 10 text-decoration: none;
11 11 padding-right: 15px;
12   - background: url(/designs/themes/base/imgs/arrow-right-p.png) 100% 50% no-repeat;
13 12 }
14 13  
15 14 .people-block .banner-span {
... ... @@ -57,3 +56,49 @@
57 56 margin: 0px 0px 0px -3px;
58 57 padding: 0px;
59 58 }
  59 +
  60 +/*******************************************************************
  61 + * BLOCKs *
  62 + *******************************************************************/
  63 +#content .friends-block ul,
  64 +#content .members-block ul {
  65 + min-width: 196px;
  66 + width: 192px;
  67 + margin: 0px 0px 0px -3px;
  68 + padding: 0px;
  69 +}
  70 +#content .box-1 .people-block ul,
  71 +#content .box-1 .friends-block ul,
  72 +#content .box-1 .members-block ul {
  73 + width: auto;
  74 + display: block;
  75 +}
  76 +#content .people-block .block-footer-content a,
  77 +#content .friends-block .block-footer-content a,
  78 +#content .members-block .block-footer-content a {
  79 + position: absolute;
  80 + top: 2px;
  81 + right: 0px;
  82 + font-size: 11px;
  83 + color: #000;
  84 + text-decoration: none;
  85 + padding-right: 15px;
  86 +}
  87 +#content .members-block .block-footer-content .join-leave-button a {
  88 + position: relative;
  89 + background-color: #EEE;
  90 + border: 1px solid #CCC;
  91 + color: #555;
  92 + padding-right: inherit;
  93 +}
  94 +#content .members-block .block-footer-content .join-leave-button a:hover {
  95 + color: #FFF;
  96 + background-color: #555;
  97 + border: 1px solid #2e3436;
  98 + text-decoration: none;
  99 +}
  100 +#content .people-block .block-footer-content a.view-all,
  101 +#content .friends-block .block-footer-content a.view-all,
  102 +#content .members-block .block-footer-content a.view-all {
  103 + background: url(/designs/themes/base/imgs/arrow-right-p.png) 100% 50% no-repeat;
  104 +}
... ...
plugins/people_block/views/blocks/friends.html.erb 0 → 100644
... ... @@ -0,0 +1 @@
  1 +<%= link_to s_('friends|View all'), {:profile => profile.identifier, :controller => 'profile', :action => 'friends'}, :class => 'view-all' %>
... ...
plugins/people_block/views/blocks/members.html.erb 0 → 100644
... ... @@ -0,0 +1,5 @@
  1 +<%= link_to _('View all'), {:profile => profile.identifier, :controller => 'people_block_plugin_profile', :action => 'members', :role_key => role_key}, :class => 'view-all' %>
  2 +
  3 +<% if show_join_leave_button %>
  4 + <%= render :partial => 'blocks/profile_info_actions/join_leave_community' %>
  5 +<% end %>
... ...
plugins/people_block/views/blocks/people.html.erb 0 → 100644
... ... @@ -0,0 +1 @@
  1 +<%= link_to _('View all'), {:controller => 'search', :action => 'people'}, :class => 'view-all' %>
... ...
plugins/people_block/views/box_organizer/_friends_block.rhtml
... ... @@ -1 +0,0 @@
1   -../people_block_plugin.rhtml
2 0 \ No newline at end of file
plugins/people_block/views/box_organizer/_members_block.rhtml
... ... @@ -1 +0,0 @@
1   -../people_block_plugin.rhtml
2 0 \ No newline at end of file
plugins/people_block/views/box_organizer/_people_block.rhtml
... ... @@ -1 +0,0 @@
1   -../people_block_plugin.rhtml
2 0 \ No newline at end of file
plugins/people_block/views/box_organizer/_people_block_base.html.erb 0 → 100644
... ... @@ -0,0 +1,10 @@
  1 +<%= labelled_form_field _('Name:'), text_field(:block, :name) %>
  2 +
  3 +<%= labelled_form_field _('Address:'), text_field(:block, :address) %>
  4 +
  5 +<% if @block.kind_of?(MembersBlock) %>
  6 + <%= labelled_form_field _('Filter by role:'), '' %>
  7 + <%= select_tag 'block[visible_role]', options_for_select(@block.roles.map{|r| [r.name, r.key]}.insert(0,''), @block.visible_role) %>
  8 +<% end %>
  9 +
  10 +<%= render :partial => 'profile_list_block' %>
... ...
plugins/people_block/views/people_block_plugin.rhtml
... ... @@ -1,26 +0,0 @@
1   -<div id="people_block_plugin">
2   -
3   - <p>
4   - <span>Limit</span>
5   - <br />
6   - <%= text_field_tag 'block[limit]', @block.limit, :maxlength => 2 %>
7   - </p>
8   -
9   - <p>
10   - <span>Name</span>
11   - <br />
12   - <%= text_field_tag 'block[name]', @block.name %>
13   - </p>
14   -
15   - <p>
16   - <span>Address</span>
17   - <br />
18   - <%= text_field_tag 'block[address]', @block.address %>
19   - </p>
20   -
21   - <% if @block.kind_of?(MembersBlock) %>
22   - <%= labelled_form_field _('Filter by role:'), '' %>
23   - <%= select_tag 'block[visible_role]', options_for_select(@block.roles.map{|r| [r.name, r.key]}.insert(0,''), @block.visible_role) %>
24   - <% end %>
25   -
26   -</div>
public/designs/themes/base/style.css
... ... @@ -478,12 +478,9 @@ div#notice {
478 478  
479 479 /************************** Profile List *****************************/
480 480  
481   -#content .people-block ul,
482 481 #content .profile-list-block ul,
483 482 #content .enterprises-block ul,
484   -#content .members-block ul,
485 483 #content .communities-block ul,
486   -#content .friends-block ul,
487 484 #content .fans-block ul {
488 485 min-width: 196px;
489 486 width: 192px;
... ... @@ -491,24 +488,18 @@ div#notice {
491 488 padding: 0px;
492 489 }
493 490  
494   -#content .box-1 .people-block ul,
495 491 #content .box-1 .profile-list-block ul,
496 492 #content .box-1 .enterprises-block ul,
497   -#content .box-1 .members-block ul,
498 493 #content .box-1 .communities-block ul,
499   -#content .box-1 .friends-block ul,
500 494 #content .box-1 .fans-block ul {
501 495 width: auto;
502 496 display: block;
503 497 }
504 498  
505 499 #content .tags-block .block-footer-content a,
506   -#content .people-block .block-footer-content a,
507 500 #content .profile-list-block .block-footer-content a,
508 501 #content .enterprises-block .block-footer-content a,
509   -#content .members-block .block-footer-content a,
510   -#content .communities-block .block-footer-content a,
511   -#content .friends-block .block-footer-content a {
  502 +#content .communities-block .block-footer-content a {
512 503 position: absolute;
513 504 top: 2px;
514 505 right: 0px;
... ... @@ -518,29 +509,12 @@ div#notice {
518 509 padding-right: 15px;
519 510 }
520 511 #content .tags-block .block-footer-content a,
521   -#content .people-block .block-footer-content a,
522 512 #content .profile-list-block .block-footer-content a,
523 513 #content .enterprises-block .block-footer-content a,
524   -#content .communities-block .block-footer-content a,
525   -#content .friends-block .block-footer-content a {
  514 +#content .communities-block .block-footer-content a {
526 515 background: url(imgs/arrow-right-p.png) 100% 50% no-repeat;
527 516 }
528 517  
529   -#content .members-block .block-footer-content .join-leave-button a {
530   - position: relative;
531   - background-color: #EEE;
532   - border: 1px solid #CCC;
533   - color: #555;
534   - padding-right: inherit;
535   -}
536   -
537   -#content .members-block .block-footer-content .join-leave-button a:hover {
538   - color: #FFF;
539   - background-color: #555;
540   - border: 1px solid #2e3436;
541   - text-decoration: none;
542   -}
543   -
544 518 #content .profile-list-block .block-title {
545 519 text-align: left;
546 520 }
... ...