Ignore:
Timestamp:
05/24/09 15:42:28 (15 years ago)
Author:
nanardon
Message:
  • end user creation
File:
1 edited

Legend:

Unmodified
Added
Removed
  • LATMOS-Accounts-Web/lib/LATMOS/Accounts/Web/Controller/Create.pm

    r144 r176  
    44use warnings; 
    55use base 'LATMOS::Accounts::Web::Controller'; 
     6use LATMOS::Accounts::Utils; 
    67 
    78=head1 NAME 
     
    3637        /^1$/ and do { 
    3738            $c->stash->{step} = 2; 
    38             $c->req->params->{id} = lc($c->req->param('sn')); 
     39            my $acc = $c->model('Accounts')->accounts; 
     40            foreach ($acc->Parameters('_defattr_')) { 
     41                if (/^user\.(.*)/) { 
     42                    $c->req->params->{$1} ||= $acc->val('_defattr_', $_); 
     43                } 
     44            } 
     45            $c->req->params->{exported} = 1; 
     46            if (! $c->req->params->{id}) { 
     47                for (1) { 
     48                    my $login; 
     49                    if ($c->req->param('sn')) { 
     50                        $login = lc(to_ascii($c->req->param('sn'))); 
     51                        length($login) > 10 and $login = substr($login, 0, 8); 
     52                        $base->get_object('user', $login) or do { 
     53                            $c->req->params->{id} = $login; 
     54                            last; 
     55                        }; 
     56                        if ($c->req->param('givenName')) { 
     57                            length($login) > 8 and $login = substr($login, 0, 8); 
     58                            $login .= substr(lc(to_ascii($c->req->param('givenName'))), 0, 1); 
     59                            $base->get_object('user', $login) or do { 
     60                                $c->req->params->{id} = $login; 
     61                                last; 
     62                            }; 
     63                        } 
     64                    } 
     65                } 
     66            } 
    3967            last; 
    4068        }; 
    4169        /^2$/ and do { 
    42             $base->create_c_object('user', $c->req->params->{id}, %{ $c->req->params }); 
     70            $c->stash->{step} = 2; 
     71            $base->get_object('user', $c->req->params->{id}) and do { 
     72                $c->stash->{idexists} = 1; 
     73                return; 
     74            }; 
     75            $base->create_c_object('user', $c->req->params->{id}, 
     76                %{ $c->req->params }, 
     77                exported => $c->req->param('exported') ? 1 : 0, 
     78            ) 
     79             or return; 
    4380            $base->commit; 
    4481            $c->res->redirect($c->uri_for('/users', $c->req->params->{id})); 
Note: See TracChangeset for help on using the changeset viewer.