Hi,
i create a new form with this code
<?php
class IscrizioneNewsletter extends Form {
function __construct($controller, $name) {
$fields = new FieldSet(
// List your fields here
new TextField("FirstName", "First name"),
//new TextField("Surname"),
new EmailField("Email", "Email address"),
new CheckboxField("privacy","privacy")
);
$actions = new FieldSet(
new FormAction('IscrizioneNewsletter', 'IscrizioneNewsletter')
);
$requiredFields = new RequiredFields("FirstName","privacy","Email"
);
parent::__construct($controller, $name, $fields, $actions);
}
function forTemplate() {
return $this->renderWith(array(
$this->class,
'Form'
));
}
function IscrizioneNewsletter($data, $form) {
$member = new Member();
$form->saveInto($member);
// See if the user email is already in the system
if(DataObject::get_one('Member', "Email = '".$member->getField('Email')."'")) {
Director::redirect('registration-failed-email-exists/');
}else{
$member->write();
if($group = DataObject::get_one('Group', "ID = $this->defaultGroupID")) {
$member->Groups()->add($group);
Director::redirect('thanks-for-registering/');
}else{
Director::redirect('registration-failed/');
}
}
}
}
?>
i call this form in the controller page
class HomePage_Controller extends Page_Controller{
...
function IscrizioneNewsletter() {
return new IscrizioneNewsletter($this,'IscrizioneNewsletter');
}
}
when i click the submit button i get this
[User Error] Uncaught Exception: Object->__call(): the method 'getviewer' does not exist on 'IscrizioneNewsletter'
POST /test/giovanni/projects/siriaonline.com/trunk/home/IscrizioneNewsletter
Line 724 in /var/server/www/htdocs/test/giovanni/projects/siriaonline.com/trunk/sapphire/core/Object.php
Source
715
716 default :
717 throw new Exception (
718 "Object->__call(): extra method $method is invalid on $this->class:" . var_export($config, true)
719 );
720 }
721 } else {
722 // Please do not change the exception code number below.
723
724 throw new Exception("Object->__call(): the method '$method' does not exist on '$this->class'", 2175);
725 }
726 }
727
728 // -----------------------------------------------------------------------------------------------------------------
729
730 /**
Trace
* Object->__call(getViewer,Array)
* IscrizioneNewsletter->getViewer(IscrizioneNewsletter)
Line 155 of Controller.php
* Controller->handleRequest(SS_HTTPRequest)
Line 199 of ContentController.php
* ContentController->handleRequest(SS_HTTPRequest)
Line 67 of ModelAsController.php
* ModelAsController->handleRequest(SS_HTTPRequest)
Line 283 of Director.php
* Director::handleRequest(SS_HTTPRequest,Session)
Line 127 of Director.php
* Director::direct(/home/IscrizioneNewsletter)
Line 127 of main.php
Can anyone help me?
Thanks!!!