smeserver-email/root/etc/e-smith/web/functions/pseudonyms

214 lines
6.8 KiB
Perl

#!/usr/bin/perl -wT
#----------------------------------------------------------------------
# heading : Collaboration
# description : Pseudonyms
# navigation : 2000 2400
#----------------------------------------------------------------------
# Based in part on emailalias
# copyright (C) 1999 Ip, Tak Hong
# copyright (C) 2000 Charlie Brady
#----------------------------------------------------------------------
#----------------------------------------------------------------------
# copyright (C) 2002 Mitel Networks Corporation
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# Technical support for this program is available from Mitel Networks
# Please visit our web site www.mitel.com/sme/ for details.
#----------------------------------------------------------------------
use strict;
use esmith::FormMagick::Panel::pseudonyms;
my $f = esmith::FormMagick::Panel::pseudonyms->new();
$f->display();
=head1 TESTING
=begin testing
use esmith::FormMagick::Tester;
use esmith::TestUtils;
use esmith::ConfigDB;
my $panel = 'pseudonyms';
my $panel_path = "/etc/e-smith/web/functions/".$panel;
my $ua = esmith::FormMagick::Tester->new();
is (mode($panel_path), '4750', "Check permissions on script");
ok ($ua->get_panel($panel), "ABOUT TO RUN L10N TESTS");
is ($ua->{status}, 200, "200 OK");
like($ua->{content}, qr/FORM_TITLE/, "Saw untranslated form title");
ok ($ua->set_language("en"), "Set language to English");
ok ($ua->get_panel($panel), "Get panel");
is ($ua->{status}, 200, "200 OK");
like($ua->{content}, qr/Create, remove or modify/, "Saw translated form title");
# Testing changes
ok ($ua->get_panel($panel), "Testing panel retrieval");
can_ok($ua, "field");
# Destructive testing:
if ($destruction_ok()) {
ok ($ua->follow('Click here to create a pseudonym.'));
is ($ua->{status}, 200, "200 OK");
$ua->field('pseudonym' => 'aaaaeveryperson');
$ua->field('account' => 'Administrator');
ok ($ua->click('Create'), "Clicked create");
is ($ua->{status}, 200, "200 OK");
like ($ua->{content}, qr/Successfully/, "Saw create success message");
ok ($ua->get_panel($panel), "Get panel");
like ($ua->{content}, qr/aaaaeveryperson/, "Saw newly created everyperson link");
ok ($ua->follow(1), "modifying aaaaeveryperson");
is ($ua->{status}, 200, "200 OK ");
print $ua->{content};
ok ($ua->field('account' => 'Everyone'));
ok ($ua->click('Modify'));
is ($ua->{status}, 200, "200 OK");
like ($ua->{content}, qr/Successfully/, "Saw modification success message");
ok ($ua->get_panel($panel), "Get panel");
like ($ua->{content}, qr/aaaaeveryperson/, "Saw modified everyperson link");
ok ($ua->follow(2), "removing aaaaeveryperson");
is ($ua->{status}, 200, "200 OK");
ok ($ua->click('Remove'));
is ($ua->{status}, 200, "200 OK");
like ($ua->{content}, qr/Successfully/, "Saw removal success message");
ok ($ua->get_panel($panel), "Get panel");
unlike ($ua->{content}, qr/aaaaeveryperson/, "Saw no everyperson");
}
=end testing
=cut
__DATA__
<form title="FORM_TITLE" header="/etc/e-smith/web/common/head.tmpl"
footer="/etc/e-smith/web/common/foot.tmpl">
<page name="First" pre-event="print_status_message()">
<description>DESCRIPTION</description>
<subroutine src="print_begin_page()"/>
</page>
<page
title="TITLE_CREATE"
name="Create"
pre-event="turn_off_buttons()"
post-event="performCreatePseudonym()">
<field
type="text"
id="pseudonym"
value=""
validation="validate_new_pseudonym_name()">
<label>PSEUDONYM_NAME</label>
<description>VALID_PSEUDONYM_NAMES</description>
</field>
<field id="account" type="select" options="existing_accounts()">
<label>SELECT_ACCOUNT</label>
</field>
<field
id="internal"
type="select"
options="YES => 'yes', NO => 'no'"
value="no">
<label>SELECT_INTERNAL</label>
</field>
<subroutine src="print_button('ADD')"/>
</page>
<page
name="CreateSucceeded"
pre-event="turn_off_buttons">
<description>CREATE_SUCCEEDED</description>
</page>
<page
title="MODIFY_PSEUDONYM"
name="Modify"
post-event="performModifyPseudonym()"
pre-event="turn_off_buttons()">
<subroutine src="print_hidden_pseudonym_field()"/>
<field id="pseudonym" type="literal" value="get_cgi_param('pseudonym')">
<label>PSEUDONYM_NAME</label>
<description>DESC_PSEUDONYM_NAME</description>
</field>
<field
id="account"
type="select"
options="existing_accounts()"
value="get_pseudonym_account()">
<label>SELECT_ACCOUNT</label>
</field>
<field
id="internal"
type="select"
display="is_pseudonym_not_removable()"
options="YES => 'yes', NO => 'no'"
value="is_pseudonym_internal()">
<label>SELECT_INTERNAL</label>
</field>
<subroutine src="print_button('SAVE')"/>
</page>
<page
name="ModifySucceeded"
pre-event="turn_off_buttons()">
<description>MODIFY_SUCCEEDED</description>
</page>
<page
name="Remove"
post-event="performRemovePseudonym()"
pre-event="turn_off_buttons()">
<title>REMOVE_PSEUDONYM</title>
<subroutine src="print_hidden_pseudonym_field()"/>
<field id="pseudonym" type="literal" value="get_cgi_param('pseudonym')">
<label>ABOUT_TO_REMOVE</label>
</field>
<subroutine src="print_button('REMOVE')"/>
</page>
<page name="InvalidPseudonym" pre-event="turn_off_buttons()">
<description>NOT_A_PSEUDONYM</description>
</page>
<page
name="RemoveSucceeded"
pre-event="turn_off_buttons">
<description>REMOVE_SUCCEEDED</description>
</page>
</form>