Changeset 1960

Show
Ignore:
Timestamp:
04/18/08 00:02:45 (22 months ago)
Author:
bchoate
Message:

Fixed list preferences for member listing screen. BugId:69212

Location:
branches/release-35/lib/MT
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • branches/release-35/lib/MT/App/CMS.pm

    r1934 r1960  
    28072807} 
    28082808 
    2809 sub core_search_apis { 
    2810     my $app = shift; 
    2811     my $q       = $app->param; 
    2812     my $blog_id = $q->param('blog_id'); 
    2813     my $author  = $app->user; 
    2814     my @perms; 
    2815     if ( !$blog_id ) { 
    2816         if ( !$author->is_superuser() ) { 
    2817             require MT::Permission; 
    2818             @perms = MT::Permission->load( { author_id => $author->id } ); 
    2819         } 
    2820     } 
    2821     else { 
    2822         @perms = ( $app->permissions ) 
    2823           or return $app->error( $app->translate("No permissions") ); 
    2824     } 
    2825     return { 
    2826         'entry' => { 
    2827             'order' => 100, 
    2828             'permission' => 'create_post,publish_post,edit_all_posts', 
    2829             'label' => 'Entries', 
    2830             'perm_check' => sub { 
    2831                 grep { $_->can_edit_entry( $_[0], $author ) } @perms; 
    2832             }, 
    2833             'search_cols' => { 
    2834                 'title' => sub { $app->translate('Title') }, 
    2835                 'text' => sub { $app->translate('Entry Body') }, 
    2836                 'text_more' => sub { $app->translate('Extended Entry') }, 
    2837                 'keywords' => sub { $app->translate('Keywords') }, 
    2838                 'excerpt' => sub { $app->translate('Excerpt') }, 
    2839                 'basename' => sub { $app->translate('Basename') }, 
    2840             }, 
    2841             'replace_cols'       => [qw(title text text_more keywords excerpt)], 
    2842             'can_replace'        => 1, 
    2843             'can_search_by_date' => 1, 
    2844             'date_column'        => 'authored_on', 
    2845         }, 
    2846         'comment' => { 
    2847             'order' => 200, 
    2848             'permission' => 'publish_post,create_post,edit_all_posts,manage_feedback', 
    2849             'label' => 'Comments', 
    2850             'perm_check' => sub { 
    2851                 require MT::Entry; 
    2852                 my $entry = MT::Entry->load( $_[0]->entry_id ); 
    2853                 grep { $_->can_edit_entry( $entry, $author ) } @perms; 
    2854             }, 
    2855             'search_cols' => { 
    2856                 'url' => sub { $app->translate('URL') }, 
    2857                 'text' => sub { $app->translate('Comment Text') }, 
    2858                 'email' => sub { $app->translate('Email Address') }, 
    2859                 'ip' => sub { $app->translate('IP Address') }, 
    2860                 'author' => sub { $app->translate('Name') }, 
    2861             }, 
    2862             'replace_cols'       => [qw(text)], 
    2863             'can_replace'        => 1, 
    2864             'can_search_by_date' => 1, 
    2865         }, 
    2866         'ping' => { 
    2867             'order' => 300, 
    2868             'permission' => 'create_post,publish_post,edit_all_posts,manage_feedback', 
    2869             'label' => 'TrackBacks', 
    2870             'perm_check' => sub { 
    2871                 my $ping = shift; 
    2872                 my $tb   = MT::Trackback->load( $ping->tb_id ); 
    2873                 if ( $tb->entry_id ) { 
    2874                     require MT::Entry; 
    2875                     my $entry = MT::Entry->load( $tb->entry_id ); 
    2876                     return 
    2877                       grep { $_->can_edit_entry( $entry, $author ) } @perms; 
    2878                 } 
    2879                 elsif ( $tb->category_id ) { 
    2880                     return grep { $_->can_edit_categories } @perms; 
    2881                 } 
    2882             }, 
    2883             'search_cols' => { 
    2884                 'title' => sub { $app->translate('Title') }, 
    2885                 'excerpt' => sub { $app->translate('Excerpt') }, 
    2886                 'source_url' => sub { $app->translate('Source URL') }, 
    2887                 'ip' => sub { $app->translate('IP Address') }, 
    2888                 'blog_name' => sub { $app->translate('Blog Name') }, 
    2889             }, 
    2890             'replace_cols'       => [qw(title excerpt)], 
    2891             'can_replace'        => 1, 
    2892             'can_search_by_date' => 1, 
    2893         }, 
    2894         'page' => { 
    2895             'order' => 400, 
    2896             'permission' => 'manage_pages', 
    2897             'label' => 'Pages', 
    2898             'perm_check' => sub { 
    2899                 grep { $_->can_manage_pages( $_[0], $author ) } @perms; 
    2900             }, 
    2901             'search_cols' => { 
    2902                 'title' => sub { $app->translate('Title') }, 
    2903                 'text' => sub { $app->translate('Page Body') }, 
    2904                 'text_more' => sub { $app->translate('Extended Page') }, 
    2905                 'keywords' => sub { $app->translate('Keywords') }, 
    2906                 'excerpt' => sub { $app->translate('Excerpt') }, 
    2907                 'basename' => sub { $app->translate('Basename') }, 
    2908             }, 
    2909             'replace_cols'       => [qw(title text text_more keywords excerpt)], 
    2910             'can_replace'        => 1, 
    2911             'can_search_by_date' => 1, 
    2912             'date_column'        => 'authored_on', 
    2913             'results_table_template' => '<mt:include name="include/entry_table.tmpl">', 
    2914         }, 
    2915         'template' => { 
    2916             'order'         => 500, 
    2917             'permission'    => 'edit_templates', 
    2918             'label'         => 'Templates', 
    2919             'perm_check' => sub { 
    2920                 my ($obj) = @_; 
    2921  
    2922                 # are there any perms that match this object and 
    2923                 # allow template editing? 
    2924                 my @check = grep { 
    2925                          $_->blog_id == $obj->blog_id 
    2926                       && $_->can_edit_templates 
    2927                 } @perms; 
    2928                 return @check; 
    2929  
    2930             }, 
    2931             'search_cols' => { 
    2932                 'name' => sub { $app->translate('Template Name') }, 
    2933                 'text' => sub { $app->translate('Text') }, 
    2934                 'linked_file' => sub { $app->translate('Linked Filename') }, 
    2935                 'outfile' => sub { $app->translate('Output Filename') }, 
    2936             }, 
    2937             'replace_cols'       => [qw(name text linked_file outfile)], 
    2938             'can_replace'        => 1, 
    2939             'can_search_by_date' => 0, 
    2940         }, 
    2941         'asset' => { 
    2942             'order' => 600, 
    2943             'permission' => 'manage_assets', 
    2944             'label' => 'Assets', 
    2945             'perm_check' => sub { 
    2946                 1; 
    2947             }, 
    2948             'search_cols' => { 
    2949                 'file_name' => sub { $app->translate('Filename') }, 
    2950                 'description' => sub { $app->translate('Description') }, 
    2951                 'label' => sub { $app->translate('Label') }, 
    2952             }, 
    2953             'replace_cols'       => [], 
    2954             'can_replace'        => 0, 
    2955             'can_search_by_date' => 1, 
    2956             'setup_terms_args'   => sub { 
    2957                 my ($terms, $args, $blog_id) = @_; 
    2958                 $terms->{class} = '*'; 
    2959                 $terms->{blog_id} = $blog_id if $blog_id; 
    2960             } 
    2961         }, 
    2962         'log' => { 
    2963             'order' => 700, 
    2964             'permission'        => "view_blog_log", 
    2965             'system_permission' => "view_log", 
    2966             'label' => 'Activity Log', 
    2967             'perm_check' => sub { 
    2968                 my ($obj) = @_; 
    2969                 return 1 if $author->can_view_log; 
    2970                 my $perm = $author->permissions( $obj->blog_id ); 
    2971                 return $perm->can_view_blog_log; 
    2972             }, 
    2973             'search_cols' => { 
    2974                 'ip' => sub { $app->translate('Log Message') }, 
    2975                 'message' => sub { $app->translate('IP Address') }, 
    2976             }, 
    2977             'can_replace'        => 0, 
    2978             'can_search_by_date' => 1, 
    2979             'setup_terms_args'   => sub { 
    2980                 my ($terms, $args, $blog_id) = @_; 
    2981                 $terms->{class} = '*'; 
    2982                 $terms->{blog_id} = $blog_id if $blog_id; 
    2983             } 
    2984         }, 
    2985         'author' => { 
    2986             'order' => 800, 
    2987             'system_permission' => 'administer', 
    2988             'label' => 'Users', 
    2989             'perm_check' => sub { 
    2990                 return 1 if $author->is_superuser; 
    2991                 if ($blog_id) { 
    2992                     my $perm = $author->permissions($blog_id); 
    2993                     return $perm->can_administer_blog; 
    2994                 } 
    2995                 return 0; 
    2996             }, 
    2997             'search_cols' => { 
    2998                 'name'     => sub { $app->translate('Username') }, 
    2999                 'nickname' => sub { $app->translate('Display Name') }, 
    3000                 'email'    => sub { $app->translate('Email Address') }, 
    3001                 'url'      => sub { $app->translate('URL') }, 
    3002             }, 
    3003             'can_replace'        => 0, 
    3004             'can_search_by_date' => 0, 
    3005             'setup_terms_args'   => sub { 
    3006                 my ($terms, $args, $blog_id) = @_; 
    3007                 if ($blog_id) { 
    3008                     $args->{'join'} = 
    3009                       MT::Permission->join_on( 'author_id', 
    3010                         { blog_id => $blog_id } ); 
    3011                 } 
    3012                 else { 
    3013                     $terms->{'type'} = MT::Author::AUTHOR(); 
    3014                 } 
    3015             }, 
    3016             'results_table_template' => ' 
    3017 <mt:if name="blog_id"> 
    3018     <mt:include name="include/member_table.tmpl"> 
    3019 <mt:else> 
    3020     <mt:include name="include/author_table.tmpl"> 
    3021 </mt:if>', 
    3022         }, 
    3023         'blog' => { 
    3024             'order' => 900, 
    3025             'system_permission' => 'administer', 
    3026             'label' => 'Blogs', 
    3027             'perm_check' => sub { 
    3028                 return 1 if $author->is_superuser; 
    3029                 my ($obj) = @_; 
    3030                 my $perm = $author->permissions( $obj->id ); 
    3031                 $perm 
    3032                   && ( $perm->can_administer_blog || $perm->can_edit_config ); 
    3033             }, 
    3034             'search_cols' => { 
    3035                 'name' => sub { $app->translate('Name') }, 
    3036                 'site_url' => sub { $app->translate('Site URL') }, 
    3037                 'site_path' => sub { $app->translate('Site Root') }, 
    3038                 'description' => sub { $app->translate('Description') }, 
    3039             }, 
    3040             'replace_cols'       => [qw(name site_url site_path description)], 
    3041             'can_replace'        => $author->is_superuser(), 
    3042             'can_search_by_date' => 0, 
    3043             'view'               => 'system', 
    3044             'setup_terms_args'   => sub { 
    3045                 my ($terms, $args, $blog_id) = @_; 
    3046                 $args->{sort}      = 'name'; 
    3047                 $args->{direction} = 'ascend'; 
    3048             } 
    3049         } 
    3050     }; 
    3051  
    3052 } 
    3053  
    30542809sub add_to_favorite_blogs { 
    30552810    my $app = shift; 
  • branches/release-35/lib/MT/CMS/Search.pm

    r1866 r1960  
    1919          or return $app->error( $app->translate("No permissions") ); 
    2020    } 
    21     return { 
     21    my $types = { 
    2222        'entry' => { 
    2323            'order' => 100, 
     
    255255        } 
    256256    }; 
    257  
     257    return $types; 
    258258} 
    259259 
     
    293293      qw( search replace do_replace case is_regex is_limited _type is_junk is_dateranged replace_ids datefrom_year datefrom_month datefrom_day dateto_year dateto_month dateto_day from to show_all do_search orig_search quicksearch ); 
    294294 
    295  
    296295    if ( !$type || ( 'category' eq $type ) || ( 'folder' eq $type ) ) { 
    297296        $type = 'entry'; 
    298297    } 
    299      
     298    if ( ( 'user' eq $type ) ) { 
     299        $type = 'author'; 
     300    } 
     301 
    300302    foreach my $obj_type (qw( role association )) { 
    301303        if ( $type eq $obj_type ) { 
  • branches/release-35/lib/MT/CMS/User.pm

    r1908 r1960  
    333333    $param->{saved} = 1 if $app->param('saved'); 
    334334    $param->{search_label} = $app->translate('Users'); 
    335     $param->{object_type} = 'author'; 
     335    $param->{object_type} = 'user'; 
    336336 
    337337    require MT::Association;