Jelajahi Sumber

Customer portal : Support for password field in the Bootstrap renderer

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@4070 a333f486-631f-4898-b8df-5754b55c2be0
glajarige 9 tahun lalu
induk
melakukan
7082641abf

+ 1 - 0
sources/autoload.php

@@ -29,6 +29,7 @@ require_once APPROOT . 'sources/form/field/textfield.class.inc.php';
 require_once APPROOT . 'sources/form/field/hiddenfield.class.inc.php';
 require_once APPROOT . 'sources/form/field/labelfield.class.inc.php';
 require_once APPROOT . 'sources/form/field/stringfield.class.inc.php';
+require_once APPROOT . 'sources/form/field/passwordfield.class.inc.php';
 require_once APPROOT . 'sources/form/field/datetimefield.class.inc.php';
 require_once APPROOT . 'sources/form/field/durationfield.class.inc.php';
 require_once APPROOT . 'sources/form/field/textareafield.class.inc.php';

+ 1 - 0
sources/renderer/bootstrap/bsformrenderer.class.inc.php

@@ -42,6 +42,7 @@ class BsFormRenderer extends FormRenderer
 		parent::__construct($oForm);
 		$this->AddSupportedField('HiddenField', 'BsSimpleFieldRenderer');
 		$this->AddSupportedField('LabelField', 'BsSimpleFieldRenderer');
+		$this->AddSupportedField('PasswordField', 'BsSimpleFieldRenderer');
 		$this->AddSupportedField('StringField', 'BsSimpleFieldRenderer');
 		$this->AddSupportedField('TextAreaField', 'BsSimpleFieldRenderer');
 		$this->AddSupportedField('CaseLogField', 'BsSimpleFieldRenderer');

+ 13 - 0
sources/renderer/bootstrap/fieldrenderer/bssimplefieldrenderer.class.inc.php

@@ -70,6 +70,17 @@ class BsSimpleFieldRenderer extends FieldRenderer
 EOF
 					);
 					break;
+				case 'Combodo\\iTop\\Form\\Field\\PasswordField':
+					$oOutput->AddHtml('<div class="form-group ' . $sFieldMandatoryClass . '">');
+					if ($this->oField->GetLabel() !== '')
+					{
+						$oOutput->AddHtml('<label for="' . $this->oField->GetGlobalId() . '" class="control-label">')->AddHtml($this->oField->GetLabel(), true)->AddHtml('</label>');
+					}
+					$oOutput->AddHtml('<div class="help-block"></div>');
+					$oOutput->AddHtml('<input type="password" id="' . $this->oField->GetGlobalId() . '" name="' . $this->oField->GetId() . '" value="')->AddHtml($this->oField->GetCurrentValue(), true)->AddHtml('" class="form-control" maxlength="255" />');
+					$oOutput->AddHtml('</div>');
+					break;
+
 				case 'Combodo\\iTop\\Form\\Field\\StringField':
 					$oOutput->AddHtml('<div class="form-group ' . $sFieldMandatoryClass . '">');
 					if ($this->oField->GetLabel() !== '')
@@ -290,6 +301,7 @@ EOF
 		// JS FieldChange trigger (:input are not always at the same depth)
 		switch ($sFieldClass)
 		{
+			case 'Combodo\\iTop\\Form\\Field\\PasswordField':
 			case 'Combodo\\iTop\\Form\\Field\\StringField':
 			case 'Combodo\\iTop\\Form\\Field\\TextAreaField':
 			case 'Combodo\\iTop\\Form\\Field\\CaseLogField':
@@ -361,6 +373,7 @@ EOF
 
 		switch ($sFieldClass)
 		{
+			case 'Combodo\\iTop\\Form\\Field\\PasswordField':
 			case 'Combodo\\iTop\\Form\\Field\\StringField':
 			case 'Combodo\\iTop\\Form\\Field\\SelectField':
 			case 'Combodo\\iTop\\Form\\Field\\MultipleSelectField':