Index: branches/unlabeled/unlabeled-1.12.2/admin/include/tabs.js
===================================================================
diff -u -r4941 -r8308
--- branches/unlabeled/unlabeled-1.12.2/admin/include/tabs.js (.../tabs.js) (revision 4941)
+++ branches/unlabeled/unlabeled-1.12.2/admin/include/tabs.js (.../tabs.js) (revision 8308)
@@ -37,7 +37,7 @@
}
}
else
- field_result &= ValidateField(Field.value, ValType[j]);
+ field_result &= ValidateField(Field.value, ValType[j], Field);
j++;
}
span.className = field_result ? 'text' : 'validation_error';
@@ -75,7 +75,22 @@
switch(ValidateAs)
{
case 'exists': // field is required
- if(FieldValue.length == 0) result = false;
+ var $Field = RePasswdValue;
+ switch ($Field.type) {
+ case 'radio':
+ result = false;
+ var $radio = document.getElementsByName($Field.name);
+ for (var $i = 0; $i < $radio.length; $i++) {
+ if ($radio[$i].checked) {
+ result = true;
+ break;
+ }
+ }
+ break;
+ default:
+ if(FieldValue.length == 0) result = false;
+ break;
+ }
break;
case 'integer': // field must be integer number
@@ -109,19 +124,16 @@
var span_id = '';
var result = true;
- for (var i = 0; i < f.elements.length; i++)
- {
+ for (var i = 0; i < f.elements.length; i++) {
ValType = '';
Field = f.elements[i];
ValType = Field.getAttribute('ValidationType');
- if(ValType)
- {
+ if (ValType) {
ValType = ValType.split(',');
- if( InArray(ValType,'exists') !== false )
- {
+ if ((InArray(ValType,'exists') !== false) && (span_id != 'prompt_' + Field.name)) {
span_id = 'prompt_' + Field.name;
span = document.getElementById(span_id);
- span.innerHTML = span.innerHTML + '*';
+ span.innerHTML += '*';
}
}
}
Index: branches/unlabeled/unlabeled-1.28.2/admin/users/adduser.php
===================================================================
diff -u -r7871 -r8308
--- branches/unlabeled/unlabeled-1.28.2/admin/users/adduser.php (.../adduser.php) (revision 7871)
+++ branches/unlabeled/unlabeled-1.28.2/admin/users/adduser.php (.../adduser.php) (revision 8308)
@@ -343,7 +343,7 @@
$f->default_value = $c->GetCustomFieldValue($n, '', 0, true);
}
print "
\n";
- print " ".$f->GetPrompt()." | \n";
+ print ' '.$f->GetPrompt().' | '."\n";
print " ".$f->ItemFormElement(17)." | ";
if (is_object($f->NextItem)) {
Index: branches/unlabeled/unlabeled-1.16.2/kernel/include/customfield.php
===================================================================
diff -u -r8305 -r8308
--- branches/unlabeled/unlabeled-1.16.2/kernel/include/customfield.php (.../customfield.php) (revision 8305)
+++ branches/unlabeled/unlabeled-1.16.2/kernel/include/customfield.php (.../customfield.php) (revision 8308)
@@ -24,7 +24,16 @@
$a->heading = $this->Get("Heading");
$a->prompt = $this->Get("Prompt");
$a->ElementType = $this->Get("ElementType");
- $a->ValidationRules="";
+
+ $main_prefix = $this->getMainPrefix($this->Get('Type'));
+ $fields = $this->Application->getUnitOption($main_prefix, 'Fields');
+ if (isset($fields['cust'.$a->name]['required']) && $fields['cust'.$a->name]['required']) {
+ $a->ValidationRules = 'exists';
+ }
+ else {
+ $a->ValidationRules = '';
+ }
+
$a->default_value = "";
$a->ValueList=$this->Get("ValueList");
if(!strlen($a->ElementType))
@@ -34,6 +43,18 @@
return $a;
}
+ function getMainPrefix($item_type)
+ {
+ static $main_prefixes = null;
+ if (!isset($main_prefixes)) {
+ $sql = 'SELECT Prefix, ItemType
+ FROM '.TABLE_PREFIX.'ItemTypes';
+ $main_prefixes = $this->Conn->GetCol($sql, 'ItemType');
+ }
+
+ return $main_prefixes[$item_type];
+ }
+
function parsetag($tag)
{
if(is_object($tag))
Index: branches/unlabeled/unlabeled-1.27.2/kernel/include/config.php
===================================================================
diff -u -r8063 -r8308
--- branches/unlabeled/unlabeled-1.27.2/kernel/include/config.php (.../config.php) (revision 8063)
+++ branches/unlabeled/unlabeled-1.27.2/kernel/include/config.php (.../config.php) (revision 8308)
@@ -250,15 +250,17 @@
$this->default_value = $objConfig->Get($this->name);
}
$this->default_value = inp_htmlize($this->default_value);
+ $validation_rule = $this->ValidationRules ? ' ValidationType="'.$this->ValidationRules.'" ' : '';
+
switch($this->ElementType)
{
case 'text':
$o .= 'default_value.'">';
+ $o .= 'value="'.$this->default_value.'"'.$validation_rule.'>';
break;
case 'checkbox':
- $o .= 'name.'" tabindex="'.($this->TabIndex++).'"'.$validation_rule;
$o .= $this->default_value ? ' checked>' : '>';
break;
@@ -271,7 +273,7 @@
break;
case 'textarea':
- $o .= '';
+ $o .= '';
break;
case 'label':
@@ -297,15 +299,15 @@
$this->TabIndex++;
$values = $this->GetValues($this->ValueList);
foreach ($values as $option_id => $option_name) {
- $o .= 'TabIndex.'" name="'.$this->name.'" value="'.$option_id.'"'.$validation_rule;
$o .= ($this->default_value == $option_id) ? ' checked>' : '>';
$o .= $option_name;
}
$this->TabIndex++;
break;
case 'select':
- $o .= 'default_value.'"/>';
break;
}
return $o;