package EnsEMBL::Web::Component::Interface::Account;
### Module to create custom forms for the Account modules
use EnsEMBL::Web::Component::Interface;
use EnsEMBL::Web::Form;
our @ISA = qw( EnsEMBL::Web::Component::Interface);
use strict;
use warnings;
no warnings "uninitialized";
sub add_form {
### Builds an empty HTML form for a new record
my($panel, $object) = @_;
my $script = $object->script;
if ($panel->interface->script_name) {
$script = $panel->interface->script_name;
}
my $form = EnsEMBL::Web::Form->new('add', $script, 'post');
## form widgets
my ($key) = $panel->interface->data->primary_columns;
my $id = $object->param($key) || $object->param('id');
if ($id) {
#$panel->interface->data->populate($id);
} else {
$panel->interface->cgi_populate($object);
}
my @widgets = @{$panel->interface->edit_fields($object)};
foreach my $element (@widgets) {
$form->add_element(%$element);
}
## navigation elements
$form->add_element( 'type' => 'Hidden', 'name' => 'prev_action', 'value' => 'Save Record');
$form->add_element( 'type' => 'Hidden', 'name' => 'mode', 'value' => 'add');
$form->add_element( 'type' => 'Hidden', 'name' => 'db_action', 'value' => 'save');
$form->add_element( 'type' => 'Hidden', 'name' => 'dataview', 'value' => 'check_input');
$form->add_element( 'type' => 'Submit', 'value' => 'Next');
return $form ;
}
sub duplicate {
my($panel, $object) = @_;
my $html = qq(<p>Sorry, you appear to have registered already. If you have lost your password, we can send you a reactivation link to <a href="/Account/LostPassword?_referer=).CGI::escape($object->param('_referer')).qq(">your registered email address</a>.</p>);
$panel->print($html);
return 1;
}
1;