1 |
|
diff -uNr e-smith-email-4.17.0/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/pseudonyms e-smith-email-4.17.0-VisibleInternalUI/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/pseudonyms |
2 |
|
--- e-smith-email-4.17.0/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/pseudonyms 2007-06-28 14:42:04.000000000 +0200 |
3 |
|
+++ e-smith-email-4.17.0-VisibleInternalUI/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/pseudonyms 2007-06-28 14:41:55.000000000 +0200 |
4 |
|
@@ -72,6 +72,10 @@ |
5 |
|
<trans>Select account or group</trans> |
6 |
|
</entry> |
7 |
|
<entry> |
8 |
|
+ <base>SELECT_INTERNAL</base> |
9 |
|
+ <trans>Local network only</trans> |
10 |
|
+ </entry> |
11 |
|
+ <entry> |
12 |
|
<base>CLICK_TO_CREATE</base> |
13 |
|
<trans>Add pseudonym</trans> |
14 |
|
</entry> |
15 |
|
diff -uNr e-smith-email-4.17.0/root/etc/e-smith/web/functions/pseudonyms e-smith-email-4.17.0-VisibleInternalUI/root/etc/e-smith/web/functions/pseudonyms |
16 |
|
--- e-smith-email-4.17.0/root/etc/e-smith/web/functions/pseudonyms 2003-04-11 17:21:25.000000000 +0200 |
17 |
|
+++ e-smith-email-4.17.0-VisibleInternalUI/root/etc/e-smith/web/functions/pseudonyms 2007-06-27 17:20:07.000000000 +0200 |
18 |
|
@@ -159,6 +159,15 @@ |
19 |
|
<label>SELECT_ACCOUNT</label> |
20 |
|
</field> |
21 |
|
|
22 |
|
+ <field |
23 |
|
+ id="internal" |
24 |
|
+ type="select" |
25 |
|
+ display="is_pseudonym_not_removable()" |
26 |
|
+ options="YES => 'yes', NO => 'no'" |
27 |
|
+ value="is_pseudonym_internal()"> |
28 |
|
+ <label>SELECT_INTERNAL</label> |
29 |
|
+ </field> |
30 |
|
+ |
31 |
|
<subroutine src="print_button('SAVE')"/> |
32 |
|
</page> |
33 |
|
|
34 |
|
diff -uNr e-smith-email-4.17.0/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/pseudonyms.pm e-smith-email-4.17.0-VisibleInternalUI/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/pseudonyms.pm |
35 |
|
--- e-smith-email-4.17.0/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/pseudonyms.pm 2007-06-27 16:54:00.000000000 +0200 |
36 |
|
+++ e-smith-email-4.17.0-VisibleInternalUI/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/pseudonyms.pm 2007-06-27 17:20:07.000000000 +0200 |
37 |
|
@@ -29,6 +29,8 @@ |
38 |
|
print_begin_page |
39 |
|
print_hidden_pseudonym_field |
40 |
|
get_pseudonym_account |
41 |
|
+ is_pseudonym_internal |
42 |
|
+ is_pseudonym_not_removable |
43 |
|
validate_new_pseudonym_name |
44 |
|
validate_is_pseudonym |
45 |
|
); |
46 |
|
@@ -202,8 +204,17 @@ |
47 |
|
|
48 |
|
my $pseudonym = uri_unescape($q->param ('pseudonym')); |
49 |
|
my $account = $q->param ('account'); |
50 |
|
+ my $internal = $q->param ('internal') || 'NO'; |
51 |
|
+ my $removable = $accounts->get($pseudonym)->prop('Removable') || 'yes'; |
52 |
|
|
53 |
|
- $accounts->get($pseudonym)->set_prop('Account', $account) |
54 |
|
+ my %props = ('Account' => $account); |
55 |
|
+ |
56 |
|
+ if ($removable eq 'yes') { |
57 |
|
+ if ($internal eq "YES") { $props{'Visible'} = 'internal'; } |
58 |
|
+ else { $accounts->get($pseudonym)->delete_prop('Visible'); } |
59 |
|
+ } |
60 |
|
+ |
61 |
|
+ $accounts->get($pseudonym)->set_prop(%props) |
62 |
|
or $msg = "Error occurred while modifying pseudonym in database."; |
63 |
|
|
64 |
|
# Untaint $pseudonym before use in system() |
65 |
|
@@ -215,6 +226,7 @@ |
66 |
|
{ |
67 |
|
$q->delete('account'); |
68 |
|
$q->delete('pseudonym'); |
69 |
|
+ $q->delete('internal'); |
70 |
|
$fm->success('MODIFY_SUCCEEDED'); |
71 |
|
} |
72 |
|
else |
73 |
|
@@ -418,6 +430,42 @@ |
74 |
|
} |
75 |
|
# }}} |
76 |
|
|
77 |
|
+# {{{ is_pseudonym_not_removable |
78 |
|
+ |
79 |
|
+=head2 is_pseudonym_not_removable |
80 |
|
+ |
81 |
|
+Returns 1 if the current Account is not removable, 0 otherwise |
82 |
|
+ |
83 |
|
+=cut |
84 |
|
+ |
85 |
|
+sub is_pseudonym_not_removable { |
86 |
|
+ my $fm = shift; |
87 |
|
+ my $q = $fm->{'cgi'}; |
88 |
|
+ my $pseudonym = $q->param('pseudonym'); |
89 |
|
+ my $removable = $accounts->get($pseudonym)->prop('Removable') || 'yes'; |
90 |
|
+ return 1 if ($removable eq 'yes'); |
91 |
|
+ return 0; |
92 |
|
+} |
93 |
|
+# }}} |
94 |
|
+ |
95 |
|
+# {{{ is_pseudonym_internal |
96 |
|
+ |
97 |
|
+=head2 is_pseudonym_internal |
98 |
|
+ |
99 |
|
+Returns YES if the current Account property Visible is 'internal' |
100 |
|
+ |
101 |
|
+=cut |
102 |
|
+ |
103 |
|
+sub is_pseudonym_internal { |
104 |
|
+ my $fm = shift; |
105 |
|
+ my $q = $fm->{'cgi'}; |
106 |
|
+ my $pseudonym = $q->param('pseudonym'); |
107 |
|
+ my $visible = $accounts->get($pseudonym)->prop('Visible') || ''; |
108 |
|
+ return 'YES' if ($visible eq 'internal'); |
109 |
|
+ return 'NO'; |
110 |
|
+} |
111 |
|
+# }}} |
112 |
|
+ |
113 |
|
# {{{ validate_new_pseudonym_name |
114 |
|
|
115 |
|
=head2 validate_new_pseudonym_name FM PSEUDONYM |