223 lines
7.0 KiB
Plaintext
223 lines
7.0 KiB
Plaintext
|
#!/usr/bin/perl -wT
|
||
|
|
||
|
#----------------------------------------------------------------------
|
||
|
# heading : Collaboration
|
||
|
# description : mailalias
|
||
|
# navigation : 2000 2400
|
||
|
#----------------------------------------------------------------------
|
||
|
# Based in part on emailalias and pseudonyms
|
||
|
# 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::mailalias;
|
||
|
my $f = esmith::FormMagick::Panel::mailalias->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>MAILALIAS_DESCRIPTION</description>
|
||
|
<subroutine src="print_begin_page()"/>
|
||
|
</page>
|
||
|
|
||
|
<page
|
||
|
title="TITLE_CREATE"
|
||
|
name="Create"
|
||
|
pre-event="turn_off_buttons()"
|
||
|
post-event="performCreateMailalias()">
|
||
|
|
||
|
<field
|
||
|
type="text"
|
||
|
id="mailalias"
|
||
|
value=""
|
||
|
validation="validate_new_mailalias_name()">
|
||
|
<label>MAILALIAS_NAME</label>
|
||
|
<description>VALID_MAILALIAS_NAMES</description>
|
||
|
</field>
|
||
|
|
||
|
<field id="domain" type="select" options="existing_domains()" >
|
||
|
<label>SELECT_DOMAIN</label>
|
||
|
</field>
|
||
|
|
||
|
<field
|
||
|
type="text"
|
||
|
id="email"
|
||
|
value=""
|
||
|
validation="validate_new_email()">
|
||
|
<label>EMAIL</label>
|
||
|
</field>
|
||
|
|
||
|
|
||
|
<subroutine src="print_button('ADD')"/>
|
||
|
</page>
|
||
|
|
||
|
<page
|
||
|
name="CreateSucceeded"
|
||
|
pre-event="turn_off_buttons">
|
||
|
<description>CREATE_SUCCEEDED</description>
|
||
|
</page>
|
||
|
|
||
|
<page
|
||
|
title="MODIFY_MAILALIAS"
|
||
|
name="Modify"
|
||
|
post-event="performModifyMailalias()"
|
||
|
pre-event="turn_off_buttons()">
|
||
|
|
||
|
<subroutine src="print_hidden_mailalias_field()"/>
|
||
|
|
||
|
<field id="mailalias" type="literal" value="get_cgi_param('mailalias')">
|
||
|
<label>MAILALIAS_NAME</label>
|
||
|
<description>DESC_MAILALIAS_NAME</description>
|
||
|
</field>
|
||
|
|
||
|
<field
|
||
|
id="domain"
|
||
|
type="select"
|
||
|
options="existing_domains()"
|
||
|
value="get_mailalias_domain">
|
||
|
<label>SELECT_DOMAIN</label>
|
||
|
</field>
|
||
|
|
||
|
<field
|
||
|
id="email"
|
||
|
type="text"
|
||
|
value="get_mailalias_email()"
|
||
|
validation="validate_new_email()">
|
||
|
<label>SELECT_ACCOUNT</label>
|
||
|
</field>
|
||
|
|
||
|
<field
|
||
|
id="internal"
|
||
|
type="select"
|
||
|
display="is_mailalias_not_removable()"
|
||
|
options="YES => 'yes', NO => 'no'"
|
||
|
value="is_mailalias_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="performRemoveMailalias()"
|
||
|
pre-event="turn_off_buttons()">
|
||
|
|
||
|
<title>REMOVE_MAILALIAS</title>
|
||
|
|
||
|
<subroutine src="print_hidden_mailalias_field()"/>
|
||
|
|
||
|
<field id="mailalias" type="literal" value="get_cgi_param('mailalias')">
|
||
|
<label>ABOUT_TO_REMOVE</label>
|
||
|
</field>
|
||
|
|
||
|
<subroutine src="print_button('REMOVE')"/>
|
||
|
</page>
|
||
|
|
||
|
<page name="InvalidMailalias" pre-event="turn_off_buttons()">
|
||
|
<description>NOT_A_MAILALIAS</description>
|
||
|
</page>
|
||
|
|
||
|
<page
|
||
|
name="RemoveSucceeded"
|
||
|
pre-event="turn_off_buttons">
|
||
|
<description>REMOVE_SUCCEEDED</description>
|
||
|
</page>
|
||
|
</form>
|