function HasManyForm()
 {
     $team = DataObject::get_one('ComplexTableFieldTest_Team', "\"Name\" = 'The Awesome People'");
     $sponsorsField = new ComplexTableField($this, 'Sponsors', 'ComplexTableFieldTest_Sponsor', ComplexTableFieldTest_Sponsor::$summary_fields, 'getCMSFields');
     $sponsorsField->setParentClass('ComplexTableFieldTest_Team');
     $form = new Form($this, 'HasManyForm', new FieldSet(new HiddenField('ID', '', $team->ID), $sponsorsField), new FieldSet(new FormAction('doSubmit', 'Submit')));
     $form->disableSecurityToken();
     return $form;
 }
 function getCMSFields()
 {
     $fields = parent::getCMSFields();
     $categories = DataObject::get("NewsletterCategory");
     $fields->addFieldsToTab('Root.Content.Newsletter', array(new TextField("Name", _t("Newsletter.Campaign.Name", "Name of the Newsletter Campaign")), new EmailField("SendFrom", _t("Newsletter.Campaign.SendFrom", "Send from eMail")), new TextField("TemplateFilename", _t("Newsletter.Campaign.TemplateFilename", "Name of template (no .ss)")), new TextField("BodyStyle", _t("Newsletter.Campaign.BodyStyle", "Body StyleSheet")), new TextField("ContentStyle", _t("Newsletter.Campaign.Content", "Content StyleSheet")), new TextField("LinkStyle", _t("Newsletter.Campaign.LinkStyle", "Style for every link [a]")), new TextField("ImageStyle", _t("Newsletter.Campaign.ImageStyle", "Style for every image [img]")), new TextField("ParagraphStyle", _t("Newsletter.Campaign.ParagraphStyle", "Style for every paragraph [p]")), new TextField("HeadingStyle", _t("Newsletter.Campaign.HeadingStyle", "Style for heading [h2]")), new TextField("HorizontalRuleStyle", _t("Newsletter.Campaign.HorizontalRuleStyle", "Style for every [hr]")), new TextField("TableStyle", _t("Newsletter.Campaign.TableStyle", "Style for every table [table]")), new TextField("TableCellAttribute", _t("Newsletter.Campaign.TabelCellAttribute", "[td] CellAtribute")), new TextField("TableCellStyle", _t("Newsletter.Campaign.Style", "[td] Stylesheet")), new DropdownField('NewsletterCategoryID', _t("Newsletter.Campaign.NewsletterCategory", "Belongs to this newsletter category"), $categories->toDropdownMap('ID', 'Title', 'Bitte Newsletterkategorie eintragen', true))));
     $tablefield = new ComplexTableField($controller = $this, $name = 'Recievers', 'NewsletterReciever', $fieldList = array('FirstName' => _t("Newsletter.Member.FirstName", "FirstName"), 'Surname' => _t("Newsletter.Member.Surname", "Surame"), 'Email' => _t("Newsletter.Member.Email", "eMail"), 'Send' => _t("Newsletter.Admin.MailSended", "eMail sended (0=no/1=yes)")), null, $sourceFilter = "NewsletterID = '{$this->ID}'");
     $tablefield->setPermissions(array("show", "edit", "delete"));
     $tablefield->setParentClass(false);
     $fields->addFieldToTab("Root.Content." . _t("Newsletter.Admin.RecieverList", "List of recievers"), $tablefield);
     //Blacklist
     $tablefield = new ComplexTableField($controller = $this, $name = 'Blacklist', 'NewsletterBlacklist', $fieldList = array('Email' => _t("Newsletter.Member.Email", "eMail"), 'NewsletterCategory.Title' => _t("Newsletter.NewsletterCategory", "Newsletter Category")), null, $sourceFilter = "NewsletterCategoryID = {$this->NewsletterCategoryID}");
     $tablefield->setPermissions(array("show", "edit", "delete", "add"));
     $tablefield->setParentClass(false);
     $fields->addFieldToTab("Root.Content." . _t("Newsletter.Admin.BlackList", "Blacklist"), $tablefield);
     //Subscribers
     $tablefield = new ComplexTableField($controller = $this, $name = 'Subscribers', 'NewsletterMember', $fieldList = array('Email' => _t("Newsletter.Member.Email", "eMail"), 'NewsletterCategory.Title' => _t("Newsletter.NewsletterCategory", "Newsletter Category")), null, $sourceFilter = "NewsletterCategoryID = {$this->NewsletterCategoryID}");
     $tablefield->setPermissions(array("show", "edit", "delete", "add"));
     $tablefield->setParentClass(false);
     $fields->addFieldToTab("Root.Content." . _t("Newsletter.Admin.Subscribers", "Subscribers"), $tablefield);
     return $fields;
 }