Commit c51f902b0a8112c43993b9eded72a9d22d67c7db
1 parent
510b32de
Exists in
master
and in
27 other branches
Lots of cosmetic changes and fixing mass-assignment bug
(ActionItem2859)
Showing
16 changed files
with
91 additions
and
81 deletions
Show diff stats
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
plugins/people_block/lib/friends_block.rb
... | ... | @@ -17,9 +17,9 @@ class FriendsBlock < 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 < 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 < 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 < 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
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 < 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 < 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 < 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 | +} | ... | ... |
... | ... | @@ -0,0 +1 @@ |
1 | +<%= link_to s_('friends|View all'), {:profile => profile.identifier, :controller => 'profile', :action => 'friends'}, :class => 'view-all' %> | ... | ... |
... | ... | @@ -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 %> | ... | ... |
... | ... | @@ -0,0 +1 @@ |
1 | +<%= link_to _('View all'), {:controller => 'search', :action => 'people'}, :class => 'view-all' %> | ... | ... |
plugins/people_block/views/box_organizer/_friends_block.rhtml
plugins/people_block/views/box_organizer/_members_block.rhtml
plugins/people_block/views/box_organizer/_people_block.rhtml
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 | } | ... | ... |