#!/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>
