Changeset 176


Ignore:
Timestamp:
05/24/09 15:42:28 (15 years ago)
Author:
nanardon
Message:
  • end user creation
Location:
LATMOS-Accounts-Web
Files:
1 added
4 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})); 
  • LATMOS-Accounts-Web/lib/LATMOS/Accounts/Web/Model/Accounts.pm

    r172 r176  
    2323} 
    2424 
     25sub accounts { 
     26    my ($self) = @_; 
     27    LATMOS::Accounts 
     28        ->new(LATMOS::Accounts::Web->config->{config}) 
     29} 
     30 
    2531sub db { 
    2632    my ($self) = @_; 
    27     my $base = LATMOS::Accounts 
    28         ->new(LATMOS::Accounts::Web->config->{config}) 
     33    my $base = $self->accounts 
    2934        ->default_base; 
    3035    $base->{wexported} = 1; 
  • LATMOS-Accounts-Web/lib/LATMOS/Accounts/Web/Model/AttrForms.pm

    r174 r176  
    9797        attrs => [ qw( 
    9898            gidNumber description 
     99            manager 
    99100            sutype exported 
    100101        ) ], 
  • LATMOS-Accounts-Web/root/html/create/user.tt

    r145 r176  
    11<!-- $Id$ --> 
    2 [% IF step %] 
    32<form action="[% c.uri_for('/create', 'user') %]" method="POST"> 
    4 <input type="hidden" name="step" value="2"> 
    5 Login: <input type="text" name="id" value="[% c.req.param('id') | html %]"><br> 
    6 [% form.attr_label('sn') %] [% form.attr_field('sn') %]<br> 
    7 [% form.attr_label('givenName') %] [% form.attr_field('givenName') %]<br> 
    8 [% form.attr_label('gidNumber') %] [% form.attr_field('gidNumber') %]<br> 
    9 <input type="submit"> 
    10 </form> 
     3<table border="0"> 
     4<tr><td>[% IF idexists %]<img src="[% c.uri_for('/static', 'icons', 'dialog-cancel.png') %]">[% END %] 
     5Login:</th><td><input type="text" name="id" value="[% c.req.param('id') | html %]"></td></tr> 
     6<tr><td>[% form.attr_label('sn') %]</td><td>[% form.attr_field('sn') %]</td></tr> 
     7<tr><td>[% form.attr_label('givenName') %]</td><td>[% form.attr_field('givenName') %]</td></tr> 
     8<tr><td>[% form.attr_label('description') %]</td><td>[% form.attr_field('description') %]</td></tr> 
     9[% IF ! step %] 
     10 
     11<input type="hidden" name="step" value="1"> 
    1112 
    1213[% ELSE %] 
    13 <form action="[% c.uri_for('/create', 'user') %]" method="POST"> 
    14 <input type="hidden" name="step" value="1"> 
    15 [% form.attr_label('sn') %] [% form.attr_field('sn') %]<br> 
    16 [% form.attr_label('givenName') %] [% form.attr_field('givenName') %]<br> 
    17 <input type="submit"> 
    18 </form> 
     14 
     15<input type="hidden" name="step" value="2"> 
     16<tr><td>[% form.attr_label('gidNumber') %]</td><td>[% form.attr_field('gidNumber') %]</td></tr> 
     17<tr><td>[% form.attr_label('uidNumber') %]</td><td>[% form.attr_field('uidNumber') %]</td></tr> 
     18<tr><td>[% form.attr_label('exported') %]</td><td>[% form.attr_field('exported') %]</td></tr> 
    1919 
    2020[% END %] 
     21<tr><td colspan="2"><input type="submit"></td></tr> 
     22</table> 
     23 
     24</form> 
Note: See TracChangeset for help on using the changeset viewer.