Changeset 2821

Show
Ignore:
Timestamp:
07/20/08 01:04:38 (1 month ago)
Author:
bchoate
Message:

Updates to support display of custom fields on registration form. BugId:80702

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/release-41/lib/MT/App/Comments.pm

    r2749 r2821  
    2929        signup           => \&signup, 
    3030        do_signup        => \&do_signup, 
    31         register         => \&register, 
     31        # register         => \&register, 
    3232        do_register      => \&do_register, 
    3333        preview          => \&preview, 
     
    294294    my $param = {}; 
    295295    $param->{$_} = $app->param($_) foreach qw(blog_id entry_id static username return_url ); 
    296     my $blog = $app->model('blog')->load( $param->{blog_id}
     296    my $blog = $app->model('blog')->load( $param->{blog_id} || 0
    297297        or return $app->error($app->translate('Can\'t load blog #[_1].', $param->{blog_id})); 
    298298    my $cfg  = $app->config; 
     
    315315    my $q   = $app->param; 
    316316 
     317    return $app->error( $app->translate("Invalid request") ) 
     318      if $app->request_method() ne 'POST'; 
     319 
    317320    my $param = {}; 
    318321    $param->{$_} = $q->param($_) 
     
    320323      qw(blog_id entry_id static email url username nickname email hint return_url ); 
    321324 
    322     my $user = $app->create_user_pending($param); 
     325    my $filter_result = $app->run_callbacks( 'api_save_filter.author', $app ); 
     326 
     327    my $user; 
     328    $user = $app->create_user_pending($param) if $filter_result; 
    323329    unless ($user) { 
    324330        my $blog = $app->model('blog')->load( $param->{blog_id} ) 
     
    328334        } 
    329335        $param->{error} = $app->errstr; 
     336        $param->{ 'auth_mode_' . $app->config->AuthenticationModule } = 1; 
    330337        return $app->build_page( 'signup.tmpl', $param ); 
    331338    } 
     339 
     340    ## Assign default role 
     341    $user->add_default_roles; 
     342 
     343    my $original = $user->clone(); 
     344    $app->run_callbacks( 'api_post_save.author', $app, $user, $original ); 
    332345 
    333346    ## Send confirmation email in the background. 
     
    16681681    my $q   = $app->param; 
    16691682 
     1683    return $app->error( $app->translate("Invalid request") ) 
     1684      if $app->request_method() ne 'POST'; 
     1685 
    16701686    my ( $sess_obj, $cmntr ) = $app->get_commenter_session(); 
    16711687    return $app->handle_error( $app->translate('Invalid login') ) 
     
    16801696    $app->user($cmntr); 
    16811697    $app->{session} = $sess_obj; 
     1698    my $original = $cmntr->clone(); 
    16821699 
    16831700    $app->validate_magic 
     
    17131730      if $param{password} && !$param{external_auth}; 
    17141731    if ( $cmntr->save ) { 
     1732        $app->run_callbacks( 'api_post_save.author', $app, $cmntr, $original ); 
     1733 
    17151734        $param{saved} = 
    17161735          $app->translate('Commenter profile has successfully been updated.'); 
  • branches/release-41/tmpl/comment/profile.tmpl

    r2784 r2821  
    8989    </mtapp:setting> 
    9090 
     91    <mt:Loop name="field_loop"> 
     92        <mt:If name="__first__"> 
     93        <input type="hidden" name="_type" value="author" id="obj_type" /> 
     94        <input type="hidden" name="customfield_beacon" value="1" id="customfield_beacon" /> 
     95        </mt:If> 
     96        <!-- start-customfield_<$mt:Var name="basename"$> --> 
     97        <mtapp:setting 
     98        id="$field_id" 
     99        label="$name" 
     100        hint="$description" 
     101        shown="$show_field" 
     102        show_hint="$show_hint" 
     103        required="$required"> 
     104 
     105        <$mt:Var name="field_html"$> 
     106 
     107        </mtapp:setting> 
     108        <!-- end-customfield_<$mt:Var name="basename"$> --> 
     109    </mt:Loop> 
     110 
    91111<p><input type="submit" name="submit" id="save-button" class="ti" accesskey="s" value="<__trans phrase="Save">" /></p> 
    92112 
  • branches/release-41/tmpl/comment/register.tmpl

    r2088 r2821  
    8787    </mtapp:setting> 
    8888 
     89    <mt:Loop name="field_loop"> 
     90        <mt:If name="__first__"> 
     91        <input type="hidden" name="_type" value="author" id="obj_type" /> 
     92        <input type="hidden" name="customfield_beacon" value="1" id="customfield_beacon" /> 
     93        </mt:If> 
     94        <!-- start-customfield_<$mt:Var name="basename"$> --> 
     95        <mtapp:setting 
     96            id="$field_id" 
     97            label="$name" 
     98            hint="$description" 
     99            shown="$show_field" 
     100            show_hint="$show_hint" 
     101            required="$required"> 
     102 
     103        <$mt:Var name="field_html"$> 
     104 
     105        </mtapp:setting> 
     106        <!-- end-customfield_<$mt:Var name="basename"$> --> 
     107    </mt:Loop> 
     108 
    89109    <div class="actions-bar"> 
    90110        <div class="actions-bar-inner pkg actions"> 
  • branches/release-41/tmpl/comment/signup.tmpl

    r2146 r2821  
    103103</mt:if> 
    104104 
     105<mt:Loop name="field_loop"> 
     106    <mt:If name="__first__"> 
     107    <input type="hidden" name="_type" value="author" id="obj_type" /> 
     108    <input type="hidden" name="customfield_beacon" value="1" id="customfield_beacon" /> 
     109    </mt:If> 
     110    <!-- start-customfield_<$mt:Var name="basename"$> --> 
     111    <mtapp:setting 
     112    id="$field_id" 
     113    label="$name" 
     114    hint="$description" 
     115    shown="$show_field" 
     116    show_hint="$show_hint" 
     117    required="$required"> 
     118 
     119    <$mt:Var name="field_html"$> 
     120 
     121    </mtapp:setting> 
     122    <!-- end-customfield_<$mt:Var name="basename"$> --> 
     123</mt:Loop> 
     124 
    105125    <div class="actions-bar"> 
    106126        <div class="actions-bar-inner pkg actions">