public function getPasswordField($confirmed = true) { if ($confirmed) { return ConfirmedPasswordField::create('Password', _t('CheckoutField.PASSWORD', 'Password')); } return PasswordField::create('Password', _t('CheckoutField.PASSWORD', 'Password')); }
public function getPasswordField() { if ($this->confirmed) { //relies on fix: https://github.com/silverstripe/silverstripe-framework/pull/2757 return ConfirmedPasswordField::create('Password', _t('CheckoutField.PASSWORD', 'Password'))->setCanBeEmpty(!Checkout::membership_required()); } return PasswordField::create('Password', _t('CheckoutField.PASSWORD', 'Password')); }
public function PersonalRegisterForm() { $fields = FieldList::create(array(EmailField::create('Email', '电子邮件'), ConfirmedPasswordField::create('Password', '密码'), TextField::create('FullName', '姓名'), TextField::create('IDCard', '身份证号码'), TextField::create('Phone', '联系电话'), DropdownField::create('OrganizationID', '所属单位名称', Organization::get()->map('ID', 'company_name'))->setEmptyString('请选择'))); $actions = FieldList::create(array(FormAction::create('doRegisterPersonal', '提交'))); $required = RequiredFields::create(array('Email', 'Password', 'FullName', 'IDCard', 'Phone', 'OrganizationID')); $form = new Form($this, __FUNCTION__, $fields, $actions, $required); return $form; }
public function __construct($controller, $name) { /* Fields */ $fields = FieldList::create(TextField::create("FirstName", "First Name"), TextField::create("Surname", "Surname"), TextField::create("CompanyName", "Company Name (optional)"), EmailField::create("Email", "Email Address"), ConfirmedPasswordField::create("Password", "Password"), TextField::create("LandlineNumber", "Landline Number"), TextField::create("MobileNumber", "Mobile Number")); /* Actions */ $actions = FieldList::create(CompositeField::create(FormAction::create('createaccount', 'Create Account'))); /* Required Fields */ $required = new RequiredFields(array("FirstName", "Surname", "Email", "Password")); /* * Now we create the actual form with our fields and actions defined * within this class. */ return parent::__construct($controller, $name, $fields, $actions, $required); }
/** * EditProfileForm constructor * * @param Controller $controller * @param String $name * @param array $arguments */ public function __construct($controller, $name, $arguments = array()) { /** ----------------------------------------- * Fields * ----------------------------------------*/ /** @var TextField $firstName */ $firstName = TextField::create('FirstName'); $firstName->setAttribute('placeholder', 'Enter your first name')->setAttribute('data-parsley-required-message', 'Please enter your <strong>First Name</strong>')->setCustomValidationMessage('Please enter your <strong>First Name</strong>'); /** @var TextField $surname */ $surname = TextField::create('Surname'); $surname->setAttribute('placeholder', 'Enter your surname')->setAttribute('data-parsley-required-message', 'Please enter your <strong>Surname</strong>')->setCustomValidationMessage('Please enter your <strong>Surname</strong>'); /** @var EmailField $email */ $email = EmailField::create('Email'); $email->setAttribute('placeholder', 'Enter your email address')->setAttribute('data-parsley-required-message', 'Please enter your <strong>Email</strong>')->setCustomValidationMessage('Please enter your <strong>Email</strong>'); /** @var ConfirmedPasswordField $confirmPassword */ $confirmPassword = ConfirmedPasswordField::create('Password', 'New Password'); $confirmPassword->canBeEmpty = true; $confirmPassword->setAttribute('placeholder', 'Enter your password'); /** @var LiteralField $passwordToggle */ $passwordToggle = LiteralField::create('', '<p><button class="btn--default" type="button" data-toggle="collapse" data-target="#togglePassword" aria-expanded="false" aria-controls="togglePassword">Change Password</button></p><div class="collapse" id="togglePassword">'); $passwordToggleClose = LiteralField::create('', '</div>'); $fields = FieldList::create($firstName, $surname, $email, $passwordToggle, $confirmPassword, $passwordToggleClose); /** ----------------------------------------- * Actions * ----------------------------------------*/ $actions = FieldList::create(FormAction::create('Save')->setTitle('Update Profile')->addExtraClass('btn--primary')); /** ----------------------------------------- * Validation * ----------------------------------------*/ $required = RequiredFields::create('FirstName', 'Surname', 'Email'); /** @var Form $form */ $form = Form::create($this, $name, $fields, $actions, $required); /** * Populate the form with the current members data */ $Member = Member::currentUser(); $form->loadDataFrom($Member->data()); parent::__construct($controller, $name, $fields, $actions, $required); $this->setAttribute('data-parsley-validate', true); $this->addExtraClass('form form--profile'); }
/** * getCMSFields * Alter the FieldList provided by the Member class to * the requirements of an online store. * * @return FieldList */ public function getCMSFields() { Requirements::css('torindul-silverstripe-shop/css/LeftAndMain.css'); $fields = parent::getCMSFields(); /** REMOVE SCAFFOLDED FIELDS TO ADD LATER * -- Locale is removed. As these users will not use the CMS itself so the default values will suffice for now. * -- DirectGroups is removed. Customer group membership is handled by onAfterWrite(). * -- DateFormat and TimeFormat are removed. The default will be fine for nearly all installations. * -- Those fields not mentioned are re-added later. */ $fields->removeFieldsFromTab("Root.Main", array("FirstName", "Surname", "CompanyName", "Email", "Password", "StoreCredit", "LandlineNumber", "MobileNumber", "DirectGroups", "Locale", "FailedLoginCount", "LastVisited", "TimeFormat", "DateFormat")); //If the customer record has been created, display the ID of the record as the account number. if ($this->exists()) { $fields->addFieldsToTab("Root.Main", array(HeaderField::create("Account Details"), CompositeField::create(ReadonlyField::create("AccountNo", "Account Number", $this->ID), ReadonlyField::create("LastVisited", "Last Signed In", $this->LastVisited), NumericField::create("StoreCredit", "StoreCredit")->setRightTitle("The amount of credit this customer can spend on orders in your store.")))); } //Add Customer Details Fields $fields->addFieldsToTab("Root.Main", array(HeaderField::create("Customer Details"), CompositeField::create(TextField::create("FirstName", "First Name"), TextField::create("Surname", "Surname"), TextField::create("CompanyName", "Company Name"), TextField::create("LandlineNumber", "Landline Number"), TextField::create("MobileNumber", "Mobile Number")), HeaderField::create("Login Details"), CompositeField::create(EmailField::create("Email", "Email Address"), NumericField::create("FailedLoginCount", "Failed Login Count")->setRightTitle("The total number of failed login attempts this customer has made. Set to 0 to unblock their account.")))); //Add Confirmed Password Field befoe the FailedLoginCount field $password = ConfirmedPasswordField::create('Password', null, null, null, true)->setCanBeEmpty(true); if (!$this->ID) { $password->showOnClick = false; } $fields->addFieldToTab("Root.Main", $password, "FailedLoginCount"); //Customer Address Book Tab $fields->addFieldsToTab("Root.AddressBook", array(HeaderField::create($this->exists() ? $this->FirstName . " " . $this->Surname . "'s Address Book" : "Customer Address Book"), CompositeField::create(LiteralField::create($title = "CustomFieldsDescription", "<div class=\"literal-field literal-field-noborder\">\n\t\t\t\t\t\tThe address book is used to store multiple customer addresses for shipping and billing purposes.\n\t\t\t\t\t</div>"), $this->exists() ? GridField::create("Customer_AddressBook", "", $this->Addresses(), GridFieldConfig_RecordEditor::create()) : LiteralField::create($title = "AddressBookNotice", "<div class=\"literal-field field\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t<div class=\"message notice\">\n\t\t\t\t\t\t\t<i class=\"fa fa-info-circle\"></i>\n\t\t\t\t\t\t\tThis customer doesn't exist in the system yet. To be able to see addresses for this customer you must first \n\t\t\t\t\t\t\tclick create.\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>")))); //Customer Orders Tab $fields->addFieldsToTab("Root.Orders", array(HeaderField::create($this->exists() ? $this->FirstName . " " . $this->Surname . "'s Orders" : "Customer Orders"), CompositeField::create(LiteralField::create($title = "CustomFieldsDescription", "<div class=\"literal-field literal-field-noborder\">\n\t\t\t\t\t\tIf this customer has placed orders with your store you can see them below.\n\t\t\t\t\t</div>"), $this->exists() ? GridField::create("Customers_Orders", "", $this->Orders(), GridFieldConfig_RecordEditor::create()) : LiteralField::create($title = "OrdersNotice", "<div class=\"literal-field field\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t<div class=\"message notice\">\n\t\t\t\t\t\t\t<i class=\"fa fa-info-circle\"></i>\n\t\t\t\t\t\t\tThis customer doesn't exist in the system yet. To be able to see orders for this customer you must first \n\t\t\t\t\t\t\tclick create.\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>")))); //Update Store Credit Field $storecredit = NumericField::create("StoreCredit", "Store Credit (" . Product::getDefaultCurrency() . ")"); $fields->replaceField("StoreCredit", $storecredit); //Remove Automatically Generated Address GridField $fields->removeFieldFromTab("Root", "Addresses"); $fields->removeFieldFromTab("Root", "Permissions"); $fields->removeFieldFromTab("Root.Orders", "Orders"); return $fields; }
/** * Builds "Change / Create Password" field for this member * * @return ConfirmedPasswordField */ public function getMemberPasswordField() { $editingPassword = $this->isInDB(); $label = $editingPassword ? _t('Member.EDIT_PASSWORD', 'New Password') : $this->fieldLabel('Password'); /** @var ConfirmedPasswordField $password */ $password = ConfirmedPasswordField::create('Password', $label, null, null, $editingPassword); // If editing own password, require confirmation of existing if ($editingPassword && $this->ID == Member::currentUserID()) { $password->setRequireExistingPassword(true); } $password->setCanBeEmpty(true); $this->extend('updateMemberPasswordField', $password); return $password; }
/** * Registration form * * @return Form */ public function RegisterForm() { // If back URL set, push to session if (isset($_REQUEST['BackURL'])) { Session::set('BackURL', $_REQUEST['BackURL']); } // Setup form fields $fields = FieldList::create(TextField::create("FirstName"), TextField::create("Surname"), EmailField::create("Email"), ConfirmedPasswordField::create("Password")); // Setup form actions $actions = new FieldList(FormAction::create("doRegister", "Register")->addExtraClass("btn")->addExtraClass("btn-green")); // Setup required fields $required = new RequiredFields(array("FirstName", "Surname", "Email", "Password")); $form = Form::create($this, "RegisterForm", $fields, $actions, $required)->addExtraClass("forms")->addExtraClass("forms-columnar"); $this->extend("updateRegisterForm", $form); $session_data = Session::get("Form.{$form->FormName()}.data"); if ($session_data && is_array($session_data)) { $form->loadDataFrom($session_data); Session::clear("Form.{$form->FormName()}.data"); } return $form; }
/** * Creates the registration form * * @return BootstrapForm */ public function RegistrationForm() { $speaker_registration_token = Session::get(SpeakerRegistrationRequest::ConfirmationTokenParamName); $fields = FieldList::create($first_name = TextField::create('FirstName', 'Your First Name'), $last_name = TextField::create('Surname', 'Your Last Name'), $email = EmailField::create('Email', 'Your email address'), $password = ConfirmedPasswordField::create('Password', 'Password')); $password->setAttribute('required', 'true'); //if we have in session a registration token, autopopulate values if (!empty($speaker_registration_token)) { $request = $this->speaker_registration_request_repository->getByConfirmationToken($speaker_registration_token); if (is_null($request) || $request->alreadyConfirmed()) { return $this->httpError(404, 'speaker registration request not found!'); } $first_name->setValue($request->proposedSpeakerFirstName()); $last_name->setValue($request->proposedSpeakerLastName()); $email->setValue($request->proposedSpeakerEmail()); } $form = BootstrapForm::create($this, 'RegistrationForm', $fields, FieldList::create(FormAction::create('doRegister', 'Register now')), RequiredFields::create('FirstName', 'Surname', 'Email')); $data = Session::get("FormInfo.{$form->getName()}.data"); return $form->loadDataFrom($data ?: array()); }
public function SignUp() { return Form::create($this, 'SignUp', FieldList::create(TextField::create('FirstName'), TextField::create('Surname'), EmailField::create('Email'), ConfirmedPasswordField::create('Password', 'Password'), CheckboxField::create('Terms', 'I accept the <a href="/terms-and-conditions">terms and conditions</a>')), FieldList::create(FormAction::create('Register')->setTitle('Register')), new RequiredFields(array('FirstName', 'Surename', 'Password', 'Email', 'Terms'))); }