From 6e99e5cc100338b3dfdadde7018df7a985822d3d Mon Sep 17 00:00:00 2001 From: Daniel Tiefnig Date: Sun, 8 Jun 2008 23:32:29 +0000 Subject: [PATCH] ported r810 from trunk: adapted admin webinterface for readonly admins fixed display for undefined contract balance values --- lib/admin/Controller/account.pm | 9 ++++ lib/admin/Controller/admin.pm | 6 +++ root/tt/account.tt | 4 +- root/tt/account_detail.tt | 6 ++- root/tt/admin.tt | 87 ++++++++++++++++++++++++++------- root/tt/customer_detail.tt | 25 ++++++---- root/tt/domain.tt | 10 +++- root/tt/subscriber_detail.tt | 29 ++++++++--- 8 files changed, 137 insertions(+), 39 deletions(-) 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 @@

Search by subscriber

- +
+ [% UNLESS Catalyst.session.admin.read_only %]

Create new account

+ [% END %] [% IF subscriber_list %] diff --git a/root/tt/account_detail.tt b/root/tt/account_detail.tt index 2b2d2c8..267dfae 100644 --- a/root/tt/account_detail.tt +++ b/root/tt/account_detail.tt @@ -3,7 +3,7 @@ #[% account.id %] - [% IF ! account.terminate_timestamp %] + [% UNLESS account.terminate_timestamp || Catalyst.session.admin.read_only %]
[% IF billing_features %] edit @@ -85,7 +85,7 @@ [% IF billing_features %]

Account Balance

- [% IF ! account.terminate_timestamp %] + [% UNLESS account.terminate_timestamp || Catalyst.session.admin.read_only %]
edit [% IF edit_balance %] @@ -137,9 +137,11 @@

Subscribers

+ [% UNLESS Catalyst.session.admin.read_only %] + [% END %]
[% IF account.subscribers %] diff --git a/root/tt/admin.tt b/root/tt/admin.tt index a9414a0..a87e5a4 100644 --- a/root/tt/admin.tt +++ b/root/tt/admin.tt @@ -10,6 +10,8 @@ + + @@ -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 %] /> + + [% ELSE %] - - - - [% IF admin.login != Catalyst.session.admin.login %] + + + + + + [% IF admin.login != Catalyst.session.admin.login && ! Catalyst.session.admin.read_only %]
password master active r/o PW
+ + + + cancel********edit + + + + + + + + + [% UNLESS Catalyst.session.admin.read_only && admin.login != Catalyst.session.admin.login %] + edit + [% END %] +
@@ -73,7 +103,7 @@
- [% IF Catalyst.session.admin.is_master || Catalyst.session.admin.is_superuser %] + [% IF ! Catalyst.session.admin.read_only && (Catalyst.session.admin.is_master || Catalyst.session.admin.is_superuser) %]

Create Administrator Account

@@ -81,30 +111,53 @@ [% IF messages.cadmerr %]
[% messages.cadmerr %]
[% END %] - - - - - - + + + + - - + + + + + + + + + + + + + + + + + + - [% IF messages.alogin || messages.apass %] -
loginpasswordmasteractive - -
login:
password:
master: + +
active: + +
readonly: + +
show passwords: + +
+
[% messages.alogin %] [% IF messages.alogin && messages.apass %]
[% END %] diff --git a/root/tt/customer_detail.tt b/root/tt/customer_detail.tt index d2f5b72..1046ffb 100644 --- a/root/tt/customer_detail.tt +++ b/root/tt/customer_detail.tt @@ -3,12 +3,14 @@ #[% customer.id %] + [% UNLESS Catalyst.session.admin.read_only %]
edit [% IF edit_customer %] cancel [% END %]
+ [% END %]
[% IF messages.custmsg %]
[% messages.custmsg %]
[% END %] @@ -31,11 +33,14 @@ [% ELSE %] Hide [% ELSE %] [% IF customer.shoppass %] - value="********" /> Show + value="********" /> + [% IF Catalyst.session.admin.show_passwords %] + Show + [% END %] [% ELSE %] value="" /> [% END %] @@ -54,12 +59,14 @@

Contact

+ [% UNLESS Catalyst.session.admin.read_only %]
edit [% IF edit_contact %] cancel [% END %]
+ [% END %]
[% IF messages.contmsg %]
[% messages.contmsg %]
[% END %] @@ -156,12 +163,14 @@

Commercial Contact

+ [% UNLESS Catalyst.session.admin.read_only %]
edit [% IF edit_commercial %] cancel [% END %]
+ [% END %]
[% IF messages.commmsg %]
[% messages.commmsg %]
[% END %] @@ -228,12 +237,14 @@

Technical Contact

+ [% UNLESS Catalyst.session.admin.read_only %]
edit [% IF edit_technical %] cancel [% END %]
+ [% END %]
[% IF messages.techmsg %]
[% messages.techmsg %]
[% END %] @@ -300,10 +311,7 @@

Contracts

-
+
[% IF customer.contracts %] @@ -346,10 +354,7 @@

Orders

-
+
[% IF customer.orders %]
diff --git a/root/tt/domain.tt b/root/tt/domain.tt index a1090f1..ed3c120 100644 --- a/root/tt/domain.tt +++ b/root/tt/domain.tt @@ -32,14 +32,20 @@ [% ELSE %] - + [% END %] @@ -60,6 +66,7 @@
[% domain.cc %] [% domain.timezone %]edit + [% UNLESS Catalyst.session.admin.read_only %] + edit + [% END %] + + [% UNLESS Catalyst.session.admin.read_only %] + [% END %]
+ [% UNLESS Catalyst.session.admin.read_only %]

Create domain

@@ -101,4 +108,5 @@
+ [% END %] diff --git a/root/tt/subscriber_detail.tt b/root/tt/subscriber_detail.tt index d012de4..86b811c 100644 --- a/root/tt/subscriber_detail.tt +++ b/root/tt/subscriber_detail.tt @@ -3,13 +3,14 @@ [% subscriber.username %]@[% subscriber.domain %] - -
- edit [% ELSE %]

New subscriber

+ [% END %] + [% UNLESS Catalyst.session.admin.read_only %]
+ [% IF subscriber.subscriber_id %] + edit [% END %] [% IF edit_subscriber %] [% IF subscriber.subscriber_id %] @@ -30,6 +31,8 @@ terminate [% END %]
+ [% END %] +
[% IF subscriber.is_locked %]
[% subscriber.is_locked %]
@@ -93,11 +96,14 @@ [% ELSE %] Hide [% ELSE %] [% IF subscriber.webpassword %] - value="********" /> Show + value="********" /> + [% IF Catalyst.session.admin.show_passwords %] + Show + [% END %] [% ELSE %] value="" /> [% END %] @@ -112,11 +118,14 @@ [% ELSE %] Hide [% ELSE %] [% IF subscriber.password %] - value="********" /> Show + value="********" /> + [% IF Catalyst.session.admin.show_passwords %] + Show + [% END %] [% ELSE %] value="" /> [% END %] @@ -184,12 +193,14 @@

User Preferences

+ [% UNLESS Catalyst.session.admin.read_only %]
edit [% IF edit_preferences %] cancel [% END %]
+ [% END %]
[% IF messages.prefmsg %]
[% messages.prefmsg %]
[% END %] [% IF messages.preferr %]
[% messages.preferr %]
[% END %] @@ -301,7 +312,7 @@