diff --git a/lib/admin/Controller/account.pm b/lib/admin/Controller/account.pm index c645e63..44323b8 100644 --- a/lib/admin/Controller/account.pm +++ b/lib/admin/Controller/account.pm @@ -80,6 +80,15 @@ sub detail : Local { \$c->session->{voip_account}{balance} ); + $c->session->{voip_account}{balance}{cash_balance} = 0 + unless defined $c->session->{voip_account}{balance}{cash_balance}; + $c->session->{voip_account}{balance}{cash_balance_interval} = 0 + unless defined $c->session->{voip_account}{balance}{cash_balance_interval}; + $c->session->{voip_account}{balance}{free_time_balance} = 0 + unless defined $c->session->{voip_account}{balance}{free_time_balance}; + $c->session->{voip_account}{balance}{free_time_balance_interval} = 0 + unless defined $c->session->{voip_account}{balance}{free_time_balance_interval}; + $c->session->{voip_account}{balance}{cash_balance} = sprintf "%.2f", $c->session->{voip_account}{balance}{cash_balance} / 100; $c->session->{voip_account}{balance}{cash_balance_interval} = diff --git a/lib/admin/Controller/admin.pm b/lib/admin/Controller/admin.pm index cd8aa10..506198f 100644 --- a/lib/admin/Controller/admin.pm +++ b/lib/admin/Controller/admin.pm @@ -80,6 +80,10 @@ sub do_edit_admin : Local { unless $admin eq $c->session->{admin}{login}; $settings{is_active} = $c->request->params->{is_active} ? 1 : 0 unless $admin eq $c->session->{admin}{login}; + $settings{read_only} = $c->request->params->{read_only} ? 1 : 0 + unless $admin eq $c->session->{admin}{login}; + $settings{show_passwords} = $c->request->params->{show_passwords} ? 1 : 0 + unless $admin eq $c->session->{admin}{login}; unless(keys %messages) { if(keys %settings) { @@ -134,6 +138,8 @@ sub do_create_admin : Local { $settings{is_master} = $c->request->params->{is_master} ? 1 : 0; $settings{is_active} = $c->request->params->{is_active} ? 1 : 0; + $settings{read_only} = $c->request->params->{read_only} ? 1 : 0; + $settings{show_passwords} = $c->request->params->{show_passwords} ? 1 : 0; unless(keys %messages) { if($c->model('Provisioning')->call_prov( $c, 'billing', 'create_admin', diff --git a/root/tt/account.tt b/root/tt/account.tt index eaf9c6e..acf6c2a 100644 --- a/root/tt/account.tt +++ b/root/tt/account.tt @@ -10,17 +10,19 @@
| password | master | active | +r/o | +PW | @@ -31,6 +33,16 @@ [% IF admin.login == Catalyst.session.admin.login %]disabled="disabled"[% END %] [% IF erefill.is_active or !erefill && admin.is_active %]checked="checked" [% END %] /> + | + + | ++ + |
@@ -41,10 +53,28 @@
cancel |
[% ELSE %]
******** |
-
- |
- | edit |
- [% IF admin.login != Catalyst.session.admin.login %]
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+ [% UNLESS Catalyst.session.admin.read_only && admin.login != Catalyst.session.admin.login %]
+ edit
+ [% END %]
+ |
+ [% IF admin.login != Catalyst.session.admin.login && ! Catalyst.session.admin.read_only %]
|
| login | -password | -master | -active | -- | - |