aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.PL2
-rw-r--r--catdap.yml11
-rw-r--r--lib/CatDap.pm6
-rw-r--r--lib/CatDap/Controller/Root.pm6
-rw-r--r--lib/CatDap/Controller/admin.pm14
-rw-r--r--lib/CatDap/Controller/register.pm17
-rw-r--r--lib/CatDap/Controller/user.pm53
-rw-r--r--lib/CatDap/I18N/af.po282
-rw-r--r--lib/CatDap/I18N/de.po383
-rw-r--r--lib/CatDap/I18N/fr.po347
-rw-r--r--lib/CatDap/I18N/messages.pot249
-rw-r--r--root/admin/account.tt31
-rw-r--r--root/admin/account_addoc.tt8
-rw-r--r--root/admin/account_group.tt8
-rw-r--r--root/admin/account_modify.tt24
-rw-r--r--root/admin/account_promote.tt14
-rw-r--r--root/admin/group.tt16
-rw-r--r--root/admin/group_modify.tt8
-rw-r--r--root/admin/index.tt2
-rw-r--r--root/email/activation.tt2
-rw-r--r--root/email/admin/password.tt2
-rw-r--r--root/index.tt33
-rw-r--r--root/register/check.tt2
-rw-r--r--root/register/index.tt75
-rw-r--r--root/static/style/ttsite.css128
-rw-r--r--root/static/style/yui/reset-fonts-grids.css306
-rw-r--r--root/template/footer5
-rw-r--r--root/template/header2
-rw-r--r--root/template/html14
-rw-r--r--root/template/pre4
-rw-r--r--root/template/wrapper5
-rw-r--r--root/user/index.tt28
-rw-r--r--root/user/password.tt19
33 files changed, 1787 insertions, 319 deletions
diff --git a/Makefile.PL b/Makefile.PL
index c965166..c93307b 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -13,8 +13,10 @@ requires 'Catalyst::Runtime' => '5.80022';
requires 'Catalyst::Plugin::ConfigLoader';
requires 'Catalyst::Plugin::Static::Simple';
requires 'Catalyst::Plugin::I18N';
+requires 'Catalyst::Plugin::Unicode::Encoding';
requires 'Catalyst::Plugin::Authentication';
requires 'Catalyst::Plugin::Authentication::Store::LDAP';
+requires 'Catalyst::Plugin::Authorization::Roles';
requires 'Catalyst::Plugin::Captcha';
requires 'Catalyst::Plugin::Session::Store::File';
requires 'Catalyst::Plugin::Session::State::Cookie';
diff --git a/catdap.yml b/catdap.yml
index 5db414d..88dcfe8 100644
--- a/catdap.yml
+++ b/catdap.yml
@@ -11,6 +11,7 @@ name: CatDap
default_view: Web
organisation: Mageia
+project_url: http://www.mageia.org/
apptitle: Mageia Identity Management
emailfrom: noreply@mageia.org
@@ -20,6 +21,8 @@ Model::Proxy:
password: FIXME
host: ldap.mageia.org
start_tls: 1
+ options:
+ inet6: 1
# dn and password should not be required here, we rebind with credentials
# from the authenticated user using Model::LDAP::FromAuthentication
@@ -28,6 +31,10 @@ Model::User:
host: ldap.mageia.org
start_tls: 1
+register:
+ login_blacklist:
+ - apache
+
authentication:
default_realm: ldap
realms:
@@ -39,8 +46,10 @@ authentication:
store:
class: LDAP
ldap_server: 'ldap.mageia.org'
+ ldap_server_options:
+ inet6: 1
start_tls: 1
- binddn: cn=catdap,ou=System Accounts,dc=mageai,dc=org
+ binddn: cn=catdap,ou=System Accounts,dc=mageia,dc=org
bindpw: FIXME
user_basedn: "ou=people,dc=mageia,dc=org"
user_filter: '(&(objectClass=inetOrgPerson)(uid=%s))'
diff --git a/lib/CatDap.pm b/lib/CatDap.pm
index 1e4b42b..d53ca8f 100644
--- a/lib/CatDap.pm
+++ b/lib/CatDap.pm
@@ -22,6 +22,7 @@ use Catalyst qw/
Authentication
Authorization::Roles
I18N
+ Unicode::Encoding
/;
extends 'Catalyst';
@@ -42,11 +43,6 @@ __PACKAGE__->config(
name => 'CatDap',
# Disable deprecated behavior needed by old applications
disable_component_resolution_regex_fallback => 1,
- static => {
- dirs => [
- 'static'
- ],
- }
);
sub begin : Private {
diff --git a/lib/CatDap/Controller/Root.pm b/lib/CatDap/Controller/Root.pm
index 550cd61..4cf7fd7 100644
--- a/lib/CatDap/Controller/Root.pm
+++ b/lib/CatDap/Controller/Root.pm
@@ -28,7 +28,11 @@ The root page (/)
sub index :Path :Args(0) {
my ( $self, $c ) = @_;
-
+ # if user is defined, redirect to /user and let the /user page handle the authentication
+ if (defined $c->user) {
+ $c->log->debug('Redirecting to /user');
+ $c->res->redirect('/user');
+ }
# Hello World
#$c->response->body( $c->welcome_message );
}
diff --git a/lib/CatDap/Controller/admin.pm b/lib/CatDap/Controller/admin.pm
index d44bf71..914b2d0 100644
--- a/lib/CatDap/Controller/admin.pm
+++ b/lib/CatDap/Controller/admin.pm
@@ -47,7 +47,17 @@ sub auto : Private {
my $password;
my $mesg;
my $dn;
- my $keyprefix = sprintf( "%02x%02x%02x", split /\./, $c->req->address );
+
+ # TODO merge this code with the one in user.pm
+ my $keyprefix;
+ if ($c->req->address =~ m/:/) {
+ my $address = $c->req->address;
+ $address =~ s/\[\]://;
+ $keyprefix = sprintf( "%06x", $address >> 104 ); # if we shift right 104 bits from 128 we have 24 bits left or 3 bytes.
+ }
+ else {
+ $keyprefix = sprintf( "%02x%02x%02x", split /\./, $c->req->address );
+ }
if ( !defined $c->user or not $c->req->cookie('key') ) {
$c->detach('/user/login')
if ( not $c->req->param('username')
@@ -526,7 +536,7 @@ sub password : Local {
if ( @{ $c->error } ) {
my $errors = join "\n",@{ $c->error };
$c->log->info("Sending reset mail to $email failed: $errors");
- $c->response->body($c->loc('An error occured sending the email, but your account was created. Please try the password recovery process f you entered the correct email address: [_1]', $errors));
+ $c->response->body($c->loc('An error occured sending the email, but your account was created. Please try the password recovery process if you entered the correct email address: [_1]', $errors));
$c->error(0); # Reset the error condition if you need to
}
push @errors,$c->loc('Password reset and email sent');
diff --git a/lib/CatDap/Controller/register.pm b/lib/CatDap/Controller/register.pm
index c90032d..a488181 100644
--- a/lib/CatDap/Controller/register.pm
+++ b/lib/CatDap/Controller/register.pm
@@ -51,6 +51,20 @@ sub check : Local {
if (! $c->validate_captcha($c->req->param('validate'))){
push @errors, $c->loc('Incorrect validation text, please try again');
}
+
+ if ( ! open( my $etcpasswd, "/etc/passwd")) {
+ push @errors, $c->loc('Cannot check /etc/passwd, please warn system administrators');
+ } else {
+ if ( grep { /^$username:/ } <$etcpasswd> ) {
+ push @errors, $c->loc('Invalid username, already used by system');
+ }
+ close($etcpasswd);
+ }
+
+ if ( grep /^$username$/, @{${$c->config}{'register'}{'login_blacklist'}}) {
+ push @errors, $c->loc('Username is not authorized to be used');
+ }
+
if ($c->request->params->{gn} !~ /^\p{IsAlnum}+$/) {
push @errors, $c->loc(
'The first name supplied contains illegal characters'
@@ -108,7 +122,8 @@ sub check : Local {
push @errors,$mesg->error;
$c->log->info( sprintf("Creating DN $dn failed: %s", $mesg->error) );
$c->stash(errors => \@errors);
- #$c->stash(template => 'register/index.tt');
+ $c->stash(template => 'register/index.tt');
+ return ;
}
$c->stash(
diff --git a/lib/CatDap/Controller/user.pm b/lib/CatDap/Controller/user.pm
index 439f86e..b3edb32 100644
--- a/lib/CatDap/Controller/user.pm
+++ b/lib/CatDap/Controller/user.pm
@@ -55,7 +55,7 @@ sub auto : Private {
my $mesg;
my $dn;
my @errors;
- my $keyprefix = sprintf("%02x%02x%02x",split /\./,$c->req->address);
+ my $keyprefix = $self->get_keyprefix($c);
if (! defined $c->user or not $c->req->cookie('key')) {
if (not $c->req->param('password')) {
push @errors,$c->loc('Your session has expired');
@@ -112,6 +112,22 @@ sub auto : Private {
}
+sub get_keyprefix : Private {
+ my ( $self, $c ) = @_;
+ my $keyprefix;
+ if ($c->req->address =~ m/:/) {
+ my $address = $c->req->address;
+ $address =~ s/\[\]://;
+
+ # if we shift right 104 bits from 128 we have 24 bits left or 3 bytes.
+ $keyprefix = sprintf( "%06x", $address >> 104 );
+ }
+ else {
+ $keyprefix = sprintf( "%02x%02x%02x", split /\./, $c->req->address );
+ }
+ return $keyprefix;
+}
+
=head2 index
=cut
@@ -122,6 +138,7 @@ sub index :Path :Args(0) {
my $password;
my $mesg;
my $dn;
+ my $userfilter;
if (not defined $c->user ) {
$c->stash(template => 'index.tt');
@@ -136,8 +153,10 @@ sub index :Path :Args(0) {
my $user = $c->user->username;
my $entry;
- $c->log->debug("Searching for user $user");
- $mesg = $c->model('User')->search("(&(objectclass=inetOrgPerson)(uid=$user))");
+ $userfilter = $c->user->store->user_filter;
+ $userfilter =~ s/\%s/$user/g,
+ $c->log->debug("Searching for user $user with filter $userfilter");
+ $mesg = $c->model('User')->search($userfilter);
$entry = $mesg->entry;
my %mods;
my %params = %{$c->req->parameters};
@@ -161,7 +180,7 @@ sub index :Path :Args(0) {
}
}
- $mesg = $c->model('User')->search("(&(objectclass=inetOrgPerson)(uid=$user))");
+ $mesg = $c->model('User')->search($userfilter);
$c->log->debug($mesg->error) if $mesg->code;
$entry = $mesg->entry;
$c->log->debug($mesg->error) if $mesg->code;
@@ -218,13 +237,13 @@ sub index :Path :Args(0) {
sub add : Local {
my ( $self, $c) = @_;
- my ($mesg,$entry,$user,$attr,$value);
- $attr = $c->req->param('attribute');
- $value = $c->req->param('value');
- $user = $c->user->username;
- $c->log->debug("Searching for user $user");
- $mesg = $c->model('User')->search("(&(objectclass=inetOrgPerson)(uid=$user))");
- $entry = $mesg->entry;
+ my $attr = $c->req->param('attribute');
+ my $value = $c->req->param('value');
+ my $user = $c->user->username;
+ my $userfilter = sprintf($c->user->store->user_filter ,$c->user->username);
+ $c->log->debug("Searching for user $user with $userfilter");
+ my $mesg = $c->model('User')->search($userfilter);
+ my $entry = $mesg->entry;
$entry->add( $attr => $value);
$c->log->info("Adding $attr = $value to user $user");
$entry->update;
@@ -235,10 +254,12 @@ sub add : Local {
sub delete : Local : Args(2) {
my ( $self, $c, $attrname,$attrvalue) = @_;
- my ($mesg,$entry,$user);
+ my ($mesg,$entry,$user,$userfilter);
$user = $c->user->username;
+ $userfilter = $c->user->store->user_filter;
+ $userfilter =~ s/%s/$c->user->username/g;
$c->log->debug("Searching for user $user");
- $mesg = $c->model('User')->search("(&(objectclass=inetOrgPerson)(uid=$user))");
+ $mesg = $c->model('User')->search($userfilter);
$entry = $mesg->entry;
$c->log->info("Deleting $attrname = $attrvalue from user $user");
$entry->delete($attrname => $attrvalue);
@@ -286,7 +307,7 @@ sub password : Local {
} else {
# re-encrypt the new password and forward to user view
- my $keyprefix = sprintf("%02x%02x%02x",split /\./,$c->req->address);
+ my $keyprefix = $self->get_keyprefix($c);
my $key = $c->req->cookie('key')->value;
$cipher = Crypt::CBC->new( -key => $keyprefix . $key,
-cipher => 'Blowfish'
@@ -314,7 +335,7 @@ sub firstlogin : Local {
$c->res->redirect('/user');
}
# cache password for next request with form data
- my $keyprefix = sprintf("%02x%02x%02x",split /\./,$c->req->address);
+ my $keyprefix = $self->get_keyprefix($c);
my $key = Data::UUID->new->create_str();
$cipher = Crypt::CBC->new( -key => $keyprefix . $key,
-cipher => 'Blowfish'
@@ -331,7 +352,7 @@ sub firstlogin : Local {
}
#Re-authenticate user
- my $keyprefix = sprintf("%02x%02x%02x",split /\./,$c->req->address);
+ my $keyprefix = $self->get_keyprefix($c);
my $key = $c->req->cookie('key')->value;
$cipher = Crypt::CBC->new( -key => $keyprefix . $key,
-cipher => 'Blowfish'
diff --git a/lib/CatDap/I18N/af.po b/lib/CatDap/I18N/af.po
index f1c4fcf..1a6cf5a 100644
--- a/lib/CatDap/I18N/af.po
+++ b/lib/CatDap/I18N/af.po
@@ -1,45 +1,78 @@
-#: lib/CatDap/Controller/register.pm:119
+#: lib/CatDap/Controller/register.pm:133
msgid "Activation"
msgstr "Aktivering"
-#: root/user/index.tt:28 root/user/index.tt:8
+#: root/admin/account_addoc.tt:28 root/admin/account_modify.tt:24
+#: root/admin/group_modify.tt:18 root/user/index.tt:19 root/user/index.tt:46
msgid "Add"
msgstr "Voeg by"
+#: root/admin/account_modify.tt:85
+msgid "Add ObjectClass"
+msgstr ""
+
+#: root/admin/account_modify.tt:47
+msgid "Add attribute"
+msgstr ""
+
+#. (oc, dn)
+#: root/admin/account_addoc.tt:1
+msgid "Adding objectclass %1 to dn %2"
+msgstr ""
+
#: lib/CatDap/Controller/register.pm:49
msgid "Addresses do not match"
msgstr "Die addresse verskil"
-#: lib/CatDap/Controller/register.pm:75
+#: lib/CatDap/Controller/register.pm:89
msgid "An account already exists with this email address"
msgstr "'n Rekening met hierde epos adres bestaan reeds"
-#: lib/CatDap/Controller/register.pm:80
+#: lib/CatDap/Controller/register.pm:94
msgid "An account already exists with this username"
msgstr "'n Rekening met hierdie gebruikersnaam bestaan reeds"
#. ($errors)
-#: lib/CatDap/Controller/admin.pm:529
+#: lib/CatDap/Controller/register.pm:145
msgid ""
"An error occured sending the email, but your account was created. Please try "
-"the password recovery process f you entered the correct email address: %1"
+"the password recovery process if you entered the correct email address. "
+"Errors %1"
msgstr ""
"Daar was 'n fout met die stuur van die aktiverings epos, maar jou rekening "
"is geskep. Probeer die wagwoord herwinnings proses as die epos adres korrek "
-"was: %1"
+"was. Foute: %1"
#. ($errors)
-#: lib/CatDap/Controller/register.pm:131
+#: lib/CatDap/Controller/admin.pm:539
+#, fuzzy
msgid ""
"An error occured sending the email, but your account was created. Please try "
-"the password recovery process if you entered the correct email address. "
-"Errors %1"
+"the password recovery process if you entered the correct email address: %1"
msgstr ""
"Daar was 'n fout met die stuur van die aktiverings epos, maar jou rekening "
"is geskep. Probeer die wagwoord herwinnings proses as die epos adres korrek "
-"was. Foute: %1"
+"was: %1"
+
+#. ($errors)
+#: lib/CatDap/Controller/forgot_password.pm:105
+msgid "An error occured sending the email, please try again later. Errors %1"
+msgstr ""
-#: root/user/firstlogin.tt:14 root/user/password.tt:18
+#: root/admin/account_addoc.tt:9 root/admin/account_modify.tt:8
+#: root/admin/group_modify.tt:5 root/user/index.tt:4
+msgid "Attribute"
+msgstr ""
+
+#: lib/CatDap/Controller/register.pm:56
+msgid "Cannot check /etc/passwd, please warn system administrators"
+msgstr ""
+
+#: root/register/index.tt:29
+msgid "Captcha"
+msgstr ""
+
+#: root/user/firstlogin.tt:14 root/user/password.tt:19
msgid "Change"
msgstr "Verander"
@@ -51,7 +84,12 @@ msgstr "Verander wagwoord"
msgid "Check your mail for activation instructions."
msgstr "Kyk jou epos vir aktiverings instruksies."
-#: root/register/index.tt:34
+#: root/forgot_password/complete.tt:5
+#, fuzzy
+msgid "Check your mail for password reset instructions."
+msgstr "Kyk jou epos vir aktiverings instruksies."
+
+#: root/register/index.tt:24
msgid "Confirm Email address"
msgstr "Bevestig epos adres"
@@ -62,10 +100,11 @@ msgstr "Huidige wagwoord"
#. (cn)
#. (entry.cn)
#: root/email/activation.tt:1 root/email/admin/password.tt:1
+#: root/email/forgot_password.tt:1
msgid "Dear %1,"
msgstr "Liewe %1,"
-#: root/user/index.tt:9
+#: root/admin/account_modify.tt:27 root/user/index.tt:22
msgid "Delete"
msgstr "Vee uit"
@@ -73,18 +112,75 @@ msgstr "Vee uit"
msgid "Edit"
msgstr "Wysig"
-#: root/register/index.tt:30
+#: root/admin/account.tt:33 root/admin/account.tt:8
+#: root/admin/account_promote.tt:6 root/register/index.tt:20
+msgid "Email"
+msgstr ""
+
+#: root/forgot_password/index.tt:11 root/register/index.tt:21
msgid "Email address"
msgstr "Epos adres"
-#: root/register/index.tt:22
+#: root/forgot_password/complete.tt:1
+msgid "Email sent."
+msgstr ""
+
+#: root/forgot_password/confirm.tt:2
+#, fuzzy
+msgid "Enter new password."
+msgstr "Verander wagwoord"
+
+#: root/register/index.tt:32
+msgid "Enter text"
+msgstr ""
+
+#: root/admin/account.tt:34 root/admin/account_promote.tt:7
+#, fuzzy
+msgid "First Name"
+msgstr "Voornaam"
+
+#: root/register/index.tt:13
msgid "First name"
msgstr "Voornaam"
+#: lib/CatDap/Controller/forgot_password.pm:94
+#, fuzzy
+msgid "Forgot password"
+msgstr "Huidige wagwoord"
+
+#: root/forgot_password/index.tt:5
+msgid "Forgot your password?"
+msgstr ""
+
+#: root/index.tt:17 root/index.tt:18
+#, fuzzy
+msgid "Forgotten password?"
+msgstr "Huidige wagwoord"
+
+#: root/admin/account.tt:36 root/admin/account.tt:9
+#: root/admin/account_promote.tt:9
+msgid "Full Name"
+msgstr ""
+
+#: root/admin/group.tt:27
+msgid "Group Name"
+msgstr ""
+
+#: root/admin/group.tt:9
+#, fuzzy
+msgid "Group name"
+msgstr "Voornaam"
+
+#: root/admin/account_modify.tt:2
+msgid "Groups"
+msgstr ""
+
+#: lib/CatDap/Controller/forgot_password.pm:48
#: lib/CatDap/Controller/register.pm:52
msgid "Incorrect validation text, please try again"
msgstr "Inkorrekte teks van die prentjie, probeer weer"
+#: lib/CatDap/Controller/forgot_password.pm:45
#: lib/CatDap/Controller/register.pm:46
msgid "Invalid email address"
msgstr "Ongeldige epos adres"
@@ -93,39 +189,69 @@ msgstr "Ongeldige epos adres"
msgid "Invalid username"
msgstr "Ongeldige gebruikersnaam"
-#: root/template/header:12 root/user/fake.tt:3
+#: lib/CatDap/Controller/register.pm:59
+msgid "Invalid username, already used by system"
+msgstr ""
+
+#: root/template/header:10 root/user/fake.tt:3
msgid "Log out"
msgstr "Teken uit"
-#: root/index.tt:1 root/index.tt:17
+#: root/index.tt:1 root/index.tt:13
msgid "Login"
msgstr "Teken in"
-#: root/user/firstlogin.tt:5 root/user/password.tt:9
+#: root/forgot_password/confirm.tt:8 root/user/firstlogin.tt:5
+#: root/user/password.tt:10
msgid "New Password"
msgstr "Nuwe Wagwoord"
-#: lib/CatDap/Controller/user.pm:273
+#: lib/CatDap/Controller/user.pm:296
msgid "New passwords dont match"
msgstr "Nuwe wagwoorde verskil"
-#: root/index.tt:11
+#: root/forgot_password/complete.tt:4
+#, fuzzy
+msgid "Operation was successful."
+msgstr "Registrasie was suksesvol."
+
+#: root/index.tt:10
msgid "Password"
msgstr "Wagwoord"
-#: lib/CatDap/Controller/user.pm:267
+#: lib/CatDap/Controller/user.pm:290
msgid "Password incorrect"
msgstr "Wagwoord inkorrek"
-#: lib/CatDap/Controller/admin.pm:532
+#: lib/CatDap/Controller/admin.pm:542
msgid "Password reset and email sent"
msgstr "Wagwoord is herstel en epos gestuur"
+#: root/register/index.tt:12
+msgid "Personal Information"
+msgstr ""
+
#: root/email/admin/password.tt:5
msgid "Please click below to change your password"
msgstr "Volg die skakel onder en verander jou wagwoord"
-#: root/index.tt:18 root/register/index.tt:43 root/register/index.tt:6
+#: root/admin/index.tt:1
+msgid "Please use the menus above."
+msgstr ""
+
+#: root/admin/account_promote.tt:25
+msgid "Primary group"
+msgstr ""
+
+#: root/admin/account_modify.tt:71
+msgid "Promote"
+msgstr ""
+
+#: root/admin/account_modify.tt:62
+msgid "Promote user to posixAccount with primary group:"
+msgstr ""
+
+#: root/index.tt:16 root/register/index.tt:3 root/register/index.tt:35
msgid "Register"
msgstr "Registreer"
@@ -137,34 +263,94 @@ msgstr "Registrasie voltooi"
msgid "Registration was successful."
msgstr "Registrasie was suksesvol."
-#: root/user/firstlogin.tt:9 root/user/password.tt:13
+#: root/forgot_password/confirm.tt:11 root/user/firstlogin.tt:10
+#: root/user/password.tt:15
msgid "Repeat New Password"
msgstr "Herhaal Nuwe Wagwoord"
-#: root/register/index.tt:26
+#: root/admin/account_modify.tt:1
+#, fuzzy
+msgid "Reset password"
+msgstr "Huidige wagwoord"
+
+#: root/admin/account.tt:22
+msgid "Search"
+msgstr ""
+
+#: root/admin/account.tt:4 root/admin/group.tt:5
+msgid "Search by"
+msgstr ""
+
+#: root/admin/account_promote.tt:4
+msgid "Select"
+msgstr ""
+
+#: root/forgot_password/index.tt:18
+#, fuzzy
+msgid "Send me my password"
+msgstr "Verander wagwoord"
+
+#: root/forgot_password/confirm.tt:16
+#, fuzzy
+msgid "Set new password"
+msgstr "Herhaal Nuwe Wagwoord"
+
+#: root/register/check.tt:1
+msgid "Success"
+msgstr ""
+
+#: root/admin/account.tt:10 root/admin/account.tt:35
+#: root/admin/account_promote.tt:8 root/register/index.tt:16
msgid "Surname"
msgstr "Van"
-#: lib/CatDap/Controller/register.pm:56
+#: lib/CatDap/Controller/register.pm:70
msgid "The first name supplied contains illegal characters"
msgstr "Die verskafte noemnaam sluit ongeldige karakters in"
-#: lib/CatDap/Controller/register.pm:61
+#: lib/CatDap/Controller/register.pm:75
msgid "The surname supplied contains illegal characters"
msgstr "Die verskafte van sluit ondeldige karakters in"
+#: lib/CatDap/Controller/forgot_password.pm:66
+msgid "This email address is not bound to an account"
+msgstr ""
+
#: root/email/activation.tt:3
msgid "To activate your account, please follow the link below."
msgstr "Om U rekening te aktiveer, volg asseblief die volgende skakel."
-#: root/user/index.tt:13
+#: root/email/forgot_password.tt:3
+#, fuzzy
+msgid "To reset your password, please follow the link below."
+msgstr "Om U rekening te aktiveer, volg asseblief die volgende skakel."
+
+#: root/admin/account_modify.tt:35 root/user/index.tt:29
msgid "Update"
msgstr "Opdateer"
-#: root/index.tt:7 root/register/index.tt:18
+#: root/admin/account.tt:32 root/admin/account.tt:7
+#: root/admin/account_promote.tt:5 root/index.tt:6 root/register/index.tt:7
+#: root/register/index.tt:8
msgid "Username"
msgstr "Gebruikersnaam"
+#: lib/CatDap/Controller/register.pm:65
+msgid "Username is not authorized to be used"
+msgstr ""
+
+#: root/admin/account_addoc.tt:10 root/admin/account_modify.tt:9
+#: root/admin/group_modify.tt:6 root/user/index.tt:4
+msgid "Value"
+msgstr ""
+
+#. (c.config.organisation)
+#: root/email/forgot_password.tt:2
+msgid ""
+"Your %1 account has been requested to change the password. If you did not do "
+"this, or you do not want to change your password; you can just do nothing."
+msgstr ""
+
#. (c.config.organisation)
#: root/email/activation.tt:2
msgid "Your %1 account has been successfully created, but requires activation."
@@ -179,14 +365,42 @@ msgstr "Jou wagwoord is herstel deur %1"
msgid "Your session has expired"
msgstr "Jou sessie het verstrek"
-#: root/index.tt:17
-msgid "or"
-msgstr "of"
+#: root/admin/account.tt:15 root/admin/group.tt:15
+msgid "contains"
+msgstr ""
+
+#: root/admin/group_modify.tt:14
+#, fuzzy
+msgid "delete"
+msgstr "Vee uit"
+
+#: root/admin/account.tt:17 root/admin/group.tt:17
+msgid "greater than or equal to"
+msgstr ""
-#: lib/CatDap/Controller/admin.pm:516
+#: root/admin/account.tt:16 root/admin/group.tt:16
+msgid "is exactly"
+msgstr ""
+
+#: root/admin/account.tt:18 root/admin/group.tt:18
+msgid "less than"
+msgstr ""
+
+#: root/admin/group.tt:10
+msgid "member"
+msgstr ""
+
+#: lib/CatDap/Controller/admin.pm:526
msgid "password reset"
msgstr "Wagwoord herstelling"
+#: root/admin/account_modify.tt:53
+msgid "with value"
+msgstr ""
+
+#~ msgid "or"
+#~ msgstr "of"
+
#~ msgid "Repeat"
#~ msgstr "Herhaal"
diff --git a/lib/CatDap/I18N/de.po b/lib/CatDap/I18N/de.po
new file mode 100644
index 0000000..636b777
--- /dev/null
+++ b/lib/CatDap/I18N/de.po
@@ -0,0 +1,383 @@
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Oliver Burger <oliver.bgr@googlemail.com>, 2011.
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: 2011-01-06 22:50+0100\n"
+"Last-Translator: Oliver Burger <oliver.bgr@googlemail.com>\n"
+"Language-Team: German <mageia-i18n@mageia.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.0\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+
+#: lib/CatDap/Controller/register.pm:133
+msgid "Activation"
+msgstr "Aktivierung"
+
+#: root/admin/account_addoc.tt:28 root/admin/account_modify.tt:24 root/admin/group_modify.tt:18 root/user/index.tt:19 root/user/index.tt:46
+msgid "Add"
+msgstr "Hinzufügen"
+
+#: root/admin/account_modify.tt:85
+msgid "Add ObjectClass"
+msgstr "Objekt-Klasse hinzufügen"
+
+#: root/admin/account_modify.tt:47
+msgid "Add attribute"
+msgstr "Attribut hinzufügen"
+
+#. (oc, dn)
+#: root/admin/account_addoc.tt:1
+msgid "Adding objectclass %1 to dn %2"
+msgstr "Objektklasse %1 zu dn %2 hinzufügen"
+
+#: lib/CatDap/Controller/register.pm:49
+msgid "Addresses do not match"
+msgstr "Die Adressen stimmen nicht überein"
+
+#: lib/CatDap/Controller/register.pm:89
+msgid "An account already exists with this email address"
+msgstr "Ein Zugang mit dieser Email-Adresse existiert bereits"
+
+#: lib/CatDap/Controller/register.pm:94
+msgid "An account already exists with this username"
+msgstr "Ein Zugang mit diesem Benutzernamen existiert bereits"
+
+#. ($errors)
+#: lib/CatDap/Controller/register.pm:145
+msgid "An error occured sending the email, but your account was created. Please try the password recovery process if you entered the correct email address. Errors %1"
+msgstr ""
+"Ein Fehler beim Senden der Email ist aufgetreten, aber Ihr Zugang wurde eingerichtet. Bitte versuchen Sie, den Passwortwiederherstellungs-Prozess durchzuführen, "
+"falls Sie die korrekte Email-Adresse angegeben haben. Fehler %1"
+
+#. ($errors)
+#: lib/CatDap/Controller/admin.pm:539
+msgid "An error occured sending the email, but your account was created. Please try the password recovery process if you entered the correct email address: %1"
+msgstr ""
+"Ein Fehler ist beim Senden der Email aufgetreten, aber Ihr Zugang wurde eingerichtet. Bitte versuchen Sie, den Passwortwiederherstellungs-Prozess durchzuführen, "
+"falls Sie die richtige Email-Adresse angegeben haben: %1"
+
+#. ($errors)
+#: lib/CatDap/Controller/forgot_password.pm:105
+msgid "An error occured sending the email, please try again later. Errors %1"
+msgstr "Ein Fehler ist beim Versenden der Email aufgetreten, bitte versuchen Sie es später erneut. Fehler %1"
+
+#: root/admin/account_addoc.tt:9 root/admin/account_modify.tt:8 root/admin/group_modify.tt:5 root/user/index.tt:4
+msgid "Attribute"
+msgstr "Attribut"
+
+#: lib/CatDap/Controller/register.pm:56
+msgid "Cannot check /etc/passwd, please warn system administrators"
+msgstr "Die Datei /etc/passwd kann nicht überprüft werden, bitte warnen Sie die System-Administratoren"
+
+#: root/register/index.tt:29
+msgid "Captcha"
+msgstr "Captcha"
+
+#: root/user/firstlogin.tt:14 root/user/password.tt:19
+msgid "Change"
+msgstr "Ändern"
+
+#: root/user/fake.tt:2
+msgid "Change password"
+msgstr "Das Passwort ändern"
+
+#: root/register/complete.tt:5
+msgid "Check your mail for activation instructions."
+msgstr "Überprüfen Sie Ihre Emails auf Anweisungen zum Aktivieren."
+
+#: root/forgot_password/complete.tt:5
+msgid "Check your mail for password reset instructions."
+msgstr "Überprüfen Sie Ihre Emails auf Anweisungen zum Zurücksetzen Ihres Passwortes."
+
+#: root/register/index.tt:24
+msgid "Confirm Email address"
+msgstr "Bestätigen Sie die Emailadresse"
+
+#: root/user/password.tt:5
+msgid "Current password"
+msgstr "Aktuelles Passwort"
+
+#. (cn)
+#. (entry.cn)
+#: root/email/activation.tt:1 root/email/admin/password.tt:1 root/email/forgot_password.tt:1
+msgid "Dear %1,"
+msgstr "Sehr geehrter %1,"
+
+#: root/admin/account_modify.tt:27 root/user/index.tt:22
+msgid "Delete"
+msgstr "Löschen"
+
+#: root/user/fake.tt:1
+msgid "Edit"
+msgstr "Ändern"
+
+#: root/admin/account.tt:33 root/admin/account.tt:8 root/admin/account_promote.tt:6 root/register/index.tt:20
+msgid "Email"
+msgstr "Email"
+
+#: root/forgot_password/index.tt:11 root/register/index.tt:21
+msgid "Email address"
+msgstr "Email-Adresse"
+
+#: root/forgot_password/complete.tt:1
+msgid "Email sent."
+msgstr "Email versandt."
+
+#: root/forgot_password/confirm.tt:2
+msgid "Enter new password."
+msgstr "Neues Passwort angeben."
+
+#: root/register/index.tt:32
+msgid "Enter text"
+msgstr "Text angeben"
+
+#: root/admin/account.tt:34 root/admin/account_promote.tt:7
+msgid "First Name"
+msgstr "Vorname"
+
+#: root/register/index.tt:13
+msgid "First name"
+msgstr "Nachname"
+
+#: lib/CatDap/Controller/forgot_password.pm:94
+msgid "Forgot password"
+msgstr "Passwort vergessen"
+
+#: root/forgot_password/index.tt:5
+msgid "Forgot your password?"
+msgstr "Haben Sie Ihr Passwort vergessen?"
+
+#: root/index.tt:17 root/index.tt:18
+msgid "Forgotten password?"
+msgstr "Vergessenes Passwort?"
+
+#: root/admin/account.tt:36 root/admin/account.tt:9 root/admin/account_promote.tt:9
+msgid "Full Name"
+msgstr "Vollständiger Name"
+
+#: root/admin/group.tt:27
+msgid "Group Name"
+msgstr "Gruppenname"
+
+#: root/admin/group.tt:9
+msgid "Group name"
+msgstr "Gruppenname"
+
+#: root/admin/account_modify.tt:2
+msgid "Groups"
+msgstr "Gruppen"
+
+#: lib/CatDap/Controller/forgot_password.pm:48 lib/CatDap/Controller/register.pm:52
+msgid "Incorrect validation text, please try again"
+msgstr "Inkorrekter Überprüfungstext, bitte versuchen Sie es erneut"
+
+#: lib/CatDap/Controller/forgot_password.pm:45 lib/CatDap/Controller/register.pm:46
+msgid "Invalid email address"
+msgstr "Ungültige Email-Adresse"
+
+#: lib/CatDap/Controller/register.pm:42
+msgid "Invalid username"
+msgstr "Ungültiger Benutzername"
+
+#: lib/CatDap/Controller/register.pm:59
+msgid "Invalid username, already used by system"
+msgstr "Ungültiger Benutzername, wird vom System bereits genutzt"
+
+#: root/template/header:10 root/user/fake.tt:3
+msgid "Log out"
+msgstr "Abmelden"
+
+#: root/index.tt:1 root/index.tt:13
+msgid "Login"
+msgstr "Anmelden"
+
+#: root/forgot_password/confirm.tt:8 root/user/firstlogin.tt:5 root/user/password.tt:10
+msgid "New Password"
+msgstr "Neues Passwort"
+
+#: lib/CatDap/Controller/user.pm:296
+msgid "New passwords dont match"
+msgstr "Die neuen Passwörter stimmen nicht überein"
+
+#: root/forgot_password/complete.tt:4
+msgid "Operation was successful."
+msgstr "Die Operation war erfolgreich."
+
+#: root/index.tt:10
+msgid "Password"
+msgstr "Passwort"
+
+#: lib/CatDap/Controller/user.pm:290
+msgid "Password incorrect"
+msgstr "Falsches Passwort"
+
+#: lib/CatDap/Controller/admin.pm:542
+msgid "Password reset and email sent"
+msgstr "Passwort zurückgesetzt und Email versandt"
+
+#: root/register/index.tt:12
+msgid "Personal Information"
+msgstr "Persönliche Informationen"
+
+#: root/email/admin/password.tt:5
+msgid "Please click below to change your password"
+msgstr "Bitte klicken Sie unten um Ihr Passwort zu ändern"
+
+#: root/admin/index.tt:1
+msgid "Please use the menus above."
+msgstr "Bitte benutzen Sie die Menüs oben."
+
+#: root/admin/account_promote.tt:25
+msgid "Primary group"
+msgstr "Primäre Gruppe"
+
+#: root/admin/account_modify.tt:71
+msgid "Promote"
+msgstr ""
+
+#: root/admin/account_modify.tt:62
+msgid "Promote user to posixAccount with primary group:"
+msgstr ""
+
+#: root/index.tt:16 root/register/index.tt:3 root/register/index.tt:35
+msgid "Register"
+msgstr "Registrieren"
+
+#: root/register/complete.tt:1
+msgid "Registration completed"
+msgstr "Registrierung vollständig"
+
+#: root/register/complete.tt:4
+msgid "Registration was successful."
+msgstr "Die Registrierung war erfolgreich"
+
+#: root/forgot_password/confirm.tt:11 root/user/firstlogin.tt:10 root/user/password.tt:15
+msgid "Repeat New Password"
+msgstr "Neues Passwort wiederholen"
+
+#: root/admin/account_modify.tt:1
+msgid "Reset password"
+msgstr "Passwort wiederherstellen"
+
+#: root/admin/account.tt:22
+msgid "Search"
+msgstr "Suchen"
+
+#: root/admin/account.tt:4 root/admin/group.tt:5
+msgid "Search by"
+msgstr "Suchen nach"
+
+#: root/admin/account_promote.tt:4
+msgid "Select"
+msgstr "Auswählen"
+
+#: root/forgot_password/index.tt:18
+msgid "Send me my password"
+msgstr "Ein Passwort senden"
+
+#: root/forgot_password/confirm.tt:16
+msgid "Set new password"
+msgstr "Neues Passwort setzen"
+
+#: root/register/check.tt:1
+msgid "Success"
+msgstr "Erfolg"
+
+#: root/admin/account.tt:10 root/admin/account.tt:35 root/admin/account_promote.tt:8 root/register/index.tt:16
+msgid "Surname"
+msgstr "Nachname"
+
+#: lib/CatDap/Controller/register.pm:70
+msgid "The first name supplied contains illegal characters"
+msgstr "Der angegebene Vorname enthält ungültige Zeichen"
+
+#: lib/CatDap/Controller/register.pm:75
+msgid "The surname supplied contains illegal characters"
+msgstr "Der angegebene Nachname enthält ungültige Zeichen"
+
+#: lib/CatDap/Controller/forgot_password.pm:66
+msgid "This email address is not bound to an account"
+msgstr "Diese Email-Adresse ist nicht an einen Zugang gebunden"
+
+#: root/email/activation.tt:3
+msgid "To activate your account, please follow the link below."
+msgstr "Um Ihren Zugang zu aktivieren, folgen Sie bitte den Links unten."
+
+#: root/email/forgot_password.tt:3
+msgid "To reset your password, please follow the link below."
+msgstr "Um Ihr Passwort zurückzusetzen, folgen Sie den Links unten."
+
+#: root/admin/account_modify.tt:35 root/user/index.tt:29
+msgid "Update"
+msgstr "Aktualisieren"
+
+#: root/admin/account.tt:32 root/admin/account.tt:7 root/admin/account_promote.tt:5 root/index.tt:6 root/register/index.tt:7 root/register/index.tt:8
+msgid "Username"
+msgstr "Benutzername"
+
+#: lib/CatDap/Controller/register.pm:65
+msgid "Username is not authorized to be used"
+msgstr "Der Benutzername darf nicht verwendet werden"
+
+#: root/admin/account_addoc.tt:10 root/admin/account_modify.tt:9 root/admin/group_modify.tt:6 root/user/index.tt:4
+msgid "Value"
+msgstr "Wert"
+
+#. (c.config.organisation)
+#: root/email/forgot_password.tt:2
+msgid "Your %1 account has been requested to change the password. If you did not do this, or you do not want to change your password; you can just do nothing."
+msgstr ""
+"Für ihren %1-Zugang wurde angefordert, das Passwort zu ändern. Wenn Sie dies nicht getan haben oder Ihr Passwort nicht ändern wollen, können Sie einfach nichts tun."
+
+#. (c.config.organisation)
+#: root/email/activation.tt:2
+msgid "Your %1 account has been successfully created, but requires activation."
+msgstr "Ihr %1-Zugang wurde erfolgreich eingerichtet, benötigt aber noch Aktivierung."
+
+#. (c.user.username)
+#: root/email/admin/password.tt:3
+msgid "Your password was reset by %1"
+msgstr "Ihr Passwort wurde von %1 zurückgesetzt"
+
+#: lib/CatDap/Controller/user.pm:61
+msgid "Your session has expired"
+msgstr "Ihre Sitzung ist abgelaufen"
+
+#: root/admin/account.tt:15 root/admin/group.tt:15
+msgid "contains"
+msgstr "enthält"
+
+#: root/admin/group_modify.tt:14
+msgid "delete"
+msgstr "löschen"
+
+#: root/admin/account.tt:17 root/admin/group.tt:17
+msgid "greater than or equal to"
+msgstr "Größer als oder gleich wie"
+
+#: root/admin/account.tt:16 root/admin/group.tt:16
+msgid "is exactly"
+msgstr "ist genau"
+
+#: root/admin/account.tt:18 root/admin/group.tt:18
+msgid "less than"
+msgstr "weniger als"
+
+#: root/admin/group.tt:10
+msgid "member"
+msgstr "Mitglied"
+
+#: lib/CatDap/Controller/admin.pm:526
+msgid "password reset"
+msgstr "Passwort zurückgesetzt"
+
+#: root/admin/account_modify.tt:53
+msgid "with value"
+msgstr "mit dem Wert"
+
diff --git a/lib/CatDap/I18N/fr.po b/lib/CatDap/I18N/fr.po
index 3f13b16..85cb6e4 100644
--- a/lib/CatDap/I18N/fr.po
+++ b/lib/CatDap/I18N/fr.po
@@ -5,98 +5,202 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Catdap\n"
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"PO-Revision-Date: 2010-10-19 21:07+0100\n"
+"PO-Revision-Date: 2010-11-04 21:09+0100\n"
"Last-Translator: Michael Scherer <misc@zarb.org>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language-Team: LANGUAGE <mageia-i18n@mageia.org>\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: French\n"
+"X-Poedit-Country: FRANCE\n"
+"X-Poedit-SourceCharset: utf-8\n"
-#: lib/CatDap/Controller/register.pm:119
+#: lib/CatDap/Controller/register.pm:133
msgid "Activation"
-msgstr ""
+msgstr "Activation"
-#: root/user/index.tt:28 root/user/index.tt:8
+#: root/admin/account_addoc.tt:28 root/admin/account_modify.tt:24
+#: root/admin/group_modify.tt:18 root/user/index.tt:19 root/user/index.tt:46
msgid "Add"
+msgstr "Ajouter"
+
+#: root/admin/account_modify.tt:85
+msgid "Add ObjectClass"
+msgstr ""
+
+#: root/admin/account_modify.tt:47
+msgid "Add attribute"
+msgstr ""
+
+#. (oc, dn)
+#: root/admin/account_addoc.tt:1
+msgid "Adding objectclass %1 to dn %2"
msgstr ""
#: lib/CatDap/Controller/register.pm:49
msgid "Addresses do not match"
msgstr "Les adresses ne correspondent pas"
-#: lib/CatDap/Controller/register.pm:75
+#: lib/CatDap/Controller/register.pm:89
msgid "An account already exists with this email address"
-msgstr ""
+msgstr "Un compte existe déjà avec cet email"
-#: lib/CatDap/Controller/register.pm:80
+#: lib/CatDap/Controller/register.pm:94
msgid "An account already exists with this username"
msgstr "Un compte existe déjà pour ce nom d'utilisateur"
#. ($errors)
-#: lib/CatDap/Controller/admin.pm:529
+#: lib/CatDap/Controller/register.pm:145
msgid ""
"An error occured sending the email, but your account was created. Please try "
-"the password recovery process f you entered the correct email address: %1"
+"the password recovery process if you entered the correct email address. "
+"Errors %1"
msgstr ""
+"Une erreur est arrivé lors de l'envoi du mail, mais votre compte a été crée. "
+"Vous pouvez utiliser la fonction de réinitialisation du mot de passe si "
+"votre adresse est correcte. Erreurs %1"
#. ($errors)
-#: lib/CatDap/Controller/register.pm:131
+#: lib/CatDap/Controller/admin.pm:539
+#, fuzzy
msgid ""
"An error occured sending the email, but your account was created. Please try "
-"the password recovery process if you entered the correct email address. "
-"Errors %1"
+"the password recovery process if you entered the correct email address: %1"
msgstr ""
+"Une erreur est arrivé lors de l'envoi du mail, mais votre compte a été crée. "
+"Vous pouvez utiliser la fonction de réinitialisation du mot de passe si "
+"votre adresse est correcte : %1"
-#: root/user/firstlogin.tt:14 root/user/password.tt:18
-msgid "Change"
+#. ($errors)
+#: lib/CatDap/Controller/forgot_password.pm:105
+msgid "An error occured sending the email, please try again later. Errors %1"
+msgstr ""
+
+#: root/admin/account_addoc.tt:9 root/admin/account_modify.tt:8
+#: root/admin/group_modify.tt:5 root/user/index.tt:4
+msgid "Attribute"
+msgstr ""
+
+#: lib/CatDap/Controller/register.pm:56
+msgid "Cannot check /etc/passwd, please warn system administrators"
msgstr ""
+#: root/register/index.tt:29
+msgid "Captcha"
+msgstr ""
+
+#: root/user/firstlogin.tt:14 root/user/password.tt:19
+msgid "Change"
+msgstr "Changer"
+
#: root/user/fake.tt:2
-#, fuzzy
msgid "Change password"
-msgstr "Mot de passe"
+msgstr "Changer le mot de passe"
#: root/register/complete.tt:5
msgid "Check your mail for activation instructions."
-msgstr ""
+msgstr "Vérifier votre boite mail pour les instructions d'activation"
+
+#: root/forgot_password/complete.tt:5
+#, fuzzy
+msgid "Check your mail for password reset instructions."
+msgstr "Vérifier votre boite mail pour les instructions d'activation"
-#: root/register/index.tt:34
+#: root/register/index.tt:24
msgid "Confirm Email address"
-msgstr ""
+msgstr "Confirmer l'adresse email"
#: root/user/password.tt:5
msgid "Current password"
-msgstr ""
+msgstr "Mot de passe actuel"
#. (cn)
#. (entry.cn)
#: root/email/activation.tt:1 root/email/admin/password.tt:1
-#, fuzzy
+#: root/email/forgot_password.tt:1
msgid "Dear %1,"
-msgstr "Cher(e)"
+msgstr "Cher(e) %1,"
-#: root/user/index.tt:9
+#: root/admin/account_modify.tt:27 root/user/index.tt:22
msgid "Delete"
-msgstr ""
+msgstr "Supprimer"
#: root/user/fake.tt:1
msgid "Edit"
+msgstr "Éditer"
+
+#: root/admin/account.tt:33 root/admin/account.tt:8
+#: root/admin/account_promote.tt:6 root/register/index.tt:20
+msgid "Email"
msgstr ""
-#: root/register/index.tt:30
+#: root/forgot_password/index.tt:11 root/register/index.tt:21
msgid "Email address"
-msgstr "Adresse de messagerie"
+msgstr "Adresse email"
+
+#: root/forgot_password/complete.tt:1
+msgid "Email sent."
+msgstr ""
+
+#: root/forgot_password/confirm.tt:2
+#, fuzzy
+msgid "Enter new password."
+msgstr "Changer le mot de passe"
+
+#: root/register/index.tt:32
+msgid "Enter text"
+msgstr ""
-#: root/register/index.tt:22
+#: root/admin/account.tt:34 root/admin/account_promote.tt:7
+#, fuzzy
+msgid "First Name"
+msgstr "Prénom"
+
+#: root/register/index.tt:13
msgid "First name"
msgstr "Prénom"
+#: lib/CatDap/Controller/forgot_password.pm:94
+#, fuzzy
+msgid "Forgot password"
+msgstr "Mot de passe actuel"
+
+#: root/forgot_password/index.tt:5
+msgid "Forgot your password?"
+msgstr ""
+
+#: root/index.tt:17 root/index.tt:18
+#, fuzzy
+msgid "Forgotten password?"
+msgstr "Mot de passe actuel"
+
+#: root/admin/account.tt:36 root/admin/account.tt:9
+#: root/admin/account_promote.tt:9
+msgid "Full Name"
+msgstr ""
+
+#: root/admin/group.tt:27
+msgid "Group Name"
+msgstr ""
+
+#: root/admin/group.tt:9
+#, fuzzy
+msgid "Group name"
+msgstr "Prénom"
+
+#: root/admin/account_modify.tt:2
+msgid "Groups"
+msgstr ""
+
+#: lib/CatDap/Controller/forgot_password.pm:48
#: lib/CatDap/Controller/register.pm:52
msgid "Incorrect validation text, please try again"
-msgstr ""
+msgstr "Texte de validation incorrect, merci de tester à nouveau"
+#: lib/CatDap/Controller/forgot_password.pm:45
#: lib/CatDap/Controller/register.pm:46
msgid "Invalid email address"
msgstr "Adresse mail invalide"
@@ -105,104 +209,217 @@ msgstr "Adresse mail invalide"
msgid "Invalid username"
msgstr "Nom d'utilisateur invalide"
-#: root/template/header:12 root/user/fake.tt:3
-msgid "Log out"
+#: lib/CatDap/Controller/register.pm:59
+msgid "Invalid username, already used by system"
msgstr ""
-#: root/index.tt:1 root/index.tt:17
+#: root/template/header:10 root/user/fake.tt:3
+msgid "Log out"
+msgstr "Se déconnecter"
+
+#: root/index.tt:1 root/index.tt:13
msgid "Login"
msgstr "Login"
-#: root/user/firstlogin.tt:5 root/user/password.tt:9
-#, fuzzy
+#: root/forgot_password/confirm.tt:8 root/user/firstlogin.tt:5
+#: root/user/password.tt:10
msgid "New Password"
-msgstr "Mot de passe"
+msgstr "Nouveau mot de passe"
-#: lib/CatDap/Controller/user.pm:273
-#, fuzzy
+#: lib/CatDap/Controller/user.pm:296
msgid "New passwords dont match"
-msgstr "Les adresses ne correspondent pas"
+msgstr "Les mot de passes ne correspondent pas"
+
+#: root/forgot_password/complete.tt:4
+#, fuzzy
+msgid "Operation was successful."
+msgstr "L'enregistrement a réussi"
-#: root/index.tt:11
+#: root/index.tt:10
msgid "Password"
msgstr "Mot de passe"
-#: lib/CatDap/Controller/user.pm:267
-#, fuzzy
+#: lib/CatDap/Controller/user.pm:290
msgid "Password incorrect"
-msgstr "Mot de passe"
+msgstr "Mot de passe incorrect"
-#: lib/CatDap/Controller/admin.pm:532
+#: lib/CatDap/Controller/admin.pm:542
msgid "Password reset and email sent"
+msgstr "Mot de passe réinitialiser, email envoyé"
+
+#: root/register/index.tt:12
+msgid "Personal Information"
msgstr ""
#: root/email/admin/password.tt:5
msgid "Please click below to change your password"
+msgstr "Cliquer ici pour changer votre mot de passe"
+
+#: root/admin/index.tt:1
+msgid "Please use the menus above."
msgstr ""
-#: root/index.tt:18 root/register/index.tt:43 root/register/index.tt:6
+#: root/admin/account_promote.tt:25
+msgid "Primary group"
+msgstr ""
+
+#: root/admin/account_modify.tt:71
+msgid "Promote"
+msgstr ""
+
+#: root/admin/account_modify.tt:62
+msgid "Promote user to posixAccount with primary group:"
+msgstr ""
+
+#: root/index.tt:16 root/register/index.tt:3 root/register/index.tt:35
msgid "Register"
msgstr "S'enregistrer"
#: root/register/complete.tt:1
msgid "Registration completed"
-msgstr ""
+msgstr "Enregistrement terminé"
#: root/register/complete.tt:4
msgid "Registration was successful."
-msgstr ""
+msgstr "L'enregistrement a réussi"
-#: root/user/firstlogin.tt:9 root/user/password.tt:13
+#: root/forgot_password/confirm.tt:11 root/user/firstlogin.tt:10
+#: root/user/password.tt:15
msgid "Repeat New Password"
+msgstr "Répéter le nouveau de passe"
+
+#: root/admin/account_modify.tt:1
+#, fuzzy
+msgid "Reset password"
+msgstr "Mot de passe actuel"
+
+#: root/admin/account.tt:22
+msgid "Search"
+msgstr ""
+
+#: root/admin/account.tt:4 root/admin/group.tt:5
+msgid "Search by"
+msgstr ""
+
+#: root/admin/account_promote.tt:4
+msgid "Select"
+msgstr ""
+
+#: root/forgot_password/index.tt:18
+#, fuzzy
+msgid "Send me my password"
+msgstr "Changer le mot de passe"
+
+#: root/forgot_password/confirm.tt:16
+#, fuzzy
+msgid "Set new password"
+msgstr "Répéter le nouveau de passe"
+
+#: root/register/check.tt:1
+msgid "Success"
msgstr ""
-#: root/register/index.tt:26
+#: root/admin/account.tt:10 root/admin/account.tt:35
+#: root/admin/account_promote.tt:8 root/register/index.tt:16
msgid "Surname"
-msgstr "Surnom"
+msgstr "Nom"
-#: lib/CatDap/Controller/register.pm:56
+#: lib/CatDap/Controller/register.pm:70
msgid "The first name supplied contains illegal characters"
-msgstr ""
+msgstr "Le prénom proposé contient des caractères interdits"
-#: lib/CatDap/Controller/register.pm:61
+#: lib/CatDap/Controller/register.pm:75
msgid "The surname supplied contains illegal characters"
+msgstr "Le nom proposé contient des caractères interdits"
+
+#: lib/CatDap/Controller/forgot_password.pm:66
+msgid "This email address is not bound to an account"
msgstr ""
#: root/email/activation.tt:3
-#, fuzzy
msgid "To activate your account, please follow the link below."
msgstr "Pour activer votre compte, merci de suivre le lien ci dessous."
-#: root/user/index.tt:13
+#: root/email/forgot_password.tt:3
+#, fuzzy
+msgid "To reset your password, please follow the link below."
+msgstr "Pour activer votre compte, merci de suivre le lien ci dessous."
+
+#: root/admin/account_modify.tt:35 root/user/index.tt:29
msgid "Update"
-msgstr ""
+msgstr "Mettre à jour"
-#: root/index.tt:7 root/register/index.tt:18
+#: root/admin/account.tt:32 root/admin/account.tt:7
+#: root/admin/account_promote.tt:5 root/index.tt:6 root/register/index.tt:7
+#: root/register/index.tt:8
msgid "Username"
msgstr "Nom d'utilisateur"
+#: lib/CatDap/Controller/register.pm:65
+msgid "Username is not authorized to be used"
+msgstr ""
+
+#: root/admin/account_addoc.tt:10 root/admin/account_modify.tt:9
+#: root/admin/group_modify.tt:6 root/user/index.tt:4
+msgid "Value"
+msgstr ""
+
+#. (c.config.organisation)
+#: root/email/forgot_password.tt:2
+msgid ""
+"Your %1 account has been requested to change the password. If you did not do "
+"this, or you do not want to change your password; you can just do nothing."
+msgstr ""
+
#. (c.config.organisation)
#: root/email/activation.tt:2
msgid "Your %1 account has been successfully created, but requires activation."
-msgstr ""
+msgstr "Votre compte %1 a été crée mais requiert d'être activé"
#. (c.user.username)
#: root/email/admin/password.tt:3
msgid "Your password was reset by %1"
-msgstr ""
+msgstr "Votre mot de passe a été réinitialisé par %1"
#: lib/CatDap/Controller/user.pm:61
msgid "Your session has expired"
-msgstr ""
+msgstr "Votre session a expiré"
-#: root/index.tt:17
-msgid "or"
-msgstr "ou"
+#: root/admin/account.tt:15 root/admin/group.tt:15
+msgid "contains"
+msgstr ""
-#: lib/CatDap/Controller/admin.pm:516
+#: root/admin/group_modify.tt:14
#, fuzzy
+msgid "delete"
+msgstr "Supprimer"
+
+#: root/admin/account.tt:17 root/admin/group.tt:17
+msgid "greater than or equal to"
+msgstr ""
+
+#: root/admin/account.tt:16 root/admin/group.tt:16
+msgid "is exactly"
+msgstr ""
+
+#: root/admin/account.tt:18 root/admin/group.tt:18
+msgid "less than"
+msgstr ""
+
+#: root/admin/group.tt:10
+msgid "member"
+msgstr ""
+
+#: lib/CatDap/Controller/admin.pm:526
msgid "password reset"
-msgstr "Mot de passe"
+msgstr "réinitialisation du mot de passe"
+
+#: root/admin/account_modify.tt:53
+msgid "with value"
+msgstr ""
+
+#~ msgid "or"
+#~ msgstr "ou"
#~ msgid "Mageia Identity Activation"
#~ msgstr "Activation de l'identité Mageia"
diff --git a/lib/CatDap/I18N/messages.pot b/lib/CatDap/I18N/messages.pot
index c463fc2..295da82 100644
--- a/lib/CatDap/I18N/messages.pot
+++ b/lib/CatDap/I18N/messages.pot
@@ -15,37 +15,67 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: lib/CatDap/Controller/register.pm:119
+#: lib/CatDap/Controller/register.pm:133
msgid "Activation"
msgstr ""
-#: root/user/index.tt:28 root/user/index.tt:8
+#: root/admin/account_addoc.tt:28 root/admin/account_modify.tt:24 root/admin/group_modify.tt:18 root/user/index.tt:19 root/user/index.tt:46
msgid "Add"
msgstr ""
+#: root/admin/account_modify.tt:85
+msgid "Add ObjectClass"
+msgstr ""
+
+#: root/admin/account_modify.tt:47
+msgid "Add attribute"
+msgstr ""
+
+#. (oc, dn)
+#: root/admin/account_addoc.tt:1
+msgid "Adding objectclass %1 to dn %2"
+msgstr ""
+
#: lib/CatDap/Controller/register.pm:49
msgid "Addresses do not match"
msgstr ""
-#: lib/CatDap/Controller/register.pm:75
+#: lib/CatDap/Controller/register.pm:89
msgid "An account already exists with this email address"
msgstr ""
-#: lib/CatDap/Controller/register.pm:80
+#: lib/CatDap/Controller/register.pm:94
msgid "An account already exists with this username"
msgstr ""
#. ($errors)
-#: lib/CatDap/Controller/admin.pm:529
-msgid "An error occured sending the email, but your account was created. Please try the password recovery process f you entered the correct email address: %1"
+#: lib/CatDap/Controller/register.pm:145
+msgid "An error occured sending the email, but your account was created. Please try the password recovery process if you entered the correct email address. Errors %1"
msgstr ""
#. ($errors)
-#: lib/CatDap/Controller/register.pm:131
-msgid "An error occured sending the email, but your account was created. Please try the password recovery process if you entered the correct email address. Errors %1"
+#: lib/CatDap/Controller/admin.pm:539
+msgid "An error occured sending the email, but your account was created. Please try the password recovery process if you entered the correct email address: %1"
+msgstr ""
+
+#. ($errors)
+#: lib/CatDap/Controller/forgot_password.pm:105
+msgid "An error occured sending the email, please try again later. Errors %1"
msgstr ""
-#: root/user/firstlogin.tt:14 root/user/password.tt:18
+#: root/admin/account_addoc.tt:9 root/admin/account_modify.tt:8 root/admin/group_modify.tt:5 root/user/index.tt:4
+msgid "Attribute"
+msgstr ""
+
+#: lib/CatDap/Controller/register.pm:56
+msgid "Cannot check /etc/passwd, please warn system administrators"
+msgstr ""
+
+#: root/register/index.tt:29
+msgid "Captcha"
+msgstr ""
+
+#: root/user/firstlogin.tt:14 root/user/password.tt:19
msgid "Change"
msgstr ""
@@ -57,7 +87,11 @@ msgstr ""
msgid "Check your mail for activation instructions."
msgstr ""
-#: root/register/index.tt:34
+#: root/forgot_password/complete.tt:5
+msgid "Check your mail for password reset instructions."
+msgstr ""
+
+#: root/register/index.tt:24
msgid "Confirm Email address"
msgstr ""
@@ -67,11 +101,11 @@ msgstr ""
#. (cn)
#. (entry.cn)
-#: root/email/activation.tt:1 root/email/admin/password.tt:1
+#: root/email/activation.tt:1 root/email/admin/password.tt:1 root/email/forgot_password.tt:1
msgid "Dear %1,"
msgstr ""
-#: root/user/index.tt:9
+#: root/admin/account_modify.tt:27 root/user/index.tt:22
msgid "Delete"
msgstr ""
@@ -79,19 +113,67 @@ msgstr ""
msgid "Edit"
msgstr ""
-#: root/register/index.tt:30
+#: root/admin/account.tt:33 root/admin/account.tt:8 root/admin/account_promote.tt:6 root/register/index.tt:20
+msgid "Email"
+msgstr ""
+
+#: root/forgot_password/index.tt:11 root/register/index.tt:21
msgid "Email address"
msgstr ""
-#: root/register/index.tt:22
+#: root/forgot_password/complete.tt:1
+msgid "Email sent."
+msgstr ""
+
+#: root/forgot_password/confirm.tt:2
+msgid "Enter new password."
+msgstr ""
+
+#: root/register/index.tt:32
+msgid "Enter text"
+msgstr ""
+
+#: root/admin/account.tt:34 root/admin/account_promote.tt:7
+msgid "First Name"
+msgstr ""
+
+#: root/register/index.tt:13
msgid "First name"
msgstr ""
-#: lib/CatDap/Controller/register.pm:52
+#: lib/CatDap/Controller/forgot_password.pm:94
+msgid "Forgot password"
+msgstr ""
+
+#: root/forgot_password/index.tt:5
+msgid "Forgot your password?"
+msgstr ""
+
+#: root/index.tt:17 root/index.tt:18
+msgid "Forgotten password?"
+msgstr ""
+
+#: root/admin/account.tt:36 root/admin/account.tt:9 root/admin/account_promote.tt:9
+msgid "Full Name"
+msgstr ""
+
+#: root/admin/group.tt:27
+msgid "Group Name"
+msgstr ""
+
+#: root/admin/group.tt:9
+msgid "Group name"
+msgstr ""
+
+#: root/admin/account_modify.tt:2
+msgid "Groups"
+msgstr ""
+
+#: lib/CatDap/Controller/forgot_password.pm:48 lib/CatDap/Controller/register.pm:52
msgid "Incorrect validation text, please try again"
msgstr ""
-#: lib/CatDap/Controller/register.pm:46
+#: lib/CatDap/Controller/forgot_password.pm:45 lib/CatDap/Controller/register.pm:46
msgid "Invalid email address"
msgstr ""
@@ -99,39 +181,67 @@ msgstr ""
msgid "Invalid username"
msgstr ""
-#: root/template/header:12 root/user/fake.tt:3
+#: lib/CatDap/Controller/register.pm:59
+msgid "Invalid username, already used by system"
+msgstr ""
+
+#: root/template/header:10 root/user/fake.tt:3
msgid "Log out"
msgstr ""
-#: root/index.tt:1 root/index.tt:17
+#: root/index.tt:1 root/index.tt:13
msgid "Login"
msgstr ""
-#: root/user/firstlogin.tt:5 root/user/password.tt:9
+#: root/forgot_password/confirm.tt:8 root/user/firstlogin.tt:5 root/user/password.tt:10
msgid "New Password"
msgstr ""
-#: lib/CatDap/Controller/user.pm:273
+#: lib/CatDap/Controller/user.pm:296
msgid "New passwords dont match"
msgstr ""
-#: root/index.tt:11
+#: root/forgot_password/complete.tt:4
+msgid "Operation was successful."
+msgstr ""
+
+#: root/index.tt:10
msgid "Password"
msgstr ""
-#: lib/CatDap/Controller/user.pm:267
+#: lib/CatDap/Controller/user.pm:290
msgid "Password incorrect"
msgstr ""
-#: lib/CatDap/Controller/admin.pm:532
+#: lib/CatDap/Controller/admin.pm:542
msgid "Password reset and email sent"
msgstr ""
+#: root/register/index.tt:12
+msgid "Personal Information"
+msgstr ""
+
#: root/email/admin/password.tt:5
msgid "Please click below to change your password"
msgstr ""
-#: root/index.tt:18 root/register/index.tt:43 root/register/index.tt:6
+#: root/admin/index.tt:1
+msgid "Please use the menus above."
+msgstr ""
+
+#: root/admin/account_promote.tt:25
+msgid "Primary group"
+msgstr ""
+
+#: root/admin/account_modify.tt:71
+msgid "Promote"
+msgstr ""
+
+#: root/admin/account_modify.tt:62
+msgid "Promote user to posixAccount with primary group:"
+msgstr ""
+
+#: root/index.tt:16 root/register/index.tt:3 root/register/index.tt:35
msgid "Register"
msgstr ""
@@ -143,34 +253,83 @@ msgstr ""
msgid "Registration was successful."
msgstr ""
-#: root/user/firstlogin.tt:9 root/user/password.tt:13
+#: root/forgot_password/confirm.tt:11 root/user/firstlogin.tt:10 root/user/password.tt:15
msgid "Repeat New Password"
msgstr ""
-#: root/register/index.tt:26
+#: root/admin/account_modify.tt:1
+msgid "Reset password"
+msgstr ""
+
+#: root/admin/account.tt:22
+msgid "Search"
+msgstr ""
+
+#: root/admin/account.tt:4 root/admin/group.tt:5
+msgid "Search by"
+msgstr ""
+
+#: root/admin/account_promote.tt:4
+msgid "Select"
+msgstr ""
+
+#: root/forgot_password/index.tt:18
+msgid "Send me my password"
+msgstr ""
+
+#: root/forgot_password/confirm.tt:16
+msgid "Set new password"
+msgstr ""
+
+#: root/register/check.tt:1
+msgid "Success"
+msgstr ""
+
+#: root/admin/account.tt:10 root/admin/account.tt:35 root/admin/account_promote.tt:8 root/register/index.tt:16
msgid "Surname"
msgstr ""
-#: lib/CatDap/Controller/register.pm:56
+#: lib/CatDap/Controller/register.pm:70
msgid "The first name supplied contains illegal characters"
msgstr ""
-#: lib/CatDap/Controller/register.pm:61
+#: lib/CatDap/Controller/register.pm:75
msgid "The surname supplied contains illegal characters"
msgstr ""
+#: lib/CatDap/Controller/forgot_password.pm:66
+msgid "This email address is not bound to an account"
+msgstr ""
+
#: root/email/activation.tt:3
msgid "To activate your account, please follow the link below."
msgstr ""
-#: root/user/index.tt:13
+#: root/email/forgot_password.tt:3
+msgid "To reset your password, please follow the link below."
+msgstr ""
+
+#: root/admin/account_modify.tt:35 root/user/index.tt:29
msgid "Update"
msgstr ""
-#: root/index.tt:7 root/register/index.tt:18
+#: root/admin/account.tt:32 root/admin/account.tt:7 root/admin/account_promote.tt:5 root/index.tt:6 root/register/index.tt:7 root/register/index.tt:8
msgid "Username"
msgstr ""
+#: lib/CatDap/Controller/register.pm:65
+msgid "Username is not authorized to be used"
+msgstr ""
+
+#: root/admin/account_addoc.tt:10 root/admin/account_modify.tt:9 root/admin/group_modify.tt:6 root/user/index.tt:4
+msgid "Value"
+msgstr ""
+
+#. (c.config.organisation)
+#: root/email/forgot_password.tt:2
+msgid "Your %1 account has been requested to change the password. If you did not do this, or you do not want to change your password; you can just do nothing."
+msgstr ""
+
#. (c.config.organisation)
#: root/email/activation.tt:2
msgid "Your %1 account has been successfully created, but requires activation."
@@ -185,10 +344,34 @@ msgstr ""
msgid "Your session has expired"
msgstr ""
-#: root/index.tt:17
-msgid "or"
+#: root/admin/account.tt:15 root/admin/group.tt:15
+msgid "contains"
msgstr ""
-#: lib/CatDap/Controller/admin.pm:516
+#: root/admin/group_modify.tt:14
+msgid "delete"
+msgstr ""
+
+#: root/admin/account.tt:17 root/admin/group.tt:17
+msgid "greater than or equal to"
+msgstr ""
+
+#: root/admin/account.tt:16 root/admin/group.tt:16
+msgid "is exactly"
+msgstr ""
+
+#: root/admin/account.tt:18 root/admin/group.tt:18
+msgid "less than"
+msgstr ""
+
+#: root/admin/group.tt:10
+msgid "member"
+msgstr ""
+
+#: lib/CatDap/Controller/admin.pm:526
msgid "password reset"
msgstr ""
+
+#: root/admin/account_modify.tt:53
+msgid "with value"
+msgstr ""
diff --git a/root/admin/account.tt b/root/admin/account.tt
index aae4888..128e36b 100644
--- a/root/admin/account.tt
+++ b/root/admin/account.tt
@@ -1,24 +1,25 @@
<form method="post" action="">
<table>
<tr>
- <td>Search by</td>
+ <td>[% l('Search by') %]</td>
<td>
<select name="attribute">
- <option value="uid">Username</option>
- <option value="mail">Email</option>
- <option value="cn">Full Name</option>
- <option value="sn">Surname</option>
+ <option value="uid">[% l('Username') %]</option>
+ <option value="mail">[% l('Email') %]</option>
+ <option value="cn">[% l('Full Name') %]</option>
+ <option value="sn">[% l('Surname') %]</option>
</select>
</td>
<!-- td>
<select name="matchtype">
- <option value="substring">contains</option>
- <option value="exact">is exactly</option>
- <option value="gte">greater than or equal to</option>
- <option value="lt">less than</option>
+ <option value="substring">[% l('contains') %]</option>
+ <option value="exact">[% l('is exactly') %]</option>
+ <option value="gte">[% l('greater than or equal to') %]</option>
+ <option value="lt">[% l('less than') %]</option>
</select>
</td -->
- <td><input name="value" value="" /></td>
+ <td><input type="text" name="value" value="" /></td>
+ <td><button type="submit" value="[% l('Search') %]">[% l('Search') %]</button></td>
</tr>
</table>
</form>
@@ -28,11 +29,11 @@
[% IF entries %]
<table border=0>
<tr>
- <th>Username</th>
- <th>Email</th>
- <th>First Name</th>
- <th>Surname</td>
- <th>Full Name</td>
+ <th>[% l('Username') %]</th>
+ <th>[% l('Email') %]</th>
+ <th>[% l('First Name') %]</th>
+ <th>[% l('Surname') %]</td>
+ <th>[% l('Full Name') %]</td>
</tr>
[% FOREACH entry IN entries %]
<tr>
diff --git a/root/admin/account_addoc.tt b/root/admin/account_addoc.tt
index 75c6898..f583672 100644
--- a/root/admin/account_addoc.tt
+++ b/root/admin/account_addoc.tt
@@ -1,4 +1,4 @@
-Adding objectclass [% oc %] to dn [% dn %]
+[% l('Adding objectclass [_1] to dn [_2]', oc, dn) %]
<form method="post" action="">
<input type="hidden" name="dn" value="[% dn %]" />
@@ -6,8 +6,8 @@ Adding objectclass [% oc %] to dn [% dn %]
<input type="hidden" name="objectclass" value="[% oc %]" />
<table>
<tr>
- <th>Attribute</th>
- <th>Value</th>
+ <th>[% l('Attribute') %]</th>
+ <th>[% l('Value') %]</th>
</tr>
[% FOREACH attr IN must %]
[% IF attr != "objectClass" %]
@@ -25,6 +25,6 @@ Adding objectclass [% oc %] to dn [% dn %]
</tr>
[% END %]
</table>
- <p><input type="submit" value="Add" /></p>
+ <p><input type="submit" value="[% l('Add') %]" /></p>
</form> \ No newline at end of file
diff --git a/root/admin/account_group.tt b/root/admin/account_group.tt
index d2355c7..c9031e1 100644
--- a/root/admin/account_group.tt
+++ b/root/admin/account_group.tt
@@ -1,4 +1,4 @@
-<h2>Add user [% uid %] to a new group</h2>
+<h2>[% l('Add user [_1] to a new group, uid) %]</h2>
<form method="post" action="">
<input type='hidden' name='uid' value='[% uid %]' />
@@ -8,12 +8,12 @@
<option value='[% group.cn %]'>[% group.cn %]</option>
[% END %]
</select>
- <input type='submit' value='Add' />
+ <input type='submit' value='[% l('Add') %]' />
</form>
<hr />
-<h2>Delete user [% uid %] from an existing group:</h2>
+<h2>[% l('Delete user [_1] from an existing group:', uid) %] </h2>
<form method="post" action="">
<input type='hidden' name='uid' value='[% uid %]' />
@@ -23,7 +23,7 @@
<option value='[% group.cn %]'>[% group.cn %]</option>
[% END %]
</select>
- <input type='submit' value='Delete' />
+ <input type='submit' value='[% l('Delete') %]' />
</form>
<hr /> \ No newline at end of file
diff --git a/root/admin/account_modify.tt b/root/admin/account_modify.tt
index 8acd4b4..0dc3678 100644
--- a/root/admin/account_modify.tt
+++ b/root/admin/account_modify.tt
@@ -1,12 +1,12 @@
-<a href="[% c.uri_for('/admin/password') %]/[% uid %]">Reset password</a>
-<a href="[% c.uri_for('/admin/account_group') %]/[% uid %]">Groups</a>
+<a href="[% c.uri_for('/admin/password') %]/[% uid %]">[% l('Reset password') %]</a>
+<a href="[% c.uri_for('/admin/account_group') %]/[% uid %]">[% l('Groups') %]</a>
<form method="post" action="">
<input type='hidden' name='operation' value='replace' />
<table border=0>
<tr>
- <th>Attribute</th>
- <th>Value</th>
+ <th>[% l('Attribute') %]</th>
+ <th>[% l('Value') %]</th>
</tr>
[% FOREACH attr IN values %]
<tr>
@@ -21,10 +21,10 @@
<br/>
[% END %]
[% IF attr.addable AND attr.editable %]
- <a href="[% c.uri_for('/admin/account_edit') %]/add/[% attr.name %]">Add</a>
+ <a href="[% c.uri_for('/admin/account_edit') %]/add/[% attr.name %]">[% l('Add') %]</a>
[% END %]
[% IF attr.removable AND attr.editable %]
- <a href="[% c.uri_for('/admin/account_modifydel') %]/[% uid %]/[% attr.name %]/[% val %]">Delete</a>
+ <a href="[% c.uri_for('/admin/account_modifydel') %]/[% uid %]/[% attr.name %]/[% val %]">[% l('Delete') %]</a>
[% END %]
[% END %]
</td>
@@ -32,7 +32,7 @@
[% END %]
<tr>
<td colspan=2 align=center>
- <input type='Submit' value='Update'>
+ <input type='Submit' value='[% l('Update') %]'>
</td>
</tr>
</table>
@@ -44,13 +44,13 @@
<input type="hidden" name="operation" value="add" />
<p>
- Add attribute
+ [% l('Add attribute') %]
<select name='attribute'>
[% FOREACH attr IN may %]
<option value="[% attr %]">[% attr %]</option>
[% END %]
</select>
- with value
+ [% l('with value') %]
<input name="value" value="" />
<input type="submit" value="Add" />
</p>
@@ -59,7 +59,7 @@
<hr />
[% IF groups %]
-<p>Promote user to posixAccount with primary group: </p>
+<p>[% l('Promote user to posixAccount with primary group:') %] </p>
<form method="post" action="[% c.uri_for('/admin/account_promote') %]">
<input type="hidden" name="dn" value="[% dn %]" />
@@ -68,7 +68,7 @@
<option value="[% group.gidNumber %]">[% group.name %]</option>
[% END %]
</select>
- <input type="submit" value="Promote" />
+ <input type="submit" value="[% l('Promote') %]" />
</form>
[% END %]
@@ -82,7 +82,7 @@
<option value='[% oc %]'>[% oc %]</option>
[% END %]
</select>
- <input type="submit" value="Add ObjectClass" />
+ <input type="submit" value="[% l('Add ObjectClass') %]" />
</form>
<hr /> \ No newline at end of file
diff --git a/root/admin/account_promote.tt b/root/admin/account_promote.tt
index 39dba87..6429379 100644
--- a/root/admin/account_promote.tt
+++ b/root/admin/account_promote.tt
@@ -1,12 +1,12 @@
<form method="post" action="">
<table border=0>
<tr>
- <th>Select</th>
- <th>Username</th>
- <th>Email</th>
- <th>First Name</th>
- <th>Surname</td>
- <th>Full Name</td>
+ <th>[% l('Select') %]</th>
+ <th>[% l('Username') %]</th>
+ <th>[% l('Email') %]</th>
+ <th>[% l('First Name') %]</th>
+ <th>[% l('Surname') %]</td>
+ <th>[% l('Full Name') %]</td>
</tr>
[% FOREACH entry IN entries %]
<tr>
@@ -22,7 +22,7 @@
<table border=0>
<tr>
- <td>Primary group</td>
+ <td>[% l('Primary group') %]</td>
<td>
<select name="gid">
[% FOREACH group IN groups %]
diff --git a/root/admin/group.tt b/root/admin/group.tt
index 50c6bde..d7f258a 100644
--- a/root/admin/group.tt
+++ b/root/admin/group.tt
@@ -2,20 +2,20 @@
<table>
<tr>
<td>
-Search by
+[% l('Search by') %]
</td>
<td>
<select name="attribute">
-<option value="cn">Group name</option>
-<option value="member">member</option>
+<option value="cn">[% l('Group name') %]</option>
+<option value="member">[% l('member') %]</option>
</select>
</td>
<!-- td>
<select name="matchtype">
-<option value="substring">contains</option>
-<option value="exact">is exactly</option>
-<option value="gte">greater than or equal to</option>
-<option value="lt">less than</option>
+<option value="substring">[% l('contains') %]</option>
+<option value="exact">[% l('is exactly') %]</option>
+<option value="gte">[% l('greater than or equal to') %]</option>
+<option value="lt">[% l('less than') %]</option>
</select>
</td -->
<td><input name='value'></td>
@@ -24,7 +24,7 @@ Search by
[% IF entries %]
<table border=0>
<tr>
-<th>Group Name</th>
+<th>[% l('Group Name') %]</th>
</tr>
[% FOREACH entry IN entries %]
<tr>
diff --git a/root/admin/group_modify.tt b/root/admin/group_modify.tt
index 15357f6..99ebff7 100644
--- a/root/admin/group_modify.tt
+++ b/root/admin/group_modify.tt
@@ -2,8 +2,8 @@
<input type='hidden' name='dn' value='[% group.dn %]'>
<table>
<tr>
- <th>Attribute</th>
- <th>Value</th>
+ <th>[% l('Attribute') %]</th>
+ <th>[% l('Value') %]</th>
</tr>
[% FOREACH attr IN group.attributes %]
<tr>
@@ -11,11 +11,11 @@
<td>
[% FOREACH value IN group.get_value(attr) %]
[% value %]
- <a href="[% c.uri_for('/admin/group_modify') %]/delete/[% group.dn %]/[% attr %]/[% value %]">delete</a>
+ <a href="[% c.uri_for('/admin/group_modify') %]/delete/[% group.dn %]/[% attr %]/[% value %]">[% l('delete') %]</a>
<br/>
[% END %]
<input name="[% attr %]" value="" />
- <input type="submit" value="Add" />
+ <input type="submit" value="[% l('Add') %]" />
</td>
</tr>
[% END %]
diff --git a/root/admin/index.tt b/root/admin/index.tt
index 72dff05..8c50471 100644
--- a/root/admin/index.tt
+++ b/root/admin/index.tt
@@ -1 +1 @@
-<p>Please use the menus above.</p> \ No newline at end of file
+<p>[% l('Please use the menus above.') %]</p>
diff --git a/root/email/activation.tt b/root/email/activation.tt
index b873421..d1cd4a6 100644
--- a/root/email/activation.tt
+++ b/root/email/activation.tt
@@ -4,4 +4,4 @@
[% url %]
--
-http://mageia.org/ \ No newline at end of file
+[% c.config.project_url %]
diff --git a/root/email/admin/password.tt b/root/email/admin/password.tt
index 0d9bac1..09fb61d 100644
--- a/root/email/admin/password.tt
+++ b/root/email/admin/password.tt
@@ -7,4 +7,4 @@
[% url %]
--
-http://mageia.org/ \ No newline at end of file
+[% c.config.project_url %]
diff --git a/root/index.tt b/root/index.tt
index e809b4f..8e1720c 100644
--- a/root/index.tt
+++ b/root/index.tt
@@ -1,21 +1,22 @@
<h1>[% l('Login') %]</h1>
+<div id="login_form">
<form method="post" action="/user">
+ <div id="login_form_inputs">
+ <label for="username_">[% l('Username : ') %]</label>
+ <input id="username_" type="text" name="username" value="[% c.user.username %]" />
+ <br />
- <p>
- <label for="username_">[% l('Username') %]</label>
- <input id="username_" type="text" name="username" value="[% c.user.username %]" />
- </p>
-
- <p>
- <label for="password_">[% l('Password') %]</label>
- <input id="password_" type="password" name="password" />
- </p>
-
- <p><input type="submit" value="[% l('Login') %]" />
- [% l('or') %]
- <a href="/register">[% l('Register') %]</a></p>
-
- <p>@todo [% l('Forgotten password?') %]</p>
-
+ <label for="password_">[% l('Password : ') %]</label>
+ <input id="password_" type="password" name="password" />
+ <br />
+ <button type="submit" value="[% l('Login') %]" >[% l('Login') %]</button>
+ </div>
+ <div id="login_form_line">
+ <span><a href="/register">[% l('Register') %]</a> |
+ @todo [% l('Forgotten password?') %]
+ <!--<a href="/forgot_password">[% l('Forgotten password?') %]</a> -->
+ </span>
+ </div>
</form>
+</div>
diff --git a/root/register/check.tt b/root/register/check.tt
index b8ec933..43334b7 100644
--- a/root/register/check.tt
+++ b/root/register/check.tt
@@ -1,4 +1,4 @@
-<h2>Success</h2>
+<h2>[% l('Success') %]</h2>
<p>
[% message %]
</p> \ No newline at end of file
diff --git a/root/register/index.tt b/root/register/index.tt
index 2259d4f..f34da7a 100644
--- a/root/register/index.tt
+++ b/root/register/index.tt
@@ -1,48 +1,37 @@
-[% MACRO l(text, args) BLOCK;
- c.localize(text, args);
-END; %]
<h2>[% l('Register') %]</h2>
-<p class="error">
- [% FOREACH error IN errors %]
- [% error %]<br/>
- [% END %]
-</p>
-
+<div id="input_form">
<form method="post" action="/register/check">
-
- <p>
- <label for="uid_">[% l('Username') %]</label>
- <input id="uid_" type="text" name="uid" value="[% c.request.params.uid %]" />
- </p>
-
- <p>
- <label for="gn_">[% l('First name') %]</label>
- <input id="gn_" type="text" name="gn" value="[% c.request.params.gn %]" />
- </p>
-
- <p>
- <label for="sn_">[% l('Surname') %]</label>
- <input id="sn_" type="text" name="sn" value="[% c.request.params.sn %]" />
- </p>
-
- <p>
- <label for="mail1_">[% l('Email address') %]</label>
- <input id="mail1_" type="text" name="mail1" value="[% c.request.params.mail1 %]" />
- </p>
-
- <p>
- <label for="mail2_">[% l('Confirm Email address') %]</label>
- <input id="mail2_" type="text" name="mail2" value="[% c.request.params.mail2 %]" />
- </p>
-
- <p>
- <img src="/register/captcha" />
- <input type="text" name="validate" />
- </p>
-
- <p><input type="submit" value="[% l('Register') %]" /></p>
-
-</form> \ No newline at end of file
+ <h3>[% l('Username') %]</h3>
+ <label for="uid_">[% l('Username') %]</label><br />
+ <input id="uid_" type="text" name="uid" value="[% c.request.params.uid %]" /><br />
+
+ <p>
+ <h3>[% l('Personal Information') %]</h3>
+ <label for="gn_">[% l('First name') %]</label><br/>
+ <input id="gn_" type="text" name="gn" value="[% c.request.params.gn %]" /><br />
+
+ <label for="sn_">[% l('Surname') %]</label><br/>
+ <input id="sn_" type="text" name="sn" value="[% c.request.params.sn %]" /><br />
+ </p>
+ <p>
+ <h3>[% l('Email') %]</h3>
+ <label for="mail1_">[% l('Email address') %]</label><br/>
+ <input id="mail1_" type="text" name="mail1" value="[% c.request.params.mail1 %]" /><br />
+
+ <label for="mail2_">[% l('Confirm Email address') %]</label><br/>
+ <input id="mail2_" type="text" name="mail2" value="[% c.request.params.mail2 %]" /><br />
+ </p>
+
+ <p>
+ <h3>[% l('Captcha') %]</h3>
+
+ <img src="/register/captcha" /><br />
+ <label for="test">[% l('Enter text') %]</label><br/>
+ <input type="text" name="validate" /><br/>
+ </p>
+ <button type="submit" value="[% l('Register') %]">[% l('Register') %]</button>
+</form>
+</div>
diff --git a/root/static/style/ttsite.css b/root/static/style/ttsite.css
index 3f7436d..2d1c734 100644
--- a/root/static/style/ttsite.css
+++ b/root/static/style/ttsite.css
@@ -1,16 +1,134 @@
+/* begin changes obgr_seneca */
html, body {
- background: #ccc;
+ background: #ddd;
}
#doc {
- -webkit-box-shadow: 0 0 10px #aaa;
- -moz-box-shadow: 0 0 10px #aaa;
- box-shadow: 0 0 10px #aaa;
- background: #fff;
+ -webkit-box-shadow: 0 0 10px #444;
+ -moz-box-shadow: 0 0 10px #444;
+ box-shadow: 0 0 10px #444;
+ -webkit-border-radius: 10px;
+ -moz-border-radius: 10px;
+ border-radius: 10px;
+ margin-top: 20px;
}
#hd, #ft, #nav, #content, .inside { padding: 0 1em 0.5em 0; }
+#nav {
+ text-align: left;
+}
+
+#hd {
+ background: #aaa;
+ padding: 10px 20px 4px 20px;
+ text-align: center;
+ -webkit-border-radius: 10px 10px 0 0;
+ -moz-border-radius: 10px 10px 0 0;
+ border-radius: 10px 10px 0 0;
+}
+
+#bd {
+ background: #fff;
+ padding: 2px 20px 2px 20px;
+ text-align: center;
+}
+
+#bd h1 {
+ margin: 0.2em 0;
+}
+
+#ft {
+ background: #aaa;
+ padding: 2px 20px 10px 20px;
+}
+
+#input_form {
+ display: block;
+ width: 250px;
+ text-align:left;
+ padding: 10px;
+ -webkit-border-radius: 0.6em;
+ -moz-border-radius: 0.6em;
+}
+
+
+#input_form input {
+ background: #fff;
+ border: inset 1px;
+}
+
+#input_form input:focus {
+ background: #ddf;
+}
+
+#input_form button {
+ background: #eef;
+ border: 2px outset #dde;
+ -webkit-border-radius: 0.4em;
+ -moz-border-radius: 0.4em;
+ border-radius: 0.4em;
+ padding: 4px;
+}
+
+#login_form label {
+ text-align:left;
+ float: left;
+ width: 140px;
+}
+
+#login_form {
+ display: block;
+ float: left;
+ margin-bottom: 2.5em;
+}
+
+#login_form_inputs {
+ margin-bottom: 1.5em;
+}
+
+#login_form input:focus {
+ background: #ddf;
+}
+
+#login_form_line span {
+ float: left;
+ padding-top:5px;
+}
+
+#login_form button {
+ float: right;
+}
+
+#password_change_form {
+ display: block;
+ float: left;
+}
+
+#password_change_form input:focus {
+ background: #ddf;
+}
+
+#password_change_form button {
+ margin-bottom: 1.5em;
+ margin-top: 0.5em;
+ float: right;
+}
+
+#password_change_form label {
+ text-align: left;
+ float: left;
+ width: 150px;
+}
+
+
+#attribute_add_form {
+ text-align: left;
+ float: left
+}
+
+/* End changes obgr_seneca */
+
.message {
color: #000;
}
diff --git a/root/static/style/yui/reset-fonts-grids.css b/root/static/style/yui/reset-fonts-grids.css
index 70bf2a0..3b360d7 100644
--- a/root/static/style/yui/reset-fonts-grids.css
+++ b/root/static/style/yui/reset-fonts-grids.css
@@ -4,4 +4,308 @@ Code licensed under the BSD License:
http://developer.yahoo.com/yui/license.html
version: 2.8.2r1
*/
-html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var,optgroup{font-style:inherit;font-weight:inherit;}del,ins{text-decoration:none;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:baseline;}sub{vertical-align:baseline;}legend{color:#000;}input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;}input,button,textarea,select{*font-size:100%;}body{font:13px/1.231 arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}select,input,button,textarea,button{font:99% arial,helvetica,clean,sans-serif;}table{font-size:inherit;font:100%;}pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:100%;}body{text-align:center;}#doc,#doc2,#doc3,#doc4,.yui-t1,.yui-t2,.yui-t3,.yui-t4,.yui-t5,.yui-t6,.yui-t7{margin:auto;text-align:left;width:57.69em;*width:56.25em;}#doc2{width:73.076em;*width:71.25em;}#doc3{margin:auto 10px;width:auto;}#doc4{width:74.923em;*width:73.05em;}.yui-b{position:relative;}.yui-b{_position:static;}#yui-main .yui-b{position:static;}#yui-main,.yui-g .yui-u .yui-g{width:100%;}.yui-t1 #yui-main,.yui-t2 #yui-main,.yui-t3 #yui-main{float:right;margin-left:-25em;}.yui-t4 #yui-main,.yui-t5 #yui-main,.yui-t6 #yui-main{float:left;margin-right:-25em;}.yui-t1 .yui-b{float:left;width:12.30769em;*width:12.00em;}.yui-t1 #yui-main .yui-b{margin-left:13.30769em;*margin-left:13.05em;}.yui-t2 .yui-b{float:left;width:13.8461em;*width:13.50em;}.yui-t2 #yui-main .yui-b{margin-left:14.8461em;*margin-left:14.55em;}.yui-t3 .yui-b{float:left;width:23.0769em;*width:22.50em;}.yui-t3 #yui-main .yui-b{margin-left:24.0769em;*margin-left:23.62em;}.yui-t4 .yui-b{float:right;width:13.8456em;*width:13.50em;}.yui-t4 #yui-main .yui-b{margin-right:14.8456em;*margin-right:14.55em;}.yui-t5 .yui-b{float:right;width:18.4615em;*width:18.00em;}.yui-t5 #yui-main .yui-b{margin-right:19.4615em;*margin-right:19.125em;}.yui-t6 .yui-b{float:right;width:23.0769em;*width:22.50em;}.yui-t6 #yui-main .yui-b{margin-right:24.0769em;*margin-right:23.62em;}.yui-t7 #yui-main .yui-b{display:block;margin:0 0 1em 0;}#yui-main .yui-b{float:none;width:auto;}.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb .yui-g,.yui-gb .yui-gb,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb .yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{float:left;}.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf,.yui-gc .yui-u,.yui-gd .yui-g,.yui-g .yui-gc .yui-u,.yui-ge .yui-u,.yui-ge .yui-g,.yui-gf .yui-g,.yui-gf .yui-u{float:right;}.yui-g div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first,.yui-ge div.first,.yui-gf div.first,.yui-g .yui-gc div.first,.yui-g .yui-ge div.first,.yui-gc div.first div.first{float:left;}.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf{width:49.1%;}.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb .yui-g,.yui-gb .yui-gb,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb .yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{width:32%;margin-left:1.99%;}.yui-gb .yui-u{*margin-left:1.9%;*width:31.9%;}.yui-gc div.first,.yui-gd .yui-u{width:66%;}.yui-gd div.first{width:32%;}.yui-ge div.first,.yui-gf .yui-u{width:74.2%;}.yui-ge .yui-u,.yui-gf div.first{width:24%;}.yui-g .yui-gb div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first{margin-left:0;}.yui-g .yui-g .yui-u,.yui-gb .yui-g .yui-u,.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u,.yui-ge .yui-g .yui-u,.yui-gf .yui-g .yui-u{width:49%;*width:48.1%;*margin-left:0;}.yui-g .yui-g .yui-u{width:48.1%;}.yui-g .yui-gb div.first,.yui-gb .yui-gb div.first{*margin-right:0;*width:32%;_width:31.7%;}.yui-g .yui-gc div.first,.yui-gd .yui-g{width:66%;}.yui-gb .yui-g div.first{*margin-right:4%;_margin-right:1.3%;}.yui-gb .yui-gc div.first,.yui-gb .yui-gd div.first{*margin-right:0;}.yui-gb .yui-gb .yui-u,.yui-gb .yui-gc .yui-u{*margin-left:1.8%;_margin-left:4%;}.yui-g .yui-gb .yui-u{_margin-left:1.0%;}.yui-gb .yui-gd .yui-u{*width:66%;_width:61.2%;}.yui-gb .yui-gd div.first{*width:31%;_width:29.5%;}.yui-g .yui-gc .yui-u,.yui-gb .yui-gc .yui-u{width:32%;_float:right;margin-right:0;_margin-left:0;}.yui-gb .yui-gc div.first{width:66%;*float:left;*margin-left:0;}.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf .yui-u{margin:0;}.yui-gb .yui-gb .yui-u{_margin-left:.7%;}.yui-gb .yui-g div.first,.yui-gb .yui-gb div.first{*margin-left:0;}.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u{*width:48.1%;*margin-left:0;}.yui-gb .yui-gd div.first{width:32%;}.yui-g .yui-gd div.first{_width:29.9%;}.yui-ge .yui-g{width:24%;}.yui-gf .yui-g{width:74.2%;}.yui-gb .yui-ge div.yui-u,.yui-gb .yui-gf div.yui-u{float:right;}.yui-gb .yui-ge div.first,.yui-gb .yui-gf div.first{float:left;}.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf div.first{*width:24%;_width:20%;}.yui-gb .yui-ge div.first,.yui-gb .yui-gf .yui-u{*width:73.5%;_width:65.5%;}.yui-ge div.first .yui-gd .yui-u{width:65%;}.yui-ge div.first .yui-gd div.first{width:32%;}#hd:after,#bd:after,#ft:after,.yui-g:after,.yui-gb:after,.yui-gc:after,.yui-gd:after,.yui-ge:after,.yui-gf:after{content:".";display:block;height:0;clear:both;visibility:hidden;}#hd,#bd,#ft,.yui-g,.yui-gb,.yui-gc,.yui-gd,.yui-ge,.yui-gf{zoom:1;} \ No newline at end of file
+html{
+ color:#000;
+ background:#FFF;
+}
+body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{
+ margin:0;
+ padding:0;
+}
+table{
+ border-collapse:collapse;border-spacing:0;
+}
+fieldset,img{
+ border:0;
+}
+address,caption,cite,code,dfn,em,strong,th,var,optgroup{
+ font-style:inherit;font-weight:inherit;
+}
+del,ins{
+ text-decoration:none;
+}
+li{
+ list-style:none;
+}
+caption,th{
+ text-align:left;
+}
+h1,h2,h3,h4,h5,h6{
+ font-size:100%;
+ font-weight:normal;
+}
+q:before,q:after{ content:'';}
+abbr,acronym{
+ border:0;
+ font-variant:normal;
+}
+sup{
+ vertical-align:baseline;
+}
+sub{
+ vertical-align:baseline;
+}
+legend{
+ color:#000;
+}
+input,button,textarea,select,optgroup,option{
+ font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;
+}
+input,button,textarea,select{
+ *font-size:100%;
+}
+body{
+ font:13px/1.231 arial,helvetica,clean,
+ sans-serif;
+ *font-size:small;
+ *font:x-small;
+}
+select,input,button,textarea,button{
+ font:99% arial,helvetica,clean,sans-serif;
+}
+table{
+ font-size:inherit;
+ font:100%;
+}
+pre,code,kbd,samp,tt{
+ font-family:monospace;
+ *font-size:108%;
+ line-height:100%;
+}
+body{
+ text-align:center;
+}
+#doc,#doc2,#doc3,#doc4,.yui-t1,.yui-t2,.yui-t3,.yui-t4,.yui-t5,.yui-t6,.yui-t7{
+ margin:auto;
+ text-align:left;
+ /*
+ * FIXME:
+ * It would be better to use 30.00em for the index page and an othe size for the other pages
+ * this would allow us to not waste space.
+ */
+ width:57.69em;
+ *width:56.25em;
+}
+#doc2{
+ width:73.076em;
+ *width:71.25em;
+}
+#doc3{
+ margin:auto 10px;
+ width:auto;
+}
+#doc4{
+ width:74.923em;
+ *width:73.05em;
+}
+.yui-b{
+ position:relative;
+}
+.yui-b{
+ _position:static;
+}
+#yui-main .yui-b{
+ position:static;
+}
+#yui-main,.yui-g .yui-u .yui-g{
+ width:100%;
+}
+.yui-t1 #yui-main,.yui-t2 #yui-main,.yui-t3 #yui-main{
+ float:right;margin-left:-25em;
+}
+.yui-t4 #yui-main,.yui-t5 #yui-main,.yui-t6 #yui-main{
+ float:left;
+ margin-right:-25em;
+}
+.yui-t1 .yui-b{
+ float:left;
+ width:12.30769em;
+ *width:12.00em;
+}
+.yui-t1 #yui-main .yui-b{
+ margin-left:13.30769em;
+ *margin-left:13.05em;
+}
+.yui-t2 .yui-b{
+ float:left;
+ width:13.8461em;
+ *width:13.50em;
+}
+.yui-t2 #yui-main .yui-b{
+ margin-left:14.8461em;
+ *margin-left:14.55em;
+}
+.yui-t3 .yui-b{
+ float:left;
+ width:23.0769em;
+ *width:22.50em;
+}
+.yui-t3 #yui-main .yui-b{
+ margin-left:24.0769em;
+ *margin-left:23.62em;
+}
+.yui-t4 .yui-b{
+ float:right;
+ width:13.8456em;
+ *width:13.50em;
+}
+.yui-t4 #yui-main .yui-b{
+ margin-right:14.8456em;
+ *margin-right:14.55em;
+}
+.yui-t5 .yui-b{
+ float:right;
+ width:18.4615em;
+ *width:18.00em;
+}
+.yui-t5 #yui-main .yui-b{
+ margin-right:19.4615em;
+ *margin-right:19.125em;
+}
+.yui-t6 .yui-b{
+ float:right;
+ width:23.0769em;
+ *width:22.50em;
+}
+.yui-t6 #yui-main .yui-b{
+ margin-right:24.0769em;
+ *margin-right:23.62em;
+}
+.yui-t7 #yui-main .yui-b{
+ display:block;
+ margin:0 0 1em 0;
+}
+#yui-main .yui-b{
+ float:none;
+ width:auto;
+}
+.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb .yui-g,.yui-gb .yui-gb,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb .yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{
+ float:left;
+}
+.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf,.yui-gc .yui-u,.yui-gd .yui-g,.yui-g .yui-gc .yui-u,.yui-ge .yui-u,.yui-ge .yui-g,.yui-gf .yui-g,.yui-gf .yui-u{
+ float:right;
+}
+.yui-g div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first,.yui-ge div.first,.yui-gf div.first,.yui-g .yui-gc div.first,.yui-g .yui-ge div.first,.yui-gc div.first div.first{
+ float:left;
+}
+.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf{
+ width:49.1%;
+}
+.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb .yui-g,.yui-gb .yui-gb,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb .yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{
+ width:32%;
+ margin-left:1.99%;
+}
+.yui-gb .yui-u{
+ *margin-left:1.9%;
+ *width:31.9%;
+}
+.yui-gc div.first,.yui-gd .yui-u{
+ width:66%;
+}
+.yui-gd div.first{
+ width:32%;
+}
+.yui-ge div.first,.yui-gf .yui-u{
+ width:74.2%;
+}
+.yui-ge .yui-u,.yui-gf div.first{
+ width:24%;
+}
+.yui-g .yui-gb div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first{
+ margin-left:0;
+}
+.yui-g .yui-g .yui-u,.yui-gb .yui-g .yui-u,.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u,.yui-ge .yui-g .yui-u,.yui-gf .yui-g .yui-u{
+ width:49%;
+ *width:48.1%;
+ *margin-left:0;
+}
+.yui-g .yui-g .yui-u{
+ width:48.1%;
+}
+.yui-g .yui-gb div.first,.yui-gb .yui-gb div.first{
+ *margin-right:0;
+ *width:32%;
+ _width:31.7%;
+}
+.yui-g .yui-gc div.first,.yui-gd .yui-g{
+ width:66%;
+}
+.yui-gb .yui-g div.first{
+ *margin-right:4%;
+ _margin-right:1.3%;
+}
+.yui-gb .yui-gc div.first,.yui-gb .yui-gd div.first{
+ *margin-right:0;
+}
+.yui-gb .yui-gb .yui-u,.yui-gb .yui-gc .yui-u{
+ *margin-left:1.8%;
+ _margin-left:4%;
+}
+.yui-g .yui-gb .yui-u{
+ _margin-left:1.0%;
+}
+.yui-gb .yui-gd .yui-u{
+ *width:66%;
+ _width:61.2%;
+}
+.yui-gb .yui-gd div.first{
+ *width:31%;
+ _width:29.5%;
+}
+.yui-g .yui-gc .yui-u,.yui-gb .yui-gc .yui-u{
+ width:32%;
+ _float:right;
+ margin-right:0;
+ _margin-left:0;
+}
+.yui-gb .yui-gc div.first{
+ width:66%;
+ *float:left;
+ *margin-left:0;
+}
+.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf .yui-u{
+ margin:0;
+}
+.yui-gb .yui-gb .yui-u{
+ _margin-left:.7%;
+}
+.yui-gb .yui-g div.first,.yui-gb .yui-gb div.first{
+ *margin-left:0;
+}
+.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u{
+ *width:48.1%;
+ *margin-left:0;
+}
+.yui-gb .yui-gd div.first{
+ width:32%;
+}
+.yui-g .yui-gd div.first{
+ _width:29.9%;
+}
+.yui-ge .yui-g{
+ width:24%;
+}
+.yui-gf .yui-g{
+ width:74.2%;
+}
+.yui-gb .yui-ge div.yui-u,.yui-gb .yui-gf div.yui-u{
+ float:right;
+}
+.yui-gb .yui-ge div.first,.yui-gb .yui-gf div.first{
+ float:left;
+}
+.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf div.first{
+ *width:24%;
+ _width:20%;
+}
+.yui-gb .yui-ge div.first,.yui-gb .yui-gf .yui-u{
+ *width:73.5%;
+ _width:65.5%;
+}
+.yui-ge div.first .yui-gd .yui-u{
+ width:65%;
+}
+.yui-ge div.first .yui-gd div.first{
+ width:32%;
+}
+#hd:after,#bd:after,#ft:after,.yui-g:after,.yui-gb:after,.yui-gc:after,.yui-gd:after,.yui-ge:after,.yui-gf:after{content:".";display:block;height:0;clear:both;visibility:hidden;}#hd,#bd,#ft,.yui-g,.yui-gb,.yui-gc,.yui-gd,.yui-ge,.yui-gf{zoom:1;}
diff --git a/root/template/footer b/root/template/footer
index b2c05f9..e6b8e62 100644
--- a/root/template/footer
+++ b/root/template/footer
@@ -1,4 +1,5 @@
-<p>2010 <a href="http://mageia.org/">Mageia.org</a>
+<div class="hnav">
+<div align=center><p>2010 <a href="http://mageia.org/">Mageia.org</a>
| <a href="http://mageia.org/policies/privacy/">Privacy policy</a>
| <a href="http://mageia.org/faq/accounts/">Mageia user accounts FAQ</a>
- </p> \ No newline at end of file
+</p></div></div>
diff --git a/root/template/header b/root/template/header
index 9bfe555..13e2158 100644
--- a/root/template/header
+++ b/root/template/header
@@ -8,8 +8,6 @@
[% IF c.user.username %]
<li><strong><a href="[% c.uri_for("/user") %]">[% c.user.username %]</a></strong></li>
<li><a href="/user/logout">[% l('Log out') %]</a></li>
- [% ELSE %]
- <li><a href="/">[% l('Login') %]</a></li>
[% END %]
</ul>
</div>
diff --git a/root/template/html b/root/template/html
index abac43a..21f9581 100644
--- a/root/template/html
+++ b/root/template/html
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html>
-<html lang="en" dir="ltr">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" dir="ltr">
<head>
<meta charset="utf-8" />
<title>[% template.title or site.title or c.config.apptitle %]</title>
- <meta content="description" value="Mageia.org online user account panel" />
- <meta content="keywords" value="mageia, user, account, password" />
- <meta content="robots" value="index,nofollow" />
- <link rel="stylesheet" type="text/css" href="/static/style/yui/reset-fonts-grids.css">
- <link rel="stylesheet" type="text/css" href="/static/style/yui/base-min.css">
+ <meta name="description" content="Mageia.org online user account panel" />
+ <meta name="keywords" content="mageia, user, account, password" />
+ <meta name="robots" content="index,nofollow" />
+ <link rel="stylesheet" type="text/css" href="/static/style/yui/reset-fonts-grids.css" />
+ <link rel="stylesheet" type="text/css" href="/static/style/yui/base-min.css" />
<link rel="stylesheet" type="text/css" href="/static/style/ttsite.css" />
</head>
<body>
[% content %]
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/root/template/pre b/root/template/pre
index 581baf7..9f4f1e8 100644
--- a/root/template/pre
+++ b/root/template/pre
@@ -1,3 +1,3 @@
-[% MACRO l(text, args) BLOCK;
+[%- MACRO l(text, args) BLOCK;
c.localize(text, args);
-END; %]
+END; -%]
diff --git a/root/template/wrapper b/root/template/wrapper
index 8bfee46..cd6c06f 100644
--- a/root/template/wrapper
+++ b/root/template/wrapper
@@ -1,7 +1,4 @@
-[% MACRO l(text, args) BLOCK;
- c.localize(text, args);
-END; %]
-[% IF template.name.match('\.(css|js|txt)');
+[%- IF template.name.match('\.(css|js|txt)');
debug("Passing page through as text: $template.name");
content;
ELSE;
diff --git a/root/user/index.tt b/root/user/index.tt
index 7c70b4a..abd3a3a 100644
--- a/root/user/index.tt
+++ b/root/user/index.tt
@@ -1,43 +1,51 @@
+<div id="input_form">
<form method="post" action="">
- <table border=0>
- <tr><th>Attribute</th><th>Value</th></tr>
+ <table>
+ <tr><th>[% l('Attribute') %]</th><th>[% l('Value') %]</th><th></th></tr>
[% FOREACH attr IN values %]
<tr>
<td>[% attr.name %]</td>
<td>
[% FOREACH val IN attr.values %]
- [% IF attr.editable %]<input type=hidden name="[% attr.name %]_old" value="[% val %]">
- <input name="[% attr.name %]_new" value="[% val %]">
+ [% IF attr.editable %]<input type="hidden" name="[% attr.name %]_old" value="[% val %]" />
+ <input name="[% attr.name %]_new" value="[% val %]" />
[% ELSE %]
[% val %]
<br/>
[% END %]
+ </td>
+ <td>
[% IF attr.addable AND attr.editable %]
- <a href="/user/add/[% attr.name %]">[% l('Add') %]</a>
+ <button type="button" onclick="location='/user/add/[% attr.name %]'">[% l('Add') %]</button>
[% END %]
[% IF attr.removable AND attr.editable %]
- <a href="/user/delete/[% attr.name %]/[% val %]">[% l('Delete') %]</a>
+ <button type="button" onclick="location='/user/delete/[% attr.name %]/[% val %]'">[% l('Delete') %]</button>
[% END %]
[% END %]
</td>
</tr>
[% END %]
+ <tr>
+ <td colspan="3" style="text-align:center;"><button type="Submit" value="[% l('Update') %]">[% l('Update') %]</button></td>
+ </tr>
</table>
-
- <p><input type="Submit" value="[% l('Update') %]" /></p>
</form>
+</div>
<hr />
-
+<div id="attribute_add_form">
+<h3>[%('Add a attribute')%]</h3>
<form method="post" action="/user/add">
<p>
<select name="attribute">
[% FOREACH attr IN may %]
<option value="[% attr %]">[% attr %]</option>
[% END %]
+ </select>
<input name="value" value="" />
- <input type="submit" value="[% l('Add') %]" />
+ <button type="submit" value="[% l('Add') %]">[% l('Add') %]</button>
</p>
</form>
+</div>
diff --git a/root/user/password.tt b/root/user/password.tt
index 85db475..1b9e37d 100644
--- a/root/user/password.tt
+++ b/root/user/password.tt
@@ -1,21 +1,18 @@
-
+<div id="password_change_form">
+<h2>Change password</h2>
<form method="post" action="">
- <p>
<label for="password_">[% l('Current password') %]</label>
<input id="password_" name="password" type="password" value="" />
- </p>
-
- <p>
+ <br/>
+ <br/>
<label for="newpassword1_">[% l('New Password') %]</label>
<input id="newpassword1_" name="newpassword1" type="password" value="" />
- </p>
-
- <p>
+ <br/>
<label for="newpassword2_">[% l('Repeat New Password') %]</label>
<input id="newpassword2_" name="newpassword2" type="password" value="" />
- </p>
-
- <p><input type="submit" value="[% l('Change') %]" /></p>
+ <br/>
+ <button type="submit" value="[% l('Change') %]" />[% l('Change') %]</button>
</form>
+</div>